]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
c-common.c (warn_nonnull): Declare.
[gcc.git] / gcc / ChangeLog
CommitLineData
b34c7881
JT
12002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
2
3 * c-common.c (warn_nonnull): Declare.
4 (c_common_attribute_table): Add "nonnull" attribute.
5 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
6 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
7 check_function_arguments_recurse): New functions.
8 * c-common.h (warn_nonnull): Declare extern.
9 (check_function_arguments, check_function_arguments_recurse): New
10 prototypes.
11 * c-decl.c (c_decode_option): Add -Wnonnull option.
12 * c-format.c (set_Wformat): Set warn_nonnull if enabling
13 format checking.
14 (format_check_context): New structure.
15 (check_format_info_recurse): Remove recursion and rename to...
16 (check_format_arg): ...this. Update comment.
17 (check_format_info): Use check_function_arguments_recurse.
18 * c-typeck.c (build_function_call): Call check_function_arguments
19 instead of check_function_format.
20 * doc/extend.texi: Document "nonnull" attribute.
21 * doc/invoke.texi: Docuemnt -Wnonnull option.
22 * testsuite/gcc.dg/nonnull-1.c: New test.
23 * testsuite/gcc.dg/nonnull-2.c: New test.
24
95479831
DM
252002-05-23 David S. Miller <davem@redhat.com>
26
27 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
28 * cfgcleanup.c (cleanup_cfg): If it is set do not
29 attempt to delete trivially dead insns.
30 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
31 * toplev.c (rest_of_compilation): Document non-trivial aspect
32 the RTL before optimize_save_area_alloca is run.
33
a97d1398
NB
342002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
35
36 * c-lex.c (indent_level): Remove.
37 (cb_file_change, c_lex): Remove indent level handling.
38 * c-lex.h (indent_level): Remove.
39 * input.h (struct file_stack): Remove indent_level.
40 * toplev.c (push_srcloc): Remove indent_level handling.
41
66b408f2
JJ
422002-05-23 Jakub Jelinek <jakub@redhat.com>
43
44 PR target/6753
45 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
46 of x in constraints for clarity.
47 (sse_mov?fcc split): abort if op2 == op3.
48 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
49 sse_movsfcc_const0_4): Add earlyclobber.
50 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
51 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
52 Use Y instead of x in constraints.
53
5bf0ebab
RH
542002-05-23 Richard Henderson <rth@redhat.com>
55
9217ef40
RH
56 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
57 (C++98 Thread-Local Edits): New subsection.
58
5bf0ebab
RH
59 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
60 (ix86_arch): Set type to enum processor_type.
61
62 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
63 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
64
4832c9e1
JJ
652002-05-23 Jakub Jelinek <jakub@redhat.com>
66
67 * configure.in: Fix as version test for binutils 2.12.1 releases
68 (without dates).
69 * configure: Rebuilt.
70
c8c03509
RH
712002-05-23 Richard Henderson <rth@redhat.com>
72
73 * config/i386/i386.c (get_pic_label_name): New.
74 (load_pic_register): Remove.
75 (output_set_got): New.
76 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
77 * config/i386/i386.md (UNSPEC_SET_GOT): New.
78 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
79 (prologue_set_got, prologue_get_pc): Remove.
80 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
81 (builtin_setjmp_receiver): Use gen_set_got.
82 * config/i386/i386-protos.h: Update.
83
d51f3632
JH
84Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
85
86 * gcse.c (hash_expr): Do not use alias set for hashing.
87
b0a93386
KB
882002-05-22 Kevin Buettner <kevinb@redhat.com>
89
90 * dbxout.c (dbxout_class_name_qualifiers): New function.
91 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
92
bdee42b1
NB
932002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
94
95 * cpperror.c (_cpp_begin_message): No special casing
96 of CPP_FATAL_LIMIT.
97 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
98 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
99 * cpplib.c (do_include_common): Use DL_ERROR.
100 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
101 (DL_ICE): Renumber.
102 * fix-header.c (read_scan_file): Update.
103
0e07aff3
RH
1042002-05-22 Richard Henderson <rth@redhat.com>
105
106 * config/i386/i386.c (ix86_expand_call): New function, extracted
107 from md call patterns. Add pic_offset_table_rtx to
108 CALL_INSN_FUNCTION_USAGE when needed.
109 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
110 (call_value_pop, call_value, untyped_call): Likewise.
111 (call_exp, call_value_exp): Remove.
112 * config/i386/i386-protos.h: Update.
113
6f001fdf
RH
1142002-05-22 Richard Henderson <rth@redhat.com>
115
116 * varasm.c (default_section_type_flags): Check for VAR_DECL
117 before using DECL_THREAD_LOCAL.
118
cbaaba19
DE
1192002-05-22 David Edelsohn <edelsohn@gnu.org>
120
121 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
122 (STARTFILE_SPEC): Delete PE crt0.o.
123 * config/rs6000/aix51.h: Same.
124 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
125 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
126 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
127 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
128 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
129
c711ba8e
RH
1302002-05-22 Richard Henderson <rth@redhat.com>
131
132 * varasm.c (default_section_type_flags): Handle tls data and
133 default sections.
134 (default_unique_section): Handle tls sections.
135
343f59d9
AM
1362002-05-23 Alan Modra <amodra@bigpond.net.au>
137
138 * configure.in (CROSS): Define NATIVE_CROSS.
139 * configure: Regenerate.
140 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
141 (startfile_prefix_spec): New var.
142 (static_specs): Add startfile_prefix_spec.
143 (do_spec_2): Split out from..
144 (do_spec): ..here.
145 (main): Process startfile_prefix_spec.
146 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
147 dynamic linker.
148 (STARTFILE_PREFIX_SPEC): Define.
149 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
150 absolute paths.
151
df383483
KH
1522002-05-22 Kazu Hirata <kazu@cs.umass.edu>
153
154 * cpperror.c: Fix formatting.
155 * cppexp.c: Likewise.
156 * cppfiles.c: Likewise.
157 * cpphash.c: Likewise.
158 * cpphash.h: Likewise.
159 * cppinit.c: Likewise.
160 * cpplex.c: Likewise.
161 * cpplib.c: Likewise.
162 * cppmacro.c: Likewise.
163 * cppmain.c: Likewise.
164 * cppspec.c: Likewise.
165
2dd36f90
JJ
1662002-05-22 Jakub Jelinek <jakub@redhat.com>
167
168 * combine.c (force_to_mode): Use gen_int_mode.
169 Don't clear CONST_INT bits outside of mode.
170
8dc02d7f
RH
1712002-05-22 Richard Henderson <rth@redhat.com>
172
173 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
174 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
175
45f79783
JJ
1762002-05-22 Jakub Jelinek <jakub@redhat.com>
177
178 PR c/6643
179 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
180 if DECL_SIZE_UNIT is INTEGER_CST.
181
19f71cd7
RH
1822002-05-22 Richard Henderson <rth@redhat.com>
183
184 * flow.c (life_analysis): Delete broken reg_label check.
185
d5bcfcce
RH
1862002-05-22 Richard Henderson <rth@redhat.com>
187
188 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
189 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
190
985d311b 191Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
192
193 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
194 (embed-bb.c): New rule.
985d311b 195 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
196 * config/sh/embed_bb.c: Delete.
197
985d311b
R
198Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
199
200 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
201
f6d45746
KH
2022002-05-22 Kazu Hirata <kazu@cs.umass.edu>
203
204 * config/h8300/h8300.md (*andorqi3): New.
205
e5f3b786
NB
2062002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
207
208 PR preprocessor/6517
209 * Makefile.in: Update.
210 * c-common.c (c_common_post_options): Add preprocessor
211 errors to the error count.
212 * c-lang.c (c_post_options): Kill.
213 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
214 * hooks.h: Add header guards.
215 * langhooks-def.h: Include hooks.h.
216 (LANG_HOOKS_POST_OPTIONS): Update.
217 * langhooks.h (struct lang_hooks): Update post_options.
218 * toplev.c (parse_options_and_default_flags): Update.
219objc:
220 * objc-lang.c (objc_post_options): Kill.
221 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
222
4c526be3
BK
2232002-05-21 Bruce Korb <bkorb@gnu.org>
224
225 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
226 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
227 * fixinc/fixincl.x: regen.
4c526be3 228
f87c27b4
KH
2292002-05-21 Kazu Hirata <kazu@cs.umass.edu>
230
231 * cfgbuild.c: Fix formatting.
232 * cfg.c: Likewise.
233 * cfgcleanup.c: Likewise.
234 * cfglayout.c: Likewise.
235 * cfgloop.c: Likewise.
236 * cfgrtl.c: Likewise.
237
3d78f2e9
RH
2382002-05-21 Richard Henderson <rth@redhat.com>
239
240 * c-common.h (enum rid): Add RID_THREAD.
241 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
242 (grokdeclarator): Grok __thread.
243 * c-parse.in (reswords): Add __thread.
244 (rid_to_yy): Add RID_THREAD.
245
246 * tree.h (DECL_THREAD_LOCAL): New.
247 (struct tree_decl): Add thread_local_flag.
248 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
249 * tree.c (staticp): TLS variables are not static.
250
251 * target-def.h (TARGET_HAVE_TLS): New.
252 * target.h (have_tls): New.
253 * output.h (SECTION_TLS): New.
254 * varasm.c (assemble_variable): TLS variables can't be common for now.
255 (default_section_type_flags): Handle .tdata and .tbss.
256 (default_elf_asm_named_section): Handle SECTION_TLS.
257 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
258
259 * flags.h (flag_tls_default): Declare.
260 * toplev.c (flag_tls_default): Define.
261 (display_help): Display help for it.
262 (decode_f_option): Set it.
263
264 * doc/extend.texi (Thread-Local): New node describing language-level
265 thread-local storage.
266 * doc/invoke.texi (-ftls-model): Document.
267
268 * fixinc/inclhack.def (thread_keyword): New.
269 * fixinc/fixincl.x: Rebuild.
270
a151daf0
JL
2712002-05-21 Jeffrey A Law <law@redhat.com>
272
c7539aa0
JL
273 * optabs.c (expand_binop): For double-word integer multiplies,
274 do not compute intermediate results into something that is
275 not a register (such as a SUBREG or MEM).
276
a151daf0
JL
277 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
278 (ix86_sched_reorder): Make sure to initialize scheduling
279 data even when there's only one insn in the ready queue.
280
96b1f73b
VM
2812002-05-21 Vladimir Makarov <vmakarov@redhat.com>
282
283 * genautomata.c (reserv_sets_hash_value): Fix a typo.
284
dceb2b75
VM
2852002-05-21 Vladimir Makarov <vmakarov@redhat.com>
286
287 * genautomata.c (reserv_sets_hash_value): Define hash_value as
288 set_el_t. Transform the hash value into unsigned.
289 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
290 (transform_3): Add code to process `(A,B)+(D,E)'.
291
159d5964
NY
2922002-05-21 NIIBE Yutaka <gniibe@m17n.org>
293
294 * reload1.c (do_output_reload): Run delete_output_reload
295 only if optimizing.
296
cf5124f6
RS
2972002-05-21 Roger Sayle <roger@eyesopen.com>
298
299 PR middle-end/6600
300 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
301 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
302 (can_store_by_pieces): ... and here to limit the largest mode used.
303 Add a comment to document this function.
304
380e6ade
RH
3052002-05-21 Richard Henderson <rth@redhat.com>
306
307 * flow.c (life_analysis): Fix test for deleted label.
308
1f95326c
NB
3092002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
310
311 * doc/tm.texi: Fix typo.
312
2a1dc0d8
ZW
3132002-05-21 Zack Weinberg <zack@codesourcery.com>
314
315 * c-common.c (c_common_init): Set options->unsigned_char from
316 flag_signed_char.
317 (cb_register_builtins): Define __STRICT_ANSI__ and
318 __CHAR_UNSIGNED__ here...
319 * cppinit.c (init_builtins): Not here.
320 (cpp_create_reader): unsigned_char option defaults to 0, not
321 !DEFAULT_SIGNED_CHAR.
322 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
323 and -funsigned-char.
324
325 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
326 * cpphash.c (_cpp_init_hashtable): Don't set it.
327 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
328 directly. Clarify comment.
329
d29146f2 3302002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 331
f5eb2fc8
ZD
332 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
333 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
334 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
335 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 336 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 337 flow_preorder_transversal_compute): Too.
d29146f2 338 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
339 find_sub_basic_blocks): Too.
340 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 341 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
342 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
343 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
344 * combine.c (this_basic_block): Type changed to basic_block.
345 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
346 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
347 get_last_value, distribute_notes, distribute_links): Too.
348 * final.c (compute_alignments): Too.
349 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
350 * function.c (thread_prologue_and_epilogue_insns): Too.
351 * gcse.c (compute_code_hoist_vbeinout): Too.
352 * global.c (build_insn_chain): Too.
353 * ifcvt.c (find_if_block, find_cond_trap): Too.
354 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
355 * regmove.c (regmove_optimize): Too.
356 * resource.c (find_basic_block): Too.
357 * sched-ebb.c (schedule_ebbs): Too.
358 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 359
68bd6dd6
AJ
3602002-05-21 Andreas Jaeger <aj@suse.de>
361
362 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
363
35a76aac
RH
3642002-05-21 Richard Henderson <rth@redhat.com>
365
366 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
367 unspec names, not numbers.
368
2870428f
JM
3692002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
370
371 * doc/sourcebuild.texi: Mention snapshot-README and
372 snapshot-index.html as needing updating for new front ends.
373
b0ad77d5
KG
3742002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
375
376 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
377 disabling checking, and avoid multiple evaluation of RTX.
378
279be7c8
RE
3792002-05-21 Richard Earnshaw <rearnsha@arm.com>
380
381 * bitmap.c (bitmap_find_bit): Return early if we have the correct
382 element cached.
383
193a563a
JH
384Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
385
386 * profile.c (gen_edge_profiler): Set alias set before the memory is
387 used.
388
31825e57
DM
3892002-05-20 David S. Miller <davem@redhat.com>
390
391 * cselib.c (max_value_regs): New.
392 (cselib_lookup, cselib_invalidate_regno): Initialize it when
393 adding new entries to the REG_VALUES table and we are dealing with
394 a hard register.
395 (clear_table): Initialize it.
396 (cselib_invalidate_regno): Use it to determine which hard
397 registers to scan when mode is not VOIDmode.
398
68bd6dd6 3992002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
400
401 * tradcpp.c (fixup_newlines): Use old-style function header.
402
e0a09fda
KW
4032002-05-20 Krister Walfridsson <cato@df.lth.se>
404
405 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
406
e0c13c70
L
4072002-05-20 H.J. Lu (hjl@gnu.org)
408
409 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
410
411 * config/mips/mips.h (DFMODE_NAN): Defined.
412 (SFMODE_NAN): Likewise.
413
4c11675d 4142002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 415
2a1dc0d8
ZW
416 * combine.c (cant_combine_insn_p): Back out my
417 previous patch.
4c11675d 418
6a4d6760
KH
4192002-05-20 Kazu Hirata <kazu@cs.umass.edu>
420
421 * params.c: Fix formatting.
422 * params.h: Likewise.
423 * predict.c: Likewise.
424 * prefix.c: Likewise.
425 * print-rtl.c: Likewise.
426 * print-tree.c: Likewise.
427 * profile.c: Likewise.
428
5715ca64
L
4292002-05-20 H.J. Lu (hjl@gnu.org)
430
431 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
432
00b89f01
NC
4332002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
434
435 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
436 switches straight on to the assembler, do not abbreviate them.
437 * config/arm/elf.h (ASM_SPEC): As above.
438 * config/arm/semi.h (ASM_SPEC): As above.
439 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
440 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
441 -mcpu=xscale on to the assembler by default.
442 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
443
1441374b
RH
4442002-05-20 Richard Henderson <rth@redhat.com>
445
446 * cse.c (canon_hash): Reorder do_not_record test. Always
447 allow pic_offset_table_rtx.
448
c0fe508e
TM
4492002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
450
451 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
452 (expand_binop): Ditto (3 times).
453
f362c762
MM
4542002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
455
456 * Makefile.in (distclean): Remove QMTest stuff.
457 (QMTEST_PATH): New variable.
458 (QMTESTFLAGS): Likewise.
459 (QMTESTRUNFLAGS): Likewise.
460 (QMTEST): Likewise.
461 (QMTEST_GPP_TESTS): Likewise.
462 (QMTEST_DIR): Likewise.
463 (QMTEST_DIR/context): New target.
464 (qmtest-g++): Likeise.
465 (qmtest-gui): Likewise.
466 (QMTEST_DIR/gpp-expected.qmr): Likewise.
467
16861f33
AH
4682002-05-19 Aldy Hernandez <aldyh@redhat.com>
469
2a1dc0d8
ZW
470 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
471 an altivec register if TARGET_ALTIVEC.
16861f33 472
2a1dc0d8
ZW
473 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
474 to ALTIVEC_VECTOR_MODE.
475 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
476 (rs6000_va_arg): Vectors may go in registers if they are not
477 altivec vectors.
16861f33 478
23459e15
KH
4792002-05-19 Kazu Hirata <kazu@cs.umass.edu>
480
481 * protoize.c: Fix formatting.
482
174cc7d1
RH
4832002-05-19 Richard Henderson <rth@redhat.com>
484
485 * gensupport.c (init_include_reader): Merge into ...
486 (process_include): ... here. Simplify composite path creation.
487 Plug memory leaks. Fix file/line number tracking. Do not
488 process_define_cond_exec. Return void.
489 (process_rtx): Don't check process_include return value.
490
918ed612
ZD
4912002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
492
493 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
494 fields.
495 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
496 traversing basic block chain.
497 (create_basic_block_structure, create_basic_block): Declaration changed.
498 (link_block, unlink_block): Declare.
499 * cfg.c (entry_exit_blocks): Initialize new fields.
500 (link_block, unlink_block): New.
501 (expunge_block_nocompact): Unlink basic block.
502 (dump_flow_info): Print prev_bb/next_bb fields.
503 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
504 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
505 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
506 * cfgrtl.c (create_basic_block_structure, create_basic_block,
507 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
508 (verify_flow_info): Check that list agrees with numbering.
509
e0322d5c
NB
5102002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
511
512 * c-common.c (preprocessing_asm): New macro.
513 * c-lex.h (builtin_define, builtin_assert): Use pfile.
514doc:
515 * tm.texi: Update.
516config/alpha:
517 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
518 (CPP_SPEC): Simplify.
519 (TARGET_CPU_CPP_BUILTINS): Update.
520 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
521 (CPP_SPEC): Simplify.
522 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
523 (TARGET_OS_CPP_BUILTINS): Update.
524 * osf.h (CPP_XFLOAT_SPEC): Kill.
525 (TARGET_OS_CPP_BUILTINS): Update.
526 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
527 * osf5.h (CPP_XFLOAT_SPEC): Kill.
528 * vms.h (CPP_SUBTARGET_SPEC): Kill.
529 (TARGET_OS_CPP_BUILTINS): Update.
530
121f5c2c
RH
5312002-05-19 Richard Henderson <rth@redhat.com>
532
533 * varasm.c (default_binds_local_p): Fix typo.
534
651c5ed9
MM
5352002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
536
537 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
538 CONST_INT operand to the correct mode after adding 1 to it.
539
bce0deb2
MM
5402002-05-19 Mark Mitchell <mark@codesourcery.com>
541
542 * config.gcc (powerpc-wrs-windiss*): New target.
543
4aa74a4f
FS
5442002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
545
546 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
547 (ashrdi3): Use it.
548
a15135c9
MM
5492002-05-18 Mark Mitchell <mark@codesourcery.com>
550
551 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
552 alphasort.
553 * config.in: Regenerated.
554 * configure: Regenerated.
555
47754fd5
RH
5562002-05-19 Richard Henderson <rth@redhat.com>
557
558 * target-def.h (TARGET_BINDS_LOCAL_P): New.
559 * target.h (struct gcc_target): Move boolean fields to the end.
560 Add binds_local_p.
561 * varasm.c (default_binds_local_p): New.
562 * output.h: Declare it.
563
564 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
565 * config/cris/cris.c (cris_encode_section_info): Likewise.
566 * config/i386/i386.c (i386_encode_section_info): Likewise.
567 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
568 * config/sh/sh.c (sh_encode_section_info): Likewise.
569
570 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
571 (TARGET_BINDS_LOCAL_P): New.
572
fc881338
RH
5732002-05-19 Richard Henderson <rth@redhat.com>
574
575 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
576 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
577 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
578
579 * toplev.c (display_help): Kill -a -ax help.
580
68bd6dd6 581 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
582 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
583 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
584 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
585 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
586
587 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
588 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
589
590 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
591 (ix86_output_function_block_profiler): Kill.
592 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
593 (m68hc11_function_block_profiler): Kill.
594 * config/m68hc11/m68hc11-protos.h: Update.
595 * config/m88k/m88k.c (output_block_profiler): Kill.
596 (output_function_block_profiler): Kill.
597 * config/m88k/m88k-protos.h: Update.
598
772c5265
RH
5992002-05-19 Richard Henderson <rth@redhat.com>
600
601 * system.h (STRIP_NAME_ENCODING): Poison it.
602 * output.h (STRIP_NAME_ENCODING): Remove.
603 (default_strip_name_encoding): Declare.
604 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
605 * target.h (strip_name_encoding): New.
606 * varasm.c (default_strip_name_encoding): New.
607
608 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
609 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
610 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
611 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
612 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
613 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
614 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
615 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
616 config/v850/v850.h: Use the hook, not the macro.
617
618 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
619 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
620 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
621 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
622 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
623 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 624 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
625 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
626 config/v850/v850.c, config/v850/v850.h:
627 Move STRIP_NAME_ENCODING to out-of-line function and add
628 TARGET_STRIP_NAME_ENCODING.
629
630 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
631 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
632 with TARGET_STRIP_NAME_ENCODING referencing existing function;
633 make function static.
634
635 * xcoffout.c: Include target.h
636 * Makefile.in (xcoffout.o): Update.
637
638 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
639 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
640 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
641 reloc argument unused.
642 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
643
644 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
645 STRIP_NAME_ENCODING docs.
646
8f9eb495
AJ
6472002-05-19 Andreas Jaeger <aj@suse.de>
648
649 * gengenrtl.c: Add prototype for excluded_rtx.
650
651 * real.h: Add prototype for exact_real_truncate.
652
fb49053f
RH
6532002-05-18 Richard Henderson <rth@redhat.com>
654
655 * system.h (ENCODE_SECTION_INFO): Poison it.
656 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
657 * target.h (encode_section_info): New.
658 * varasm.c (make_decl_rtl, output_constant_def): Use it.
659 * hooks.c (hook_tree_int_void): New.
660 * hooks.h: Declare it.
661
662 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
663 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
664 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
665 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
666 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
667 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
668 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
669 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
670 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
671 config/mcore/mcore-protos.h, config/mcore/mcore.c,
672 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
673 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
674 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
675 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
676 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
677 referencing existing function. Make function static.
678
679 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 680 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
681 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
682 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
683 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 684 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
685 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
686 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
687 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
688 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 689 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
690 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
691 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
692 Move ENCODE_SECTION_INFO to out-of-line function and add
693 TARGET_ENCODE_SECTION_INFO.
694
695 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
696 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
697
698 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
699 from SUBTARGET_*
700 (switch_to_section): Replace in_rdata case with in_readonly_data.
701
702 * config/h8300/h8300.c (h8300_encode_label): Make static.
703 * config/h8300/h8300-protos.h: Update.
704
705 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
706 from rs6000_encode_section_info; make static.
707 (rs6000_xcoff_encode_section_info): New.
708
709 * config/v850/v850.c (v850_encode_data_area): Make static.
710 * config/v850/v850-protos.h: Update.
711
712 * config/vax/vax.c: Include flags.h.
713 (vms_select_section): Fix typo.
714
715 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
716 ENCODE_SECTION_INFO docs.
717
9fe08fd0
RH
7182002-05-18 Richard Henderson <rth@redhat.com>
719
720 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
721 REGISTER_TARGET_PRAGMAS.
722 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
723
410b770f
RH
724 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
725
b64a1b53
RH
7262002-05-18 Richard Henderson <rth@redhat.com>
727
728 * system.h (SELECT_RTX_SECTION): Poison.
729 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
730 * target.h (select_rtx_section): New.
731 * varasm.c (output_constant_pool): Use it.
732 (default_select_rtx_section, default_elf_select_rtx_section): New.
733 * output.h: Declare them.
734
735 * config/darwin.h (SELECT_RTX_SECTION): Move ...
736 * config/darwin.c (machopic_select_rtx_section): ... here.
737 * config/darwin-protos.h: Update.
738
739 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
740 * config/nextstep.c (machopic_select_rtx_section): ... here.
741 (nextstep_select_section): Rename variable to avoid macro clash.
742 * config/nextstep-protos.h: Update.
743
744 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
745 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
746 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 747 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
748 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
749 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 750 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
751 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
752 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
753 (SELECT_RTX_SECTION): Remove.
754
755 * config/darwin.h, config/elfos.h, config/nextstep.h,
756 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
757 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
758 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
759 config/sparc/lynx.h, config/xtensa/xtensa.c
760 (TARGET_ASM_SELECT_RTX_SECTION): New.
761
762 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
763 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
764 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
765 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
766 (ia64_aix_select_rtx_section): New.
767 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
768 redefining.
769 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 770 Support ELF SHF_MERGE features.
b64a1b53
RH
771 * config/mips/mips-protos.h: Update.
772 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
773 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
774 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
775 make static, fall back to default_elf_select_rtx_section.
776 * config/rs6000/rs6000-protos.h: Update.
777 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
778 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
779 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
780 * config/romp/romp.c (romp_select_rtx_section): New.
781 * config/s390/s390.c (s390_select_rtx_section): New.
782 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
783 declarations before target macro definition.
784 (xtensa_emit_call): Use static buffer.
785 (xtensa_select_rtx_section): New.
786 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
787 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
788 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
789
790 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
791 SELECT_RTX_SECTION docs.
792
793Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
794
795 * i386.md (movsi/movdi): Fix template.
796 (sse2 patterns): Set attributes consistently.
797
798 * i386.md (pushqi2, ashrqi_*): Fix constraint.
799
6835a09c
TM
8002002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
801
802 * optabs.c (complex_part_zero_p): New.
803 * (expand_cmplxdiv_straight): Use it.
804 * (expand_cmplxdiv_wide): Ditto.
805 * (expand_binop): Ditto.
806
d48bc59a
RH
8072002-05-18 Richard Henderson <rth@redhat.com>
808
809 * final.c (HAVE_READONLY_DATA_SECTION): New.
810 (shorten_branches): Use it instead of ifdefs.
811 * varasm.c (enum in_section): Add in_readonly_data.
812 (text_section, data_section): Tidy.
813 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
814
815 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
816 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
817 (READONLY_DATA_SECTION): Don't undef.
818
819 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
820 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
821 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
822
823 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
824 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
825 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
826 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
827
828 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
829 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
830 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
831 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
832 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
833 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
834 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
835 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
836 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
837
838 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
839 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
840 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
841 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
842 config/pa/pa64-hpux.h, config/sparc/litecoff.h
843 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
844
845 * config/elfos.h, config/netware.h, config/svr3.h,
846 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
847 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
848 config/h8300/h8300.h, config/i386/i386-interix.h,
849 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
850 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
851
852 * config/elfos.h, config/netware.h, config/svr3.h,
853 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
854 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
855 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
856 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
857
858 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
859 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
860 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
861 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
862 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
863 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
864 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
865 config/rs6000/sysv4.h, config/v850/v850.h
866 (EXTRA_SECTIONS): Remove in_const/in_rdata.
867 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
868
869 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
870 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
871 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
872 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
873 * config/alpha/alpha.c (alpha_start_function): Likewise.
874 (alpha_write_linkage): Likewise.
875 * config/m32r/m32r.c (m32r_select_section): Likewise.
876 * config/m88k/m88k.c (m88k_select_section): Likewise.
877 * config/mips/mips.c (mips_select_rtx_section): Likewise.
878 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
879 (rs6000_elf_select_section): Likewise.
880 * config/v850/v850.c (v850_select_section): Likewise.
881
882 * config/1750a/1750a.h, config/i860/sysv3.h
883 (READONLY_DATA_SECTION_ASM_OP): New.
884 READONLY_DATA_SECTION_ASM_OP.
885 * config/i386/interix.c, config/i386/winnt.c
886 (i386_pe_unique_section): Always use .rdata prefix.
887 * config/pa/som.h (readonly_data): Always switch to read-only section.
888 (READONLY_DATA_SECTION): Predicate on flag_pic.
889 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
890 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
891 (READONLY_DATA_SECTION): Update.
892
e964a556
JT
8932002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
894
895 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 896 is used without -Wformat.
e964a556
JT
897 * c-common.h (warn_format_zero_length): Declare extern.
898 * c-decl.c (warn_options): Add "format-zero-length".
899 * c-format.c (warn_format_zero_length): Declare.
900 (set_Wformat): Set warn_format_zero_length for -Wformat.
901 (check_format_info): Only warn about zero-length formats if
902 warn_format_zero_length is true. Include the format type
903 name in the warning message.
904 * doc/invoke.texi: Document -Wformat-zero-length.
905 * testsuite/gcc.dg/format/zero-length-1.c: New test.
906
d92b4486
KH
9072002-05-18 Kazu Hirata <kazu@cs.umass.edu>
908
909 * timevar.c: Fix formatting.
910 * tlink.c: Likewise.
911 * toplev.c: Likewise.
912 * tree-dump.c: Likewise.
913 * tree-inline.c: Likewise.
914
43612ffb
NB
9152002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
916
917 * cppinit.c (cpp_post_options): If preprocessed, turn off
918 traditional. If traditional, turn off column numbers.
919 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
920 * cpptrad.c (handle_newline): Update line_base.
921 (skip_comment): Handle -Wcomment.
922
f24a153a
ZW
9232002-05-17 Zack Weinberg <zack@codesourcery.com>
924
925 * cppinit.c (struct builtin): Remove unused fields.
926 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
927 (operator_array): New - was second half of builtin_array.
928 (init_builtins): Simplify loop over builtin_array/operator_array.
929
12403335
NB
9302002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
931
932 * defaults.h (UNIQUE_SECTION): Remove.
933 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
934
1f8c3c5b
RH
9352002-05-17 Richard Henderson <rth@redhat.com>
936
937 * expr.c (init_expr_once): Don't use start/end_sequence.
938 Use rtx_alloc instead of emit_insn.
939 * toplev.c (lang_dependent_init): Run init_expr_once here ...
940 (lang_independent_init): ... not here.
941
4664f4c4
JT
9422002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
943
944 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
945
93febe68
MM
9462002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
947
948 * config/avr/avr.c (avr_regs_to_save): New function. Also check
949 for fixed registers, possibly used for global register variables.
950 (initial_elimination_offset, avr_output_function_prologue,
951 avr_output_function_epilogue): Move common code to avr_regs_to_save.
952
004cb263
NB
9532002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
954
955 * Makefile.in: Update for cpptrad.c.
956 * cpphash.h (struct cpp_buffer): New members for buffer
957 overlays.
958 (struct cpp_reader): New members for traditional output.
959 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
960 * cppinit.c (cpp_create_reader): Set trad_line.
961 (cpp_destroy): Free trad_out_base if used.
962 (cpp_read_main_file): Overlay an empty buffer if traditional.
963 (cpp_finish_options): Don't do builtins.
964 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
965 (cpp_handle_option): Handle it.
966 * cpplex.c (continue_after_nul): New.
967 (_cpp_lex_direct): Use handle_nul.
968 * cpplib.h (struct cpp_options): New traditional option.
969 * cpptrad.c: New file.
970
bdcae02b
NB
9712002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
972
973 * c-common.c (c_common_init_options): Use C89 for Objective-C,
974 and set the options flag.
975 * cppinit.c (lang_flags): Remove objc.
976 (lang_defaults): Remove OBJC and OBJCXX.
977 (set_lang): Update.
978 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
979 (cpp_handle_option): Remove -+ and -lang-objc++.
980 For ObjC, just set a flag.
981 (print_help): Update.
982 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
983
0fca60ab
RO
9842002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
985
986 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
987 bootstrap with -mips3.
988
dd3f0101
KH
9892002-05-17 Kazu Hirata <kazu@cs.umass.edu>
990
991 * final.c: Fix formatting.
992 * fix-header.c: Likewise.
993 * flow.c: Likewise.
994 * fold-const.c: Likewise.
995 * function.c: Likewise.
996
5ca9299f
DM
9972002-05-17 David S. Miller <davem@redhat.com>
998
999 PR c/6689, PR optimization/6615
1000 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
1001 and make it a pointer to rtx. Update comments.
1002 (update_equiv_regs): When scanning for equivalences, record
1003 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
1004 it while making the equiv replacements.
1005
508bc172
RO
10062002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1007
1008 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
1009
5cd983a6
KK
10102002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
1011
1012 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
1013 when encoding visibility into SYMBOL_REF_FLAG.
1014
ce0f3925
RS
10152002-05-17 Richard Sandiford <rsandifo@redhat.com>
1016
1017 * expr.c (force_operand): Fix reversed move.
1018
06809951
GP
10192002-05-17 Kurt Wall <kwall@kurtwerks.com>
1020
1021 * doc/install.texi (Testing): Mention two common DejaGnu warnings
1022 that can be ignored.
1023
10242002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1025
1026 * doc/install.texi (Final install): Recommend to install into a
1027 "clean" target directory.
1028
1d5d7a21
RH
10292002-05-17 Richard Henderson <rth@redhat.com>
1030
1031 * config/ia64/ia64.md: Use braced strings instead of quoted strings
1032 for code blocks. Tidy whitespace.
1033
ae46c4e0
RH
10342002-05-17 Richard Henderson <rth@redhat.com>
1035
1036 * hooks.c (hook_tree_bool_false): New.
1037 * hooks.h: Declare it.
1038 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
1039 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
1040 * target.h (select_section, unique_section): New.
1041 (in_small_data_p): New.
1042 * varasm.c (resolve_unique_section): Use hooks instead of macros.
1043 (variable_section, output_constant_def_contents): Likewise.
1044 (default_select_section, default_unique_section): New.
1045 (categorize_decl_for_section, default_elf_select_section): New.
1046 * output.h: Declare them.
1047
1048 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
1049 (TARGET_ASM_SELECT_SECTION): New.
1050 (SELECT_SECTION): Move ...
1051 * config/darwin.c (machopic_select_section): ... here.
1052 * config/darwin-protos.h: Update.
1053
1054 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
1055 (SELECT_SECTION): Move ...
1056 * config/nextstep.c (nextstep_select_section): ... here.
1057 * config/nextstep-protos.h: Update.
1058
1059 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
1060 (TARGET_ASM_SELECT_SECTION): New.
1061 * config/svr3.h (SELECT_SECTION): Remove.
1062
1063 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
1064 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
1065 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
1066 (alpha_encode_section_info): Use it.
1067 * config/alpha/alpha-protos.h: Update.
1068 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
1069 (SELECT_SECTION, UNIQUE_SECTION): Remove.
1070 (TARGET_ASM_SELECT_SECTION): New.
1071 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
1072
1073 * config/arm/pe.h (UNIQUE_SECTION): Remove.
1074 (TARGET_ASM_UNIQUE_SECTION): New.
1075
1076 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
1077 (avr_unique_section): Rename from unique_section; make static.
1078 * config/avr/avr-protos.h: Update.
1079 * config/avr/avr.h (UNIQUE_SECTION): Remove.
1080
1081 * config/c4x/c4x.h (SELECT_SECTION): Remove.
1082
1083 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
1084 (TARGET_ASM_UNIQUE_SECTION): New.
1085 * config/i386/i386-interix.h: Likewise.
1086 * config/i386/win32.h: Likewise.
1087 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
1088 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
1089 * config/i386/sco5.h (SELECT_SECTION): Remove.
1090 (TARGET_ASM_SELECT_SECTION): New.
1091 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
1092
1093 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
1094 instead of SELECT_SECTION.
1095 * config/m68k/dpx2.h: Likewise.
1096 * config/rs6000/lynx.h: Likewise.
1097
1098 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
1099 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
1100 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
1101 (ia64_in_small_data_p): New.
1102 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
1103 (ia64_aix_select_section, ia64_aix_unique_section): New.
1104 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
1105 (SELECT_SECTION, UNIQUE_SECTION): Remove.
1106
1107 * config/m32r/m32r.h (SELECT_SECTION): Remove.
1108 (TARGET_ASM_SELECT_SECTION): New.
1109 * config/m32r/m32r.c (m32r_select_section): Take align argument.
1110 * config/m32r/m32r-protos.h: Update.
1111
1112 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
1113 (SELECT_SECTION): Move ...
1114 * config/m88k/m88k.c (m88k_select_section): ... here.
1115
1116 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
1117 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
1118 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
1119 (mcore_unique_section): Make static.
1120 * config/mcore/mcore-protos.h: Update.
1121
1122 * config/mips/elf.h (UNIQUE_SECTION): Remove.
1123 (TARGET_ASM_UNIQUE_SECTION): New.
1124 * config/mips/elf64.h: Likewise.
1125 * config/mips/iris6gld.h: Likewise.
1126 * config/mips/linux.h: Likewise.
1127 * config/mips/mips-protos.h: Update.
1128 * config/mips/mips.c (mips_select_section): Add align argument.
1129 * config/mips/mips.h (SELECT_SECTION): Remove.
1130 (TARGET_ASM_SELECT_SECTION): New.
1131
1132 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
1133 * config/mmix/mmix.c (mmix_select_section): Remove.
1134 (mmix_unique_section): Remove.
1135 * config/mmix/mmix-protos.h: Update.
1136
1137 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
1138 (SELECT_SECTION): Move ...
1139 * config/pa/pa.c (pa_select_section): ... here.
1140 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
1141
1142 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
1143 from rs6000_select_section and make static.
1144 (rs6000_elf_unique_section): Similarly.
1145 (rs6000_xcoff_select_section): From xcoff.h.
1146 (rs6000_xcoff_unique_section): Likewise.
1147 * config/rs6000/rs6000-protos.h: Update.
1148 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
1149 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
1150 * config/rs6000/xcoff.h: Likewise.
1151
1152 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
1153 (SELECT_SECTION): Move ...
1154 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
1155
1156 * config/v850/v850.h (SELECT_SECTION): Move ...
1157 * config/v850/v850.c (v850_select_section): ... here.
1158 (TARGET_ASM_SELECT_SECTION): New.
1159
1160 * config/vax/vms.h (SELECT_SECTION): Move ...
1161 * config/vax/vax.c (vms_select_section): ... here.
1162 (TARGET_ASM_SELECT_SECTION): New.
1163
1164 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
1165 for the target hooks.
1166
eaeb23a7
NC
11672002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
1168
1169 * config/arm/arm.c (emit_multi_reg_push): Do not set
1170 RTX_FRAME_RELATED_P on the SEQUENCE.
1171
a00fe19f
RH
11722002-05-16 Richard Henderson <rth@redhat.com>
1173
1174 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
1175 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
1176
5ccff482
RH
11772002-05-16 Richard Henderson <rth@redhat.com>
1178
1179 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
1180
068d7739
RH
1181 * config/ia64/ia64.c (saveable_obstack): Do not declare.
1182
0b17ab2f
RH
11832002-05-16 Richard Henderson <rth@redhat.com>
1184
1185 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
1186 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
1187 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
1188 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
1189 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
1190 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
1191 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
1192 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
1193 Revert "Basic block renumbering removal", and two followup patches.
1194
8ae86b3c
JT
11952002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
1196
1197 * lcm.c (optimize_mode_switching): Revert previous change.
1198
4e9f27af
ZD
11992002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1200
1201 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
1202 with only extant block numbers.
1203
3cdc1dbc
JT
12042002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
1205
1206 * lcm.c (optimize_mode_switching): Fix typo.
1207
fbfb3b09
ZD
12082002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1209
1210 * flow.c (calculate_global_regs_live): Queue blocks in program order.
1211
b4b0fb02
RO
12122002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1213
1214 * doc/install.texi (Configuration): Document PWDCMD.
1215
63b827c5
DJ
12162002-05-16 Dale Johannesen <dalej@apple.com>
1217
1218 * combine.c (cant_combine_insn_p): Reenable combinations
1219 involving hard regs unless CLASS_LIKELY_SPILLED_P.
1220
748d29c1
NB
12212002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
1222
1223 * c-common.c (cb_register_builtins): Handle more built-ins
1224 here rather than in gcc.c specs.
1225 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
1226 (cpp_options): Pass -O flags even when only preprocessing.
1227 * toplev.c (set_fast_math_flags): New prototype.
1228 (fast_math_flags_set_p): New.
1229 (set_no_fast_math_flags): Remove.
1230 (decode_f_option): Update.
1231 * toplev.h (set_fast_math_flags): Update.
1232 (fast_math_flags_set_p): New.
1233 (set_no_fast_math_flags): Remove.
1234config:
1235 * c4x/c4x.c (c4x_override_options): Update.
1236
5279d739
ZW
12372002-05-16 Zack Weinberg <zack@codesourcery.com>
1238
1239 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
1240 Default-define here.
1241 (builtin_define_with_value): Can now wrap the expansion in
1242 quotation marks if such is wanted.
a00fe19f 1243 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
1244 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
1245 here.
1246 (c_common_init): Set options->stdc_0_in_system_headers.
1247 * c-lex.h: Update prototype of builtin_define_with_value.
1248 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
1249 and REGISTER_PREFIX.
1250
1251 * cppinit.c (VERS, ULP, C, X): Kill.
1252 (builtin_array): Remove entries for __VERSION__,
1253 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
1254 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
1255 a constant.
1256 (init_builtins): Kill off a bunch of now-dead code.
1257 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
1258 -fno-leading-underscore.
1259 (cpp_handle_option): Remove code to set user_label_prefix.
1260 (cpp_post_options): Likewise.
1261
1262 * cpplib.h (struct cpp_options): Remove user_label_prefix.
1263 (stdc_0_in_system_headers): New.
1264 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
1265 stdc_0_in_system_headers) too to decide the value of __STDC__.
1266
1267 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 1268 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
1269 (initialize_builtins): Don't define __REGISTER_PREFIX__
1270 or __USER_LABEL_PREFIX__.
1271 (install_value): Wrap compound statement in dummy loop so the
1272 macro works properly in an if statement.
1273
1274
62e6ca55
JJ
12752002-05-16 Janis Johnson <janis187@us.ibm.com>
1276
1277 * loop.h (struct loop_info): Add member has_prefetch.
1278 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
1279 (prescan_loop): Initialize has_prefetch.
1280 (struct prefetch_info): Change prefetch_in_loop and
1281 prefetch_before_loop from bit fields to ints.
1282 (emit_prefetch_instructions): Several small fixes.
1283 (check_dbra_loop): Don't reverse loop that uses prefetch.
1284
1e6347d8
RO
12852002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1286
1287 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
1288 * configure.in: Likewise.
1289 * fixinc/check.tpl: Likewise.
1290 * fixinc/fixinc.dgux: Likewise.
1291 * fixinc/fixinc.svr4: Likewise.
1292 * fixinc/fixinc.winnt: Likewise.
1293 * fixinc/fixincl.sh: Likewise.
1294 * fixproto: Likewise.
1295 * configure: Regenerate.
1296
355e4ec4
ZD
12972002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1298
1299 Basic block renumbering removal:
1300 * basic_block.h (struct basic_block_def): Renamed index to sindex,
1301 added prev_bb and next_bb fields.
1302 (n_basic_blocks): Renamed to num_basic_blocks.
1303 (last_basic_block): New, index of last basic block.
1304 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
1305 traversing basic block chain.
1306 (BLOCK_NUM): index -> sindex.
1307 (create_basic_block_structure, create_basic_block): Declaration changed.
1308 (debug_num2bb): Declare.
1309 (expunge_block_nocompact): Declaration removed.
1310 (link_block, unlink_block, compact_blocks): Declare.
1311 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
1312 * cfg.c (entry_exit_blocks): Initialize new fields.
1313 (clear_edges, alloc_block, expunge_block, cached_make_edge,
1314 redirect_edge_pred, dump_flow_info, dump_edge_info,
1315 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
1316 free_aux_for_edges): Modified.
1317 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
1318 (expunge_block_nocompact): Removed.
1319 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
1320 find_unreachable_blocks, create_edge_list, print_edge_list,
1321 verify_edge_list, flow_edge_list_print, remove_fake_successors,
1322 remove_fake_edges, flow_reverse_top_sort_order_compute,
1323 flow_depth_first_order_compute, flow_preorder_transversal_compute,
1324 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
1325 flow_dfs_compute_reverse_execute): Modified.
1326 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
1327 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
1328 Modified.
1329 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
1330 merge_blocks_move_predecessor_nojumps,
1331 merge_blocks_move_successor_nojumps, merge_blocks,
1332 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
1333 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
1334 * cfglayout.c (skip_insns_after_block, label_for_bb,
1335 record_effective_endpoints, scope_to_insns_finalize,
1336 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
1337 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
1338 cfg_layout_duplicate_bb): Modified.
1339 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
1340 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
1341 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
1342 flow_loops_find, flow_loop_outside_edge_p): Modified.
1343 * cfgrtl.c (create_basic_block_structure, create_basic_block,
1344 flow_delete_block, compute_bb_for_insn, split_block,
1345 try_redirect_by_replacing_jump, redirect_edge_and_branch,
1346 force_nonfallthru_and_redirect, tidy_fallthru_edge,
1347 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
1348 commit_edge_insertions, commit_edge_insertions_watch_calls,
1349 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
1350 purge_all_dead_edges): Modified.
1351 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
1352 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
1353 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
1354 Modified.
1355 * conflict.c (conflict_graph_compute): Modified.
1356 * df.c (FOR_ALL_BBS): Removed.
1357 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
1358 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
1359 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
1360 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
1361 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
1362 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
1363 * final.c (compute_alignments, final_scan_insn): Modified.
1364 * flow.c (verify_local_live_at_start, update_life_info,
1365 update_life_info_in_dirty_blocks, free_basic_block_vars,
1366 delete_noop_moves, calculate_global_regs_live,
1367 initialize_uninitialized_subregs, allocate_bb_life_data,
1368 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
1369 mark_used_reg, count_or_remove_death_notes): Modified.
1370 * function.c (thread_prologue_and_epilogue_insns): Modified.
1371 * gcse.c (struct null_pointer_info): Change typo of current_block
1372 to basic_block.
1373 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
1374 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
1375 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
1376 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
1377 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
1378 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
1379 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
1380 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
1381 pre_delete, one_pre_gcse_pass, compute_transpout,
1382 invalidate_nonnull_info, delete_null_pointer_checks_1,
1383 free_code_hoist_mem, compute_code_hoist_vbeinout,
1384 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
1385 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
1386 compute_store_table, build_store_vectors, insert_insn_start_bb,
1387 insert_store, replace_store_insn, free_store_memory, store_motion):
1388 Modified.
1389 * global.c (global_alloc, global_conflicts, mark_elimination,
1390 build_insn_chain): Modified.
1391 * graph.c (print_rtl_graph_with_bb): Modified.
1392 * haifa-sched.c (sched_init): Modified.
1393 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
1394 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
1395 if_convert): Modified.
1396 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
1397 compute_insert_delete, pre_edge_lcm, compute_available,
1398 compute_farthest, compute_nearerout, compute_rev_insert_delete,
1399 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
1400 Modified.
1401 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
1402 * loop.c (loop_dump_aux): Modified.
1403 * predict.c (combine_predictions_for_insn, estimate_probability,
1404 last_basic_block_p, process_note_prediction, process_note_predictions,
1405 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
1406 expensive_function_p, estimate_bb_frequencies,
1407 compute_function_frequency): Modified.
1408 * print-rtl.c (print_rtx): Modified.
1409 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
1410 get_exec_counts, compute_branch_probabilities, compute_checksum,
1411 branch_prob, find_spanning_tree): Modified.
1412 * recog.c (split_all_insns, peephole2_optimize): Modified.
1413 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
1414 convert_regs_1, convert_regs_2, convert_regs): Modified.
1415 * regclass.c (scan_one_insn, regclass): Modified.
1416 * regmove.c (mark_flags_life_zones, regmove_optimize,
1417 combine_stack_adjustments): Modified.
1418 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
1419 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
1420 * reorg.c (dbr_schedule): Modified.
1421 * resource.c (find_basic_block, init_resource_info): Modified.
1422 * sbitmap.c (sbitmap_intersection_of_succs,
1423 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
1424 sbitmap_union_of_preds): Modified.
1425 * sched-deps.c (init_dependency_caches): Modified.
1426 * sched-ebb.c (schedule_ebbs): Modified.
1427 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
1428 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
1429 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
1430 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
1431 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
1432 ssa_const_prop): Modified.
1433 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
1434 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
1435 * ssa.c (remove_phi_alternative, find_evaluations,
1436 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
1437 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
1438 make_regs_equivalent_over_bad_edges,
1439 make_equivalent_phi_alternatives_equival,
1440 compute_conservative_reg_partition,
1441 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
1442 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
1443 Modified.
1444
5a566bed
MM
14452002-05-16 Mark Mitchell <mark@codesourcery.com>
1446
1447 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
1448
48f6efae
NC
14492002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
1450
1451 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
1452 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
1453 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
1454 calling CONSTANT_POOL_ADDRESS_P.
1455 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
1456 to decide whether to define __arm__ or __thumb.
355e4ec4 1457 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
1458 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
1459
b166fadd
NB
14602002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
1461
1462 * config/arc/arc.h (CPP_PREDEFINES): Remove.
1463 (CPP_SPEC): Update.
1464 (TARGET_CPU_CPP_BUILTINS): New.
1465
601328bb
NB
14662002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
1467
1468 * cpphash.h (cpp_macro): Move here, and make expansion a union.
1469 * cppmacro.c (cpp_macro): Remove.
1470 (enter_macro_context, replace_args, warn_of_redefinition,
1471 _cpp_create_definition, cpp_macro_definition): Update.
1472
ff48be5c
JM
14732002-05-16 Jason Merrill <jason@redhat.com>
1474
1475 * config/mips/mips.c (mips_output_external): Don't do sdata
1476 optimization for a variable with DECL_COMDAT set.
1477
805c42ba
AH
14782002-05-15 Aldy Hernandez <aldyh@redhat.com>
1479
355e4ec4
ZD
1480 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
1481 Cleanups for accepting modifiers on pointers.
1482 Fix predicate typos.
1483 Allow long pointers as well as int pointers.
805c42ba 1484
34fb9ba5
RH
14852002-05-15 Richard Henderson <rth@redhat.com>
1486
1487 * varasm.c (merge_weak): Remove special case for extern and common.
1488
62e118f5
MH
14892002-05-15 Matt Hiller <hiller@redhat.com>
1490
1491 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 1492 XFAILing.
62e118f5
MH
1493 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
1494 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
1495 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
1496 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
1497 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
1498 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
1499
fefac463
AH
15002002-05-15 Aldy Hernandez <aldyh@redhat.com>
1501
355e4ec4 1502 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 1503
5f004351
AH
15042002-05-15 Aldy Hernandez <aldyh@redhat.com>
1505
355e4ec4
ZD
1506 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
1507 ("altivec_mfvscr"): Read from VSCR.
1508
1509 Add vscr sets for the following insns: altivec_vctuxs,
1510 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
1511 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
1512 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
1513 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
1514 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
1515 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
1516 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
1517 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
1518 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
1519 altivec_vsum2sws, altivec_vsumsws.
1520
1521 * config/rs6000/rs6000.h: Add VSCR fixed register.
1522 (CALL_REALLY_USED_REGISTERS): Add vscr.
1523 (CALL_USED_REGISTERS): Same.
1524 (FIXED_REGISTERS): Same.
1525 (REG_ALLOC_ORDER): Same.
1526 (reg_class): Add VSCR_REGS.
1527 (REG_CLASS_NAMES): Same.
1528 (REG_CLASS_CONTENTS): Same.
1529 (VSCR_REGNO): New.
1530 (REGISTER_NAMES): Add vscr.
1531 (DEBUG_REGISTER_NAMES): Same.
1532 (ADDITIONAL_REGISTER_NAMES): Same.
1533 (FIRST_PSEUDO_REGISTER): Increment.
1534 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 1535
033afd11
RH
15362002-05-15 Jakub Jelinek <jakub@redhat.com>
1537
1538 * fold-const.c (fold): Fix a typo.
1539
15402002-05-15 Eric Botcazou <ebotcazou@multimania.com>
1541
1542 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
1543 comparison against the highest or lowest integer value before
1544 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
1545 transformation and that of an unsigned comparison against 0
1546 right after.
1547
14285ace
RH
15482002-05-15 Richard Henderson <rth@redhat.com>
1549
1550 * varasm.c (merge_weak): Error for any weakening after definition.
1551 Adjust weakening after use warning to catch more cases.
1552 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
1553 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
1554
194734e9
JH
1555Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
1556
1557 * invoke.texi (-malign-double): Re-add lost warning.
1558
1559 * i386-protos.h (x86_output_mi_thunk): Declare.
1560 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
1561 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
1562
1563 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
1564 when flag_asynchronous_unwind_tables is set.
1565
1566 * flags.h (flag_reorder_functions): Declare.
1567 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 1568 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
1569 * Makefile.in (predict.o): Add dependency on target.h and params.h
1570 * defaults.h (HOT_TEXT_SECTION_NAME,
1571 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
1572 * predict.c (choose_function_section): New function.
1573 (estimate_bb_frequencies): Use it.
1574 * toplev.c (flag_reorder_functions): New global variable.
1575 (lang_independent_options): New.
1576 (parse_options_and_default_flags): Set.
1577 * varasm.c (assemble_start_function): Bypass functdion alignment
1578 for never executed functions.
1579 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
1580 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
1581 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
1582 Document.
1583
1584 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
1585
1586 * predict.c: Inlude profile.h
1587 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
1588 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
1589 Use the information about maximal counter in the program.
1590
1591 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
1592
1593 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
1594 probably_never_executed_bb_p): New functions.
1595 * cfgcleanup.c (outgoing_edges_match): Use them.
1596 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
1597 (maybe_hot_bb_p, probably_cold_bb_p,
1598 probably_never_executed_bb_p): New functions.
1599
1600 * function.h (function): Add new field function_frequency.
1601 * predict.c (compute_function_frequency): New function.
1602 (estimate_probability): Call it.
1603
61ad9a34
JJ
16042002-03-09 Jakub Jelinek <jakub@redhat.com>
1605
1606 PR optimization/5172, optimization/5200
1607 * gcse.c (gcse_main): Disable store_motion.
1608
a11eba95
ZW
16092002-05-14 Zack Weinberg <zack@codesourcery.com>
1610
1611 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
1612 (c_common_nodes_and_builtins): Use it.
1613 (builtin_define_with_value): New function.
1614 (cb_register_builtins): Define __SIZE_TYPE__,
1615 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
1616 using builtin_define_with_value. Use consistent notation when
1617 defining __GXX_WEAK__.
1618 (WCHAR_TYPE_SIZE): Don't redefine.
1619 (combine_strings): Don't use WCHAR_TYPE_SIZE.
1620
1621 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
1622 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
1623 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
1624 * tradcpp.c (initialize_builtins): Likewise.
1625 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
1626
1627 * c-lex.h (builtin_define_with_value): Prototype.
1628 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
1629 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
1630 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
1631
1632 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
1633 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
1634 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
1635 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
1636 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
1637 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
1638 config/sparc/sol2-bi.h, config/sparc/sparc.h:
1639 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
1640 to __SIZE_TYPE__ etc from all spec strings. When this makes
1641 extra specs empty, delete them.
1642
1c31ecf6
JDA
16432002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
1644
1645 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
1646 for PA8000 or generating dwarf2 call frame information.
1647 (output_call): Remove DO_FRAME_NOTES check from return pointer
1648 optimization.
1649 (following_call): Return 0 when scheduling for PA8000 or generating
1650 dwarf2 call frame information. Revise comment.
1651
ac9cfada
NB
16522002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
1653
1654config/alpha:
1655 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
1656 and __IEEE_FP_INEXACT as appropriate.
1657 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
1658 (CPP_SPEC): Remove ieee defines.
1659 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
1660
9b690711
RH
16612002-05-14 Richard Henderson <rth@redhat.com>
1662
1663 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
1664 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
1665
e6471be6
NB
16662002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
1667
e6471be6
NB
1668 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
1669 (CPP_SPEC): Update.
1670 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
1671 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
1672 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
1673 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
1674 (EXTRA_SPECS): Update.
1675 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
1676 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
1677 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
1678 define TARGET_OS_CPP_BUILTINS if necessary.
1679
e5f5feea
NB
16802002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
1681
1682 * gcc.c (cpp_options): Must pass -m* and -f* options
1683 to the front end even when only preprocessing.
1684 (cc1_options): Remove redundant -lang-c.
1685 * tradcpp.c (main): Ignore -m options.
1686objc:
1687 * lang-specs.h: Similarly.
1688
317638a8
VM
16892002-05-14 Vladimir Makarov <vmakarov@redhat.com>
1690
1691 * genautomata.c (transform_3): Add code for transformation
1692 `(A,B,...)+C -> A+C,B,...'.
1693
4d604303
JH
1694Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
1695
1696 * final.c (end_final): Do not output profile_arcs constructor, when
1697 no functions are instrumented.
1698
b18b06ed
JH
1699Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
1700
1701 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
1702
a12f97f0
GP
17032002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1704
1705 * doc/install.texi: Remove special markup originally required for
1706 HTML generation with texi2html.
1707
c1ae3eb4
AS
17082002-05-14 Andreas Schwab <schwab@suse.de>
1709
1710 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
1711 SELECT_SECTION.
1712 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
1713
1714 * varasm.c (resolve_unique_section): Add third parameter
1715 flag_function_or_data_sections and use it instead of
1716 flag_function_sections.
1717 (assemble_start_function): Pass flag_function_sections.
1718 (asm_emit_uninitialised): Pass flag_data_sections.
1719 (assemble_variable): Likewise.
1720
8ee41eaf
RH
17212002-05-14 Richard Henderson <rth@redhat.com>
1722
1723 * config/i386/i386.md: Use define_constants for unspec numbers.
1724 * config/i386/i386.c: Likewise.
1725
e6471be6
NB
17262002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
1727
1728 * doc/contrib.texi: Update my entry.
1729
c297b764
MM
17302002-05-13 Mark Mitchell <mark@codesourcery.com>
1731
1732 * fixinc/inclhack.def (winidss_valist): Limit applicability.
1733 * fixinc/fixincl.x: Regenerated.
1734 * fixinc/tests/base/math.h: Update.
1735 * fixinc/tests/base/testing.h: Likewise.
1736
0b42c8f8
ZW
17372002-05-13 Zack Weinberg <zack@codesourcery.com>
1738
1739 * genattr.c (gen_attr): Don't emit a comma after the last
1740 enumerator.
1741
546c093e
RH
17422002-05-13 Richard Henderson <rth@redhat.com>
1743
1744 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
1745 by non-local gotos.
1746 * recog.c (peephole2_optimize): Likewise.
1747
85be8c2d
AP
17482002-05-13 Andris Pavenis <pavenis@lanet.lv>
1749
1750 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
1751 input to O_BINARY.
1752
765b8f90
JL
17532002-05-13 Jeffrey A Law (law@redhat.com)
1754
fe4b3c79
JL
1755 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
1756 Update prototype and callers.
1757 (propagate_one_insn): Stack pointer adjustments kill MEMs on
1758 the mem_set_list which reference the stack pointer, as do
1759 calls to constant functions as they may clobber outgoing
1760 argument space.
1761
16133d00
JL
1762 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
1763
765b8f90
JL
1764 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
1765 (ia32_multipass_dfa_lookahead): New function.
1766
63826d5b
NB
17672002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
1768
1769 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
1770 (translate_options): Remove 'V'.
1771 (process_command): Similarly.
1772doc:
1773 * invoke.texi: Remove documentation of 'V'.
1774
dcb41ced
UW
17752002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
1776
1777 * config/s390/linux.h: Revert 2002-04-22 changes.
1778
8dfea428
SM
17792002-05-13 Scott Marks <SMarks@mobile-mind.com>
1780
1781 * config/fr30/fr30.md: Only allow splits of immediate loads
1782 if the destination is a register.
1783
12a41c22
NB
17842002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
1785
1786 * Makefile.in (c-common.o, cppinit.o): Update.
1787 * c-common.c: Include except.h.
1788 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
1789 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
1790 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
1791 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
1792 CPP_PREDEFINES): Handle here.
1793config:
1794 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
1795 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
1796 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
1797 TARGET_OS_CPP_BUILTINS.
1798 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
1799 (CPP_SPEC, EXTRA_SPECS): Update.
1800 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
1801 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
1802 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
1803 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
1804 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
1805doc:
1806 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
1807 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
1808
5692c7bc
ZW
18092002-05-12 Zack Weinberg <zack@codesourcery.com>
1810
1811 * emit-rtl.c (global_rtl): Update comment.
1812 (const_double_htab, const_double_htab_hash,
1813 const_double_htab_hash, lookup_const_double): New.
1814 (const_int_htab_hash, const_int_htab_eq): Remove const
1815 qualifiers, which cause tons of warnings with RTL checking on.
1816 (gen_rtx_CONST_DOUBLE): Deleted.
1817 (const_double_from_real_value): New function - bears some
1818 resemblance to the former immed_real_const_1.
1819 (immed_double_const): Moved here from varasm.c and
1820 simplified.
1821 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
1822 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
1823 (gen_rtx): Use immed_double_const.
1824 (init_emit_once): Initialize the const_double_htab. Use
1825 REAL_VALUE_FROM_INT where possible. Can now use
1826 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
1827 * varasm.c (struct varasm_status): Remove x_const_double_chain.
1828 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
1829 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
1830 (init_varasm_status, mark_varasm_status): Don't touch
1831 x_const_double_chain.
1832
1833 * output.h: Delete prototype for clear_const_double_mem.
1834 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
1835 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
1836 const_double_from_real_value, not immed_real_const_1, and use
1837 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
1838 CONST_DOUBLE_ATOF.
1839 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
1840 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
1841 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
1842 (gen_rtx_REG): Second arg is unsigned.
1843
1844 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
1845 (excluded_rtx): New, return true for CONST_DOUBLE.
1846 (genmacro): Write nothing for excluded codes.
1847 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
1848 * expr.c (expand_expr): Likewise.
1849 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
1850 CONST_DOUBLE_CHAIN.
1851 * toplev.c (rest_of_compilation): Don't call
1852 clear_const_double_mem.
1853
1854 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
1855 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
1856 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
1857 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
1858 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
1859 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
1860 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
1861 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
1862
31397a7b
KG
18632002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1864
1865 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
1866
1b70d38a
TT
18672002-05-12 Tom Tromey <tromey@redhat.com>
1868
1869 * tree.h (copy_node): Don't mention TREE_PERMANENT.
1870
9a5834ae
ZW
18712002-05-12 Zack Weinberg <zack@codesourcery.com>
1872
1873 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
1874 (scan_comma_elt): New function. Accepts whitespace in comma lists.
1875 * gensupport.h: Prototype new routines.
1876 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
1877 use of printf.
1878 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
1879 (next_comma_elt): Use scan_comma_elt.
1880
1881 * config/i386/i386.md: Use new attribute notation to break up
1882 long lines in define_attr forms.
1883
51286de6
RH
18842002-05-12 Richard Henderson <rth@redhat.com>
1885
1886 * expr.c (compress_float_constant): New.
1887 (emit_move_insn): Use it.
1888 (float_extend_from_mem): New.
1889 (init_expr_once): Initialize it.
1890 * real.c (exact_real_truncate): New.
1891
1892 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
1893 dropped into memory; penalize for size.
1894 (RTX_COSTS): FLOAT_EXTEND is free.
1895 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
1896 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
1897
6412341e
RH
18982002-05-12 Richard Henderson <rth@redhat.com>
1899
1900 * profile.h (profile_info): Add missing extern to declaration.
1901 * profile.c (profile_info): Define it.
1902
12877f09
JDA
19032002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
1904
1905 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
1906 used for DImode and TImode.
1907
387f9e32
NB
19082002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
1909
1910 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
1911 fake a newline.
1912
e1a0f69c
ZW
19132002-05-11 Zack Weinberg <zack@codesourcery.com>
1914
1915 * config/rs6000/rs6000.c (rs6000_default_long_calls,
1916 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
1917 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
1918 (rs6000_override_options): Handle -m(no-)longcall.
1919 (init_cumulative_args, output_mi_thunk): Check for both
1920 longcall and shortcall attributes on the function.
1921 (rs6000_attribute_table): Add "shortcall".
1922 (rs6000_handle_longcall_attribute): Update comment.
1923 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
1924 altivec_expand_ternop_builtin): Add default clauses to switches
1925 to silence warnings.
1926
1927 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
1928 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
1929 (TARGET_OPTIONS): Add longcall and no-longcall.
1930
1931 * config/rs6000/rs6000.md (call_nonlocal_sysv,
1932 call_value_nonlocal_sysv): Split by alternatives. One pair
1933 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
1934 the call cookie. The other pair accepts only LR/CTR and has
1935 no restriction.
1936
1937 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
1938 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
1939 tmake_file.
1940 * config/rs6000/rs6000-c.c: New file.
1941 * config/rs6000/t-rs6000-c-rule: New file.
1942 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
1943 Prototype rs6000_pragma_longcall.
1944
1945 * doc/extend.texi: Document shortcall attribute.
1946 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
1947
9c64026d
JDA
19482002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
1949
1950 * reorg.c (dbr_schedule): Remove unnecessary test.
1951
6c81a490
JH
1952Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
1953
1954 * i386.md (testsi to testqi spliters): New.
1955
1956 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
1957
1958 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
1959
1960 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
1961
1962 * basic-block.h: New flag EDGE_CAN_FALLTHRU
1963 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
1964 that can be made fallthru.
1965
1966 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
1967
1968 * cfglayout.c (cleanup_unconditional_jumps): New static function.
1969 (cfg_layout_initialize): Use it.
4c476cf3 1970
e4447d94
MM
19712002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
1972
1973 * config/avr/avr.c (avr_mcu_types): Update supported devices.
1974 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
1975 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
1976
3a538a66
KH
19772002-05-11 Kazu Hirata <kazu@cs.umass.edu>
1978
1979 * dbxout.c: Fix formatting.
1980 * dependence.c: Likewise.
1981 * df.c: Likewise.
1982 * diagnostic.c: Likewise.
1983 * doloop.c: Likewise.
1984 * dominance.c: Likewise.
1985 * doschk.c: Likewise.
1986 * dwarf2asm.c: Likewise.
1987 * dwarf2out.c: Likewise.
1988 * dwarfout.c: Likewise.
1989
2292e8fc
RH
19902002-05-10 Richard Henderson <rth@redhat.com>
1991
1992 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
1993 Convert integers constants as needed. Replace "nwords" field with
1994 "sizeof_bb".
1995 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
1996 * function.h: Fix typo in comment.
1997 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
1998
dbfb1116
RS
19992002-05-10 Roger Sayle <roger@eyesopen.com>
2000
2001 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
2002 into the equivalent (signed char)c > 0.
2003
79a497cd
JJ
20042002-05-10 Janis Johnson <janis187@us.ibm.com>
2005
2006 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
2007 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
2008 (struct prefetch_info): Fix spelling of member bytes_accessed.
2009 (emit_prefetch_instructions): Make dump messages more regular;
2010 restructure code to add more dump messages; use new macros for
2011 heuristics. (There are no code generation changes in any of this).
2012
6c45cb0d
DM
20132002-05-10 David S. Miller <davem@redhat.com>
2014
7440af14
DM
2015 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
2016 (struct rtx_def): Update unchanging flag comment.
2017 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
2018 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
2019 to be handled to INSN too.
2020 (dbr_schedule): Likewise.
2021 * resource.c (next_insn_no_annul): Likewise.
2022
6c45cb0d
DM
2023 * cse.c (rtx_cost): Remove multiplication by power of 2 special
2024 casing.
2025
29f21e4f
GP
20262002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2027
2028 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
2029 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
2030 (possibly) work around broken /bin/sh.
2031
e4ba88da
RO
20322002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2033
2034 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
2035 . as N64/N32 libgcc_s.so subdirs.
2036
4f4778ee
DM
20372002-05-10 David S. Miller <davem@redhat.com>
2038
2039 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
2040
2041 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
2042 more accurately.
2043 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
2044 comment.
2045 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
2046 * doc/rtl.texi: Document these macros more accurately.
2047 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
2048 JUMP_INSNs and CALL_INSNs.
2049 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
2050 or INSN_FROM_TARGET_P if the code is appropriate.
2051
1a499b92
MM
20522002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
2053
2054 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
2055 before using SYMBOL_REF_FLAG (addr).
2056
2057 * config/avr/avr-protos.h (avr_io_address_p): Declare.
2058 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
2059 Make non-static. Update all callers.
2060 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
2061 New insns to clear/set/test a single bit in I/O address space.
2062
65212b66
KG
20632002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2064
2065 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
2066
3df89291
NB
20672002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
2068
2069 * Makefile.in: Update.
2070 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
2071 builtin_define_std): New.
2072 (c_common_init): Register CPP builtins callback.
2073 * c-common.h (flag_iso, flag_undef): New.
2074 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
2075 * c-lex.c: Don't include target.h.
2076 (cb_register_builtins): Move to c-common.c.
2077 (init_c_lex): Don't register hook here.
2078 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
2079 (cpp_define, cpp_assert): Remove.
2080 * gcc.c (cc1_options): Pass -undef to front end.
2081 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
2082 (TARGET_INITIALIZER): Update.
2083 * target.h (struct cpp_reader): Don't predeclare.
2084 (struct gcc_target): Remove cpp builtin hook.
2085 * tree.c (default_register_cpp_builtins): Remove.
2086doc:
2087 * tm.texi: Update.
2088
32fa4565
NB
20892002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
2090
2091 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
2092
23357c55
RO
20932002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2094
2095 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
2096 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
2097
5aa26af0
JJ
20982002-05-09 Jakub Jelinek <jakub@redhat.com>
2099
2100 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
2101 * config/sparc/libgcc-sparc-glibc.ver: New file.
2102 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
2103 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
2104
2937267b
JJ
21052002-05-09 Jakub Jelinek <jakub@redhat.com>
2106
2107 PR target/6429
2108 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
2109 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
2110 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
2111 base multilibs.
2112 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
2113 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
2114 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
2115 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
2116
086c0f96
RH
21172002-05-09 Richard Henderson <rth@redhat.com>
2118
2119 * config/ia64/ia64.md: Use define_constants for unspec numbers.
2120 * config/ia64/ia64.c: Likewise.
2121
a8b4881f
RS
21222002-05-09 Richard Sandiford <rsandifo@redhat.com>
2123
2124 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
2125 (save_restore_insns): Likewise.
2126 (mips_expand_prologue, mips_expand_epilogue): Update callers.
2127 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
2128
890d52e8
JL
2129Thu May 9 11:50:09 2002 Jeffrey A Law (law@cygnus.com)
2130
af2728a4
JL
2131 * athlon.md, k6.md, pentium.md, ppro.md): New files.
2132 * i386.md: Move scheduling information into new files.
2133
890d52e8
JL
2134 * i386.md (type attribute): Add "rotate" for rotate insns.
2135 (rotate insns): Set type to "rotate".
2136 (various attributes and function units): Treat rotate like shift.
2137 (pent_pair attribute): Only rotates by one bit position are
2138 pairable.
2139 (sbb insns): Explicitly set pent_pair attribute on a couple
2140 that were missing it.
2141
f78ec36a
R
2142Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
2143
2144 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
2145 make sure that buffer starts on odd word address.
2146 (sh_va_arg): Skip odd fp registers when reading a double precision
2147 value.
2148
ff431459
NB
21492002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
2150
2151 * tree.h (preserve_data, object_permanent_p, type_precision):
2152 Remove.
2153
c3bf3e6e
NB
21542002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
2155
2156 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
2157 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
2158doc:
2159 * cpp.texi: Update for removal of obsolete features.
2160
02263a8a
JH
2161Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
2162 Jeffrey A Law (law@redhat.com)
2163
2164 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
2165 the DFA interface for Pentium processors.
2166 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
2167 (attr_pent_pair, ix86_pent_find_pair): Remove.
2168 (ix86_sched_reorder_pentium): Remove.
2169 (ix86_sched_reorder): Remove reordering for Pentium.
2170 * i386.md (Pentium scheduling): Rewrite using DFA description.
2171
3e638a90
JH
2172Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
2173
2174 * cfganal.c (can_fallthru): Fix fast path.
2175 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
2176 with edges to the next block.
2177
b7c9bf28
JH
2178Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
2179 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
2180
2181 * final.c (end_final): Use C trees to output data structures for profiling.
2182
2183 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
2184 (profile.o): New dependency profile.h
2185 (final.o): New dependency profile.h
2186 * profile.h: New file. New global structure profile_info.
2187 * final.h (count_edges_instrumented_now): Declare.
2188 (current_function_cfg_checksum): Declare.
2189 (function_list): New structure.
2190 (functions_head, functions_tail): New static variables.
2191 (end_final): Emits more data, removed some -ax stuff.
2192 (final): Stores function names and chcksums.
2193 * gcov-io.h (__write_gcov_string): New function.
2194 (__read_gcov_string): New function.
2195 * gcov.c (read_profile): New function.
2196 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 2197 da_file.
5692c7bc
ZW
2198 (read_files): Removed da_file checking, it's done by read_profile now.
2199 * libgcc2.c (bb_function_info): New structure.
2200 (bb): New field in structure, removed some -ax stuff.
2201 (__bb_exit_func): Changed structure of da_file.
2202 * profile.c (count_edges_instrumented_now): New global variable.
2203 (current_function_cfg_checksum): New global variable.
2204 (max_counter_in_program): New global variable.
2205 (get_exec_counts): New function.
2206 (compute_checksum): New function.
2207 (instrument_edges): Sets count_edges_instrumented_now.
2208 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 2209 reading da_file.
5692c7bc
ZW
2210 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
2211 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 2212 now.
5692c7bc 2213 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 2214 now.
5692c7bc 2215 * gcov.texi: Updated information about gcov file format.
b7c9bf28 2216
786de7eb
KH
22172002-05-09 Kazu Hirata <kazu@cs.umass.edu>
2218
2219 * sbitmap.c: Fix formatting.
2220 * scan.c: Likewise.
2221 * scan-decls.c: Likewise.
2222 * sched-deps.c: Likewise.
2223 * sched-ebb.c: Likewise.
2224 * sched-rgn.c: Likewise.
2225 * sched-vis.c: Likewise.
2226 * sdbout.c: Likewise.
2227 * sibcall.c: Likewise.
2228 * simplify-rtx.c: Likewise.
2229 * ssa.c: Likewise.
2230 * ssa-ccp.c: Likewise.
2231 * ssa-dce.c: Likewise.
2232 * stmt.c: Likewise.
2233 * stor-layout.c: Likewise.
2234 * stringpool.c: Likewise.
2235
b7764693
DM
22362002-05-09 David S. Miller <davem@redhat.com>
2237
2238 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
2239
4e7d5d27
DM
22402002-05-07 David S. Miller <davem@redhat.com>
2241
2242 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
2243 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
2244 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
2245 library implementation clobbers the output before the inputs
2246 are fully consumed, use stack temporary for the output.
2247
f979570e
JT
22482002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
2249
2250 * config/netbsd.h (CPP_SPEC): Remove.
2251 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
2252 * config/i386/netbsd.h (CPP_SPEC): Define.
2253 * config/ns32k/netbsd.h (CPP_SPEC): Define.
2254 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
2255 * config/sparc/netbsd.h (CPP_SPEC): Define.
2256 * config/vax/netbsd.h (CPP_SPEC): Define.
2257
a6a2274a
KH
22582002-05-08 Kazu Hirata <kazu@cs.umass.edu>
2259
2260 * read-rtl.c: Fix formatting.
2261 * real.c: Likewise.
2262 * recog.c: Likewise.
2263 * regclass.c: Likewise.
2264 * regmove.c: Likewise.
2265 * reg-stack.c: Likewise.
2266 * reload1.c: Likewise.
2267 * reload.c: Likewise.
2268 * resource.c: Likewise.
2269 * rtlanal.c: Likewise.
2270 * rtl.c: Likewise.
2271 * rtl-error.c: Likewise.
2272
461b48d5
JDA
22732002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
2274
2275 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
2276 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
2277
95d075ff
BS
22782002-05-08 Bernd Schmidt <bernds@redhat.com>
2279
2280 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
2281 use __SSE2__ macro instead.
2282 * config/i386/xmmintrin.h: Likewise.
2283
2d4cc6a7
JJ
22842002-05-08 Janis Johnson <janis187@us.ibm.com>
2285
2286 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
2287 and use it in all invocations of these macros. Clean up comments.
2288 * rtl.c (rtl_check_failed_flag): Add an argument for the name
2289 of the flag access macro whose check failed.
2290 * doc/rtl.texi (Flags): Document additional flag uses.
2291
3f8ffc7c
RS
22922002-05-08 Robert Spier <rspier@pobox.com>
2293 Neil Booth <neil@daikokuya.demon.co.uk>
2294
2295 PR preprocessor/6521
2296 * cppfiles.c (handle_missing_header): Don't do anything
2297 different for <> includes.
2298doc:
2299 * cppopts.texi: Update documentation for -MG.
2300
b9e2d17b
NB
23012002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
2302
2303 * cpplex.c (cpp_interpret_charconst): Truncate as well as
2304 sign-extend.
2305doc:
2306 * cpp.texi: Clarify multichar charconst valuation.
2307
8d8269fa
MM
23082002-05-08 Mark Mitchell <mark@codesourcery.com>
2309
2310 * doc/invoke.texi: Document -mwindiss option.
2311
29b91443
JM
23122002-05-08 Jason Merrill <jason@redhat.com>
2313
2314 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
2315
2316 * dwarf2out.c (gen_type_die): Abort on broken recursion.
2317
2318 PR c++/6381
2319 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
2320 REAL_CST.
2321
6c76b950
NC
23222002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
2323
2324 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
2325 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 2326 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
2327 multilibs for the Thumb.
2328
f90bf7ca
MM
23292002-05-08 Mark Mitchell <mark@codesourcery.com>
2330
2331 PR c/6569.
2332 * varasm.c (mark_weak): New function.
2333 (merge_weak): Use it. Do not call declare_weak.
2334 (declare_weak): Use merge_weak.
2335
1e150f2c
JH
2336Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
2337
2338 * cse.c (dead_libcall_p): Update counts.
2339 (delete_trivially_dead_insns): Update call of dead_libcall_p.
2340
969d70ca
JH
2341Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
2342
2343 * cfglayout.c (function_tail_eff_head): Rename to ...
2344 (function_footer): ... this one.
2345 (unlink_insn_chain): New functions.
2346 (label_for_bb): Only call block_label and emit debug message.
2347 (record_effective_endpoints): Actually unlink the headers and footers.
2348 (fixup_reorder_cahin): Re-insert the unlinked sequences.
2349 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
2350 * cfglayout.h (struct reorder_block_def): New fields footer/header;
2351 remove eff_head/eff_end.
2352 * rtl.h (set_first_insn): Declare.
2353 * emit-rtl.c (set_first_insn): New function.
2354
2355 * cfglayout.c (fixup_reorder_chain): Dump duplicated
2356 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
2357 cfg_layout_duplicate_bb): New global function.
2358 (duplicate_insn_chain): New static function.
2359 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
2360 cfg_layout_duplicate_bb): Declare.
2361 (struct reorder_block_def): Add "original" field.
2362 * emit-rtl.c (emit_copy_of_insn_after): New function.
2363 * rtl.h (emit_copy_of_insn_after): Declare.
2364
2365 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
2366 (fixup_reorder_chain): properly handle edges to exit block.
2367
2368Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2369 Jan Hubicka <jh@suse.cz>
2370
2371 * basic-block.h (note_prediction_to_br_prob): declare.
2372 * c-semantics.c: Inlucde predit.h
2373 (expand_stmt): predict GOTO_STMT as not taken.
2374 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
2375 (cleanup_cfg): Do not free tail_recursion_list.
2376 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
2377 (flow_delete_block): Kill predictions past end of basic block.
2378 * output.h (delete_unreachable_blocks): Declare.
2379 * predict.c (predicted_by_p, process_note_predictions,
2380 process_note_prediction, last_block_p): New function.
2381 (estimate_probability): Bypass loop on PRED_CONTINUE;
2382 do not handle noreturn heuristics; kill PRED_RETURN; add
2383 PRED_EARLY_RETURN.
2384 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
2385 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
2386 * predict.h (IS_TAKEN): New constant.
2387 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
2388 * rtl.c (NOTE_INSN_PREDICTION): New.
2389 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
2390 New macro.
2391 (insn_note): add NOTE_INSN_PREDICTION.
2392 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
2393 CFG; free tail_recursion_label_list.
2394 * stmt.c: Include predict.h;
2395 (return_prediction): New.
2396 (expand_value_return): Use it.
2397 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
2398
41f8d041
RS
23992002-05-08 Richard Sandiford <rsandifo@redhat.com>
2400
2401 * config/mips/mips.md: Name the unspecs with define_constant.
2402 (*HILO_delay): Rename to 'hilo_delay' (no star).
2403 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
2404 (reload_outdi, reload_outsi): Likewise.
2405
9cabb1d8
KH
24062002-05-07 Kazu Hirata <kazu@cs.umass.edu>
2407
2408 * toplev.c: Fix formatting.
2409
4c76f856
JJ
24102002-05-07 Janis Johnson <janis187@us.ibm.com>
2411
2412 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
2413 * configure.in (ac_rtlflag_checking): New.
2414 * doc/install.texi (--enable-checking): Document RTL flag checking.
2415
44a147ad
NB
24162002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
2417
2418 * c-common.c (c_common_init): Set options->unsigned_wchar.
2419 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
2420 group target dependencies.
2421 (init_builtins, cpp_handle_option): Update.
2422 * cpplex.c (cpp_interpret_charconst): Update.
2423 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
2424 signed_char to unsigned_char, group target dependencies.
2425 * defaults.h (WCHAR_UNSIGNED): Remove.
2426 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
2427config:
2428 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
2429 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
2430 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
2431 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
2432 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
2433doc:
2434 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
2435
cace4f93
MM
24362002-05-07 Mark Mitchell <mark@codesourcery.com>
2437
2438 * fixinc/inclhack.def (windiss_math1): New fix.
2439 (windiss_math2): Likewise.
2440 (windiss_valist): Likewise.
2441 * fixinc/fixincl.x: Regenerated.
2442
e2ff6cee
AJ
24432002-05-07 Andreas Jaeger <aj@suse.de>
2444
2445 * genautomata.c (output_internal_min_issue_delay_func): Add
2446 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
2447 (output_internal_trans_func): Likewise.
2448
bdad4be5
JL
2449Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
2450
2451 * pa.c (hppa_profile_hook): Use force_reg to get the address
2452 of the profile hook into an appropriate pseudo register.
2453
a1ffecd9
MM
24542002-05-07 Mark Mitchell <mark@codesourcery.com>
2455
2456 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
2457 (LINK_START_SPEC): Handle it.
2458 (LINK_OS_SPEC): Likewise.
2459 (CPP_SPEC): Likewise.
2460 (STARTFILE_SPEC): Likewise.
2461 (LIB_SPEC): Likewise.
2462 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
2463 all platforms.
2464 (CRTSAVRES_DEFAULT_SPEC): New macro.
2465 (LIB_WINDISS_SPEC): New macro.
2466 (CPP_OS_WINDISS_SPEC): Likewise.
2467 (STARTFILE_WINDISS_SPEC): Likewise.
2468 (ENDFILE_WINDISS_SPEC): Likewise.
2469 (LINK_START_WINDISS_SPEC): Likewise.
2470 (LINK_OS_WINDISS_SPEC): Likewise.
2471 * config/rs6000/windiss.h: New file.
e2ff6cee 2472
df966bff
AH
24732002-05-07 Aldy Hernandez <aldyh@redhat.com>
2474
a5c76ee6 2475 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 2476
db84f1bd
DM
24772002-05-06 David S. Miller <davem@redhat.com>
2478
2479 * config/sparc/sparc.md (shift insns): Do not mask off
2480 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
2481 take care of it.
2482
818c0c94
RH
24832002-05-06 Richard Henderson <rth@redhat.com>
2484
2485 PR c++/6212
2486 * expr.c (highest_pow2_factor_for_type): New.
2487 (expand_assignment): Use it.
2488
61e0b50f
AH
24892002-05-06 Aldy Hernandez <aldyh@redhat.com>
2490
818c0c94
RH
2491 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
2492 unspec_volatile.
2493 ("altivec_mfvscr"): Same.
61e0b50f 2494
5a63e069
JJ
24952002-05-06 Janis Johnson <janis187@us.ibm.com>
2496
2497 * rtl.h (struct rtx_def): Update comments.
2498 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
2499 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
2500 RTL_FLAG_CHECK macros with list of expected RTL codes.
2501 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
2502 (rtl_check_failed_flag): New.
2503 * reload1.c (reload): Use REG macro before changing rtx to MEM.
2504 (reload_cse_noop_set_p): Check rtx code before using access macro.
2505 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
2506 before using access macro.
2507
4afe3952
JJ
25082002-05-06 Janis Johnson <janis187@us.ibm.com>
2509
2510 * doc/rtl.texi (Flags): Update to reflect current usage.
2511
1f77b5da
RS
25122002-05-06 Roger Sayle <roger@eyesopen.com>
2513
2514 PR opt/3995
2515 * fold-const.c (sign_bit_p): New function.
2516 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 2517 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
2518 Reapply fold when converting (A & C) == C into (A & C) != 0.
2519 (fold_binary_op_with_conditional_arg): Fix typo in comment.
2520
a5a49440
NB
25212002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
2522
2523 * c-common.c (warn_multichar): New.
2524 (c_common_init): Set CPP's warn_multichar.
2525 * c-common.h (warn_multichar): New.
2526 * c-decl.c (warn_multichar): Remove.
2527 * c-lex.c (lex_charconst): Update.
2528 * c-tree.h (warn_multichar): Remove.
2529 * cppexp.c (eval_token): Sign-extend charconst value.
2530 * cppinit.c (cpp_create_reader): Set warn_multichar.
2531 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
2532 each character. Update prototype. Sign-extend the result.
2533 * cpplib.h: Fix conditions.
2534 (struct cpp_options): Add new warning flag.
2535 (cpp_interpret_charconst): Update prototype.
2536doc:
2537 * cpp.texi: Update documentation.
2538
83e0be55
VM
25392002-05-06 Vladimir Makarov <vmakarov@redhat.com>
2540
2541 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
2542 Fix typo in usage of allof instead of unit.
2543
688ec718
RH
25442002-05-06 Richard Henderson <rth@redhat.com>
2545
2546 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
2547 and any jump or call for IN.
2548
f6536266
BS
25492002-05-06 Bernd Schmidt <bernds@redhat.com>
2550
e2ff6cee 2551 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
2552 -msse2.
2553 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 2554
0316d49b
RS
25552002-05-06 Roger Sayle <roger@eyesopen.com>
2556
2557 * fold-const.c (lshift-double): Cast the high word to an unsigned
2558 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
2559 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
2560 avoid compiler warning. (fold): Remove redundant code from
2561 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
2562
5d50fab3
JL
25632002-05-06 Jeff Law <law@redhat.com>
2564
2565 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
2566 * pa.c (pa_adjust_cost): Remove all true dependency cost
2567 adjustments. Also remove support for non-DFA scheduling.
2568 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
2569 to adjust true dependency costs. Update various comments.
2570 (7100lc, 7200, 7300 scheduling): Simplify by combining the
2571 FP ALU & MPY units into a single unit.
2572
a17a104c
CM
25732002-05-06 Catherine Moore <clm@redhat.com>
2574
2575 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 2576 to count all of the registers that will be saved.
a17a104c 2577
7799175f
JH
2578Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
2579
2580 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
2581
0ac941a0
DM
25822002-05-06 David S. Miller <davem@redhat.com>
2583
2584 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
2585 allow result to overlap input operands in memory.
2586
95ff5d3f
NB
25872002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
2588
2589doc:
2590 * cpp.texi: Update multichar charconst docs.
2591
639e8b0c
NB
25922002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
2593
2594 * cpplex.c (cpp_interpret_charconst): Sign-extend each
2595 character. Don't ignore excess characters. Treat
2596 multicharacter character constants as signed.
2597 (cpp_parse_escape): Clarify diagnostic.
2598
84ea5bc1
JJ
25992002-05-05 Jakub Jelinek <jakub@redhat.com>
2600
2601 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
2602 use add instead of shift.
2603 (ashldi3_sp64): Likewise.
2604 (ashlsi3_const1, ashldi3_const1): Remove.
2605 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
2606 * config/sparc/sparc.c (const1_operand): New.
2607
40cd22f2
JT
26082002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
2609
2610 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
2611
cac01076
JJ
26122002-05-05 Jakub Jelinek <jakub@redhat.com>
2613
2614 PR target/6561
2615 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
2616
98791e3a
RH
26172002-05-05 Richard Henderson <rth@redhat.com>
2618
2619 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
2620 memory latency adjustments.
2621 (alpha_variable_issue): Remove.
2622 (alpha_use_dfa_pipeline_interface): New.
2623 (alpha_multipass_dfa_lookahead): New.
2624 * config/alpha/alpha.md: Remove define_function_unit scheduling;
2625 include new dfa scheduling.
2626 (attr type): Add none.
2627 (blockage): Use it.
2628 * config/alpha/ev4.md: New.
2629 * config/alpha/ev5.md: New.
2630 * config/alpha/ev6.md: New.
2631
309527ce
DM
26322002-05-05 David S. Miller <davem@redhat.com>
2633
2634 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
2635
68252e27
KH
26362002-05-05 Kazu Hirata <kazu@cs.umass.edu>
2637
2638 * cse.c: Fix formatting.
2639 * emit-rtl.c: Likewise.
2640
30cc9d00
VM
26412002-05-05 Vladimir Makarov <vmakarov@redhat.com>
2642
2643 * genautomata.c (initiate_states): Add additional guard to
2644 initialize `units_array'.
2645
deb09eff
VM
26462002-05-05 Vladimir Makarov <vmakarov@redhat.com>
2647
2648 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
2649 process_unit_to_form_the_same_automaton_unit_lists,
2650 form_the_same_automaton_unit_lists
2651 check_unit_distributions_to_automata): New prototypes and
2652 functions.
2653 (check_automata): Rename it into `check_automata_insn_issues'.
2654 (unit_decl): New fields `the_same_automaton_unit' and
2655 `the_same_automaton_message_reported_p'.
2656 (unit_decl_t): New typedef.
2657 (the_same_automaton_lists): New gloval variable.
2658 (unit_regexp, unit_set_el, units_array, units_cmp,
2659 output_get_cpu_unit_code_func): Use the typedef.
2660 (evaluate_max_reserv_cycles): Increment
2661 `description->max_insn_reserv_cycles'.
2662 (initiate_states): Don't increment `max_cycles_num'.
2663 (transform_insn_regexps): Move code around transformation of
2664 regexps from `generate'.
2665 (generate): Remove call of `transform_insn_regexps'.
2666 (expand_automata): Call `transform_insn_regexps' and
2667 `check_unit_distributions_to_automata'. Check errors before
2668 `generate'.
2669
2670 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
2671 automaton `ultrasparc3_1'.
e2ff6cee 2672
2443d4e1
NB
26732002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
2674
2675 * c-common.c (c_common_init): Set up CPP arithmetic.
2676 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
2677 something reasonable for the host.
2678 (sanity_checks): Add checks.
2679 (cpp_read_main_file): Call sanity_checks() from here...
2680 (cpp_post_options): ... not here.
2681 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
2682 * cpplib.h (struct cpp_options): New member int_precision.
2683
791a949f
FS
26842002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2685
2686 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
2687
091fb516
DM
26882002-05-04 David S. Miller <davem@redhat.com>
2689
f60ebeb7
DM
2690 * config/sparc/linux.h, config/sparc/linux64.h
2691 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
2692
214c6394
DM
2693 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
2694 more RTX codes.
2695 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
2696
091fb516
DM
2697 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
2698 of SETs.
2699
f2fdc802
TJ
27002002-05-05 Tim Josling <tej@melbpc.org.au>
2701
e2ff6cee 2702 * treelang; New directory for new sample language treelang.
f2fdc802 2703
3d90d290
NB
27042002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
2705
2706 * Makefile.in (c-lex.o): Update.
2707 * c-lex.c: Include target.h.
2708 (cb_register_builtins): New.
2709 (init_c_lex): Set builtins callback.
2710 * c-lex.h (cpp_define, cpp_assert): New prototypes.
2711 * cppinit.c (init_builtins): Use callback, including for
2712 GXX_WEAK.
2713 * cpplib.h (struct cpp_callbacks): New member.
2714 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
2715 (TARGET_INITIALIZER): Update.
2716 * target.h (struct gcc_target): New hook.
2717 * tree.c (default_register_cpp_builtins): New.
2718 * tree.h (default_register_cpp_builtins): New.
2719doc:
2720 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
2721
625458d0
NB
27222002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
2723
2724 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
2725 (cpp_post_options): Move sanity checks to...
2726 (sanity_checks): New.
2727 * cpplex.c (maybe_read_ucs): Fix prototype.
2728 (parse_string, cpp_parse_escape): Cast for %c format specifier.
2729 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
2730 if necessary.
2731
916b60b7
BS
27322002-05-04 Bernd Schmidt <bernds@redhat.com>
2733
2734 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
2735 builtins. Use V2DI patterns instead of TI for logical operations.
2736 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
2737 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
2738 (ix86_expand_builtins): Change the pattern used for movntdq.
2739 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
2740 sse2_nandv2di3): New patterns.
2741 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
2742 on operands.
2743 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
2744 (cvtdq2pd): Correct mode on operand 1.
2745 (sse2_umulsidi3): Describe without unspec.
2746 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
2747 machine modes.
2748 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
2749 (ashlv2di3): Likewise, from sse2_ashlv2di3.
2750 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
2751 ashlv4si3, ashlv2di3): Use SImode for shift count.
2752 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
2753 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
2754 New patterns.
2755 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
2756 New typedefs.
2757 (__m128i, __m128d): New macros.
2758 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
2759 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
2760 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
2761 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
2762 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 2763 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
2764 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
2765 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 2766 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
2767 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
2768 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
2769 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
2770 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
2771 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
2772 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
2773 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
2774 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
2775 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
2776 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
2777 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
2778 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
2779 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
2780 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
2781 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
2782 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
2783 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
2784 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
2785 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
2786 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
2787 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
2788 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
2789 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
2790 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
2791 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
2792 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
2793 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
2794 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
2795 functions.
e2ff6cee 2796 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
2797 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
2798
c26fbbca
KH
27992002-05-04 Kazu Hirata <kazu@cs.umass.edu>
2800
2801 * dwarf2out.c: Fix formatting.
2802 * varasm.c: Likewise.
2803
0387639b
DE
28042002-05-04 David Edelsohn <edelsohn@gnu.org>
2805
2806 PR c/6543
2807 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
2808 clobber and use result as temporary value.
2809
8a28dbcc
JH
2810Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
2811
2812 * expr.c (force_operand): Use expand_simple_* to handle more
2813 cases.
2814
4268e8bb
NB
28152002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
2816
2817 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
2818 and sign-extension.
2819 (lex_charconst): Update for change in prototype of
2820 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
2821 appropriately.
2822 * cpphash.h (BITS_PER_CPPCHAR_T): New.
2823 * cppinit.c (cpp_create_reader): Initialize them for no
2824 change in semantics.
2825 (cpp_post_options): Add sanity checks.
2826 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
2827 and truncation issues. Calculate in type cppchar_t.
2828 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
2829 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
2830 run-time dependent precision correctly. Return whether the
2831 result is signed or not.
2832 * cpplib.c (dequote_string): Use cppchar_t; update.
2833 * cpplib.h (cppchar_signed_t): New.
2834 struct cpp_options): New precision members.
2835 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 2836 * cppexp.c (eval_token): Update.
4268e8bb 2837
af54350e
DM
28382002-05-03 David S. Miller <davem@redhat.com>
2839
2ce04b6b
DM
2840 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
2841 * config/sparc/sparc.c (sparc_rtx_costs): New function
2842 implementing RTX_COSTS and CONST_COSTS.
2843 * config/sparc/sparc.h (CONST_COSTS): Delete.
2844 (RTX_COSTS_CASES): Define.
2845 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
2846 the work.
2847
a1d9bd0c
DM
2848 * config/sparc/sparc.md (DFA schedulers): Split out...
2849 * config/sparc/cypress.md, config/sparc/hypersparc.md,
2850 config/sparc/sparclet.md, config/sparc/supersparc.md,
2851 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
2852
e87bb82e
DM
2853 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
2854 checks on it, always defined for Sparc.
2855
af54350e
DM
2856 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
2857 Tweak, and add more detailed comments.
2858
935bfb44
ZW
28592002-05-03 Zack Weinberg <zack@codesourcery.com>
2860
2861 * Re-apply patch accidentally reverted with
2862 DFA scheduler merge: remove all rules and variables to slurp
2863 source files out of libiberty and rebuild them with HOST_CC.
2864 ($(HOST_PREFIX_1)varray.o): New rule.
2865 (genattrtab rule): Word wrap.
2866
fa7a0712
JT
28672002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
2868
2869 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
2870 (CPP_SUBTARGET_SPEC): Define.
2871 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
2872 cpp_subtarget specs.
2873 (CPP_SPEC): Redefine to include %(cpp_subtarget).
2874
14c93978
DM
28752002-05-03 David S. Miller <davem@redhat.com>
2876
2877 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
2878 * target.h (struct gcc_target): Delete cycle_display member.
2879
14d118d6
DM
2880 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
2881 (rtx_needs_barrier): Delete reference to cycle_display unspec.
2882 (ia64_sched_reorder2): Mention need for cycle display handling
2883 once such notes exist.
935bfb44 2884
b3ae1ccd
RH
28852002-05-03 Richard Henderson <rth@redhat.com>
2886
2887 * real.c (etoasc): Strip most trailing zeros for clarity.
2888 * sched-vis.c: Include real.h.
2889 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
2890 * Makefile.in (sched-vis.o): Add real.h.
2891
8f39865a
DM
28922002-05-03 David S. Miller <davem@redhat.com>
2893
2894 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
2895 no longer needed.
2896
b44140e7
AH
28972002-05-03 Aldy Hernandez <aldyh@redhat.com>
2898
935bfb44
ZW
2899 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
2900 when we get an out of range literal.
2901 (altivec_expand_ternop_builtin): Same.
2902 (altivec_expand_unop_builtin): Same.
2903 (altivec_expand_builtin): Same, for dss.
2904 (altivec_expand_builtin): Use trees instead of rtl when
2905 determining literal argument validity.
b44140e7 2906
aaaed752
DM
29072002-05-03 David S. Miller <davem@redhat.com>
2908
2909 Delete cycle display scheduling hook.
2910 * config/ia64/ia64.c (ia64_cycle_display,
2911 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
2912 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
2913 and use emit_insn_before instead of ia64_emit_insn_before.
2914 * config/ia64/ia64.md (unspec usage): Delete cycle display.
2915 (cycle_display): Delete insn pattern.
2916 * config/sparc/sparc.md (unspec usage): Delete cycle display.
2917 (cycle_display): Delete insn pattern.
2918 * config/sparc/sparc.c (sparc_cycle_display,
2919 TARGET_SCHED_CYCLE_DISPLAY): Delete.
2920 * doc/md.texi (cycle_display): Don't mention.
2921 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 2922
b37c2614
RH
29232002-05-03 Richard Henderson <rth@redhat.com>
2924
2925 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
2926 * recog.h: Declare them.
2927
2928 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
2929 * config/sparc/sparc.md: Use store_data_bypass_p instead.
2930 * config/sparc/sparc-protos.h: Update.
935bfb44 2931
e1c1132e
JT
29322002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
2933
2934 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
2935 -D__arch64__. Add -D_LP64.
2936 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
2937 from sparc.h.
2938 (CPP_ARCH64_SPEC): Likewise.
2939 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
2940 (NO_BUILTIN_SIZE_TYPE): Undef.
2941
0b2fb0d7
VM
29422002-05-03 Vladimir Makarov <vmakarov@redhat.com>
2943
2944 * genautomata.c (min_issue_delay_pass_states): Change return type
2945 in the prototype.
2946 (min_issue_delay_pass_states): Change the algorithm.
2947 (min_issue_delay): Set up min_insn_issue_delay for the state.
2948 (output_min_issue_delay_table): Interchange the nested loops and
2949 and initiate min_insn_issue_delay for states.
935bfb44 2950
3d4ce12a
JH
2951Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
2952
2953 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
2954 jump is simplejump.
2955
2956Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
2957
2958 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
2959 sequence.
2960
b5482208
RH
29612002-05-03 Richard Henderson <rth@redhat.com>
2962
2963 PR opt/6534
2964 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
2965 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
2966 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
2967 code before JUMP, not EARLIEST.
2968
5a3085c5
JM
29692002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
2970
2971 * c-format.c (check_format_info_main): Don't check for presence of
2972 parameter for * width until after operand number has been read,
2973 and only check for it if format parameters are available.
2974 Fixes PR c/6547.
2975
40039424
JT
29762002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
2977
2978 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
2979 (LINK_SPEC): Undef before defining.
2980
8157303b
JJ
29812002-05-03 Jakub Jelinek <jakub@redhat.com>
2982
2983 PR preprocessor/6489
2984 * tradcpp.c (fixup_newlines): New.
2985 (main, finclude): Use it.
2986
66319f5c
RS
29872002-05-03 Richard Sandiford <rsandifo@redhat.com>
2988
2989 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
2990 * config/mips/mips.c (mips_unique_section): Strip encoding from
2991 decl name.
2992
ce8076ad
JJ
29932002-05-03 Jakub Jelinek <jakub@redhat.com>
2994
2995 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
2996 mode.
2997
975c6e4e
RO
29982002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2999
3000 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
3001 (Specific): Removed buildstats references.
3002 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
3003 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
3004 Accomodate Solaris versions beyond 8.
3005 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
3006 (Specific, *-*-solaris2.8): Removed, obsolete.
3007
d70e94ec
JJ
30082002-05-03 Jakub Jelinek <jakub@redhat.com>
3009
3010 PR target/6542
3011 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
3012 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
3013 fill leaf_reg_remap with identity.
3014 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
3015
6b148bd9
KH
30162002-05-03 Kazu Hirata <kazu@cs.umass.edu>
3017
3018 * config/h8300/crti.asm: Remove trailing spaces.
3019 * config/h8300/h8300.c: Likewise.
3020 * config/h8300/lib1funcs.asm: Likewise.
3021
609688f3
JM
30222002-05-02 Jason Merrill <jason@redhat.com>
3023
3024 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
3025 * c-decl.c (c_init_decl_processing): Use it.
3026 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
3027 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
3028 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
3029
3b03c671
KH
30302002-05-03 Kazu Hirata <kazu@cs.umass.edu>
3031
3032 * regrename.c: Fix formatting.
3033 * tree.c: Likewise.
3034
3b4961bd
JH
3035Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
3036
3037 * i386.md (attribute memory): Handle compares properly.
3038
19cba4a0
JH
3039Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
3040
3b4961bd 3041 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
3042 to none.
3043
797a6ac1
KH
30442002-05-02 Kazu Hirata <kazu@cs.umass.edu>
3045
3046 * function.c: Fix formatting.
3047
6d0de005
JH
30482002-05-02 Jan Hubicka <jh@suse.cz>
3049
3050 * haifa-sched.c (schedule_insn): Print table of instructions and
3051 reservations.
3052 (sched_block): Do not print ready list at verbosity level 1.
3053 * sched-vis.c (print_insn): Make global.
3054 * sched-ebb.c (ebb_print_insn): Rename from...
3055 (print_insn): ... this one.
3056 * sched-int.h (print_insn): Declare
3057
0bfb9a69
RH
30582002-05-02 Richard Henderson <rth@redhat.com>
3059
3060 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
3061 emitted by cycle_display.
3062
6b976d99
LR
30632002-05-02 Loren J. Rittle <ljrittle@acm.org>
3064
3065 * doc/install.texi (*-*-freebsd*): Update to latest status.
3066
0a295052
JJ
30672002-05-02 Jakub Jelinek <jakub@redhat.com>
3068
3069 PR target/6540
3070 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
3071 * config/float-sparc.h: Assume 128-bit long double if
3072 __LONG_DOUBLE_128__ is defined.
3073
842d5d6c
VM
30742002-05-02 Vladimir Makarov <vmakarov@redhat.com>
3075
3076 * genattrtab.c (write_function_unit_info): Add a dummy element
3077 when num_units == 0.
3078
3d7a6309
HB
30792002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3080
3081 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
3082 TYPE_MODE (double_type_node) instead of DFmode.
3083
1b6763cf
JH
3084Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
3085
3086 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
3087 jumps post reload.
3088 * toplev.c (rest_of_compilation): Revert Richard's patch.
3089
b303008e
JDA
30902001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
3091
3092 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
3093
6ed7412a
CM
30942002-05-02 Catherine Moore <clm@redhat.com>
3095
3096 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
3097
e0a2f705
KH
30982002-05-02 Kazu Hirata <kazu@hxi.com>
3099
b32d6163 3100 * combine.c: Fix comment typos.
e0a2f705
KH
3101 * expr.c: Likewise.
3102 * genautomata.c: Likewise.
3103 * stmt.c: Likewise.
3104 * tree.h: Likewise.
3105
38e23049
JM
31062002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
3107
3108 * doc/install.texi: State GNAT version requirements.
3109
40f4a97d
NC
31102002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
3111
3112 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
3113 of the frame pointer or arg pointer register which strict register
3114 checking is not enabled.
3115
0d6d6892
AH
31162002-05-02 Aldy Hernandez <aldyh@redhat.com>
3117
b5482208 3118 * gcc.dg/altivec-8.c: New.
0d6d6892 3119
b5482208
RH
3120 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
3121 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 3122
abaa8559
BK
31232002-05-01 Bruce Korb <bkorb@gnu.org>
3124
3125 * fixinc/check.tpl(set-writable): make sure the function exists first
3126 * fixinc/inclhack.def(alpha_assert): fix test_text
3127 * fixinc/tests/base/assert.h: add in missing result
3128
ecab2143
JL
31292002-05-01 Jeff Law <law@redhat.com>
3130
3131 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
3132 'T' constraint.
3133
ea619b46
JB
31342002-05-01 Joel Brobecker <brobecker@gnat.com>
3135
3136 * dbxout.c (dbxout_type): Emit size information for range types,
3137 as well, but only when using GDB extensions.
3138
c72931a6
RH
31392002-05-01 Richard Henderson <rth@redhat.com>
3140
3141 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
3142 target-independent gnu binutils date test.
3143
2150ad33
RH
31442002-05-01 Richard Henderson <rth@redhat.com>
3145
3146 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
3147 info before expunging the block.
3148
1651cc96
JJ
31492002-05-01 Jakub Jelinek <jakub@redhat.com>
3150
3151 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
3152 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
3153 -M -or -MM is in effect.
3154
8998d5bf
ZW
31552002-05-01 Zack Weinberg <zack@codesourcery.com>
3156
3157 * config.gcc: Correct test of --enable-obsolete. Obsolete all
3158 A29k configurations.
3159 * doc/install.texi: Update to match.
3160
a81eed10
FS
31612002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3162
3163 PR bootstrap/6514
3164 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
3165 for duplicates. Always loop over whole list.
3166
8d53318f
RK
3167Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3168
3169 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
3170
4109b118
JS
31712002-05-01 Joel Sherrill <joel@OARcorp.com>
3172
3173 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
3174 support routines.
3175
c4a9c570
JS
31762002-05-01 Joel Sherrill <joel@OARcorp.com>
3177
3178 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
3179
ea112fc4
DE
31802002-05-01 David Edelsohn <edelsohn@gnu.org>
3181
3182 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
3183 (nabs_nopower): Same.
3184 (floatdisf2): New pattern.
3185 (absdi2): Convert to define_insn_and_split.
3186 (nabsdi2): Same.
3187 (trunctfsf2): Same.
3188 (floatditf2): Same.
3189 (floatsitf2): Same.
3190 (fix_trunctfdi2): Same.
3191 (fix_trunctfsi2): Same.
3192
dda78254
JM
31932002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
3194
3195 * doc/install.texi: Update Texinfo version requirement
3196 documentation.
3197
26aeede4
JJ
31982002-05-01 Jakub Jelinek <jakub@redhat.com>
3199
3200 PR target/6512, PR target/5628
3201 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
3202 when memory is not aligned.
3203 (movdf_insn_v9only_vis): Likewise.
3204 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
3205 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
3206 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
3207
9b7bc465
AH
32082002-05-01 Aldy Hernandez <aldyh@redhat.com>
3209
8998d5bf 3210 * gcc.dg/altivec-7.c: New.
9b7bc465 3211
8998d5bf 3212 * config/rs6000/altivec.h: Cleanup.
9b7bc465 3213
08b57fb3
AH
32142002-04-30 Aldy Hernandez <aldyh@redhat.com>
3215
8998d5bf
ZW
3216 * doc/invoke.texi (Option Summary): Add -mvrsave=.
3217 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 3218
8998d5bf
ZW
3219 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
3220 (rs6000_altivec_vrsave_string): Same.
3221 (rs6000_override_options): Call rs6000_parse_vrsave_option.
3222 (rs6000_parse_vrsave_option): New.
3223 (rs6000_stack_info): Only generate vrsave instructions when
3224 TARGET_ALTIVEC_VRSAVE.
08b57fb3 3225
8998d5bf
ZW
3226 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
3227 (rs6000_altivec_vrsave_string): Define extern.
3228 (rs6000_altivec_vrsave): Same.
3229 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 3230
8e8c38cd
RH
32312002-04-30 Richard Henderson <rth@redhat.com>
3232
3233 PR opt/6516
3234 * toplev.c (rest_of_compilation): Don't run cross-jump before
3235 bb-reorder.
3236
4be9e9cb
TR
32372002-04-30 Tom Rix <trix@redhat.com>
3238
8998d5bf 3239 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
3240 check which_alternative.
3241
1eeeb6a4
KH
32422002-04-30 Kazu Hirata <kazu@hxi.com>
3243
3244 * cpplex.c: Fix comment formatting.
3245 * function.c: Likewise.
3246 * integrate.c: Likewise.
3247 * regrename.c: Likewise.
3248 * sibcall.c: Likewise.
3249 * simplify-rtx.c: Likewise.
3250 * tree-inline.c: Likewise.
3251
ed9d6ff9
JDA
32522002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
3253
3254 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
3255 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
3256 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
3257 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
3258 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
3259 * pa/x-ada: New file. Define ADA_CFLAGS.
3260
1f2641b6
HPN
32612002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
3262
3263 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
3264 from MMIX_LAST_REGISTER_FILE_REGNUM.
3265 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
3266 (struct machine_function): New member highest_saved_stack_register
3267 previously static variable in mmix.c.
3268 (MACHINE_DEPENDENT_REORG): Define.
3269 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
3270 (MMIX_OUTPUT_REGNO): New.
3271 (mmix_target_asm_function_prologue): Move calculation of last used
3272 saved-stack-register into...
3273 (mmix_machine_dependent_reorg): New function. Update to also handle
3274 !TARGET_ABI_GNU.
3275 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
3276 register names, simplify somewhat by new variable regno.
3277 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
3278 register.
3279 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
3280 emitting register names.
3281 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
3282 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
3283 Remove fixed FIXME.
3284 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
3285 Declare.
3286
3287 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
3288
73985940
RH
32892002-04-30 Richard Henderson <rth@redhat.com>
3290
3291 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
3292 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
3293 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
3294 emit_tfmode_cvt): New.
3295 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
3296 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
3297 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
3298 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
3299 * config/sparc/sparc-protos.h: Update.
3300
2b46bc67
JJ
33012002-04-30 Janis Johnson <janis187@us.ibm.com>
3302
3303 * install.texi (Final install): Add to the list of info to include
3304 in a report of a successful bootstrap, and add link to 3.1 list.
3305
3d34cd91
JH
3306Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
3307
3308 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
3309 (mode): Add vector modes
3310 (i387): Kill attribute.
3311 (unit): New attribute.
3312 (length_immediate): Grok new types.
3313 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
3314 (modrm): Use "unit".
3315 (memory): Handle MMX/SSE properly.
3316 (scheduling descriptions): Kill uses of fop1.
3317 (sse, mmx, fp patterns): Set type and mode properly.
3318
3193c415
JL
3319Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@cygnus.com)
3320
30482eb0
JL
3321 * pa.c (override_options): Default to PA8000 scheduling.
3322 * doc/invoke.texi (HP-PA options): Mention newly added 7300
3323 scheduling parameter.
3324
3193c415
JL
3325 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
3326 handling of double precision multiplies.
3327
3328 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
3329 fpdiv and fpsqrt instructions.
3330 (7200 & 7300 scheduling): Fix typo in handling of
3331 store-load and store-store penalties.
3332
c0a34cb7
GP
33332002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3334
3335 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
3336 mips. Add two missing commas.
3337
8bce0628
PC
33382002-04-30 Paolo Carlini <pcarlini@unitus.it>
3339
3340 * doc/contrib.texi (Contributors): Update Paolo Carlini's
3341 and Benjamin Kosnik's entries.
3342
84643cbf
DM
33432002-04-29 David S. Miller <davem@redhat.com>
3344
3345 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
3346 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
3347 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
3348 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
3349
da6886f6
FS
33502002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3351
3352 * combine.c (find_split_point): Use gen_int_mode.
3353
fae15c93
VM
33542002-04-29 Vladimir Makarov <vmakarov@redhat.com>
3355
3356 Merging code from dfa-branch:
8998d5bf 3357
fae15c93
VM
3358 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
3359
3360 * genautomata.c (output_reserv_sets): Fix typo.
3361
3362 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
3363
3364 * genautomata.c (output_reserv_sets): Remove
3365 next_cycle_output_flag.
3366
3367 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
3368
8998d5bf
ZW
3369 * sched-rgn.c (init_ready_list): Make the DFA code handle
3370 USE/CLOBBER insns in the same way as the traditional
3371 scheduler.
3372 (new_ready): Similarly..
fae15c93
VM
3373
3374 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
3375
3376 * haifa-sched.c (schedule_block): Change the DFA state only after
3377 issuing insn.
3378
3379 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
3380
3381 * pa.c (hppa_use_dfa_pipeline_interface): New function.
3382 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
3383 (override_options): Add PA7300 scheduling support.
3384 (pa_adjust_cost): Update various comments. Properly
3385 handle anti and output dependencies when using the
3386 DFA scheduler.
3387 (pa_issue_rate): Add PA7300 scheduling support.
3388 (pa_can_combine_p): Call extract_insn before calling
3389 constrain_operands (taken from mainline tree).
3390 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
3391 * pa.md (cpu attr): Add 7300. Rewrite pipeline
3392 descriptions using DFA descriptions. Add PA7300
3393 scheduling support.
3394
3395 2002-03-30 David S. Miller <davem@redhat.com>
3396
3397 Add UltraSPARC-III DFA scheduling support.
3398 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
3399 Update FP conditional move on register insn patterns to use it, as
3400 appropriate.
3401 (define_attr cpu): Add ultrasparc3.
3402 (define_attr us3load_type): New, update integer load patterns to
3403 set it, as appropriate.
3404 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
3405 (rest): Add UltraSPARC3 scheduling description.
3406 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
3407 (PROCESSOR_ULTRASPARC3): New.
3408 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
3409 ({ASM,CPP}_CPU_SPEC): Likewise.
3410 (REGISTER_MOVE_COST): Likewise.
3411 (RTX_COSTS): Likewise.
3412 * config/sparc/sparc.c (sparc_override_options,
3413 sparc_initialize_trampoline, sparc64_initialize_trampoline,
3414 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
3415 sparc_issue_rate): Likewise.
3416 * config/sparc/sol2.h: Likewise.
3417 * config/sparc/sol2-sld-64.h: Likewise.
3418 * config/sparc/linux64.h: Likewise.
8998d5bf 3419
fae15c93
VM
3420 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
3421
3422 * doc/md.texi: Add comments about usage the latency time for the
3423 different dependencies and about case when two or more conditions
3424 in different define_insn_reservations returns TRUE for an insn.
3425
3426 * doc/md.texi: Add reference for automaton based pipeline
3427 description.
8998d5bf 3428
fae15c93
VM
3429 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
3430
3431 * doc/passes.texi: Add missed information about genattrtab.
3432
3433 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
3434
3435 * genautomata.c (output_automata_list_transition_code): Check
3436 automata_list on NULL.
3437
3438 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
3439
3440 * genautomata.c (output_insn_code_cases,
3441 output_automata_list_min_issue_delay_code,
3442 output_automata_list_transition_code,
3443 output_automata_list_state_alts_code): Comment the functions.
3444
3445 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
3446
3447 * genautomata.c (automata_list_el_t): New typedef.
3448 (get_free_automata_list_el,free_automata_list_el,
3449 free_automata_list, automata_list_hash, automata_list_eq_p,
3450 initiate_automata_lists, automata_list_start, automata_list_add,
3451 automata_list_finish, finish_automata_lists,
3452 output_insn_code_cases, output_automata_list_min_issue_delay_code,
3453 output_automata_list_transition_code,
3454 output_automata_list_state_alts_code, add_automaton_state,
3455 form_important_insn_automata_lists): New functions and prototypes.
3456 (insn_reserv_decl): Add members important_automata_list and
3457 processed_p.
3458 (ainsn): Add members important_p.
3459 (automata_list_el): New structure.
3460 (first_free_automata_list_el, current_automata_list,
3461 automata_list_table): New global variables.
3462 (create_ainsns): Initiate member important_p.
3463 (output_internal_min_issue_delay_func): Generate the switch and
3464 call output_insn_code_cases.
3465 (output_internal_trans_func, output_internal_state_alts_func):
3466 Ditto.
3467 (generate): Call initiate_automata_lists.
3468 (automaton_states): New global variable.
3469 (expand_automata): Call form_important_insn_automata_lists.
3470 (write_automata): Call finish_automata_lists.
8998d5bf 3471
fae15c93
VM
3472 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
3473
3474 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 3475 cpu units in the sets belong the same automaton.
fae15c93
VM
3476
3477 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
3478 about that cpu units in the sets belong the same automaton.
3479
3480 * doc/md.texi: Ditto.
8998d5bf 3481
2799d721
VM
3482 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
3483 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 3484
fae15c93
VM
3485 * config/sh/sh.c (sh_use_dfa_interface): New function.
3486
3487 (sh_issue_rate): New Function.
3488 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
3489 TARGET_SCHED_ISSUE_RATE: define.
3490
3491 * config/sh/sh.md: Add DFA based pipeline description for SH4.
3492
8998d5bf
ZW
3493 (define_attr insn_class): New attribute used for DFA
3494 scheduling.
fae15c93
VM
3495 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
3496 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
3497 cmpeqdi_t): Likewise.
3498
3499 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 3500 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
3501 ex_group.
3502 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 3503
fae15c93
VM
3504 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
3505
3506 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
3507 break.
3508
3509 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
3510
3511 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
3512 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
3513 necessary.
3514 (output_dfa_start_func): Initiate new variable insn_codes_length,
3515 (write_automata): Output definition of the new variable.
8998d5bf 3516
fae15c93
VM
3517 2001-10-02 David S. Miller <davem@redhat.com>
3518
3519 * haifa-sched.c (advance_one_cycle): New function.
3520 (schedule_block): Use it.
3521 (queue_to_ready): Use it, and also make sure to advance the DFA
3522 state on all stall cycles, not just those where insn_queue links
3523 are found.
3524
3525 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
3526
3527 * haifa-sched.c (max_issue): Remove last_p argument. Only return
3528 non-zero if the highest-priority instruction could be scheduled.
3529 (choose_ready): Remove last argument from max_issue call.
3530
3531 2001-09-28 David S. Miller <davem@redhat.com>
3532
3533 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
3534 ultrasparc and 3 for other multi-issue sparcs.
3535
3536 2001-09-27 David S. Miller <davem@redhat.com>
3537
3538 * config/sparc/sparc.md (cycle_display): New pattern.
3539 * config/sparc/sparc.c (sparc_cycle_display): New.
3540 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
3541
3542 2001-09-25 David S. Miller <davem@redhat.com>
3543
3544 Convert all of Sparc scheduling to DFA
3545 * config/sparc/sparc.md: Kill all define_function_unit
3546 directives and replace with DFA equivalent.
3547 * config/sparc/sparc.c (ultrasparc_adjust_cost,
3548 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
3549 ultra_fpmode_conflict_exists, ultra_find_type,
3550 ultra_build_types_avail, ultra_flush_pipeline,
3551 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
3552 ultrasparc_variable_issue, ultrasparc_sched_init,
3553 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
3554 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
3555 ultra_cur_hist, ultra_cycles_elapsed): Kill.
3556 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
3557 ultrasparc_store_bypass_p): New.
3558 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
3559 Declare.
3560
3561 2001-09-24 David S. Miller <davem@redhat.com>
3562
3563 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
3564 ready->vec[foo] not ready[foo].
3565
3566 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
3567
3568 * doc/md.texi: Correct examples for define_insn_reservations
3569 `mult' and `div'.
3570
3571 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
3572
3573 * genautomata.c (create_automata): Print message about creation of
3574 each automaton.
3575 (generate): Remove printing meease about creation of
3576 automata.
3577
3578 2001-09-05 David S. Miller <davem@redhat.com>
3579
3580 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
3581 * config/sparc/linux64.h: Likewise.
3582
3583 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
3584
3585 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
3586 schedule_block, sched_init, sched_finish): Add missed calls of
3587 use_dfa_pipeline_interface.
3588
3589 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
3590 Ditto.
3591
3592 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 3593
fae15c93
VM
3594 2001-08-27 Richard Henderson <rth@redhat.com>
3595
3596 * genattr.c (main): Emit state_t even when not doing scheduling.
3597
3598 2001-08-27 Richard Henderson <rth@redhat.com>
3599
3600 * genautomata.c (expand_automata): Always create a description.
3601
3602 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
3603
8998d5bf 3604 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
3605 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
3606 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
3607 RTL constructions.
3608
3609 * genattr.c (main): New variable num_insn_reservations. Increase
3610 it if there is DEFINE_INSN_RESERVATION. Output automaton based
3611 pipeline hazard recognizer interface.
3612
3613 * genattrtab.h: New file.
3614
3615 * genattrtab.c: Include genattrtab.h.
3616 (attr_printf, check_attr_test, make_internal_attr,
3617 make_numeric_value): Move protypes into genattrtab.h. Define them
3618 as external.
3619 (num_dfa_decls): New global variable.
3620 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
3621 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
3622 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
3623 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
3624
3625 * genautomata.c: New file.
3626
3627 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
3628
8998d5bf 3629 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
3630 automaton pipeline interface.
3631 (haifa_insn_data): Add comments for members blockage and units.
3632
3633 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
3634 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
3635 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
3636 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
3637 TARGET_SCHED_DFA_POST_CYCLE_INSN,
3638 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
3639 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
3640 macros.
3641 (TARGET_SCHED): Use the new macros.
3642
3643 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
3644 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
3645 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
3646 dfa_bubble): New members in gcc_target.sched.
3647
8998d5bf 3648 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
3649 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
3650 (insn_queue): Redefine it as pointer to array.
3651 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
3652 INSN_QUEUE_SIZE.
3653 (max_insn_queue_index_macro_value): New variable.
3654 (curr_state, dfa_state_size, ready_try): New varaibles for
3655 automaton interface.
3656 (ready_element, ready_remove, max_issue): New function prototypes
3657 for automaton interface.
3658 (choose_ready): New function prototype.
3659 (insn_unit, blockage_range): Add comments.
3660 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
3661 FUNCTION_UNITS_SIZE == 0.
3662 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
3663 actual_hazard, potential_hazard): Add comments.
3664 (insn_cost): Use cost -1 as undefined value. Remove
3665 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
3666 pipeline interface.
3667 (ready_element, ready_remove): New functions for automaton
3668 interface.
3669 (schedule_insn): Add new code for automaton pipeline interface.
3670 (queue_to_ready): Add new code for automaton pipeline interface.
3671 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
3672 (debug_ready_list): Print newline when the queue is empty.
3673 (max_issue): New function for automaton pipeline interface.
3674 (choose_ready): New function.
3675 (schedule_block): Add new code for automaton pipeline interface.
3676 Print ready list before scheduling each insn.
3677 (sched_init): Add new code for automaton pipeline interface.
3678 Initiate insn cost by -1.
3679 (sched_finish): Free the current automaton state and finalize
3680 automaton pipeline interface.
3681
3682 * sched-rgn.c: Include target.h.
3683 (init_ready_list, new_ready, debug_dependencies): Add new code for
3684 automaton pipeline interface.
3685
3686 * sched-vis.c: Include target.h.
3687 (get_visual_tbl_length): Add code for automaton interface.
3688 (target_units, print_block_visualization): Add comments.
3689
8998d5bf 3690 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
3691 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
3692 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
3693 (getruntime.o, genautomata.o): New entries.
3694 (genattrtab.o): Add new dependency file genattrtab.h.
3695 (genattrtab): Add new dependencies. Link it with `libm.a'.
3696 (getruntime.o, hashtab.o): New entries for canadian cross.
3697
3698 * doc/md.texi: Description of automaton based model.
3699
3700 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
3701 Add comments.
3702 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
3703 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
3704 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
3705 TARGET_SCHED_DFA_POST_CYCLE_INSN,
3706 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
3707 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
3708 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
3709 hook descriptions.
3710 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
3711 MAX_DFA_ISSUE_RATE): New macro descriptions.
3712
3713 * doc/contrib.texi: Add dfa based scheduler contribution.
3714
3715 * doc/gcc.texi: Add more information about genattrtab.
3716
a2ff290c
RK
3717Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3718
3719 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
3720 adjust_address_nv call.
3721
f97903cc
JJ
37222002-04-29 Janis Johnson <janis187@us.ibm.com>
3723
3724 * doc/install.texi (Testing): Provide additional information, and
3725 a stronger encouragement, for running the testsuites.
3726
f41a6bf1
DD
37272002-04-29 DJ Delorie <dj@redhat.com>
3728
3729 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
3730 given in upper case.
3731
d8af0868
RO
37322002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3733
3734 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
3735 Solaris 2 <widec.h> if missing.
3736 * fixinc/fixincl.x: Regenerate.
3737 * fixinc/tests/base/widec.h: New file.
3738
1034407f
NC
37392002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
3740
3741 * toplev.c (f_options): Add "profile" switch so that
3742 -fno-profile can be used to disable -p.
3743
fbe5eb6d
BS
37442002-04-29 Bernd Schmidt <bernds@redhat.com>
3745
3746 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
3747 UV2DImode.
3748 * tree.c (build_common_tree_nodes_2): Likewise.
3749 * tree.h (enum tree_index): Likewise.
3750 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
3751
3752 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
3753 entries.
3754 (init_mmx_sse_builtins): Initialize SSE2 builtins.
3755 (ix86_expand_builtin): Add support for SSE2 builtins.
3756 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
3757 (VALID_SSE_REG_MODE): Use it.
3758 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
3759 (enum ix86_builtins): Add SSE2 builtins.
3760 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
3761 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
3762 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
3763 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
3764 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
3765 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
3766 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
3767 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
3768 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
3769 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
3770 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
3771 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
3772 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
3773 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
3774 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
3775 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
3776 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
3777 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
3778 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
3779 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
3780 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
3781 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
3782 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
3783 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
3784 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
3785 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
3786 lfence_insn): New patterns.
3787 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
3788 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
3789
44aefada
JH
3790Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
3791
3792 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
3793
d5482cdc
GP
37942002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3795
3796 * doc/contrib.texi (Contributors): Add Paolo Carlini and
3797 Janis Johnson.
3798 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
3799 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
3800 and CPU instead of cpu.
3801
2c4b77f3
JH
3802Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
3803
3804 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
3805 variables.
3806 (lang_independent_options): Add -fif-conversion, -fif-conversion2
3807 (rest_of_compilation): Do if conversion only when asked for.
3808 (parse_options_and_default_flags): Set new variables to 1 for -O1
3809 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
3810
3de72741
JH
3811Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
3812
3813 * i386.c (dbx64_register_map): Fix typo.
3814
8aa18a7d
JH
3815Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
3816
3817 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
3818 real_one_half, real_bb_freq_max): New static variables.
3819 (debug_profile_bbauxs): Kill.
3820 (process_note_predictions): Kill unused variable.
3821 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
3822 volatile double.
3823 (propagate_freq): Use REAL_ARITHMETICS.
3824 (estimate_bb_frequencies): Likevise; init new static variables.
3825 * Makefile.in (predict.o): Add dependency on real.h
3826
1bbad4c6
DM
38272002-04-28 David S. Miller <davem@redhat.com>
3828
3829 PR target/6500
3830 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
3831 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
3832 several {reads,writes} instead.
3833 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
3834 Define.
3835
3ef3f384
DM
38362002-04-27 David S. Miller <davem@redhat.com>
3837
3838 PR target/6494
3839 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
3840 of the stack bias.
3841
3842 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
3843 including signal.h and sys/ucontext.h, not needed.
3844
ec493bcb
HPN
38452002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
3846
3847 * varasm.c (output_constant_def): Correct test for not calling
3848 ENCODE_SECTION_INFO for INTEGER_CST.
3849
60284a59
NB
38502002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
3851
3852 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
3853 keep most cases as function eval_token.
3854 (eval_token): New function.
3855 (_cpp_parse_expr): Read token here for improved diagnostics.
3856 Don't use op_as_text. Detect bad ':' here.
3857 (reduce): Don't detect bad ':' here.
3858 (op_as_text): Remove.
3859 * cpphash.h (_cpp_test_assertion): Change prototype.
3860 * cpplib.c (_cpp_test_assertion): Change prototype.
3861
349a4b40
RH
38622002-04-28 Richard Henderson <rth@redhat.com>
3863
3864 PR c/5154
8998d5bf 3865 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
3866 (ggc_mark_rtx_children): New.
3867
7a03f82f
JJ
38682002-04-28 Jakub Jelinek <jakub@redhat.com>
3869
3870 PR target/6496
3871 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
3872 after call peepholes for UltraSPARC.
3873 (call + jump 64-bit peepholes): Remove.
3874
80103f96
FS
38752002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3876
3877 PR c/6497
3878 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
3879 result as temporary value.
3880
06990986
JJ
38812002-04-28 Jakub Jelinek <jakub@redhat.com>
3882
3883 PR c++/6396
3884 * toplev.c (rest_of_compilation): Only run regrename and copy
3885 propagation if optimizing.
3886
a20fd5ac
JJ
38872002-04-28 Jakub Jelinek <jakub@redhat.com>
3888
3889 PR optimization/6475
3890 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
3891 register of REGNO_DECL (i).
3892 * Makefile.in (reload1.o): Add $(TREE_H).
3893
87ed109f
NB
38942002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
3895
3896 * cppexp.c (lex): Update to use state.skip_eval.
3897 (struct op): Remove prio and flags members.
3898 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
3899 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
3900 (LEFT_ASSOC): New macro.
3901 (optab): New table of operator priorities and flags.
3902 (SHIFT): Update.
3903 (_cpp_parse_expr): Clean up logic. Return bool. Use a
3904 malloc-ed parser stack.
3905 (reduce): New; reduce the operator stack.
3906 (_cpp_expand_op_stack): Expand the operator stack as necessary.
3907 * cpphash.h (struct op): Predeclare.
3908 (struct cpp_reader): New members op_stack, op_limit.
3909 (struct lexer_state): New member skip_eval.
3910 (_cpp_parse_expr): Update.
3911 (_cpp_expand_op_stack): New.
3912 * cpplib.c (do_if): Update.
3913 * cppinit.c (cpp_create_reader): Create op stack.
3914 (cpp_destroy): And destroy it.
3915 * cpplib.h (CPP_LAST_CPP_OP): Correct.
3916 (TTYPE_TABLE): Correct.
3917
45806a3f
FS
39182002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3919
3920 PR c/6343
3921 * c-decl.c (duplicate_decls): Call merge_weak.
3922 * c-pragma.c (apply_pragma_weak): Warn about misuse.
3923 * output.h (merge_weak): Prototype merge_weak.
3924 * varasm.c (merge_weak): New function.
3925 (declare_weak): Make sure we don't give an error on VAR_DECLs.
3926 Mark RTL with SYMBOL_REF_WEAK.
3927
a6227154
KG
39282002-04-27 Kurt Garloff <garloff@suse.de>
3929
3930 * tree-inline.c (inlinable_function_p): Improve heuristics
3931 by using a smoother function to cut down allowable inlinable size.
3932 * param.def: Add parameters max-inline-insns-single,
3933 max-inline-slope, min-inline-insns that determine the exact
3934 shape of the above function.
3935 * param.h: Likewise.
3936
94a50397
RH
39372002-04-26 Richard Henderson <rth@redhat.com>
3938
3939 * c-parse.in (malloced_yyss, malloced_yyvs): New.
3940 (yyoverflow): Re-add. Set them.
3941 (free_parser_stacks): New.
3942 * c-common.h: Declare it.
3943 * c-lex.c (c_common_parse_file): Call it.
3944
9c0a0632
RH
39452002-04-26 Richard Henderson <rth@redhat.com>
3946
3947 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
3948 for fallthru search.
3949
b875d2ee
EC
39502002-04-26 Eric Christopher <echristo@redhat.com>
3951
3952 PR optimization/3700
3953 * config/mips/mips.c (mips_issue_rate): Define. New function.
3954 (TARGET_SCHED_ISSUE_RATE): Use.
3955
1db828df
DM
39562002-04-25 David S. Miller <davem@redhat.com>
3957
3958 PR target/6422
3959 * reorg.c (optimize_skip): Do not allow exception causing
3960 instructions to be considered for delay slots.
3961 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
3962 (relax_delay_slots): Do not try to consider exception causing
3963 instructions as redundant.
3964
ae5d234e
RH
39652002-04-26 Richard Henderson <rth@redhat.com>
3966
3967 PR c/5225
3968 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
3969
7d793e9b
MM
39702002-04-26 Mark Mitchell <mark@codesourcery.com>
3971
3972 PR bootstrap/6445
3973 * config/i386/i386.md (untyped_call): Return the value in a float
3974 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
3975 TARGET_80387.
3976
b13ab42c
AO
39772002-04-26 Alexandre Oliva <aoliva@redhat.com>
3978
3979 * tree.c (tree_int_cst_lt): Compare constants whose types differ
3980 in unsigned-ness correctly.
3981
5e56f909
JDA
39822002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
3983
3984 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
3985 portable runtime model.
3986
bde3c0c0
RH
39872002-04-26 Richard Henderson <rth@redhat.com>
3988
a6227154 3989 * c-parse.in (yyoverflow): Revert.
bde3c0c0 3990
5276df18
DE
39912002-04-26 David Edelsohn <edelsohn@gnu.org>
3992 Richard Henderson <rth@redhat.com>
3993
3994 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
3995 result as temporary value.
3996
b84a3874
RH
39972002-04-26 Richard Henderson <rth@redhat.com>
3998
3999 PR c/3581
4000 * c-common.c (fix_string_type): Split out of ...
4001 (combine_strings): ... here. Take a varray, not a tree list.
4002 (c_expand_builtin_printf): Use fix_string_type.
4003 * c-common.h: Update decls.
4004 * c-parse.in (string): Remove. Update all uses to use STRING
4005 instead, and not call combine_strings.
4006 (yylexstring): New.
4007 (_yylex): Use it.
4008 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
4009 (build_asm_stmt): Likewise.
4010 * objc/objc-act.c (my_build_string): Use fix_string_type.
4011 (build_objc_string_object): Build varray for combine_strings.
4012
d8ae8cd4
BT
40132002-04-26 Bo Thorsen <bo@suse.co.uk>
4014
4015 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
4016 x86-64.
4017
f8b954fc
NB
40182002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
4019
4020 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
4021 (HAVE_NO_R_OPERAND): Remove.
4022 (HAVE_VALUE): Remove.
4023 (op_to_prio): Update.
4024 (UNARY): Don't alter flags.
4025 (_cpp_parse_expr): want_value used to indicate whether
4026 a number or unary operator is expected next. Distinguish
4027 unary and binary +/-.
4028 (op_as_text): Update for unary operators.
4029
6052bef0
RH
40302002-04-25 Richard Henderson <rth@redhat.com>
4031
4032 PR c/2161
4033 * c-parse.in (yyoverflow): New.
4034
5c5b2283
RH
40352002-04-25 Richard Henderson <rth@redhat.com>
4036
4037 PR c/2098
4038 * c-common.c (shorten_compare): Simplfy conditions leading to
4039 the generation of a warning.
4040
28ce94d4
RH
40412002-04-25 Richard Henderson <rth@redhat.com>
4042
4043 PR c/2035
4044 * expmed.c (extract_bit_field): Fall through to generic code rather
4045 than aborting on subreg special case.
4046
6bfd0c63
DM
40472002-04-25 David S. Miller <davem@redhat.com>
4048
4049 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
4050 for DECL being NULL.
4051
7a430e3b
SC
40522002-04-25 Steve Christiansen <smc@us.ibm.com>
4053
4054 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
4055
45c42d7d
EB
40562002-04-25 Eric Botcazou <ebotcazou@multimania.com>
4057
4058 * c-decl.c (grokdeclarator): Remove outdated ??? note
4059 on invalid declaration of flexible array members.
4060
eb7715a4
RH
40612002-04-25 Richard Henderson <rth@redhat.com>
4062
4063 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
4064
cf5ee720
UW
40652002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
4066
4067 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
4068 needed by the compiler, even if they are used as global regs.
4069
d604bca3
MH
40702002-04-25 Matt Hiller <hiller@redhat.com>
4071
4072 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
4073 functions.
4074 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
4075 of the corresponding functions.
4076 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
4077 New prototypes.
b875d2ee 4078
d604bca3
MH
40792002-04-25 Matt Hiller <hiller@redhat.com>
4080
4081 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
4082
4083 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
4084 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
4085 registers, adjust comment accordingly.
4086 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
4087 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
4088 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
4089 for coprocessor registers.
4090 (ADDITIONAL_REGISTER_NAMES): Include
4091 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 4092
d604bca3
MH
4093 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
4094 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
4095 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
4096 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
4097 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
4098
4099 (mips_char_to_class): Adjust comment to include coprocessor
4100 constraint letters.
4101
4102 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
4103 New functions.
4104 (mips_reg_names, mips_regno_to_class): Include coprocessor
4105 information.
4106 (mips_sw_reg_names): Ditto, make non-static.
4107 (mips_move_1word): Handle moves to and from coprocessor registers.
4108 (mips_move_2words): Handle moves to and from coprocessor
4109 registers.
4110 (mips_class_max_nregs, mips_register_move_cost): Handle
4111 coprocessor register classes.
4112 (override_options): Initialize mips_char_to_class and
4113 mips_hard_regno_mode_ok properly for coprocessor registers.
4114
4115 * config/mips/mips.md (movdi_internal, movdi_internal2,
4116 movsi_internal1, movsi_internal2): Add constraint-sets for
4117 coprocessor registers.
4118 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
4119 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
4120 isn't mips.
4121 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
4122 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
4123 isn't mips.
4124 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
4125 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
4126 isn't mips.
4127 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
4128 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
4129 isn't mips.
b875d2ee 4130
d604bca3
MH
4131 * doc/tm.texi: Document feature.
4132
b9a26d09
NB
41332002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
4134
4135 * integrate.c (function_attribute_inlinable_p): Simplify.
4136 Check the table pointer is not NULL.
4137
ab5973b7
SB
41382002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
4139
4140 * doc/c-tree.texi: Fix typo in introduction.
4141
ff45c01e
NB
41422002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
4143
4144 * c-common.h (c_common_parse_file): Update.
4145 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
4146 * c-lex.c (YYDEBUG): Get from c-lex.h.
4147 (c_common_parse_file): Update.
4148 * c-lex.h (YYDEBUG, yydebug): New.
4149 * c-parse.in (YYDEBUG): Get from c-lex.h.
4150 (c_set_yydebug): Remove.
4151 * c-tree.h (c_set_yydebug): Remove.
4152 * langhooks-def.h (lhd_do_nothing_i): New.
4153 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
4154 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
4155 * langhooks.c (lhd_do_nothing_i): New.
4156 (lhd_set_yydebug): Remove.
4157 * langhooks.h (struct lang_hooks): Update.
4158 * toplev.c (set_yydebug): New.
4159 (compile_file): Update call to parse_file hook.
4160 (decode_d_option): Update.
4161objc:
4162 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
4163
fcae219a
R
4164Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
4165
4166 * loop.c (load_mems): Don't change the interface of called functions.
4167
4168 * calls.c (expand_call): Take current_function_pretend_args_size
4169 into account when setting argblock for sibcalls.
4170
d0fea45a
MH
41712002-04-24 Matt Hiller <hiller@redhat.com>
4172
4173 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
4174 * c-lex.c: Ditto.
4175
4176 * cpplex.c (skip_line_comment): Process comment one multibyte
4177 character at a time rather than one char at a time, if
4178 appropriate.
4179 (parse_string): Process string one multibyte character at a time
4180 rather than one char at a time, if appropriate.
4181 * c-lex.c (lex_string): Lex and copy multibyte strings
4182 appropriately.
4183 * cpplib.h (cppchar_t): Change to unsigned.
4184
2d1b5436
RH
41852002-04-24 Richard Henderson <rth@redhat.com>
4186
4187 PR c/3467
4188 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
4189 for c99.
4190
5e039e6b
R
4191Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
4192
4193 * sh.c (sh_va_arg): If argument was passed by reference,
4194 dereference the pointer.
309d8365
R
4195
4196 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
4197
4198 * sh.md (divsi3_i4_media): Use match_operand for input values
4199 rather than hard registers.
4200 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
4201 unnecessarily through hard registers. Keep copies of pseudo
4202 registers outside of the libcall sequence.
4203
4204 * sh.md (casesi_shift_media): Add modes.
b700634a
R
4205
4206 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
4207 values in memory.
4208
349ae713
NB
42092002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
4210
4211 * attribs.c (c_common_attribute_table): Move table and handlers
4212 to c-common.c.
4213 (format_attribute_table, lang_attribute_table,
4214 lang_attribute_common): Remove.
4215 (init_attributes): Replace NULL pointers with pointers to the
4216 empty table.
4217 (handle_packed_attribute, handle_nocommon_attribute,
4218 handle_common_attribute, handle_noreturn_attribute,
4219 handle_noinline_attribute, handle_always_inline_attribute,
4220 handle_used_attribute, handle_unused_attribute,
4221 handle_const_attribute, handle_transparent_union_attribute,
4222 handle_constructor_attribute, handle_destructor_attribute,
4223 handle_mode_attribute, handle_section_attribute,
4224 handle_aligned_attribute, handle_weak_attribute,
4225 handle_alias_attribute, handle_visibility_attribute,
4226 handle_no_instrument_function_attribute, handle_malloc_attribute,
4227 handle_no_limit_stack_attribute, handle_pure_attribute,
4228 handle_deprecated_attribute, handle_vector_size_attribute,
4229 vector_size_helper): Move to c-common.c.
4230 * c-common.c (c_common_attribute_table,
4231 handle_packed_attribute, handle_nocommon_attribute,
4232 handle_common_attribute, handle_noreturn_attribute,
4233 handle_noinline_attribute, handle_always_inline_attribute,
4234 handle_used_attribute, handle_unused_attribute,
4235 handle_const_attribute, handle_transparent_union_attribute,
4236 handle_constructor_attribute, handle_destructor_attribute,
4237 handle_mode_attribute, handle_section_attribute,
4238 handle_aligned_attribute, handle_weak_attribute,
4239 handle_alias_attribute, handle_visibility_attribute,
4240 handle_no_instrument_function_attribute, handle_malloc_attribute,
4241 handle_no_limit_stack_attribute, handle_pure_attribute,
4242 handle_deprecated_attribute, handle_vector_size_attribute,
4243 vector_size_helper): Move from attribs.c.
4244 * c-common.h (c_common_attribute_table,
4245 c_common_format_attribute_table): New.
4246 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
4247 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
4248 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
4249 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
4250 (LANG_HOOKS_INITIALIZER): Update.
4251 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
4252 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
4253 * target.h: Update comment.
4254 * tree.c (default_target_attribute_table): Remove.
4255 * tree.h (default_target_attribute_table, format_attribute_table,
4256 lang_attribute_table, lang_attribute_common): Remove.
4257objc:
4258 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
4259 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
4260
84f0ace0
JM
42612002-04-24 Jason Merrill <jason@redhat.com>
4262
4263 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
4264 * dwarf2out.c (dwarf_attr_name): Support it.
4265 (gen_array_type_die): Emit it.
4266 (lookup_type_die): No special handling for VECTOR_TYPE.
4267 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
4268
120eaf28
RH
42692002-04-24 Richard Henderson <rth@redhat.com>
4270
4271 * config/mips/mips.md (movdi_usd): Renumber.
4272
e732178c
DM
42732002-04-24 David S. Miller <davem@redhat.com>
4274
4275 PR target/6420
4276 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
4277 32-bit Sparc and current_function_returns_struct is true.
4278
e879eb2f
JH
4279Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
4280
4281 * loop.c (canonicalize_condition): Use gen_int_mode.
4282
4287a893
AH
42832002-04-24 Aldy Hernandez <aldyh@redhat.com>
4284
4285 * config/rs6000/altivec.h: Cleanup file. Add non individual
4286 variants.
4287 (vec_vaddubm): New.
4288 (vec_vadduhm): New.
4289 (vec_vadduwm): New.
4290 (vec_vaddfp): New.
4291 (vec_vaddcuw): New.
4292 (vec_vaddubs): New.
4293 (vec_vaddsbs): New.
4294 (vec_vadduhs): New.
4295 (vec_vadduws): New.
4296 (vec_vaddsws): New.
4297 (vec_vand): New.
4298 (vec_vandc): New.
4299 (vec_vavgub): New.
4300 (vec_vavgsb): New.
4301 (vec_vavguh): New.
4302 (vec_vavgsh): New.
4303 (vec_vavguw): New.
4304 (vec_vavgsw): New.
4305 (vec_vrfip): New.
4306 (vec_vcmpbfp): New.
4307 (vec_vcmpequb): New.
4308 (vec_vcmpequh): New.
4309 (vec_vcmpequw): New.
4310 (vec_vcmpeqfp): New.
4311 (vec_vcmpgefp): New.
4312 (vec_vcmpgtub): New.
4313 (vec_vcmpgtsb): New.
4314 (vec_vcmpgtuh): New.
4315 (vec_vcmpgtsh): New.
4316 (vec_vcmpgtuw): New.
4317 (vec_vcmpgtsw): New.
4318 (vec_vcmpgtfp): New.
4319 (vec_vcmpgefp): New.
4320 (vec_vcfux): New.
4321 (vec_vcfsx): New.
4322 (vec_vctsxs): New.
4323 (vec_vctuxs): New.
4324 (vec_vexptefp): New.
4325 (vec_vrfim): New.
4326 (vec_lvx): New.
4327 (vec_lvebx): New.
4328 (vec_lvehx): New.
4329 (vec_lde): Add vector float variant.
4330 (vec_lvewx): New.
4331 (vec_lvxl): New.
4332 (vec_vlogefp): New.
4333 (vec_vmaddfp): New.
4334 (vec_vmhaddshs): New.
4335 (vec_vmaxub): New.
4336 (vec_vmaxsb): New.
4337 (vec_vmaxuh): New.
4338 (vec_vmaxsh): New.
4339 (vec_vmaxuw): New.
4340 (vec_vmaxsw): New.
4341 (vec_vmaxsw): New.
4342 (vec_vmaxfp): New.
4343 (vec_vmrghb): New.
4344 (vec_vmrghh): New.
4345 (vec_vmrghw): New.
4346 (vec_vmrglb): New.
4347 (vec_vmrglh): New.
4348 (vec_vmrglw): New.
4349 (vec_vminub): New.
4350 (vec_vminsb): New.
4351 (vec_vminuh): New.
4352 (vec_vminsh): New.
4353 (vec_vminuw): New.
4354 (vec_vminsw): New.
4355 (vec_vminfp): New.
4356 (vec_vmladduhm): New.
4357 (vec_vmhraddshs): New.
4358 (vec_msumubm): New.
4359 (vec_vmsummbm): New.
4360 (vec_vmsumuhm): New.
4361 (vec_vmsumshm): New.
4362 (vec_vmsumuhs): New.
4363 (vec_vmsumshs): New.
4364 (vec_vmuleub): New.
4365 (vec_vmulesb): New.
4366 (vec_vmuleuh): New.
4367 (vec_vmulesh): New.
4368 (vec_vmuloub): New.
4369 (vec_mulosb): New.
4370 (vec_vmulouh): New.
4371 (vec_vmulosh): New.
4372 (vec_vnmsubfp): New.
4373 (vec_vnor): New.
4374 (vec_vor): New.
4375 (vec_vpkuhum): New.
4376 (vec_vpkuwum): New.
4377 (vec_vpkpx): New.
4378 (vec_vpkuhus): New.
4379 (vec_vpkshss): New.
4380 (vec_vpkuwus): New.
4381 (vec_vpkswss): New.
4382 (vec_vpkshus): New.
4383 (vec_vpkswus): New.
4384 (vec_vperm): New.
4385 (vec_vrefp): New.
4386 (vec_vrlb): New.
4387 (vec_vrlh): New.
4388 (vec_vrlw): New.
4389 (vec_vrfin): New.
4390 (vec_vrsqrtefp): New.
4391 (vec_vsel): New.
4392 (vec_vslb): New.
4393 (vec_vslh): New.
4394 (vec_vslw): New.
4395 (vec_vsldoi): New.
4396 (vec_vsl): New.
4397 (vec_vslo): New.
4398 (vec_vspltb): New.
4399 (vec_vsplth): New.
4400 (vec_vspltw): New.
4401 (vec_vspltisb): New.
4402 (vec_vspltish): New.
4403 (vec_vspltisw): New.
4404 (vec_vsrb): New.
4405 (vec_vsrh): New.
4406 (vec_vsrw): New.
4407 (vec_vsrab): New.
4408 (vec_vsrah): New.
4409 (vec_vsraw): New.
4410 (vec_vsr): New.
4411 (vec_vsro): New.
4412 (vec_stvx): New.
4413 (vec_stvebx): New.
4414 (vec_stvehx): New.
4415 (vec_stvewx): New.
4416 (vec_stvxl): New.
4417 (vec_vsububm): New.
4418 (vec_vsubuhm): New.
4419 (vec_vsubuwm): New.
4420 (vec_vsubfp): New.
4421 (vec_vsubcuw): New.
4422 (vec_vsububs): New.
4423 (vec_vsubsbs): New.
4424 (vec_vsubuhs): New.
4425 (vec_vsubshs): New.
4426 (vec_vsubuws): New.
4427 (vec_vsubsws): New.
4428 (vec_vsum4ubs): New.
4429 (vec_vsum4sbs): New.
4430 (vec_vsum4shs): New.
4431 (vec_vsum2sws): New.
4432 (vec_vsumsws): New.
4433 (vec_vrfiz): New.
4434 (vec_vupkhsb): New.
4435 (vec_vupkhpx): New.
4436 (vec_vupkhsh): New.
4437 (vec_vupklsb): New.
4438 (vec_vupklpx): New.
4439 (vec_vupklsh): New.
4440 (vec_vxor): New.
4441
cff27795
EB
44422002-04-23 Eric Botcazou <ebotcazou@multimania.com>
4443
4444 PR c/5430
4445 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
4446 added literals from substracted literals.
4447 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
4448 (fold) [associate]: Preserve MINUS_EXPR if needed.
4449
952bca84
ZW
44502002-04-23 Zack Weinberg <zack@codesourcery.com>
4451
4452 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
4453 are obsoleted.
4454
50cb2154
TT
44552002-04-23 Tom Tromey <tromey@redhat.com>
4456
4457 * gcc.c: Added --resource. For PR java/6314.
4458
271f61fb
DB
44592002-04-23 David O'Brien <obrien@FreeBSD.org>
4460
9566d1e9 4461 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
4462 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
4463 these libraries.
4464
bdabbc80
DB
44652002-04-23 David O'Brien <obrien@FreeBSD.org>
4466
4467 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
4468
74411039
JH
4469Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
4470
4471 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
4472 workaround.
4473 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
4474 (ix86_expand_clrstr): Fix typo.
4475 * loop.c (gen_load_of_final_value): New.
4476 (loop_givs_rescan, strength_reduce, check_dbra_loop):
4477 Use it.
4478
1a887f86
RS
44792002-04-23 Roger Sayle <roger@eyesopen.com>
4480
4481 * builtins.c (builtin_memset_gen_str): New function.
4482 (expand_builtin_memset): Optimize the case of constant length, but
4483 unknown value.
4484
8d3441e0
AH
44852002-04-23 Aldy Hernandez <aldyh@redhat.com>
4486
cff27795
EB
4487 * config/rs6000/altivec.h (vec_step): Remove extraneous
4488 parentheses.
4489 (vec_ctu): Cast return.
8d3441e0 4490
f6f315fe
AM
44912002-04-23 Alan Modra <amodra@bigpond.net.au>
4492
4493 PR target/6413
4494 * function.h: (struct function): Add profile_label_no field.
4495 (current_function_profile_label_no): Define.
4496 * function.c: (profile_label_no): New static var.
4497 (expand_function_start): Increment it, and copy to
4498 current_function_profile_label_no.
4499 * output.h (profile_label_no): Delete.
4500 * final.c (profile_label_no): Delete.
4501 (profile_function): Use current_function_profile_label_no.
4502 (final_end_function): Don't increment profile_label_no here.
4503 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
4504 profile_label_no with current_function_profile_label_no.
4505 * config/pa/pa.c (current_function_number): Delete.
4506 (pa_output_function_prologue): Don't output profile label here.
4507 (hppa_profile_hook): Use label_no param rather than
4508 current_function_number.
4509 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
4510 * config/pa/pa.h: .. here.
4511 (FUNCTION_PROFILER): Output profile label here.
4512
d239cdc0
EC
45132002-04-22 Eric Christopher <echristo@redhat.com>
4514
4515 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
4516 patch of 2002-04-09 due to binutils issues.
4517 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
4518
04428ad4
AH
45192002-04-22 Aldy Hernandez <aldyh@redhat.com>
4520
cff27795
EB
4521 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
4522 constraint to 'o' for m=r and r=m alternatives.
4523 ("*movv8hi_internal1"): Same.
4524 ("*movv16qi_internal1"): Same.
4525 ("*movv4sf_internal1"): Same.
04428ad4 4526
2adc7f12
JJ
45272002-04-22 Janis Johnson <janis187@us.ibm.com>
4528
4529 * rtl.h (RTX_FLAG): New macro.
4530 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
4531 * final.c (alter_subreg): Use macro to access rtx flag.
4532 * integrate.c (copy_rtx_and_substitute): Use new access macro.
4533 * print-rtl.c (print_rtx): Use new access macro.
4534
4535 * cse.c (insert): Check rtx code before accessing flag.
4536
4537 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
4538 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
4539 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
4540 convert_const_symbol_ref, make_canonical, make_alternative_compare,
4541 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
4542 simplify_test_exp, optimize_attrs, simplify_by_exploding,
4543 find_and_mark_used_attributes, unmark_used_attributes,
4544 add_values_to_cover, simplify_with_current_value,
4545 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
4546 copy_rtx_unchanging, main): Use new access macros.
4547
b7c89afe
TR
45482002-04-22 Tom Rix <trix@redhat.com>
4549
4550 * expmed.c (init_expmed): Generate shifted constant once.
4551
9340544b
ZW
45522002-04-22 Zack Weinberg <zack@codesourcery.com>
4553
4554 * c-lex.c (lex_charconst): Call convert to get constant in
4555 proper type; don't just smash the type field.
4556 Fixes PR c/6300.
4557
4558 * config.gcc: Add list of obsolete configurations. Disallow
4559 building these without --enable-obsolete.
4560 * doc/install.texi: Document --enable-obsolete and obsoletion
4561 policy. Mention obsoletion of individual targets in
4562 appropriate places.
4563
f942d7a5
RH
45642002-04-22 Richard Henderson <rth@redhat.com>
4565
4566 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
4567
45682002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
4569
4570 PR f/6138.
4571 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
4572 (walk_fixup_memory_subreg): Likewise.
4573 (fixup_var_refs_insn): Adjust accordingly.
4574 (fixup_var_refs_1): Likewise.
4575
232b0b45
UW
45762002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
4577
4578 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
4579 LIBPATH_ARCH64_SPEC): Define.
4580 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
4581 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
4582 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
4583 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
4584
1b61552b
JS
45852002-04-22 Joel Sherrill <joel@OARcorp.com>
4586
4587 * gthr-rtems.h: Correct prototypes to remove warnings.
4588
0fe854a7
RH
45892002-04-22 Richard Henderson <rth@redhat.com>
4590
4591 PR c/6344
4592 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
4593
4594 * gcse.c (free_insn_expr_list_list): New.
4595 (clear_modify_mem_tables): Use it. Fix bit set usage.
4596 (canon_list_insert): Use EXPR_LISTs for expressions.
4597 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
4598
af0d16cd
NB
45992002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
4600
4601 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
4602 file change and include code to _cpp_pop_buffer.
4603 * cpphash.h (struct pending_option): Predeclare.
4604 (struct cpp_reader): New member next_include_file.
4605 (_cpp_pop_file_buffer): Update.
4606 (_cpp_push_next_buffer): Update, rename.
4607 * cppinit.c (cpp_destroy): Free include chain and pending here.
4608 (cpp_finish_options): Simplify.
4609 (_cpp_push_next_buffer): Rename and clean up.
4610 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
4611 Clarify.
4612 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
4613
0d918572
AH
46142002-04-22 Aldy Hernandez <aldyh@redhat.com>
4615
0fe854a7
RH
4616 * config/rs6000/altivec.h (vec_xor): Add variant for both args
4617 being vector signed int.
4618 (vec_andc): Same.
4619 (vec_xor): Add variant for both args being vector signed char.
4620 Remove redundant variant.
4621 (vec_andc): Same.
0d918572 4622
77e2c290
DM
46232002-04-21 David S. Miller <davem@redhat.com>
4624
4625 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
4626 compare mode in output RTL.
4627
ee2ca2a2
DE
46282002-04-22 David Edelsohn <edelsohn@gnu.org>
4629
4630 * config/rs6000/rs6000.c (rs6000_override_options): Correct
4631 style and formatting of previous patch.
4632
894bdff6
AM
46332002-04-22 Alan Modra <amodra@bigpond.net.au>
4634
4635 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
4636 flag_pic for ABI_AIX.
4637
562a5c27
NB
46382002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
4639
4640 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
4641 * cppfiles.c (read_include_file): Similarly.
4642 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
4643 uxstrdup ustrchr, ufputs): Similarly.
4644 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
4645 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
4646 cpp_ideq, parse_identifier, parse_number): Similarly.
4647 * cpplib.c (struct directive, dequote_string, D, run_directive,
4648 cpp_push_buffer): Similarly.
4649 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
4650 _cpp_create_definition, check_trad_stringification,
4651 cpp_macro_definition): Similarly.
4652
9ac3b1be
NB
46532002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
4654
4655 * cppmacro.c (funlike_invocation_p): Don't step back
4656 over CPP_EOF.
4657
9dda4cc8
DE
46582002-04-21 David Edelsohn <edelsohn@gnu.org>
4659
4660 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
4661 labelno.
4662
20764052
JM
46632002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
4664
4665 * doc/invoke.texi: Remove Chill references.
4666 * doc/gcc.texi: Update last modified date.
4667
26b29884
KH
46682002-04-20 Kazu Hirata <kazu@hxi.com>
4669
4670 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
4671 push and pop. Replace add.l with add.w.
4672
59184677
TM
46732002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
4674
4675 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
4676 multiply instructions for H8/300H case.
4677
b1113e0a
TM
46782002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
4679
4680 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
4681 Bum three instructions from each routine.
4682
b03e38e1
NB
46832002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
4684
4685 * Makefile.in: Update.
4686 * decl.c (push_c_function_context, pop_c_function_context,
4687 mark_c_function_context): Rename for consistency.
4688 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
4689 * c-tree.h (push_c_function_context, pop_c_function_context,
4690 mark_c_function_context): Rename for consistency.
4691 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
4692 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
4693 * function.c (init_lang_status, save_lang_status,
4694 restore_lang_status, mark_lang_status, free_lang_status):
4695 Move to langhooks.h.
4696 (push_function_context_to, pop_function_context_from,
4697 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
4698 Update.
4699 * function.h (init_lang_status, save_lang_status,
4700 restore_lang_status, mark_lang_status, free_lang_status):
4701 Move to langhooks.h.
4702 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
4703 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
4704 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
4705 LANG_HOOKS_FUNCTION_INITIALIZER): New.
4706 (LANG_HOOKS_INITIALIZER): Update.
4707 (lhd_do_nothing_f): New.
4708 * langhooks.h (struct lang_hooks_for_functions): New.
4709 (struct lang_hooks): New hooks.
4710 * langhooks.c (lhd_do_nothing_f): New.
4711objc:
4712 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
4713 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
4714
db430d26
DM
47152002-04-19 David S. Miller <davem@redhat.com>
4716
4717 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
4718 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
4719
0f2a3457
JJ
47202002-04-19 Jakub Jelinek <jakub@redhat.com>
4721
4722 PR optimization/3756
4723 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
4724 x = ((int) y < 0) ? cst1 : cst2.
4725
ce5e43d0
JJ
47262002-04-19 Jakub Jelinek <jakub@redhat.com>
4727
4728 PR c/6358
4729 * function.c: Reapply patch for c/6358.
4730 (expand_function_end): Copy decl_rtl's mode, not
4731 current_function_return_rtx mode.
4732
47332002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
4734
4735 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
4736 targets.
4737
40e7f8ea
TT
47382002-04-19 Tom Tromey <tromey@redhat.com>
4739
4740 * doc/install.texi (Specific): Update status of Solaris 2.8.
4741 For PR libgcj/6158.
4742
62a12b27
AS
47432002-04-19 Andreas Schwab <schwab@suse.de>
4744
4745 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
4746 (PUT_REAL): Restore old definition.
4747
1405141b
DN
47482002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
4749 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4750
4751 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
4752 binutils 2.11.2 and higher generate smaller binaries than Sun's
4753 native tools.
4754
303a3927
MM
47552002-04-19 Mark Mitchell <mark@codesourcery.com>
4756
4757 PR c++/6352
4758 * toplev.c (rest_of_compilation): Do not defer functions for which
4759 TREE_SYMBOL_REFERENCED has already been set.
4760
de80110b
JH
4761Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
4762
4763 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
4764 alternative.
4765
ab393bf1
NB
47662002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
4767
4768 * builtins.c: Include langhooks.h.
4769 (lang_type_promotes_to): Remove.
4770 (expand_builtin_va_arg): Use new hook.
4771 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
4772 (simple_type_promotes_to): Move to c-typeck.c.
4773 * c-common.h (simple_type_promotes_to): Remove.
4774 * c-decl.c (duplicate_decls, grokdeclarator): Update.
4775 * c-format.c: Include langhooks.h.
4776 (check_format_types): Update.
4777 * c-tree.h (c_type_promotes_to): New.
4778 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
4779 (type_lists_compatible_p): Update.
4780 * langhooks-def.h (lhd_type_promotes_to): New.
4781 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
4782 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
4783 * langhooks.c (lhd_type_promotes_to): New.
4784 * langhooks.h (struct lang_hooks_for_types): New hook.
4785 * tree.h (lang_type_promotes_to): Remove.
4786objc:
4787 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
4788
0cd3301b
RH
47892002-04-18 Richard Henderson <rth@redhat.com>
4790
58533fa2 4791 * function.c: Revert patch for c/6358.
0cd3301b
RH
4792
47932002-04-18 Richard Henderson <rth@redhat.com>
4794
58533fa2
RH
4795 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
4796 blocks. Handle multiple references to the TRAP block. Handle
4797 non-adjacent THEN and OTHER blocks.
0cd3301b 4798
58533fa2
RH
47992002-04-18 Richard Henderson <rth@redhat.com>
4800
4801 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
4802 crash with no type for by-mode libcalls.
4803
4804 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 4805
57174693
BW
48062002-04-18 Bob Wilson <bob.wilson@acm.org>
4807
4808 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
4809 __xtensa_nonlocal_goto): Use a syscall instructions to flush
4810 the register windows.
4811
46468cd9
ZW
48122002-04-18 Zack Weinberg <zack@codesourcery.com>
4813
4814 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
4815 appropriate. Document need for extended precision even when
4816 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
4817 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
4818 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
4819 instead of relying on later syntax error when REAL_WIDTH > 5.
4820 * real.c: Define NE based only on whether or not we have a
4821 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
4822 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
4823 define GET_REAL and PUT_REAL as simple memcpy operations; no
4824 need to byteswap or round.
4825 Use #error instead of #ifdef-ing out the entire file, for
4826 prompt error detection.
4827
4828 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
4829
2f82dbf8
DM
48302002-04-18 David S. Miller <davem@redhat.com>
4831
4832 * config/sparc/sparc.h (BRANCH_COST): Define.
4833
4834 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
4835 does it.
4836
566576e7
HPN
48372002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
4838
4839 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
4840 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
4841 propagate_block calls after relaxation loop using new variable
4842 stabilized_prop_flags.
4843
51dcde6f
RH
48442002-04-18 Richard Henderson <rth@redhat.com>
4845
4846 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
4847 (ia64_va_arg): Expect variable sized types by reference.
4848 * config/ia64/ia64-protos.h: Update.
46468cd9 4849 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
4850 ia64_function_arg_pass_by_reference.
4851
26406018
RH
48522002-04-18 Richard Henderson <rth@redhat.com>
4853
46468cd9
ZW
4854 * ifcvt.c: Include except.h.
4855 (block_has_only_trap): Break out from find_cond_trap.
4856 (find_cond_trap): Use it. Always delete the trap block.
4857 (merge_if_block): Allow then block null. Be less simplistic about
4858 what insns can end a block.
4859 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 4860
26406018
RH
4861 * config/ia64/ia64.md (trap, conditional_trap): New.
4862
a3acf46d
JJ
48632002-04-18 Jakub Jelinek <jakub@redhat.com>
4864
4865 PR c/6358
4866 * function.c (assign_parms): Assign hard current_function_return_rtx
4867 register here...
4868 (expand_function_end): ...not here.
4869
7a228918
NB
48702002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
4871
4872 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
4873 * c-tree.h (c_incomplete_type_error): New.
4874 * c-typeck.c (require_complete_type, build_component_ref): Update.
4875 (incomplete_type_error): Rename.
4876 * langhooks-def.h (lhd_incomplete_type_error): New.
4877 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
4878 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
4879 * langhooks.c (lhd_incomplete_type_error): New.
4880 * langhooks.h (struct lang_hooks_for_types): New hook.
4881 * tree.c (size_in_bytes): Use new hook.
4882 * tree.h (incomplete_type_error): Remove.
4883objc:
4884 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
4885
f18664c1
ZW
48862002-04-18 Zack Weinberg <zack@codesourcery.com>
4887
4888 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
4889 TARGET_FLOAT_FORMAT blocks.
4890
8ecab453
GP
48912002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4892
4893 * doc/install.texi (Downloading the source): Do not mention Chill
4894 any longer, but mention Ada.
4895 (Configuration): Do not mention Chill any longer.
4896
528d8489
HPN
48972002-04-18 Hans-Peter Nilsson <hp@axis.com>
4898
4899 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
4900
91da27c5
JH
4901Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
4902
4903 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
4904 in last patch.
4905
a32db605
JJ
49062002-04-18 Jakub Jelinek <jakub@redhat.com>
4907
4908 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
4909 instead of unsigned_type.
4910
5a28d8cc
JH
4911Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
4912
4913 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
4914 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
4915 later.
4916
3d980b9f
BS
49172002-04-18 Bernd Schmidt <bernds@redhat.com>
4918
4919 * attribs.c (vector_type_node_list): New static variable.
4920 (handle_vector_size_attribute): Use it to avoid generating a
4921 new type node each time we are called.
4922
2e676d78
BS
4923 * combine.c (subst): Avoid trying to make a vector mode subreg of
4924 an integer constant.
4925 (gen_lowpart_for_combine): Likewise.
46468cd9 4926
58c2956c
RS
49272002-04-18 Roger Sayle <roger@eyesopen.com>
4928 Jakub Jelinek <jakub@redhat.com>
4929
4930 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
4931 for integer constant c (if x has unsigned type or sign bit is not
4932 set in c). This folds the zero/sign extension into the bit-wise and
4933 operation.
4934
692efa8e
JJ
49352002-04-18 Jakub Jelinek <jakub@redhat.com>
4936
4937 PR middle-end/6205
4938 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
4939 otherwise xorps.
4940
1372d4ce
NY
49412002-04-17 NIIBE Yutaka <gniibe@m17n.org>
4942
4943 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
4944
169ce44d
NC
49452002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
4946
4947 * gcc.c (read_specs): Detect and fail if an attempt is made to
4948 rename a spec string to an already existing string.
4949
b30d2115
UW
49502002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
4951
4952 * config/s390/s390.c (legitimize_pic_address): Do not generate
4953 illegal address constant without CONST.
4954
d6964c30
KG
49552002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4956
4957 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
4958 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
4959
7c82a1ed
UW
49602002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
4961
4962 PR optimization/6305
4963 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
4964 to make sure previous reloads are taken into account. Generate
4965 better code if one operand is an in-range immediate constant.
4966
58db9d1a
AH
49672002-04-16 Andrew Haley <aph@cambridge.redhat.com>
4968
4969 * doc/install.texi (Building): libgcj requires GNU make.
4970
2a732575
JJ
49712002-04-17 Jakub Jelinek <jakub@redhat.com>
4972
4973 PR bootstrap/6315
4974 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
4975 even if hard quad and register is not floating.
4976 (movtf reg<-mem split): Disallow splitting if hard quad and
4977 register is floating.
4978 (movtf mem<-reg split): Likewise.
4979 * config/sparc/sparc.c (fp_register_operand): New predicate.
4980 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
4981
75a65e46
ZW
49822002-04-17 Zack Weinberg <zack@codesourcery.com>
4983
4984 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
4985 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
4986 (unprotoize.o): Ditto. Build from protoize.c. Define
4987 UNPROTOIZE on command line.
4988 * protoize.c: Include cppdefault.h. Delete include_defaults.
4989 (in_system_include_dir): Use cpp_include_defaults (defined in
4990 cppdefault.o).
4991 * unprotoize.c: Delete file.
4992
650f0e97
AH
49932002-04-17 Aldy Hernandez <aldyh@redhat.com>
4994
46468cd9
ZW
4995 * config/rs6000/altivec.h (vec_ld): Add array variants.
4996 (vec_lde): Same.
4997 (vec_ldl): Same.
650f0e97 4998
71a0ab0c 49992002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 5000 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 5001
46468cd9
ZW
5002 * config/rs6000/altivec.h: Define __ALTIVEC__.
5003 (bool): New.
5004 (__pixel): New.
5005 (pixel): New.
5006 (vec_cfux): New.
5007 (vec_vmaddfp): New.
5008 (vec_vsldoi): New.
5009 Add parentheses to all macro arguments.
71a0ab0c 5010
ff2c46ac
RH
50112002-04-16 Richard Henderson <rth@redhat.com>
5012
5013 PR c++/6320
5014 * except.c (remove_eh_handler): Insert inner regions at beginning
5015 of sibling chain. Refactor expressions.
5016
f1ba94dd
RH
50172002-04-16 Richard Henderson <rth@redhat.com>
5018
f0871dfe
RH
5019 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
5020 * config/sparc/sol2-gas-bi.h: New file.
5021 * config.gcc (sparc*-solaris): Add it as needed.
5022 * configure.in (AS_SPARC64_FLAG): Remove check.
5023 * config.in, configure: Regenerate.
5024
5025 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
5026
50272002-04-16 Richard Henderson <rth@redhat.com>
5028
5029 * config/mips/mips.c (override_options): Don't override N32 for
5030 a 64-bit ISA.
409d3c60 5031
f1ba94dd
RH
5032 PR 6202
5033 * config/mips/mips.md (can_delay): Split out of existing define_delays.
5034 (HILO_delay): Set can_delay false.
5035
178c3eff
DJ
50362002-04-16 Dale Johannesen <dalej@apple.com>
5037
5038 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
5039 instruction addresses.
5040 (rs6000_output_function_epilogue): Likewise.
5041
7d6f6369
PC
50422002-04-16 Paolo Carlini <pcarlini@unitus.it>
5043
5044 * c-parse.in (poplevel, compstmt_start,
5045 compstmt_primary_start): Add ending ';', in accordance
5046 with POSIX.
5047
8947df0c
RH
50482002-04-16 Richard Henderson <rth@redhat.com>
5049
5050 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
5051 Adjust tm_file order to get TARGET_DEFAULT set properly.
5052 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
5053 * doc/install.texi (sparc-solaris): Update.
5054
3148ad6d
DJ
50552002-04-16 Dale Johannesen <dalej@apple.com>
5056
5057 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
5058 comparison operands do not match each other or if modes of
5059 conditions do not match result.
5060
014cb9b6 50612002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 5062
014cb9b6
HP
5063 PR target/6305
5064 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 5065 multiword register.
562a69be 5066
014cb9b6 50672002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 5068
8947df0c 5069 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 5070
a9772b60
JJ
50712002-04-16 Jakub Jelinek <jakub@redhat.com>
5072
5073 PR middle-end/6279
5074 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
5075
5076 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
5077
861829ed
RH
50782002-04-15 Richard Henderson <rth@redhat.com>
5079
5080 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
5081 call_really_used_regs too.
5082
bcf2fe9c
RH
50832002-04-15 Richard Henderson <rth@redhat.com>
5084
5085 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
5086
629111c7
DM
50872002-04-15 David S. Miller <davem@redhat.com>
5088
5089 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
5090 as being CLOBBERed.
5091
98ef3137
JJ
50922002-04-16 Jakub Jelinek <jakub@redhat.com>
5093
5094 PR c/6290
5095 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
5096 CONST_VECTOR is { 0, ... 0 }.
5097
0aa911c5
LR
50982002-04-15 Loren J. Rittle <ljrittle@acm.org>
5099
5100 * doc/install.texi (Installing GCC: Configuration): Clarify
5101 the only supported ways to configure gcc.
5102
83248d49 51032002-04-15 Roland McGrath <roland@frob.com>
46468cd9 5104
83248d49
RM
5105 * config.gcc (alpha*-*-gnu*): New target configuration.
5106 * config/alpha/gnu.h: New file for it.
5107 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
5108
b2123dc0
MM
51092002-04-16 Mark Mitchell <mark@codesourcery.com>
5110
5111 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
5112 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
5113 * tree.h (expand_start_stmt_expr): Update prototype.
5114 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
5115 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
5116 on the STMT_EXPR created for the inline function.
46468cd9 5117
8fe2d853
RH
51182002-04-15 Richard Henderson <rth@redhat.com>
5119
5120 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
5121 config/i386/linux-aout.h, config/i386/linux-oldld.h,
5122 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
5123 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
5124 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
5125 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
5126 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
5127 Define __gnu_linux__, not gnu_linux.
5128 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
5129
07cdae91
MM
51302002-04-15 Mark Mitchell <mark@codesourcery.com>
5131
5132 Remove Chill front end.
5133 * gcc.c (default_compilers): Remove Chill entries.
5134 * ch: Remove directory.
5135 * doc/frontends.texi: Remove information about Chill.
5136 * doc/sourcebuild.texi: Likewise.
5137 * doc/standards.texi: Likewise.
5138
41823c5e
DR
51392002-04-15 Douglas B Rupp <rupp@gnat.com>
5140
5141 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
5142 (LONGLONG_STANDALONE): Define.
5143
eb29ddb6
DM
51442002-04-15 David S. Miller <davem@redhat.com>
5145
5146 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
5147 Call emit_library_call with LCT_NORMAL.
5148 (sparc_initialize_trampoline): Use LCT_foo instead of
5149 magic constant in emit_library_call invocations.
5150 (sparc64_initialize_trampoline): Likewise.
5151 (sparc_profile_hook): Likewise.
5152 * config/sparc/sparc.md: Likewise.
5153
5154 * config/sparc/sparc.c (sparc_extra_constraint_check):
5155 Fix type of argument 'c'.
5156 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
5157 Likewise.
5158
bd6bec6b
GDR
51592002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
5160
5161 * diagnostic.h (output_buffer_state): Redefine.
5162 (output_format_decoder): New macro.
5163 (output_prefixing_rule): Likewise.
5164 (output_line_cutoff): Likewise.
5165 (diagnostic_format_decoder): Adjust.
5166 (diagnostic_prefixing_rule): Likewise.
5167 (diagnostic_line_cutoff): Likewise.
5168 (diagnostic_state): Likewise.
5169 (diagnostic_kind_count): Likewise.
5170 (diagnostic_buffer): Now a macro.
5171
5172 * diagnostic.c (diagnostic_buffer): Remove definition.
5173 (output_is_line_wrapping): Adjust.
5174 (set_real_maximum_length): Likewise.
5175 (output_set_maximum_length): Likewise.
5176 (init_output_buffer): Likewise.
5177 (lhd_print_error_function): Likewise.
5178 (output_do_verbatim): Likewise.
5179
ebef4e8c
NB
51802002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
5181
5182 * cpperror.c (print_location): Don't print include chain
5183 if line == 0.
5184 (cpp_begin_message): Update to use DL_ macros.
5185 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
5186 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
5187 cpp_notice, cpp_notice_from_errno): Remove.
5188 (cpp_error, cpp_error_with_line): Update to take a diagnostic
5189 level.
5190 (cpp_errno): New.
5191 * cppexp.c (CPP_ICE): Remove.
5192 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
5193 lex, integer_overflow, _cpp_parse_expr): Update.
5194 * cppfiles.c (read_include_file, find_include_file,
5195 handle_missing_header, _cpp_read_file, remap_filename): Update.
5196 * cpphash.h (enum error_type): Remove.
5197 (_cpp_begin_message): Update.
5198 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
5199 cpp_handle_option, cpp_post_options): Update.
5200 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
5201 skip_whitespace, parse_identifier, parse_slow, parse_string,
5202 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
5203 cpp_interpret_charconst): Update.
5204 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
5205 lex_macro_node, do_undef, glue_header_name, parse_include,
5206 do_include_common, read_flag, do_line, do_linemarker, do_ident,
5207 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
5208 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
5209 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
5210 _cpp_pop_buffer, do_diagnostic): Update.
5211 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
5212 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
5213 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
5214 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
5215 cpp_notice, cpp_notice_from_errno): Remove.
5216 (cpp_error, cpp_error_with_line): Update to take a diagnostic
5217 level.
5218 (cpp_errno): New.
5219 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
5220 collect_args, enter_macro_context, save_parameter, parse_params,
5221 _cpp_create_definition, check_trad_stringification,
5222 cpp_macro_definition): Update.
5223 * cppmain.c (cpp_preprocess_file): Update.
5224 * fix-header.c (read_scan_file): Update.
5225
c19a3859
AS
52262002-04-14 Andreas Schwab <schwab@suse.de>
5227
5228 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
5229
10fdbed6
JD
52302002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
5231
5232 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
5233
77660a9a
MM
52342002-04-13 Mark Mitchell <mark@codesourcery.com>
5235
5236 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
5237 not gnu_hurd.
5238
e0ff1ded
HPN
52392002-04-13 Hans-Peter Nilsson <hp@axis.com>
5240
5241 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
5242
2341c7ea
JS
52432002-04-13 Joel Sherrill <joel@OARcorp.com>
5244
5245 * config/sparc/t-elf: Enable v8 multilibs. Impacts
5246 sparc-elf and sparc-rtems targets.
5247
d29350c0
MM
52482002-04-13 Mark Mitchell <mark@codesourcery.com>
5249
5250 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
5251 defined, and __gnu_hurd__ wherever __GNU__ is defined.
5252 * arm/linux-elf.h: Likewise.
5253 * cris/aout.h: Likewise.
5254 * cris/linux.h: Likewise.
5255 * i370/linux.h: Likewise.
5256 * i386/gnu.h: Likewise.
5257 * i386/linux-aout.h: Likewise.
5258 * i386/linux-oldld.h: Likewise.
5259 * i386/linux.h: Likewise.
5260 * i386/linux64.h: Likewise.
5261 * ia64/linux.h: Likewise.
5262 * m68k/linux-aout.h: Likewise.
5263 * m68k/linux.h: Likewise.
5264 * mips/linux.h: Likewise.
5265 * pa/pa-linux.h: Likewise.
5266 * pj/linux.h: Likewise.
5267 * rs6000/sysv4.h: Likewise.
5268 * s390/linux.h: Likewise.
5269 * sh/linux.h: Likewise.
5270 * sparc/linux-aout.h: Likewise.
5271 * sparc/linux.h: Likewise.
5272 * sparc/linux64.h: Likewise.
5273 * xtensa/linux.h: Likewise.
5274
fc552851
RS
52752002-04-13 Richard Sandiford <rsandifo@redhat.com>
5276
5277 * stmt.c (check_unique_operand_names): Expect operand names to
5278 be strings rather than identifiers. Use simple_cst_equal to
5279 compare them.
5280 (resolve_operand_name_1): Make same identifier to string change here.
5281 * c-parse.in (asm_operand): Convert a named operand into a string.
5282 * cp/parse.y (asm_operand): Likewise.
5283
1d405c5e
AS
52842002-04-13 Andreas Schwab <schwab@suse.de>
5285
5286 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
5287
c740732f
MM
52882002-04-12 Mark Mitchell <mark@codesourcery.com>
5289
5290 Revert these changes:
5291
5292 2002-04-06 Mark Mitchell <mark@codesourcery.com>
5293
5294 PR c++/5571
5295 * stor-layout.c (layout_decl): Reset the RTL for the decl.
5296
3fc602a0
RH
52972002-04-12 Richard Henderson <rth@redhat.com>
5298
5299 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
5300 (sparc*-*-solaris): Clean up header files.
5301 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
5302 and plan on generating 64-bit code.
5303 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
5304 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
5305 * config/sparc/sol2-sld-64.h: Rename ...
5306 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
5307 for AS_SPARC64_FLAG not defined.
5308 * config/sparc/sol2-gld-bi.h: New.
5309 * config/sparc/sol2-sld.h: Remove.
5310 * config/sparc/sol26-sld.h: New.
5311 * config/sparc/sol2.h: Tidy comments.
5312 * doc/install.texi: Document sparc-solaris configury changes.
5313
2f15e255
RH
53142002-04-12 Richard Henderson <rth@redhat.com>
5315
5316 * recog.c (offsettable_address_p): Match the logic in adjust_address.
5317
5318 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
5319 in 64-bit mode only. Use only for 32-bit or MEDLOW.
5320
cc8475cb
RO
53212002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5322
5323 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
5324
6f133a4a
JL
5325Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
5326
ef1b8858 5327 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
5328 constrain_operands.
5329
1329e600
DR
53302002-04-12 Douglas B Rupp <rupp@gnat.com>
5331
5332 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
5333 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
5334 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 5335 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
5336 * config/i386/t-interix (USER_H): Remove.
5337
0339d239
DD
53382002-04-12 DJ Delorie <dj@redhat.com>
5339
5340 * integrate.c (compare_blocks): Make comparisons safe for when
5341 sizeof(int) < sizeof(char *).
5342 (find_block): Likewise.
5343
cc4d5fec
JH
53442002-04-12 Jan Hubicka <jh@suse.cz>
5345 David Edelsohn <edelsohn@gnu.org>
5346
5347 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
5348 registers.
5349 (symbol_ref_operand): New.
5350 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
5351 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
5352
93215a1b
AS
53532002-04-12 Andreas Schwab <schwab@suse.de>
5354
5355 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
5356 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
5357 overrides the definition in config/svr4.h.
46468cd9 5358
1d80248e
EN
53592002-04-12 Eric Norum <eric.norum@usask.ca>
5360
5361 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
5362 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
5363 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
5364 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
5365 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
5366 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
5367 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
5368 definitions to config/rtems.h and make the targets more similar.
5369
fa1591cb
RK
5370Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5371
fa06ab5c
RK
5372 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
5373 POINTERS_EXTEND_UNSIGNED.
5374 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
5375 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
5376
fa1591cb
RK
5377 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
5378 not specified.
5379
12e85a0e
R
5380Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
5381
5382 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
5383 depends on TARGET_SHMEDIA, not TARGET_SH5.
5384
1ab3e58a
HPN
53852002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
5386
5387 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
5388 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
5389
18778292
R
5390Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
5391
5392 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
5393 no r0 clobber.
5394
9002507c
AS
53952002-04-12 Andreas Schwab <schwab@suse.de>
5396
5397 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
5398
9be40833
RH
53992002-04-12 Richard Henderson <rth@redhat.com>
5400
5401 PR bootstrap/4191
5402 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
5403
5404 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
5405 modes spanning multiple hard regs.
46468cd9 5406
9be40833
RH
5407 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
5408
3d9268b6
JDA
54092002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
5410
5411 * pa.c (pa_output_function_prologue): Don't accumulate the total
5412 number of code bytes when using TARGET_64BIT, or gas, SOM and not
5413 the portable runtime.
5414 (output_deferred_plabels): Handle 64bit plabels.
5415 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
5416 generating pic code using the GAS assembler for object formats that
5417 are not SOM (ie., ELF32 and ELF64).
5418 (output_millicode_call): Check attribute type if attribute length is 28.
5419 Likewise use $PIC_pcrel$0. Only call get_attr_length and
5420 dbr_sequence_length once.
5421 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
5422 dbr_sequence_length once.
5423 * pa.h (TARGET_SOM): Define if not defined.
5424 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
5425 with GAS and not SOM.
5426 (jump, call_internal_reg, call_value_internal_reg): Likewise.
5427 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
5428
d360fd18
DB
54292002-04-11 David O'Brien <obrien@FreeBSD.org>
5430
5431 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
5432 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
5433 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
5434 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
5435 elfos.h and dbxelf.h values are fine now.
5436 * config/i386/freebsd.h, config/alpha/freebsd.h
5437 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
5438
5b8fcab6
DB
54392002-04-11 David O'Brien <obrien@FreeBSD.org>
5440
5441 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
5442 or set Acpu or Amachine. Reformat.
5443 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
5444 define.
5445 (LINK_SPEC): Do not need to undef.
5446 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
5447 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
5448 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
5449 define.
5450 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
5451 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
5452 (LINK_SPEC): Do not need to undef.
5453 (DONT_USE_BUILTIN_SETJMP): Do not define.
5454 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
5455 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
5456 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
5457 Remove trailing spaces.
5458 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
5459 __ELF__, or set Acpu or Amachine. Reformat.
5460 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
5461 define.
5462
fee42cc1
DB
54632002-04-11 David O'Brien <obrien@FreeBSD.org>
5464
5465 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
5466 all other *-*-freebsd* targets.
5467
77a403e4
RH
54682002-04-11 Richard Henderson <rth@redhat.com>
5469
5470 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
5471
cf0005c6
DB
54722002-04-11 David O'Brien <obrien@FreeBSD.org>
5473
5474 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
5475 Include {cpu}/{cpu}.h thru tm_file.
5476 (alpha*-*-linux*ecoff): Remove target.
5477 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
5478 (LINK_SPEC): Remove, is not OS independent.
5479 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
5480 (LINK_SPEC): Do not need to #undef any longer.
5481 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
5482 any longer.
5483 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
5484 __ELF__.
5485 (LINK_SPEC): Moved here from alpha/elf.h.
5486 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
5487 SUB_CPP_PREDEFINES.
5488 * config/alpha/linux-ecoff.h: Remove.
5489 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
5490 (CPP_SPEC): Define _POSIX_SOURCE as needed.
5491 (CPP_SUBTARGET_SPEC): Do not define.
5492 (LINK_SPEC): Do not need to #undef any longer.
5493 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
5494 * config/alpha/vms.h: Likewise.
5495
9be40833 54962002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
5497
5498 * doc/extend.texi: Remove old claim that typedefs cannot have
5499 an alignment attribute.
5500
010f87c4
JJ
55012002-04-11 Jakub Jelinek <jakub@redhat.com>
5502
5503 PR optimization/6177
5504 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
5505 bitpos is 0 and bitsize CONCAT size.
5506
578fc63d
JJ
55072002-04-11 Jakub Jelinek <jakub@redhat.com>
5508
5509 PR c/6223
5510 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
5511
bf9b85ce
DB
55122002-04-10 David O'Brien <obrien@FreeBSD.org>
5513
5514 * config/alpha/freebsd.h: Minor reformatting.
5515 (CPP_SPEC): Define ELF and add cpp_subtarget.
5516 (ASM_SPEC): No longer needed.
5517
7425707d
RH
55182002-04-11 Richard Henderson <rth@redhat.com>
5519
5520 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
5521 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
5522 (dimode mem/zero splitter): New.
5523
1a05e874
HPN
55242002-04-11 Hans-Peter Nilsson <hp@axis.com>
5525
5526 * config/cris/cris.c (cris_override_options): Tweak error message
5527 for PIC not implemented.
5528
5529 * config/cris/cris.h: Tweak comments related to parameter-passing.
5530
5531 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
5532
6f3d0447
RH
55332002-04-10 Richard Henderson <rth@redhat.com>
5534
5535 * except.c (add_ehl_entry): Allow duplicates after landing pad
5536 creation.
5537
174bf2b1
DE
55382002-04-10 David Edelsohn <edelsohn@gnu.org>
5539
5540 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
5541
03f10472
TM
55422002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
5543
5544 * c-decl.c (c_init_decl_processing): Move generation of
5545 decls for g77_integer_type_node and friends from here ...
5546 * c-common.c (c_common_nodes_and_builtins): ... to here.
5547
2f460a0a
UW
55482002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
5549
5550 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
5551 is only used as frame pointer when frame_pointer_needed is true.
5552
0be5cf85
RE
55532002-04-10 Richard Earnshaw <rearnsha@arm.com>
5554
5555 PR target/817
5556 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
5557 for the fact that the pool entry uses two words.
5558 (movdf_hard_insn): Similarly. Also, ADR instruction can span
5559 1k bytes.
5560 (movdf_soft_insn): Similarly.
5561 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
5562 for the fact that the pool entry uses three words.
5563
bf6d4777
RS
55642002-04-10 Richard Sandiford <rsandifo@redhat.com>
5565
5566 * config/mips/mips.c (mips_va_arg): When using the struct version
5567 of the EABI va_list, allow arguments in the register save area to
5568 take up less room than a stack argument.
5569
c2e9dc85
RH
55702002-04-10 Richard Henderson <rth@redhat.com>
5571
5572 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
5573 if EXPAND_INITIALIZER.
5574
bc8e8e97
RH
55752002-04-09 Richard Henderson <rth@redhat.com>
5576
5577 * config/alpha/alpha.md (movdi_er_maybe_g): New.
5578 * config/alpha/alpha.c (alpha_expand_mov): Use it.
5579
a6a063b8
AM
55802002-04-10 Alan Modra <amodra@bigpond.net.au>
5581
5582 PR optimization/6233
5583 * rtlanal.c (pure_call_p): New function.
5584 * rtl.h (pure_call_p): Declare.
5585 * loop.c (prescan_loop): Use it to set has_nonconst_call.
5586 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
5587
7b2e1077
EC
55882002-04-09 Eric Christopher <echristo@redhat.com>
5589
5590 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
5591 information to .comm directive.
5592
d8a50944
RH
55932002-04-09 Richard Henderson <rth@redhat.com>
5594
5595 PR c/5078
5596 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
5597
6a58eee9
RH
55982002-04-09 Richard Henderson <rth@redhat.com>
5599
5600 * basic-block.h (flow_delete_block_noexpunge): Declare.
5601 (expunge_block_nocompact): Declare.
5602 * cfg.c (expunge_block_nocompact): Split out from ...
5603 (expunge_block): ... here.
5604 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
5605 (flow_delete_block_noexpunge): Split out from ...
5606 (flow_delete_block): ... here.
5607 * cfgcleanup.c (delete_unreachable_blocks): Compact while
5608 removing dead blocks.
5609 * except.c (exception_handler_labels): Remove.
5610 (exception_handler_label_map): New.
5611 (struct eh_region): Add aka member.
5612 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
5613 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
5614 (for_each_eh_label, for_each_eh_label_1): New.
5615 (init_eh): Register exception_handler_label_map.
5616 (free_eh_status): Use free_region.
5617 (find_exception_handler_labels): Use the map, not the list.
5618 (remove_exception_handler_label): Likewise.
5619 (maybe_remove_eh_handler): Likewise.
5620 (remove_eh_handler): Use the region aka bitmap.
5621 * except.h (exception_handler_labels): Remove.
5622 (for_each_eh_label): Declare.
5623 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
5624 * loop.c (invalidate_loops_containing_label): New.
5625 (find_and_verify_loops): Use it. Use for_each_eh_label.
5626 * sched-rgn.c (is_cfg_nonregular): Use
5627 current_function_has_exception_handlers.
5628
b47374fa
RH
56292002-04-09 Richard Henderson <rth@redhat.com>
5630
5631 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
5632 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
5633 Do not return changed status.
5634 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
5635 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
5636 New functions that do return changed status.
5637 * sbitmap.h: Update decls.
5638 * gcse.c, lcm.c: Use _cg functions as needed.
5639
1951818c
R
5640Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5641
5642 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
5643 (sh64-*-elf*, sh-*-rtemself*): Likewise.
5644 * config/sh/embed_bb.c: New file.
5645 * config/sh/embed-elf.h: New file.
5646 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
5647 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
5648 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
5649 __PTRDIFF_TYPE__ .
5650 (SUBTARGET_CPP_PTR_SPEC): Don't define.
5651 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
5652 Add subtarget_asm_endian_spec.
5653 (ASM_SPEC): Use subtarget_asm_endian_spec.
5654 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
5655 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
5656 (WCHAR_UNSIGNED): Define.
5657 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
5658 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
5659 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
5660 Fix value.
5661 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
5662 (sh_adjust_cost): Likewise.
5663 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
5664 __PTRDIFF_TYPE__ .
5665 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
5666 (WCHAR_TYPE_SIZE): Likewise.
5667 (ASM_SPEC): Use subtarget_asm_endian_spec.
5668 (SH_ELF_WCHAR_TYPE): #undef/ #define.
5669 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
5670 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
5671 (MAX_WCHAR_TYPE_SIZE): Don't #define .
5672 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
5673 (USER_LABEL_PREFIX): Don't #undef /#define .
5674 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
5675 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
5676 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
5677 (ASM_SPEC): Likewise.
5678 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
5679 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
5680 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
5681 (LIB2FUNCS_EXTRA): Define.
5682 * t-sh64 (LIB2FUNCS_EXTRA): Define.
5683 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
5684 (LIB1ASMFUNCS_CACHE): Define.
5685 (LIB2FUNCS_EXTRA): Redefine empty.
5686
34295799
RH
56872002-04-08 Richard Henderson <rth@redhat.com>
5688
5689 * reorg.c (get_branch_condition): Use reversed_comparison_code.
5690
e8766a39
SC
56912002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5692
5693 * config/m68hc11/larith.asm (__map_data_section): Fix condition
5694 and optimize for size.
5695 (__do_global_ctors): Fix pointer comparison.
5696 (__do_global_dtors): Likewise.
5697
f451b552
DM
56982002-04-09 David S. Miller <davem@redhat.com>
5699
5700 * config/sparc/sparc.c (sparc_extra_constraint_check): New
5701 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
5702 allow reloading pseudos.
5703 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
5704 * config/sparc/sparc-protos.h: Declare it.
5705
5706 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
5707 unsigned comparison warning.
5708 (output_restore_regs): Mark leaf_function as unused.
5709
1ce7f3c2
RK
5710Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5711
5712 * expr.c (is_aligning_offset): New function.
5713 (expand_expr, case COMPONENT_EXPR): Call it.
5714
7a31a340
DM
57152002-04-08 David S. Miller <davem@redhat.com>
5716
5717 PR target/6082
5718 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
5719
5720 Make init_priority work on Sparc when using GNU ld.
5721 * config/sparc/linux.h, config/sparc/linux64.h,
5722 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
5723 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
5724 * config/sparc/sol2-gld.h: New file to do the same.
5725 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
5726 sparc/sol2-gld.h to tm_file.
5727
5728 PR optimization/4328
5729 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
5730 * doc/md.texi: Document it.
5731 * config/sparc/sparc.md (movdi_insn_sp64_novis,
5732 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
5733 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
5734 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
5735 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
5736
11579f33
AJ
57372002-04-08 Andreas Jaeger <aj@suse.de>
5738
5739 * stmt.c (expand_asm_operands): Revert last patch from Richard
5740 Henderson.
5741
b57215d9
GP
57422002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5743
5744 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
5745 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
5746
57472002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5748
5749 * doc/contrib.texi (Contributors): Add David O'Brien.
5750
534d0cc0
AM
57512002-04-08 Alan Modra <amodra@bigpond.net.au>
5752
5753 * configure.in (auto-build.h): Use target_alias and build_alias
5754 when running configure.
5755 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
5756 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
5757 * configure: Regenerate.
5758
19fe522a
DM
57592002-04-07 David S. Miller <davem@redhat.com>
5760
5761 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
5762
bf2d0b8e
JDA
57632002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
5764
5765 PR 5933
5766 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
5767 generating 32-bit pic code.
5768
477cdac7
JT
57692002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
5770
5771 * cppinit.c (cpp_create_reader): Initialize
5772 discard_comments_in_macro_exp.
5773 (COMMAND_LINE_OPTIONS): Add "-CC" option.
5774 (cpp_handle_option): Handle "-CC" option.
5775 * cpplex.c (save_comment): If saving a C++ comment in
5776 a directive, convert it to a C comment.
5777 (_cpp_lex_direct): Pass second comment start character to
5778 save_comment to indicate comment type.
5779 * cpplib.c (_cpp_handle_directive): If processing
5780 a "#define" directive and discard_comments_in_macro_exp
5781 is false, re-enable saving of comments.
5782 (lex_macro_node): If discard_comments_in_macro_exp is false,
5783 discard any comments before the macro identifier.
5784 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
5785 member.
5786 * cppmacro.c (cpp_get_token): If expanding a macro while
5787 processing a directive, discard any comments we might encounter.
5788 (parse_params): If discard_comments_in_macro_exp is false,
5789 ignore comments in the macro parameter list.
5790 * gcc.c (cpp_unique_options): Add "-CC" option.
5791 (option_map): Map "--comments-in-macros" to "-CC".
5792 * doc/cppopts.texi: Document "-CC" option.
5793 * f/lang-specs.h: Add "-CC" option.
5794 * testsuite/gcc.dg/cpp/maccom1.c: New test.
5795 * testsuite/gcc.dg/cpp/maccom2.c: New test.
5796 * testsuite/gcc.dg/cpp/maccom3.c: New test.
5797 * testsuite/gcc.dg/cpp/maccom4.c: New test.
5798 * testsuite/gcc.dg/cpp/maccom5.c: New test.
5799 * testsuite/gcc.dg/cpp/maccom6.c: New test.
5800
f1526122
JDA
58012002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
5802
5803 PR middle-end/6180
5804 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
5805
b1896e61
MM
58062002-04-06 Mark Mitchell <mark@codesourcery.com>
5807
0154eaa8
MM
5808 PR c++/5571
5809 * stor-layout.c (layout_decl): Reset the RTL for the decl.
5810
b1896e61
MM
5811 PR opt/5120
5812 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
5813 RTX_UNCHANGING_P for the functions arguments when a tail call
5814 is made.
5815
b0148884
JM
58162002-04-06 Jason Merrill <jason@redhat.com>
5817
5818 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
5819 (parse_options_and_default_flags): Set them appropriately.
5820 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
5821
392fc5b0
HPN
58222002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
5823
5824 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
5825 here.
5826
5827 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
5828 semicolon.
5829
5830 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
5831 types come in by-reference. Fix typo in comment.
5832
2d69e3cb
DM
58332002-04-05 David S. Miller <davem@redhat.com>
5834
5835 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
5836 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
5837 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
5838 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
5839
58402002-04-05 David S. Miller <davem@redhat.com>
5841
5842 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
5843 are not going to emit return instructions, emit at least a nop
5844 for the sake of sane backtraces.
5845
5f9fb0e3
RH
58462002-04-05 Richard Henderson <rth@redhat.com>
5847
5848 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
5849
49f37a0d
JJ
58502002-04-05 Jakub Jeilnek <jakub@redhat.com>
5851
5852 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
5853
974a3101
AO
58542002-04-05 Alexandre Oliva <aoliva@redhat.com>
5855
5856 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
5857 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
5858 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
5859
2e04a694
AS
58602002-04-05 Andreas Schwab <schwab@suse.de>
5861
a40179bd 5862 * c-convert.c: Include c-common.h.
2e04a694
AS
5863 * Makefile.in (c-convert.o): Updated.
5864
1f785b7c
JJ
58652002-04-05 Jakub Jelinek <jakub@redhat.com>
5866
5867 * mklibgcc.in: Use separate libgcc.map for each multilib.
5868 * Makefile.in (distclean): Don't remove libgcc.map here.
5869
4d2fb38b
JJ
58702002-04-05 Jakub Jelinek <jakub@redhat.com>
5871
5872 * Makefile.in (s-mlib): Handle --disable-multilib by separate
5873 genmultilib invocation.
5874
bb63e5a0
RS
58752002-04-04 Richard Sandiford <rsandifo@redhat.com>
5876
5877 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
5878 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
5879 to num_gprs for symmetry.
5880 * config/mips/mips.c: Adjust accordingly.
5881
8ab80eaa
NB
58822002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
5883
5884 * c-common.c (truthvalue_conversion): Rename, update.
5885 * c-common.h (c_common_truthvalue_conversion): New.
5886 * c-convert.c (convert): Update.
5887 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
5888 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
5889 * c-typeck.c (build_binary_op, build_unary_op,
5890 build_conditional_expr): Update.
5891 * fold-const.c (constant_boolean_node, fold): Use langhook.
5892 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
5893 * langhooks.h (struct lang_hooks): New hook.
5894 * stmt.c (expand_decl_cleanup): Use langhook.
5895 * tree.h (truthvalue_conversion): Remove.
5896objc:
5897 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
5898
a2e9374a
AM
58992002-04-05 Alan Modra <amodra@bigpond.net.au>
5900
5901 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
5902 Add rules to make null object file.
5903
64d08263
JB
59042002-04-04 Jim Blandy <jimb@redhat.com>
5905
5906 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
5907 macro formal parameter names.
5908
aa7634dd
DM
59092002-04-04 David S. Miller <davem@redhat.com>
5910
5911 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
5912
ecc114f7
RH
59132002-04-04 Richard Henderson <rth@redhat.com>
5914
5915 PR middle-end/5099
5916 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
5917 Support copies into and out of memory. Don't accept allows_reg
5918 and allows_mem as gospel.
5919
c4484b8f
RH
59202002-04-04 Richard Henderson <rth@redhat.com>
5921
5922 PR opt/6165
5923 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
5924 (write_dependence_p): Likewise.
5925
39002160
RH
59262002-04-04 Richard Henderson <rth@redhat.com>
5927
5928 * predict.c (estimate_bb_frequencies): Do frequency calculation
5929 with a volatile temporary.
5930
f53ebe71
UW
59312002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
5932
5933 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
5934
15e0ecab
JJ
59352002-04-04 Jakub Jelinek <jakub@redhat.com>
5936
5937 PR c++/6119
5938 * final.c (final_start_function): Don't bump profile_label_no here...
5939 (final_end_function): ...but here.
5940
ffd386b0
JJ
59412002-04-04 Jakub Jelinek <jakub@redhat.com>
5942
5943 * config/sparc/sparc.md (pic): New attribute.
5944 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
5945 into stack slots.
5946 (split after do_builtin_setjmp_setup): New.
5947
8b156b3e
JJ
59482002-04-04 Jakub Jelinek <jakub@redhat.com>
5949
5950 PR fortran/6106
5951 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
5952 change.
5953
014c0998
JJ
59542002-04-04 Jakub Jelinek <jakub@redhat.com>
5955
5956 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
5957 UNITS_PER_WORD for zero sized aggregates.
5958
4d8611d9
DM
59592002-04-03 David S. Miller <davem@redhat.com>
5960
5961 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
5962 one-character spec for this, just use %(link_gcc_c_sequence).
5963
b03ad99d
DM
59642002-04-03 David S. Miller <davem@redhat.com>
5965
5966 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
5967 handling.
5968
823fbbce
JDA
59692002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
5970
5971 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
5972 (DWARF_FRAME_RETURN_COLUMN): Move.
5973 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5974 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
5975 * pa.c (except.h, predict.h): Include.
5976 (FRP): Delete.
5977 (store_reg_modify, set_reg_plus_d): Revise prototypes.
5978 (output_ascii): Add cast.
5979 (store_reg_modify): Revise to add frame notes.
5980 (set_reg_plus_d): Likewise.
5981 (compute_frame_size): Include space for eh data registers in frame if
5982 the current function calls eh_return.
5983 (hppa_expand_prologue): Ensure register %r2 is saved if the current
5984 function calls eh_return. Save eh data registers if the current
5985 function calls eh_return. Fix code to add frame notes. Emit
5986 blockage to prevent insns with frame notes being scheduled in the
5987 delay slot of calls.
5988 (hppa_expand_epilogue): Restore eh data registers and do final stack
5989 adjustment if the current function calls eh_return. Don't add frame
5990 notes.
5991 (output_call): Revise for change in length of call insn. Don't do
5992 return pointer adjustment for an unconditional jump in the delay slot
5993 of a call when using frame notes.
5994 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
5995 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
5996 (ARG_POINTER_CFA_OFFSET): Define.
5997 * pa.md (return_external_pic): New pattern.
5998 (prologue): Correct formatting. Use return_external_pic if current
5999 function calls eh_return.
6000 (call_internal_symref, call_value_internal_symref,
6001 sibcall_internal_symref, sibcall_value_internal_symref): Change default
6002 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
6003 respectively.
6004 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
6005
6006 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
6007 list of targets to check using "nop" insn.
6008 * configure: Rebuilt.
6009
4078e224
AM
60102002-04-04 Alan Modra <amodra@bigpond.net.au>
6011
6012 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
6013
bbd7687d
DM
60142002-04-03 David S. Miller <davem@redhat.com>
6015
6016 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
6017 library sequence passed to the linker.
6018 (LINK_COMMAND_SPEC): Use it.
6019 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
6020 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
6021 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
6022
659e5a7a
JM
60232002-04-03 Jason Merrill <jason@redhat.com>
6024
6025 * except.c (struct eh_status): Remove protect_list.
6026 (begin_protect_partials, end_protect_partials): Remove.
6027 (add_partial_entry): Remove.
6028 * except.h: Remove prototypes.
6029
6030 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
6031 expand_decl_cleanup_eh.
6032
6033 PR c++/5636
6034 * tree.h (CLEANUP_EH_ONLY): New macro.
6035 * stmt.c (expand_decl_cleanup_eh): New fn.
6036 (expand_cleanups): Check CLEANUP_EH_ONLY.
6037 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
6038 Use expand_decl_cleanup_eh.
6039 (expand_stmt): Adjust.
6040 * c-common.h: Adjust prototype.
6041
053d3344
HPN
60422002-04-04 Hans-Peter Nilsson <hp@axis.com>
6043
6044 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
6045 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
6046 (cris_target_asm_function_epilogue): Ditto.
6047 (cris_initial_frame_pointer_offset): Ditto.
6048 (cris_simple_epilogue): Ditto.
6049 (cris_expand_builtin_va_arg): Variable-size types come in
6050 by-reference.
6051
61ab5260
DM
60522002-04-03 David S. Miller <davem@redhat.com>
6053
6054 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
6055 little-endian.
6056 (set_fast_math): Correct 'fsr' type.
6057
ef4f94ac
RH
60582002-04-03 Richard Henderson <rth@redhat.com>
6059
36c2272c 6060 PR opt/3569
ef4f94ac
RH
6061 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
6062 * toplev.c (check_global_declarations): Use it.
6063 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
6064 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
6065 (LANG_HOOKS_DECLS): Add it.
6066 * langhooks.c (lhd_warn_unused_global_decl): New.
6067 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
6068 * c-objc-common.c (c_warn_unused_global_decl): New.
6069 * c-tree.h (c_warn_unused_global_decl): Declare.
6070 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
6071
599bba86
NB
60722002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
6073
6074 * langhooks-def.h (lhd_set_decl_assembler_name,
6075 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
6076 (LANG_HOOKS_INITIALIZER): Update.
6077 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
6078 * langhooks.h (struct lang_hooks): New hook.
6079 * tree.c (set_decl_assembler_name): Move to langhooks.c.
6080 (lang_set_decl_assembler_name): Remove.
6081 (init_obstacks): Don't set hook.
6082 (decl_assembler_name): New function.
6083 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
6084 (decl_assembler_name): New.
6085 (lang_set_decl_assembler_name): Remove.
6086
cf7b8b0d
JJ
60872002-04-03 Jakub Jelinek <jakub@redhat.com>
6088
6089 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
6090 works properly with .hidden symbols.
6091 * configure: Rebuilt.
6092 * config.in: Rebuilt.
6093 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
6094 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
6095 properly with .hidden symbols.
6096
faf6db38
JJ
60972002-04-03 Jakub Jelinek <jakub@redhat.com>
6098
6099 PR middle-end/6102
6100 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
6101 USE argument.
6102
68c17f30
RH
61032002-04-03 Richard Henderson <rth@redhat.com>
6104
6105 PR opt/4120
6106 * sched-rgn.c (sets_likely_spilled): New.
6107 (sets_likely_spilled_1): New.
6108 (add_branch_dependences): Use it.
6109
6584b4aa
RH
61102002-04-02 Richard Henderson <rth@redhat.com>
6111
6112 PR opt/4311
6113 * loop.h (LOOP_FIRST_PASS): New.
6114 * loop.c (strength_reduce): Mind it when deciding to unroll.
6115 * toplev.c (rest_of_compilation): Set it.
6116
0acf409f
DM
61172002-04-02 David S. Miller <davem@redhat.com>
6118
6119 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
6120 mems_ok_for_ldd_peep when the order of the loads being examined
6121 is reversed.
6122 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
6123 existing comment to increase comprehension of this situation.
6124
85654444
ZW
61252002-04-02 Zack Weinberg <zack@codesourcery.com>
6126
6127 * config/sh/sh.md: Don't use union real_extract.
6128
543828ca
RH
61292002-04-02 Richard Henderson <rth@redhat.com>
6130
6131 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
6132
39ed301b
DB
61332002-04-02 David O'Brien <obrien@FreeBSD.org>
6134
6135 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
6136 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
6137 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
6138 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
6139 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
6140 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
6141 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
6142 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
6143 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
6144 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
6145 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
6146 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
6147 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
6148 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
6149 Include as many configury headers via tm_file as possible. This
6150 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
6151 * config/openbsd-oldgas.h: New file.
6152 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
6153 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
6154 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
6155 config/i386/i386-coff.h, config/i386/i386-interix.h,
6156 config/i386/iscdbx.h, config/i386/linux-aout.h,
6157 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
6158 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
6159 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
6160 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
6161 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
6162 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
6163 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
6164 config/i386/vxi386.h: Do not directly include configury headers.
6165 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
6166 Directly include configury headers that are no longer automatically
6167 included by the above headers.
6168 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
6169 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
6170 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
6171 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
6172 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
6173 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
6174 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
6175 (TARGET_VERSION): Define.
6176 * config/i386/beos-elf.h, config/i386/freebsd.h,
6177 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
6178 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
6179 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
6180 config/i386/sco5.h, config/i386/sysv4.h
6181 (TARGET_VERSION): Do not need to protect.
6182 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
6183 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
6184 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
6185 config/i386/i386-interix.h, config/i386/linux-aout.h,
6186 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
6187 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
6188 (YES_UNDERSCORES): Do not define - not needed.
6189 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
6190 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
6191 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
6192 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
6193 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
6194 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
6195 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
6196 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
6197
9432c136
EB
61982002-04-02 Eric Botcazou <ebotcazou@multimania.com>
6199 Richard Henderson <rth@redhat.com>
6200
6201 PR c/5484
6202 * function.c (assign_temp): Accept either type or decl argument.
6203 Detect variables whose size is too large to fit into an integer.
6204 * stmt.c (expand_decl): Pass the decl, not the type.
6205
058b1275
DB
62062002-04-02 David O'Brien <obrien@FreeBSD.org>
6207
6208 * protoize.c: Match include directory usage with cppdefault.c.
6209
5add6d1a 62102002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 6211 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
6212
6213 * combine.c (simplify_comparison): Avoid narrowing a comparison
6214 with a paradoxical subreg when doing so would drop signficant bits.
6215
1e533e4b
SE
62162002-04-02 Steve Ellcey <sje@cup.hp.com>
6217
6218 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
6219 if POINTERS_EXTEND_UNSIGNED is defined.
6220
7a145e92
RH
62212002-04-02 Richard Henderson <rth@redhat.com>
6222
6223 PR opt/3967
6224 * local-alloc.c (contains_replace_regs): LO_SUM may contain
6225 replace regs.
6226
3a079822
RH
62272002-04-02 Richard Henderson <rth@redhat.com>
6228
6229 * doc/standards.texi: Document required freestanding libc entry points.
6230
c94ccb87
AM
62312002-04-02 Alan Modra <amodra@bigpond.net.au>
6232
6233 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
6234 associated splitter. Remove MQ constraint.
6235 (ctrdi_internal4): Correct CCmode clobber.
6236
fe660a1a
JDA
62372002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
6238
6239 * milli64.S ($$dyncall): New function.
6240 * t-linux (LIB1ASMFUNCS): Revise module list.
6241 (LIB1ASMSRC): Use pa/milli64.S.
6242
eadc0202
RH
62432002-04-02 Richard Henderson <rth@redhat.com>
6244
6245 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
6246 rename solaris_sys_varargs_h.
6247
a1471322
RK
6248Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6249
6250 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
6251 the same mode as its component.
6252
c8b94768
RH
62532002-04-02 Richard Henderson <rth@redhat.com>
6254
6255 PR opt/190
6256 * final.c (this_is_asm_operands): Export.
6257 * output.h (this_is_asm_operands): Declare.
6258 * config/i386/i386.c (print_operand): Error odd asm operands.
6259
161eb4fc
RH
62602002-04-02 Richard Henderson <rth@redhat.com>
6261
6262 PR opt/420
6263 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
6264
b88a94c6
RH
62652002-04-01 Richard Henderson <rth@redhat.com>
6266
6267 PR target/1538
6268 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
6269 * fixinc/fixincl.x: Rebuild.
6270
72e32876
RH
62712002-04-01 Richard Henderson <rth@redhat.com>
6272
6273 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
6274 (atomic_alloc, atomic_free): New.
6275 (SIZE, MASK_FOR, PTR_IN): New.
6276 (emergency_reg_state, emergency_reg_state_free): New.
6277 (emergency_labeled_state, emergency_labeled_state_free): New.
6278 (reg_state_alloced, labeled_state_alloced): New.
6279 (alloc_reg_state, free_reg_state): New.
6280 (alloc_label_state, free_label_state, free_label_states): New.
6281 (push, pop, dup_state_stack, free_state_stack): Use them.
6282 (desc_label_state): Likewise.
6283 (uw_frame_state_for): Free label states and state stack.
6284 (uw_update_reg_address): Eliminate warnings.
6285
84d76074
VM
62862002-04-01 Vladimir Makarov <vmakarov@redhat.com>
6287
6288 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 6289 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 6290
dffd7eb6
NB
62912002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
6292
6293 * c-decl.c (grokdeclarator): Update.
6294 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
6295 * c-tree.h (c_mark_addressable): New.
6296 * c-typeck.c (default_function_array_conversion, build_unary_op,
6297 build_array_ref, convert_for_assignment): Update.
6298 (mark_addressable): Rename.
6299 * calls.c (try_to_integrate, expand_call): Use langhook.
6300 * expr.c (expand_expr): Use langhook.
6301 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
6302 * langhooks.h (struct lang_hooks): New hook.
6303 * stmt.c (expand_asm_operands): Use langhook.
6304 * tree.h (mark_addressable): Remove.
6305objc:
6306 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
6307
544ef5b5
BW
63082002-04-01 Bob Wilson <bob.wilson@acm.org>
6309
9be40833
RH
6310 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
6311 in previous change.
544ef5b5 6312
bcf88f9b
BW
63132002-04-01 Bob Wilson <bob.wilson@acm.org>
6314
6315 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
6316 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
6317
ceef8ce4
NB
63182002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
6319
6320 * c-common.c (unsigned_conversion_warning, convert_and_check,
6321 unsigned_type, signed_type, shorten_compare,
6322 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
6323 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
6324 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
6325 New.
6326 * c-decl.c (grokdeclarator): Update.
6327 * c-format.c (check_format_types): Update.
6328 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
6329 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
6330 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
6331 * convert.c (convert_to_integer): Use new hooks.
6332 * expmed.c (make_tree): Use new hooks.
6333 * expr.c (store_expr): Use new hooks.
6334 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
6335 all_ones_mask_p, unextend, fold): Use new hooks.
6336 * langhooks.h (struct lang_hooks_for_types): New hooks.
6337 * tree.h (signed_or_unsigned_type, signed_type,
6338 unsigned_type): Remove.
6339objc:
6340 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
6341 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
6342
1d9ad0e0
RH
63432002-03-31 Richard Henderson <rth@redhat.com>
6344
6345 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
6346 (desc_frgr_mem): Fix reference to f16-f31.
6347
d544bc39
KG
63482002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6349
6350 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
6351 RTVEC_ELT): Const-ify.
d8750784
KG
6352 * varray.h (VARRAY_CHECK): Const-ify.
6353 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
6354 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 6355
b18101c7
NB
63562002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
6357
6358 * diagnostic.c: Include langhooks-def.h.
6359 * Makefile.in (diagnostic.o): Update.
6360
48a7a235
NB
63612002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
6362
6363 * c-common.c (c_unsafe_for_reeval): Rename.
6364 * c-common.h (c_unsafe_for_reeval): Rename.
6365 * c-decl.c (finish_incomplete_decl): Rename.
6366 (c_init_decl_processing): Don't set langhook.
6367 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
6368 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
6369 * c-objc-common.c (c_objc_common_init): Don't set langhook.
6370 * c-tree.h (finish_incomplete_decl): Rename.
6371 * langhooks-def.h (lhd_unsafe_for_reeval): New.
6372 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
6373 (LANG_HOOKS_INITIALIZER): Update.
6374 * langhooks.c (lhd_unsafe_For_reeval): New.
6375 * langhooks.h (struct langhooks): New hooks.
6376 * toplev.c (incomplete_decl_finalize_hook): Remove.
6377 (wrapup_global_declarations): Update.
6378 * tree.c (lang_unsafe_for_reeval): Remove.
6379 (unsafe_for_reeval): Update.
6380 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
6381 Remove.
6382objc:
6383 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
6384 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
6385
7cb32822
NB
63862002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
6387
6388 * diagnostic.c (print_error_function): Remove.
6389 (default_print_error_function): Rename.
6390 (report_error_function): Update.
6391 * diagnostic.h (print_error_function): Remove.
6392 (default_print_error_function): Remove.
6393 * langhooks-def.h (struct diagnostic_context): Predeclare.
6394 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
6395 (LANG_HOOKS_INITIALIZER): Update.
6396 * langhooks.h (struct diagnostic context): Predeclare.
6397 (struct lang_hooks): New hook.
6398
1db02437
FS
63992002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6400
6401 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
6402 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
6403 !flag_pic.
6404 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
6405 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
6406 of PIC_OFFSET_TABLE_REGNUM thruout.
6407 * config/rs6000/rs6000.md: Likewise.
6408 * config/rs6000/darwin.h: Likewise.
6409
3bf1e984
RK
6410Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6411
6412 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
6413 unsigned HOST_WIDE_INT, not unsigned int.
6414
0864c526
JJ
64152002-03-31 Jakub Jelinek <jakub@redhat.com>
6416
6417 PR middle-end/6096, middle-end/6098, middle-end/6099
6418 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
6419 CODE_LABELs.
6420 (fill_slots_from_thread): Likewise.
6421
105b2084
JJ
64222002-03-31 Jakub Jelinek <jakub@redhat.com>
6423
6424 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
6425 floating fields in float regs.
6426 (function_arg_record_value_2): Likewise.
6427
db08fddf
HPN
64282002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
6429
6430 * config/mmix/mmix.md (define_constants): Remove misleading
6431 FIXME. Add MMIX_fp_rO_OFFSET.
6432 ("nonlocal_goto_receiver"): Don't have stack-frame address of
6433 saved rO as part of the pattern. Remove FIXME.
6434 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
6435 here, at output-time.
6436
4f31cce8
JJ
64372002-03-31 Jakub Jelinek <jakub@redhat.com>
6438
6439 PR middle-end/6100
6440 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
6441 REG_BR_PRED.
6442 (output_v9branch): Likewise.
6443
ba2b7435
AO
64442002-03-31 Alexandre Oliva <aoliva@redhat.com>
6445
6446 * gcc.c: Revert previous patch for now.
6447 * config/i386/djgpp.h: Likewise.
6448
aa66aa5f 64492002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
6450
6451 * config/mmix/crti.asm (_init): Register _fini with atexit.
6452 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
6453
41ba8a20
RH
64542002-03-31 Richard Henderson <rth@redhat.com>
6455
6456 PR target/3997
6457 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
6458 (ASM_OUTPUT_DEF_FROM_DECLS): New.
6459
adc186ef
RH
64602002-03-31 Richard Henderson <rth@redhat.com>
6461
6462 * libgcc2.c (__bb_exit_func): Make static.
6463
9be40833 6464 * config/alpha/alpha.md (trap): New.
a7648399 6465
9602f5a0
RH
64662002-03-31 Richard Henderson <rth@redhat.com>
6467
6468 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
6469 promoted argument types; build trap.
6470 (expand_builtin_trap): New.
6471 (expand_builtin): Use it.
6472 * stmt.c (expand_nl_goto_receivers): Likewise.
6473 * expr.h (expand_builtin_trap): Declare.
6474 * libfuncs.h (LTI_abort, abort_libfunc): New.
6475 * optabs.c (init_optabs): Init abort_libfunc.
6476
1a0a7539
AO
64772002-03-31 Alexandre Oliva <aoliva@redhat.com>
6478
6479 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
6480 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 6481 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
6482 shared_name in the second copy.
6483 (init_spec): Test for duplicate
6484 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
6485
b5de1a27
DM
64862002-03-30 David S. Miller <davem@redhat.com>
6487
6488 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
6489 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
6490
78414d74 64912002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 6492 Richard Henderson <rth@redhat.com>
78414d74 6493
9be40833
RH
6494 * regmove.c (combine_stack_adjustments_for_block): Avoid
6495 emitting a stack adjustment of zero bytes. Let delete_insn
6496 update bb->head.
78414d74 6497
33074e5f
RH
64982002-03-30 Richard Henderson <rth@redhat.com>
6499
6500 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
6501 (sparc_emitting_epilogue): New.
6502 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
6503 * config/sparc/sparc-protos.h: Update.
6504 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
6505 (TARGET_SWITCHES): Update.
6506 * config/sparc/sparc.md (return): Remove.
6507 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
6508 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
6509 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
6510 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
6511 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
6512 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
6513 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
6514 Remove MASK_EPILOGUE.
6515 * doc/invoke.texi: Update.
6516
606cc056
DB
65172002-03-30 Daniel Berlin <dan@dberlin.org>
6518
6519 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
6520 CPP will start the file for us.
7b2e1077 6521
bdbe5b8d
RH
65222002-03-30 Richard Henderson <rth@redhat.com>
6523
6524 PR target/5446
6525 * config/ia64/ia64.c (group_barrier_needed_p): Special case
6526 prologue_allocate_stack.
6527 (ia64_single_set): Use insn codes for recognition of special
6528 cases, not rtl matching.
6529 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
6530
4ab95d82
JH
6531Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
6532
6533 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
6534
89a8b315
RH
65352002-03-30 Richard Henderson <rth@redhat.com>
6536
6537 PR target/6032
6538 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
6539 or -fomit-frame-pointer with profiling.
6540 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
6541 (FUNCTION_PROFILER): Do nothing.
6542 (PROFILE_HOOK): New.
6543 * config/sparc/sparc.c (sparc_override_options): Don't check
6544 code models for profiling.
6545 (sparc_function_profiler): Remove.
6546 (sparc_profile_hook): New.
6547 * config/sparc/sparc-protos.h: Update.
6548
30984c57
JJ
65492002-03-30 Jakub Jelinek <jakub@redhat.com>
6550
6551 PR optimization/6086
6552 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
6553 of SUBREG of volatile MEM or because the MEM was mode dependent,
6554 return CLOBBER instead of unmodified SUBREG.
6555
1540f9eb
JH
6556Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
6557
89a8b315
RH
6558 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
6559 when not optimizing.
1540f9eb
JH
6560
6561 * toplev.c (rest_of_compilation): Cann mark_constant_function
6562 only when optimizing.
6563
89a8b315
RH
6564 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
6565 are NULL.
1540f9eb
JH
6566
6567 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
6568 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
6569 (try_optimize_cfg): clear all AUX fields.
6570
6571 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
6572 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
6573 (ix86_address_cost): Be prepared for SUBREGed registers.
6574 (legitimate_address_p): Accept SUBREGed registers.
6575
70d95bac
RH
65762002-03-29 Richard Henderson <rth@redhat.com>
6577
6578 PR target/5672
6579 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
6580
d3294cd9
FS
65812002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6582
6583 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
6584 for aggregate and TFmode types.
6585
a106c875
HPN
65862002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
6587
6588 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
6589
7d7a5d6f
RH
65902002-03-29 Richard Henderson <rth@redhat.com>
6591
6e2d670b 6592 PR target/5886
7d7a5d6f
RH
6593 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
6594 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
6595
30c99a84
RH
65962002-03-29 Richard Henderson <rth@redhat.com>
6597
6e2d670b 6598 PR target/6041
30c99a84
RH
6599 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
6600 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
6601 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
6602 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
6603 conditional.
6604 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
6605
02a566dc
DJ
66062002-03-29 Dale Johannesen <dalej@apple.com>
6607
6608 * loop.c (combine_movables): Do allow combination of pseudos.
6609
bc3a44db
LR
66102002-03-29 Loren J. Rittle <ljrittle@acm.org>
6611
6612 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
6613 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
6614 No functional change except ...
6615 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
6616 * doc/install.texi (*-*-freebsd*): Document port configuration.
6617
b0c48229
NB
66182002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
6619
6620 * Makefile.in (convert.o, calls.o, expmed.o): Update.
6621 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
6622 Use new hooks.
6623 * builtin-types.def (BT_PTRMODE): Update.
6624 * c-common.c (type_for_size): Rename c_common_type_for_size.
6625 (type_for_mode): Similarly.
6626 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
6627 Use new hook.
6628 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
6629 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
6630 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
6631 Redefine.
6632 * c-typeck.c (common_type, comptypes, default_conversion):
6633 Use new hooks.
6634 * calls.c: Include langhooks.h.
6635 (emit_library_call_value_1): Use new hooks. Avoid redundant
6636 calls.
6637 * convert.c: Include langhooks.h
6638 (convert_to_pointer, convert_to_integer): Use new hooks.
6639 * except.c (init_eh): Similarly.
6640 * expmed.c: Include langhooks.h.
6641 (expand_mult_add): Use new hooks.
6642 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
6643 try_casesi): Similarly.
6644 * fold-const.c (optimize_bit_field_compare, make_range,
6645 decode_field_reference, fold_truthop, fold): Similarly.
6646 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
6647 put_var_into_stack): Similarly.
6648 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
6649 LANG_HOOKS_TYPE_FOR_SIZE): New.
6650 (LANG_HOOKS_TYPES_INITIALIZER): Update.
6651 * langhooks.h (lang_hooks_for_types): New hooks.
6652 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
6653 * tree.c (get_unwidened, get_narrower): Similarly.
6654 * tree.h (type_for_mode, type_for_size): Remove.
6655 * varasm.c (force_const_mem): Use new hooks.
6656 * utils2.c (nonbinary_modular_operation): Update.
6657objc:
6658 * objc-act.c (handle_impent): Update.
6659 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
6660 Redefine.
6661
e206a74f
SE
66622002-03-29 Steve Ellcey <sje@cup.hp.com>
6663
6664 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
6665 * config/ia64/ia64.c (basereg_operand): New.
6666 * config/ia64/ia64-protos.h (basereg_operand): Declare.
6667 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
6668
7d9b6378
HPN
66692002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
6670
6671 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
6672 unwind information when frame_pointer_needed.
6673 (mmix_assemble_integer): Tweak wording in comment.
6674
f1e639b1
NB
66752002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
6676
6677 * Makefile.in (except.o): Update.
6678 * except.c: Include langhooks.h.
6679 (init_eh): Use langhook.
6680 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
6681 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
6682 (LANG_HOOKS_INITIALIZER): Update.
6683 * langhooks.h (lang_hooks_for_types): New.
6684 (struct lang_hooks): Add it.
6685 * tree.c (make_lang_type_fn, make_lang_type): Remove.
6686 * tree.h (make_lang_type_fn, make_lang_type): Remove.
6687config:
6688 * alpha/alpha.c: Include langhooks.h.
6689 (alpha_build_va_list): Use langhook.
6690 * d30v/d30v.c: Include langhooks.h.
6691 (d30v_build_va_list): Use langhook.
6692 * i386/i386.c: Include langhooks.h.
6693 (ix86_build_va_list): Use langhook.
6694 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
6695 * s390/s390.c: Include langhooks.h.
6696 (s390_build_va_list): Use langhook.
6697 * stormy16/stormy16.c: Include langhooks.h.
6698 (stormy16_build_va_list): Use langhook.
6699
f17f9332
JJ
67002002-03-29 Jakub Jelinek <jakub@redhat.com>
6701
6702 PR c++/5964
6703 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
6704 attributes.
6705 (length): Compute variable length for branches/calls/jumps here.
6706 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
6707 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
6708 define branch_type attribute.
6709 (divsi3_sp32): Maximum length is 6 not 7.
6710 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
6711 call_address_untyped_struct_value_sp32,
6712 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
6713 * config/sparc/sparc.c (empty_delay_slot): New function.
6714 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
6715 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
6716
0a0440c9
JJ
67172002-03-29 Jakub Jelinek <jakub@redhat.com>
6718
6719 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
6720 nonzero_bits if not needed.
6721 (nonzero_bits) [XOR]: Likewise.
6722 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
6723 reg_last_set_mode and mode are both MODE_INT, but not equal.
6724 (record_value_for_reg): Compute reg_last_set_nonzero_bits
6725 in nonzero_bits_mode for MODE_INT modes.
6726
c9045f47
RH
67272002-03-28 Richard Henderson <rth@redhat.com>
6728
6729 PR target/5715
6730 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
6731 to GAS. Correct drift between alternatives.
6732
f8ed1958
RH
67332002-03-28 Richard Henderson <rth@redhat.com>
6734
6735 PR target/6087
6736 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
6737
54e20385
LR
67382002-03-28 Alexandre Oliva <aoliva@redhat.com>
6739
6740 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
6741 emulation to the linker.
6742
67432002-03-28 Loren J. Rittle <ljrittle@acm.org>
6744
6745 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
6746 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
6747
8bc52806
JL
6748Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
6749
6750 * combine.c (simplify_and_const_int): Make sure to apply mask
6751 when force_to_mode returns a constant integer. PR3311.
6752
279dccc5
JDA
67532002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
6754
6755 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
6756
62aaa62c
GP
67572002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6758
6759 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
6760 and Objective-C Dialect Options.
6761
b8de5050
RH
67622002-03-28 Richard Henderson <rth@redhat.com>
6763
6764 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
6765 comparison should be done vs !=0 not >0 return code. Tidy cases.
6766
619708cc
RH
67672002-03-28 Richard Henderson <rth@redhat.com>
6768
6769 * c-decl.c (finish_function): New arg can_defer_p. Pass it
6770 on to c_expand_body.
6771 * c-tree.h (finish_function): Update decl.
6772 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
6773
b1d874d7
JH
6774Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
6775
6776 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
6777
f5eb5fd0
JH
6778Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
6779
6780 * rtlanal.c: Include flags.h
6781 (may_trap_p): Do not mark FP operations if trapping
6782 if !flag_trapping_math
6783 * Makefile.in (rtlanal.o): Add dependency on flag.h
6784 * ifcvt.c (noce_operand_ok): Avoid the lameness.
6785
81b4c798
ZW
67862002-03-27 Zack Weinberg <zack@codesourcery.com>
6787
6788 * mips.md: Use dconst1, not 1.0, as first argument of
6789 REAL_VALUE_LDEXP. Don't use union real_extract.
6790
55a2ea2a
AM
67912002-03-28 Alan Modra <amodra@bigpond.net.au>
6792
6793 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
6794 rather than $target. Heed program_prefix and
6795 program_transform_name. Search for gas in cross-compiler case too.
6796 "test -x" rather than "test -f".
6797 (gcc_cv_ld): Likewise.
6798 (gcc_cv_nm): Heed program_prefix and program_transform_name.
6799 (gcc_cv_objdump): Likewise.
6800 * configure: Regenerate.
6801
7ffb4fd2
NB
68022002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
6803
6804 * Makefile.in (attribs.o): Update.
6805 * attribs.c: Include langhooks.h.
6806 (decl_attributes): Use langhook.
6807 * c-decl.c (insert_default_attributes): Rename.
6808 * c-tree.h (c_insert_default_attributes): New.
6809 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
6810 (LANG_HOOKS_INITIALIZER): Update.
6811 * langhooks.h (struct lang_hooks): New hook.
6812 * tree.h (insert_default_attributes): Remove.
6813objc:
6814 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
6815
e4dbaed5
AS
68162002-03-27 Andreas Schwab <schwab@suse.de>
6817
6818 * config/i386/i386.c (classify_argument): Also check for
6819 QUAL_UNION_TYPE.
6820
18b467f1
RO
68212002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6822
6823 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
6824 any more.
6825
d337d653
JH
6826Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
6827
6828 * i960.md (ret): Set PC.
6829 (nonlocal_goto): Fix expander.
6830 * builtins.c (epxand_builin_longjmp): Check that we've emitted
6831 some jump or call.
6832
218aa620
JH
6833Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
6834
6835 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
6836 of libcall regions.
6837
e27a4eaf
ZD
6838Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6839
6840 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
6841 assigning to BLOCK_FOR_INSN directly.
6842
8a12f34c
JH
6843Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
6844
6845 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
6846
c9d892a8
NB
68472002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
6848
6849 * c-common.c (c_expand_expr): Fix prototype.
6850 * c-common.h (c_expand_expr): Always declare, update.
6851 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
6852 * c-objc-common.c (c_objc_common_init): No global hook.
6853 * expr.c (expand_expr): Use langhook.
6854 * expr.h (enum expand_modifier): Conditionally declare.
6855 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
6856 (LANG_HOOKS_INITIALIZER): Update.
6857 * langhooks.c (lhd_expand_expr): New.
6858 * langhooks.h (struct lang_hooks): New hook.
6859 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
6860 (lang_independent_init): Don't default hook.
6861objc:
6862 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
6863
6dad5a56
RH
68642002-03-27 Richard Henderson <rth@redhat.com>
6865
6866 PR target/6054
6867 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
6868 TARGET_CONST_GP. Simplify conditions.
6869
59f96879
RH
68702002-03-27 Richard Henderson <rth@redhat.com>
6871
6872 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
6873 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
6874 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
6875
f3f1190d
DS
68762002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
6877
6878 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
6879 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
6880 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
6881 Remove unnecessary masks.
6882 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
6883 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
6884 -mwindows, -mdll switches and their negations.
6885
31c816cf
NB
68862002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
6887
6888 * gcc-common.c (lang_mark_false_label_stack): Remove.
6889 * ggc.h (lang_mark_false_label_stack): Similarly.
6890
7b2e1077 68912002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
6892
6893 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
6894
6895 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
6896 or __rtems_ is defined.
6897
1ef9531b
RH
68982002-03-26 Richard Henderson <rth@redhat.com>
6899
6900 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
6901 if a non-trivial load was emitted.
6902 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
6903 in high+extra+low case.
6904
300d4093
RH
69052002-03-26 Richard Henderson <rth@redhat.com>
6906
6907 * config.gcc (sparc*-solaris): Use float_format=sparc.
6908
b3689904
RH
69092002-03-26 Richard Henderson <rth@redhat.com>
6910
6911 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
6912 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
6913 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
6914 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
6915 (WINT_TYPE_SIZE): Fix at 32.
6916
1eefb6c1
RH
69172002-03-26 Richard Henderson <rth@redhat.com>
6918
6919 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
6920 until after eh landing pad generation.
6921 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
6922 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
6923
361ea006
RH
69242002-03-26 Richard Henderson <rth@redhat.com>
6925
6926 * expr.h (ADD_PARM_SIZE): One more convert for INC.
6927
1de38a88
PE
69282002-03-26 Phil Edwards <pme@gcc.gnu.org>
6929
6930 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
6931 and warning switches.
6932 (cc1_options): Likewise.
6933
d7e60e95 69342002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 6935
d7e60e95
HB
6936 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
6937 Restore more of the signal context. Set no_reg_stack_frame.
6938 * config/ia64/unwind-ia64.c (unw_state_record):
6939 Add no_reg_stack_frame, comments.
6940 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
6941 (uw_update_context): Adjust bsp when unwinding from leaf,
6942 but not signal frame.
6943
7032923b
DE
69442002-03-26 David Edelsohn <edelsohn@gnu.org>
6945
6946 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
6947
8be56275
BW
69482002-03-26 Bob Wilson <bob.wilson@acm.org>
6949
6950 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
6951
56fbb855
RE
69522002-03-26 Richard Earnshaw <rearnsha@arm.com>
6953
6954 PR target/5621
6955 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
6956 "Add a pool_range attribute", which was lost during the ARM/Thumb
6957 merge.
6958
3437320b
BW
69592002-03-26 Bob Wilson <bob.wilson@acm.org>
6960
6961 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
6962 a register into the MAC16 accumulator.
6963
173028e5
AC
69642002-03-26 Andrew Cagney <ac131313@redhat.com>
6965
6966 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
6967 (Warning Options): Document -Wswitch-enum.
6968 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
6969 -Wswitch.
6970 (warn_switch_enum): Define variables.
6971 * flags.h (warn_switch_enum): Declare variables.
6972 * stmt.c (expand_end_case_type): When warn_switch_enum /
6973 -Wswitch-enum, perform switch checks.
6974 Fix PR c/5044.
7b2e1077 6975
e14365a7
RE
69762002-03-26 Richard Earnshaw <rearnsha@arm.com>
6977
6978 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
6979 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
6980 (reload_muladdsi_compare0_scratch): Delete.
6981
46fc709d
LR
69822002-03-26 Loren J. Rittle <ljrittle@acm.org>
6983
6984 * doc/install.texi (*-*-freebsd*): Update.
6985
f36dea3c
RH
69862002-03-26 Richard Henderson <rth@redhat.com>
6987
8e5fe23f
RH
6988 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
6989 (SUB_PARM_SIZE): Cast DEC to ssizetype.
6990
6991 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
6992 types from the normal argument frame.
6993
f36dea3c
RH
6994 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
6995 variable sized objects by reference.
6996 (sparc_va_arg): Receive them by reference too.
6997
1447dc69
HP
69982002-03-26 Hartmut Penner <hpenner@de.ibm.com>
6999
7000 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 7001 code to not restoring global registers.
1447dc69 7002
4f0ade92
NB
70032002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
7004
7005 * Makefile.in (ggc-common.o): Update.
7006 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
7007 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
7008 * c-tree.h (c_mark_tree): New.
7009 * ggc-common.c: Include langhooks.h.
7010 (gcc_mark_trees): Use new langhook.
7011 * ggc-callbacks.c: Delete file.
7012 * ggc.h (lang_mark_tree): Remove.
7013 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
7014 (LANG_HOOKS_INITIALIZER): Update.
7015 * langhooks.h (struct lang_hooks): New hook.
7016objc:
7017 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
7018
caba570b
ZW
70192002-03-25 Zack Weinberg <zack@codesourcery.com>
7020
7021 * doc/cpp.texi: Exclude entire Top node from printed manual.
7022 Move option index after directive index. Insert page breaks
7023 before GFDL and concept index. Index environment variables
7024 with command line options.
7025 * doc/cppenv.texi: Use @vtable for environment variable list.
7026 Add paragraph explaining semantics of empty elements in path
7027 variables. Exclude a cross-reference to Fishkill from the
7028 manpage. Remove an unnecessary cross-reference of the entry
7029 right above the referer. Don't use @anchor in text that goes
7030 into manpage.
7031 * doc/cppopts.texi: Cross-reference the environment variables
7032 section, not the specific environment variable, for consistency.
7033
6b2e80b7
RH
70342002-03-25 Richard Henderson <rth@redhat.com>
7035
7036 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
7037 anywhere in the block. Don't refer to insns that have been
7038 removed from the chain. Iterate backward through the new insns.
7039 Don't refer to edges that have been removed.
7040
67e469d7
AM
70412002-03-26 Alan Modra <amodra@bigpond.net.au>
7042
7043 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
7044 test for overflow of constant.
7045
f2356393
RE
70462002-03-25 Richard Earnshaw <rearnsha@arm.com>
7047
7048 PR target/2623
7049 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
7050 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
7051 these patterns on arm_archv4.
7052
355426ab
DS
70532002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
7054
7055 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
7056 int".
7057
15e5ad76
ZW
70582002-03-25 Zack Weinberg <zack@codesourcery.com>
7059
7060 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
7061 float_handled, float_handler, float_signal, set_float_handler,
7062 and do_float_handler. Set handler for SIGFPE to crash_signal.
7063 * toplev.h: Don't prototype do_float_handler.
7064
7065 * c-lex.c: Fold parse_float into lex_number. Make warning
7066 about portability of hex float constants more informative, and
7067 don't issue it on top of a syntax error.
7068 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
7069 their callers.
7070 * real.h: Define REAL_VALUE_ABS here...
7071 * simplify-rtx.c: ... not here. Fold check_fold_consts,
7072 simplify_unary_real, simplify_binary_real, and
7073 simplify_binary_is2orm1 into their callers.
7074 * tree.c: Fold build_real_from_int_cst_1 into caller.
7075
7076 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
7077
7078 * tsystem.h: Include float.h here...
7079 * libgcc2.c: ... not here.
7080
56ae9405
NC
70812002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
7082
7083 Fixes for: PR bootstrap/3591, target/5676
7084 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
7085 defined. Do not disable exceptions or rtti.
7086 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
7087 mcore.h. Disable exceptions and rtti, since they are not
7088 supported by EPOC.
7089
c88770e9
NB
70902002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
7091
7092 * c-decl.c (maybe_build_cleanup): Remove.
7093 * expr.c (expand_expr): Use langhook.
7094 * langhooks-def.h (lhd_return_null_tree,
7095 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
7096 (LANGHOOKS_INITIALIZER): Update.
7097 * langhooks.c (lhd_return_null_tree): New.
7098 * langhooks.h (struct lang_hooks): New hook.
7099 * tree-inline.c (initialize_inlined_parameters): Use langhook.
7100 * tree.h (maybe_build_cleanup): Remove.
7101
2ed1f154
JJ
71022002-03-25 Jakub Jelinek <jakub@redhat.com>
7103
7104 * regrename.c (build_def_use): Move recog_memoized
7105 before extract_insn.
7106
6ddae612
JJ
71072002-03-25 Jakub Jelinek <jakub@redhat.com>
7108
7109 PR target/6043
7110 * expr.c (emit_group_store): Handle storing into CONCAT.
7111
ea475b23
JJ
71122002-03-25 Jakub Jelinek <jakub@redhat.com>
7113
7114 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
7115 corresponding MATCH_DUP.
7116
e7d482b9
RH
71172002-03-24 Richard Henderson <rth@redhat.com>
7118
cd39fc13
RH
7119 * unroll.c (unroll_loop): Zero label_map.
7120
e7d482b9
RH
7121 * gcse.c: Include except.h.
7122 * Makefile.in (gcse.o): Update.
7123
1bd6476f
RH
71242002-03-24 Richard Henderson <rth@redhat.com>
7125
7126 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
7127 Do resolve_unique_section before shared data clause.
7128
2e6c150a
RH
71292002-03-24 Richard Henderson <rth@redhat.com>
7130
7131 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
7132
b29afcf8
RH
71332002-03-24 Richard Henderson <rth@redhat.com>
7134
15e5ad76 7135 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
7136 generated in the middle of a block. Do global life update if
7137 zapped EH edges.
7138
05ed1296
RH
71392002-03-24 Richard Henderson <rth@redhat.com>
7140
7141 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
7142
3ddbb8a9
NB
71432002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
7144
7145 preprocessor/3951
15e5ad76 7146 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
7147 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
7148 (init_dependency_output): Don't make no_output decision here.
7149
740b77b6
AC
71502002-03-24 Andrew Cagney <ac131313@redhat.com>
7151
7152 * stmt.c (check_for_full_enumeration_handling): Remove tests of
7153 warn_switch. Update description.
7154 (expand_end_case_type): Call check_for_full_enumeration_handling
7155 when warn_switch.
7156
7590cfd0
SC
71572002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7158
7159 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
7160 (m68hc11_split_move): Call it to see if the source and destination
7161 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 7162 source an offsetable memory operand and generate an add.
7590cfd0 7163
2e3d3481
SC
71642002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7165
7166 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
7167 register for operand 2.
7168 ("*subsi3_zero_extendqi"): Likewise.
7169 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
7170 bits so that it is compatible with a pop.
7171 ("*andhi3_gen"): Likewise.
7172 ("xorhi3"): Likewise.
7173
2784528c
NB
71742002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
7175
7176 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
7177 -pedantic here...
7178 (cpp_post_options): ... not here.
7179
aaf93206
NB
71802002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
7181 Aldy Hernandez <aldyh@redhat.com>
7182
7183 Removal of separate preprocessor cpp0.
7184
7185 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
7186 cpp0, install-common): Update.
7187 * c-common.c (flag_preprocess_only): New.
7188 (c_common_init): Preprocess for -E.
7189 * c-common.h (flag_preprocess_only): New.
7190 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
7191 * c-objc-common.c (c_init_decl_processing): Exit quickly
7192 for NULL return from c_common_init.
7193 * cpplib.h (cpp_preprocess_file): New.
7194 * cppmain.c (main, general_init, pfile, progname): Remove.
7195 (do_preprocessing): Rename cpp_preprocess_file, don't call
7196 cpp_finish. Don't close stdout here.
7197 (setup_callbacks): Update prototype.
7198 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
7199 Update.
7200 * tradcpp.c (main): Ignore -quiet.
7201objc:
7202 * lang-specs.h (default_compilers): Preprocess with cc1obj.
7203
c6e6f5c1
RH
72042002-03-24 Richard Henderson <rth@redhat.com>
7205
7206 PR optimization/5742
7207 * machmode.def: Add inner mode field to complex modes.
7208 * config/mips/mips.c (mips_function_value): Always define. Add
7209 new argument to handle libcalls.
7210 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
7211 (FUNCTION_VALUE): Likewise.
7212 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
7213 * config/mips/mips-protos.h: Update.
7214
d88e57d1
RH
72152002-03-23 Richard Henderson <rth@redhat.com>
7216
7217 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
7218 * config/sparc/sparc-protos.h: Update.
7219 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
7220
6dfaf9ba
RH
72212002-03-23 Richard Henderson <rth@redhat.com>
7222
7223 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
7224 _start or _init begins the text segment.
7225
0c769cf8
DE
72262002-03-23 David Edelsohn <edelsohn@gnu.org>
7227
7228 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
7229 not HOST_WIDEST_INT.
7230 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
7231
64e92a26
RE
72322002-03-23 Richard Earnshaw <rearnsha@arm.com>
7233
7234 PR java/5489
7235 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
7236 operand argument to output_return_instruction.
15e5ad76 7237 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
7238 const_true_rtx then just return.
7239 (arm_print_operand, case 'D'): If the operand is const_true_rtx
7240 then abort.
7241
d6961341
AC
72422002-03-23 Andrew Cagney <ac131313@redhat.com>
7243
7244 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
7245 (Warning Options): Document -Wswitch-default.
7246 * toplev.c (W_options): Add -Wswitch-default. Update comment on
7247 -Wswitch.
7248 (warn_switch_default): Define variable.
7249 (warn_switch): Update comment.
7250 * flags.h (warn_switch_default): Declare variable.
7251 (warn_switch): Update comment.
7252 * stmt.c (expand_end_case): Check for and, when
7253 warn_switch_no_default, warn of a missing default case.
15e5ad76 7254
d4c5ac1f
AM
72552002-03-23 Alan Modra <amodra@bigpond.net.au>
7256
bbaa9790
AM
7257 * real.h (N): Special case 128 bit doubles.
7258
d4c5ac1f
AM
7259 * combine.c (simplify_comparison): When widening modes, ignore
7260 sign extension on CONST_INTs.
7261
84bf8c2c
BW
72622002-03-22 Bob Wilson <bob.wilson@acm.org>
7263
7264 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
7265 passed to adjust_address. Fix comment formatting.
7266
7267
b216cd4a
ZW
72682002-03-22 Zack Weinberg <zack@codesourcery.com>
7269
7270 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
7271 Always make REAL_VALUE_TYPE a struct containing an array of
7272 HOST_WIDE_INT, not a double. Tidy up the code deciding how
7273 big it is. Don't declare or use union real_extract.
7274
7275 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
7276 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
7277 (print_operand), config/arm/arm.c (output_move_double),
7278 config/arm/arm.md (consttable_4, consttable_8),
7279 config/romp/romp.c (output_fpops), config/s390/s390.h
7280 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
7281 (xtensa_output_literal): Don't use union real_extract.
7282
7283 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
7284 (sfmode_constant_to_ulong), config/ns32k/merlin.h
7285 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
7286 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
7287 (PRINT_OPERAND): Don't use local version of union
7288 real_extract.
7289
7290 * config/convex/convex.c (check_float_value), config/vax/vax.c
7291 (vax_float_literal), config/m88k/m88k.md (divdf3),
7292 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
7293 config/pdp11/pdp11.c (output_move_quad): Don't do host
7294 arithmetic on target floating point quantities.
7295
7296 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
7297 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
7298
7299 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
7300 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
7301
7302 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
7303 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
7304 INFINITY.
7305 * print-rtl.c (print_rtx): Disable code which needs
7306 floating-point emulator.
7307 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
7308 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
7309 depending on HOST_FLOAT_FORMAT to be defined properly.
7310
7311 * config/1750a/1750a.c (get_double, float_label): Delete.
7312 (print_operand): Delete huge commented-out chunk. Use
7313 REAL_VALUE_TO_DECIMAL.
7314 * config/1750a/1750a-protos.h: Delete prototypes of deleted
7315 functions.
7316 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
7317 IEEE_FLOAT_FORMAT.
7318 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
7319 Use REAL_VALUE_TO_DECIMAL as ELF version does.
7320 * config/m88k/m88k.c (real_power_of_2_operand,
7321 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
7322 real_extract out of the union; run the input through
7323 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
7324 from that into the union.
7325 * config/pdp11/pdp11.c (output_move_double): Rearrange
7326 parentheses to make automatic indenter happy.
7327
7328 * doc/tm.texi (Cross-compilation): Rename node to "Floating
7329 Point" and rewrite to describe current situation. Also adjust
7330 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
7331 match code.
7332 * doc/rtl.texi: Adjust cross reference.
7333
a8cacfd2
BW
73342002-03-22 Bob Wilson <bob.wilson@acm.org>
7335
7336 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
7337 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
7338 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
7339 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
7340 prevent use of sp as a reload register.
7341 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
7342 non_acc_reg_operand.
7343 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
7344 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
7345 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
7346 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
7347
d4e6133f
NB
73482002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
7349
b216cd4a
ZW
7350 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
7351 * cpplex.c (unterminated): Delete.
7352 (parse_string): No string literal may extend over multiple
7353 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
7354 * cppmain.c (scan_translation_unit): Strings are single-line.
7355
b216cd4a 7356 * doc/cpp.texi: Update to match.
d4e6133f 7357
65e6c005
JJ
73582002-03-22 Jakub Jelinek <jakub@redhat.com>
7359
7360 PR optimization/5854
7361 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
7362 Shut up warnings.
7363 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
7364 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
7365 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
7366 const0 if scratch register was not allocated.
7367 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
7368 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
7369 with GEN_INT (...).
7370 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
7371 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
7372 with GEN_INT (...) everywhere. Remove constraints in define_split
7373 patterns.
7374 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
7375 require scratch register for setting 0 into regs/non-pushable memory.
7376
7f48c9e1
AO
73772002-03-22 Alexandre Oliva <aoliva@redhat.com>
7378
7379 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
7380 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
7381
909de5da
PE
73822002-03-22 Phil Edwards <pme@gcc.gnu.org>
7383
7384 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
7385 * cppinit.c (cpp_create_reader): On by default.
7386 (cpp_handle_option): Handle -W[no-]endif-labels.
7387 (cpp_post_options): Also enable if -pedantic.
7388 * cpplib.c (do_else): Use it.
7389 (do_endif): Likewise.
7390 * doc/cppopts.texi: Document new option.
7391 * doc/invoke.texi: Document new option.
7392
d8bf17f9
LB
73932002-03-22 Lars Brinkhoff <lars@nocrew.org>
7394
7395 * config/i386/i386.c, config/i386/i386.md: Change all occurences
7396 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
7397
70e0ccd0
AO
73982002-03-22 Alexandre Oliva <aoliva@redhat.com>
7399
7400 * flow.c (calculate_global_regs_live): Clear aux fields of
7401 ENTRY and EXIT.
7402
68882f0f
JJ
74032002-03-22 Jakub Jelinek <jakub@redhat.com>
7404
7405 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
7406 REG or MEM subregs, pass rtx * instead of rtx to it.
7407 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
7408 rtx * instead of rtx to alter_subreg.
7409 * config/m32r/m32r.c (gen_split_move_double): Likewise.
7410 * config/pj/pj.c (pj_output_rval): Likewise.
7411
648fe28b
RH
74122002-03-22 Richard Henderson <rth@redhat.com>
7413
7414 PR target/3177
7415 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
7416 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
7417 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
7418 (ia64_expand_prologue): Look at int_regs, not words, for number
7419 of incomming int regs.
7420
e8dcd824
AM
74212002-03-22 Andrew MacLeod <amacleod@redhat.com>
7422
7423 * expr.c (expand_expr): A RESULT_DECL is part of a call.
7424
96327cdc
JH
7425Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
7426
7427 * toplev.c (flag_loop_optimize, flag_crossjumping):
7428 New static variables.
7429 (rest_of_compilation): Conditionalize crossjumping and
7430 loop optimizer.
7431 (parse_options_and_default_flags): Default loop_optimize and
7432 crossjumping.
7433 (lang_independent_options): Add -fcrossjumping and -floop-optimize
7434 * invoke.texi (crossjumping, loop-optimize): Document.
7435
bc185257
RS
74362002-03-22 Richard Sandiford <rsandifo@redhat.com>
7437
7438 * real.c (eiisneg): Move outside #ifdef NANS.
7439
0a2ed1f1
JH
7440Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
7441
7442 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
7443 frequencies match; avoid match on different loop depths.
7444 (try_crossjump_to_bb): Kill tests that no longer brings time
7445 savings.
7446 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
7447 updating code.
7448 (split_edge): Likewise.
7449
7450 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
7451 variable.
7452
7453 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
7454 * cfgrtl.c: Include insn-config.h
7455 (split_block) Dirtify block in presence of conditional execution
7456
4d72536e
RS
74572002-03-22 Richard Sandiford <rsandifo@redhat.com>
7458
7459 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
7460 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
7461 (function_arg): Constify CUMULATIVE_ARGS.
7462 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
7463 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
7464 (UNITS_PER_DOUBLE): New macro.
7465 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
7466 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
7467 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
7468 fp_regs and stack_words.
7469 (EABI_FLOAT_VARARGS_P): New macro.
7470 * config/mips/mips.c (struct mips_arg_info): New.
7471 (mips_arg_info): New function.
7472 (function_arg_advance): Use it. Add adjustment instructions here
7473 rather than in function_arg.
7474 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
7475 for VOIDmode at the beginning of the function.
7476 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
7477 (function_arg_pass_by_reference): Likewise.
7478 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
7479 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
7480 (mips_va_start): Likewise. Use the new stack_words field of
7481 CUMULATIVE_ARGS to set up overflow area. Reformat.
7482 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
7483 doubles and other types, aligning the overflow pointer for non-doubles
7484 too. Remove some code duplication. Replace hard-coded constants.
7485
e6f884cd
RS
74862002-03-22 Richard Sandiford <rsandifo@redhat.com>
7487
7488 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
7489 (CLASS_UNITS): Undefine.
7490 (CLASS_MAX_NREGS): Use FP_INC.
7491 * config/mips/mips.c (compute_frame_size): Likewise.
7492 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
7493
10cf9bde
NB
74942002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
7495
7496 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
7497 prototype, and handle lexing numbers and identifiers.
7498 (parse_identifier): Update to new form of parse_slow.
7499 (parse_number): Fast path only, use parse_slow otherwise.
7500 (_cpp_lex_direct): Update calls to parse_number.
7501
fbc2782e
DD
75022002-03-21 DJ Delorie <dj@redhat.com>
7503
7504 * bb-reorder.c (make_reorder_chain_1): Protect against
7505 when redundant edges are omitted.
7506 * predict.c (dump_prediction): Likewise.
7507
fba39eaf
RH
75082002-03-21 Richard Henderson <rth@redhat.com>
7509
7510 PR target/5996
7511 * fixinc/inclhack.def (solaris_stdio_tag): New.
7512 * fixinc/fixincl.x: Regenerate.
7513
eba80994
EB
75142002-03-21 Eric Botcazou <ebotcazou@multimania.com>
7515
7516 PR c/5597
7517 * c-typeck.c (process_init_element): Flag non-static
7518 initialization of a flexible array member as illegal.
7519
2a78758b
AM
75202002-03-22 Alan Modra <amodra@bigpond.net.au>
7521
7522 * config/rs6000/t-linux64: New.
7523 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
7524 t-ppccomm. Use t-rs6000 and t-linux64.
7525 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
7526 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
7527 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
7528 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 7529
2cb921f4
AH
75302002-03-21 Aldy Hernandez <aldyh@redhat.com>
7531
eba80994
EB
7532 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
7533 flag_really_no_inline instead of optimize == 0.
2cb921f4 7534
eba80994 7535 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 7536
eba80994 7537 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 7538
eba80994 7539 * flags.h (flag_really_no_inline): New.
2cb921f4 7540
659e5a7a 7541 * c-common.c (c_common_post_options): Initialize
eba80994 7542 flag_really_no_inline.
2cb921f4 7543
eba80994 7544 * toplev.c (flag_really_no_inline): New.
2cb921f4 7545
239b8b9d
JJ
75462002-03-21 Jakub Jelinek <jakub@redhat.com>
7547
7548 * config/avr/avr.md (length): Fix length computation for
7549 conditional branches.
7550
43577e6b
NB
75512002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
7552
7553 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
7554 sdbout.o, profile.o): Update.
7555 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
7556 langhook.
7557 * c-common.h (gettags): Move here from tree.h.
7558 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
7559 insert_block, getdecls, kept_level_p, global_bindings_p): New.
7560 * dbxout.c (dbxout_init): Use getdecls langhook.
7561 * expr.c (expand_expr): Use insert_block langhook.
7562 * fold-const.c: Include langhooks.h.
7563 (fold_range_test, fold_binary_op_with_conditional_arg,
7564 fold): Use global_bindings_p langhook.
7565 * integrate.c (expand_inline_function): Use insert_block langhook.
7566 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
7567 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
7568 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
7569 LANG_HOOKS_GETDECLS): New.
7570 (LANG_HOOKS_INITIALIZER): Update.
7571 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
7572 langhook.
7573 * langhooks.h (struct lang_hooks_for_decls): New.
7574 (struct lang_hooks): Update.
7575 * profile.c: Include langhooks.h.
7576 (output_func_start_profiler): Use new langhooks.
7577 * sdbout.c: Include langhooks.h.
7578 (sdbout_init, sdbout_finish): Use getdecls langhook.
7579 * stmt.c: Include langhooks.h.
7580 (expand_fixup, fixup_gotos): Use new langhooks.
7581 * stor-layout.c: Include langhooks.h.
7582 (variable_size): Use global_bindings_p langhook.
7583 * toplev.c (compile_file): Use getdecls langhook.
7584 * tree-inline.c (remap_block): Use insert_block langhook.
7585 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
7586 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
7587
5b19b10c
RH
75882002-03-21 Richard Henderson <rth@redhat.com>
7589
7590 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
7591 constants in .data when -fpic.
7592
e05af335
GP
75932002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7594
7595 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
7596 where appropriate.
7597
60ffc997
TT
75982002-03-21 Tom Tromey <tromey@redhat.com>
7599
7600 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
7601
75897075
RK
7602Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7603
a73afd69 7604 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 7605
75897075
RK
7606 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
7607
312687cf
EB
76082002-03-21 Eric Botcazou <ebotcazou@multimania.com>
7609 Richard Henderson <rth@redhat.com>
7610
7611 PR c/5354
7612 * c-common.c (c_expand_expr): Preserve result of a statement
7613 expression if needed.
7614
f0e1f482
JJ
76152002-03-21 Jakub Jelinek <jakub@redhat.com>
7616
7617 PR bootstrap/4195
7618 * genrecog.c (maybe_both_true_mode): Remove.
7619 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
7620 * machmode.def (Pmode): Likewise.
7621
c14b9960
JW
7622Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
7623
7624 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
7625 (nonlocal_mentioned_p_1): New function.
7626 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
7627 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
7628 (mark_constant_function): Recognize pure functions.
7629 * rtl.h (global_reg_mentioned_p): New prototype.
7630 * rtlanal.c (global_reg_mentioned_p,
7631 global_reg_mentioned_p_1): New function.
7632
aaa4d130
RO
76332002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7634
7635 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
7636 UNIX assert.h.
7637 * fixinc/fixincl.x: Regenerate.
7638
e5c4bd1b
JM
76392002-03-20 Jason Merrill <jason@redhat.com>
7640
7641 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
7642
852b81bb
MM
76432002-03-20 Michael Meissner <meissner@redhat.com>
7644
7645 * doc/invoke.texi (Optimize Options): Document that -O2 sets
7646 -fstrict-aliasing.
7647
86d8c251
BW
76482002-03-20 Bob Wilson <bob.wilson@acm.org>
7649
7650 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
7651 ".literal_position" directive before the constant pool.
7652
0a39c350
GP
76532002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7654
7655 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
7656 Add Craig Rodrigues.
7657 Add Brad Lucier to testers.
7658
71a83373
JJ
76592002-03-20 Jakub Jelinek <jakub@redhat.com>
7660
7661 PR target/4792
7662 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
7663 to if_then_else.
7664 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
7665 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
7666 instead of insn_extract.
7667
a29b099d
JJ
76682002-03-20 Jakub Jelinek <jakub@redhat.com>
7669
7670 PR bootstrap/4192
71a83373 7671 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
7672
7673 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
7674 stmt if some case has been output.
7675
048b1c95
JJ
76762002-03-20 Jakub Jelinek <jakub@redhat.com>
7677
7678 PR c/5972
7679 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
7680 movsfcc_1, movdfcc_1): Add %O2.
7681 * config/i386/i386.c (print_operand): Handle %ON.
7682 Print . before float condition codes in Sun as cmov syntax.
7683 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
7684 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
7685 no longer true.
7686
f4864588
PB
76872002-03-20 Philip Blundell <pb@nexus.co.uk>
7688
7689 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
7690 return instruction if PC was popped.
7691
3a307de4
BW
76922002-03-20 Bob Wilson <bob.wilson@acm.org>
7693
7694 * config/xtensa/xtensa.md: Remove unused type attributes.
7695 (adddi_carry, subddi_carry): Change type attribute to "multi".
7696
048b1c95 76972002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
7698
7699 PR optimization/5999, middle-end/5731
7700 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
7701 multiplications by reciprocals.
7702
7afff7cf
NB
77032002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
7704
7705 * Makefile.in: Update.
7706 * c-common.c: Include langhooks.h.
7707 (inline_forbidden_p): Use new hook.
7708 * diagnostic.c: Include langhooks.h.
7709 (format_with_decl, announce_function,
7710 default_print_error_function): Use new hook.
7711 * dwarf2out.c (dwarf2_name): Use new hook.
7712 * function.c: Include langhooks.h.
7713 (init_function_start): Use new hook.
7714 * langhooks-def.h (lhd_decl_printable_name): New.
7715 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
7716 (LANGHOOKS_INITIALIZER): Update.
7717 * langhooks.c (lhd_decl_printable_name): New.
7718 * langhooks.h (struct lang_hooks): New hook.
7719 * toplev.c (decl_name, decl_printable_name): Remove.
7720 (open_dump_file): Use new hook.
7721 (process_options): Remove old hook.
7722 * tree.h (decl_printable_name): Remove.
7723objc:
7724 * objc-act.c (objc_init): Remove old hook.
7725 (objc_printable_name): Export.
7726 * objc-act.h (objc_printable_name): New.
7727 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
7728
f78ce0b7
JB
77292002-03-19 Jim Blandy <jimb@redhat.com>
7730
7731 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
7732 the start_source_file debug hook, not the current line number.
7733
15b5aef3
RH
77342002-03-19 Richard Henderson <rth@redhat.com>
7735
7736 * flow.c (EH_USES): Provide default.
7737 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
7738 * doc/tm.texi (EH_USES): New.
7739
7740 * config/ia64/ia64.c (ia64_eh_uses): New.
7741 * config/ia64/ia64-protos.h: Update.
7742 * config/ia64/ia64.h (EH_USES): New.
7743
02a7a3fd
RH
77442002-03-19 Richard Henderson <rth@redhat.com>
7745
7746 * varasm.c (output_constant_def): Fix stupid typo.
7747
93f82d60
RH
77482002-03-19 Richard Henderson <rth@redhat.com>
7749
2842be05 7750 PR 5879
93f82d60
RH
7751 * except.c (current_function_has_exception_handlers): New.
7752 * except.h: Declare it.
7753 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
7754 Combine tests that disable all sibcalls for the function.
7755
ed4fbfa0
OH
77562002-03-19 Olivier Hainque <hainque@act-europe.fr>
7757
7758 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
7759 for INTEGER_CST.
7760
ebf0e888
RH
77612002-03-19 Richard Henderson <rth@redhat.com>
7762
1e82682b 7763 PR 5977, 5991
ebf0e888
RH
7764 * config/ia64/ia64.c: Revert 2002-03-01 patch.
7765 * config/ia64/ia64.h (INIT_EXPANDERS): New.
7766
e37b38d7
JB
77672002-03-19 Jim Blandy <jimb@redhat.com>
7768
7769 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
7770 name, even if the replacement list contains no tokens, as required
7771 by Dwarf.
7772
2a4ea326
JM
77732002-03-19 Jason Merrill <jason@redhat.com>
7774
f9d09ae5
JM
7775 * varasm.c (globalize_decl): Get the name from the RTL, not
7776 DECL_ASSEMBLER_NAME.
7777
2a4ea326
JM
7778 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
7779
99b96edb
BW
77802002-03-19 Bob Wilson <bob.wilson@acm.org>
7781
7782 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
7783 subdi_carry): Define.
7784
3774b567
DE
77852002-03-19 David Edelsohn <edelsohn@gnu.org>
7786
7787 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
7788 about -fpic/-fPIC if extra_warnings set.
7789
21ef78aa
DE
77902002-03-19 David Edelsohn <edelsohn@gnu.org>
7791
7792 * expr.c (expand_expr): Sign-extend CONST_INT generated from
7793 TREE_STRING_POINTER.
0c2fdcdf 7794 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 7795
91d4b3fd
RK
7796Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7797
7798 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
7799 in favor of SP if FRAME_POINTER_REQUIRED is false.
7800
2496c7bd
LB
78012002-03-19 Lars Brinkhoff <lars@nocrew.org>
7802
7803 * emit-rtl.c (gen_int_mode): New function.
7804 * rtl.h: Prototype for it.
7805 * combine.c (make_extraction, simplify_comparison), expmed.c
7806 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
7807 (convert_modes, store_field), optabs.c (expand_fix),
7808 simplify-rtx.c (neg_const_int, simplify_unary_real),
7809
7810 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
7811 Use it instead of GEN_INT (trunc_int_for_mode (...)).
7812
f735a153
JJ
78132002-03-19 Jakub Jelinek <jakub@redhat.com>
7814
7815 PR c/5656
7816 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
7817 convert_parm_for_inlining.
7818 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
7819 Define.
7820 * langhooks-def.h: Likewise.
7821 * objc/objc-lang.c: Likewise.
7822 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
7823 function.
7824 * tree-inline.c (initialize_inlined_parameters):
7825 Call convert_parm_for_inlining lang hook if needed.
7826 * c-typeck.c (c_convert_parm_for_inlining): New function.
7827 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
7828
1929c971
MM
78292002-03-18 Mark Mitchell <mark@codesourcery.com>
7830
b216cd4a 7831 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
7832 can be destroyed after expanding the argument.
7833 (expand_call): Likewise.
7834
c79ca0ac
EC
78352002-03-15 Eric Christopher <echristo@redhat.com>
7836
7837 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
7838 Fix register preference on last change.
7839 * config/mips/mips.c (mips_return_in_memory): New function.
7840 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
7841 * config/mips/mips-protos.h: Declare.
7842 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
7843 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
7844
07e2e444
AO
78452002-03-18 Alexandre Oliva <aoliva@redhat.com>
7846
1bfbbbcf
AO
7847 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
7848 a register too.
7849 (anddi3, iorsi3): Likewise.
7850
c066429e
AO
7851 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
7852 use %gprel for symbols that are going to be placed in linkonce
7853 sections.
7854
07e2e444
AO
7855 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
7856 RETURN_ADDRESS_POINTER_REGNUM to $ra.
7857 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
7858 not needed. Disregard leaf_function_p().
7859 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
7860 mips16 frame pointer.
7861 * config/mips/mips.md (store ra): Only to small SP offsets.
7862 2001-08-22 Graham Stott <grahams@redhat.com>
7863 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
7864 return a REG rtx for the return address register.
7865
eb8e00ea
BW
78662002-03-18 Bob Wilson <bob.wilson@acm.org>
7867
7868 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
7869 constant-pool addresses as "mode-dependent".
7870 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
7871
cbb92744
JJ
78722002-03-18 Jakub Jelinek <jakub@redhat.com>
7873
7874 PR target/5740
7875 * expr.c (emit_group_load): Use extract_bit_field if
7876 needed for CONCAT arguments.
7877
657d9449
RE
78782002-03-18 Richard Earnshaw <rearnsha@arm.com>
7879
91f3a802 7880 PR target/4863
657d9449
RE
7881 * arm.md (tablejump): Make this a define_expand. For PIC add the
7882 offset to the base of the table.
7883 (thumb_tablejump): Matcher for Thumb tablejump insn.
7884 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
7885 as the difference of two labels.
7886 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7887 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
7888 tables in the code.
7889 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
7890 * arm.c (get_jump_table_size): If the table is not in the text
7891 section, return zero.
c79ca0ac 7892
5d5603e2
BS
78932002-03-18 Bernd Schmidt <bernds@redhat.com>
7894
7895 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
7896 of gen_rtx_SUBREG.
7897 (arm_reload_out_hi): Use gen_lowpart instead of
7898 gen_rtx_SUBREG to access QImode components.
7899 * config/arm/arm.md: Disable zero_extend split for QImode
7900 subregs in BIG_ENDIAN mode.
7901 (storehi_bigend): Match use of least significant byte.
7902 (storeinthi): Remove extraneous SUBREG.
66c17b64 7903 Add missing construction of operands[2].
5d5603e2
BS
7904 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
7905 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
7906 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
7907
df15fbc7
AH
79082002-03-18 Aldy Hernandez <aldyh@redhat.com>
7909
2496c7bd
LB
7910 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
7911 any_operand.
df15fbc7 7912
b83b7fa3
RH
79132002-03-17 Richard Henderson <rth@redhat.com>
7914
7915 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
7916 explicitly.
7917
6f7c00fe
HPN
79182002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
7919
7920 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
7921 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
7922
155038f2
KG
79232002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7924
720d42fa
KG
7925 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
7926
155038f2
KG
7927 * predict.c (estimate_bb_frequencies): Delete unused variables.
7928
e6542f4e
RH
79292002-03-17 Richard Henderson <rth@redhat.com>
7930
7931 * config/ia64/ia64.c (ia64_attribute_table): Move before
7932 targetm definition. Make static.
7933
52dabb6c
NB
79342002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
7935
7936 * c-common.h (yyparse, c_common_parse_file): New.
7937 * c-lang.c: Include c-common.h.
7938 (LANG_HOOKS_PARSE_FILE): Redefine.
7939 * c-lex.c: Include c-common.h.
7940 (yyparse): Rename c_common_parse_file. Call yyparse.
7941 * c-parse.in (yyparse): Remove macro.
7942 * c-tree.h (yyparse_1): Remove.
7943 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
7944 (LANG_HOOKS_INITIALIZER): Update.
7945 * langhooks.h (struct lang_hoooks): New hook parse_file.
7946 * toplev.c (compile_file): Use parse_file hook.
7947 * tree.h (yyparse): Remove.
e6542f4e 7948 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 7949
b5ffe606
HPN
79502002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
7951
ba82f58b
HPN
7952 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
7953 float_truncate, not fix.
7954 ("*truncdfsf2_real"): Ditto.
7955 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
7956
b5ffe606
HPN
7957 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
7958
c8d1b2b7
AO
79592002-03-16 Alexandre Oliva <aoliva@redhat.com>
7960
cfb773f9
AO
7961 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
7962 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
7963 where appropriate. Make the second reference to
7964 leaf_function_p a function call, as intended. Reindented.
7965
4dffef52
AO
7966 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
7967 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
7968
4f5bd6d7
AO
7969 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
7970 add register to non-constant into sp.
7971
c8d1b2b7
AO
7972 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
7973 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
7974 (mips16_gp_pseudo_rtx): Lose.
7975 (INIT_EXPANDERS): Deleted.
7976 * config/mips/mips.c (mips_init_machine_status): New.
7977 (mips_free_machine_status): New.
7978 (mips_mark_machine_status): New.
7979 (override_options): Set them.
7980 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
7981 (struct machine_function): ... new. Replaced all references.
7982 (mips_add_gc_roots): Don't mark them.
7983 (embedded_pic_fnaddr_reg): New, extracted from...
7984 (embedded_pic_offset): ... here.
7985 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
7986 (movsi): Likewise.
7987
b3124fac
NB
79882002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
7989
7990 * cppinit.c: Revert -MD removal.
7991
121449b6
SC
79922002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7993
7994 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
7995 soft registers by default for 68HC12.
7996 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
7997 when compiling with -fomit-frame-pointer.
7998 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
7999 (expand_epilogue): Likewise.
8000 (m68hc11_gen_rotate): Use exg when rotating by 8.
8001
840e2ff1
SC
80022002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8003
8004 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
8005 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
8006 (splits): Remove unused add splits.
8007 ("*addhi3_68hc12"): Tune constraints.
8008 ("addhi_sp"): Try to use X instead of Y in all cases and if the
8009 constant fits in 8-bits and D is dead use abx/aby instructions.
8010 ("*addhi3"): Remove extern declaration of ix_reg.
8011 ("*subsi3"): Optimize and provide new split.
8012 ("subhi3"): Cleanup.
8013 ("*subhi3_sp"): Avoid saving X if we know it is dead.
8014 (arith splits): For 68hc12 save the address register on the stack
8015 and do the arithmetic operation with a pop.
8016
3c9a5efe
SC
80172002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8018
8019 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
8020 allocating QImode in address registers.
8021 ("*movqi_m68hc11"): Likewise.
8022
e41f3392
JH
8023Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
8024
8025 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
8026
576786b0
NB
80272002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
8028
8029 * cppinit.c (print_help): Display -MD and -MMD.
8030 Don't display usage string. Update assertion syntax and
8031 typo.
8032 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
8033 (cpp_handle_option): Update.
8034
1ac458d4
CD
80352002-03-15 Chris Demetriou <cgd@broadcom.com>
8036
8037 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
8038 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
8039 and define it so that regardless of target CPU size,
8040 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
8041 of "int" rather than "long."
8042
1fcd592b
RH
80432002-03-15 Richard Henderson <rth@redhat.com>
8044
8045 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
8046 size as a tree.
8047
a0df6910
SC
80482002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8049
8050 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
8051 ("tstqi" split): Avoid using memory for tstqi on address register.
8052 (splits): Remove constraints.
8053 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
8054 ("cmpdf", "cmpsf"): Remove since not used.
8055 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
8056 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
8057
015a2e59
SC
80582002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8059
8060 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
8061 ("neghi2"): Tighten constraints.
8062 ("one_cmplsi2"): Optimize and simplify split.
8063 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
8064
cd28557c
SC
80652002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8066
8067 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
8068 and split of AND operation to clear the upper bits.
8069 ("*logicalsi3_zextqi"): Likewise.
8070 ("*logicallhi3_zexthi_ashift8"): Likewise.
8071 ("*logicalsi3_silshr16"): Likewise.
8072 ("logicalsi3_silshl16"): Likewise.
8073 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
8074
932657df
SC
80752002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8076
8077 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
8078 (m68hc11_indirect_p): New function.
8079 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
8080 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
8081 TARGET_M6812.
8082 (asm_print_register): Likewise.
8083 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
8084 (m68hc11_indirect_p): Declare.
8085 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
8086 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
8087 (TARGET_SWITCHES): New option -mrelax.
8088 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
8089 destination.
8090 ("iorsi3", "xorsi3"): Likewise.
8091 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
8092 ("*andhi3_mem"): New to handle destination in memory with bclr
8093 and a scratch register.
8094 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
8095 ("*andhi3_const"): New when operand2 is constant.
8096 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
8097 ("*andhi3_gen"): Cleanup of the old "andhi3".
8098 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
8099 ("xorqi3"): Update constraints.
8100
fdffea1a
SC
81012002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8102
8103 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
8104 for reg_equiv_memory_loc when the operand is a register that does
8105 not get a hard register (stack location).
8106 (tst_operand): After reload, accept all memory operand.
8107 (symbolic_memory_operand): Fix detection of symbolic references.
8108 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
8109 accept symbols and any constant.
8110
6272bc68
SC
81112002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8112
8113 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
8114 note on the insn that sets the soft frame register.
8115 (must_parenthesize): ix and iy are also reserved names.
8116 (print_operand_address): One more place where parenthesis are required
8117 to avoid confusion with register names.
8118 (m68hc11_gen_movhi): Allow push of stack pointer.
8119 (m68hc11_check_z_replacement): Fix handling of parallel with a
8120 clobber.
8121 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
8122 the replacement register is.
8123 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
8124 and D8_REGS classes.
8125 (MODES_TIEABLE_P): All modes are tieable except QImode.
8126
1d2d9def
SC
81272002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8128
8129 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
8130 (___subdi3): Likewise.
8131 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
8132 (__map_data_section): Optimize 68hc11 case.
8133
a0ccf503
SC
81342002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8135
8136 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
8137 than a shift to avoid adding a register with itself.
8138 (m68hc11_memory_move_cost): Take into account NO_REGS.
8139 (m68hc11_register_move_cost): Update and use memory move cost
8140 for soft registers.
8141 (m68hc11_address_cost): Make cost of valid offset not 0 so that
8142 it gives more opportunities to cse to optimize.
8143 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
8144 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
8145
6e4ae815
MM
81462002-03-15 Mark Mitchell <mark@codesourcery.com>
8147
8148 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
8149 * c-common.def (CLEANUP_STMT): New tree node.
8150 * c-common.h (CLEANUP_DECL): New macro.
8151 (CLEANUP_EXPR): Likewise.
8152 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
8153 * expr.c (expand_expr): Tidy.
8154 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
8155 * tree-inline.c (initialize_inlined_parameters): Clean up
8156 new local variables.
8157
a42519be
JJ
81582002-03-15 Jakub Jelinek <jakub@redhat.com>
8159
8160 PR bootstrap/4128
8161 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
8162 before movrXX only, use reg_overlap_mentioned_p.
8163 Only special case NE if just one insn can be generated.
8164
15409448
JM
81652002-03-15 Jason Merrill <jason@redhat.com>
8166
8167 * varasm.c (assemble_variable): Call resolve_unique_section before
8168 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
8169 of error_mark_node.
8170
3a4edb44
RE
81712002-03-15 Richard Earnshaw <rearnsha@arm.com>
8172
8173 PR target/5170
8174 * arm.md (split pattern for thumb shiftable immediates): Add comment
8175 explaining non-obvious test.
8176
32defa36
RE
81772002-03-15 Richard Earnshaw <rearnsha@arm.com>
8178
8179 PR target/5712
8180 * arm.md (movaddr, movaddr_insn): Delete.
8181
5cc90635
JM
81822002-03-15 Jason Merrill <jason@redhat.com>
8183
8184 * toplev.c (wrapup_global_declarations): Clarify variable handling.
8185 -fkeep-static-consts doesn't apply to comdats.
8186
ecb0eece
RH
81872002-03-14 Richard Henderson <rth@redhat.com>
8188
8189 * c-decl.c: Include c-pragma.h.
8190 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
8191 (finish_function): Tidy.
8192 * c-pragma.c: Include c-common.h.
8193 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
8194 (handle_pragma_weak): Use them.
8195 (init_pragma): Register pending_weaks.
8196 * c-pragma.h (maybe_apply_pragma_weak): Declare.
8197 * print-tree.c (print_node): Print DECL_WEAK.
8198 * varasm.c (mark_weak_decls): Remove.
8199 (remove_from_pending_weak_list): Remove.
8200 (add_weak): Remove.
8201 (asm_emit_uninitialised): Call globalize_decl for weak commons.
8202 (weak_decls): Make a tree_list.
8203 (declare_weak): Cons weak_decls directly.
8204 (globalize_decl): Remove weak_decls elements directly.
8205 (weak_finish): Simplify weak_decls walk. Don't weaken unused
8206 symbols. Don't pretend to handle aliases.
8207 (init_varasm_once): Update weak_decls registry.
8208 * Makefile.in: Update dependencies.
8209
98d2b17e
RH
82102002-03-14 Richard Henderson <rth@redhat.com>
8211
8212 PR target/5312
8213 * config/ia64/ia64.c: Include tm_p.h last.
8214 (gen_nop_type): Remove duplicate definition.
8215 (cycle_end_fill_slots): Set sched_data for second L slot.
8216 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
8217 (nop_cycles_until): Fix typos.
8218
f2f4927e
JJ
82192002-03-15 Jakub Jelinek <jakub@redhat.com>
8220
8221 PR optimization/5891
8222 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
8223
5025a549
DM
82242002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
8225
8226 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
8227 descriptors correctly.
8228
03e9dbc9
MM
82292002-03-14 Michael Meissner <meissner@redhat.com>
8230
8231 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
8232 100, allowing MAX_UNROLLED_INSNS to be overridden.
8233
8234 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
8235 --param.
8236
8237 * unroll.c (params.h): Include.
8238 (MAX_UNROLLED_INSNS): Delete, now in params.h.
8239
8240 * doc/invoke.texi (--param max-unroll-insns): Document.
8241
8242 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
8243
12249385
RE
82442002-03-14 Richard Earnshaw <rearnsha@arm.com>
8245
8246 * arm.md: Fix warnings about constraints in peepholes and splits.
8247
f0cce04a
ZW
82482002-03-14 Zack Weinberg <zack@codesourcery.com>
8249
8250 * cpphash.h (struct lexer_state): Remove line_extension member.
8251 * cpplib.c (dequote_string, do_linemarker): New functions.
8252 (linemarker_dir): New data object.
8253 (DIRECTIVE_TABLE): No longer need to interpret #line in
8254 preprocessed source. Delete obsolete comment about return
8255 values of handlers.
8256 (end_directive, directive_diagnostics, _cpp_handle_directive):
8257 Don't muck with line_extension.
8258 (directive_diagnostics): No need to issue warnings for
8259 linemarkers here.
8260 (_cpp_handle_directive): Issue warnings for linemarkers here,
8261 when appropriate. Dispatch linemarkers to do_linemarker, not
8262 do_line.
8263 (do_line): Code to handle linemarkers split out to do_linemarker.
8264 Convert escape sequences in filename argument, both places.
8265
8266 * cppmacro.c (quote_string): Rename cpp_quote_string and
8267 export. All callers changed.
8268 * cpplib.h (cpp_quote_string): Prototype.
8269 * cppmain.c (print_line): Call cpp_quote_string on to_file
8270 before printing it.
8271
8272 * doc/cpp.texi: Document that escapes are now interpreted in
8273 #line and in linemarkers, and that non-printing characters are
8274 converted to octal escapes when linemarkers are generated.
8275
8276Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
8277
8278 * emit-rtl.c (try_split): Use delete_insns.
8279 * recog.c (split_all_insns): Fix terminating condition.
8280
c882c7ac
RE
82812002-03-14 Richard Earnshaw <rearnsha@arm.com>
8282 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
8283
8284 PR target/5828
8285 * arm.c (arm_output_epilogue): Fix floating-point register save
8286 adjustment when using a frame pointer.
8287
3f26edaa
RS
82882002-03-14 Richard Sandiford <rsandifo@redhat.com>
8289
8290 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
8291 * config/mips/mips.c (compute_frame_size): Retrofit them here.
8292 (save_restore_insns, mips_expand_epilogue): And here.
8293 (build_mips16_call_stub): And here.
8294 (mips_function_value): Use the new macros to decide whether a single
8295 or complex float can be returned in floating-point registers. Return
8296 a parallel rtx in the complex case.
8297
1e3881c2
JH
8298Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
8299
8300 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
8301 call after liveness analysis.
8302
8303 * recog.c (split_insn): Use delete_insn_and_edges.
8304
8305 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
8306 instructions to have branch prediction notes.
8307 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
8308
200ef634
GK
83092002-03-14 Geoffrey Keating <geoffk@redhat.com>
8310
8311 * configure.in: Don't pass -Wno-long-long to a ADA compiler
8312 that doesn't support it.
8313 * configure: Regenerate.
8314
0b82d204
JJ
83152002-03-13 Jakub Jelinek <jakub@redhat.com>
8316
8317 PR target/5626
8318 * config/sparc/sparc.md (normal_branch, inverted_branch,
8319 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
8320 inverted_fp_branch): Adjust calls to output_cbranch.
8321 Set length attribute.
8322 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
8323 output_v9branch. Set length attribute.
8324 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
8325 predicates.
8326 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
8327 (output_cbranch): Likewise. Handle far branches.
8328 (output_v9branch): Handle far branches.
8329 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
8330 Adjust prototypes.
8331 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
8332 noov_compare64_op predicates.
8333
7a8de19b
JM
83342002-03-13 Jason Merrill <jason@redhat.com>
8335
8336 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
8337 into the function and constify it.
8338 * gthr-dce.h, gthr-solaris.h: Likewise.
8339
2a55fd42
DE
83402002-03-13 David Edelsohn <edelsohn@gnu.org>
8341
8342 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
8343 * config/rs6000/rs6000.c (rs6000_va_arg): Use
8344 std_expand_builtin_va_arg if not ABI_V4.
8345
19c5b1cf
JM
83462002-03-13 Jason Merrill <jason@redhat.com>
8347
8348 * varasm.c (globalize_decl): New fn.
8349 (assemble_start_function): Use it.
8350 (asm_emit_uninitialized): Use it.
8351 (assemble_alias): Use it.
8352 (assemble_variable): Use it.
8353
2a15f5e1
HPN
83542002-03-13 Hans-Peter Nilsson <hp@axis.com>
8355
8356 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 8357 2002-03-12 internal visibility change.
2a15f5e1
HPN
8358 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
8359 visibility into SYMBOL_REF_FLAG.
8360
c0a3eeac
UW
83612002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
8362
8363 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
8364 VOIDmode operand. Add compile-time optimization for constant results.
8365
a1652cee
JM
83662002-03-12 Jason Merrill <jason@redhat.com>
8367
8368 * c-typeck.c (convert_for_assignment): Don't allow conversions
8369 between pointers and references. Only allow lvalues to convert to
8370 reference.
8371
c52a375d
HP
83722002-03-13 Hartmut Penner <hpenner@de.ibm.com>
8373
f0cce04a
ZW
8374 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
8375 before prologue, to avoid scheduling problems.
c52a375d 8376
e387e99b
JJ
83772002-03-13 Jakub Jelinek <jakub@redhat.com>
8378
8379 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
8380 (ELIMINABLE_REGS): Add sfp->sp.
8381 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
8382
83832002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
8384
8385 PR optimization/5892
8386 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
8387
4061c1a3
JJ
83882002-03-13 Jakub Jelinek <jakub@redhat.com>
8389
8390 * loop.c (basic_induction_var): Don't call convert_modes if mode
8391 classes are different.
8392
5b43fed1
RH
83932002-03-12 Richard Henderson <rth@redhat.com>
8394
9f53e965
RH
8395 PR optimization/5901
8396 * function.c (reposition_prologue_and_epilogue_notes): Position
8397 the markers after/before the last/first insn not deleted.
8398
83992002-03-12 Richard Henderson <rth@redhat.com>
8400
8401 PR optimization/5878
5b43fed1
RH
8402 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
8403 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
8404 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
8405
8406 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
8407 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
8408 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
8409
8410 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
8411 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
8412 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
8413 also. Don't set it if not flag_pic.
8414 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
8415 to be INVALID_REGNUM when not used.
8416
4e9bb42b
AH
84172002-03-13 Aldy Hernandez <aldyh@redhat.com>
8418
5b43fed1
RH
8419 * expmed.c (store_bit_field): Reset alias set for memory.
8420 (extract_bit_field): Same.
4e9bb42b 8421
2f9834e8
KG
84222002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8423
8424 * c-common.c (c_tree_code_type, c_tree_code_length,
8425 c_tree_code_name, add_c_tree_codes): Delete.
8426 * c-common.h (add_c_tree_codes): Delete.
8427 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
8428 Define.
8429 * c-objc-common.c (c_objc_common_init): Don't call
8430 add_c_tree_codes, instead set lang_unsafe_for_reeval.
8431 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
8432 objc_tree_code_name, add_objc_tree_codes): Delete.
8433 (objc_init): Don't call add_objc_tree_codes.
8434 * objc/objc-lang.c (tree_code_type, tree_code_length,
8435 tree_code_name): Define.
8436 * toplev.c (lang_independent_init): Don't set
8437 tree_code_length[IDENTIFIER_NODE].
8438 * tree.c (tree_code_type, tree_code_length, tree_code_name):
8439 Delete definitions, moved to language front-ends.
8440 * tree.def (IDENTIFIER_NODE): Hardwire the length.
8441 * tree.h (tree_code_type, tree_code_length, tree_code_name):
8442 Const-ify.
8443 (tree_code_length): Change type to unsigned char.
8444
36ad2436
RH
84452002-03-12 Richard Henderson <rth@redhat.com>
8446
8447 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
8448 internal visibility change.
8449
0ae02efa
BW
84502002-03-12 Bob Wilson <bob.wilson@acm.org>
8451
8452 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
8453 validize_mem() instead of change_address to avoid clobbering
8454 memory attributes.
8455
35bb2bee
NB
84562002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
8457
8458 * c-lex.h (position_after_whitespace): Remove.
8459
62ae2529
JJ
84602002-03-12 Jakub Jelinek <jakub@redhat.com>
8461
8462 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
8463 (lex_string): Use unsigned char pointers.
8464
6a45951f
UW
84652002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
8466
8467 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
8468 is not a valid memory_operand.
8469
e2fb85da
BW
84702002-03-12 Bob Wilson <bob.wilson@acm.org>
8471
8472 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
8473 * config/xtensa/lib1funcs.asm: Fix copyright to include
8474 special case for libgcc files.
8475 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
8476 (__divsi3): Likewise.
8477 (__umodsi3): Likewise.
8478 (__modsi3): Likewise.
8479 * config/xtensa/lib2funcs.S: Fix copyright to include
8480 special case for libgcc files.
8481
5b8619f8
TR
84822002-03-12 Tom Rix <trix@redhat.com>
8483
8484 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 8485 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
8486 (ignore_library): Same.
8487
089c8f97
BW
84882002-03-12 Bob Wilson <bob.wilson@acm.org>
8489
8490 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
8491
958c70ff
BW
84922002-03-12 Bob Wilson <bob.wilson@acm.org>
8493
8494 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
8495 to function_section before writing out the constant pool.
8496
a65c591c
DE
84972002-03-12 David Edelsohn <edelsohn@gnu.org>
8498
8499 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
8500 zero_constant.
8501 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
8502
85032002-03-12 Alan Modra <amodra@bigpond.net.au>
8504
8505 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
8506 (adddi3): Likewise.
8507 (movdf): Likewise.
8508 (movdi): Likewise.
8509 (cmpsi splitter): Likewise.
8510 (modsi3): Fail if <= 0.
8511 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
8512 redundant test when HOST_BITS_PER_WIDE_INT != 32.
8513 (reg_or_sub_cint64_operand): Likewise.
8514 (num_insns_constant_wide): Optimize sign extension.
8515 (rs6000_legitimize_address): Likewise.
8516
17720332
AM
85172002-03-12 Andrew MacLeod <amacleod@redhat.com>
8518
8519 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
8520 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
8521
cd49f073
AM
85222002-03-12 Andrew MacLeod <amacleod@redhat.com>
8523
8524 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
8525 address calculation.
8526
6a4e49c1
UW
85272002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
8528
8529 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
8530 scratch register to DImode / TImode.
8531 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
8532 register used does not overlap the target.
8533
54b6670a
KG
85342002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8535
8536 * Makefile.in (debug.o): Depend on debug.h.
8537 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
8538 * debug.c (do_nothing_debug_hooks): Likewise.
8539 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
8540 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
8541 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
8542 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
8543 * dwarfout.c (dwarf_debug_hooks): Likewise.
8544 * integrate.c (output_inline_function): Likewise.
8545 * objc/objc-act.c (synth_module_prologue): Likewise.
8546 * sdbout.c (sdb_debug_hooks): Likewise.
8547 * toplev.c (debug_hooks): Likewise.
8548 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
8549
2465bf76
KG
85502002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8551
8552 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
8553 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
8554 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
8555 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
8556 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
8557 * defaults.h (POINTER_SIZE): Define.
8558 * doc/tm.texi (POINTER_SIZE): Document default.
8559
53f3e9ca
KG
85602002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8561
8562 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
8563
44d3eb5b
RH
85642002-03-11 Richard Henderson <rth@redhat.com>
8565
8566 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
8567 if rebuild_label_notes_after_reload.
8568
4a085d2e
HPN
85692002-03-12 Hans-Peter Nilsson <hp@axis.com>
8570
8571 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
8572 emit pic register load if "internal" visibility.
8573 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
8574 (cris_expand_builtin_va_arg): Do all computations on trees.
8575
bc204393
RH
85762002-03-11 Richard Henderson <rth@redhat.com>
8577
8578 * rtlanal.c: Include recog.h.
8579 (keep_with_call_p): Fix thinko.
8580 * Makefile.in (rtlanal.o): Update dependencies.
8581
6b8b9d7b
CM
85822002-03-11 Chris Meyer <cmeyer@gatan.com>
8583
8584 * genflags.c (gen_insn): Use IS_VSPACE.
8585 * genoutput.c (output_insn_data): Likewise.
8586 (process_template): Likewise.
8587
6c40858f
RH
85882002-03-11 Richard Henderson <rth@redhat.com>
8589
8590 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
8591
40adaa27
NB
85922002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
8593
8594 * Makefile.in: Update.
6c40858f 8595 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 8596 Update documentation.
6c40858f
RH
8597 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
8598 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 8599
049b03f4
ZW
86002002-03-11 Zack Weinberg <zack@codesourcery.com>
8601
8602 * Makefile.in: Give texi2pod its input file as a command line
8603 argument, not on stdin.
8604
61eece67
DN
86052002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
8606 Daniel Berlin <dan@dberlin.org>
8607
8608 C++ alias analysis improvement.
f0cce04a 8609 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
8610 classes too.
8611
a65c591c
DE
86122002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
8613
ff080aba
UW
8614 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
8615
1682dbb1
DR
86162002-03-11 Douglas B Rupp <rupp@gnat.com>
8617
fa2d765a
DR
8618 * toplev.c (vms_fopen): Remove, not needed.
8619
6f1fd286
DR
8620 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
8621
b230e057
DR
8622 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
8623
cb9a8e97
DR
8624 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
8625 for FP, already done later.
8626
1682dbb1
DR
8627 * toplev.c (debug_args): Add entry for VMS_DEBUG.
8628 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
8629
3fcaac1d
RS
86302002-03-11 Richard Sandiford <rsandifo@redhat.com>
8631
8632 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
8633 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
8634 LARGEST_EXPONENT_IS_NORMAL for the given mode.
8635 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
8636 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
8637 (ediv, emul, eldexp, esqrt): Likewise.
8638 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
8639 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
8640 (saturate): New function.
8641 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
8642 (make_nan): Use a saturation value instead of a NaN if
8643 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
8644 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
8645 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
8646 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
8647 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
8648 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
8649 !ROUND_TOWARDS_ZERO.
8650 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
8651 (ROUND_TOWARDS_ZERO): Document.
8652
d25558be
AJ
86532002-03-11 Andreas Jaeger <aj@suse.de>
8654
8655 * cfg.c (dump_flow_info): Remove unused variable.
8656
c71f9ae7
HPN
86572002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
8658
8659 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
8660 computations on trees.
8661
561c9153
RH
86622002-03-10 Richard Henderson <rth@redhat.com>
8663
932b4e3e 8664 PR 5693:
561c9153
RH
8665 * reload.c (copy_replacements_1): New.
8666 (copy_replacements): Use it to recurse through the rtx.
8667
26b738be
RH
86682002-03-10 Richard Henderson <rth@redhat.com>
8669
8670 * loop.c (strength_reduce): Compute number of iterations as
8671 unsigned HOST_WIDE_INT.
8672
8d8a083e
RH
86732002-03-10 Richard Henderson <rth@redhat.com>
8674
8675 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
8676 to move away from the end of the block.
8677
32810ba3
NB
86782002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
8679
8680 PR preprocessor/5899
8681 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 8682
2b03d201
KG
86832002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8684
f90c544c
KG
8685 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
8686
2b03d201
KG
8687 * attribs.c (decl_attributes): Fix signed/unsigned warning.
8688
3ec1b4cb
HPN
86892002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
8690
8691 * config/mmix/mmix.c: Improve comments.
8692 (mmix_target_asm_function_prologue): Drop variable
8693 empty_stack_frame. Don't allocate unused slot above fp.
8694 (mmix_target_asm_function_epilogue): Mirror prologue changes.
8695 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
8696 brace in first column.
8697 (enum reg_class): Ditto.
8698 (FIRST_PARM_OFFSET): Now 0.
8699 (USER_LABEL_PREFIX): Remove #if 0:d definition.
8700
27e486c5
KG
87012002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8702
8703 * combine.c (make_extraction): Fix error in last change.
8704
0139adca
KG
87052002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8706
8707 * c4x.c (c4x_fp_reglist): Const-ify.
8708 * cris.c (cris_print_operand): Likewise.
8709 * i386.c (ix86_va_arg): Likewise.
8710 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
8711 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
8712 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
8713 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
8714 * mcore.h (regno_reg_class): Likewise.
8715 * mips.c (gen_int_relational): Likewise.
8716 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
8717 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 8718 * pdp11.c (move_costs): Likewise.
0139adca
KG
8719 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
8720 * s390.c (s390_branch_condition_mnemonic, regclass_map):
8721 Likewise.
8722 * s390.h (regclass_map): Likewise.
8723 * sh.c (shift_amounts): Likewise.
a4334c36 8724 * sh.md (rotlsi3): Likewise.
0139adca 8725
889b90a1
GK
87262002-03-09 Geoffrey Keating <geoffk@redhat.com>
8727
8728 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
8729 (ne0+5): Use new clobber to generate proper shift pattern.
8730 Patch by Michael Matz <matz@kde.org>.
8731
2877e0ae
AS
87322002-03-09 Andreas Schwab <schwab@suse.de>
8733
8734 * gcc.c (validate_all_switches): Also handle `%W{...}'.
8735
79b51cd7
GK
87362002-03-09 Geoffrey Keating <geoffk@redhat.com>
8737
8738 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
8739
e0f1be5c
JJ
87402002-03-09 Jakub Jelinek <jakub@redhat.com>
8741
8742 PR middle-end/5877
8743 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
8744 even for non-representable constants.
8745
0a7ec763
RK
8746Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8747
93fe8e92
RK
8748 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
8749 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
8750 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
8751 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
8752 (pop_function_context): Compute MAY_SHARE parameter for
8753 fixup_var_refs.
8754 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
8755 (gen_mem_addressof): Call fixup_var_refs with new parm.
8756
0a7ec763
RK
8757 * combine.c (make_extraction): Don't make extension of CONST_INT.
8758
a85cd407
AO
87592002-03-09 Alexandre Oliva <aoliva@redhat.com>
8760
9445b814
AO
8761 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
8762 in o32 and o64 ABIs.
8763 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
8764 but getting fixed-size structs passed in registers regardless of
8765 padding in o32 and o64 ABIs.
8766
a85cd407
AO
8767 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
8768 offset before loading address of argument passed by transparent
8769 reference.
8770
c51fbe40
JDA
87712002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
8772
8773 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
8774
918e70dd
AO
87752002-03-09 Alexandre Oliva <aoliva@redhat.com>
8776
8777 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
8778 marker such that registers after it are saved.
8779
3070dd00
KG
87802002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8781
8782 * sparc.c (arith_4096_operand): Fix error in last change.
8783
e25d11b0
AO
87842002-03-08 Alexandre Oliva <aoliva@redhat.com>
8785
8786 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
8787 defaults for MEABI.
8788
41daaf0e
AH
87892002-03-08 Aldy Hernandez <aldyh@redhat.com>
8790
5b43fed1
RH
8791 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
8792 vectors.
41daaf0e 8793
fa139b00
AH
87942002-03-08 Aldy Hernandez <aldyh@redhat.com>
8795
5b43fed1 8796 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 8797
c51d95ec
JH
8798Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
8799
8800 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
8801 removed; fix return value.
8802 * combine.c (combine_instructions): Dirtify blocks where we failed to
8803 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
8804 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
8805
3b25fbfe
KG
88062002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8807
8808 * gcse.c (insert_insn_end_bb): Fix typo in last change.
8809
189ae0f4
JH
8810Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
8811
8812 * recog.c (peephole2_optimize): Re-distribute EH edges.
8813
24965e7a
NB
88142002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
8815
8816 * expr.c (expand_expr): Use unsave lang hook.
8817 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
8818 (LANG_HOOKS_INITIALIZER): Update.
8819 * langhooks.h (struct lang_hooks): New hook unsave.
8820 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
8821 (unsave_expr_1): Remove unused lang_unsave_expr_now.
8822 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
8823 (unsave_expr_now): Remove.
8824 * tree.h (unsave_expr_now, lang_unsave,
8825 lang_unsave_expr_now): Remove.
8826 (lhd_unsave): New.
8827
1e4e95d6
AJ
88282002-03-08 Andreas Jaeger <aj@suse.de>
8829
8830 * flow.c (propagate_block_delete_insn): Remove unused variable.
8831
054ef905
KH
88322002-03-08 Kazu Hirata <kazu@hxi.com>
8833
8834 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
8835 insn length for memory load/store.
8836
5304400d 88372002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 8838
5304400d
CR
8839 * doc/install.texi (--with-libiconv-prefix): Document.
8840
81034129
MB
88412002-03-08 Michael Y. Brukman <myb2@cornell.edu>
8842
8843 * doc/sourcebuild.texi: Fix typo.
8844
71db7d03
JJ
88452002-03-08 Jakub Jelinek <jakub@redhat.com>
8846
8847 PR c/3711
8848 * builtins.c (std_expand_builtin_va_arg): Do all computations on
8849 trees.
8850
127c1ba5
RK
8851Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8852
8853 * rtl.c (copy_most_rtx): Move from here ...
8854 * emit-rtl.c (copy_most_rtx): ... to here.
8855
8a13c092
AO
88562002-03-08 Alexandre Oliva <aoliva@redhat.com>
8857
5faae4f7
AO
8858 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
8859 SUBTARGET_CPP_SIZE_SPEC.
8860 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
8861
8a13c092
AO
8862 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
8863
4ec59de2
MH
88642002-03-07 Matt Hiller <hiller@redhat.com>
8865
8866 * gensupport.c (first_dir_md_include): Renamed from include;
8867 change all references.
8868 (last_dir_md_include): Renamed from last_include; change all
8869 references.
8870 (init_md_reader): Unconditionally initialize base_dir whether or
8871 not filename is a relative path.
8872
12f61e77
AO
88732002-03-07 Alexandre Oliva <aoliva@redhat.com>
8874
95356058
AO
8875 * config/fp-bit.c (_unord_f2): Compile it in even if
8876 US_SOFTWARE_GOFAST is enabled.
8877
12f61e77
AO
8878 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
8879 NULL_RTX. Set all HFmode operations as NULL_RTX.
8880 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
8881 NULL_RTX, try reversing the comparison and the operands.
8882
6d7a1c4c
UW
88832002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
8884
8885 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
8886 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
8887 and MATCH_OP_DUP.
8888
66d54344
JH
8889Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
8890
8891 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
8892
068473ec
JH
8893Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
8894
8895 * basic-block.h (fixup_abnormal_edges): Declare.
8896 * reload1.c (fixup_abnormal_edges): New function.
8897 * reg-stack.c (convert_regs): Use it.
8898
8899 * gcse.c (insert_insn_end_bb): Handle trapping insns.
8900
8901 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
8902
71925bc0
RS
89032002-03-07 Richard Sandiford <rsandifo@redhat.com>
8904
8905 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
8906 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
8907 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
8908 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
8909 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
8910 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
8911 unless x and y could be infinite.
8912 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
8913 Check that the common type of both arguments is a real, even for
8914 targets without unordered comparisons. Allow an integer argument
8915 to be compared against a real.
8916 (expand_tree_builtin): Use expand_unordered_cmp.
8917 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
8918 * cse.c (fold_rtx): Likewise. Fix indentation.
8919 * fold-const.c (fold_real_zero_addition_p): New.
8920 (fold): Use it, and the new HONOR_... macros.
8921 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
8922 * jump.c (reversed_comparison_code_parts): After searching for
8923 the true comparison mode, use HONOR_NANS to decide whether it
8924 can be safely reversed.
8925 (reverse_condition_maybe_unordered): Remove IEEE check.
8926 * simplify-rtx.c (simplify_binary_operation): Use the new macros
8927 to decide which simplifications are valid. Allow the following
8928 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
8929 and (a - -b) to (a + b).
8930 (simplify_relational_operation): Use HONOR_NANS.
8931 * doc/tm.texi: Document the MODE_HAS_... macros.
8932
145d3bf2
RE
89332002-03-07 Richard Earnshaw <rearnsha@arm.com>
8934
8935 * combine.c (simplify_comparison): If simplifying a logical shift
8936 right and compare with constant, force the comparison to unsigned.
8937
76a773f3
AH
89382002-03-07 Aldy Hernandez <aldyh@redhat.com>
8939
5b43fed1 8940 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 8941
5b43fed1
RH
8942 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
8943 -mabi=no-altivec
8944 (alt_reg_names): Remove % for vrsave.
76a773f3 8945
ab55f58c
RH
89462002-03-06 Richard Henderson <rth@redhat.com>
8947
5ddec02e 8948 PR optimization/5844
ab55f58c
RH
8949 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
8950 if used indicates we've already emitted one copy of an operand.
8951 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
8952 (gen_split): Supply a non-null used.
8953
e16e3291
UW
89542002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
8955
5b43fed1 8956 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 8957
1e4e95d6 8958 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
8959 but simply fail if the expression is too complex to simplify.
8960 (simplify_gen_binary): Handle simplify_plus_minus failures.
8961
2ca6672b
JH
8962Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
8963
8964 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
8965 consistently call delete_trivially_dead_insns after CSE and GCSE;
8966 fix DFI_life dumping; do jump threading after liveness; do crossjumping
8967 after liveness2; update comment in last crossjumping.
8968 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
8969
31d0dd4f
JL
8970Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
8971
d094b0b3
JL
8972 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
8973 after completing fast dead code elimination.
8974
31d0dd4f
JL
8975 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
8976 COMPARE operator.
1e4e95d6 8977
f2b958b1
PE
89782002-03-06 Phil Edwards <pme@gcc.gnu.org>
8979
8980 * version.c: Fix misplaced leading blanks on first line.
8981
a2877a09
JH
8982Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
8983
8984 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
8985
fe477d8b
JH
8986Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
8987
8988 * cfgcleanup.c (mentions_nonequal_regs): New function.
8989 (thread_jump): Use it.
8990 * toplev.c (rest_of_compilation): Run jump threading after
8991 liveness.
8992
2041cde4
JJ
89932002-03-06 Jakub Jelinek <jakub@redhat.com>
8994
8995 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
8996 patch.
8997
82d68d46
JH
8998Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
8999
9000 * predict.c (estimate_bb_frequencies): Do not reload the
9001 frequencies from notes.
9002
3dec4024
JH
9003Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
9004
9005 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
9006 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
9007
9008 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
9009 delete_noop_moves): Return indeger.
9010 * flow.c (ndead): New variable.
9011 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
9012 BB argument; update callers.
9013 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
9014 (life_analysis): Do not call purge_all_dead_edges.
9015 (update_life_info): Return number of deleted insns; print statistics.
9016 (update_life_info_in_dirty_blocks): likewise.
9017 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
9018 return number of insns deleted.
9019
9020 * cse.c: Include timevar.h
9021 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
9022 iterate until stabilizes; print statistics; return number of killed
9023 insns.
9024 * Makefile.in: (cse.o): Add timevar.h dependency
9025 * rtl.h (delete_trivially_dead_insns): New.
9026 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
9027 * toplev.c (rest_of_compilation): Update callers.
9028
9029 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
9030 (try_optimize_cfg): Do not update liveness.
9031 (cleanup-cfg): Loop until try_optimize_cfg and dead code
9032 removal stabilizes; use delete_trivially_dead_insns.
9033
9034 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
9035
c7544dd8
ZW
90362002-03-05 Zack Weinberg <zack@codesourcery.com>
9037
9038 * cppmain.c (setup_callbacks): Disable #pragma and #ident
9039 callbacks when processing assembly language.
9040
50b424a9
JDA
90412002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
9042
9043 * pa.h (ASM_FILE_END): Define.
9044 * som.h (ASM_FILE_END): Delete.
9045
9046 * pa.c (function_arg): Don't pass floats in general registers in
9047 indirect calls if TARGET_ELF32.
9048
6185f217
RH
90492002-03-05 Richard Henderson <rth@redhat.com>
9050
9051 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
9052
3020a4b2
DS
90532002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
9054
9055 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
9056
65649daa
JJ
90572002-03-05 Jakub Jelinek <jakub@redhat.com>
9058
9059 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
9060 -r command line. Don't hide any symbols if not building
9061 shared libgcc.
9062
5a1a3e5e
JH
9063Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
9064
9065 * cfg.c (dump_flow_info): Warn about profile mismatches.
9066 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
9067 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
9068
170c56da
JJ
90692002-03-05 Jakub Jelinek <jakub@redhat.com>
9070
9071 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
9072 wide volatile memory by parts.
9073
6d051694
JJ
90742002-03-05 Jakub Jelinek <jakub@redhat.com>
9075
9076 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
9077 is NULL.
9078
28bcfd4d
RH
90792002-03-05 Richard Henderson <rth@redhat.com>
9080
5b43fed1 9081 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 9082
75227a33
GK
90832002-03-04 Geoffrey Keating <geoffk@redhat.com>
9084
9085 * toplev.c (documented_lang_options): Document more
9086 language-specific options.
9087 * doc/invoke.texi (Warning Options): Correct documentation for
9088 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
9089 * c-decl.c (c_decode_option): Use a table to handle warning options.
9090
4f1aac42
HPN
90912002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
9092
9093 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
9094 parameter to mmix_encode_section_info.
9095 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
9096 relocatably. Always produce ELF, not mmo if linking relocatably.
9097 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
9098 first is non-zero, don't add symbol prefix.
9099 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
9100 prototype accordingly.
9101
12345543
KW
91022002-03-04 Krister Walfridsson <cato@df.lth.se>
9103
9104 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
9105
8e97db8f
JM
91062002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
9107
9108 * configure.in: Increase required makeinfo version to 4.1.
9109 * configure: Regenerate.
9110
06487868
GK
91112002-03-04 Geoffrey Keating <geoffk@redhat.com>
9112
9113 * .cvsignore: Remove *.info* and genrtl*; these files are generated
9114 elsewhere now.
9115
cff42170
JM
91162002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
9117
9118 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
9119 * doc/invoke.texi: Fix @math uses.
9120
974a7f56
JH
9121Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
9122
9123 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
9124 removal
9125
3b7d0e98
AH
91262002-03-03 Aldy Hernandez <aldyh@redhat.com>
9127
5b43fed1
RH
9128 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
9129 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 9130
5b43fed1 9131 * config/rs6000/t-ppcendian: New.
3b7d0e98 9132
65f2f288
HB
91332002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9134
9135 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
9136 nonimmediate_src_operand and nonimmediate_lsrc_operand to
9137 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
9138
8ce0a8a5
RH
91392002-03-03 Richard Henderson <rth@redhat.com>
9140
9141 * toplev.c (rest_of_decl_compilation): Revert last two changes.
9142
ba31d94e
ZW
91432002-03-03 Zack Weinberg <zack@codesourcery.com>
9144
9145 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
9146 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
9147 tree.c, config/m68k/m68k.c:
9148 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
9149 REAL_ARITHMETIC blocks unconditional. Delete some further
9150 #ifdef blocks predicated on REAL_ARITHMETIC.
9151 * flags.h, toplev.c: Delete remaining references to
9152 flag_pretend_float.
9153
9154 * doc/invoke.texi: Remove documentation of -fpretend-float.
9155 * doc/tm.texi: Describe the various REAL_* macros as provided by
9156 real.h, not by the target configuration files.
9157
9158 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
9159 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
9160 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
9161 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
9162 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
9163 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
9164 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
9165 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
9166 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
9167 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
9168 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
9169 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
9170 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
9171 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
9172 config/xtensa/xtensa.h:
9173 Do not define, undefine, or mention in comments any of
9174 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
9175 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
9176 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
9177 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
9178 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
9179 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
9180 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
9181 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
9182 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
9183
9a571cfd
KG
91842002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9185
e81dd381
KG
9186 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
9187 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
9188 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
9189 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9190 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
9191 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
9192 Delete.
9193 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 9194 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 9195
9a571cfd
KG
9196 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
9197 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
9198 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
9199
ca7558fc
KG
92002002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9201
9202 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
9203 lieu of explicit sizeof/sizeof.
9204 * i386.c (override_options, ix86_init_mmx_sse_builtins,
9205 ix86_expand_builtin): Likewise.
9206 * mips.c (mips_add_gc_roots): Likewise.
9207 * mmix.c (mmix_output_condition): Likewise.
9208 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
9209 altivec_init_builtins): Likewise.
9210 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
9211 * cppexp.c (Nsuff, parse_number): Likewise.
9212 * cppinit.c (builtin_array_end): Likewise.
9213 * gcc.c (n_default_compilers, process_command): Likewise.
9214 * genpreds.c (output_predicate_decls): Likewise.
9215 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
9216 * lcm.c (N_ENTITIES): Likewise.
9217 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 9218
41c78c88
RH
92192002-03-03 Richard Henderson <rth@redhat.com>
9220
9221 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
9222 for types or labels.
9223
9e9b71e6
RH
92242002-03-03 Richard Henderson <rth@redhat.com>
9225
9226 * c-decl.c (start_decl): Initialized variables are not common.
9227
c26a6db8
PB
92282002-03-02 Per Bothner <per@bothner.com>
9229
9230 * gcc.c (option_map): Suport new --bootclasspath option.
9231 --CLASSPATH is now just an alias for --classpath.
9232
9e8aab55
RH
92332002-03-02 Richard Henderson <rth@redhat.com>
9234
9235 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
9236 load if "internal" visibility.
9237 * doc/extend.texi: Document visibility meanings.
9238
b3bbd220
RH
92392002-03-02 Richard Henderson <rth@redhat.com>
9240
9241 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
9242 to functions as well.
9243
b14707c3
RH
92442002-03-02 Richard Henderson <rth@redhat.com>
9245
9246 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
9247 (handle_visibility_attribute): Don't call assemble_visibility.
9248 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
9249 without asmspec. Invoke assemble_alias when needed.
9250 * varasm.c (maybe_assemble_visibility): New.
9251 (assemble_start_function, assemble_variable, assemble_alias): Use it.
9252
b2003250
RH
92532002-03-02 Richard Henderson <rth@redhat.com>
9254
9255 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
9256 invoke ENCODE_SECTION_INFO with first call flag.
9257
9258 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
9259 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 9260 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
9261 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
9262 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
9263 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
9264 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
9265 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
9266 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
9267 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
9268 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
9269 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
9270 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
9271 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
9272 config/mcore/mcore-protos.h, config/mcore/mcore.c,
9273 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
9274 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 9275 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
9276 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
9277 config/sh/sh.h, config/sparc/sparc.h,
9278 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
9279 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
9280 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
9281 FIRST argument. As needed, examine it and do nothing.
9282
ba31d94e 9283 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
9284 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
9285 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
9286
9287 * config/arm/t-pe (pe.o): Add dependencies.
9288
5c60f03d
KG
92892002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9290
9291 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
9292 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
9293 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
9294 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
9295 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
9296 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
9297 * defaults.h (BITS_PER_UNIT): Define.
9298 * doc/tm.texi (BITS_PER_UNIT): Document default value.
9299
86855e8c
KH
93002002-03-02 Kazu Hirata <kazu@hxi.com>
9301
9302 * config/h8300/h8300-protos.h: Add a prototype for
9303 compute_a_shift_length.
9304 * config/h8300/h8300.c (h8300_asm_insn_count): New.
9305 (compute_a_shift_length): Likewise.
9306 (h8300_adjust_insn_length): Do not adjust insn length of shift
9307 insns.
9308 * config/h8300/h8300.md (anonymous shift patterns): Use
9309 compute_a_shift_length.
9310
f6041ed8
RK
9311Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9312
35aa3c1c
RK
9313 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
9314 trunc_int_for_mode.
9315
f6041ed8
RK
9316 * emit-rtl.c (offset_address): Call update_temp_slot_address.
9317
27b41650
KG
93182002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9319
9320 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
9321 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
9322 * flags.h (flag_zero_initialized_in_bss): Declare.
9323 * toplev.c (flag_zero_initialized_in_bss): New flag.
9324 (lang_independent_options): Add flag_zero_initialized_in_bss.
9325 * tree.c (initializer_zerop): New function.
9326 * tree.h (initializer_zerop): Declare.
9327 * varasm.c (assemble_variable): If we can emit bss, put zero
9328 initializers in the bss section.
9329
ca734b39
AM
93302002-03-02 Alan Modra <amodra@bigpond.net.au>
9331
9332 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
9333 like more than one symbol per .weak directive.
9334
49b72306
RH
93352002-03-01 Richard Henderson <rth@redhat.com>
9336
9337 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
9338 adjust argument_pointer by pretend_args_size.
9339 (ia64_va_start): Adjust va_start address by -pretend_args_size.
9340
fbf0fe41
KH
93412002-03-01 Kazu Hirata <kazu@hxi.com>
9342
9343 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
9344
0010687d
JH
9345Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
9346
9347 * toplev.c (rest_of_compilation): Delete dead jumptables before
9348 loop.
9349 * flow.c (delete_dead_jumptables): Make global.
9350 * rtl.h (delete_dead_jumptables): Declare.
9351
9429c84c
DE
93522002-03-01 David Edelsohn <edelsohn@gnu.org>
9353
9354 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
9355 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 9356 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 9357
f0b6f9a6
KH
93582002-03-01 Kazu Hirata <kazu@hxi.com>
9359
9360 * config/h8300/h8300-protos.h: Fix formatting.
9361 * config/h8300/h8300.c: Likewise.
9362 * config/h8300/h8300.h: Likewise.
9363
bc8db8a1
KH
93642002-03-01 Kazu Hirata <kazu@hxi.com>
9365
9366 * config/h8300/h8300.c (print_operand): Support 16-bit
9367 constant addresses.
9368 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
9369
32b069d3
RH
93702002-02-28 Richard Henderson <rth@redhat.com>
9371
9372 * expmed.c (store_bit_field): Prevent generation of CONCATs;
9373 pun complex values as integers; use gen_lowpart instead of
9374 gen_rtx_SUBREG.
9375 (extract_bit_field): Likewise.
9376
79c4e63f
AM
93772002-03-01 Alan Modra <amodra@bigpond.net.au>
9378 David Edelsohn <edelsohn@gnu.org>
9379
9380 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
9381 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
9382 (SUPPORTS_WEAK): Likewise.
9383 * output.h (add_weak): Add tree param.
9384 * varasm.c (add_weak): Likewise. Save decl.
9385 (struct weak_syms): Add decl field.
9386 (mark_weak_decls): New function.
9387 (init_varasm_once): ggc_add_root mark_weak_decls.
9388 (assemble_start_function): Use ASM_WEAKEN_DECL.
9389 (assemble_variable): Likewise.
9390 (assemble_alias): Likewise.
9391 (declare_weak): Pass decl to add_weak.
9392 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
9393 (remove_from_pending_weak_list): Declare and define for
9394 ASM_WEAKEN_DECL.
9395 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
9396 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
9397 * defaults.h (SUPPORTS_WEAK): Likewise.
9398 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
9399 .weak for code sym. Do emit .size for descriptor sym.
9400 (ASM_DECLARE_FUNCTION_SIZE): Define.
9401 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
9402 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
9403 .lglobl unless TARGET_XCOFF. Formatting fixes.
9404 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
9405 .weak for code sym.
9406 (HANDLE_PRAGMA_WEAK): Remove.
9407 (ASM_WEAKEN_LABEL): Remove.
9408 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
9409
6f30f1f1
JM
94102002-03-01 Jason Merrill <jason@redhat.com>
9411
9412 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
9413 (TARGET_EXPR_CLEANUP): New macro.
9414
7879b81e
SE
94152002-02-28 Steve Ellcey <sje@cup.hp.com>
9416
9417 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
9418 to take ptr_extend into account as third type of extension.
9419 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
9420 fields used by SUBREG_PROMOTED_UNSIGNED_P.
9421 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
9422 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
9423 * calls.c (precompute_arguments): Use new macro.
9424 (expand_call): Ditto.
9425 * combine.c (nonzero_bits): Ditto.
9426 (record_promoted_value): Ditto.
9427 * expr.c (store_expr): Ditto.
9428 (expand_expr): Ditto.
9429 * function.c (assign_parms): Ditto.
9430
42d579d8
AO
94312002-02-28 Alexandre Oliva <aoliva@redhat.com>
9432
9433 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
9434 override -shared and -shared-libgcc.
9435
e0054185
DB
94362002-02-28 David O'Brien <obrien@FreeBSD.org>
9437
9438 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
9439 of "ultrasparc".
9440 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
9441 to be broken.
9442
abda4f1c
RH
94432002-02-28 Richard Henderson <rth@redhat.com>
9444
9445 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
9446 4 cycle latency from MM producers.
9447 (ia64_internal_sched_reorder): Likewise with pipeline flush.
9448
c0f08649
JJ
94492002-02-28 Jakub Jelinek <jakub@redhat.com>
9450
9451 * mklibgcc.in: Don't use GNU make extension.
9452
f79f2651
NB
94532002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
9454
9455 * c-parse.in (STATIC): New terminal.
9456 (scspec): New non-terminal. Update productions accordingly.
9457 (program): Remove bogus ifc / end ifc.
9458 (array_declarator): Simplify production using STATIC.
9459
001e3fee
JM
94602002-02-28 Jim Meyering <meyering@lucent.com>
9461
9462 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
9463 \a still means TARGET_BELL.
9464
89076bb3
RH
94652002-02-28 Richard Henderson <rth@redhat.com>
9466
9467 * haifa-sched.c (sched_emit_insn): New.
9468 (schedule_block): Use last_scheduled_insn to track last insn.
9469 * sched-int.h (sched_emit_insn): Prototype.
9470 * config/ia64/ia64.c (last_issued): Remove.
9471 (ia64_variable_issue): Don't set it.
9472 (nop_cycles_until): Use sched_emit_insn.
9473
e3aaacf4
AM
94742002-02-28 Andrew MacLeod <amacleod@redhat.com>
9475
9476 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
9477 extended constants.
9478
7f473594
KH
94792002-02-28 Kazu Hirata <kazu@hxi.com>
9480
9481 * config/h8300/h8300.c: Fix formatting.
9482 * config/h8300/h8300.h: Likewise.
9483
b96c434c
MM
94842002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
9485
9486 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
9487 which may overwrite the high byte of the frame pointer.
9488
9b420a6a
BT
94892002-02-28 Bo Thorsen <bo@suse.de>
9490
9491 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
9492 (STARTFILE_SPEC): Add 64 bit files.
9493 (ENDFILE_SPEC): Likewise.
9494
6f30f1f1 94952002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
9496
9497 * c-decl.c (finish_function): Only warn about missing return
9498 statement with -Wreturn-type.
9499
70da1d03
JH
9500Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
9501
9502 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
9503
9504 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
9505 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
9506
38c1593d
JH
9507Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
9508
9509 * basic-block.h (BB_REACHABLE): Renumber.
9510 (BB_DIRTY, BB_NEW): New flags.
9511 (clear_bb_flags): Declare.
9512 (update_life_info_in_dirty_blocks): Declare.
9513 * cfg.c (clear_bb_flags): New function.
9514 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
9515 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
9516 reorder_insns, emit_insn_after): Mark block as dirty.
9517 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
9518 (update_life_info_in_dirty_blocks): New function.
9519 * recog.c (apply_change_group): Dirtify block.
9520
9521 * cse.c (cse_insn): Reorder emitting of jump insn to keep
9522 cfg consistent.
9523 * gcse.c (delete_null_pointer_checks): Likewise.
9524
9525 * toplev.c (dump_file_index): Move cse2 after bp,
9526 add DFI_null
9527 (dump_file_info): Similary.
9528 (rest_of_compilation): Avoid most of CFG rebuilds;
9529 do first if converision after null pointer checks, do cse2
9530 after branch prediction; avoid full liveness rebuild after
9531 initializing subregs.
9532 * invoke.texi (-d options): Document -du, renumber.
9533
9534 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
9535 (notice_new_block): Do not set BB_UPDATE_LIFE.
9536 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
9537 merge_blocks_move_successor_nojumps, merge_blocks,
9538 try_crossjump_to_edge): Likewise.
9539 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
9540 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
9541 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
9542 (merge_of_block): Do not use life_data_ok.
9543 (find_if_case_1): Do not use SET_UPDATE_LIFE.
9544 (if_convert): Use BB_DIRTY mechanizm to update life.
9545 * lcm.c (optimize_mode_switching): Update
9546 update_life_info_in_dirty_blocks
9547
63e1b1c4
NB
95482002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
9549
9550 * Makefile.in (integrate.o): Update.
9551 * c-decl.c (copy_lang_decl): Rename.
9552 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
9553 * integrate.c: Include langhooks.h.
9554 (copy_decl_for_inlining): Update to use langhook.
9555 * langhooks-def.h (lhd_do_nothing_t,
9556 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
9557 (LANG_HOOKS_INITIALIZER): Update.
9558 * langhooks.c (lhd_do_nothing_t): New.
9559 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
9560 * tree.h (copy_lang_decl): Remove.
9561objc:
9562 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
9563
f472fa29
AM
95642002-02-27 Andrew MacLeod <amacleod@redhat.com>
9565
ba31d94e 9566 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
9567 POST_DEC, and POST_MODIFY.
9568
273cf2e4
ZW
95692002-02-27 Zack Weinberg <zack@codesourcery.com>
9570
9571 * c-typeck.c (digest_init): Remove unused parameter; all
9572 callers changed.
9573
4e07d762
GK
95742002-02-27 Geoffrey Keating <geoffk@redhat.com>
9575
9576 * expmed.c (expand_shift): Correctly test for low part of a
9577 subreg.
9578
6bc627b3
UW
95792002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
9580
9581 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
9582 insn UIDs with insn addresses.
9583
f458d1d5
ZW
95842002-02-27 Zack Weinberg <zack@codesourcery.com>
9585
9586 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
9587 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
9588 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
9589 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
9590 gcc.c, toplev.c: Delete code implementing -traditional mode.
9591
9592 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
9593 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
9594 Document removal of -traditional mode for compilation, and
9595 remove documentation only relevant to that mode.
9596
9597 * config/nextstep.h, config/ptx4.h, config/svr4.h,
9598 config/convex/convex.h, config/d30v/d30v.h,
9599 config/i386/dgux.h, config/i386/osf1elf.h,
9600 config/i386/osfelf.h, config/i386/osfrose.h,
9601 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
9602 config/m68k/hp310.h, config/m88k/dgux.h,
9603 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
9604 config/m88k/m88k.h, config/m88k/openbsd.h,
9605 config/mips/abi64.h, config/mips/osfrose.h,
9606 config/mips/svr4-5.h, config/mips/svr4-t.h,
9607 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
9608 config/stormy16/stormy16.h: Remove all references to
9609 -traditional from target specs. Delete all mention of the
9610 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
9611 delete a couple of commented-out definitions of
9612 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
9613 to -traditional.
9614
9615 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
9616 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
9617
e0b3a8ff
ZW
96182002-02-27 Zack Weinberg <zack@codesourcery.com>
9619
9620 * mklibgcc.in: Don't use \n in a line subject to
9621 interpretation by echo.
9622
5c6a85b7
GS
96232002-02-27 Graham Stott <grahams@redhat.com>
9624
72b05af1
GS
9625 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
9626 Constify NAME.
9627
7d104885
GS
9628 * loop.c (prescan_loop): Handle PARALLEL.
9629
8ed805d2
GS
9630 * unroll.c (loop_iterations): Return 0 if the add_val for
9631 a BIV is REG.
9632
fd478a0a
GS
9633 * final.c (output_operand_lossage): Constify PFX_STR.
9634
5c6a85b7
GS
9635 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
9636
cd98ad03
JH
9637Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
9638
9639 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
9640 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
9641
639ae55b
JH
9642Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
9643
9644 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
9645
e808ec9c
NB
96462002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
9647
9648 * cpplex.c (_cpp_lex_token): Handle directives in macro
9649 arguments.
9650 * cpplib.c (_cpp_handle_directive): Save and restore state
9651 if parsing macro args when entering a directive.
9652 * cppmacro.c (collect_args): No need to handle directives
9653 in macro arguments.
9654 (enter_macro_context, replace_args): Use the original macro
9655 definition in case it was redefined whilst collecting arguments.
9656doc:
9657 * cpp.texi: Update.
9658
f585a356
DE
96592002-02-26 David Edelsohn <edelsohn@gnu.org>
9660
9661 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
9662 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
9663 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
9664 method on AIX.
9665 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
9666 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
9667 (load_toc_v4_PIC_2): Same.
9668
96692002-02-26 Alan Modra <amodra@bigpond.net.au>
9670
9671 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
9672
d699058e
RH
96732002-02-26 Richard Henderson <rth@redhat.com>
9674
9675 * config/alpha/alpha.md (ashldi_se): Re-enable.
9676
eadccfbb
RH
96772002-02-26 Richard Henderson <rth@redhat.com>
9678
9679 * config/alpha/alpha.c (alpha_encode_section_info): Examine
9680 MODULE_LOCAL_P; improve commentary.
9681
7080ada1
ZW
96822002-02-26 Zack Weinberg <zack@codesourcery.com>
9683
9684 * doc/cpp.texi: Clarify documentation of relationship between
9685 #line and #include.
9686
b42cff6b
KH
96872002-02-26 Kazu Hirata <kazu@hxi.com>
9688
9689 * config/h8300/h8300-protos.h: Update the prototype for
9690 compute_logical_op_length. Add the prototype for
9691 compute_logical_op_cc.
9692 * config/h8300/h8300.c (compute_logical_op_length): Figure out
9693 code from operands.
9694 (compute_logical_op_cc): New.
9695 * config/h8300/h8300.md: Combine all the logical op patterns
9696 in HImode and SImode. Use compute_logical_op_cc.
9697
831c4e87
KC
96982002-02-26 Kelley Cook <kelleycook@comcast.net>
9699
9700 * config/i386/i386.c (print_operand): Don't append ATT-style
9701 length suffixs to x87 opcodes when in Intel mode.
9702
ff88fe10
RS
97032002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
9704
9705 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
9706 (init_emit_once): Update calls.
9707 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
9708 (init_syntax_once): Prototype.
9709
d4108589
JDA
97102002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
9711
9712 * pa-linux.h (LIB_SPEC): Update definition.
9713 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
9714
e013f3c7
RH
97152002-02-26 Richard Henderson <rth@redhat.com>
9716
9717 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
9718 if we emitted a stop bit.
9719
9e944a16
JJ
97202002-02-26 Jakub Jelinek <jakub@redhat.com>
9721
9722 * configure.in (libgcc_visibility): Substitute.
9723 * configure: Rebuilt.
9724 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
9725 defined symbols .hidden.
9726
47bd70b5
JJ
97272002-02-26 Jakub Jelinek <jakub@redhat.com>
9728
9729 * attribs.c (c_common_attribute_table): Add visibility.
9730 (handle_visibility_attribute): New function.
9731 * varasm.c (assemble_visibility): New function.
9732 * output.h (assemble_visibility): Add prototype.
9733 * tree.h (MODULE_LOCAL_P): Define.
9734 * crtstuff.c (__dso_handle): Use visibility attribute.
9735 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
9736 for MODULE_LOCAL_P symbols too.
9737 * config/ia64/ia64.c (ia64_encode_section_info): Handle
9738 MODULE_LOCAL_P symbols the same way as local symbols.
9739 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
9740 into .sdata/.sbss by the user.
9741 * doc/extend.texi (Function Attributes): Document visibility
9742 attribute.
9743
6d73371a
JJ
97442002-02-26 Jakub Jelinek <jakub@redhat.com>
9745
9746 PR debug/5770
9747 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
9748 STRING_CST initializer spanning the whole variable without
9749 embedded zeros.
9750 If expand_expr returned MEM, don't use it.
9751
06e224f7
AO
97522002-02-26 Alexandre Oliva <aoliva@redhat.com>
9753
9754 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
9755 generate a die for the lexical block.
9756
40367e2d
KH
97572002-02-26 Kazu Hirata <kazu@hxi.com>
9758
9759 * config/h8300/h8300-protos.h: Add a prototype for
9760 compute_logical_op_length.
9761 * config/h8300/h8300.c (compute_logical_op_length): New.
9762 * config/h8300/h8300.md (anonymous logical patterns): Use
9763 compute_logical_op_length for length.
9764
0e98f924
AH
97652002-02-26 Aldy Hernandez <aldyh@redhat.com>
9766
831c4e87
KC
9767 * dwarf2out.c (modified_type_die): Do not call type_main_variant
9768 for vectors.
9769 (gen_type_die): Same.
0e98f924 9770
831c4e87 9771 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 9772
a50cfd52
DE
97732002-02-26 Daniel Egger <degger@fhm.edu>
9774
831c4e87
KC
9775 * config/rs6000/rs6000.md: Swap define_insn attributes to
9776 fix incorrect generation of merge high instructions instead
9777 of merge low.
a50cfd52 9778
b7997284
AH
97792002-02-26 Aldy Hernandez <aldyh@redhat.com>
9780
831c4e87
KC
9781 * c-typeck.c (really_start_incremental_init): Use
9782 bitsize_zero_node for vectors.
b7997284 9783
376aec5d
AH
97842002-02-26 Aldy Hernandez <aldyh@redhat.com>
9785
831c4e87
KC
9786 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
9787 ("*set_vrsave_internal"): Same.
376aec5d 9788
3b40e71b
RH
97892002-02-25 Richard Henderson <rth@redhat.com>
9790
9791 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
9792 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
9793
232b8f52
JJ
97942002-02-25 Jakub Jelinek <jakub@redhat.com>
9795
9796 PR target/5755
9797 * config/i386/i386.c (ix86_return_pops_args): Only pop
9798 fake structure return argument if it was passed on the stack.
9799
67282790
JM
98002002-02-25 Jason Merrill <jason@redhat.com>
9801
9802 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
9803 RESULT_DECL.
9804
5c181756
AO
98052002-02-25 Alexandre Oliva <aoliva@redhat.com>
9806
9807 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
9808 link with shared_name only.
9809 * doc/invoke.texi (Link Options): Document new behavior.
9810
6786d201
AH
98112002-02-25 Aldy Hernandez <aldyh@redhat.com>
9812
831c4e87 9813 * c-typeck.c (push_init_level): Handle vectors.
6786d201 9814
7d6040e8
AO
98152002-02-25 Alexandre Oliva <aoliva@redhat.com>
9816
9817 * config/sparc/sparc.c (const64_high_operand): Zero-extend
9818 operands of SPARC_SETHI_P.
9819 (input_operand): Likewise.
9820 (sparc_emit_set_const32): Likewise.
9821 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
9822 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
9823 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
9824 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
9825 (movdi_insn_sp64_vis): Likewise.
9826 (movdi split, movdf split): Use SETHI32.
9827 * doc/md.texi: Document SPARC constraints L, M and N.
9828
b188f760
AH
98292002-02-25 Aldy Hernandez <aldyh@redhat.com>
9830
831c4e87
KC
9831 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
9832 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 9833
831c4e87
KC
9834 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
9835 gen_get_vrsave_internal.
b188f760 9836
8041889f
RK
9837Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9838
9839 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
9840
a47ed310
NB
98412002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
9842
9843 * cpplex.c (cpp_interpret_charconst): Get signedness or
9844 otherwise of wide character constants correct.
9845 * cppexp.c (lex): Get signedness of wide charconsts correct.
9846
cb8f73be
RK
9847Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9848
9849 * optabs.c (widen_operand): Only call convert_modes for
9850 promoted SUBREG if signedness matches.
9851 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
9852
2450e0b8
NB
98532002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
9854
9855 * cpplib.c (glue_header_name): Use local buffer to build up
9856 header name.
9857
70b6aaed
NB
98582002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
9859
9860 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
9861
6be580c7
KH
98622002-02-23 Kazu Hirata <kazu@hxi.com>
9863
9864 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
9865 H8/300[HS] separately.
9866 * config/h8300/h8300.md: Remove the early clobber constraint
9867 from bit field patterns.
9868
35dad9f1
KH
98692002-02-23 Kazu Hirata <kazu@hxi.com>
9870
9871 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
9872 register_operand.
9873 (mulhisi3): Likewise.
9874 (umulqisi3): Likewise.
9875 (umulhisi3): Likewise.
9876
ab8e2228
NB
98772002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
9878
9879 * cppinit.c (output_deps): Correct test for stdout output.
9880 (init_dependency_output): Cure warning.
9881
ac6f8a15
RK
9882Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9883
9884 * expr.c (store_expr): When converting expression to promoted
9885 equivalent type, allow using SUBREG_REG of TARGET as the target
9886 of the expansion of EXP.
9887 * loop.c (basic_induction_var, case SUBREG): Always look inside.
9888 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
9889 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
9890 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
9891 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
9892
f282ffb3
JM
98932002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
9894
9895 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
9896 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
9897 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
9898
44c5edc0
JJ
98992002-02-23 Jakub Jelinek <jakub@redhat.com>
9900
9901 PR optimization/5747
9902 * loop.c (scan_loop): Update reg info if move_movables created new
9903 pseudos.
9904
f98e43c0
DE
99052002-02-23 David Edelsohn <edelsohn@gnu.org>
9906
9907 * gcc.c (init_gcc_spec): Revert last change.
9908
e72247f4
DE
99092002-02-23 David Edelsohn <edelsohn@gnu.org>
9910
9911 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
9912 gpc_reg_operand constraint.
9913
99142002-02-23 Alan Modra <amodra@bigpond.net.au>
9915
9916 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
9917 Simplify comparison of `low'.
9918 (add_operand): Fix formatting.
9919 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 9920 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
9921 (rs6000_stack_info): Remove redundant test setting push_p.
9922 (output_toc): Fix formatting.
9923 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
9924 cc_reg_not_cr0_operand constraint.
9925 (booldi3, boolcdi3 splitters): Same.
9926
a5c30531
AH
99272002-02-23 Aldy Hernandez <aldyh@redhat.com>
9928
831c4e87 9929 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 9930
43710f9f
DE
99312002-02-22 David Edelsohn <edelsohn@gnu.org>
9932
9933 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
9934 gcc invoked with -shared-libgcc.
9935
3256b817
JJ
99362002-02-22 Jakub Jelinek <jakub@redhat.com>
9937
9938 PR c++/5748
9939 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
9940 decl if any of elements was TREE_USED.
9941
9e0625a3
AO
99422002-02-22 Alexandre Oliva <aoliva@redhat.com>
9943
9944 * config/sparc/sol2.h: Don't include sys/mman.h.
9945 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
9946 (arith_4096_operand): Don't throw high bits away.
9947 (const64_operand): Take sign extension of CONST_INTs into account.
9948 (const64_high_operand, sparc_emit_set_const32): Likewise.
9949 (GEN_HIGHINT64): Likewise.
9950 (sparc_emit_set_const64_quick1): Likewise.
9951 (const64_is_2insns): Likewise.
9952 (print_operand): Use trunc_int_for_mode for sign extension.
9953 * config/sparc/sparc.h (SMALL_INT32): Likewise.
9954 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
9955 chars. Assume CONST_INT is already properly sign-extended.
9956 (movdi split): Sign-extend each SImode part.
9957 (andsi3 split): Don't mask high bits off, so that result
9958 remains properly sign-extend.
9959 (iorsi3 split): Likewise.
9960 (xorsi3 split): Likewise.
9961
54fec3d5
RS
99622002-02-22 Richard Sandiford <rsandifo@redhat.com>
9963
9964 * fold-const.c (fold): Fix typo in comments.
9965
667ada9b
DN
99662002-02-21 Diego Novillo <dnovillo@redhat.com>
9967
9968 * Makefile.in (langhooks.o): Update dependencies.
9969
29ac78d5
DN
99702002-02-21 Diego Novillo <dnovillo@redhat.com>
9971
9972 * langhooks.c: Include flags.h.
9973
6aa77e6c
AH
99742002-02-21 Aldy Hernandez <aldyh@redhat.com>
9975
9976 * testsuite/gcc.dg/attr-alwaysinline.c: New.
9977
9978 * c-common.c (c_common_post_options): Set inline trees by
9979 default.
9980
9981 * doc/extend.texi (Function Attributes): Document always_inline
9982 attribute.
9983 Update documentation about inlining when not optimizing.
9984
9985 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
9986
9987 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
9988 unless DECL_ALWAYS_INLINE.
9989
9990 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
9991 unless DECL_ALWAYS_INLINE.
9992 (c_disregard_inline_limits): Disregard if always_inline set.
9993
9994 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
9995 Disregard if always_inline set.
9996 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
9997 unless DECL_ALWAYS_INLINE.
9998
9999 * attribs.c (handle_always_inline_attribute): New.
10000 (c_common_attribute_table): Add always_inline.
10001
10002 * config/rs6000/altivec.h: Add prototypes for builtins
10003 requiring the always_inline attribute.
10004
c410d49e
EC
100052002-02-21 Eric Christopher <echristo@redhat.com>
10006
10007 * expmed.c (store_bit_field): Try to simplify the subreg
10008 before generating a new one when when the mode size of
10009 value is less than maxmode.
10010
e3c8ea67
RH
100112002-02-21 Richard Henderson <rth@redhat.com>
10012
10013 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
10014 than gen_rtx_PLUS to form the sum.
10015 * explow.c (force_reg): Rearrange to not allocate new pseudo
10016 when force_operand returns a register.
10017 * expr.c (expand_assignment): Allow offset_rtx expansion to
10018 return a sum. Do not force addresses into registers.
10019 (expand_expr): Likewise.
10020 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
10021 to canonicalize arithmetic that didn't simpify.
10022 (simplify_plus_minus): New argument force; update
10023 all callers. Don't split CONST unless we can do something with it,
10024 and wouldn't lose the constness of the operands.
10025
10026 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
10027 that we generated earlier.
10028
c1a046e5
TT
100292002-02-21 Tom Tromey <tromey@redhat.com>
10030
10031 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
10032 (output_line_info): Use constant `1', with a long explanatory
10033 comment.
10034 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
10035
31fbaad4
R
10036Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
10037
10038 * jump.c (redirect_jump): If old label has no UID, don't try to
10039 delete it.
10040
a7f52356
R
10041Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
10042
10043 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
10044 If input is constant, do shifts at compile time.
10045
924fcc4e
JM
100462002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
10047
10048 * doc/extend.texi: Fix some more overfull hboxes.
10049
e5a20888
JJ
100502002-02-21 Jakub Jelinek <jakub@redhat.com>
10051
10052 PR optimization/4994
10053 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
10054 register moves.
10055
100562002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
10057
10058 PR c++/4574
10059 * expr.h (expand_and): Add mode argument.
10060 * expmed.c (expand_and): Add mode argument.
10061 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
10062 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
10063 * except.c (expand_builtin_extract_return_addr): Likewise.
10064 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
10065 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
10066 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
10067 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
10068 * config/c4x/c4x.md: Use GEN_INT (x) instead of
10069 gen_rtx (CONST_INT, VOIDmode, x).
10070
7133e992
JJ
100712002-02-21 Jakub Jelinek <jakub@redhat.com>
10072
10073 PR c/4697:
10074 * stmt.c (warn_if_unused_value): Move side effects test once more.
10075
e2ec05a6
TG
100762002-02-20 Torbjorn Granlund <tege@swox.com>
10077
10078 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 10079 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 10080
9dd791c8
AO
10081Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
10082
10083 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
10084 SUBREG or ZERO_EXTEND.
10085
7ab56274
R
10086Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
10087
10088 * sh.h (current_function_anonymous_args): Remove.
10089 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
10090 of current_function_varargs and current_function_stdarg is set.
10091 * sh.c (sh_expand_prologue): Check current_function_varargs /
10092 current_function_stdarg / TARGET_SH5 instead of
10093 current_function_anonymous_args.
10094
10095 * sh64.h (TARGET_VERSION): Define.
10096
b1765bde
DE
100972002-02-20 David Edelsohn <edelsohn@gnu.org>
10098
10099 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
10100 VRSAVE_REGNO on TARGET_ALTIVEC.
10101
101022002-02-20 Alan Modra <amodra@bigpond.net.au>
10103
10104 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
10105 bits of SImode const_int.
10106 (includes_rshift_p): Likewise.
10107 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 10108 mode.
b1765bde
DE
10109 (rs6000_output_function_epilogue): Pad traceback table to word.
10110 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
10111 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
10112 mask64_operand with correct mode.
b1765bde
DE
10113 (FUNCTION_ARG_REGNO_P): Correct parentheses.
10114
149d6f9e
JJ
101152002-02-20 Jakub Jelinek <jakub@redhat.com>
10116
10117 PR debug/4461
10118 * varasm.c (get_pool_constant_mark): New.
10119 * rtl.h (get_pool_constant_mark): Add prototype.
10120 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
10121 be represented if it has not been output.
10122
4161da12
AO
101232002-02-20 Alexandre Oliva <aoliva@redhat.com>
10124
10125 * combine.c (do_SUBST): Sanity check substitutions of
10126 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
10127 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
10128 CONST_INT into its operand.
10129 (known_cond): Likewise, for ZERO_EXTEND.
10130 * simplify-rtx.c (simplify_unary_operation): Fix condition to
10131 allow for simplification of wide modes. Reject CONST_INTs in
10132 ZERO_EXTEND when their actual mode is not given.
10133
3704ef74
AO
101342002-02-20 Alexandre Oliva <aoliva@redhat.com>
10135
10136 * c-decl.c (pushdecl): If no global declaration is found for an
10137 extern declaration in block scope, try a limbo one.
10138
7552da58
JJ
101392002-02-20 Jakub Jelinek <jakub@redhat.com>
10140
10141 PR c++/4401
10142 * c-common.c (pointer_int_sum): Moved from...
10143 * c-typeck.c (pointer_int_sum): ...here.
10144 * c-common.h (pointer_int_sum): Add prototype.
10145
00fae85d
JJ
101462002-02-20 Jakub Jelinek <jakub@redhat.com>
10147
10148 PR c++/5713
10149 * c-decl.c (duplicate_decls): Return 0 if issued error about
10150 redeclaration.
10151
4636c87e
JJ
101522002-02-20 Roger Sayle <roger@eyesopen.com>
10153 Jakub Jelinek <jakub@redhat.com>
10154
10155 PR c/4389
10156 * tree.c (host_integerp): Ensure that the constant integer is
10157 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
10158 when pos is zero or non-zero respectively. Clarify comment.
10159 * c-format.c (check_format_info_recurse): Fix host_integerp
10160 usage; the pos argument should be zero when assigning to a
10161 signed HOST_WIDE_INT.
10162
59bef189
RH
101632002-02-20 Richard Henderson <rth@redhat.com>
10164
10165 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
10166 of the operand, rather than assuming TImode.
10167 (ix86_expand_binop_builtin): Cope with commutative patterns
10168 using nonimmediate_operand for both operands.
10169 (ix86_expand_timode_binop_builtin): Likewise.
10170 (ix86_expand_store_builtin): Validate operand 1.
10171 (ix86_expand_unop1_builtin): Likewise.
10172
9338ffe6 101732002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 10174
9338ffe6
PB
10175 PR 5705
10176 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
10177
f322b423
RH
101782002-02-20 Richard Henderson <rth@redhat.com>
10179
10180 PR c/5615
10181 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
10182
d94084f7
TT
101832002-02-20 Tom Tromey <tromey@redhat.com>
10184
10185 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
10186 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
10187 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
10188 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
10189 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
10190 unconditionally.
10191
37fa124a
AM
10192Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
10193
10194 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
10195 for (const_int 0) in X not just INTVAL.
10196
6e5bb5ad
JM
101972002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
10198
10199 * doc/extend.texi: Avoid or reduce overfull hboxes.
10200
420e7dfa
DN
102012002-02-20 Diego Novillo <dnovillo@redhat.com>
10202
10203 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
10204 operations if the field does not start at a mode boundary.
10205
1b7a2af6
JS
102062001-02-20 Joel Sherrill <joel@OARcorp.com>
10207
10208 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
10209 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
10210 Also done for -Acpu and -Amachine.
10211
56cd5b95
NB
102122002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
10213
10214 * cppinit.c (init_dependency_output): Take deps output file
10215 from -o if none given with -MF. Suppress normal output.
c410d49e 10216 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
10217 * doc/cpp.texi, doc/invoke.texi: Update.
10218
042cdf71
ZW
102192002-02-19 Zack Weinberg <zack@codesourcery.com>
10220
10221 * toplev.c (output_quoted_string): Write unprintable
10222 characters with octal escapes.
10223
c1f11548
DE
102242002-02-19 David Edelsohn <edelsohn@gnu.org>
10225
10226 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
10227 really_call_used[VRSAVE_REGNO] if not Altivec.
10228
102292002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 10230
c1f11548
DE
10231 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
10232 MODE_MASK.
10233 (constant_pool_expr_1): Fix formatting.
10234 (rs6000_legitimize_reload_address): Likewise.
10235
c964d90e
RK
10236Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10237
10238 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
10239 now that we have one.
10240
ae34ac46
ZW
102412002-02-19 Zack Weinberg <zack@codesourcery.com>
10242
10243 * tree.h (struct tree_common): Remove aux. Add unused_0 at
10244 end of first block of bitfields (which was only seven bits);
10245 rename dummy to unused_1; remove comment which is no longer true.
10246
293c28ee
GS
102472002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
10248
10249 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
10250
7b8781c8
PB
102512002-02-19 Philip Blundell <pb@nexus.co.uk>
10252
0cb6c58d 10253 PR 5399
7b8781c8
PB
10254 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
10255 if generating PIC.
10256
10257 PR 5054
10258 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
10259 arm_is_longcall_p rather than inspecting call-type cookie
10260 directly.
10261 (call_value_insn) [TARGET_THUMB]: Likewise.
10262
5c464583
GS
102632002-02-19 Graham Stott <grahams@redhat.com>
10264
10265 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
10266
71c061e6
DE
102672002-02-19 David Edelsohn <edelsohn@gnu.org>
10268
10269 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
10270 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 10271 (FP_SAVE_INLINE): Delete.
71c061e6
DE
10272
10273 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
10274 * config/rs6000/eabi.asm: Remove ABI save restore routines.
10275 * config/rs6000/t-ppccomm: Build crtsavres.o.
10276 * config/rs6000/crtsavres.asm: New file.
10277
3a7731fd
PB
102782002-02-19 Philip Blundell <philb@gnu.org>
10279
10280 * config/arm/arm.c (use_return_insn): Don't reject interrupt
10281 functions.
10282 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
10283 (output_return_instruction): Allow interrupt functions to return with
10284 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
10285 (arm_expand_prologue): Subtract 4 before stacking LR in an
10286 interrupt function.
10287
14f583b8
PB
102882002-02-19 Philip Blundell <pb@nexus.co.uk>
10289
10290 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
10291 decl, not just FUNCTION_DECL.
10292 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
10293 (arm_assemble_integer): Likewise.
10294 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
10295 marked local.
c410d49e 10296
4cb7482c
MG
102972002-02-19 matthew green <mrg@eterna.com.au>
10298
10299 * config.gcc (sparc-*-netbsdelf*): Enable target.
10300 (sparc64-*-netbsd*): New target.
10301 * config/sparc/netbsd-elf.h: New file.
10302 * config/sparc/t-netbsd64: New file.
10303
2df3a718
GS
103042002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
10305
10306 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
10307
77f6c1eb
RS
103082002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
10309
10310 * doc/invoke.texi: explicitly list the style guidelines that
10311 -Weffc++ checks for.
10312
fd973d56
JH
10313Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
10314
10315 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
10316
30518e45
NB
103172002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
10318
10319 PR other/5718
10320 * gcc.c (cpp_unique_options): Treat -o as indicating object file
10321 only if not -E. If -E, pass -o through to the preprocessor.
10322
39ea5704
KH
103232002-02-19 Kazu Hirata <kazu@hxi.com>
10324
10325 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
10326 register number with an appropriate macro.
10327
7355dba7
BM
103282002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
10329
10330 * doc/rtl.texi (Constants): Close @code tag.
10331
91c8aa9e
AH
103322002-02-19 Aldy Hernandez <aldyh@redhat.com>
10333
10334 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
10335 ("mmx_uavgv4hi3"): Same.
10336 ("pmulhrwv4hi3"): Same.
10337
10338 * tree-inline.c (walk_tree): Handle vectors.
10339
10340 * c-common.c (constant_expression_warning): Handle vectors.
10341 (overflow_warning): Same.
10342
10343 * sched-deps.c (sched_analyze_2): Handle vectors.
10344
10345 * rtlanal.c (rtx_unstable_p): Handle vectors.
10346 (rtx_varies_p): Same.
10347 (count_occurrences): Same.
10348 (regs_set_between_p): Same.
10349 (modified_between_p): Same.
10350 (modified_in_p): Same.
10351 (volatile_insn_p): Same.
10352 (volatile_refs_p): Same.
10353 (side_effects_p): Same.
10354 (may_trap_p): Same.
10355 (inequality_comparisons_p): Same.
10356 (replace_regs): Same.
10357 (computed_jump_p_1): Same.
10358
10359 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
10360 argument.
10361 (inner_mode_array): New.
10362 (copy_rtx): Handle vectors.
10363 (copy_most_rtx): Same.
10364 (rtx_equal_p): Same.
10365 (get_mode_alignment): Adjust for vectors.
10366
10367 * resource.c (mark_referenced_resources): Handle vectors.
10368 (mark_set_resources): Same.
10369
10370 * reload1.c (eliminate_regs): Handle vectors.
10371 (elimination_effects): Same.
10372 (scan_paradoxical_subregs): Same.
10373
10374 * reload.c (subst_reg_equivs): Handle vectors.
10375
10376 * regrename.c (scan_rtx): Handle vectors.
10377
10378 * regclass.c (reg_scan_mark_refs): Handle vectors.
10379
10380 * recog.c (find_single_use_1): Handle vectors.
10381
10382 * local-alloc.c (equiv_init_varies_p): Handle vectors.
10383 (contains_replace_regs): Same.
10384 (memref_referenced_p): Same.
10385
10386 * integrate.c (copy_rtx_and_substitute): Handle vectors.
10387 (subst_constants): Same.
10388
10389 * genattrtab.c (attr_copy_rtx): Handle vectors.
10390 (encode_units_mask): Same.
10391 (clear_struct_flag): Same.
10392 (count_sub_rtxs): Same.
10393
10394 * gcse.c (want_to_gcse_p): Handle vectors.
10395 (oprs_unchanged_p): Same.
10396 (hash_expr_1): Same.
10397 (oprs_not_set_p): Same.
10398 (expr_killed_p): Same.
10399 (compute_transp): Same.
10400 (store_ops_ok): Same.
10401
10402 * function.c (purge_addressof_1): Do not allow paradoxical subregs
10403 of vectors.
10404 (fixup_var_refs_1): Same.
10405 (instantiate_virtual_regs_1): Same.
10406
10407 * fold-const.c (operand_equal_p): Handle vectors.
10408 (fold): Same.
10409 (rtl_expr_nonnegative_p): Same.
10410
10411 * flow.c (mark_used_regs): Handle vectors.
10412
10413 * df.c (df_uses_record): Handle vectors.
10414
10415 * cselib.c (cselib_subst_to_values): Handle vectors.
10416 (cselib_mem_conflict_p): Same.
10417 (hash_rtx): Same.
10418
10419 * cse.c (canon_reg): Handle vectors.
10420 (fold_rt): Same.
10421 (cse_process_notes): Same.
10422 (count_reg_usage): Same.
10423 (canon_hash): Same.
10424
10425 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
10426
10427 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
10428
10429 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
10430 (gen_rtx): Handle CONST_VECTOR.
10431 (gen_const_vector_0): New.
10432 (copy_rtx_if_shared): CONST_VECTORs can be shared.
10433 (reset_used_flags): Same.
10434 (copy_insn_1): Same.
10435 (initializer_constant_valid_p): Handle VECTOR_CST.
10436
10437 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
10438
10439 * doc/rtl.texi (Constants): Document const_vector.
10440 (CONST0_RTX): Update for vectors.
10441 (RTL sharing): Same.
10442
10443 * print-tree.c (print_node): Add case for VECTOR_CST.
10444
10445 * tree.h (TREE_VECTOR_CST_ELTS): New.
10446 (struct tree_vector): New.
10447 (union tree_node): Add vector node.
10448 (build_vector): Add prototype.
10449
10450 * tree.def (VECTOR_CST): New.
10451
10452 * tree.c (build_vector): New.
10453
10454 * expmed.c (make_tree): Handle CONST_VECTOR.
10455
10456 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
10457 (CONST_VECTOR_ELT): New.
10458 (CONST_VECTOR_NUNITS): New.
10459
10460 * machmode.h (GET_MODE_INNER): New.
10461 (DEF_MACHMODE): Accept 8th arg.
10462
10463 * machmode.def: Add 8th argument for vector inner mode.
10464 Add inner vector modes for vectors.
10465
10466 * rtl.def (VEC_CONST): Remove.
10467 (CONST_VECTOR): New.
10468
10469 * expr.c (clear_storage): Allow vectors.
10470 (is_zeros_p): Handle VECTOR_CST.
10471
10472 * varasm.c (output_constant_pool): Handle vectors.
10473 (rtx_const): Add veclo and vechi fields.
10474 (kind): Add RTX_VECTOR.
10475 (decode_rtx_const): Add case for vector.
10476
10477 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 10478
91c8aa9e
AH
10479 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
10480 constants. Force easy vector constants into memory.
10481 (easy_vector_constant): New.
10482 (emit_easy_vector_constant): New.
10483 (rs6000_legitimize_reload_address): Do not generate bad reloads on
10484 darwin.
10485
10486 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
10487 instruction does.
10488 ("altivec_lvxl"): Same.
10489 (altivec_lvebx): Same.
10490 (altivec_lvehx): Same.
10491 (altivec_lvewx): Same.
10492 ("*movv4si_const0"): New.
10493 ("*movv4sf_const0"): New.
10494 ("*movv8hi_const0"): New.
10495 ("*movv16qi_const0"): New.
10496
d4d6d0ce
KH
104972002-02-18 Kazu Hirata <kazu@hxi.com>
10498
10499 * config/h8300/h8300.c (notice_update_cc): Use
10500 cc_status.value2.
10501
4915d3aa
KH
105022002-02-18 Kazu Hirata <kazu@hxi.com>
10503
10504 * config/h8300/h8300.md (divmod patterns): Change the
10505 constraints for operands[1] to register_operand.
10506
82be00ee
KH
105072002-02-18 Kazu Hirata <kazu@hxi.com>
10508
10509 * config/h8300/h8300-protos.h: Remove the prototype for
10510 p_operand.
10511 * config/h8300/h8300.c (p_operand): Remove.
10512 * config/h8300/h8300.md: Replace p_operand with
10513 const_int_operand.
10514
1768c26f
PB
105152002-02-18 Philip Blundell <pb@nexus.co.uk>
10516
10517 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
10518 comment.
10519 (output_return_instruction): Allow use of LDR to unstack
10520 return addresss even for interrupt handlers or when
10521 interworking. If compiling for ARMv5, use interworking-safe
10522 return instructions by default. Remove duplicated code and
10523 lengthy "strcat" sequences.
10524
ccd84f51
FS
105252002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10526
10527 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
10528 (LINK_EH_SPEC): Define.
10529 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
10530
2c153108
UW
105312002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
10532
10533 * config/s390/s390.c (s390_emit_prologue): Do not set the
10534 frame_related flag for call-clobbered registers.
10535
e95d6b23
JH
10536Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
10537
10538 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
10539 (construct_container): Fix handling of SSE operands.
10540 (ix86_expand_builtin): Fix handling of 64bit pointers.
10541 (mmx_maskmovq_rex): New pattern.
10542
c43a12b5
JH
10543Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
10544
10545 * regrename.c (kill_set_value): Handle subregs properly.
10546
aeb85a15
DB
105472002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
10548
10549 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 10550 from objc_class_name.
aeb85a15 10551
a615ca3e
RH
105522002-02-17 Richard Henderson <rth@redhat.com>
10553
10554 * config/alpha/alpha.c (some_small_symbolic_operand,
10555 some_small_symbolic_operand_1, split_small_symbolic_operand,
10556 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
10557 Handle small SYMBOL_REFs anywhere, not just inside memories.
10558 * config/alpha/alpha-protos.h: Update.
10559 * config/alpha/alpha.h (PREDICATE_CODES): Update.
10560 * config/alpha/alpha.md (small symbolic operand splitter): Update.
10561
ddb28441
RM
105622002-02-17 Roland McGrath <roland@frob.com>
10563
10564 * config.gcc (powerpc-*-gnu-gnualtivec*,
10565 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
10566 * config/rs6000/gnu.h: New file.
10567 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
10568 Grok "gnu" in rs6000_abi_name.
10569 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
10570 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
10571 Grok -mcall-gnu analogous to -mcall-linux et al.
10572 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
10573 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
10574 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
10575
f6f8ada3
JJ
105762002-02-17 Jakub Jelinek <jakub@redhat.com>
10577
10578 PR c/3444:
10579 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
10580 shortening.
10581
e16b32fc
PT
105822002-02-17 Philipp Thomas <pthomas@suse.de>
10583
10584 * config/cris/cris.h: Undefine STARTFILE_SPEC and
10585 ENDFILE_SPEC before (re)defining them.
10586
f9477efd
KH
105872002-02-17 Kazu Hirata <kazu@hxi.com>
10588
10589 * config/h8300/h8300.c: Fix formatting.
10590 * config/h8300/h8300.h: Likewise.
10591
404ae494
PT
105922002-02-17 Philipp Thomas <pthomas@suse.de>
10593
10594 * doc/tm.texi: Explain why empty strings should not be
10595 marked for translation.
10596
a52453cc
PT
105972002-02-17 Philipp Thomas <pthomas@suse.de>
10598
10599 * final.c (output_operand_lossage): Changed to accept
10600 printf style arguments. Change calls where necessary.
10601 * output.h (output_operand_lossage): Change declaration
10602 accordingly. Update copyright.
10603 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
10604 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
10605 Update copyright date where necessary.
c410d49e 10606
a52453cc
PT
10607 * config/i386/i386.c (print_operand): Likewise. Remove use of
10608 sprintf.
10609
10610 * config/cris/cris.c (cris_operand_lossage): Likewise.
10611 Rename parameter so that exgettext recognizes it as
10612 translatable message.
10613 (LOSE_AND_RETURN): Rename parameter to msgid.
10614
1c11abc4
KH
106152002-02-17 Kazu Hirata <kazu@hxi.com>
10616
10617 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
10618 hard coded register number with an appropriate macro.
10619 (HARD_REGNO_MODE_OK): Likewise.
10620 (ARG_POINTER_REGNUM): Likewise.
10621 (STATIC_CHAIN_REGNUM): Likewise.
10622 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
10623 * config/h8300/h8300.md (define_constants): Define more
10624 register numbers.
10625
a5d17ff3
PT
106262002-02-17 Philipp Thomas <pthomas@suse.de>
10627
10628 * config/i386/i386.h: Don't mark empty strings for translation.
10629
1a7289c4
L
106302002-02-16 H.J. Lu <hjl@gnu.org>
10631
10632 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
10633
afb58288
ZW
106342002-02-16 Zack Weinberg <zack@codesourcery.com>
10635
10636 * cppinit.c (merge_include_chains): Check for brack being
10637 NULL before attempting to merge it with qtail.
10638
d2af4dbd
AC
106392002-02-16 Andrew Cagney <ac131313@redhat.com>
10640
10641 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
10642 DBX_DEBUG.
10643
2e1ed1e3
JDA
106442002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
10645
10646 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
10647
604c75b2
JDA
106482002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
10649
10650 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
10651 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
10652 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
10653
1a42b072
RK
10654Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10655
7303604f 10656 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
10657 now only if !TARGET_FIX.
10658 (*movsi_nt_vms_fix): New pattern.
10659
c2ea1ac6
DR
106602002-02-16 Douglas B Rupp <rupp@gnat.com>
10661
10662 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
10663 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
10664 (alpha_sa_mask, alpha_sa_size): Reflect above change.
10665 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
10666 (alpha_start_function, alpha_expand_epilogue): Likewise.
10667 (unicosmk_gen_dsib): Likewise.
10668
725e58b1
RK
10669Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10670
10671 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
10672
13e58269
UW
106732002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
10674
c410d49e 10675 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
10676 check_and_change_labels, s390_final_chunkify): Delete.
10677 (s390_split_branches, s390_chunkify_pool): New functions.
10678 (s390_function_prologue): Call them.
c410d49e 10679
13e58269
UW
10680 * config/s390/s390.h (S390_REL_MAX): Delete.
10681 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
10682
c410d49e 10683 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
10684 attribute calculation.
10685
10686
34d1b01d
DE
106872002-02-15 David Edelsohn <edelsohn@gnu.org>
10688
10689 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
10690 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
10691
be5cc51a
JDA
106922002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
10693
10694 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
10695 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
10696 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
10697
ee96ce90
RS
106982002-02-15 Richard Sandiford <rsandifo@redhat.com>
10699
10700 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
10701
05fa709d
RS
107022002-02-15 Richard Sandiford <rsandifo@redhat.com>
10703
10704 * reload.c (find_dummy_reload): Check that an output register
10705 is valid for its mode.
10706
4606272b
AO
107072002-02-14 Alexandre Oliva <aoliva@redhat.com>
10708
9a360704
AO
10709 * combine.c (known_cond): After replacing the REG of a SUBREG, try
10710 to simplify it.
10711
4606272b
AO
10712 * function.c (assign_parms): Demote promoted argument passed by
10713 transparent reference.
10714
e62d89a1
JS
107152001-02-14 Joel Sherrill <joel@OARcorp.com>
10716
10717 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
10718 -Acpu() and -Amachine() to eliminate warnings.
10719
6c4cf695
UW
107202002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
10721
10722 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
10723
037f11ef
KH
107242002-02-14 Kazu Hirata <kazu@hxi.com>
10725
10726 * config/h8300/h8300-protos.h: Update the prototype for
10727 const_costs.
10728 * config/h8300/h8300.c (const_costs): Treat SET as a little
10729 more expensive operation.
10730 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
10731 reference to const_costs.
10732
fdc76b09
HPN
107332002-02-14 Hans-Peter Nilsson <hp@axis.com>
10734
10735 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
10736
d76e6800
JJ
107372002-02-14 Jakub Jelinek <jakub@redhat.com>
10738
10739 PR c/5503:
10740 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
10741 use arguments from newtype.
10742
5ae590d7
EC
107432002-02-13 Eric Christopher <echristo@redhat.com>
10744
10745 * config/mips/mips.c (override_options): Add check for march/mipsX
10746 on the same command line. Fix error message in cpu processing.
10747 Remove architecture and ISA checks.
10748
b8513691
AH
107492002-02-14 Aldy Hernandez <aldyh@redhat.com>
10750
831c4e87 10751 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 10752
831c4e87 10753 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 10754
78c875e8
AH
107552002-02-14 Aldy Hernandez <aldyh@redhat.com>
10756
831c4e87
KC
10757 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
10758 alternatives.
10759 ("*movv8hi_internal1"): Same.
10760 ("*movv16qi_internal1"): Same.
10761 ("*movv4sf_internal1"): Same.
78c875e8 10762
831c4e87
KC
10763 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
10764 not push_reload for altivec modes.
78c875e8 10765
d76e6800 107662002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
10767
10768 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
10769 all RTEMS targets including removal of #includes from config/*/rtems*.h
10770 file and adding them to tm_file setting. Added xm_defines=POSIX to
10771 many targets.
10772 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
10773 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
10774 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
10775 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
10776 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
10777 config/m68k/rtemself.h: Ditto.
10778 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
10779 config/mips/rtems64.h: Ditto.
10780 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
10781 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
10782 Ditto.
10783 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
10784 config/sparc/rtemself.h: Ditto.
10785 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
10786 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
10787 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
10788 more like arm-elf.
10789 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
10790 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
10791 target made more similar to i386-elf.
10792 * config/i386/t-rtems-i386: Added soft float support and multilibs.
10793 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
10794 be similar to config/m68k/t-m68kelf.
10795 * gthr-rtems.h: Encapsulate with extern "C" for C++.
10796
8686336f
JH
10797Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
10798
10799 * regmove.c (kill_value): Handle subregs.
10800
558740bf
JH
10801Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
10802
10803 * i386.md (mul patterns): Allow memory operand to be first;
10804 add expanders where needed; fix constraints.
10805 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
10806 Allow memory operand to be the first.
10807
10808 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
10809 operands.
10810
21117a17
JJ
108112002-02-13 Jakub Jelinek <jakub@redhat.com>
10812
10813 PR c/5681:
10814 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
10815 GET_MODE (x).
10816
ec65b2e3
JJ
108172002-02-13 Jakub Jelinek <jakub@redhat.com>
10818
10819 PR optimization/5547:
10820 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
10821 all valid IA-32 address modes involving non-scaled %ebx and
10822 GOT/GOTOFF as displacement.
10823
ce50cae8
UW
108242002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
10825
10826 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
10827 after emitting ltorg insns.
10828
10829 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
10830 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
10831 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
10832 *abssf2): Fix "op_type" attribute.
10833
09eb789b
DR
108342002-02-13 Douglas B Rupp <rupp@gnat.com>
10835
2dbe67bb
DR
10836 * mkconfig.sh: Avoid using a subshell redirect.
10837 ($output.T): Change to $(output)T.
10838 (ENABLE_NLS): Remove unneeded undef.
10839
ea5b9a1f
DR
10840 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
10841 * config/alpha/x-vms (libsubdir): Define.
10842
3deb00ce
DR
10843 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
10844 register frame procedures. Optimize retrieving context.
10845
09eb789b
DR
10846 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
10847 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
10848 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
10849
1abade85
RK
10850Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10851
10852 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
10853 Make same change as for find_base_value.
10854
c283e63f
KH
108552002-02-13 Kazu Hirata <kazu@hxi.com>
10856
10857 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
10858 of QImode and SImode.
10859
86039100
KH
108602002-02-13 Kazu Hirata <kazu@hxi.com>
10861
10862 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
10863 length computation of movsi.
10864 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
10865
e1429da0
KH
108662002-02-13 Kazu Hirata <kazu@hxi.com>
10867
10868 * config/h8300/h8300.md (subqi3): Tighten the predicate for
10869 operands[2] to register_operand.
10870
aebfea10
JH
10871Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
10872
10873 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
10874
0ec4e2a8
AH
108752002-02-12 Aldy Hernandez <aldyh@redhat.com>
10876
831c4e87
KC
10877 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
10878 for altivec_lvx* and altivec_stvx*.
10879 ("*movv4si_internal"): Add constraint for loading from GPRs.
10880 ("*movv8hi_internal1"): Same.
10881 ("*movv16qi_internal1"): Same.
10882 ("*movv4sf_internal1"): Same.
0ec4e2a8 10883
831c4e87 10884 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 10885
831c4e87
KC
10886 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
10887 altivec_register_operand.
0ec4e2a8 10888
b007569d
HPN
108892002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
10890
10891 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
10892 handle SYMBOL_REF.
10893
e6834654
SS
108942002-02-13 Stan Shebs <shebs@apple.com>
10895
831c4e87
KC
10896 * c-typeck.c (digest_init): Handle vectors.
10897 (really_start_incremental_init): Same.
10898 (pop_init_level): Same.
10899 (process_init_element): Same.
e6834654 10900
831c4e87 10901 * varasm.c (output_constant): Same.
e6834654 10902
831c4e87
KC
10903 * expr.c (clear_storage): Same.
10904 (store_constructor): Same.
e6834654 10905
d9b3eb63
EC
109062002-02-12 Eric Christopher <echristo@redhat.com>
10907
10908 * explow.c (hard_function_value): Add comment explaining
10909 signed/unsigned comparison.
10910
56d44285
JJ
109112002-02-12 Jakub Jelinek <jakub@redhat.com>
10912
10913 * jump.c (never_reached_warning): Add finish argument.
10914 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
10915 real insn after end.
10916 * rtl.h (never_reached_warning): Adjust prototype.
10917 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
10918 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
10919 never_reached_warning.
10920
fc209487
GS
109212002-02-12 Graham Stott <grahams@redhat.com>
10922
10923 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
10924
1e41e866
KH
109252002-02-12 Kazu Hirata <kazu@hxi.com>
10926
10927 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
10928 logical shifts on H8/300.
10929 (shift_alg_si): Improve several shifts on H8/300.
10930 (get_shift_alg): Likewise.
10931
a36a47ad
GS
109322002-02-12 Graham Stott <grahams@redhat.com>
10933
10934 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
10935
0aacc8ed
RK
10936Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10937
10938 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
10939 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
10940
a02ac966
HPN
109412002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
10942
10943 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
10944 non-CONST_INT through default_assemble_integer.
10945 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
10946 <case 8>: Abort for CONST_DOUBLE.
10947
d6e06ddc
JDA
109482002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
10949
10950 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
10951 is specified.
10952 * config/pa/pa-linux.h (LIB_SPEC): Delete.
10953 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
10954
515342a8
AH
109552002-02-11 Andrew Haley <aph@cambridge.redhat.com>
10956
10957 * config/stormy16/stormy16.md (zero_extendqihi2): New.
10958
cddd8b72
AO
109592002-02-11 Alexandre Oliva <aoliva@redhat.com>
10960
66df7a98
AO
10961 * regrename.c (regrename_optimize): Don't accept a
10962 part-clobbered register if the replaced register is not part
10963 clobbered.
10964
841404cd
AO
10965 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
10966 take padding into account when computing the argument value.
10967
1d1ade42
AO
10968 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
10969
cddd8b72
AO
10970 * combine.c (try_combine): Apply substitutions in
10971 CALL_INSN_FUNCTION_USAGE too.
10972
5c665b88
AH
109732002-02-11 Aldy Hernandez <aldyh@redhat.com>
10974
77f6c1eb
RS
10975 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
10976 __builtin_altivec_abs*.
10977 (bdesc_abs): New.
5c665b88 10978
77f6c1eb
RS
10979 * config/rs6000/rs6000.h (rs6000_builtins): Add
10980 ALTIVEC_BUILTIN_ABS*.
5c665b88 10981
77f6c1eb
RS
10982 * config/rs6000/altivec.h: Use const char for builtins expecting
10983 literals.
10984 (vec_abs): New versions for C and C++.
10985 (vec_abss): Same.
5c665b88 10986
3494f1b4
KH
109872002-02-10 Kazu Hirata <kazu@hxi.com>
10988
10989 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
10990 using Pmode.
10991
72431aef
KH
109922002-02-10 Kazu Hirata <kazu@hxi.com>
10993
10994 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
10995 constant definition from h8300.md.
10996 (FRAME_POINTER_REGNUM): Likewise.
10997 * config/h8300/h8300.md (define_constants): Add FP_REG.
10998
87e4ee91
KH
109992002-02-10 Kazu Hirata <kazu@hxi.com>
11000
11001 * config/h8300/h8300.c (print_operand): Remove redundant code.
11002
9c188705
KH
110032002-02-10 Kazu Hirata <kazu@hxi.com>
11004
11005 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
11006 * config/h8300/h8300.c (byte_reg): Make it static.
11007
fba78abb
RH
110082002-02-10 Richard Henderson <rth@redhat.com>
11009
11010 PR c/5623
11011 * c-typeck.c (incomplete_type_error): Handle flexible array members.
11012
65739e62
RH
110132002-02-10 Richard Henderson <rth@redhat.com>
11014
11015 PR c++/5624
11016 * tree.c (append_random_chars): Don't abort if main_input_filename
11017 does not exist.
11018
247cb9df
HPN
110192002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
11020
11021 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
11022
232bd029
KH
110232002-02-10 Kazu Hirata <kazu@hxi.com>
11024
65739e62 11025 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
11026 (pushhi1): Likewise.
11027
276ef573
JDA
110282002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
11029
11030 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
11031 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
11032
617e9ee5
DB
110332002-02-09 David O'Brien <obrien@FreeBSD.org>
11034
11035 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
11036 remove MASK_VIS.
11037 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
11038
6dfa4005
KH
110392002-02-09 Kazu Hirata <kazu@hxi.com>
11040
11041 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
11042 a half of an SImode register on H8/300.
11043
749e7b80
JH
11044Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
11045
11046 * i386.md (movdi_2): Add missing '!'.
11047
ca77d87c
KH
110482002-02-09 Kazu Hirata <kazu@hxi.com>
11049
11050 * config/h8300/h8300.h: Fix formatting. Remove commented-out
11051 definitions.
11052
16c96304
KH
110532002-02-09 Kazu Hirata <kazu@hxi.com>
11054
11055 * config/h8300/h8300.md (length): Correct the distance valid
11056 for the short branch.
11057
a364bc90
KH
110582002-02-09 Kazu Hirata <kazu@hxi.com>
11059
11060 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
11061
e4ec2cac
AO
110622002-02-09 Alexandre Oliva <aoliva@redhat.com>
11063
a138247b
AO
11064 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
11065 registers in SImode.
11066 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
11067 part-clobbered.
11068
2b1fd83f
AO
11069 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
11070 patch.
d9b3eb63 11071
fa5322fa
AO
11072 Contribute sh64-elf.
11073 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
11074 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
11075 (sh_cannot_modify_jumps_p): New function.
11076 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
11077 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
11078 (sh_ms_bitfield_layout_p): New function.
11079 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
11080 Zack Weinberg <zack@codesourcery.com>
11081 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
11082 expand_simple_binop instead of expand_binop.
11083 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
11084 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
11085 use of .quad and .uaquad.
11086 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
11087 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
11088 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
11089 * config/sh/sh.md (movdi_const, movdi_const_32bit,
11090 movdi_const_16bit): Make sure all CONSTs have modes.
11091 (sym2PIC): Ditto, but by adjusting all callers.
11092 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
11093 if the prologue calls the SHmedia argument decoder or register
11094 saver.
11095 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
11096 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
11097 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
11098 (sh_expand_epilogue): Don't emit USE of return target register.
11099 (prepare_move_operands): Legitimize DImode PIC addresses.
11100 (sh_media_register_for_return): Skip tr0, used to initialize the
11101 PIC register.
11102 (sh_expand_prologue): Remove explicit USE of return register.
11103 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
11104 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
11105 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
11106 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
11107 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
11108 EXTRA_CONSTRAINT_T.
11109 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
11110 (MOVI_SHORI_BASE_OPERAND_P): New.
11111 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
11112 (EXTRA_CONSTRAINT_T): Define in terms of them.
11113 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
11114 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
11115 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
11116 alternatives supporting TARGET_REGS.
11117 (UNSPEC_GOTPLT): New constant.
11118 (movdi split): Move incrementing of LABEL_NUSES...
11119 (movdi_const, movdi_const_32bit): Here. Use
11120 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
11121 (movdi_const_16bit): New.
11122 (call, call_value) [flag_pic]: Use GOTPLT.
11123 (call_pop, call_value_pop): New expands.
11124 (call_pop_compact, call_pop_rettramp): New insns.
11125 (call_value_pop_compact, call_value_pop_rettramp): New insns.
11126 (sibcall) [flag_pic]: Use GOT.
11127 (builtint_setjmp_receiver): Remove bogus, unused expand.
11128 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
11129 (*pt, *ptb, ptrel): New insns.
11130 (sym2GOT): Handle DImode GOT.
11131 (sym2GOTPLT, symGOTPLT2reg): New expands.
11132 (sym2PIC): New expand.
11133 (shcompact_return_tramp): Use GOTPLT to return trampoline.
11134 (shcompact_return_tramp_i): Use return register explicitly.
11135 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
11136 disable flag_reorder_blocks.
11137 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
11138 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
11139 clobbers, for clarity.
11140 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
11141 restoring of r0 in macl as MAYBE_DEAD.
11142 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
11143 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
11144 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
11145 alter_subreg all over.
11146 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
11147 reload, instead of emitting instructions that would require
11148 reloading.
11149 (casesi_load_media): Add missing modes.
11150 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
11151 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
11152 as used if the argument decoder is called.
11153 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
11154 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
11155 Pmode, then extend it to DImode if necessary.
11156 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
11157 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
11158 constants in FPU-enabled SHmedia, let them be loaded from memory.
11159 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
11160 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
11161 Adjust whitespace in assembly output templates.
11162 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
11163 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
11164 mode of if_then_else.
11165 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
11166 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
11167 sh.h.
11168 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
11169 Joern Rennecke <amylaar@redhat.com>
11170 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
11171 (SUBTARGET_CPP_PTR_SPEC): New.
11172 (SUBTARGET_CPP_SPEC): Remove.
11173 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
11174 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
11175 Fix typo in previous checkin.
11176 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
11177 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
11178 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
11179 Alexandre Oliva <aoliva@redhat.com>
11180 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
11181 what single FP register can hold for SHmedia target.
11182 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
11183 Alexandre Oliva <aoliva@redhat.com>
11184 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
11185 Do not split into SUBREG.
11186 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
11187 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
11188 and added new functions as specified in SH5 ABI r9.
11189 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
11190 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
11191 8-byte boundary.
11192 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
11193 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
11194 gen_consttable_4 and gen_consttable_8. Emit multiple labels
11195 and consttable_window_ends.
11196 2001-06-03 Graham Stott <grahams@redhat,com>
11197 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
11198 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
11199 * config/sh/sh.c (print_operand): Handle floating-point pair,
11200 vector and matrix registers.
11201 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
11202 vector modes into account.
11203 * config/sh/sh.md (movv2sf): Split move between registers into
11204 movdf.
11205 (movv4sf, movv16sf): Introduce insns that get split only after
11206 reload.
11207 * config/sh/shmedia.h: Fix Copyright dates.
11208 * config/sh/ushmedia.h: Likewise. Move loop counter
11209 declarations into conditionals that uses them.
11210 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
11211 loop boundary.
11212 * config/sh/sshmedia.h: Fix Copyright dates.
11213 (sh_media_PUTCFG): Fix constraints.
11214 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
11215 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
11216 ptrmemfunc_vbit_in_delta for SH5.
11217 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
11218 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
11219 * invoke.texi: Likewise.
11220 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
11221 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
11222 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
11223 GCC_pop_shmedia_regs_nofpu): New global symbols.
11224 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
11225 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
11226 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
11227 compact function with nonlocal labels.
11228 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
11229 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
11230 (initial_elimination_offset): Account for their stack space.
11231 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
11232 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
11233 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
11234 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
11235 least one of the operands to be a register.
11236 (movv2sf): Likewise. Renamed to movv2sf_i.
11237 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
11238 prepare_move_operands() before emitting SHmedia insns.
11239 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
11240 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
11241 Don't save nor initialize r12. Don't mis-align the stack.
11242 Pad the code with a nop.
11243 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
11244 stack.
11245 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
11246 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
11247 [__SHMEDIA__]: Implement.
11248 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
11249 * config/sh/sh.md: Set latency of `pt' closer to reality.
11250 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
11251 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
11252 Set move, load and store type attributes.
11253 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
11254 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
11255 profiling.
11256 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
11257 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
11258 * config/sh/sh.c (sh_media_register_for_return): New function.
11259 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
11260 branch-target register.
11261 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
11262 * config/sh/sh.md (return_media_i): Use any call-clobbered
11263 branch-target register.
11264 (return_media): If r18 wasn't copied in the prologue, copy it
11265 here.
11266 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
11267 Clear class FP0_REGS.
11268 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
11269 from elf.h.
11270 2001-03-08 DJ Delorie <dj@redhat.com>
11271 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
11272 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
11273 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
11274 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
11275 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
11276 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
11277 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
11278 return value correctly for call_cookie.
11279 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
11280 * config/sh/crt1.asm (start): Modified so as to call
11281 ___setup_argv_and_call_main.
11282 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
11283 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
11284 SHmedia mode.
11285 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
11286 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
11287 (STRIP_NAME_ENCODING): Use it.
11288 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
11289 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
11290 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
11291 prepare_scc_operands().
11292 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
11293 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
11294 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
11295 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
11296 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
11297 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
11298 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
11299 used in shcompact_incoming_args.
11300 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
11301 change.
11302 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
11303 mode.
11304 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
11305 Adjust accordingly.
11306 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
11307 Simplify. Adjust. Add sanity check.
11308 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
11309 FPU_SINGLE_BIT.
11310 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
11311 TARGET_SHCOMPACT.
11312 (udivsi3, divsi3): Use them.
11313 (force_mode_for_call): New insn.
11314 (call, call_value, sibcall_value): Emit it before SHcompact
11315 calls.
11316 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
11317 * config/sh/sh.md (call, call_value, sibcall): Make sure the
11318 call cookie is non-NULL before taking its value.
11319 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
11320 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
11321 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
11322 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
11323 block.
11324 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
11325 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
11326 temporary for stack adjusts. Use MACL and MACH to pass
11327 arguments to shcompact_incoming_args.
11328 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
11329 clobber r1.
11330 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
11331 (nested_trampoline): Load static chain address into r1.
11332 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
11333 2001-01-07 Alexandre Oliva <aoliva@redhat.com
11334 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
11335 fp_arith_reg_operand().
11336 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
11337 * config/sh/sh.md (casesi): Sign-extend the first two operands,
11338 and use signed compares for them.
11339 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
11340 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
11341 ones properly aligned.
11342 (find_barrier): Account for extra alignment needed for 8-byte wide
11343 constants.
11344 (machine_dependent_reorg): Require a label for the second 4-byte
11345 constant after an 8-byte one.
11346 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
11347 change.
11348 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
11349 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
11350 last_float when switching float modes.
11351 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
11352 auto-increment for general-purpose registers.
11353 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
11354 result.
11355 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
11356 for stack adjust.
11357 * config/sh/sh.c (sh_builtin_saveregs): Support using all
11358 registers for varargs.
11359 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
11360 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
11361 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
11362 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
11363 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
11364 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
11365 call_cookie accordingly.
11366 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
11367 (SHCOMPACT_BYREF): Likewise.
11368 (SHCOMPACT_FORCE_ON_STACK): New macro.
11369 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
11370 (sh_builtin_saveregs): Likewise.
11371 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
11372 shcompact_incoming_args): Use new shift values. Support
11373 sequences of consecutive and non-consecutive pushes/pops.
11374 * config/sh/sh.md (return): Don't explicitly use PR_REG.
11375 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
11376 * config/sh/sh.h (TEXT_SECTION): Define.
11377 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
11378 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
11379 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
11380 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
11381 return values on FPU-enabled SHmedia.
11382 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
11383 FPU-enabled SHmedia.
11384 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
11385 value is returned in a non-FP reg and is not returned by
11386 reference.
11387 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
11388 jump_ind.
11389 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
11390 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
11391 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
11392 quad-aligned to be passed by callee-copy reference.
11393 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
11394 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
11395 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
11396 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
11397 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
11398 copying low-numbered FP regs to r7 and r8.
11399 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
11400 FP regs to general-purpose regs only if the copy was passed on the
11401 stack.
11402 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
11403 copying FP reg to r9.
11404 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
11405 copy FP regs to general-purpose regs only in outgoing calls.
11406 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 11407 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
11408 HOST_WIDE_INT.
11409 * config/sh/sh.h (struct sh_args): Document all fields.
11410 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
11411 passed partially on the stack should not consider making
11412 sibcalls.
11413 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
11414 stack_regs only for incoming calls. When passing FP args,
11415 make sure there are FP regs available before modifying
11416 call_cookie.
11417 (SHCOMPACT_BYREF): Pass double args in general-purpose
11418 registers by reference.
11419 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
11420 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
11421 attempt to generate sibcalls if the caller got any arguments
11422 by reference.
11423 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
11424 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
11425 to 8-byte boundaries.
11426 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
11427 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
11428 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
11429 stored in the stack.
11430 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
11431 for the offsets to have the ISA bit set.
11432 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
11433 invocation. Use beq instead of bgt to mark end of sequence of
11434 loads.
11435 (shcompact_incoming_args): Fix store of r2. Use beq instead of
11436 bgt to mark end of sequence of stores.
11437 * config/sh/sh.c (arith_operand): Don't check whether
11438 CONST_OK_FOR_J for now.
11439 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
11440 instead of long for conversion.
11441 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
11442 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
11443 before passing it to fprintf.
11444 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
11445 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
11446 Call set_fpscr before reading/writing SR.
11447 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
11448 Call set_fpscr.
11449 * config/sh/lib1funcs.asm: Add `.align 2' directives before
11450 SHmedia code.
11451 (FMOVD_WORKS): Define on SH5 with FPU.
11452 (set_fpscr): Define on SH5. Remove separate _fpscr_values
11453 setting.
11454 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
11455 _fpscr_values.
11456 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
11457 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
11458 address.
11459 (ia_main_table): Ditto.
11460 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
11461 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
11462 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
11463 the definitions from sh.h.
11464 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
11465 TARGET_SH5.
11466 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
11467 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
11468 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
11469 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
11470 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
11471 Increment LABEL_NUSES.
d9b3eb63 11472
fa5322fa
AO
11473 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
11474 TARGET_SH5.
11475 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
11476 defined.
11477 * config/sh/elf.h (SIZE_TYPE): Likewise.
11478 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
11479 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
11480 shcompact_incoming_args): Load switch table addresses using
11481 datalabel.
11482 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
11483 (NO_BUILTIN_SIZE_TYPE): Define.
11484 (SIZE_TYPE): Don't define.
11485 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
11486 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
11487 definition of __SH5__=32 for -m5-compact-nofpu.
11488 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
11489 ADDR_DIFF_VEC.
11490 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
11491 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
11492 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
11493 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
11494 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
11495 (INSN_LENGTH_ALIGNMENT): Likewise.
11496 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
11497 * config/sh/sh.md (call, call_value, sibcall): Simplify
11498 copying of non-branch-target register.
11499 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 11500 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
11501 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
11502 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
11503 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
11504 floating-point values as structs.
11505 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
11506 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
11507 general-purpose register.
11508 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
11509 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
11510 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
11511 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
11512 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
11513 (ENCODE_SECTION_INFO): Enclose variables and constants in
11514 DATALABEL unspecs.
11515 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
11516 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
11517 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
11518 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
11519 only for LABEL_REFs. For SYMBOL_REFs, prepend
11520 SH_DATALABEL_ENCODING to the symbol name.
11521 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
11522 convert_mode().
11523 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
11524 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
11525 UNSPEC_DATALABEL.
11526 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
11527 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
11528 (DATALABEL_REF_P): Don't require CONST.
11529 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
11530 REL label.
11531 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
11532 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
11533 right.
11534 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
11535 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
11536 Use shallow_copy_rtx and PUT_MODE to change the mode of
11537 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
11538 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
11539 on SHmedia using GENERAL_REGs.
11540 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
11541 bltu_media_i): Fix reversion of conditions.
11542 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
11543 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
11544 * config/sh/sh.c (output_far_jump): Save r13 in macl.
11545 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
11546 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
11547 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
11548 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
11549 (GCC_nested_trampoline): Likewise.
11550 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
11551 * config/sh/sh.c (gen_datalabel_ref): Define.
11552 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
11553 (INITIALIZE_TRAMPOLINE): Likewise.
11554 (TRAMPOLINE_ADJUST_ADDRESS): Define.
11555 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
11556 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
11557 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
11558 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
11559 (ic_invalidate): Adjust for SH5.
11560 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
11561 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
11562 _nested_trampoline.
11563 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
11564 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
11565 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
11566 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
11567 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
11568 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
11569 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
11570 * config/sh/sh.c (target_reg_operand): Match only target-branch
11571 registers and pseudos that aren't virtual registers.
11572 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
11573 Copy operands that don't match target_reg_operand to pseudos.
11574 (call_media, call_value_media, sibcall_media): Use
11575 target_reg_operand instead of target_operand.
11576 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 11577 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
11578 * config/sh/sh.c (target_reg_operand): Match hardware registers
11579 other than branch-target registers.
11580 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
11581 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
11582 (fpscr_values) [SH5 == 32]: Define.
11583 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
11584 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
11585 Handle function addresses coming in SUBREGs.
11586 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
11587 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
11588 shcompact_return_trampoline): Use datalabel where appropriate.
11589 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
11590 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
11591 general-purpose register to copy one branch-target register to
11592 another.
11593 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
11594 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
11595 SYMBOL_REFs with VOIDmode.
11596 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
11597 bltu_media_i): New insns.
11598 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
11599 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
11600 (INIT_CUMULATIVE_ARGS): Likewise.
11601 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
11602 * machmode.def (V16SFmode): New mode.
11603 * c-common.c (type_for_mode): Support V2SF and V16SF.
11604 * tree.c (build_common_tree_nodes_2): Likewise.
11605 * tree.h (tree_index): Likewise.
11606 * calls.c (emit_call_1): Take args_so_far. Adjust all
11607 callers. Introduce CALL_POPS_ARGS.
11608 * tm.texi (CALL_POPS_ARGS): Document.
11609 * config/sh/crt1.asm: Implement in SHmedia mode.
11610 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
11611 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
11612 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
11613 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
11614 Implement divsi and udivsi in SHmedia mode. Introduce
11615 SHcompact trampolines.
11616 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
11617 only in SHmedia64.
11618 (regno_reg_class): Rewrite.
11619 (fp_reg_names): Remove.
11620 (sh_register_names, sh_additional_register_names): New.
11621 (print_operand): Added `u'. Support SUBREGs in addresses.
11622 Add parentheses around shifted CONSTs.
11623 (output_file_start): Output .mode and .abi directives.
11624 (shiftcosts, addsubcosts, multcosts): Adjust.
11625 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
11626 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
11627 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
11628 bytes, not registers. Take into account the need for the
11629 SHcompact incoming args trampoline. Adjust all callers.
11630 (sh_expand_prologue): Take stack_regs into account. Call
11631 incoming args trampoline. Keep stack aligned as per SH5 ABI.
11632 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
11633 stack aligned as per SH5 ABI.
11634 (sh_builtin_saveregs): Support SH5 ABI.
11635 (sh_build_va_list, sh_va_start): Likewise.
11636 (initial_elimination_offset): Take alignment into account.
11637 Compute location of PR according to the SH5 stack frame.
11638 (arith_reg_operand): Reject branch-target registers.
11639 (shmedia_6bit_operand): New.
11640 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
11641 (target_reg_operand): Match DImode only. Accept SUBREGs.
11642 (target_operand): New.
11643 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
11644 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
11645 SIBCALL_REGS for SHmedia.
11646 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
11647 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
11648 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
11649 (TARGET_SWITCHES): New SH5 flags.
11650 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
11651 VALID_REGISTER_P to disable unsupported registers.
11652 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
11653 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
11654 (FUNCTION_ARG_PADDING): Define.
11655 (FASTEST_ALIGNMENT): Adjust.
11656 (SH_REGISTER_NAMES_INITIALIZER): New.
11657 (sh_register_names): Declare.
11658 (DEBUG_REGISTER_NAMES): Define.
11659 (REGISTER_NAMES): Define based on sh_register_names.
11660 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
11661 (sh_additional_register_names): Declare.
11662 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
11663 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
11664 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
11665 (REGISTER_NATURAL_MODE): Define.
11666 (FIRST_PSEUDO_REGISTER): Adjust.
11667 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
11668 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
11669 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
11670 (VECTOR_MODE_SUPPORTED_P): Define.
11671 (REG_CLASS_CONTENTS): Adjust.
11672 (SMALL_REGISTER_CLASSES): Adjust.
11673 (REG_ALLOC_ORDER): Adjust.
11674 (INDEX_REG_CLASS): Adjust.
11675 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
11676 (CONST_OK_FOR_LETTER_P): Adjust.
11677 (PREFERRED_RELOAD_CLASS): Adjust.
11678 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
11679 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
11680 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
11681 (FIRST_FP_PARM_REG): Adjust.
11682 (CALL_POPS_ARGS): Define.
11683 (FUNCTION_ARG_REGNO_P): Adjust.
11684 (struct sh_args): New fields.
11685 (GET_SH_ARG_CLASS): Adjust.
11686 (INIT_CUMULATIVE_ARGS): Adjust.
11687 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
11688 (FUNCTION_ARG_ADVANCE): Adjust.
11689 (FUNCTION_ARG): Adjust.
11690 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
11691 (FUNCTION_ARG_CALLEE_COPIES): Define.
11692 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
11693 (STRICT_ARGUMENT_NAMING): Define.
11694 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
11695 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
11696 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
11697 (SETUP_INCOMING_VARARGS): Adjust.
11698 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
11699 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
11700 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
11701 (SUBREG_OK_FOR_INDEX_P): Adjust.
11702 (EXTRA_CONSTRAINT_S): Update.
11703 (EXTRA_CONSTRAINT_T): New.
11704 (EXTRA_CONSTRAINT): Adjust.
11705 (GO_IF_LEGITIMATE_INDEX): Adjust.
11706 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
11707 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
11708 (MOVE_MAX): Adjust.
11709 (MAX_MOVE_MAX): Define.
11710 (Pmode): Adjust.
11711 (CONST_COSTS): Adjust.
11712 (REGISTER_MOVE_COST): Adjust.
11713 (BRANCH_COST): Adjust.
11714 (TEXT_SECTION_ASM_OP): Adjust.
11715 (DBX_REGISTER_NUMBER): Adjust.
11716 (ASM_OUTPUT_DOUBLE_INT): New.
11717 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
11718 (PREDICATE_CODES): Adjust.
11719 (PROMOTE_MODE): Adjust.
11720 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
11721 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
11722 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
11723 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
11724 (DR0_REG, DR2_REG, DR4_REG): Renumber.
11725 (TR0_REG, TR1_REG, TR2_REG): New.
11726 (XD0_REG): Renumber.
11727 (UNSPEC_COMPACT_ARGS): New.
11728 (type): Added pt and ptabs.
11729 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 11730 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
11731 (pt): New function unit.
11732 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
11733 Add whitespace between operands of SHmedia instructions.
11734 (movdicc): Fix.
11735 (adddi3_media, addsi3_media): Adjust constraints.
11736 (subsi3) [SHmedia]: Force operand 1 into a register.
11737 (udivsi3_i1_media, udivsi3_i4_media): New.
11738 (udivsi3): Support SHmedia.
11739 (divsi3_i1_media, divsi3_i4_media): New.
11740 (divsi3): Support SHmedia.
11741 (anddi3, iordi3, xordi3): Adjust constraints.
11742 (zero_extendhidi2, zero_extendqidi2): New.
11743 (extendsidi2, extendhidi2, extendqidi2): New.
11744 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
11745 (pop_e, pop_fpul, pop_4): Likewise.
11746 (movsi_media): Support FP and BT registers.
11747 (movsi_media_nofpu): New. Adjust splits to DImode.
11748 (lduw, ldub): Renamed to zero_extend* above.
11749 (movqi_media): Fix typo.
11750 (movdi_media): Support FP and BT registers.
11751 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
11752 (movdi_const_32bit): New.
11753 (shori_media): Require immediate operand. Use `u' for output.
11754 (movdf_media, movsf_media): Simplified.
11755 (movdf_media_nofpu, movsf_media_nofpu): New.
11756 (movdf, movsf): Adjust
11757 (movv2sf, movv2sf, movv16sf): New.
11758 (beq_media, beq_media_i): Adjust constraints. Don't use
11759 scratch BT register.
11760 (bne_media, bne_media_i): Likewise.
11761 (bgt_media, bgt_media_i): Likewise.
11762 (bge_media, bge_media_i): Likewise.
11763 (bgtu_media, bgtu_media_i): Likewise.
11764 (bgeu_media, bgeu_media_i): Likewise.
11765 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
11766 bunordered): Emit jump insn. Force operands to registers when
11767 needed.
11768 (jump_media, jump): Simplify.
11769 (call_compact, call_compact_rettramp): New.
11770 (call_value_compact, call_value_compact_rettramp): New.
11771 (call_media, call_value_media): Simplify.
11772 (sibcall_compact, sibcall_media): New.
11773 (call, call_value): Adjust for SHmedia and SHcompact.
11774 (sibcall, sibcall_value, untyped_call): Likewise.
11775 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
11776 (indirect_jump): Adjust for SHmedia.
11777 (casesi_jump_media): New.
11778 (nop): Re-enable for SHmedia.
11779 (call_site): Restrict to SH1.
11780 (casesi): Adjust for SHmedia.
11781 (casesi_shift_media, casesi_load_media): New.
11782 (return): Explicitly use PR register. Call return trampoline
11783 on SHcompact.
11784 (return_i): Explicitly use PR register.
11785 (shcompact_return_tramp, shcompact_return_tramp_i): New.
11786 (return_media): Adjust.
11787 (shcompact_incoming_args): New.
11788 (epilogue): Adjust.
11789 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
11790 (movstrsi): Disable on SH5.
11791 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
11792 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
11793 (subsf3, subsf3_media): Likewise.
11794 (mulsf3, mulsf3_media, mac_media): Likewise.
11795 (divsf3, divsf3_media): Likewise.
11796 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
11797 (floatsisf2, fux_truncsfsi2): Likewise.
11798 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
11799 constraints.
11800 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
11801 (cmpunsf_media, cmpsf): Likewise.
11802 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
11803 (abssf2, abssf2_media): Likewise.
11804 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
11805 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
11806 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
11807 (floatsidf2, fix_truncdfsi2): Likewise.
11808 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
11809 constraints.
11810 (cmpeqdf_media, cmpgtdf_media): Likewise.
11811 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
11812 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
11813 (absdf2, absdf2_media): Likewise.
11814 (extendsfdf2, extendsfdf2_media): Likewise.
11815 (truncsfdf2, truncsfdf2_media): Likewise.
11816 * config/sh/sh64.h: New file.
11817 * config/sh/t-sh64: New file.
11818 * config/sh/shmedia.h: New file.
11819 * config/sh/ushmedia.h: New file.
11820 * config/sh/sshmedia.h: New file.
11821 * configure.in: Added sh64-*-elf.
11822 * configure: Rebuilt.
11823 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
11824 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
11825 (reg_class_from_letter): Use `b' for TARGET_REGS.
11826 (print_operand): Support `%M', `%m', `AND' and
11827 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
11828 (andcosts): Adjust for SHmedia.
11829 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
11830 Likewise.
11831 (target_reg_operand): New function.
11832 * config/sh/sh-protos.h (target_reg_operand): Declare.
11833 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
11834 FP registers on SH5.
11835 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
11836 on SH4.
11837 (TARGET_REGISTER_P): New macro.
11838 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
11839 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
11840 (EXTRA_CONSTRAINT_S): New macro.
11841 (EXTRA_CONSTRAINT): Adjust.
11842 (FLOAT_TYPE_SIZE): Define to 32.
11843 (Pmode): DImode on SHmedia.
11844 (CONST_COSTS): Adjust for SHmedia literals.
11845 (PREDICATE_CODES): Added target_reg_operand.
11846 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
11847 * config/sh/sh.md: Remove all attrs from SHmedia insns.
11848 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
11849 (cmpdi): Accept SHmedia.
11850 (movdicc_false, movdicc_true): New insns.
11851 (movdicc): New expand.
11852 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
11853 no_new_pseudos.
11854 (addsi3_media): Match `S' constraint.
11855 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
11856 (negdi2): Expand for SHmedia.
11857 (one_cmpldi2): New expand.
11858 (zero_extendsidi2): Change from expand to insn.
11859 (extendsidi2): Add constraints.
11860 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
11861 LD/ST address. Fix SI immediate loading split.
11862 (movhi_media, movqi_media, lduw, ldub): New insns.
11863 (movhi, movqi): Accept SHmedia.
11864 (shori_media, movdi_media): Relax input constraints. Split
11865 symbolic constants.
11866 (movdf_media, movsf_media): New insn. New split to movdi.
11867 (movdf, movsf): Match on SHmedia.
11868 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
11869 bgeu_media): New insns and splits. New insns with `_i' suffix.
11870 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
11871 (bunordered): New expand.
11872 (jump_compact): Renamed from `jump'.
11873 (jump_media): New insn.
11874 (jump): New expand.
11875 (call_media, call_value_media): New insns.
11876 (call, call_value): Adjust.
11877 (indirect_jump_compact): Renamed from `indirect_jump'.
11878 (indirect_jump_media): New insn.
11879 (indirect_jump): New expand.
11880 (untyped_call, return): Accept SHmedia.
11881 (return_media): New insn.
11882 (prologue, epilogue, blockage): Accept SHmedia.
11883 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
11884 (sunordered): New expand.
11885 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
11886 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
11887 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
11888 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
11889 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
11890 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
11891 abssf2_media): New insns.
11892 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
11893 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
11894 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
11895 floatdidf2, floatsidf2_media, fix_truncdfdi2,
11896 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
11897 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
11898 absdf2_media): New insns.
11899 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
11900 (extendsfdf2_media, truncdfsf2_media): New insns.
11901 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
11902 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
11903 * config/sh/sh.h (CONST_OK_FOR_J): Document.
11904 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
11905 * config/sh/sh.md (adddi3): New expand.
11906 (adddi3_media, adddi3z_media): New insns.
11907 (adddi3_compact): Renamed from adddi3.
11908 (addsi3_media): Use add.l r63 to add constant zero.
11909 (subdi3): New expand.
11910 (subdi3_media): New insn.
11911 (subdi3_compact): Renamed from subdi3.
11912 (mulsidi3): New expand.
11913 (mulsidi3_media): New insn.
11914 (mulsidi3_compact): Renamed from mulsidi3.
11915 (umulsidi3): New expand.
11916 (umulsidi3_media): New insn.
11917 (umulsidi3_compact): Renamed from umulsidi3.
11918 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
11919 (ashlsi3, ashrsi3, lshrsi3): Use them.
11920 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
11921 (ashldi3, ashrdi3, lshrdi3): Use them.
11922 (zero_extendsidi2): New expand.
11923 (extendsidi2): New insn.
11924 (movsi_media): New insn. Split to movdi to load constants.
11925 (movsi): Enable for shmedia.
11926 (movdi_media): New insn. Use shori_media to load wide constants.
11927 (short_media): New insn.
11928 (movdi): Enable for shmedia.
11929 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
11930 * config/sh/sh.h (CPP_SPEC): Added `m5'.
11931 (SUBTARGET_CPP_SPEC): Added `!m5'.
11932 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
11933 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
11934 to all other SH variants.
11935 (TARGET_DEFAULT): Set to SH1_BIT.
11936 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
11937 (BITS_PER_WORD): Raise to 64 on shmedia.
11938 (MAX_BITS_PER_WORD): Change to 64.
11939 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
11940 (INT_TYPE_SIZE): Keep as 32.
11941 (UNITS_PER_WORD): Raise to 8 on shmedia.
11942 (MIN_UNITS_PER_WORD): Keep as 4.
11943 (POINTER_SIZE): Raise to 64 on shmedia.
11944 (CONST_OK_FOR_J): New macro.
11945 (CONST_OK_FOR_LETTER_P): Use it.
11946 (processor_type): Add PROCESSOR_SH5.
11947 * config/sh/sh.md: Conditionalize all expands, insns and
11948 splits to TARGET_SH1.
11949 (cpu): Added sh5.
11950 (addsi3_compact): Renamed from...
11951 (addsi3): Now an expand.
11952 (addsi3_media, subsi3_media): New insns.
11953 (subsi3): Don't negate constants with SHmedia.
11954
e4ec2cac
AO
11955 * hooks.c: New file.
11956 * hooks.h: New file.
11957 * Makefile.in (HOOKS_H): New.
11958 (TARGET_DEF_H): Added $(HOOKS_H).
11959 (OBJS): Added hooks.o.
11960 (cfgcleanup.o, bb-reorder.o): Added target.h.
11961 (hooks.o): Added dependencies.
11962 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
11963 (TARGET_INITIALIZER): this.
11964 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
11965 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
11966 * bb-reorder.c: Include target.h.
11967 (reorder_basic_blocks): Skip if cannot modify jumps.
11968 * cfgcleanup.c: Include target.h.
11969 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
11970
246a46e0
CD
119712002-02-08 Chris Demetriou <cgd@broadcom.com>
11972
831c4e87
KC
11973 * config/mips/mips.md (casesi_internal, casesi_internal_di):
11974 Protect jump delay slot instructions with .set noreorder and
11975 .set nomacro.
246a46e0
CD
11976
119772002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
11978
11979 * config/mips/mips.md (casesi_internal_di): Calculate
11980 the index into the target offset table correctly.
11981
fdf473ae
RH
119822002-02-08 Richard Henderson <rth@redhat.com>
11983
11984 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
11985 * final.c (output_addr_const): Accept and discard SUBREG.
11986 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
11987 mark them unknown instead.
11988 (simplify_subtraction): Handle RTX_UNKNOWN.
11989 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
11990
c50503ac
DE
119912002-02-08 David Edelsohn <edelsohn@gnu.org>
11992
11993 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
11994
3660d217
RH
119952002-02-08 Richard Henderson <rth@redhat.com>
11996
11997 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
11998
56547299
AJ
119992002-02-08 Andreas Jaeger <aj@suse.de>
12000
12001 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
12002 * config/i386/t-linux64: New file.
12003
1cf537c5
JJ
120042002-02-08 Jakub Jelinek <jakub@redhat.com>
12005
12006 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
12007 * c-parse.in (compstmt): Clear last_expr_type.
12008
5c7f5a5f
RH
120092002-02-07 Richard Henderson <rth@redhat.com>
12010
12011 * loop.c (strength_reduce): Sink final_value when not
12012 eliminating a biv.
12013
b1138bf3
DB
120142002-02-07 David O'Brien <obrien@FreeBSD.org>
12015
12016 * config/sparc/freebsd.h: Fix mismatched spec {.
12017
b6878a45
RH
120182002-02-07 Richard Henderson <rth@redhat.com>
12019
12020 * cfgrtl.c: Include recog.h and insn-config.h.
12021 (keep_with_call_p): Fix general_operand invocation.
12022 * Makefile.in (cfgrtl.o): Update dependencies.
12023
ae19f5ef
KH
120242002-02-07 Kazu Hirata <kazu@hxi.com>
12025
12026 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
12027 comment. Accept HImode only if TARGET_H8300.
12028
b137f9fc
EC
120292002-02-07 Eric Christopher <echristo@redhat.com>
12030
12031 * config/mips/crtn.asm: Cleanup #ifdefs.
12032
120332002-02-07 Eric Christopher <echristo@redhat.com>
12034
12035 * config/mips/crti.asm: Add changes for mips16. mips16 uses
12036 register 7 as RA instead of $31.
12037 * config/mips/crtn.asm: Ditto.
12038 * config/mips/mips.c (mips_move_2words): Add case for
12039 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
12040 (compute_frame_size): Fix typo.
12041 (save_restore_insns): Ditto. Make documentation about using
12042 register $7 as return register more precise.
12043 (mips_expand_epilogue): Fix comment. Add code to work around not
12044 being able to add to the stack pointer directly.
12045 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
12046 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
12047 epilogue.
12048
768070a0
TR
120492002-02-07 Tom Rix <trix@redhat.com>
12050
b137f9fc 12051 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
12052 immediates in ldu and stdu DS opcode field.
12053 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
12054 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
12055 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
12056
225909c3
JS
120572002-02-07 Jeff Sturm <jsturm@one-point.com>
12058
12059 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
12060 offset for stack bias.
12061
15fae023
L
120622002-02-07 H.J. Lu <hjl@gnu.org>
12063
12064 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
12065
fde5badd
UW
120662002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
12067
12068 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
12069
162f023b
JH
12070Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
12071
12072 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
12073 * i386.c (x86_order_regs_for_local_alloc): New global function.
12074 * i386.h (REG_ALLOC_ORDER): CLeanup.
12075 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
12076
9b462c42
RH
120772002-02-07 Richard Henderson <rth@redhat.com>
12078
85aa876c 12079 PR optimization/2463
9b462c42
RH
12080 * alias.c (find_base_value): Recall base values for fixed hard regs.
12081 * loop.c (loop_regs_update): Don't use single_set on non-insns.
12082
06e455a9
AO
120832002-02-07 Alexandre Oliva <aoliva@redhat.com>
12084
12085 * config/mips/mips.md (define_delay) [mips16]: Adjust required
12086 length.
12087
edd1967d
RH
120882002-02-06 Richard Henderson <rth@redhat.com>
12089
12090 PR c/5609
12091 * stmt.c (resolve_operand_name_1): Take more care with mixed
12092 named and unnamed operands.
12093
a2cd028f
JJ
120942002-02-06 Janis Johnson <janis187@us.ibm.com>
12095 Jan Hubicka <jh@suse.cz>
12096
12097 * loop.c (remove_constant_addition): Avoid clobbering a shared
12098 CONST expression.
12099
e8487c04
UW
121002002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
12101
12102 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
12103 * config/s390/t-linux64: New file.
12104 * config/s390/libgcc-glibc.ver: New file.
12105
58d10f89
UW
121062002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
12107
12108 * config/s390/linux64.h: Delete file.
12109 * config/s390/s390x.h: New file.
12110 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
12111 as target header file.
12112 * config/s390/linux.h (TARGET_VERSION): Define depending on
12113 DEFAULT_TARGET_64BIT.
12114 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
12115 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
12116 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
12117 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
12118 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
12119 (EXTRA_SPEC): New define.
12120 * config/s390/s390.h (TARGET_VERSION): Define depending on
12121 DEFAULT_TARGET_64BIT.
12122 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
12123
5ce89b2e
JM
121242002-02-06 Jason Merrill <jason@redhat.com>
12125
12126 * c-decl.c (finish_function): Warn about a non-void function with
12127 no return statement and no abnormal exit.
12128 (current_function_returns_abnormally): New variable.
12129 (start_function): Clear it.
12130 (struct c_language_function): Add returns_abnormally.
12131 (push_c_function_context): Save it.
12132 (pop_c_function_context): Restore it.
12133 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
12134 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
12135 an explicit return type.
12136 * c-tree.h: Declare current_function_returns_abnormally.
12137 (C_FUNCTION_IMPLICIT_INT): New macro.
12138 * c-typeck.c (build_function_call): Set it.
12139 (c_expand_return): Set current_function_returns_value even if the
12140 value is erroneous.
12141
caaf2272
JJ
121422002-02-06 Jakub Jelinek <jakub@redhat.com>
12143
12144 PR c/5420:
12145 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
12146 unsafe for reevaluation.
12147
d5129288
JJ
121482002-02-06 Jakub Jelinek <jakub@redhat.com>
12149
12150 PR c/5482:
12151 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
12152 EXPR_STMT, but COMPOUND_STMT, recurse into it.
12153
7fb75099
RH
121542002-02-06 Richard Henderson <rth@redhat.com>
12155
12156 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
12157 be a general_operand. Dest for function value must be a pseudo.
12158
d3a8b6a6
NC
121592002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
12160
12161 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
12162 as SYMBOL_REFs from the constant pool.
12163
3c1299c5
AO
121642002-02-06 Alexandre Oliva <aoliva@redhat.com>
12165
12166 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
12167 passed by invisible reference.
12168
c2c9f6c9
RH
121692002-02-05 Richard Henderson <rth@redhat.com>
12170
12171 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
12172
a824924d
HPN
121732002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
12174
12175 Implement using "base addresses" in insn operands as default.
12176 * config/mmix/mmix.c (mmix_conditional_register_usage): if
12177 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
12178 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
12179 used to read the rtx value.
12180 (mmix_target_asm_function_epilogue): Fix spacing.
12181 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
12182 (mmix_legitimate_address): Ditto.
12183 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
12184 should be loaded with a GETA insn. Don't allocate needless extra
12185 char for nul termination and fix misleading comment.
12186 (mmix_print_operand_address): Handle constants if
12187 TARGET_BASE_ADDRESSES.
12188 (mmix_output_register_setting): Use base addressing if
12189 TARGET_BASE_ADDRESSES and the number of insns is 3.
12190 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
12191 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
12192 to use R as constraint, add LDA to match s.
12193 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
12194 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
12195 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
12196 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
12197 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
12198 order with other fixed registers.
12199 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
12200 other parameter/call-clobbered registers.
12201 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
12202 -mbase-addresses, -mno-base-addresses.
12203 (MMIX Options): Ditto.
12204
73c342b9
JDA
122052002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
12206
12207 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
12208
ef238c58
AH
122092002-02-06 Aldy Hernandez <aldyh@redhat.com>
12210
831c4e87 12211 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 12212
ad08e60e
JT
122132002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
12214
12215 * config/netbsd.h (WCHAR_TYPE): Define.
12216 (WCHAR_TYPE_SIZE): Ditto.
12217 (WINT_TYPE): Ditto.
12218 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
12219 (WCHAR_UNSIGNED): Ditto.
12220 (WCHAR_TYPE_SIZE): Ditto.
12221 (WINT_TYPE): Ditto.
12222 * config/arm/netbsd.h: Likewise.
12223 * config/i386/netbsd-elf.h: Likewise.
12224 * config/i386/netbsd.h: Likewise.
12225 * config/m68k/netbsd-elf.h: Likewise.
12226 * config/m68k/netbsd.h: Likewise.
12227 * config/ns32k/netbsd.h: Likewise.
12228 * config/sparc/netbsd.h: Likewise.
12229 * config/vax/netbsd.: Likewise.
12230
f913c102
AO
122312002-02-05 Alexandre Oliva <aoliva@redhat.com>
12232
12233 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
12234 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
12235 (TARGET_INITIALIZER): this.
12236 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
12237 (BITFIELD_NBYTES_LIMITED): Markup fix.
12238 * tree.h (default_ms_bitfield_layout_p): Declare.
12239 (record_layout_info): Added prev_field.
12240 * tree.c (default_ms_bitfield_layout_p): New fn.
12241 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
12242 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
12243 * stor-layout.c: Include target.h.
12244 (start_record_layout): Initialize prev_field.
12245 (place_field): Handle MS bit-field layout, and disregard
12246 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
12247 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
12248 * Makefile.in (stor-layout.o): Adjust dependencies.
12249
c13db5d1
JM
122502002-02-05 Jason Merrill <jason@redhat.com>
12251
c13db5d1
JM
12252 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
12253
4505024e
AJ
122542002-02-05 Andreas Jaeger <aj@suse.de>
12255
12256 * crtstuff.c: Fix comments.
12257
794ad79d
RH
122582002-02-05 Richard Henderson <rth@redhat.com>
12259
2e279a9b
RH
12260 PR fortran/3393
12261 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
12262 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
12263
794ad79d
RH
12264 PR fortran/3392
12265 * config/mips/mips.c (function_arg): Handle TImode.
12266 (function_arg_advance): Likewise.
12267
8f909017
AH
122682002-02-05 Aldy Hernandez <aldyh@redhat.com>
12269
c13db5d1
JM
12270 * config/rs6000/altivec.h (vec_step_help): Rename to
12271 __vec_step_help.
8f909017 12272
66daa9e3
AH
122732002-02-05 Aldy Hernandez <aldyh@redhat.com>
12274
c13db5d1 12275 * config/rs6000/altivec.h: Fix typos.
66daa9e3 12276
2696e97b
JT
122772002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
12278
12279 * config/arm/netbsd.h: Correct a comment.
12280
3deb2758
AH
122812002-02-05 Aldy Hernandez <aldyh@redhat.com>
12282
c13db5d1
JM
12283 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
12284 building void typed builtins.
3deb2758 12285
c13db5d1
JM
12286 * config/rs6000/altivec.h (vec_ld*): Fix typos.
12287 (vec_step): Implement for C++.
3deb2758 12288
c13db5d1 12289Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
12290
12291 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
12292
ebbb0a63
RH
122932002-02-04 Richard Henderson <rth@redhat.com>
12294
12295 * combine.c (nonzero_bits): Re-introduce special case for
12296 sp/fp/ap wrt REGNO_POINTER_ALIGN.
12297
ae4b4a02
AH
122982002-02-05 Aldy Hernandez <aldyh@redhat.com>
12299
c13db5d1
JM
12300 * doc/extend.texi: Warn about unsupported usage of altivec
12301 builtins.
ae4b4a02 12302
c13db5d1
JM
12303 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
12304 (altivec_predicate_*): New.
ae4b4a02 12305
c13db5d1
JM
12306 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
12307 Add C++ version of vec_*() functions.
ae4b4a02 12308
c13db5d1
JM
12309 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
12310 (bdesc_2arg): Remove altivec predicates.
12311 (altivec_expand_builtin): Handle predicates.
12312 (altivec_init_builtins): Handle predicates.
12313 (altivec_expand_predicate_builtin): New.
ae4b4a02 12314
f6bcf44c
JDA
123152002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
12316
12317 * pa.c (DO_FRAME_NOTES): Move forward.
12318 (store_reg): Revise handling of frame notes.
12319 (load_reg): Likewise.
12320 (set_reg_plus_d): Likewise.
12321 (hppa_expand_prologue): Likewise.
12322 (hppa_expand_epilogue): Likewise.
b137f9fc 12323
703b0080
JDA
123242002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
12325
12326 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
12327
6f9fdf4d
JJ
123282002-02-04 Jakub Jelinek <jakub@redhat.com>
12329
12330 PR c/4475, c++/3780:
12331 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
12332 * c-common.h (SWITCH_TYPE): Define.
12333 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
12334 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
12335 Rename spareness variable to sparseness.
12336 (expand_end_case_type): Renamed from expand_end_case, use orig_type
12337 if non-NULL instead of TREE_TYPE (orig_index).
12338 * tree.h (expand_end_case_type): Renamed from expand_end_case.
12339 (expand_end_case): Define using expand_end_case_type.
12340 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
12341 to expand_end_case_type.
12342 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
12343
79109502
JDA
123442002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
12345
12346 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
12347 (BIGGEST_ALIGNMENT): Change to 128.
12348
e62a5987
JDA
123492002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
12350
12351 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
12352
219f24a4
JDA
123532002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
12354
12355 * pa.md (call_internal_reg_64bit): Remove unused variable.
12356
3cb66fd7
NC
123572002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
12358
12359 * config/arm/arm.h (machine_function): Add uses_anonymous_args
12360 field.
831c4e87 12361 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 12362 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
12363 replace uses with cfun->machine->uses_anonymous_args.
12364 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
12365
12366 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
12367 any geenral register.
b137f9fc 12368
5d5603e2 123692001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
12370
12371 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
12372 the entry block.
12373
563c12b0
RH
123742002-02-04 Richard Henderson <rth@redhat.com>
12375
12376 * combine.c (force_to_mode): Remove STACK_BIAS code.
12377 (nonzero_bits): Likewise. Replace sp/fp special case with
12378 REGNO_POINTER_ALIGN.
12379
12380 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
12381 (HARD_FRAME_POINTER_REGNUM): New.
12382 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
12383 (FIXED_REGS, CALL_USED_REGS): Update.
12384 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
12385 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
12386 (HARD_REGNO_NREGS): Update for SFP.
12387 (STACK_POINTER_OFFSET): Include bias here ...
12388 (FIRST_PARM_OFFSET): ... not here.
12389 (STACK_BIAS): Remove.
12390 (INIT_EXPANDERS): New.
12391 (STARTING_FRAME_OFFSET): Do not include bias.
12392 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
12393 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
12394 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
12395 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
12396 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
12397 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
12398 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
12399 (MUST_SAVE_REGISTER): Likewise.
12400 (sparc_flat_function_prologue): Likewise.
12401 (sparc_flat_function_epilogue): Likewise.
12402 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
12403 (sparc_init_modes): SFP is GENERAL_REGS.
12404 (sparc_builtin_saveregs): SFP does not have bias applied.
12405
14691f8d
RH
124062002-02-04 Richard Henderson <rth@redhat.com>
12407
12408 * config/alpha/alpha.c (current_function_is_thunk): Don't check
12409 current_function_is_thunk.
12410 (alpha_sa_mask): Distinguish between current_function_is_thunk
12411 called from ASM_OUTPUT_MI_THUNK and not.
12412 (alpha_does_function_need_gp): Thunks always need gp.
12413 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
12414 (alpha_output_mi_thunk_osf): New.
12415 * config/alpha/alpha-protos.h: Update.
12416 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
12417
af702de8
RS
124182002-02-04 Richard Sandiford <rsandifo@redhat.com>
12419
12420 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
12421 function types, not when they're taken away.
12422
5b1cacd8
JL
12423Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
12424
12425 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
12426 CODE_LABEL and jump table when replacing a table jump with a
12427 simple jump.
12428
f3e9edff
UW
124292002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
12430
12431 * config/s390/s390-protos.h (legitimize_la_operand,
12432 s390_secondary_input_reload_class, s390_plus_operand,
12433 s390_expand_plus_operand): Add prototypes.
12434
12435 config/s390/s390.c (s390_secondary_input_reload_class,
12436 s390_plus_operand, s390_expand_plus_operand): New functions.
12437
12438 (struct s390_address): New member 'pointer'.
12439 (s390_decompose_address): Compute it.
12440 (legitimate_la_operand_p): Use it.
12441 (legitimize_la_operand): New function.
12442 (movti, movdi, movdf splitters): Call it.
12443
12444 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
12445 (PREDICATE_CODES): Add s390_plus_operand.
12446
12447 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
12448 (la_ccclobber): Allow GENERAL_REGS as output operand.
12449
12450 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
12451 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
12452 (*la_64, *la_31, reload_indi, reload_insi): ... these.
12453
3c9a08ec
UW
124542002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
12455
12456 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
12457 register names for regular asm () construct.
12458
ac300a45
JJ
124592002-02-04 Jakub Jelinek <jakub@redhat.com>
12460
12461 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
12462 registers.
12463
fa852403
JJ
124642002-02-04 Jakub Jelinek <jakub@redhat.com>
12465
12466 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
12467 pat for recog.
12468
fecaac37
HP
124692002-02-04 Hartmut Penner <hpenner@de.ibm.com>
12470
831c4e87
KC
12471 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
12472 constant pool to be identical by string address and index.
fecaac37 12473
10c45943
AG
124742002-02-04 Anthony Green <green@redhat.com>
12475
12476 * output.h (SECTION_OVERRIDE): Define.
12477 * varasm.c (named_section): Obey SECTION_OVERRIDE.
12478
69474c3c
JT
124792002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
12480
12481 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
12482 by existing arm*-*-netbsd* (a.out) target.
12483 (ns32k-*-netbsdelf*): Likewise.
12484 (sparc-*-netbsdelf*): Likewise.
12485 (vax-*-netbsdelf*): Likewise.
12486
939a46f6 124872002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
12488
12489 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
12490 headers and libobjc headers.
12491
124922002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
12493
12494 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
12495 (_mingw.h): Remove duplicate include.
12496
2fd95d71
JT
124972002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
12498
12499 * config.gcc: Set cpu_type to m68k for 68010, as well.
12500 (m68010-*-netbsdelf*): New...
12501 (m68k*-*-netbsdelf*): ...targets.
12502 * config/m68k/netbsd-elf.h: New file.
12503
0ea6f6a0
KH
125042002-02-02 Kazu Hirata <kazu@hxi.com>
12505
12506 * config/h8300/h8300.c (hand_list): Move inside function_arg.
12507
cbf1b2da
KH
125082002-02-02 Kazu Hirata <kazu@hxi.com>
12509
12510 * config/h8300/h8300.c (h8_push_ops): Move inside
12511 h8300_init_once.
12512 (h8_pop_ops): Likewise.
12513 (h8_move_ops): Likewise.
12514
0869f126
KH
125152002-02-02 Kazu Hirata <kazu@hxi.com>
12516
12517 * config/h8300/h8300.c (os_task): Make it static.
12518 (monitor): Likewise.
12519 (pragma_saveall): Likewise.
12520
90e65b70
AO
125212002-02-02 Alexandre Oliva <aoliva@redhat.com>
12522
12523 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
12524 constant is a valid sign-extension for Pmode.
12525
9cbcd983
KH
125262002-02-02 Kazu Hirata <kazu@hxi.com>
12527
12528 * config/h8300/h8300.c: Fix formatting.
12529
7a27efc4
KH
125302002-02-02 Kazu Hirata <kazu@hxi.com>
12531
12532 * config/h8300/h8300.md: Fix formatting.
12533
54175a44
KH
125342002-02-02 Kazu Hirata <kazu@hxi.com>
12535
12536 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
12537 predicates of operands[1]. Split the patterns for each
12538 processor variant.
12539
eceb1755
KH
125402002-02-02 Kazu Hirata <kazu@hxi.com>
12541
12542 * config/h8300/h8300.md (xor patterns): Tighten the predicates
12543 of operands[1] to register_operand.
12544
0fef3fd0
NB
125452002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
12546
12547 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
12548 * cpphash.c (_cpp_init_hashtable): Similarly.
12549 * cppinit.c (cpp_create_reader): Default the signed_char flag.
12550 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
12551 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
12552 (cpp_handle_option): Handle the new options.
12553 * cpplex.c (cpp_interpret_charconst): Use new flag.
12554 * cpplib.h (struct cpp_options): New member signed_char.
12555 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
12556 (cpp_options): Handle -fsigned-char and -funsigned-char.
12557 (static_specs): Remove signed_char_spec.
12558 (do_spec1): Don't handle %c.
12559 * system.h: Poison SIGNED_CHAR_SPEC.
12560 * tradcif.y (yylex): Use flag_signed_char.
12561 * tradcpp.h (flag_signed_char): New.
12562 * tradcpp.c (flag_signed_char): New.
12563 (main): Handle new command-line options.
12564 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
12565config:
12566 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
12567 * avr/avr.h: Remove old comments.
12568 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
12569 (CC1_SPEC): Pass -fsigned-char if -mic*.
12570 (SIGNED_CHAR_SPEC): Remove.
12571doc:
12572 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
12573
0617ed52
EC
125742002-02-01 Eric Christopher <echristo@redhat.com>
12575
12576 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
12577 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
12578 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
12579 (ASM_OUTPUT_REG_POP): Ditto.
12580
dfd48d76
NB
125812002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
12582
12583 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
12584 patch.
12585
4a23409e
JJ
125862002-02-02 Jakub Jelinek <jakub@redhat.com>
12587
12588 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
12589
d3c52658
JJ
125902002-02-02 Jakub Jelinek <jakub@redhat.com>
12591
12592 PR c/5304:
12593 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
12594 unconditionally.
12595
02c5a3bd
JJ
125962002-02-01 Janis Johnson <janis187@us.ibm.com>
12597
12598 * cfganal.c: Include tm_p.h.
12599 (keep_with_call_p): Fix the test that determines if a register holds
12600 the return value of a call.
12601
3968de80
DD
126022002-02-01 DJ Delorie <dj@redhat.com>
12603
12604 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
12605 we are given conflicting registers, switch to the other one we
12606 had allocated for us.
12607 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
12608 as TImode so we know when the "other" register is available.
12609
1338ea6c
DB
126102002-02-01 David O'Brien <obrien@FreeBSD.org>
12611
12612 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
12613 sparc/sparc_bi.h.
12614
f015be23
JJ
126152002-02-01 Janis Johnson <janis187@us.ibm.com>
12616
12617 * cfganal.c (keep_with_call_p): New function.
12618 (flow_call_edges_add): Prevent splitting a block between a call and
12619 a single-set instruction that should be kept in the same block.
12620
63708ffc
CR
126212002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
12622
12623 * doc/install.texi (avr): Update outdated URL.
12624
5ee4950e
AH
126252002-01-30 Andrew Haley <aph@cambridge.redhat.com>
12626
831c4e87
KC
12627 * config/stormy16/stormy16.md (pushqi): New.
12628 (popqi): New.
12629 (pushhi): New.
12630 (pophi): New.
12631 (movhi): Remove stack operands.
12632 (movqi): Likewise.
12633 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
12634 nonimmediate_nonstack_operand.
12635 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
12636 New.
12637 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
12638 New.
5ee4950e 12639
b88c0704
JM
126402002-01-31 Jason Merrill <jason@redhat.com>
12641
12642 * Makefile.in (c-parse.c): Handle .output file.
12643 * objc/Make-lang.in (objc-parse.c): Likewise.
12644
ac282977
AO
126452002-02-01 Alexandre Oliva <aoliva@redhat.com>
12646
12647 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
12648 the -me[lb] option is given. Don't output the default flag
12649 twice.
12650
bebc7e8b
ZW
126512002-01-31 Zack Weinberg <zack@codesourcery.com>
12652
12653 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
12654 the primary source file; this has not been done yet.
12655 * c-decl.c (c_expand_body): Reset input_filename from
12656 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
12657
5809eb5f
KH
126582002-01-31 Kazu Hirata <kazu@hxi.com>
12659
12660 * rtlanal.c (subreg_regno_offset): Do not use
12661 SUBREG_REGNO_OFFSET.
12662 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
12663 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
12664
8512bbd7
JM
126652002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
12666
12667 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
12668 version rather than GNATS version in --version output.
12669
74cb3cc8
RS
126702002-01-31 Richard Sandiford <rsandifo@redhat.com>
12671
12672 * ifcvt.c (noce_process_if_block): Make a copy of the destination
12673 when copying back from a temporary.
12674
874b5b14
RH
126752002-01-30 Richard Henderson <rth@redhat.com>
12676
12677 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
12678 and new_dest are the same.
12679
e803a64b
RH
126802002-01-30 Richard Henderson <rth@redhat.com>
12681
89cf7be5 12682 PR opt/5076
e803a64b
RH
12683 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
12684 * rtl.c (note_insn_name): Update.
12685 * emit-rtl.c (remove_unnecessary_notes): Kill it.
12686 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
12687 to perform loop rotation.
12688 (expand_exit_loop_top_cond): New.
12689 * tree.h (expand_exit_loop_top_cond): Declare it.
12690 * c-semantics.c (genrtl_while_stmt): Use it.
12691 (genrtl_for_stmt): Likewise.
12692
0b51254d
AO
126932002-01-30 Alexandre Oliva <aoliva@redhat.com>
12694
12695 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
12696 arguments to 64-bit boundaries on 64-bit ABIs.
12697
71cef493
SE
126982002-01-30 Steve Ellcey <sje@cup.hp.com>
12699
12700 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
12701
6169e5fd
JM
127022002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
12703
12704 * c-decl.c (grokdeclarator): Handle type being a typedef for an
12705 invalid type.
12706
86f808dc
DB
127072002-01-30 David O'Brien <obrien@FreeBSD.org>
12708
12709 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
12710 * config/sparc/sparc_bi.h: Remove file.
12711 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
12712
5748ebeb
RH
127132002-01-30 Richard Henderson <rth@redhat.com>
12714
12715 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
12716
20d32cc2
ZW
127172002-01-30 Zack Weinberg <zack@codesourcery.com>
12718
12719 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
12720
b88c0704 127212002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
12722
12723 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
12724 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
12725 (reg_save): Use DW_CFA_offset_extended_sf instead.
12726
12727 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
12728
37060e78
JJ
127292002-01-29 Jakub Jelinek <jakub@redhat.com>
12730
12731 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
12732 in cselib_lookup.
12733
d18dba68
AH
127342002-01-29 Aldy Hernandez <aldyh@redhat.com>
12735
bebc7e8b
ZW
12736 * rs6000.md ("*call_value_local32"): Remove constraints.
12737 ("*call_value_local64"): Same.
12738 ("*call_value_indirect_nonlocal_aix32"): Same.
12739 ("*call_value_nonlocal_aix32"): Same.
12740 ("*call_value_indirect_nonlocal_aix64"): Same.
12741 ("*call_value_nonlocal_aix64"): Same.
12742 ("*call_value_nonlocal_sysv"): Same.
d18dba68 12743
80a8aac6
RH
127442002-01-29 Richard Henderson <rth@redhat.com>
12745
12746 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
12747
12beba6f
RH
127482002-01-29 Richard Henderson <rth@redhat.com>
12749
12750 * expr.c (force_operand): Ignore flag_pic for detecting pic
12751 address loads.
12752 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
12753 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
12754 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
12755 instead of open-coded loop.
12756 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
12757 be fixed when in use.
12758
2583081e
RH
127592002-01-29 Richard Henderson <rth@redhat.com>
12760
12761 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
12762 * sched-rgn.c (propagate_deps): Update them.
12763 * sched-deps.c (sched_analyze_insn): Update them. Flush the
12764 clobbers list when either gets too long.
12765
3b8d200e
JJ
127662002-01-29 Jakub Jelinek <jakub@redhat.com>
12767
12768 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
12769 and INDEX_REGS the same as GENERAL_REGS.
12770 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
12771
2d3115eb
NB
127722002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
12773
bebc7e8b 12774 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 12775
ecbe845e
UW
127762002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
12777
bebc7e8b 12778 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 12779 movstrsix_31): Remove, replace by ...
bebc7e8b 12780 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
12781 movstrsi_long): ... these. New.
12782 (movstrdi, movstrsi): Adapt.
12783
12784 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 12785 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
12786 Remove unnecessary CC clobber.
12787 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
12788 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
12789
12790 (divmoddi4): Don't partially initialize TImode register.
12791
0b32fca5
GK
127922002-01-29 Geoffrey Keating <geoffk@redhat.com>
12793
12794 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
12795
08ef5437
RH
127962002-01-29 Richard Henderson <rth@redhat.com>
12797
12798 * flow.c (print_rtl_and_abort): Remove.
12799 (print_rtl_and_abort_fcn): Remove.
12800 (verify_local_live_at_start): Use dump_bb instead.
12801 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
12802 (verify_wide_reg_1): Return 2 on mode test failure.
12803
8469e54e
NB
128042002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
12805
12806 PR c/3325, c/3326, c/2511, c/3347
12807 * c-decl.c (enum_decl_context): Remove BITFIELD.
12808 (grokdeclarator): Take bitfield width as an input.
12809 Ensure bitfields are given the correct type. Perform
12810 bitfield width validation with build_bitfield_integer_type
12811 rather than waiting for finish_struct.
12812 (grok_typename, grok_typename_in_parm_context, start_decl,
12813 push_parmdecl, grokfield, start_function): Update calls to
12814 grokdeclarator.
12815 (build_bitfield_integer_type): New function.
12816 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 12817 and build_bitfield_integer_type.
8469e54e
NB
12818 * tree.c (build_nonstandard_integer_type): New function.
12819 * tree.h (build_nonstandard_integer_type): New prototype.
12820objc:
12821 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
12822
ffdeea47
JJ
128232002-01-29 Jakub Jelinek <jakub@redhat.com>
12824
12825 PR other/1502:
12826 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
12827 don't ignore unrecognized -W* options.
12828 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
12829 * cpplib.h (cpp_handle_option): Adjust prototype.
12830 * c-decl.c (c_decode_options): Pass 0 as last argument to
12831 cpp_handle_option.
12832
12833 PR c/2896:
12834 * gcc.c (cpp_unique_options): Split from cpp_options.
12835 (cpp_options): Source cpp_unique_options.
12836 (default_compilers): Use cpp_unique_options instead of cpp_options
12837 when used together with cc1_options.
12838 (static_specs): Add cpp_unique_options.
12839 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
12840 when used together with cc1_options.
12841
1a275226
KH
128422002-01-29 Kazu Hirata <kazu@hxi.com>
12843
12844 * config/h8300/h8300-protos.h: Update the prototype of
12845 output_a_shift.
12846 * config/h8300/h8300.c (output_a_shift): Remove an unused
12847 argument 'insn'. Remove redundant code.
12848 * config/h8300/h8300.md: Adust to the new prototype of
12849 output_a_shift.
12850
a11d9dfc
KH
128512002-01-29 Kazu Hirata <kazu@hxi.com>
12852
12853 * config/h8300/h8300-protos.h: Update the prototypes of
12854 emit_a_rotate and expand_a_rotate.
12855 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
12856 first argument to 'enum rtx_code'.
12857 (expand_a_rotate): Likewise.
12858
871f73e3
KH
128592002-01-28 Kazu Hirata <kazu@hxi.com>
12860
12861 * config/h8300/h8300-protos.h: Update the prototype of
12862 output_simode_bld.
12863 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
12864 'log2'.
12865 * config/h8300/h8300.md: Adjust to the new prototype.
12866
5fc4b751
KH
128672002-01-28 Kazu Hirata <kazu@hxi.com>
12868
12869 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
12870 redundant code.
12871
2d67bd7b
JDA
128722002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
12873
12874 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
12875 is a fixed register before returning pic_offset_table_rtx.
12876 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
12877 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
12878
5a852b3e
JM
128792002-01-28 Jason Merrill <jason@redhat.com>
12880
6bb28965 12881 * dwarf2.h: Sync with src version.
5a852b3e 12882
3bca17dd
PK
128832002-01-28 Paul Koning <pkoning@equallogic.com>
12884
12885 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
12886 BT_FN_VOID_PTR_VAR.
12887 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
12888 * doc/extend.texi (__builtin_prefetch): Update documentation:
12889 first argument is now const void ptr.
12890
7dc3f8c0
KH
128912002-01-28 Kazu Hirata <kazu@hxi.com>
12892
12893 * config/h8300/h8300-protos.h: Remove an unused prototype.
12894
e83cb5f0
RZ
128952002-01-28 Roman Zippel <zippel@linux-m68k.org>
12896
12897 * toplev.c (lang_independent_init): Round up identifier size.
12898
5721cd84
RE
128992002-01-28 Richard Earnshaw <rearnsha@arm.com>
12900
12901 * config.gcc: Revert previous change.
12902
d534119e
AP
129032002-01-28 Andris Pavenis <pavenis@latnet.lv>
12904
12905 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
12906
5a721dab
RE
129072002-01-28 Richard Earnshaw <rearnsha@arm.com>
12908
12909 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
12910 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
12911 other non-elf netbsd config frags.
12912 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
12913 collect2 will does that.
12914 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
12915 shared-lib frobbing will work.
12916
da1775d6
KH
129172002-01-28 Kazu Hirata <kazu@hxi.com>
12918
12919 * config/h8300/h8300.h: Fix formatting.
12920 * config/h8300/h8300.md: Likewise.
12921
8f2e963b
LR
129222002-01-28 Loren J. Rittle <ljrittle@acm.org>
12923
12924 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
12925 the old, removed AAA_standards fix.
12926 * fixinc/fixincl.x: Rebuilt.
12927
fdae5767
HPN
129282002-01-28 Hans-Peter Nilsson <hp@axis.com>
12929
12930 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
12931 atexit call in crtbegin, hooked in after call to frame_dummy;
12932 register EH before registering __fini__start.
12933
2a2ecb63
AH
129342002-01-28 Aldy Hernandez <aldyh@redhat.com>
12935
12936 * config/rs6000/altivec.h: Remove spurious semicolons.
12937
8ed43adf
KH
129382002-01-27 Kazu Hirata <kazu@hxi.com>
12939
12940 * config/h8300/h8300.md: Replace dead bit extraction patterns
12941 with ones that work.
12942
917afb0c
RK
12943Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12944
12945 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
12946 if not STRICT_ALIGNMENT.
12947 * rtl.h (MEM_ALIGN): Likewise.
12948
f70a54cb
CR
129492002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
12950
12951 * doc/invoke.texi (-fdump-translation-unit): Revert this
12952 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
12953
d8fd4914
KH
129542002-01-27 Kazu Hirata <kazu@hxi.com>
12955
12956 * config/h8300/h8300.md (define_constants): New.
12957 (anonymous patterns) Use defined constants appropriately.
12958
15e0e275
KH
129592002-01-27 Kazu Hirata <kazu@hxi.com>
12960
12961 * config/h8300/h8300.c (function_arg): Remove redundant code.
12962
37a0f8a5
RH
129632002-01-26 Richard Henderson <rth@redhat.com>
12964
12965 * sched-deps.c (reg_pending_uses_head): New.
12966 (reg_pending_barrier): Rename from reg_pending_sets_all.
12967 (find_insn_list): Don't mark inline.
12968 (find_insn_mem_list): Remove.
12969 (add_dependence_list, add_dependence_list_and_free): New.
12970 (flush_pending_lists): Replace only_write param with separate
12971 for_read and for_write parameters. Update all callers. Use
12972 add_dependence_list_and_free.
12973 (sched_analyze_1): Do not add reg dependencies here; just set
12974 the pending bits. Use add_dependence_list.
12975 (sched_analyze_2): Likewise.
12976 (sched_analyze_insn): Replace schedule_barrier_found with
12977 reg_pending_barrier. Add all dependencies for pending reg
12978 uses, sets, and clobbers.
12979 (sched_analyze): Don't add reg dependencies for calls, just
12980 set pending bits. Use regs_invalidated_by_call. Treat
12981 sched_before_next_call as a normal list, not a fake insn.
12982 (init_deps): No funny init for sched_before_next_call.
12983 (free_deps): Free pending mems lists. Don't zero reg_last.
12984 (init_deps_global): Init reg_pending_uses.
12985 (finish_deps_global): Free it.
12986 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
12987 (find_insn_mem_list): Remove.
12988 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
12989 (propagate_deps): Use them. Zero temp mem lists.
12990
cea3bd3e
RH
129912002-01-26 Richard Henderson <rth@redhat.com>
12992
12993 * Makefile.in (CRTSTUFF_CFLAGS): New.
12994 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
12995 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
12996 crtstuff.c instead of alpha assembly version.
12997 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
12998 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
12999 not FORCE_{INIT,FINI}_SECTION_ALIGN.
13000 (__do_global_dtors_aux): Mark used.
13001 (frame_dummy, __do_global_ctors_aux): Mark used.
13002 (fini_dummy, init_dummy): Remove.
13003
13004 * config/alpha/crtbegin.asm: Remove file.
13005 * config/alpha/crtend.asm: Remove file.
13006 * config/alpha/t-crtbe: Remove file.
13007 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
13008 (LINK_EH_SPEC): New.
13009
13010 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
13011 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
13012 calling constructors.
13013 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
13014
13015 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
13016 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
13017 CRT_END_INIT_DUMMY hack.
13018 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
13019 FORCE_{INIT,FINI}_SECTION_ALIGN.
13020
13021 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
13022 FORCE_{INIT,FINI}_SECTION_ALIGN.
13023
13024 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
13025 invocation sequence.
13026 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
13027
13028 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
13029 (FORCE_CODE_SECTION_ALIGN): New.
13030
60ffa0e5
RH
130312002-01-26 Richard Henderson <rth@redhat.com>
13032
13033 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
13034
61334ebe
RH
130352002-01-26 Richard Henderson <rth@redhat.com>
13036
13037 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
13038 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
13039
1d788fb6
KH
130402002-01-26 Kazu Hirata <kazu@hxi.com>
13041
13042 * config/h8300/h8300.md: Remove bit extraction patterns that
13043 cannot be triggered.
13044 Restrict each bit extraction pattern to a variant on which the
13045 pattern is tested.
13046
87611f88
JM
130472002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
13048
13049 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
13050
cd74ec59
KH
130512002-01-26 Kazu Hirata <kazu@hxi.com>
13052
13053 * config/h8300/h8300.md: Remove bit test patterns that cannot
13054 be triggered.
13055 Restrict each bit test pattern to a variant on which the
13056 pattern is tested.
13057
93051e0f
KG
130582002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13059
13060 * builtins.c (expand_builtin_strncat): Remove redundant check for
13061 INTEGER_CST.
13062
216c995f
DB
130632002-01-25 David O'Brien <obrien@FreeBSD.org>
13064
13065 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
13066 default setting.
13067 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
13068 existing setting.
13069
33c7f925
GK
130702002-01-25 Geoffrey Keating <geoffk@redhat.com>
13071
13072 * dbxout.c (dbxout_init): Use assemble_name rather than just
13073 stripping off the first character.
13074 (dbxout_source_file): Likewise.
13075
6cd444b4
DD
130762002-01-25 DJ Delorie <dj@redhat.com>
13077
13078 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
13079 using rtx_equal_p, not by comparing pointers.
13080
751551d5
SE
130812002-01-25 Steve Ellcey <sje@cup.hp.com>
13082
13083 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
13084 for PIC_OFFSET_TABLE_REGNUM.
13085 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
13086
e564e618
DB
130872002-01-25 David O'Brien <obrien@FreeBSD.org>
13088
13089 * config.gcc (x86_64-*-freebsd*): New target.
13090 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
13091 value.
13092 (i[34567]86-*-freebsd*): Don't include svr4.h.
13093 * config/i386/freebsd64.h: New file.
13094
ff3aaf17
DR
130952002-01-25 Douglas B Rupp <rupp@gnat.com>
13096
4857d29d
DR
13097 * config/alpha/x-vms (version): Make static.
13098
13099 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
13100 in previous checkin.
13101
ff3aaf17
DR
13102 * Makefile.in (install-headers-cp): New target.
13103 * config.gcc (alpha-dec-*vms*): Install headers with
13104 install-headers-cp
13105
48d79c43
JH
13106Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
13107
13108 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
13109 avoid it's copies.
13110
995b5904
RK
13111Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13112
13113 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
13114 of compare_tree_int.
13115 (expand_builtin_strncat): Likewise.
13116 * c-decl.c (finish_struct): Use tree_low_cst.
13117 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
13118 * tree.c (compare_tree_int): Likewise.
13119
75eefe3f
UW
131202002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
13121
13122 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
13123 adjustments even if they are implemented by more than two insns.
13124
5a133afd
JH
13125Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
13126
995b5904 13127 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
13128 * df.h (struct ref): Kill B.
13129 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
13130
13131 * basic-block.h (PROP_EQUAL_NOTES): New flag.
13132 * flow.c (propagate_one_insn): Use it.
13133 (mark_used_regs): Handle NIL.
13134
ead39bdf 131352002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
13136
13137 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
13138 to help folding.
13139
01a2ccd0
DE
131402002-01-25 David Edelsohn <edelsohn@gnu.org>
13141
13142 * rs6000.md (prefetch): Make address V4SI mode so that the address
13143 is restricted to legitimate form for instruction.
13144
fd29f6ea
BW
131452002-01-25 Bob Wilson <bob.wilson@acm.org>
13146
13147 * doc/install.texi (xtensa-*-elf): New target.
13148 (xtensa-*-linux*): New target.
13149 * doc/contrib.texi: Add myself.
13150
55492b32
NC
131512002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
13152
13153 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
13154 purpose register to hold an SImode (or smaller) value.
13155
72c7c913
JJ
131562002-01-25 Jakub Jelinek <jakub@redhat.com>
13157
13158 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
13159 registry only.
13160 * crtstuff.c: Likewise.
13161
c4df4ceb
KH
131622002-01-25 Kazu Hirata <kazu@hxi.com>
13163
13164 * config/h8300/h8300.md (negation patterns): Tighten
13165 predicates to register_operand.
13166
70e531f5
AH
131672002-01-24 Aldy Hernandez <aldyh@redhat.com>
13168
3bca17dd
PK
13169 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
13170 mode, not Pmode.
70e531f5 13171
3bca17dd 13172 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 13173
a4f76ef9
AO
131742002-01-24 Alexandre Oliva <aoliva@redhat.com>
13175
13176 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
13177 modes.
13178
9bf25b09
KH
131792002-01-24 Kazu Hirata <kazu@hxi.com>
13180
13181 * config/h8300/h8300.c (print_operand): Remove support for
13182 operand character 'A'.
13183 * config/h8300/h8300.md (three anonymous patterns): Replace
13184 operand character 'A' with either 'T' or 'S'.
13185
974af6a5
KH
131862002-01-24 Kazu Hirata <kazu@hxi.com>
13187
13188 * config/h8300/h8300.c (print_operand): Remove support for
13189 operand character 'U'.
13190
7a5bb7b8
AP
131912002-01-24 Andris Pavenis <pavenis@latnet.lv>
13192
3bca17dd 13193 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 13194
92a4639e
NC
131952002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
13196
13197 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
13198 values to be assigned to the stack pointer.
13199
467cb2da
HP
132002002-01-14 Hartmut Penner <hpenner@de.ibm.com>
13201
bebc7e8b 13202 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
13203 to const_double needs to be done right for big-endian systems.
13204
3b6cb920
JM
132052002-01-24 Jason Merrill <jason@redhat.com>
13206
b08dd119 13207 PR c++/2432
3b6cb920
JM
13208 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
13209 to can_throw_internal.
13210
f3077311
RH
132112002-01-23 Richard Henderson <rth@redhat.com>
13212
13213 * fold-const.c (fold): Change UINT_MAX test to check vs precision
13214 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
13215
e1d71275
AO
132162002-01-24 Alexandre Oliva <aoliva@redhat.com>
13217
13218 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
13219 (symGOT2reg): Use them, then set as GOT value as unchanging.
13220 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
13221 as a temporary, if possible.
13222 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
13223 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
13224
dc271dbe
KH
132252002-01-23 Kazu Hirata <kazu@hxi.com>
13226
13227 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
13228 accept to accept 0x80 as operands[2].
13229
1a9017f9
AO
132302002-01-24 Alexandre Oliva <aoliva@redhat.com>
13231
13232 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
13233
6932f033
RH
132342002-01-23 Richard Henderson <rth@redhat.com>
13235
13236 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
13237
709619d9
AH
132382002-01-23 Aldy Hernandez <aldyh@redhat.com>
13239
3bca17dd
PK
13240 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
13241 (parmlist_or_identifiers_1): Verify that only a parmlist follows
13242 an attribute.
709619d9 13243
3d709fd3
RH
132442002-01-23 Richard Henderson <rth@redhat.com>
13245
13246 * expr.c (move_by_pieces_1): Extend size before negation.
13247
88a446c0
RH
13248 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
13249 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
13250 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
13251 * config/m68k/t-m68kelf: Likewise.
13252
03984308
BW
132532002-01-23 Bob Wilson <bob.wilson@acm.org>
13254
13255 * config/xtensa/elf.h: New file.
13256 * config/xtensa/lib1funcs.asm: New file.
13257 * config/xtensa/lib2funcs.S: New file.
13258 * config/xtensa/linux.h: New file.
13259 * config/xtensa/t-xtensa: New file.
13260 * config/xtensa/xtensa-config.h: New file.
13261 * config/xtensa/xtensa-protos.h: New file.
13262 * config/xtensa/xtensa.c: New file.
13263 * config/xtensa/xtensa.h: New file.
13264 * config/xtensa/xtensa.md: New file.
13265 * config.gcc (xtensa-*-elf*): New target.
13266 (xtensa-*-linux*): New target.
13267 * cse.c (canon_hash): Compare rtx pointers instead of register
13268 numbers. This is required for the Xtensa port.
13269 * integrate.c (copy_insn_list): Handle case where the static
13270 chain is in memory and the memory address has to be copied to
13271 a register.
13272 * doc/invoke.texi (Option Summary): Add Xtensa options.
13273 (Xtensa Options): New node.
13274 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
13275
c3d5c3fa
ZW
132762002-01-23 Zack Weinberg <zack@codesourcery.com>
13277
a63bea75
ZW
13278 * diagnostic.c (internal_error): Do ICE suppression only
13279 when ENABLE_CHECKING is not defined.
13280
c3d5c3fa
ZW
13281 * c-typeck.c (require_complete_type): Return error_mark_node
13282 if type is error_mark_node.
13283
1398974c
JJ
132842002-01-23 Janis Johnson <janis187@us.ibm.com>
13285
13286 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
13287 -Os and issue a warning.
13288
807633e5
ZW
132892002-01-23 Zack Weinberg <zack@codesourcery.com>
13290
13291 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
13292 current (lack of) need for host configuration by hand.
13293
13294 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
13295 references. Documentation of some target macros moved from
13296 hostconfig.texi to tm.texi.
13297
cf8002d0
WC
132982002-01-23 Will Cohen <wcohen@redhat.com>
13299
13300 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
13301 defined.
13302
d1e76310
KH
133032002-01-23 Kazu Hirata <kazu@hxi.com>
13304
13305 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
13306 operand[3].
13307
b2115575
JM
133082002-01-23 Jason Merrill <jason@redhat.com>
13309
f893c16e
JM
13310 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
13311
b2115575
JM
13312 * function.c (assign_parms): Don't put args of inline functions
13313 into registers when not optimizing.
13314
6bacc7b0
NC
133152002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
13316
13317 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
13318 (prologue_use): New pattern.
13319 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
13320 preference to gen_rtx_USE.
13321 (thumb_expand_prologue): Use gen_prologue_use in preference to
13322 gen_rtx_USE.
13323 (thumb_expand_epilogue): Use gen_prologue_use in preference to
13324 gen_rtx_USE.
13325
a415f7bc
HPN
133262002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
13327
13328 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
13329
5372b3fb
NB
133302002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
13331
13332 PR c/3504
13333 * doc/extend.texi: Correct documentation of __alignof__.
13334
bd571ffc
ZW
133352002-01-22 Zack Weinberg <zack@codesourcery.com>
13336
13337 * params.h: Rename arguments of DEFPARAM so that it will be
13338 recognized as a translation keyword.
13339
333c8841
AH
133402002-01-22 Aldy Hernandez <aldyh@redhat.com>
13341
bd571ffc
ZW
13342 * extend.texi: Document altivec functions.
13343 Fix N-bit adjectives in X86 builtin documentation.
333c8841 13344
38979c65
AO
133452002-01-22 Alexandre Oliva <aoliva@redhat.com>
13346
13347 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
13348 auto_inc_dec values.
13349
7458a9f0
RE
133502002-01-22 Richard Earnshaw <rearnsha@arm.com>
13351
13352 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
13353 after backslash.
13354 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
13355
129bd0c4
AO
133562002-01-22 Alexandre Oliva <aoliva@redhat.com>
13357
13358 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
13359
8b9b74a9
RH
133602002-01-22 Richard Henderson <rth@redhat.com>
13361
13362 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
13363 copy_insn not copy_rtx.
13364
d0c9db30
AM
133652002-01-23 Alan Modra <amodra@bigpond.net.au>
13366
13367 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
13368 "nonzero" as that might add "1" bits. Ensure "constop" is
13369 properly sign extened.
13370 (force_to_mode): Tweak for sign extended constop.
13371
1e7e480e
RH
133722002-01-22 Richard Henderson <rth@redhat.com>
13373
13374 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
13375 for_each_rtx instead of assuming we're already looking at the MEM.
13376 (split_small_symbolic_mem_operand): Likewise.
13377 * config/alpha/alpha.h (PREDICATE_CODES): Update.
13378 * config/alpha/alpha.md (small symbolic memory splitters): Update.
13379
133802002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
13381
13382 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
13383 sequence number for the literal.
13384 (divmoddi_internal_er): Likewise.
13385
b7f2fb96
CR
133862002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
13387
13388 PR java/4972
13389 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
13390 in LIBICONV variable.
13391 * configure: Regenerated.
13392
f66a0046
KW
133932002-01-22 Krister Walfridsson <cato@df.lth.se>
13394
13395 * dependence.c (build_def_use): Remove array_idx.
13396
e3b0efd1
KW
13397 * dwarfout.c (last_filename): Remove.
13398 (output_compile_unit_die): Remove last_filename.
13399
d8086cbb
RS
134002002-01-22 Roger Sayle <roger@eyesopen.com>
13401 Richard Henderson <rth@redhat.com>
13402
13403 PR opt/3640
13404 * fold-const.c (fold): Optimize unsigned comparisons against
13405 UINT_MAX (and similar unsigned constants).
13406
e8d52ba0
JJ
134072002-01-22 Janis Johnson <janis187@us.ibm.com>
13408
d8086cbb 13409 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 13410 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 13411 against the predicate.
11303d15 13412
e8d52ba0
JJ
13413 PR target/5379
13414 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
13415 for the address operand.
13416
cc7b420e
RH
134172002-01-22 Richard Henderson <rth@redhat.com>
13418
13419 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
13420
816e265a
CR
134212002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
13422
13423 PR other/5450
cc7b420e
RH
13424 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
13425 preprocessor flags.
816e265a 13426
7c884404
JT
134272002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
13428
13429 * config.gcc (x86_64-*-netbsd*): New target.
13430 * config/i386/netbsd64.h: New file.
13431
2b672c08
AH
134322002-01-22 Aldy Hernandez <aldyh@redhat.com>
13433
d8086cbb 13434 * regrename.c (kill_value): Fix typo.
2b672c08
AH
13435
134362002-01-22 Aldy Hernandez <aldyh@redhat.com>
13437
d8086cbb 13438 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 13439
d8086cbb 13440 * config/rs6000/rs6000.h: Same.
2b672c08 13441
d8086cbb
RS
13442 * function.c (instantiate_virtual_regs): Remove
13443 STARTING_FRAME_PHASE.
13444 (assign_stack_local_1): Same.
13445 Calculate frame phase.
2b672c08 13446
4b02997f
NC
134472002-01-22 Nick Clifton <nickc@redhat.com>
13448
13449 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
13450 variable declaration to outer scope in order to simplify
13451 future extensions.
13452 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
13453 arm_hard_regno_mode_ok.
13454 * config/arm/arm-protos.h: Add a prototype for
13455 arm_hard_regno_mode_ok.
13456 * config/arm/arm.c (soft_df_operand): Remove now redundant
13457 check for DImode values using IP_REGNUM.
13458 (nonimmediate_soft_df_operand): Remove now redundant check for
13459 DImode values using IP_REGNUM.
13460 (arm_hard_regno_mode_ok): New function. New check: make sure
13461 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
13462
13463 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
13464 note with a USE.
13465 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
13466
8a827ab2
JM
134672002-01-22 Jason Merrill <jason@redhat.com>
13468
13469 * c-semantics.c (genrtl_compound_stmt): Only check nesting
13470 consistency if this COMPOUND_STMT is scoped.
13471
cf403648
KH
134722002-01-22 Kazu Hirata <kazu@hxi.com>
13473
13474 * predict.c: Fix formatting.
13475 * print-tree.c: Likewise.
13476 * protoize.c: Likewise.
13477 * real.h: Likewise.
13478 * rtl.h: Likewise.
13479 * sbitmap.h: Likewise.
13480 * scan.c: Likewise.
13481 * sched-deps.c: Likewise.
13482 * sched-vis.c: Likewise.
13483 * sdbout.c: Likewise.
13484 * sibcall.c: Likewise.
13485 * ssa.c: Likewise.
13486 * ssa-ccp.c: Likewise.
13487 * ssa-dce.c: Likewise.
13488 * stmt.c: Likewise.
13489 * stor-layout.c: Likewise.
13490 * system.h: Likewise.
13491
aea9695c
RK
13492Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13493
a8765ae7
RK
13494 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
13495 if fits in bounds of base type.
13496
aea9695c
RK
13497 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
13498 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
13499 (add_bound_info, default): If can't find a context, make a
13500 SAVE_EXPR.
13501 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
13502
58bf601b
HPN
135032002-01-22 Hans-Peter Nilsson <hp@axis.com>
13504
13505 * c-typeck.c (parser_build_binary_op): If result from
13506 build_binary_op is ERROR_MARK just return error_mark_node without
13507 further processing.
13508
f982f805
JT
135092002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
13510
13511 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
13512 Split a.out-specific bits into...
13513 * config/netbsd-aout.h: ...this.
13514 * config/netbsd-elf.h: New file.
13515 * config/alpha/netbsd-elf.h: Remove.
13516 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
13517 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 13518 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
13519 (ENDFILE_SPEC): Likewise.
13520 (LINK_SPEC): Likewise.
13521 (CPP_SPEC): Likewise.
13522 (ASM_SPEC): Likewise.
13523 (LIB_SPEC): Likewise.
13524 (SWITCH_TAKES_ARG): Likewise.
13525 (TARGET_MEM_FUNCTIONS): Likewise.
13526 (CPP_PREDEFINES): Redefine.
13527 (ASM_FINAL_SPEC): Remove redefinition.
13528 (ASM_COMMENT_START): Redefine.
13529 (FUNCTION_PROFILER): Define.
13530 (TARGET_VERSION): Redefine.
13531 Comment and formatting cleanup.
13532 * config/i386/netbsd.h: Include <netbsd-aout.h>.
13533 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
13534 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
13535 big- or little-endian.
13536 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
13537 * config.gcc (*-*-netbsd*): Add definitions common to all
13538 NetBSD configs.
13539 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
13540 gnu_ld definitions. Add netbsd-elf.h to and remove
13541 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
13542 tmake_file, and don't lose previous tmake_file contents.
13543 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
13544 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
13545 gnu_ld definitions. Add netbsd-elf.h to tm_file.
13546 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
13547 (mipsel-*-netbsd*): Rename this to...
13548 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
13549 mips/little.h to tm_file for mips*el-*.
13550 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
13551 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
13552 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
13553
2e396476
JDA
135542002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
13555
13556 * pa-protos.h (reg_before_reload_operand): New function prototype.
13557 * pa.c (reg_before_reload_operand): New function implementation.
13558 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
13559 contraints to "*m".
13560
3b5708e7
FS
135612002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13562
13563 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
13564
85e79f96
JDA
135652002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
13566
13567 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
13568 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
13569 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
13570 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
13571 (ENDFILE_SPEC): Undefine.
13572 (STARTFILE_SPEC): Redefine for PA.
13573
38abadee
FS
135742002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13575
13576 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
13577
94f1d97c
DJ
135782002-01-21 Daniel Jacobowitz <drow@mvista.com>
13579
13580 * config.gcc: Add entries to supported PowerPC --with-cpu
13581 types.
13582
0333394e
JJ
135832002-01-21 Jakub Jelinek <jakub@redhat.com>
13584
13585 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
13586 true for 64-bit mode only SSE registers in 32-bit mode.
13587
e9d1b155
KH
135882002-01-21 Kazu Hirata <kazu@hxi.com>
13589
13590 * unwind-dw2.c: Fix formatting.
13591 * unwind-dw2-fde.c: Likewise.
13592 * unwind-dw2-fde.h: Likewise.
13593 * unwind-pe.h: Likewise.
13594 * varasm.c: Likewise.
13595 * varray.h: Likewise.
13596
07338cf8
HPN
135972002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
13598
13599 Remove workaround for register stack overwrite bug in mmix.
13600 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
13601 support for TARGET_REG_STACK_FILL_BUG.
13602 * config/mmix/mmix.h: Remove member has_call_without_parameters.
13603 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
13604 Delete.
13605 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
13606 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
13607 -mno-reg-stack-fill-bug-workaround.
13608 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
13609 machine member has_call_without_parameters.
13610 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
13611 -mreg-stack-fill-bug-workaround and
13612 -mno-reg-stack-fill-bug-workaround.
13613 (MMIX Options): Ditto.
13614
7192cbf1
KH
136152002-01-21 Kazu Hirata <kazu@hxi.com>
13616
13617 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
13618 as appropriate.
13619 Remove redundant code.
13620
d1552d7b
JM
136212002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
13622
13623 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
13624 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
13625 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
13626 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
13627 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
13628 out target macro definitions and non-target-specific comments
13629 mostly taken from old versions of the manual.
13630
ed168e45
KH
136312002-01-20 Kazu Hirata <kazu@hxi.com>
13632
13633 * config/h8300/h8300.h: Fix comment formatting.
13634 * config/ia64/aix.h: Likewise.
13635 * config/ia64/ia64-protos.h: Likewise.
13636 * config/ia64/ia64.c: Likewise.
13637 * config/ia64/ia64.h: Likewise.
13638 * config/ia64/ia64intrin.h: Likewise.
13639 * config/ia64/linux.h: Likewise.
13640 * config/ia64/unwind-aix.c: Likewise.
13641 * config/ia64/unwind-ia64.c: Likewise.
13642
005e3e05
KH
136432002-01-20 Kazu Hirata <kazu@hxi.com>
13644
13645 * config/h8300/h8300.c: Revise comments about shift code.
13646
64bead4c
KH
136472002-01-20 Kazu Hirata <kazu@hxi.com>
13648
13649 * config/h8300/h8300.c (function_arg): Update a comment.
13650
ed863595
KH
136512002-01-20 Kazu Hirata <kazu@hxi.com>
13652
13653 * config/h8300/h8300.md: Update the comments at the beginning
13654 of the file.
13655
5904dc87
KH
136562002-01-20 Kazu Hirata <kazu@hxi.com>
13657
13658 * config/i370/i370.c: Fix comment formatting.
13659 * config/i370/i370.h: Likewise.
13660 * config/i370/i370.md: Likewise.
13661 * config/i370/linux.h: Likewise.
13662
9702143f
RK
13663Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13664
cbafacd1
RK
13665 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
13666
9702143f
RK
13667 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
13668 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
13669 in incomplete case.
13670
6b6996b8
GS
136712002-01-20 Graham Stott <grahams@redhat.com>
13672
13673 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
13674
eab854f6
JDA
136752002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
13676
13677 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
13678
5b029315
TR
136792002-01-19 Tom Rix <trix@redhat.com>
13680
13681 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
13682
1d690052
AH
136832002-01-18 Aldy Hernandez <aldyh@redhat.com>
13684
d8086cbb 13685 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 13686
d8086cbb
RS
13687 * function.c (assign_stack_local_1): Adjust x_frame_offset with
13688 STARTING_FRAME_PHASE.
13689 (STARTING_FRAME_PHASE): New.
13690 (instantiate_virtual_regs): Check saneness of
13691 STARTING_FRAME_PHASE.
1d690052 13692
d8086cbb 13693 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 13694
4dd8c093
AO
136952002-01-19 Alexandre Oliva <aoliva@redhat.com>
13696
13697 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
13698
6f2a28d7
CR
136992002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
13700
13701 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
13702 be used for bootstrapping GCC 3.0.
13703
8763a465
KH
137042002-01-18 Kazu Hirata <kazu@hxi.com>
13705
13706 * config/h8300/h8300.md: Fix an insn length.
13707
3ef42a0c
KH
137082002-01-18 Kazu Hirata <kazu@hxi.com>
13709
13710 * bitmap.h: Fix comment formatting.
13711 * combine.c: Likewise.
13712 * cppfiles.c: Likewise.
13713 * c-pragma.h: Likewise.
13714 * c-typeck.c: Likewise.
13715 * df.c: Likewise.
13716 * dwarf2out.c: Likewise.
13717 * function.c: Likewise.
13718 * gcc.c: Likewise.
13719 * genattrtab.c: Likewise.
13720 * gthr-win32.h: Likewise.
13721 * haifa-sched.c: Likewise.
13722 * predict.c: Likewise.
13723 * rtlanal.c: Likewise.
13724 * rtl.h: Likewise.
13725 * unwind-dw2-fde.h: Likewise.
13726 * unwind-pe.h: Likewise.
13727 * vmsdbgout.c: Likewise.
13728
dd4dc3cd
RK
13729Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13730
13731 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
13732 if type_required and passed decl.
13733
5fb4cf24
AH
137342002-01-17 Aldy Hernandez <aldyh@redhat.com>
13735
d8086cbb
RS
13736 * config.gcc (cpu_type): Include altivec.h in powerpc
13737 extra_headers.
13738 Same for darwin.
5fb4cf24 13739
d8086cbb 13740 * config/rs6000/altivec.h: New.
5fb4cf24 13741
2705baf5
DE
137422002-01-17 David Edelsohn <edelsohn@gnu.org>
13743
13744 * doc/install.texi (*-ibm-aix*): Update assembler and exception
13745 handling information.
13746 * doc/trouble.texi (Interoperation): Add libstdc++ information
13747 for AIX.
13748 (Misunderstandings): Add template instantiation and static template
13749 member information for AIX.
13750
dbd680e1
JM
137512002-01-17 Jason Merrill <jason@redhat.com>
13752
821adc5e
JM
13753 * dbxout.c (dbxout_type): Support const and volatile.
13754
dbd680e1
JM
13755 * except.c (add_partial_entry): Remove backwards compatibility code.
13756 (end_protect_partials): Likewise.
13757
d0e82870
JJ
137582002-01-17 Jakub Jelinek <jakub@redhat.com>
13759
13760 * config/ia64/ia64.md (prologue_use): New.
13761 * config/ia64/ia64.c (ia64_expand_prologue): Use
13762 gen_prologue_use instead of gen_rtx_USE.
13763 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
13764 as CODE_FOR_pred_rel_mutex.
13765 (ia64_sched_reorder2): Likewise.
13766
f9f45c65
EC
137672002-01-16 Eric Christopher <echristo@redhat.com>
13768
13769 * config/mips/r3900.h: Reformat.
13770 (SUBTARGET_CPP_SIZE_SPEC): Remove.
13771 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
13772 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
13773 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
13774 * config/mips/t-elf: Remove mips3 multilib.
13775
c66c8b0e
L
137762002-01-16 H.J. Lu <hjl@gnu.org>
13777
13778 * config/mips/linux.h: Include "mips/abi64.h".
13779
5f083b72
L
137802002-01-16 H.J. Lu <hjl@gnu.org>
13781
13782 * config/mips/t-linux: New.
13783
13784 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
13785
13786 * config/mips/linux.h: Don't include "gofast.h".
13787 (INIT_SUBTARGET_OPTABS): Removed.
13788
af3c90a6
KH
137892002-01-16 Kazu Hirata <kazu@hxi.com>
13790
13791 * config/h8300/h8300-protos.h: Replace emit_a_shift with
13792 output_a_shift.
13793 * config/h8300/h8300.c: Likewise.
13794 * config/h8300/h8300.md: Likewise.
13795
a1bf0a16
KH
137962002-01-16 Kazu Hirata <kazu@hxi.com>
13797
13798 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
13799 spaces after an opcode name.
13800 (pushqi1_h8300hs): Likewise.
13801 (pushhi1_h8300hs): Likewise.
13802
88ab0d1c
KH
138032002-01-16 Kazu Hirata <kazu@hxi.com>
13804
13805 * doc/extend.texi: Replace "option" with "attribute"
13806 appropriately.
13807
51c561e3
JJ
138082002-01-16 Jakub Jelinek <jakub@redhat.com>
13809
13810 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
13811 (and:DI () (const_int -8)).
13812 (split_small_symbolic_mem_operand): Split
13813 (mem (and:DI () (const_int -8)).
13814
b8c1a6b8
JJ
138152002-01-16 Jakub Jelinek <jakub@redhat.com>
13816
13817 PR target/5309:
d8086cbb 13818 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
13819 same way as TYPE_IMUL.
13820 (ultrasparc_sched_reorder): Likewise.
13821 * config/sparc/sparc.md (type): Add comment to update
13822 ultrasparc_sched_reorder when making changes.
13823
1e4e4df2
KH
138242002-01-16 Kazu Hirata <kazu@hxi.com>
13825
13826 * doc/invoke.texi: Change the dump file name of block
13827 reordering pass from 28.bbro to 29.bbro.
13828 Mention -dk option.
13829
14d920c0
JH
13830Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
13831
13832 * i386.md (minsf splitter): Fix pasto.
13833
2e99323f
NC
138342002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
13835
13836 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
13837 to frame pointer initialisation instruction.
13838 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
13839 initialisation instruction.
ab8081c1
NC
13840 (soft_df_operand): Do not accept the IP register.
13841 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 13842
c4031a04
JJ
138432002-01-16 Jakub Jelinek <jakub@redhat.com>
13844
13845 PR target/5357:
13846 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
13847 MASK_V8 being both set.
13848
44b8152b
UW
138492002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
13850
13851 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
13852 insn for GOT register; add REG_MAYBE_DEAD notes instead.
13853 config/s390/s390.md (call, call_value): Add GOT register to
13854 CALL_INSN_FUNCTION_USAGE where needed.
13855 (call_exp, call_value_exp): New.
13856
1d6e90ac
NC
138572002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
13858
13859 * config/arm/arm.c: General formatting tidy up.
13860
138612002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
13862
13863 * calls.c (try_to_integrate): Use "(size_t)" intermediate
13864 cast and when casting an integer literal to "rtx" pointer.
13865 (expand_call): Likewise.
13866 * flow.c (try_pre_increment): Likewise.
13867 (find_use_as_address): Likewise.
13868 * integrate.c (expand_iline_function): Likewise.
13869 * regmove.c (try_auto_increment): Likewise.
13870
1d6e90ac 138712002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
13872
13873 * sched-rgn.c (passed): Use sbitmap_free.
13874 (header): Likewise.
13875 (inner): Likewise.
13876 (in_queue): Likewise.
13877 (in_stack): Likewise.
13878
31fce3c4
EC
138792002-01-15 Eric Christopher <echristo@redhat.com>
13880
13881 * flow.c (propagate_one_insn): Change to use fatal_insn.
13882
c99d986a
KH
138832002-01-15 Kazu Hirata <kazu@hxi.com>
13884
13885 * expmed.c (extract_fixed_bit_field): Remove unused code.
13886 * system.h: Poison SLOW_ZERO_EXTEND.
13887 * doc/tm.texi: Remove.
13888 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
13889 * config/arm/arm.h: Likewise.
13890 * config/avr/avr.h: Likewise.
13891 * config/clipper/clipper.h: Likewise.
13892 * config/convex/convex.h: Likewise.
13893 * config/d30v/d30v.h: Likewise.
13894 * config/dsp16xx/dsp16xx.h: Likewise.
13895 * config/elxsi/elxsi.h: Likewise.
13896 * config/fr30/fr30.h: Likewise.
13897 * config/h8300/h8300.h: Likewise.
13898 * config/i370/i370.h: Likewise.
13899 * config/i386/i386.h: Likewise.
13900 * config/m68k/m68k.h: Likewise.
13901 * config/mips/mips.h: Likewise.
13902 * config/ns32k/ns32k.h: Likewise.
13903 * config/pdp11/pdp11.h: Likewise.
13904 * config/pj/pj.h: Likewise.
13905 * config/s390/s390.h: Likewise.
13906 * config/sh/sh.h: Likewise.
13907 * config/stormy16/stormy16.h: Likewise.
13908 * config/v850/v850.h: Likewise.
13909 * config/vax/vax.h: Likewise.
13910 * config/we32k/we32k.h: Likewise.
13911
acfab996
AH
139122002-01-15 Aldy Hernandez <aldyh@redhat.com>
13913
d8086cbb
RS
13914 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
13915 (altivec_lvsl): Change constraint to b.
13916 (altivec_lvsr): Same.
13917 (altivec_lvebx): Same.
13918 (altivec_lvehx): Same.
13919 (altivec_lvewx): Same.
13920 (altivec_lvxl): Same.
13921 (altivec_lvx): Same.
13922 (altivec_stvx): Add parallel.
13923 (altivec_stvxl): Same.
13924 (altivec_stvehx): Same.
13925 (altivec_stvebx): Same.
13926 (altivec_stvebx): Same.
acfab996 13927
5e505bc9
AH
139282002-01-15 Aldy Hernandez <aldyh@redhat.com>
13929
d8086cbb 13930 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 13931
d8086cbb 13932 * config/rs6000/altivec.h: Delete.
5e505bc9 13933
d8086cbb 13934 * config/rs6000/altivec-defs.h: Add.
5e505bc9 13935
5c41fdfb
JDA
139362002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
13937
13938 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
13939 and UMOD modes.
13940
13941 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
13942 less than or equal to eight bytes.
13943
13944 * vax.md (andsi3): Remove constraints and change SET destination
13945 operand type to nonimmediate_operand.
13946 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
13947 when it is a CONST_INT.
13948
de097a2d
JM
139492002-01-15 Jason Merrill <jason@redhat.com>
13950
13951 * c-common.def (FILE_STMT): New code.
13952 * c-common.c (statement_code_p): It's a statement.
13953 * c-common.h (stmt_tree_s): Add x_last_filename.
13954 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
13955 (last_expr_filename): New macro.
13956 * c-semantics.c (begin_stmt_tree): Initialize it.
13957 (add_stmt): If the filename changed, also insert a
13958 FILE_STMT.
13959 (expand_stmt): Handle seeing one.
13960
4a913dd6
EC
139612002-01-15 Eric Christopher <echristo@redhat.com>
13962
13963 * flow.c (propagate_one_insn): Add error message and print out
13964 insn for debugging.
13965
006946e4
JM
139662002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
13967
13968 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
13969 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
13970 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
13971 TRAMPOLINE_ALIGNMENT.
13972 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
13973 to be in bits.
13974 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
13975 PCC_BITFIELD_TYPE_MATTERS.
13976 * config/interix.h (STDC_VALUE): Remove. Use
13977 STDC_0_IN_SYSTEM_HEADERS.
13978 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
13979 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
13980 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
13981
751a1458
CR
139822002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
13983
13984 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
13985 not work on this platform currently.
13986
57771fe8
JM
139872002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
13988
13989 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
13990 readonly_warning in _().
13991
0e83ceb1 139922002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 13993
0e83ceb1 13994 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 13995
8e2e89f7
KH
139962002-01-15 Kazu Hirata <kazu@hxi.com>
13997
0e83ceb1
DR
13998 * config/h8300/h8300.c (print_operand): Remove support for
13999 unused operand characters.
14000
8e2e89f7
KH
14001 * read-rtl.c: Fix formatting.
14002 * real.c: Likewise.
14003 * recog.c: Likewise.
14004 * regclass.c: Likewise.
14005 * regmove.c: Likewise.
14006 * reg-stack.c: Likewise.
14007 * reload1.c: Likewise.
14008 * rtlanal.c: Likewise.
14009
b531087a
KH
140102002-01-15 Kazu Hirata <kazu@hxi.com>
14011
14012 * config/i386/i386.c: Fix formatting.
14013
7c94ce7f
JJ
140142002-01-15 Jakub Jelinek <jakub@redhat.com>
14015
14016 * c-typeck.c (process_init_element): Don't save_expr
14017 COMPOUND_LITERAL_EXPR if just its initializer will be used.
14018
6041bf2f
DE
140192002-01-15 David Edelsohn <edelsohn@gnu.org>
14020
14021 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
14022 emit optional traceback table if optimize_size or TARGET_ELF.
14023 * config/rs6000/rs6000.md (prefetch): New.
14024
8559c8c0
AJ
140252002-01-15 Andreas Jaeger <aj@suse.de>
14026
14027 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
14028
70f122f2
KH
140292002-01-15 Kazu Hirata <kazu@hxi.com>
14030
14031 * mips-tfile.c: Fix formatting.
14032
6a7b4ca6
JH
14033Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
14034
14035 * unroll.c (final_reg_note_copy): Fix previous commit.
14036
e7afe229
KH
140372002-01-14 Kazu Hirata <kazu@hxi.com>
14038
14039 * config/h8300/h8300-protos.h: Remove the prototype for
14040 eq_operator.
14041 * config/h8300/h8300.c (eq_operator): Remove.
14042
7d378549
RH
140432002-01-14 Richard Henderson <rth@redhat.com>
14044
14045 * config/i386/i386.md (prefetch): Tidy.
14046 (prefetch_3dnow): Fix locality operand.
14047
ab093b81
RH
140482002-01-14 Richard Henderson <rth@redhat.com>
14049
14050 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
14051 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
14052
d300f51f
HPN
140532002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
14054
14055 * reload1.c (reload_combine): Pass reg_sum replacement through
14056 copy_rtx in loop performing multiple changes.
14057
655dd289
JJ
140582002-01-14 Jakub Jelinek <jakub@redhat.com>
14059
14060 * except.c (remove_unreachable_regions): New.
14061 (free_eh_status): Clear exception_handler_labels.
14062 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
14063 (find_exception_handler_labels): Don't add the same label more than
14064 once.
14065 (remove_exception_handler_label): Don't die if
14066 find_exception_handler_labels hasn't been called for the current
14067 function yet.
14068
1fba46a7
JH
14069Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
14070
14071 * toplev.c (rest_of_compilation): Rebuild jump labels after
14072 gcse.
14073
0975678f
JM
140742002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
14075
14076 * doc/extend.texi: Move documentation of X86 built-in functions
14077 here.
14078 * doc/invoke.texi: From here.
14079 * doc/sourcebuild.texi: Document location of documentation for
14080 machine built-in functions.
14081
969815c7
CF
140822002-01-13 Christopher Faylor <cgf@redhat.com>
14083
14084 * cppfiles.c (TEST_THRESHOLD): New macro.
14085 (SHOULD_MMAP): Ditto.
14086 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
14087 be used.
14088
494c950b
JH
14089Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
14090
14091 * unroll.c (final_reg_note_copy): Properly handle
14092 REG_LABEL
14093 (unroll_loops): Fix LOOP_CONDITION heuristics.
14094
69a0611f
GK
140952002-01-14 Geoffrey Keating <geoffk@redhat.com>
14096
14097 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
14098 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
14099
b90e45ae
JH
14100Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
14101
14102 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
14103 threaded loop.
14104
8377288b
TR
141052002-01-14 Tom Rix <trix@redhat.com>
14106
14107 * config/rs6000/rs6000.md: Fix typo with sradi.
14108
9f37ccb1
UW
141092002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
14110
14111 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
14112 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
14113 (clrstrdi, clrstrsi): Adapt callers.
14114
14115 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
14116
8559c8c0 14117 (movti splitter): Never use register 0 as base register.
9f37ccb1 14118
6c2d03d0
HP
141192002-01-14 Hartmut Penner <hpenner@de.ibm.com>
14120
8559c8c0
AJ
14121 * combine.c (simplify_shift_const): Always generate new rtx
14122 for shift expression instead of reusing given expression.
6c2d03d0 14123
d3e98208
RK
14124Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14125
14126 * config/alpha/alpha.c (alpha_expand_mov): Don't call
14127 alpha_legitimize_address unless mode is Pmode.
14128
9f339dde
GK
141292002-01-13 Geoffrey Keating <geoffk@redhat.com>
14130
14131 * doc/md.texi (Modifiers): Document the '*' constraint for the
14132 user.
14133
14134 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
14135 * doc/extend.texi (Function Attributes): 'interrupt' is valid
14136 for xstormy16 too.
14137
02a10130
RH
141382002-01-13 Richard Henderson <rth@redhat.com>
14139
14140 * reload.c (find_reloads): Use a hard reg destination as reload reg
14141 for an input reload of the source.
14142
61d47787
GP
141432002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14144
14145 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
14146 more generic.
14147
f0df8029
DR
14148Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
14149
14150 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
14151 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
14152
d2a37256
DR
14153 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
14154
a9e8a5ee
RK
14155Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14156
14157 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
14158
bc06712d
TR
141592002-01-12 Tom Rix <trix@redhat.com>
14160
8559c8c0 14161 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
14162 TARGET_POWERPC64.
14163
7cbe9bb7
RH
141642002-01-12 Richard Henderson <rth@redhat.com>
14165
38b29e64
RH
14166 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
14167
58605ba0
RH
14168 * doc/invoke.texi: Update Alpha options.
14169
7cbe9bb7
RH
14170 * doc/invoke.texi: Update i386 built-in function lists.
14171
9d560860
JH
14172Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
14173
14174 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
14175 referencing outside.
14176
bb93b973
RK
14177Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14178
14179 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
14180 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
14181 offsets, and change line folding.
14182 * optabs.c (expand_binop): Remove warnings.
14183 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 14184
f9f6b7df
GS
141852002-01-12 Graham Stott <grahams@redhat.com>
14186
14187 * attribs.c (handle_deprecated_attribute): constify WHAT.
14188 * diagnostic.c (warn_deprecated_use): Add braces, fixes
14189 dangling else warning and constify WHAT.
14190 * except.h (struct function, struct inline_remap): Move
14191 struct tag forward defs before all prototypes.
14192 (duplicate_eh_regions): Whitespace.
14193
4a692617
NC
141942002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
14195
14196 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
14197 MODE_BASE_REG_CLASS.
14198 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
14199
e37af218
RH
142002002-01-12 Richard Henderson <rth@redhat.com>
14201
14202 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
14203 (ix86_expand_vector_move): New.
14204 (bdesc_2arg): Remove andps, andnps, orps, xorps.
14205 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
14206 Remove old prefetch builtins. Special case the logicals removed above.
14207 (ix86_expand_builtin): Likewise.
14208 (safe_vector_operand): Use V4SFmode, not TImode.
14209 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
14210 (ix86_expand_timode_binop_builtin): New.
14211 * config/i386/i386-protos.h: Update.
14212 * config/i386/i386.h (enum ix86_builtins): Update.
14213 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
14214 Use ix86_expand_vector_move in vector move expanders.
14215 (movti_internal, movti_rex64): Add xorps alternative.
14216 (sse_clrv4sf): Rename and adjust from sse_clrti.
14217 (prefetch): Don't work so hard.
14218 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
14219 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
14220 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
14221
6f1a6c5b
RH
142222002-01-11 Richard Henderson <rth@redhat.com>
14223
14224 * config/i386/mmintrin.h: New file.
14225 * config/i386/xmmintrin.h: New file.
14226 * config.gcc (i?86-*-*): Add extra_headers.
14227 * simplify-rtx.c (simplify_unary_operation): Handle saturating
14228 truncation codes.
14229 (simplify_binary_operation): Handle saturating arithmetic codes.
14230 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
14231 not the lowpart subreg.
14232 (ix86_expand_builtin): Return a TImode dummy register instead of 0
14233 on error.
14234 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
14235
cdb574d3
MH
142362002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14237
14238 * conflict.c (conflict_graph_compute): Free regsets when finished.
14239 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 14240
cf11ac55
HB
142412002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
14242
14243 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
14244 every where we allocate a register.
14245
76ac938b
MH
142462002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14247
14248 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
14249 * lcm.c (compute_earliest, compute_farthest): Likewise.
14250
a84b4898
JJ
142512002-01-11 Janis Johnson <janis187@us.ibm.com>
14252
14253 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
14254
aaef1c12
JJ
142552002-01-11 Janis Johnson <janis187@us.ibm.com>
14256
14257 * doc/rtl.texi (Insns): Fix 2 typos.
14258
5d22c1a5
JM
142592002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
14260
14261 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
14262 options. Use @table @gcctabopt for MMIX options. Add index
14263 entries for MMIX options. Start new paragraph with first
14264 heading of the machine-dependent options.
14265
3e92902c
CR
142662002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
14267
14268 PR other/5299
14269 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
14270 * combine.c (force_to_mode): Same.
14271 * reload1.c (clear_reload_reg_in_use): Same.
14272
96ae8197
NC
142732002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
14274
14275 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
14276 and 'subtargets'.
14277
9b780582
AJ
142782002-01-11 Andreas Jaeger <aj@suse.de>,
14279 Brad Lucier <lucier@math.purdue.edu>
14280
14281 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
14282 mcpu.
14283
12300dad
DR
14284Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
14285
14286 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
14287 Protect with IN_LIBGCC.
14288 (LINK_EH_SPEC): Add required trailing space.
14289
27511a9a
NP
14290Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
14291
9b780582 14292 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
14293 under the filename which contains them.
14294 (check_identifier, finish_decl_top_level,
14295 lookup_name_current_level_global, shadow_record_fields): Remove.
14296
4daeab16
AJ
142972002-01-11 Andreas Jaeger <aj@suse.de>
14298
14299 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
14300 march.
14301
40571d67
RH
143022002-01-10 Richard Henderson <rth@redhat.com>
14303
14304 * config/alpha/alpha.c (print_operand): Add 'J'.
14305 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
14306 new operand with the sequence number for the lituse. When splitting
14307 the insns, use gen_movdi_er_high_g and generate a sequence number.
14308 (gen_movdi_er_high_g): Print the sequence number if non-zero.
14309
6525c0e7
AH
143102002-01-10 Aldy Hernandez <aldyh@redhat.com>
14311
d8086cbb
RS
14312 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
14313 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
14314 stvxl.
14315 (altivec_expand_builtin): Same.
14316 (altivec_expand_stv_builtin): New.
14317
14318 * config/rs6000/rs6000.h (rs6000_builtins): Same.
14319
14320 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
14321 ("altivec_lvehx"): New.
14322 ("altivec_lvewx"): New.
14323 ("altivec_lvxl"): New.
14324 ("altivec_lvx"): New.
14325 ("altivec_stvx"): New.
14326 ("altivec_stvebx"): New.
14327 ("altivec_stvehx"): New.
14328 ("altivec_stvewx"): New.
14329 ("altivec_stvxl"): New.
6525c0e7 14330
cda94cbb
RH
143312002-01-10 Richard Henderson <rth@redhat.com>
14332
14333 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
14334 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
14335 care not to delete instructions twice.
14336
df2c9a44
ZW
143372002-01-10 Zack Weinberg <zack@codesourcery.com>
14338
14339 * toplev.c: Don't declare environ (it's not used anywhere).
14340 * configure.in: Don't check for declaration of environ.
14341 * config/i386/xm-mingw32.h: Don't #define environ.
14342 * config.in, configure: Regenerate.
14343
5dd8a9b1
ZW
143442002-01-10 Zack Weinberg <zack@codesourcery.com>
14345
14346 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
14347 * configure: Regenerate.
14348
14349 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
14350 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
14351 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
14352 alpha/xm-vms.h.
14353 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
14354 LIMITS_H_TEST here, not in m68k/x-next.
14355 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
14356 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
14357
14358 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
14359 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
14360 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
14361
14362 * config/i386/x-djgpp: Renamed i386/t-djgpp.
14363 * config/m88k/x-dolph: Renamed m88k/t-dolph.
14364 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
14365 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
14366 replacement of quadlib.asm with quadlib.c.
14367
14368 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
14369 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
14370 config/rs6000/xm-beos.h: Delete file.
14371
14372 * config.gcc: Update to match above changes.
14373
d10dd44c
KH
143742002-01-10 Kazu Hirata <kazu@hxi.com>
14375
14376 * config/h8300/h8300.h: Fix comment typos.
14377 * config/h8300/h8300.md: Likewise.
14378 * config/h8300/lib1funcs.asm: Likewise.
14379
04894c5a
DJ
143802002-01-10 Dale Johannesen <dalej@apple.com>
14381
14382 PR optimization/5269
14383 * unroll.c (precondition_loop_p): Make *increment be the correct
14384 sign when n_iterations known, to avoid confusing caller.
14385
adc9fe67
KH
143862002-01-10 Kazu Hirata <kazu@hxi.com>
14387
14388 * doc/extend.texi (deprecated): Fix a typo.
14389
b446e5a2
JH
14390Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
14391
14392 * basic-block.h (update_br_prob_note): Declare.
14393 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
14394 (try_forward_edges): Care negative frequencies and update note.
14395 (outgoing_edges_match): Tweek conditional merging heuristics.
14396 (try_crossjump_to_edge): use update_br_prob_note.
14397 * cfglayout.c (fixup_reorder_chain): Likewise.
14398 * cfrtl.c (update_br_prob_note): New.
14399 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
14400
14401 * i386.c (ix86_decompose_address): Return -1 if address contains
14402 shift.
14403 (legitimate_address_p): Require ix86_decompose_address to return 1.
14404
14405 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
14406 (cprop_insn): Likewise.
14407
a01da83b
KH
144082002-01-10 Kazu Hirata <kazu@hxi.com>
14409
14410 * toplev.c: Fix formatting.
14411 * tree.c: Likewise.
14412 * tree-dump.c: Likewise.
14413 * unroll.c: Likewise.
14414 * unwind-dw2.c: Likewise.
14415 * unwind-dw2-fde.c: Likewise.
14416 * unwind-dw2-fde-glibc.c: Likewise.
14417 * unwind-sjlj.c: Likewise.
14418
9f85bca7
JM
144192002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
14420
14421 * doc/invoke.texi: Document PDP-11 options.
14422
f48f56b1
KH
144232002-01-10 Kazu Hirata <kazu@hxi.com>
14424
14425 * config/h8300/h8300.h: Fix formatting.
14426
ead39bdf 144272002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
14428
14429 Add __attribute__ ((deprecated)).
14430 * extend.texi: Document __attribute__ ((deprecated)).
14431 * invoke.texi: Document -Wno-deprecated-declarations.
14432 * testsuite/g++.dg/other/deprecated.C: New C++ test.
14433 * testsuite/gcc.dg/deprecated.c: New C test.
14434 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
14435 (c_common_attribute_table): Add "deprecated" entry.
14436 (handle_deprecated_attribute): New function.
14437 * c-decl.c (deprecated_states): New enum.
14438 deprecated_state: State of "deprecated" handling.
14439 (start_decl): Set deprecated_state based on attributes.
14440 (grokdeclarator): Test for deprecated uses, propagate attribute.
14441 * c-typeck.c (build_component_ref): Test for deprecated fields.
14442 (build_external_ref): Test for deprecated primaries.
14443 * diagnostic.c (warn_deprecated_use) New function to issue
14444 warnings about __attribute__ ((depricated)) references.
14445 * flags.h (warn_deprecated_decl): Extern declared for
14446 -W[no-]deprecated-declarations option.
14447 * print-tree.c (print_node): Show deprecated flag status.
14448 * toplev.c (warn_deprecated_decl): Defined.
14449 (W_options): Added "deprecated-declaration".
14450 * toplev.h (warn_deprecated_use): Extern declared.
14451 * tree.h (struct tree_common): Define deprecated_flag.
14452 (TREE_DEPRECATED): New macro to access flag.
14453 * cp/call.c (build_call): Test for deprecated calls.
14454 * cp/class.c (add_implicitly_declared_members): Set global
14455 flag to tell grokdeclarator to not issue deprecated warnings.
14456 * cp/cp-tree.h: Add extern for adding_implicit_members.
14457 * cp/decl.c (deprecated_states): New enum.
14458 (start_decl): Set deprecated_state based on attributes.
14459 (grokdeclarator): Test for deprecated uses, propagate attribute.
14460 * cp/lex.c (do_identifier): Test for deprecated primaries.
14461 * cp/typeck.c (build_component_ref): Test for deprecated fields.
14462
ead39bdf 144632002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
14464
14465 Fix to assign attributes to inline member functions.
14466 * cp/decl.c (start_method): Handle attrlist.
14467
47073a38
KH
144682002-01-10 Kazu Hirata <kazu@hxi.com>
14469
14470 * combine.c (expand_field_assignment): Use subreg_lsb().
14471
d288e53d
DE
144722002-01-10 David Edelsohn <edelsohn@gnu.org>
14473
14474 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
14475 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
14476 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
14477 Recurse for any operand of AND as long as constant is non-zero.
14478
08a02ffa
KH
144792002-01-10 Kazu Hirata <kazu@hxi.com>
14480
14481 * config/h8300/h8300.md: Remove constraints from expanders.
14482
c203e7fe
KH
144832002-01-10 Kazu Hirata <kazu@hxi.com>
14484
14485 * varasm.c: Fix formatting.
14486 * varray.c: Likewise.
14487 * vmsdbgout.c: Likewise.
14488 * xcoffout.c: Likewise.
14489
bcb3bc6d
JH
14490Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
14491
14492 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 14493 update edge probabilities to match.
bcb3bc6d 14494
0a553c7e
JM
144952002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
14496
14497 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
14498 dependencies.
14499 * doc/languages.texi, doc/sourcebuild.texi: New files.
14500 * doc/configfiles.texi: Make a subsubsection. Update.
14501 * doc/configterms.texi: Add @node. Remove warning that this isn't
14502 instructions for building GCC.
14503 * doc/makefile.texi: Make a subsection.
14504 * doc/gccint.texi: Update.
14505
adc7fcb8
JH
14506Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
14507
14508 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
14509
5a4dd0b3
NP
14510Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
14511
14512 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
14513
3987b9db
JH
14514Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
14515
14516 * optabs.c (expand_fix): Look for wider integer modes first.
14517
14518 * i386.md (mov?f): Avoid the fake const double trick for medium
14519 memory model.
14520 (min?f*/max?f*): Prohibit memory operands for i387 variant.
14521 (fop_df_4): Disable for SSE compilation.
14522
ceb15948 145232002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
14524
14525 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 14526 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 14527
e1623399
RH
145282002-01-10 Richard Henderson <rth@redhat.com>
14529
14530 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
14531
c4abb293
RH
145322002-01-10 Richard Henderson <rth@redhat.com>
14533
14534 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
14535 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
14536
d2604ae9
KH
145372002-01-10 Kazu Hirata <kazu@hxi.com>
14538
14539 * combine.c (can_combine_p): Fix a comment typo.
14540
766c7ad1
ZW
145412002-01-09 Zack Weinberg <zack@codesourcery.com>
14542
14543 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
14544 empty list correctly. Change loop index $t to $f for
14545 consistency with rest of Makefile.
14546
95385cbb
AH
145472002-01-08 Aldy Hernandez <aldyh@redhat.com>
14548
14549 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
14550 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
14551
14552 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
14553 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
14554 (altivec_init_builtins): Same.
14555 (altivec_expand_unop_builtin): Return NULL_RTX on error.
14556 (altivec_expand_binop_builtin): Same.
14557 (altivec_expand_ternop_builtin): Same.
14558 (bdesc_dst): New.
14559
14560 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
14561 ("altivec_vctuxs"): Fix typo.
14562 ("altivec_vnmsubfp"): Same.
14563 ("altivec_dssall"): New.
14564 ("altivec_mfvscr"): New.
14565 ("altivec_dss"): New.
14566 ("altivec_lvsl"): New.
14567 ("altivec_lvsr"): New.
14568 ("altivec_dstt"): New.
14569 ("altivec_dstst"): New.
14570 ("altivec_dststt"): New.
14571 ("altivec_dst"): New.
14572
14573 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
14574 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
14575
e4ac76b4
RH
145762002-01-09 Richard Henderson <rth@redhat.com>
14577
14578 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
14579
c893e4a4
HPN
145802002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
14581
14582 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
14583 function.
14584 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
14585 prototype.
7387c700 14586 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 14587
f4f4d0f8
KH
145882002-01-09 Kazu Hirata <kazu@hxi.com>
14589
14590 * read-rtl.c: Fix formatting.
14591 * real.c: Likewise.
14592 * regclass.c: Likewise.
14593 * regrename.c: Likewise.
14594 * reg-stack.c: Likewise.
14595 * reload1.c: Likewise.
14596 * reload.c: Likewise.
14597 * rtl.c: Likewise.
14598
cc863bea
KH
145992002-01-09 Kazu Hirata <kazu@hxi.com>
14600
14601 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
14602 to extract items in the expr_list chain.
14603
7b4dfe3d
RH
146042002-01-09 Richard Henderson <rth@redhat.com>
14605
14606 * config/vax/vax.c (vax_rtx_cost): Never abort.
14607
1d969638
RH
14608 * config/vax/vax.h (REAL_ARITHMETIC): Define.
14609
7d5ab30e
JH
146102002-01-09 Jan Hubicka <jh@suse.cz>
14611
14612 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
14613
9503f3d1
RH
146142002-01-09 Richard Henderson <rth@redhat.com>
14615
14616 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
14617 Unify code from various alternatives.
14618
42bd17b7
RH
146192002-01-09 Richard Henderson <rth@redhat.com>
14620
14621 * regrename.c (copy_value): Ignore the copy if the source register
14622 is present in the value chain with a narrower mode.
14623
bdca3c33
HB
146242002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
14625
cda94cbb
RH
14626 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
14627 for the c4x target. Also improve layout.
bdca3c33 14628
c73a5e94
RH
146292002-01-09 Richard Henderson <rth@redhat.com>
14630
14631 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
14632 * config/m32r/m32r.md (and ior xor splitters): Swap operands
14633 to match insn patterns.
14634
dd0a18c0
RH
146352002-01-09 Richard Henderson <rth@redhat.com>
14636
14637 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
14638 (copyprop_hardreg_forward_1): Likewise.
14639
1fd9ac1e
JDA
146402002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
14641
14642 * pa.md (decrement_and_branch_until_zero): Change predicate for
14643 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
14644
5cb265ec
BM
146452002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
14646
14647 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
14648 gets undefined. For Darwin.
14649
fcd8fa8b
HB
146502002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
14651
14652 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
14653
bd3ab23a
MH
146542002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14655
14656 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
14657
21e16bd6
RH
146582002-01-08 Richard Henderson <rth@redhat.com>
14659
14660 * regrename.c (copy_value): Ignore overlapping copies.
14661
a5376276
RH
146622002-01-08 Richard Henderson <rth@redhat.com>
14663
14664 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
14665 as needed to avoid shared structure.
14666
18cf8dda
KH
146672002-01-08 Kazu Hirata <kazu@hxi.com>
14668
14669 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
14670 H8/300H and H8/S.
14671
16c484c7
JM
146722002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
14673
14674 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
14675 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
14676 documentation of obsolete macros.
14677 * system.h: Poison these macros.
14678 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
14679 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
14680 config/c4x/c4x.h, config/clipper/clipper.h,
14681 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
14682 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
14683 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
14684 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
14685 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
14686 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
14687 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
14688 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
14689 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
14690 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
14691 config/sparc/sparc.h, config/stormy16/stormy16.h,
14692 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
14693 definitions and commented out definitions of obsolete macros.
14694 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
14695 of MAX_INT_TYPE_SIZE.
14696
14b3e8ef
UW
146972002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
14698
14699 * config/s390/s390.c (s390_preferred_reload_class): Never
14700 return ADDR_REGS if it isn't a subset of the given class.
14701 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
14702 FP_REGS, but all superclasses as well.
14703
14704 * config/s390/s390.c (s390_function_profiler): Fix thinko.
14705
14706 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
14707 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
14708 must not be a const_int.
14709
a693284d
RH
147102002-01-08 Richard Henderson <rth@redhat.com>
14711
14712 * Makefile.in (toplev.o): Depend on options.h.
14713 (gcc.o): Depend on specs.h.
14714
b3ca30df
JJ
147152002-01-08 Jakub Jelinek <jakub@redhat.com>
14716
14717 * expr.c (store_expr): Convert VOIDmode constants back to target's
14718 mode.
14719
24dbb440
GP
147202002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14721
14722 * doc/invoke.texi: Markup gcc as @command. Refer to
14723 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
14724 of http://gcc.gnu.org/thanks.html.
14725
234e114c
DJ
147262002-01-08 Dale Johannesen <dalej@apple.com>
14727
14728 * config/rs6000/rs6000.md: Add missing int register
14729 target case to movdf_low.
14730
0d24f4d1
ZW
147312002-01-08 Zack Weinberg <zack@codesourcery.com>
14732
14733 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
14734 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
14735 (cppinit.o): Depend on except.h.
14736 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
14737 s-specs): New rules.
14738
14739 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
14740 Don't create specs.h/options.h/gencheck.h here. Remove
14741 unnecessary variable settings from last argument of AC_OUTPUT.
14742 * config.in, configure: Regenerate.
14743 * intl.c: Hardcode package name as "gcc".
14744
14745 * cppinit.c: Include except.h.
14746 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
14747 appropriate.
14748 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
14749 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
14750 (!)USING_SJLJ_EXCEPTIONS.
14751 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
14752
ed722f66
JM
147532002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
14754
14755 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
14756 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
14757 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
14758 documentation of obsolete macros.
14759 * system.h: Poison these macros.
14760 * config/d30v/d30v.h, config/ns32k/encore.h,
14761 config/stormy16/stormy16.h: Remove definitions and commented out
14762 definitions of obsolete macros.
14763
31e5e29a
NP
14764Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
14765
14766 * objc/objc-act.c (handle_class_ref): Mark the declaration of
14767 %sobjc_class_ref_%s as used - to prevent unwanted compiler
14768 warnings.
14769
bc1fa59c
UW
147702002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
14771
14772 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
14773 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
14774 to insn adjusting stack/frame pointer.
0d24f4d1 14775 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
14776 accept operands that cause the insn to be non-splittable.
14777
a8086abf
GS
147782002-01-08 Graham Stott <grahams@redhat.com>
14779
14780 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
14781 (C_TYPE_FIELDS_VOLATILE): Likewise.
14782 (C_TYPE_BEING_DEFINED): Likewise.
14783 (C_IS_RESERVED_WORD): Likewise.
14784 (C_TYPE_VARIABLE_SIZE): Likewise.
14785 (C_DECL_VARIABLE_SIZE): Likewise.
14786 (C_MISSING_PROTOTYPE_WARNED): Likewise.
14787 (C_SET_EXP_ORIGINAL_CODE): Likewise.
14788 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
14789 parenthesis.
14790 (C_DECL_ANTICIPATED): Likewise.
14791 (c_build_type_variant): Add parenthesis.
14792
3f595aa1
JM
147932002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
14794
14795 * gcc.c (option_map): Remove --version.
14796 (process_command): Handle -fversion following the GNU Coding
14797 Standards. Partially addresses PR other/704.
14798
5bc5a8f9
GS
147992002-01-08 Graham Stott <grahams@redhat.com>
14800
14801 * combine.c (combine_instructions): Fix typo.
14802
16ec4ebf
GS
148032002-01-08 Graham Stott <grahams@redhat.com>
14804
14805 * debug.h: Use "tree" and "rtx" throughout.
14806
14807 * debug.c: Likewise.
14808
4b69f385
NC
148092002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
14810
14811 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
14812 constant pool, use the pool's version of the symbol instead.
14813
57d1019b
RH
148142002-01-07 Richard Henderson <rth@redhat.com>
14815
14816 * regrename.c (find_oldest_value_reg): Ignore the value chain if
14817 the original register was copied in a mode with a fewer number of
14818 hard registers than the desired mode.
14819 (copyprop_hardreg_forward_1): Likewise.
14820 (debug_value_data): Fix loop test.
14821 * toplev.c (parse_options_and_default_flags): Reenable
14822 -fcprop-registers at -O1.
14823
148242002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 14825
0d24f4d1
ZW
14826 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
14827 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 14828
0d24f4d1
ZW
14829 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
14830 predicates.
fa066a23 14831
0d24f4d1 14832 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 14833
8f949e7e
JDA
148342002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
14835
14836 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
14837 (pa_output_function_prologue): Output local label at the beginning of
14838 the prologue when profiling.
14839 (hppa_profile_hook): Use the local label rather than the function label.
14840 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
14841
c62f2db5
AH
148422002-01-07 Aldy Hernandez <aldyh@redhat.com>
14843
0d24f4d1
ZW
14844 * config/rs6000/rs6000.c (print_operand): Remove extra space.
14845 (altivec_expand_unop_builtin): Fix thinko.
14846 (altivec_expand_binop_builtin): Same.
14847 (altivec_expand_ternop_builtin): Same.
14848 (altivec_expand_builtin): Same.
c62f2db5 14849
b5235ba7
RH
148502002-01-07 Richard Henderson <rth@redhat.com>
14851
14852 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
14853
7d8ac293
JM
148542002-01-07 Jason Merrill <jason@redhat.com>
14855
14856 * unwind-dw2.c (execute_cfa_program): Use < again.
14857
571a03b8
JJ
148582002-01-07 Jakub Jelinek <jakub@redhat.com>
14859
14860 * predict.c (combine_predictions_for_insn): Avoid division by zero.
14861
2e951384
JJ
148622002-01-07 Jakub Jelinek <jakub@redhat.com>
14863
14864 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
14865 Don't allow -1 - x -> ~x simplifications in the first pass.
14866
20e26713
AH
148672002-01-07 Aldy Hernandez <aldyh@redhat.com>
14868
0d24f4d1
ZW
14869 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
14870 arguments.
14871 (altivec_expand_binop_builtin): Same.
14872 (altivec_expand_unop_builtin): Same.
14873 (print_operand): Fix typo.
14874 (bdesc_1arg): Add vupk* variants.
20e26713 14875
0d24f4d1 14876 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 14877
0d24f4d1 14878 * rs6000.md: Add altivec_vupk* variants.
20e26713 14879
4dd57c18
JM
148802002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
14881
14882 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
14883 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
14884 and last update dates.
14885
0341c5d2
JJ
148862002-01-07 Janis Johnson <janis187@us.ibm.com>
14887
14888 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
14889
c7f3e0b0
MM
148902002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
14891
14892 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
14893 * config/avr/avr.h (CPP_SPEC): Likewise.
14894 (LINK_SPEC): Likewise.
14895 (CRT_BINUTILS_SPECS): Likewise.
14896 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
14897 * doc/invoke.texi (AVR Options): Document them.
14898
6ba4d630
JH
14899Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
14900
14901 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
14902 LABEL_NUSES.
14903
6253d571
GS
149042002-01-07 Graham Stott <grahams@redhat.com>
14905
0d24f4d1
ZW
14906 * config/i386/i386.h: Update copyright date.
14907 (HALF_PIC_PTR): Add parenthesis.
14908 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
14909 (CONSTANT_ALIGNMENT): Add parenthesis.
14910 (DATA_ALIGNMENT): Likewise.
14911 (LOCAL_ALIGNMENT): Likewise.
14912 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
14913 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
14914 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
14915 (HARD_REGNO_NREGS): Add paranethesis.
14916 (VALID_SSE_REG_MODE): Whitespace.
14917 (VALID_MMX_REG_MODE): Whitespace.
14918 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
14919 (ix86_hard_regno_mode_ok): Add parenthesis.
14920 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
14921 (RETURN_IN_MEMORY): Whitespace.
14922 (N_REG_CLASSES): Add parenthesis.
14923 (INTEGER_CLASS_P): Add parenthesis and wrap.
14924 (FLOAT_CLASS_P): Likewise.
14925 (SSE_CLASS_P): Likewise.
14926 (MMX_CLASS_P): Likewise.
14927 (MAYBE_INTEGER_CLASS_P): Likewise.
14928 (MAYBE_FLOAT_CLASS_P): Likewise.
14929 (MAYBE_SSE_CLASS_P): Likewise.
14930 (MAYBE_MMX_CLASS_P): Likewise.
14931 (Q_CLASS_P): Likewise.
14932 (GENERAL_REGNO_P): Uppercase macro parameter.
14933 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
14934 (FP_REGNO_P): Likewise.
14935 (ANY_FP_REGNO_P): Uppercase macro parameter.
14936 (SSE_REGNO_P): Likewise.
14937 (SSE_REGNO): Likewise.
14938 (SSE_REG_P): Likewise.
14939 (SSE_FLOAT_MODE_P): Likewise.
14940 (MMX_REGNO_P): Likewise.
14941 (MMX_REG_P):Likewise.
14942 (STACK_REG_P): Likewise.
14943 (NON_STACK_REG_P): Likewise.
14944 (STACK_TOP_P): Likewise.
14945 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
14946 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
14947 (SECONDARY_MEMORY_NEEDED): Likewise.
14948 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
14949 (MD_ASM_CLOBBERS): Whitespace and wrap.
14950 (MUST_PASS_IN_STACK): Whitespace and wrap.
14951 (RETURN_POPS_ARGS): Add parenthesis.
14952 (INIT_CUMULATIVE_ARGS): Likewise.
14953 (FUNCTION_ARG): Likewise.
14954 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
14955 (SETUP_INCOMING_VARARGS): Likewise.
14956 (BUILD_VA_LIST_TYPE): Add parenthesis.
14957 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
14958 parenthsis.
14959 (EXPAND_BUILTIN_VA_ARG): Likewise.
14960 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
14961 (INITIALIZE_TRAMPOLINE): Add parenthesis.
14962 (INITIAL_ELIMINATION_OFFSET): Likewise.
14963 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
14964 (REGNO_OK_FOR_BASE_P): Likewise.
14965 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
14966 (REGNO_OK_FOR_DIREG_P): Likewise.
14967 (REG_OK_FOR_INDEX_P): Whitespace.
14968 (REG_OK_FOR_BASE_P): Whitespace.
14969 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
14970 parenthesis.
14971 (FIND_BASE_TERM): Fix typo.
14972 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
14973 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
14974 (SYMBOLIC_CONST; Whitespace.
14975 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
14976 (ENCODE_SECTION_INFO): Whitespace.
14977 (FINALIZE_PIC): Remove do { ... } while (0).
14978 (PROMOTE_MODE): Wrap in do { ... } while (0).
14979 (CONST_COSTS): Whitespace.
14980 (RTX_COSTS): Add paramethesis, whitespace and wrap.
14981 (REGISTER_MOVE_COST): Add parenthesis.
14982 (MEMORY_MOVE_COST): Likewise.
14983 (EXTRA_CC_MODES): Whitespace.
14984 (SELECT_CC_MODE): Add parenthesis and whitespace.
14985 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
14986 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
14987 (ASM_OUTPUT_LABEL): Add paramethesis.
14988 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
14989 (ASM_OUTPUT_REG_POP): Likewise.
14990 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
14991 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 14992
07933f72
GS
14993 * config/i386/i386.c: Update copyright.
14994 (CHECK_STACK_LIMIT): Add parenthesis.
14995 (AT_BP): Uppercase macro parameter.
14996 (x86_64_int_parameter_registers): Constify.
14997 (x86_64_int_return_registers): Likewise.
14998 (ix86_compare_op0): Use rtx.
14999 (construct_container): Constify INTREG parameter.
15000 (function_arg): Use rtx.
15001
0b4d32c9
GS
15002 * diagnostic.h: Update copyright date.
15003 (output_buffer_state): Add parenthesis.
15004 (output_buffer_format_args): Likewise.
15005
6253d571
GS
15006 * combine.c (combine_instructions): Replace XEXP (links, 0)
15007 with link.
15008
68f3f6f1
L
150092002-01-06 H.J. Lu <hjl@gnu.org>
15010
15011 * cfgcleanup.c (thread_jump): Fix 2 typos.
15012
150132002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 15014
0d24f4d1 15015 * config.gcc: Add support for --enable-altivec.
480f7f3a 15016
13b8c631
CR
150172002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
15018
15019 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
15020
58ad89b1
JJ
150212002-01-06 Jakub Jelinek <jakub@redhat.com>
15022
15023 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
15024 __objc_class_name_*.
15025
e403b4bc
CR
150262002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
15027
15028 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
15029
e41c7831
RH
150302002-01-06 Richard Henderson <rth@redhat.com>
15031
15032 * reorg.c (emit_delay_sequence): Remove death notes, not merely
15033 nop them out. Increment label reference count for REG_LABEL.
15034 (fill_slots_from_thread): Frob label reference count around
15035 delete_related_insns.
15036
3b3b1e32
RH
150372002-01-05 Richard Henderson <rth@redhat.com>
15038
15039 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
15040 jump threading.
15041
c28abdf0
RH
150422002-01-05 Richard Henderson <rth@redhat.com>
15043
15044 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
15045 * integrate.c (output_inline_function): Likewise.
15046 * toplev.c (rest_of_compilation): Do it here instead. Move call
15047 to remove_unnecessary_notes after emitting abstract instance.
15048 Force an emitted nested function to have its parent emited as well.
15049 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
15050 for null.
15051 (rtl_for_decl_location): Do not look at reload data structures
15052 before reload has run.
15053
c4f2c499
KH
150542002-01-05 Kazu Hirata <kazu@hxi.com>
15055
15056 * cse.c: Fix formatting.
15057 * dwarf2asm.c: Likewise.
15058 * dwarf2out.c: Likewise.
15059 * explow.c: Likewise.
15060 * expmed.c: Likewise.
15061 * function.c: Likewise.
15062 * gcov.c: Likewise.
15063 * gencheck.c: Likewise.
15064 * genrecog.c: Likewise.
15065 * ggc-common.c: Likewise.
15066 * ggc-page.c: Likewise.
15067 * global.c: Likewise.
15068
cf0d9408
KH
150692002-01-05 Kazu Hirata <kazu@hxi.com>
15070
15071 * combine.c: Fix formatting.
15072
bedca03a
CR
150732002-01-05 Craig Rodrigues <crodrigu@bbn.com>
15074
15075 PR middle-end/1557
15076 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
15077
0134bf2d
DE
150782002-01-05 David Edelsohn <edelsohn@gnu.org>
15079
15080 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
15081 as 1 for __powerpc64__ as well.
15082
15083 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
15084
15085 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
15086 return it.
15087
9ca88d5a
DB
150882002-01-05 Daniel Berlin <dan@dberlin.org>
15089
15090 * lcm.c: Revert change, due to performance regression it causes on
15091 SPEC because it's slightly more conservative (sigh, I hate
15092 edge-based LCM).
0d24f4d1 15093
1c570418
JH
15094Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
15095
15096 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
15097
d83bb9f7
NB
150982002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
15099
15100 * doc/cppinternals.texi: Update.
15101
3e0f61ac
HPN
151022002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
15103
15104 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
15105 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
15106 negatives.
15107 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
15108 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
15109 kludge for pre-october-14th mmix versions to handle new-found bug
15110 with PUSHJ/PUSHGO and the register stack.
15111 * config/mmix/mmix.h (struct machine_function): Rename member
15112 has_call_value_without_parameters to has_call_without_parameters.
15113 All referers changed.
15114 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
15115 TARGET_MASK_BRANCH_PREDICT): New macros.
15116 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
15117 -mno-reg-stack-fill-bug-workaround.
15118 * config/mmix/mmix.md ("call"): Set struct machine member
15119 has_call_without_parameters.
15120
4deaa2f8
JH
15121Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
15122
15123 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
15124
9f16e871
JH
15125Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
15126
15127 * cfgcleanup.c: Include tm_p.h
15128 (mark_effect): Fix handling of hard register; fix handling of SET
15129
96eb1157
KH
151302002-01-04 Kazu Hirata <kazu@hxi.com>
15131
15132 * config/h8300/h8300.md (anonymous patterns): Check that
15133 operands are registers before using REGNO on them.
15134
48180d68
RM
151352002-01-03 Roland McGrath <roland@frob.com>
15136
15137 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
15138
b0832fe1
JJ
151392002-01-04 Jakub Jelinek <jakub@redhat.com>
15140
15141 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
15142 * c-common.h (genrtl_expr_stmt_value): Likewise.
15143 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
15144 (expand_expr_stmt_value): Add maybe_last argument.
15145 Don't warn about statement with no effect if it is the last statement
15146 in expression statement.
15147 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
15148 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
15149 expand_expr_stmt_value.
15150 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
15151 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
15152 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
15153 as maybe_last to expand_expr_stmt_value.
15154
c1e14513
JL
15155Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
15156
0d24f4d1
ZW
15157 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
15158 be passed in, do not build it.
15159 (c_begin_if_stmt): New function.
15160 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
15161 * c-common.h (c_expand_start_cond): Update prototype.
15162 (c_begin_if_stmt): Prototype new function.
15163 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
15164 * c-parse.in (if_prefix): Use c_begin_if_stmt,
15165 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 15166
b6ec437a
WC
151672002-01-04 William Cohen <wcohen@redhat.com>
15168
15169 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
15170 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
15171 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
15172 * config/pa/som.h (ASM_FILE_START): Likewise.
15173
ead39bdf 151742002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
15175
15176 * lcm.c: Include df.h.
15177 Add available_transfer_function prototype.
15178 (compute_available): Rework to use iterative dataflow framework.
15179 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
15180 with bb_info in df.h
15181 (available_transfer_function): New function.
15182
15183 * Makefile.in (lcm.o): add df.h to dependencies.
15184
551cc6fd
RH
151852002-01-04 Richard Henderson <rth@redhat.com>
15186
15187 * config/alpha/alpha.c (some_operand): Accept HIGH.
15188 (input_operand): Likewise; accept simple references to globals.
15189 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
15190 (alpha_const_double_ok_for_letter_p): Likewise.
15191 (alpha_extra_constraint): Likewise.
15192 (alpha_preferred_reload_class): Likewise. Do not force
15193 symbolic constants to memory.
15194 (alpha_legitimate_address_p): Accept simple references
15195 to small_symbolic_operand.
15196 (alpha_legitimize_address): New arg scratch. Be prepared to be
15197 called when no_new_pseudos. Emit simple symbolic references.
15198 Split integers into low, high, and rest.
15199 (alpha_expand_mov): Use alpha_legitimize_address.
15200 (some_small_symbolic_mem_operand): New.
15201 (split_small_symbolic_mem_operand): New.
15202 * config/alpha/alpha-protos.h: Update.
15203 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
15204 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
15205 (EXTRA_CONSTRAINT): Likewise.
15206 (PREFERRED_RELOAD_CLASS): Likewise.
15207 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
15208 (PREDICATE_CODES): Update.
15209 * config/alpha/alpha.md: New post-reload splitters to convert
15210 simplfied symbolic operands to the form that references $29.
15211 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
15212 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
15213
1eaea054
RH
152142002-01-03 Richard Henderson <rth@redhat.com>
15215
15216 * local-alloc.c (function_invariant_p): Update commentary.
15217
c4cc12b7
L
152182002-01-04 H.J. Lu <hjl@gnu.org>
15219
15220 * toplev.c (rest_of_compilation): Fix a typo when calling
15221 cleanup_cfg.
15222
173bf5be
KH
152232002-01-03 Kazu Hirata <kazu@hxi.com>
15224
15225 * c-common.c: Fix formatting.
15226 * diagnostic.c: Likewise.
15227 * doloop.c: Likewise.
15228 * dwarf2out.c: Likewise.
15229
187462ac
KH
152302002-01-03 Kazu Hirata <kazu@hxi.com>
15231
15232 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
15233 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
15234
5d8ebbd8
NB
152352002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
15236
15237 * cpperror.c: Update comments and copyright.
15238 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
15239 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
15240
518c1311
JDA
152412002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
15242
15243 * collect2.c (main): Use strcmp when testing for "-shared".
15244
d15a58c0
NB
152452002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
15246
15247 * cppmacro.c: Don't include intl.h. Update comments.
15248 (new_number_token): Allocate enough buffer for 64-bit unsigned
15249 integers; update prototype.
15250 * cppmain.c: Update comments.
15251
70f4f91c
WC
152522002-01-03 William Cohen <wcohen@redhat.com>
15253
15254 * function.h (struct function): Add profile.
15255 (current_function_profile): New.
15256 doc/extend.texi: Update documentation.
15257 * final.c (final_start_function): Use current_function_profile
15258 instead of profile_flag.
15259 (profile_after_prologue): Likewise.
15260 * function.c (expand_function_start): Likewise.
15261 (expand_function_start): Likewise.
c4cc12b7 15262 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
15263 (alpha_does_function_need_gp): Likewise.
15264 (alpha_expand_prologue): Likewise.
15265 * config/arm/arm.c (arm_expand_prologue): Likewise.
15266 thumb_expand_prologue: Likewise.
15267 * config/d30v/d30v.c (d30v_stack_info): Likewise.
15268 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
15269 (fr30_expand_prologue): Likewise.
15270 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
15271 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
15272 * config/i386/i386.h (FINALIZE_PIC): Likewise.
15273 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
15274 * config/i960/i960.c (i960_output_function_prologue): Likewise.
15275 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
15276 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
15277 (m32r_expand_prologue): Likewise.
15278 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
15279 (m88k_expand_prologue): Likewise.
15280 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
15281 * config/mips/mips.c (compute_frame_size): Likewise.
15282 (mips_expand_prologue): Likewise.
15283 (mips_can_use_return_insn): Likewise.
15284 * config/pa/elf.h (ASM_FILE_START): Likewise.
15285 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
15286 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
15287 * config/pa/som.h (ASM_FILE_START): Likewise.
15288 * config/romp/romp.c (romp_using_r14): Likewise.
15289 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
15290 (rs6000_stack_info): Likewise.
15291 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 15292 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
15293 * config/v850/v850.c (compute_register_save_size): Likewise.
15294
cb1ac742
JJ
152952002-01-03 Jakub Jelinek <jakub@redhat.com>
15296
15297 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
15298 gen_lowpart_common fails, use gen_lowpart_SUBREG.
15299
61d951df 153002002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 15301
61d951df
TC
15302 * darwin.c (machopic_output_possible_stub_label): Don't generate
15303 stub routines for pseudo-stubs which we've just defined.
15304
505ddab6
KH
153052002-01-03 Kazu Hirata <kazu@hxi.com>
15306
15307 * builtins.c: Fix formatting.
15308 * c-typeck.c: Likewise.
15309 * combine.c: Likewise.
15310 * expr.c: Likewise.
15311 * loop.c: Likewise.
15312
b7e30d8a
AS
153132002-01-03 Andreas Schwab <schwab@suse.de>
15314
15315 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
15316 and return true if _cpp_push_next_buffer pushed a new include
15317 file.
15318 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
15319 _cpp_pop_file_buffer did not push a new file.
15320 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
15321
ff81832f
EC
153222002-01-02 Eric Christopher <echristo@redhat.com>
15323
15324 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
15325 FIND_REG_INC_NOTE call. Update copyright.
15326 * loop.c (canonicalize_condition): Ditto.
15327 * reorg.c (delete_scheduled_jump): Ditto.
15328
8e42ace1
KH
153292002-01-03 Kazu Hirata <kazu@hxi.com>
15330
15331 * gcse.c: Fix formatting.
15332
fb2bf631
GS
153332002-01-03 Graham Stott <grahams@redhat.com>
15334
15335 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
15336 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 15337 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
15338
15339 * system.h: Move forward defs for struct tags rtx_def, union_tree,
15340 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 15341 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
15342
153432002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
15344
15345 * tree.h: Update copyright date.
15346 (IS_EXPR_CODE_CLASS): Add parenthesis.
15347 (TREE_SET_CODE): Add whitespace.
15348 (TREE_CHECK): Add parenthesis.
15349 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
15350 (CST_OR_CONSTRUCTOR_CHECK):
15351 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
15352 (TREE_SYMBOL_REFERENCED): Whitespace.
15353 (INT_CST_LT): Likewise.
15354 (INT_CST_LT_UNSIGNED): Likewise.
15355 (tree_real_cst): Unwrap comment.
15356 (tree_string): Likewise.
15357 (tree_complex): Likewise.
15358 (IDENTIFIER_POINTER): correct cast.
15359 (SAVE_EXPR_CONTEXT): Whitespace.
15360 (EXPR_WFL_FILENAME_NODE): Likewise.
15361 (EXPR_WFL_FILENAME): Remove parenthesis.
15362 (DECL_ORIGIN): Add parenthesis.
15363 (DECL_FROM_INLINE): Use NULL_TREE.
15364 (build_int_2): Whitespace.
15365 (build_type_variant): Add parenthesis.
15366
15367 * gcc/jcf-parse.c: Update copyright date.
15368 (yyparse): Constify resource_filename.
15369
f52eda29
GS
153702002-01-03 Graham Stott <grahams@redhat.com>
15371
15372 * rtl.h: Update copyright date.
15373 (RTL_CHECK1): Wrap long line.
15374 (RTL_CHECK2): Likewise.
15375 (RTL_CHECKC1): Wrap long line and whitespace.
15376 (RTL_CHECKC2): Likewise.
15377 (XWINT): Whitespace.
15378 (XINT): Likewise.
15379 (XSTR): Likewise.
15380 (XEXP): Likewise.
15381 (XVEC): Likewise.
15382 (XMODE): Likewise.
15383 (XBITMAP): Likewise.
15384 (XTREE): Likewise.
15385 (XBBDEF): Likewise.
15386 (XTMPL): Likewise.
15387 (X0WINT): Likewise.
15388 (X0INT):Likewise.
15389 (X0UINT): Likewise.
15390 (X0STR): Likewise.
15391 (X0EXP): Likewise.
15392 (X0VEC): Likewise.
15393 (X0MODE): Likewise.
15394 (X0BITMAP): Likewise.
15395 (X0TREE): Likewise.
15396 (X0BBDEF): Likewise.
15397 (X0ADVFLAGS): Likewise.
15398 (X0CSELIB): Likewise.
15399 (X0MEMATTR): Likewise.
15400 (XCWINT): Likewise.
15401 (XCINT): Likewise.
15402 (XCUINT): Likewise.
15403 (XCSTR): Likewise.
15404 (XCEXP): Likewise.
15405 (XCVEC): Likewise.
15406 (XCMODE): Likewise.
15407 (XCBITMAP): Likewise.
15408 (XCTREE): Likewise.
15409 (XCBBDEF): Likewise.
15410 (XCADVFLAGS): Likewise.
15411 (XCCSELIB): Likewise.
15412 (XC2EXP): Likewise.
15413 (INSN_UID): Likewise.
15414 (PREV_INSN): Likewise.
15415 (PATTERN): Likewise.
15416 (INSN_CODE): Likewise.
15417 (PUT_REG_NOTE_KIND): Likewise.
15418 (CODE_LABEL_NUMBER): Likewise.
15419 (NOTE_SOURCE_FILE): Likewise.
15420 (NOTE_BLOCK): Likewise.
15421 (NOTE_EH_HANDLER): Likewise.
15422 (NOTE_RANGE_INFO): Likewise.
15423 (NOTE_LIVE_INFO): Likewise.
15424 (NOTE_BASIC_BLOCK): Likewise.
15425 (NOTE_EXPECTED_VALUE): Likewise.
15426 (NOTE_LINE_NUMBER): Likewise.
15427 (LABEL_NAME): Likewise.
15428 (LABEL_NUSES): Likewise.
15429 (LABEL_ALTERNATE_NAME): Likewise.
15430 (ADDRESSOF_DECL): Likewise.
15431 (JUMP_LABEL): Likewise.
15432 (LABEL_NEXTREF): Likewise.
15433 (REGNO): Likewise.
15434 (ORIGINAL_REGNO: Likewise.
15435 (HARD_REGISTER_NUM_P): Add parenthesis.
15436 (SUBREG_REG): Whitespace.
15437 (SUBREG_BYTE): Likewise.
15438 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
15439 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
15440 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
15441 (ASM_OPERANDS_INPUT_VEC): Likewise.
15442 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
15443 (ASM_OPERANDS_INPUT): Likewise.
15444 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
15445 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
15446 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
15447 (ASM_OPERANDS_INPUT_MODE): Likewise.
15448 (ASM_OPERANDS_SOURCE_FILE): Likewise.
15449 (ASM_OPERANDS_SOURCE_LINE): Likewise.
15450 (MEM_SET_IN_STRUCT_P): Minor reformat.
15451 (TRAP_CONDITION): Whitespace.
15452 (TRAP_CODE): Likewise.
15453 (COND_EXEC_TEST): Likewise.
15454 (COND_EXEC_CODE): Likewise.
15455 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
15456 (PHI_NODE_P): Add parenthesis.
15457 (plus_constant): Whitespace and add parenthesis.
15458
e03f5d43
KH
154592002-01-03 Kazu Hirata <kazu@hxi.com>
15460
15461 * config/avr/avr.c: Fix comment typos.
15462 * config/c4x/c4x.md: Likewise.
15463 * config/dsp16xx/dsp16xx.h: Likewise.
15464 * config/dsp16xx/dsp16xx.md: Likewise.
15465 * config/i386/i386.md: Likewise.
15466 * config/ia64/ia64.c: Likewise.
15467 * config/m32r/m32r.h: Likewise.
15468 * config/m68hc11/m68hc11.md: Likewise.
15469 * config/mmix/mmix.c: Likewise.
15470 * config/mn10200/mn10200.c: Likewise.
15471 * config/romp/romp.c: Likewise.
15472 * config/sh/sh.c: Likewise.
15473 * config/stormy16/stormy16.c: Likewise.
15474 * config/stormy16/stormy16.h: Likewise.
15475 * config/stormy16/stormy16.md: Likewise.
15476
97e300e9
GS
154772002-01-03 Graham Stott <grahams@redhat.com>
15478
15479 * loop.h: Update copyright date.
0d24f4d1
ZW
15480 (LOOP_MOVABLES): Fix typo.
15481 (LOOP_REGS): Likewise.
15482 (LOOP_IVS): Likewise.
ff81832f 15483
745b26b3
GS
154842002-01-03 Graham Stott <grahams@redhat.com>
15485
15486 * cppinit.c: Update copyright date.
15487 Don't include output.h
15488 * Makefile.in: Update copyright date.
15489 Update dependency.
15490
0a379b7a
CR
154912002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
15492
15493 PR c/5226
15494 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
15495 (-pthread) Add to RS/6000 options.
15496
a8154559
KH
154972002-01-02 Kazu Hirata <kazu@hxi.com>
15498
15499 * except.c: Fix comment typos.
15500 * loop.c: Likewise.
15501 * varasm.c: Likewise.
15502 * doc/tm.texi: Fix a typo.
15503
e6ecc89b
JJ
155042002-01-02 Jakub Jelinek <jakub@redhat.com>
15505
15506 * c-typeck.c (output_init_element): Allow initializing static storage
15507 duration objects with compound literals.
15508
d1094b40
RH
155092002-01-02 Richard Henderson <rth@redhat.com>
15510
15511 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
15512 after abusing it.
15513
0c5d8c82
KG
155142002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15515
5e65297b
KG
15516 * gcc.c (default_compilers): Const-ify.
15517 * mips-tdump.c (stab_names): Likewise.
15518 * mips-tfile.c (map_coff_types, map_coff_storage,
15519 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
15520 pseudo_ops_t, pseudo_ops): Likewise.
15521 * protoize.c (default_include): Likewise
15522
0c5d8c82
KG
15523 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
15524 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
15525 Add array size in declaration.
15526 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
15527 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
15528 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
15529 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
15530 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
15531 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
15532 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
15533 emtens, make_nan): Const-ify.
15534 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
15535 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
15536
817e13c4
JM
155372002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
15538
15539 * config.gcc (ia64-*-*): Set extra_headers.
15540 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
15541 * config/alpha/t-osf: Remove.
15542 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
15543
98095e2b
DE
155442002-01-02 David Edelsohn <edelsohn@gnu.org>
15545
15546 * config/rs6000/t-aix43: Revert previous change.
15547
a4200657
JM
155482002-01-02 Jason Merrill <jason@redhat.com>
15549
15550 * c-decl.c (c_expand_body): Call outlining_inline_function when
15551 emitting an inline function out of line.
15552
54ba1f0d
RH
155532002-01-02 Richard Henderson <rth@redhat.com>
15554
15555 * dwarf2out.c (limbo_die_node): Add created_for member.
15556 (new_die): New argument created_for. Update all callers.
15557 (mark_limbo_die_list): New.
15558 (dwarf2out_init): Register limbo_die_list as a root.
15559 (dwarf2out_finish): Force insert limbo dies into their function
15560 context.
15561
323728aa
NS
155622002-01-02 Nathan Sidwell <nathan@codesourcery.com>
15563
15564 PR c++/5089
15565 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
15566
aefc5826
KH
155672002-01-02 Kazu Hirata <kazu@hxi.com>
15568
15569 * config/h8300/fixunssfsi.c: Update copyright.
15570 Fix comment typos.
15571 Fix formatting.
15572 * config/h8300/h8300.c: Update copyright.
15573 Eliminate warnings.
15574
b1c9bc51
KH
155752002-01-02 Kazu Hirata <kazu@hxi.com>
15576
15577 * config/romp/romp.c: Fix comment formatting.
15578 * config/romp/romp.h: Likewise.
15579 * config/romp/romp.md: Likewise.
15580 * config/s390/s390.c: Likewise.
15581 * config/stormy16/stormy16.c: Likewise.
15582 * config/stormy16/stormy16.h: Likewise.
15583
1574ef13
AO
155842002-01-02 Alexandre Oliva <aoliva@redhat.com>
15585
15586 * c-common.h (genrtl_expr_stmt_value): Declare.
15587 * c-semantics.c (genrtl_goto_stmt): Redirect to...
15588 (genrtl_goto_stmt_value): ... this new function. Pass new
15589 argument down to expand_expr_stmt_value, taking
15590 TREE_ADDRESSABLE into account.
15591 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
15592 STMT_EXPR as addressable, i.e., one whose result we want.
15593 * expr.c (expand_expr): Don't save expression statement value
15594 of labeled_blocks or loop_exprs.
15595 * stmt.c (expand_expr_stmt): Redirect to...
15596 (expand_expr_stmt_value): ... this new function. Use new
15597 argument to tell whether to save expression value.
15598 (expand_end_stmt_expr): Reset last_expr_type and
15599 last_expr_value if we don't have either.
15600 * tree-inline.c (declare_return_variable): Mark its use
15601 statement as addressable.
15602 * tree.h: Document new use of TREE_ADDRESSABLE.
15603 (expand_expr_stmt_value): Declare.
15604
252b88f7
TR
156052002-01-01 Tom Rix <trix@redhat.com>
15606
15607 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
15608 rs6000_emit_allocate_stack.
15609
29f7a208
JM
156102002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
15611
15612 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
15613 ${srcdir}/ginclude/ to every entry in extra_headers.
15614 * configure: Regenerate.
15615 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
15616 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
15617 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
15618 * ginclude/proto.h: Rename to config/convex/proto.h.
15619
2cc2d4bb
RK
15620Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15621
15622 * attribs.c (handle_vector_size_attribute): Use host_integerp
15623 and tree_int_cst; remove warnings.
15624 * caller-save.c (insert_restore): Add cast to get rid of warning.
15625 (insert_save): Likewise.
15626 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
15627 * regmove.c (find_matches): Add temporary var to kill a warning.
15628
f01c9bcd
DR
156292002-01-01 Douglas B Rupp <rupp@gnat.com>
15630
16b61764
DR
15631 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
15632 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
15633 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
15634 (vms-dwarf2eh.o): Add Makefile rule.
15635 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
15636 * config/alpha/vms-dwarf2eh.asm: New file.
15637
f01c9bcd
DR
15638 * gcc.c (delete_if_ordinary): Delete all versions.
15639
91312b81
HPN
156402002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
15641
15642 * config/mmix/mmix.md: Update FIXME to not mention
15643 define_constants.
15644 (MMIX_rJ_REGNUM): New define_constants constant.
15645 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
15646 "*movdicc_real"): Adjust contraints formatting.
15647 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
15648 for branch prediction.
15649 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
15650 output template.
15651 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
15652 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
15653 number. Delete related FIXMEs.
15654 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
15655 from number to MMIX_rJ_REGNUM.
15656 (TARGET_MASK_BRANCH_PREDICT): New.
15657 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
15658 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
15659 value. Add -mbranch-predict and -mno-branch-predict.
15660 (TARGET_VERSION): Drop date.
15661 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
15662 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
15663 for finding out global symbols.
15664 (mmix_asm_output_labelref): Revert condition for global symbol.
15665 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
15666 (mmix_print_operand_punct_valid_p): A '+' is valid.
15667
619acae7 15668See ChangeLog.6 for earlier changes.
This page took 2.056731 seconds and 5 git commands to generate.