attribs.c (c_common_attribute_table): Add visibility.
[gcc.git] / gcc / ChangeLog
1 2002-02-26 Jakub Jelinek <jakub@redhat.com>
2
3 * attribs.c (c_common_attribute_table): Add visibility.
4 (handle_visibility_attribute): New function.
5 * varasm.c (assemble_visibility): New function.
6 * output.h (assemble_visibility): Add prototype.
7 * tree.h (MODULE_LOCAL_P): Define.
8 * crtstuff.c (__dso_handle): Use visibility attribute.
9 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
10 for MODULE_LOCAL_P symbols too.
11 * config/ia64/ia64.c (ia64_encode_section_info): Handle
12 MODULE_LOCAL_P symbols the same way as local symbols.
13 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
14 into .sdata/.sbss by the user.
15 * doc/extend.texi (Function Attributes): Document visibility
16 attribute.
17
18 2002-02-26 Jakub Jelinek <jakub@redhat.com>
19
20 PR debug/5770
21 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
22 STRING_CST initializer spanning the whole variable without
23 embedded zeros.
24 If expand_expr returned MEM, don't use it.
25
26 2002-02-26 Alexandre Oliva <aoliva@redhat.com>
27
28 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
29 generate a die for the lexical block.
30
31 2002-02-26 Kazu Hirata <kazu@hxi.com>
32
33 * config/h8300/h8300-protos.h: Add a prototype for
34 compute_logical_op_length.
35 * config/h8300/h8300.c (compute_logical_op_length): New.
36 * config/h8300/h8300.md (anonymous logical patterns): Use
37 compute_logical_op_length for length.
38
39 2002-02-26 Aldy Hernandez <aldyh@redhat.com>
40
41 * dwarf2out.c (modified_type_die): Do not call type_main_variant
42 for vectors.
43 (gen_type_die): Same.
44
45 * attribs.c (handle_vector_size_attribute): Set debug information.
46
47 2002-02-26 Daniel Egger <degger@fhm.edu>
48
49 * config/rs6000/rs6000.md: Swap define_insn attributes to
50 fix incorrect generation of merge high instructions instead
51 of merge low.
52
53 2002-02-26 Aldy Hernandez <aldyh@redhat.com>
54
55 * c-typeck.c (really_start_incremental_init): Use
56 bitsize_zero_node for vectors.
57
58 2002-02-26 Aldy Hernandez <aldyh@redhat.com>
59
60 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
61 ("*set_vrsave_internal"): Same.
62
63 2002-02-25 Richard Henderson <rth@redhat.com>
64
65 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
66 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
67
68 2002-02-25 Jakub Jelinek <jakub@redhat.com>
69
70 PR target/5755
71 * config/i386/i386.c (ix86_return_pops_args): Only pop
72 fake structure return argument if it was passed on the stack.
73
74 2002-02-25 Jason Merrill <jason@redhat.com>
75
76 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
77 RESULT_DECL.
78
79 2002-02-25 Alexandre Oliva <aoliva@redhat.com>
80
81 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
82 link with shared_name only.
83 * doc/invoke.texi (Link Options): Document new behavior.
84
85 2002-02-25 Aldy Hernandez <aldyh@redhat.com>
86
87 * c-typeck.c (push_init_level): Handle vectors.
88
89 2002-02-25 Alexandre Oliva <aoliva@redhat.com>
90
91 * config/sparc/sparc.c (const64_high_operand): Zero-extend
92 operands of SPARC_SETHI_P.
93 (input_operand): Likewise.
94 (sparc_emit_set_const32): Likewise.
95 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
96 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
97 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
98 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
99 (movdi_insn_sp64_vis): Likewise.
100 (movdi split, movdf split): Use SETHI32.
101 * doc/md.texi: Document SPARC constraints L, M and N.
102
103 2002-02-25 Aldy Hernandez <aldyh@redhat.com>
104
105 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
106 ("*set_vrsave_internal"): use mfspr for Darwin.
107
108 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
109 gen_get_vrsave_internal.
110
111 Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
112
113 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
114
115 2002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
116
117 * cpplex.c (cpp_interpret_charconst): Get signedness or
118 otherwise of wide character constants correct.
119 * cppexp.c (lex): Get signedness of wide charconsts correct.
120
121 Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
122
123 * optabs.c (widen_operand): Only call convert_modes for
124 promoted SUBREG if signedness matches.
125 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
126
127 2002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
128
129 * cpplib.c (glue_header_name): Use local buffer to build up
130 header name.
131
132 2002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
133
134 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
135
136 2002-02-23 Kazu Hirata <kazu@hxi.com>
137
138 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
139 H8/300[HS] separately.
140 * config/h8300/h8300.md: Remove the early clobber constraint
141 from bit field patterns.
142
143 2002-02-23 Kazu Hirata <kazu@hxi.com>
144
145 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
146 register_operand.
147 (mulhisi3): Likewise.
148 (umulqisi3): Likewise.
149 (umulhisi3): Likewise.
150
151 2002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
152
153 * cppinit.c (output_deps): Correct test for stdout output.
154 (init_dependency_output): Cure warning.
155
156 Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
157
158 * expr.c (store_expr): When converting expression to promoted
159 equivalent type, allow using SUBREG_REG of TARGET as the target
160 of the expansion of EXP.
161 * loop.c (basic_induction_var, case SUBREG): Always look inside.
162 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
163 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
164 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
165 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
166
167 2002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
168
169 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
170 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
171 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
172
173 2002-02-23 Jakub Jelinek <jakub@redhat.com>
174
175 PR optimization/5747
176 * loop.c (scan_loop): Update reg info if move_movables created new
177 pseudos.
178
179 2002-02-23 David Edelsohn <edelsohn@gnu.org>
180
181 * gcc.c (init_gcc_spec): Revert last change.
182
183 2002-02-23 David Edelsohn <edelsohn@gnu.org>
184
185 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
186 gpc_reg_operand constraint.
187
188 2002-02-23 Alan Modra <amodra@bigpond.net.au>
189
190 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
191 Simplify comparison of `low'.
192 (add_operand): Fix formatting.
193 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
194 (mask_operand): Disallow mask to wrap in 64-bit mode.
195 (rs6000_stack_info): Remove redundant test setting push_p.
196 (output_toc): Fix formatting.
197 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
198 cc_reg_not_cr0_operand constraint.
199 (booldi3, boolcdi3 splitters): Same.
200
201 2002-02-23 Aldy Hernandez <aldyh@redhat.com>
202
203 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
204
205 2002-02-22 David Edelsohn <edelsohn@gnu.org>
206
207 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
208 gcc invoked with -shared-libgcc.
209
210 2002-02-22 Jakub Jelinek <jakub@redhat.com>
211
212 PR c++/5748
213 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
214 decl if any of elements was TREE_USED.
215
216 2002-02-22 Alexandre Oliva <aoliva@redhat.com>
217
218 * config/sparc/sol2.h: Don't include sys/mman.h.
219 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
220 (arith_4096_operand): Don't throw high bits away.
221 (const64_operand): Take sign extension of CONST_INTs into account.
222 (const64_high_operand, sparc_emit_set_const32): Likewise.
223 (GEN_HIGHINT64): Likewise.
224 (sparc_emit_set_const64_quick1): Likewise.
225 (const64_is_2insns): Likewise.
226 (print_operand): Use trunc_int_for_mode for sign extension.
227 * config/sparc/sparc.h (SMALL_INT32): Likewise.
228 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
229 chars. Assume CONST_INT is already properly sign-extended.
230 (movdi split): Sign-extend each SImode part.
231 (andsi3 split): Don't mask high bits off, so that result
232 remains properly sign-extend.
233 (iorsi3 split): Likewise.
234 (xorsi3 split): Likewise.
235
236 2002-02-22 Richard Sandiford <rsandifo@redhat.com>
237
238 * fold-const.c (fold): Fix typo in comments.
239
240 2002-02-21 Diego Novillo <dnovillo@redhat.com>
241
242 * Makefile.in (langhooks.o): Update dependencies.
243
244 2002-02-21 Diego Novillo <dnovillo@redhat.com>
245
246 * langhooks.c: Include flags.h.
247
248 2002-02-21 Aldy Hernandez <aldyh@redhat.com>
249
250 * testsuite/gcc.dg/attr-alwaysinline.c: New.
251
252 * c-common.c (c_common_post_options): Set inline trees by
253 default.
254
255 * doc/extend.texi (Function Attributes): Document always_inline
256 attribute.
257 Update documentation about inlining when not optimizing.
258
259 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
260
261 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
262 unless DECL_ALWAYS_INLINE.
263
264 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
265 unless DECL_ALWAYS_INLINE.
266 (c_disregard_inline_limits): Disregard if always_inline set.
267
268 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
269 Disregard if always_inline set.
270 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
271 unless DECL_ALWAYS_INLINE.
272
273 * attribs.c (handle_always_inline_attribute): New.
274 (c_common_attribute_table): Add always_inline.
275
276 * config/rs6000/altivec.h: Add prototypes for builtins
277 requiring the always_inline attribute.
278
279 2002-02-21 Eric Christopher <echristo@redhat.com>
280
281 * expmed.c (store_bit_field): Try to simplify the subreg
282 before generating a new one when when the mode size of
283 value is less than maxmode.
284
285 2002-02-21 Richard Henderson <rth@redhat.com>
286
287 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
288 than gen_rtx_PLUS to form the sum.
289 * explow.c (force_reg): Rearrange to not allocate new pseudo
290 when force_operand returns a register.
291 * expr.c (expand_assignment): Allow offset_rtx expansion to
292 return a sum. Do not force addresses into registers.
293 (expand_expr): Likewise.
294 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
295 to canonicalize arithmetic that didn't simpify.
296 (simplify_plus_minus): New argument force; update
297 all callers. Don't split CONST unless we can do something with it,
298 and wouldn't lose the constness of the operands.
299
300 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
301 that we generated earlier.
302
303 2002-02-21 Tom Tromey <tromey@redhat.com>
304
305 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
306 (output_line_info): Use constant `1', with a long explanatory
307 comment.
308 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
309
310 Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
311
312 * jump.c (redirect_jump): If old label has no UID, don't try to
313 delete it.
314
315 Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
316
317 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
318 If input is constant, do shifts at compile time.
319
320 2002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
321
322 * doc/extend.texi: Fix some more overfull hboxes.
323
324 2002-02-21 Jakub Jelinek <jakub@redhat.com>
325
326 PR optimization/4994
327 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
328 register moves.
329
330 2002-02-21 Jakub Jelinek <jakub@redhat.com>
331
332 PR c++/4574
333 * expr.h (expand_and): Add mode argument.
334 * expmed.c (expand_and): Add mode argument.
335 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
336 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
337 * except.c (expand_builtin_extract_return_addr): Likewise.
338 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
339 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
340 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
341 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
342 * config/c4x/c4x.md: Use GEN_INT (x) instead of
343 gen_rtx (CONST_INT, VOIDmode, x).
344
345 2002-02-21 Jakub Jelinek <jakub@redhat.com>
346
347 PR c/4697:
348 * stmt.c (warn_if_unused_value): Move side effects test once more.
349
350 2002-02-20 Torbjorn Granlund <tege@swox.com>
351
352 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
353 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
354
355 Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
356
357 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
358 SUBREG or ZERO_EXTEND.
359
360 Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
361
362 * sh.h (current_function_anonymous_args): Remove.
363 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
364 of current_function_varargs and current_function_stdarg is set.
365 * sh.c (sh_expand_prologue): Check current_function_varargs /
366 current_function_stdarg / TARGET_SH5 instead of
367 current_function_anonymous_args.
368
369 * sh64.h (TARGET_VERSION): Define.
370
371 2002-02-20 David Edelsohn <edelsohn@gnu.org>
372
373 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
374 VRSAVE_REGNO on TARGET_ALTIVEC.
375
376 2002-02-20 Alan Modra <amodra@bigpond.net.au>
377
378 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
379 bits of SImode const_int.
380 (includes_rshift_p): Likewise.
381 (print_operand): Call mask_operand and mask64_operand with correct
382 mode.
383 (rs6000_output_function_epilogue): Pad traceback table to word.
384 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
385 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
386 mask64_operand with correct mode.
387 (FUNCTION_ARG_REGNO_P): Correct parentheses.
388
389 2002-02-20 Jakub Jelinek <jakub@redhat.com>
390
391 PR debug/4461
392 * varasm.c (get_pool_constant_mark): New.
393 * rtl.h (get_pool_constant_mark): Add prototype.
394 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
395 be represented if it has not been output.
396
397 2002-02-20 Alexandre Oliva <aoliva@redhat.com>
398
399 * combine.c (do_SUBST): Sanity check substitutions of
400 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
401 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
402 CONST_INT into its operand.
403 (known_cond): Likewise, for ZERO_EXTEND.
404 * simplify-rtx.c (simplify_unary_operation): Fix condition to
405 allow for simplification of wide modes. Reject CONST_INTs in
406 ZERO_EXTEND when their actual mode is not given.
407
408 2002-02-20 Alexandre Oliva <aoliva@redhat.com>
409
410 * c-decl.c (pushdecl): If no global declaration is found for an
411 extern declaration in block scope, try a limbo one.
412
413 2002-02-20 Jakub Jelinek <jakub@redhat.com>
414
415 PR c++/4401
416 * c-common.c (pointer_int_sum): Moved from...
417 * c-typeck.c (pointer_int_sum): ...here.
418 * c-common.h (pointer_int_sum): Add prototype.
419
420 2002-02-20 Jakub Jelinek <jakub@redhat.com>
421
422 PR c++/5713
423 * c-decl.c (duplicate_decls): Return 0 if issued error about
424 redeclaration.
425
426 2002-02-20 Roger Sayle <roger@eyesopen.com>
427 Jakub Jelinek <jakub@redhat.com>
428
429 PR c/4389
430 * tree.c (host_integerp): Ensure that the constant integer is
431 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
432 when pos is zero or non-zero respectively. Clarify comment.
433 * c-format.c (check_format_info_recurse): Fix host_integerp
434 usage; the pos argument should be zero when assigning to a
435 signed HOST_WIDE_INT.
436
437 2002-02-20 Richard Henderson <rth@redhat.com>
438
439 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
440 of the operand, rather than assuming TImode.
441 (ix86_expand_binop_builtin): Cope with commutative patterns
442 using nonimmediate_operand for both operands.
443 (ix86_expand_timode_binop_builtin): Likewise.
444 (ix86_expand_store_builtin): Validate operand 1.
445 (ix86_expand_unop1_builtin): Likewise.
446
447 2002-02-20 Philip Blundell <philb@gnu.org>
448
449 PR 5705
450 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
451
452 2002-02-20 Richard Henderson <rth@redhat.com>
453
454 PR c/5615
455 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
456
457 2002-02-20 Tom Tromey <tromey@redhat.com>
458
459 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
460 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
461 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
462 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
463 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
464 unconditionally.
465
466 Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
467
468 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
469 for (const_int 0) in X not just INTVAL.
470
471 2002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
472
473 * doc/extend.texi: Avoid or reduce overfull hboxes.
474
475 2002-02-20 Diego Novillo <dnovillo@redhat.com>
476
477 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
478 operations if the field does not start at a mode boundary.
479
480 2001-02-20 Joel Sherrill <joel@OARcorp.com>
481
482 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
483 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
484 Also done for -Acpu and -Amachine.
485
486 2002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
487
488 * cppinit.c (init_dependency_output): Take deps output file
489 from -o if none given with -MF. Suppress normal output.
490 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
491 * doc/cpp.texi, doc/invoke.texi: Update.
492
493 2002-02-19 Zack Weinberg <zack@codesourcery.com>
494
495 * toplev.c (output_quoted_string): Write unprintable
496 characters with octal escapes.
497
498 2002-02-19 David Edelsohn <edelsohn@gnu.org>
499
500 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
501 really_call_used[VRSAVE_REGNO] if not Altivec.
502
503 2002-02-19 Alan Modra <amodra@bigpond.net.au>
504
505 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
506 MODE_MASK.
507 (constant_pool_expr_1): Fix formatting.
508 (rs6000_legitimize_reload_address): Likewise.
509
510 Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
511
512 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
513 now that we have one.
514
515 2002-02-19 Zack Weinberg <zack@codesourcery.com>
516
517 * tree.h (struct tree_common): Remove aux. Add unused_0 at
518 end of first block of bitfields (which was only seven bits);
519 rename dummy to unused_1; remove comment which is no longer true.
520
521 2002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
522
523 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
524
525 2002-02-19 Philip Blundell <pb@nexus.co.uk>
526
527 PR 5399
528 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
529 if generating PIC.
530
531 PR 5054
532 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
533 arm_is_longcall_p rather than inspecting call-type cookie
534 directly.
535 (call_value_insn) [TARGET_THUMB]: Likewise.
536
537 2002-02-19 Graham Stott <grahams@redhat.com>
538
539 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
540
541 2002-02-19 David Edelsohn <edelsohn@gnu.org>
542
543 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
544 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
545 (FP_SAVE_INLINE): Delete.
546
547 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
548 * config/rs6000/eabi.asm: Remove ABI save restore routines.
549 * config/rs6000/t-ppccomm: Build crtsavres.o.
550 * config/rs6000/crtsavres.asm: New file.
551
552 2002-02-19 Philip Blundell <philb@gnu.org>
553
554 * config/arm/arm.c (use_return_insn): Don't reject interrupt
555 functions.
556 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
557 (output_return_instruction): Allow interrupt functions to return with
558 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
559 (arm_expand_prologue): Subtract 4 before stacking LR in an
560 interrupt function.
561
562 2002-02-19 Philip Blundell <pb@nexus.co.uk>
563
564 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
565 decl, not just FUNCTION_DECL.
566 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
567 (arm_assemble_integer): Likewise.
568 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
569 marked local.
570
571 2002-02-19 matthew green <mrg@eterna.com.au>
572
573 * config.gcc (sparc-*-netbsdelf*): Enable target.
574 (sparc64-*-netbsd*): New target.
575 * config/sparc/netbsd-elf.h: New file.
576 * config/sparc/t-netbsd64: New file.
577
578 2002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
579
580 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
581
582 2002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
583
584 * doc/invoke.texi: explicitly list the style guidelines that
585 -Weffc++ checks for.
586
587 Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
588
589 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
590
591 2002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
592
593 PR other/5718
594 * gcc.c (cpp_unique_options): Treat -o as indicating object file
595 only if not -E. If -E, pass -o through to the preprocessor.
596
597 2002-02-19 Kazu Hirata <kazu@hxi.com>
598
599 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
600 register number with an appropriate macro.
601
602 2002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
603
604 * doc/rtl.texi (Constants): Close @code tag.
605
606 2002-02-19 Aldy Hernandez <aldyh@redhat.com>
607
608 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
609 ("mmx_uavgv4hi3"): Same.
610 ("pmulhrwv4hi3"): Same.
611
612 * tree-inline.c (walk_tree): Handle vectors.
613
614 * c-common.c (constant_expression_warning): Handle vectors.
615 (overflow_warning): Same.
616
617 * sched-deps.c (sched_analyze_2): Handle vectors.
618
619 * rtlanal.c (rtx_unstable_p): Handle vectors.
620 (rtx_varies_p): Same.
621 (count_occurrences): Same.
622 (regs_set_between_p): Same.
623 (modified_between_p): Same.
624 (modified_in_p): Same.
625 (volatile_insn_p): Same.
626 (volatile_refs_p): Same.
627 (side_effects_p): Same.
628 (may_trap_p): Same.
629 (inequality_comparisons_p): Same.
630 (replace_regs): Same.
631 (computed_jump_p_1): Same.
632
633 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
634 argument.
635 (inner_mode_array): New.
636 (copy_rtx): Handle vectors.
637 (copy_most_rtx): Same.
638 (rtx_equal_p): Same.
639 (get_mode_alignment): Adjust for vectors.
640
641 * resource.c (mark_referenced_resources): Handle vectors.
642 (mark_set_resources): Same.
643
644 * reload1.c (eliminate_regs): Handle vectors.
645 (elimination_effects): Same.
646 (scan_paradoxical_subregs): Same.
647
648 * reload.c (subst_reg_equivs): Handle vectors.
649
650 * regrename.c (scan_rtx): Handle vectors.
651
652 * regclass.c (reg_scan_mark_refs): Handle vectors.
653
654 * recog.c (find_single_use_1): Handle vectors.
655
656 * local-alloc.c (equiv_init_varies_p): Handle vectors.
657 (contains_replace_regs): Same.
658 (memref_referenced_p): Same.
659
660 * integrate.c (copy_rtx_and_substitute): Handle vectors.
661 (subst_constants): Same.
662
663 * genattrtab.c (attr_copy_rtx): Handle vectors.
664 (encode_units_mask): Same.
665 (clear_struct_flag): Same.
666 (count_sub_rtxs): Same.
667
668 * gcse.c (want_to_gcse_p): Handle vectors.
669 (oprs_unchanged_p): Same.
670 (hash_expr_1): Same.
671 (oprs_not_set_p): Same.
672 (expr_killed_p): Same.
673 (compute_transp): Same.
674 (store_ops_ok): Same.
675
676 * function.c (purge_addressof_1): Do not allow paradoxical subregs
677 of vectors.
678 (fixup_var_refs_1): Same.
679 (instantiate_virtual_regs_1): Same.
680
681 * fold-const.c (operand_equal_p): Handle vectors.
682 (fold): Same.
683 (rtl_expr_nonnegative_p): Same.
684
685 * flow.c (mark_used_regs): Handle vectors.
686
687 * df.c (df_uses_record): Handle vectors.
688
689 * cselib.c (cselib_subst_to_values): Handle vectors.
690 (cselib_mem_conflict_p): Same.
691 (hash_rtx): Same.
692
693 * cse.c (canon_reg): Handle vectors.
694 (fold_rt): Same.
695 (cse_process_notes): Same.
696 (count_reg_usage): Same.
697 (canon_hash): Same.
698
699 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
700
701 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
702
703 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
704 (gen_rtx): Handle CONST_VECTOR.
705 (gen_const_vector_0): New.
706 (copy_rtx_if_shared): CONST_VECTORs can be shared.
707 (reset_used_flags): Same.
708 (copy_insn_1): Same.
709 (initializer_constant_valid_p): Handle VECTOR_CST.
710
711 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
712
713 * doc/rtl.texi (Constants): Document const_vector.
714 (CONST0_RTX): Update for vectors.
715 (RTL sharing): Same.
716
717 * print-tree.c (print_node): Add case for VECTOR_CST.
718
719 * tree.h (TREE_VECTOR_CST_ELTS): New.
720 (struct tree_vector): New.
721 (union tree_node): Add vector node.
722 (build_vector): Add prototype.
723
724 * tree.def (VECTOR_CST): New.
725
726 * tree.c (build_vector): New.
727
728 * expmed.c (make_tree): Handle CONST_VECTOR.
729
730 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
731 (CONST_VECTOR_ELT): New.
732 (CONST_VECTOR_NUNITS): New.
733
734 * machmode.h (GET_MODE_INNER): New.
735 (DEF_MACHMODE): Accept 8th arg.
736
737 * machmode.def: Add 8th argument for vector inner mode.
738 Add inner vector modes for vectors.
739
740 * rtl.def (VEC_CONST): Remove.
741 (CONST_VECTOR): New.
742
743 * expr.c (clear_storage): Allow vectors.
744 (is_zeros_p): Handle VECTOR_CST.
745
746 * varasm.c (output_constant_pool): Handle vectors.
747 (rtx_const): Add veclo and vechi fields.
748 (kind): Add RTX_VECTOR.
749 (decode_rtx_const): Add case for vector.
750
751 * config/rs6000/rs6000-protos.h: Add zero_constant.
752
753 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
754 constants. Force easy vector constants into memory.
755 (easy_vector_constant): New.
756 (emit_easy_vector_constant): New.
757 (rs6000_legitimize_reload_address): Do not generate bad reloads on
758 darwin.
759
760 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
761 instruction does.
762 ("altivec_lvxl"): Same.
763 (altivec_lvebx): Same.
764 (altivec_lvehx): Same.
765 (altivec_lvewx): Same.
766 ("*movv4si_const0"): New.
767 ("*movv4sf_const0"): New.
768 ("*movv8hi_const0"): New.
769 ("*movv16qi_const0"): New.
770
771 2002-02-18 Kazu Hirata <kazu@hxi.com>
772
773 * config/h8300/h8300.c (notice_update_cc): Use
774 cc_status.value2.
775
776 2002-02-18 Kazu Hirata <kazu@hxi.com>
777
778 * config/h8300/h8300.md (divmod patterns): Change the
779 constraints for operands[1] to register_operand.
780
781 2002-02-18 Kazu Hirata <kazu@hxi.com>
782
783 * config/h8300/h8300-protos.h: Remove the prototype for
784 p_operand.
785 * config/h8300/h8300.c (p_operand): Remove.
786 * config/h8300/h8300.md: Replace p_operand with
787 const_int_operand.
788
789 2002-02-18 Philip Blundell <pb@nexus.co.uk>
790
791 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
792 comment.
793 (output_return_instruction): Allow use of LDR to unstack
794 return addresss even for interrupt handlers or when
795 interworking. If compiling for ARMv5, use interworking-safe
796 return instructions by default. Remove duplicated code and
797 lengthy "strcat" sequences.
798
799 2002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
800
801 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
802 (LINK_EH_SPEC): Define.
803 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
804
805 2002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
806
807 * config/s390/s390.c (s390_emit_prologue): Do not set the
808 frame_related flag for call-clobbered registers.
809
810 Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
811
812 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
813 (construct_container): Fix handling of SSE operands.
814 (ix86_expand_builtin): Fix handling of 64bit pointers.
815 (mmx_maskmovq_rex): New pattern.
816
817 Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
818
819 * regrename.c (kill_set_value): Handle subregs properly.
820
821 2002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
822
823 * objc/objc-act.c (handle_impent): Remove leading '*'
824 from objc_class_name.
825
826 2002-02-17 Richard Henderson <rth@redhat.com>
827
828 * config/alpha/alpha.c (some_small_symbolic_operand,
829 some_small_symbolic_operand_1, split_small_symbolic_operand,
830 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
831 Handle small SYMBOL_REFs anywhere, not just inside memories.
832 * config/alpha/alpha-protos.h: Update.
833 * config/alpha/alpha.h (PREDICATE_CODES): Update.
834 * config/alpha/alpha.md (small symbolic operand splitter): Update.
835
836 2002-02-17 Roland McGrath <roland@frob.com>
837
838 * config.gcc (powerpc-*-gnu-gnualtivec*,
839 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
840 * config/rs6000/gnu.h: New file.
841 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
842 Grok "gnu" in rs6000_abi_name.
843 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
844 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
845 Grok -mcall-gnu analogous to -mcall-linux et al.
846 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
847 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
848 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
849
850 2002-02-17 Jakub Jelinek <jakub@redhat.com>
851
852 PR c/3444:
853 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
854 shortening.
855
856 2002-02-17 Philipp Thomas <pthomas@suse.de>
857
858 * config/cris/cris.h: Undefine STARTFILE_SPEC and
859 ENDFILE_SPEC before (re)defining them.
860
861 2002-02-17 Kazu Hirata <kazu@hxi.com>
862
863 * config/h8300/h8300.c: Fix formatting.
864 * config/h8300/h8300.h: Likewise.
865
866 2002-02-17 Philipp Thomas <pthomas@suse.de>
867
868 * doc/tm.texi: Explain why empty strings should not be
869 marked for translation.
870
871 2002-02-17 Philipp Thomas <pthomas@suse.de>
872
873 * final.c (output_operand_lossage): Changed to accept
874 printf style arguments. Change calls where necessary.
875 * output.h (output_operand_lossage): Change declaration
876 accordingly. Update copyright.
877 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
878 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
879 Update copyright date where necessary.
880
881 * config/i386/i386.c (print_operand): Likewise. Remove use of
882 sprintf.
883
884 * config/cris/cris.c (cris_operand_lossage): Likewise.
885 Rename parameter so that exgettext recognizes it as
886 translatable message.
887 (LOSE_AND_RETURN): Rename parameter to msgid.
888
889 2002-02-17 Kazu Hirata <kazu@hxi.com>
890
891 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
892 hard coded register number with an appropriate macro.
893 (HARD_REGNO_MODE_OK): Likewise.
894 (ARG_POINTER_REGNUM): Likewise.
895 (STATIC_CHAIN_REGNUM): Likewise.
896 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
897 * config/h8300/h8300.md (define_constants): Define more
898 register numbers.
899
900 2002-02-17 Philipp Thomas <pthomas@suse.de>
901
902 * config/i386/i386.h: Don't mark empty strings for translation.
903
904 2002-02-16 H.J. Lu <hjl@gnu.org>
905
906 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
907
908 2002-02-16 Zack Weinberg <zack@codesourcery.com>
909
910 * cppinit.c (merge_include_chains): Check for brack being
911 NULL before attempting to merge it with qtail.
912
913 2002-02-16 Andrew Cagney <ac131313@redhat.com>
914
915 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
916 DBX_DEBUG.
917
918 2002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
919
920 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
921
922 2002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
923
924 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
925 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
926 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
927
928 Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
929
930 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
931 now only if !TARGET_FIX.
932 (*movsi_nt_vms_fix): New pattern.
933
934 2002-02-16 Douglas B Rupp <rupp@gnat.com>
935
936 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
937 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
938 (alpha_sa_mask, alpha_sa_size): Reflect above change.
939 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
940 (alpha_start_function, alpha_expand_epilogue): Likewise.
941 (unicosmk_gen_dsib): Likewise.
942
943 Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
944
945 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
946
947 2002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
948
949 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
950 check_and_change_labels, s390_final_chunkify): Delete.
951 (s390_split_branches, s390_chunkify_pool): New functions.
952 (s390_function_prologue): Call them.
953
954 * config/s390/s390.h (S390_REL_MAX): Delete.
955 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
956
957 * config/s390/s390.md (cjump, icjump, jump): Fix length
958 attribute calculation.
959
960
961 2002-02-15 David Edelsohn <edelsohn@gnu.org>
962
963 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
964 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
965
966 2002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
967
968 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
969 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
970 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
971
972 2002-02-15 Richard Sandiford <rsandifo@redhat.com>
973
974 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
975
976 2002-02-15 Richard Sandiford <rsandifo@redhat.com>
977
978 * reload.c (find_dummy_reload): Check that an output register
979 is valid for its mode.
980
981 2002-02-14 Alexandre Oliva <aoliva@redhat.com>
982
983 * combine.c (known_cond): After replacing the REG of a SUBREG, try
984 to simplify it.
985
986 * function.c (assign_parms): Demote promoted argument passed by
987 transparent reference.
988
989 2001-02-14 Joel Sherrill <joel@OARcorp.com>
990
991 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
992 -Acpu() and -Amachine() to eliminate warnings.
993
994 2002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
995
996 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
997
998 2002-02-14 Kazu Hirata <kazu@hxi.com>
999
1000 * config/h8300/h8300-protos.h: Update the prototype for
1001 const_costs.
1002 * config/h8300/h8300.c (const_costs): Treat SET as a little
1003 more expensive operation.
1004 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
1005 reference to const_costs.
1006
1007 2002-02-14 Hans-Peter Nilsson <hp@axis.com>
1008
1009 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
1010
1011 2002-02-14 Jakub Jelinek <jakub@redhat.com>
1012
1013 PR c/5503:
1014 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
1015 use arguments from newtype.
1016
1017 2002-02-13 Eric Christopher <echristo@redhat.com>
1018
1019 * config/mips/mips.c (override_options): Add check for march/mipsX
1020 on the same command line. Fix error message in cpu processing.
1021 Remove architecture and ISA checks.
1022
1023 2002-02-14 Aldy Hernandez <aldyh@redhat.com>
1024
1025 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
1026
1027 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
1028
1029 2002-02-14 Aldy Hernandez <aldyh@redhat.com>
1030
1031 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
1032 alternatives.
1033 ("*movv8hi_internal1"): Same.
1034 ("*movv16qi_internal1"): Same.
1035 ("*movv4sf_internal1"): Same.
1036
1037 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
1038 not push_reload for altivec modes.
1039
1040 2002-02-13 Joel Sherrill <joel@OARcorp.com>
1041
1042 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
1043 all RTEMS targets including removal of #includes from config/*/rtems*.h
1044 file and adding them to tm_file setting. Added xm_defines=POSIX to
1045 many targets.
1046 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
1047 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
1048 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
1049 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
1050 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
1051 config/m68k/rtemself.h: Ditto.
1052 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
1053 config/mips/rtems64.h: Ditto.
1054 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
1055 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
1056 Ditto.
1057 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
1058 config/sparc/rtemself.h: Ditto.
1059 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
1060 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
1061 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
1062 more like arm-elf.
1063 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
1064 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
1065 target made more similar to i386-elf.
1066 * config/i386/t-rtems-i386: Added soft float support and multilibs.
1067 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
1068 be similar to config/m68k/t-m68kelf.
1069 * gthr-rtems.h: Encapsulate with extern "C" for C++.
1070
1071 Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
1072
1073 * regmove.c (kill_value): Handle subregs.
1074
1075 Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
1076
1077 * i386.md (mul patterns): Allow memory operand to be first;
1078 add expanders where needed; fix constraints.
1079 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
1080 Allow memory operand to be the first.
1081
1082 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
1083 operands.
1084
1085 2002-02-13 Jakub Jelinek <jakub@redhat.com>
1086
1087 PR c/5681:
1088 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
1089 GET_MODE (x).
1090
1091 2002-02-13 Jakub Jelinek <jakub@redhat.com>
1092
1093 PR optimization/5547:
1094 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
1095 all valid IA-32 address modes involving non-scaled %ebx and
1096 GOT/GOTOFF as displacement.
1097
1098 2002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
1099
1100 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
1101 after emitting ltorg insns.
1102
1103 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
1104 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
1105 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
1106 *abssf2): Fix "op_type" attribute.
1107
1108 2002-02-13 Douglas B Rupp <rupp@gnat.com>
1109
1110 * mkconfig.sh: Avoid using a subshell redirect.
1111 ($output.T): Change to $(output)T.
1112 (ENABLE_NLS): Remove unneeded undef.
1113
1114 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
1115 * config/alpha/x-vms (libsubdir): Define.
1116
1117 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
1118 register frame procedures. Optimize retrieving context.
1119
1120 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
1121 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
1122 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
1123
1124 Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1125
1126 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
1127 Make same change as for find_base_value.
1128
1129 2002-02-13 Kazu Hirata <kazu@hxi.com>
1130
1131 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
1132 of QImode and SImode.
1133
1134 2002-02-13 Kazu Hirata <kazu@hxi.com>
1135
1136 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
1137 length computation of movsi.
1138 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
1139
1140 2002-02-13 Kazu Hirata <kazu@hxi.com>
1141
1142 * config/h8300/h8300.md (subqi3): Tighten the predicate for
1143 operands[2] to register_operand.
1144
1145 Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
1146
1147 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
1148
1149 2002-02-12 Aldy Hernandez <aldyh@redhat.com>
1150
1151 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
1152 for altivec_lvx* and altivec_stvx*.
1153 ("*movv4si_internal"): Add constraint for loading from GPRs.
1154 ("*movv8hi_internal1"): Same.
1155 ("*movv16qi_internal1"): Same.
1156 ("*movv4sf_internal1"): Same.
1157
1158 * config/rs6000/rs6000.c (altivec_register_operand): New.
1159
1160 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
1161 altivec_register_operand.
1162
1163 2002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
1164
1165 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
1166 handle SYMBOL_REF.
1167
1168 2002-02-13 Stan Shebs <shebs@apple.com>
1169
1170 * c-typeck.c (digest_init): Handle vectors.
1171 (really_start_incremental_init): Same.
1172 (pop_init_level): Same.
1173 (process_init_element): Same.
1174
1175 * varasm.c (output_constant): Same.
1176
1177 * expr.c (clear_storage): Same.
1178 (store_constructor): Same.
1179
1180 2002-02-12 Eric Christopher <echristo@redhat.com>
1181
1182 * explow.c (hard_function_value): Add comment explaining
1183 signed/unsigned comparison.
1184
1185 2002-02-12 Jakub Jelinek <jakub@redhat.com>
1186
1187 * jump.c (never_reached_warning): Add finish argument.
1188 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
1189 real insn after end.
1190 * rtl.h (never_reached_warning): Adjust prototype.
1191 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
1192 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
1193 never_reached_warning.
1194
1195 2002-02-12 Graham Stott <grahams@redhat.com>
1196
1197 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
1198
1199 2002-02-12 Kazu Hirata <kazu@hxi.com>
1200
1201 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
1202 logical shifts on H8/300.
1203 (shift_alg_si): Improve several shifts on H8/300.
1204 (get_shift_alg): Likewise.
1205
1206 2002-02-12 Graham Stott <grahams@redhat.com>
1207
1208 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
1209
1210 Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1211
1212 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
1213 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
1214
1215 2002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
1216
1217 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
1218 non-CONST_INT through default_assemble_integer.
1219 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
1220 <case 8>: Abort for CONST_DOUBLE.
1221
1222 2002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
1223
1224 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
1225 is specified.
1226 * config/pa/pa-linux.h (LIB_SPEC): Delete.
1227 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
1228
1229 2002-02-11 Andrew Haley <aph@cambridge.redhat.com>
1230
1231 * config/stormy16/stormy16.md (zero_extendqihi2): New.
1232
1233 2002-02-11 Alexandre Oliva <aoliva@redhat.com>
1234
1235 * regrename.c (regrename_optimize): Don't accept a
1236 part-clobbered register if the replaced register is not part
1237 clobbered.
1238
1239 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
1240 take padding into account when computing the argument value.
1241
1242 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
1243
1244 * combine.c (try_combine): Apply substitutions in
1245 CALL_INSN_FUNCTION_USAGE too.
1246
1247 2002-02-11 Aldy Hernandez <aldyh@redhat.com>
1248
1249 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
1250 __builtin_altivec_abs*.
1251 (bdesc_abs): New.
1252
1253 * config/rs6000/rs6000.h (rs6000_builtins): Add
1254 ALTIVEC_BUILTIN_ABS*.
1255
1256 * config/rs6000/altivec.h: Use const char for builtins expecting
1257 literals.
1258 (vec_abs): New versions for C and C++.
1259 (vec_abss): Same.
1260
1261 2002-02-10 Kazu Hirata <kazu@hxi.com>
1262
1263 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
1264 using Pmode.
1265
1266 2002-02-10 Kazu Hirata <kazu@hxi.com>
1267
1268 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
1269 constant definition from h8300.md.
1270 (FRAME_POINTER_REGNUM): Likewise.
1271 * config/h8300/h8300.md (define_constants): Add FP_REG.
1272
1273 2002-02-10 Kazu Hirata <kazu@hxi.com>
1274
1275 * config/h8300/h8300.c (print_operand): Remove redundant code.
1276
1277 2002-02-10 Kazu Hirata <kazu@hxi.com>
1278
1279 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
1280 * config/h8300/h8300.c (byte_reg): Make it static.
1281
1282 2002-02-10 Richard Henderson <rth@redhat.com>
1283
1284 PR c/5623
1285 * c-typeck.c (incomplete_type_error): Handle flexible array members.
1286
1287 2002-02-10 Richard Henderson <rth@redhat.com>
1288
1289 PR c++/5624
1290 * tree.c (append_random_chars): Don't abort if main_input_filename
1291 does not exist.
1292
1293 2002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
1294
1295 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
1296
1297 2002-02-10 Kazu Hirata <kazu@hxi.com>
1298
1299 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
1300 (pushhi1): Likewise.
1301
1302 2002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
1303
1304 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
1305 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
1306
1307 2002-02-09 David O'Brien <obrien@FreeBSD.org>
1308
1309 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
1310 remove MASK_VIS.
1311 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
1312
1313 2002-02-09 Kazu Hirata <kazu@hxi.com>
1314
1315 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
1316 a half of an SImode register on H8/300.
1317
1318 Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
1319
1320 * i386.md (movdi_2): Add missing '!'.
1321
1322 2002-02-09 Kazu Hirata <kazu@hxi.com>
1323
1324 * config/h8300/h8300.h: Fix formatting. Remove commented-out
1325 definitions.
1326
1327 2002-02-09 Kazu Hirata <kazu@hxi.com>
1328
1329 * config/h8300/h8300.md (length): Correct the distance valid
1330 for the short branch.
1331
1332 2002-02-09 Kazu Hirata <kazu@hxi.com>
1333
1334 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
1335
1336 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
1337
1338 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
1339 registers in SImode.
1340 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
1341 part-clobbered.
1342
1343 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
1344 patch.
1345
1346 Contribute sh64-elf.
1347 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
1348 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
1349 (sh_cannot_modify_jumps_p): New function.
1350 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
1351 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
1352 (sh_ms_bitfield_layout_p): New function.
1353 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
1354 Zack Weinberg <zack@codesourcery.com>
1355 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
1356 expand_simple_binop instead of expand_binop.
1357 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
1358 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
1359 use of .quad and .uaquad.
1360 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
1361 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
1362 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
1363 * config/sh/sh.md (movdi_const, movdi_const_32bit,
1364 movdi_const_16bit): Make sure all CONSTs have modes.
1365 (sym2PIC): Ditto, but by adjusting all callers.
1366 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
1367 if the prologue calls the SHmedia argument decoder or register
1368 saver.
1369 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
1370 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
1371 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
1372 (sh_expand_epilogue): Don't emit USE of return target register.
1373 (prepare_move_operands): Legitimize DImode PIC addresses.
1374 (sh_media_register_for_return): Skip tr0, used to initialize the
1375 PIC register.
1376 (sh_expand_prologue): Remove explicit USE of return register.
1377 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
1378 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
1379 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
1380 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
1381 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
1382 EXTRA_CONSTRAINT_T.
1383 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
1384 (MOVI_SHORI_BASE_OPERAND_P): New.
1385 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
1386 (EXTRA_CONSTRAINT_T): Define in terms of them.
1387 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
1388 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
1389 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
1390 alternatives supporting TARGET_REGS.
1391 (UNSPEC_GOTPLT): New constant.
1392 (movdi split): Move incrementing of LABEL_NUSES...
1393 (movdi_const, movdi_const_32bit): Here. Use
1394 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
1395 (movdi_const_16bit): New.
1396 (call, call_value) [flag_pic]: Use GOTPLT.
1397 (call_pop, call_value_pop): New expands.
1398 (call_pop_compact, call_pop_rettramp): New insns.
1399 (call_value_pop_compact, call_value_pop_rettramp): New insns.
1400 (sibcall) [flag_pic]: Use GOT.
1401 (builtint_setjmp_receiver): Remove bogus, unused expand.
1402 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
1403 (*pt, *ptb, ptrel): New insns.
1404 (sym2GOT): Handle DImode GOT.
1405 (sym2GOTPLT, symGOTPLT2reg): New expands.
1406 (sym2PIC): New expand.
1407 (shcompact_return_tramp): Use GOTPLT to return trampoline.
1408 (shcompact_return_tramp_i): Use return register explicitly.
1409 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
1410 disable flag_reorder_blocks.
1411 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
1412 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
1413 clobbers, for clarity.
1414 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
1415 restoring of r0 in macl as MAYBE_DEAD.
1416 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
1417 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
1418 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
1419 alter_subreg all over.
1420 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
1421 reload, instead of emitting instructions that would require
1422 reloading.
1423 (casesi_load_media): Add missing modes.
1424 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
1425 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
1426 as used if the argument decoder is called.
1427 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
1428 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
1429 Pmode, then extend it to DImode if necessary.
1430 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
1431 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
1432 constants in FPU-enabled SHmedia, let them be loaded from memory.
1433 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
1434 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
1435 Adjust whitespace in assembly output templates.
1436 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
1437 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
1438 mode of if_then_else.
1439 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
1440 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
1441 sh.h.
1442 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
1443 Joern Rennecke <amylaar@redhat.com>
1444 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
1445 (SUBTARGET_CPP_PTR_SPEC): New.
1446 (SUBTARGET_CPP_SPEC): Remove.
1447 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
1448 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
1449 Fix typo in previous checkin.
1450 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
1451 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
1452 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
1453 Alexandre Oliva <aoliva@redhat.com>
1454 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
1455 what single FP register can hold for SHmedia target.
1456 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
1457 Alexandre Oliva <aoliva@redhat.com>
1458 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
1459 Do not split into SUBREG.
1460 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
1461 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
1462 and added new functions as specified in SH5 ABI r9.
1463 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
1464 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
1465 8-byte boundary.
1466 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
1467 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
1468 gen_consttable_4 and gen_consttable_8. Emit multiple labels
1469 and consttable_window_ends.
1470 2001-06-03 Graham Stott <grahams@redhat,com>
1471 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
1472 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
1473 * config/sh/sh.c (print_operand): Handle floating-point pair,
1474 vector and matrix registers.
1475 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
1476 vector modes into account.
1477 * config/sh/sh.md (movv2sf): Split move between registers into
1478 movdf.
1479 (movv4sf, movv16sf): Introduce insns that get split only after
1480 reload.
1481 * config/sh/shmedia.h: Fix Copyright dates.
1482 * config/sh/ushmedia.h: Likewise. Move loop counter
1483 declarations into conditionals that uses them.
1484 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
1485 loop boundary.
1486 * config/sh/sshmedia.h: Fix Copyright dates.
1487 (sh_media_PUTCFG): Fix constraints.
1488 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
1489 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
1490 ptrmemfunc_vbit_in_delta for SH5.
1491 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
1492 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
1493 * invoke.texi: Likewise.
1494 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
1495 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
1496 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
1497 GCC_pop_shmedia_regs_nofpu): New global symbols.
1498 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
1499 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
1500 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
1501 compact function with nonlocal labels.
1502 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
1503 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
1504 (initial_elimination_offset): Account for their stack space.
1505 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
1506 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
1507 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
1508 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
1509 least one of the operands to be a register.
1510 (movv2sf): Likewise. Renamed to movv2sf_i.
1511 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
1512 prepare_move_operands() before emitting SHmedia insns.
1513 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
1514 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
1515 Don't save nor initialize r12. Don't mis-align the stack.
1516 Pad the code with a nop.
1517 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
1518 stack.
1519 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
1520 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
1521 [__SHMEDIA__]: Implement.
1522 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
1523 * config/sh/sh.md: Set latency of `pt' closer to reality.
1524 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
1525 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
1526 Set move, load and store type attributes.
1527 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
1528 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
1529 profiling.
1530 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
1531 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
1532 * config/sh/sh.c (sh_media_register_for_return): New function.
1533 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
1534 branch-target register.
1535 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
1536 * config/sh/sh.md (return_media_i): Use any call-clobbered
1537 branch-target register.
1538 (return_media): If r18 wasn't copied in the prologue, copy it
1539 here.
1540 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
1541 Clear class FP0_REGS.
1542 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
1543 from elf.h.
1544 2001-03-08 DJ Delorie <dj@redhat.com>
1545 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
1546 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
1547 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
1548 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
1549 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
1550 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
1551 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
1552 return value correctly for call_cookie.
1553 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
1554 * config/sh/crt1.asm (start): Modified so as to call
1555 ___setup_argv_and_call_main.
1556 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
1557 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
1558 SHmedia mode.
1559 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
1560 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
1561 (STRIP_NAME_ENCODING): Use it.
1562 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
1563 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
1564 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
1565 prepare_scc_operands().
1566 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
1567 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
1568 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
1569 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
1570 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
1571 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
1572 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
1573 used in shcompact_incoming_args.
1574 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
1575 change.
1576 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
1577 mode.
1578 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
1579 Adjust accordingly.
1580 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
1581 Simplify. Adjust. Add sanity check.
1582 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
1583 FPU_SINGLE_BIT.
1584 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
1585 TARGET_SHCOMPACT.
1586 (udivsi3, divsi3): Use them.
1587 (force_mode_for_call): New insn.
1588 (call, call_value, sibcall_value): Emit it before SHcompact
1589 calls.
1590 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
1591 * config/sh/sh.md (call, call_value, sibcall): Make sure the
1592 call cookie is non-NULL before taking its value.
1593 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
1594 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
1595 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
1596 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
1597 block.
1598 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
1599 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
1600 temporary for stack adjusts. Use MACL and MACH to pass
1601 arguments to shcompact_incoming_args.
1602 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
1603 clobber r1.
1604 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
1605 (nested_trampoline): Load static chain address into r1.
1606 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
1607 2001-01-07 Alexandre Oliva <aoliva@redhat.com
1608 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
1609 fp_arith_reg_operand().
1610 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
1611 * config/sh/sh.md (casesi): Sign-extend the first two operands,
1612 and use signed compares for them.
1613 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
1614 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
1615 ones properly aligned.
1616 (find_barrier): Account for extra alignment needed for 8-byte wide
1617 constants.
1618 (machine_dependent_reorg): Require a label for the second 4-byte
1619 constant after an 8-byte one.
1620 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
1621 change.
1622 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
1623 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
1624 last_float when switching float modes.
1625 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
1626 auto-increment for general-purpose registers.
1627 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
1628 result.
1629 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
1630 for stack adjust.
1631 * config/sh/sh.c (sh_builtin_saveregs): Support using all
1632 registers for varargs.
1633 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
1634 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
1635 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
1636 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
1637 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
1638 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
1639 call_cookie accordingly.
1640 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
1641 (SHCOMPACT_BYREF): Likewise.
1642 (SHCOMPACT_FORCE_ON_STACK): New macro.
1643 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
1644 (sh_builtin_saveregs): Likewise.
1645 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
1646 shcompact_incoming_args): Use new shift values. Support
1647 sequences of consecutive and non-consecutive pushes/pops.
1648 * config/sh/sh.md (return): Don't explicitly use PR_REG.
1649 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
1650 * config/sh/sh.h (TEXT_SECTION): Define.
1651 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
1652 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
1653 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
1654 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
1655 return values on FPU-enabled SHmedia.
1656 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
1657 FPU-enabled SHmedia.
1658 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
1659 value is returned in a non-FP reg and is not returned by
1660 reference.
1661 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
1662 jump_ind.
1663 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
1664 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
1665 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
1666 quad-aligned to be passed by callee-copy reference.
1667 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
1668 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
1669 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
1670 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
1671 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
1672 copying low-numbered FP regs to r7 and r8.
1673 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
1674 FP regs to general-purpose regs only if the copy was passed on the
1675 stack.
1676 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
1677 copying FP reg to r9.
1678 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
1679 copy FP regs to general-purpose regs only in outgoing calls.
1680 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1681 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
1682 HOST_WIDE_INT.
1683 * config/sh/sh.h (struct sh_args): Document all fields.
1684 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
1685 passed partially on the stack should not consider making
1686 sibcalls.
1687 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
1688 stack_regs only for incoming calls. When passing FP args,
1689 make sure there are FP regs available before modifying
1690 call_cookie.
1691 (SHCOMPACT_BYREF): Pass double args in general-purpose
1692 registers by reference.
1693 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
1694 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
1695 attempt to generate sibcalls if the caller got any arguments
1696 by reference.
1697 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
1698 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
1699 to 8-byte boundaries.
1700 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
1701 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
1702 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
1703 stored in the stack.
1704 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
1705 for the offsets to have the ISA bit set.
1706 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
1707 invocation. Use beq instead of bgt to mark end of sequence of
1708 loads.
1709 (shcompact_incoming_args): Fix store of r2. Use beq instead of
1710 bgt to mark end of sequence of stores.
1711 * config/sh/sh.c (arith_operand): Don't check whether
1712 CONST_OK_FOR_J for now.
1713 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
1714 instead of long for conversion.
1715 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
1716 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
1717 before passing it to fprintf.
1718 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
1719 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
1720 Call set_fpscr before reading/writing SR.
1721 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
1722 Call set_fpscr.
1723 * config/sh/lib1funcs.asm: Add `.align 2' directives before
1724 SHmedia code.
1725 (FMOVD_WORKS): Define on SH5 with FPU.
1726 (set_fpscr): Define on SH5. Remove separate _fpscr_values
1727 setting.
1728 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
1729 _fpscr_values.
1730 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
1731 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
1732 address.
1733 (ia_main_table): Ditto.
1734 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
1735 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
1736 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
1737 the definitions from sh.h.
1738 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
1739 TARGET_SH5.
1740 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
1741 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
1742 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
1743 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
1744 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
1745 Increment LABEL_NUSES.
1746
1747 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
1748 TARGET_SH5.
1749 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
1750 defined.
1751 * config/sh/elf.h (SIZE_TYPE): Likewise.
1752 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
1753 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
1754 shcompact_incoming_args): Load switch table addresses using
1755 datalabel.
1756 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
1757 (NO_BUILTIN_SIZE_TYPE): Define.
1758 (SIZE_TYPE): Don't define.
1759 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
1760 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
1761 definition of __SH5__=32 for -m5-compact-nofpu.
1762 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
1763 ADDR_DIFF_VEC.
1764 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
1765 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
1766 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
1767 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
1768 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
1769 (INSN_LENGTH_ALIGNMENT): Likewise.
1770 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1771 * config/sh/sh.md (call, call_value, sibcall): Simplify
1772 copying of non-branch-target register.
1773 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1774 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
1775 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
1776 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1777 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
1778 floating-point values as structs.
1779 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
1780 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
1781 general-purpose register.
1782 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
1783 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
1784 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
1785 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
1786 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
1787 (ENCODE_SECTION_INFO): Enclose variables and constants in
1788 DATALABEL unspecs.
1789 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
1790 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
1791 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
1792 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
1793 only for LABEL_REFs. For SYMBOL_REFs, prepend
1794 SH_DATALABEL_ENCODING to the symbol name.
1795 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
1796 convert_mode().
1797 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
1798 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
1799 UNSPEC_DATALABEL.
1800 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
1801 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
1802 (DATALABEL_REF_P): Don't require CONST.
1803 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
1804 REL label.
1805 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
1806 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
1807 right.
1808 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
1809 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
1810 Use shallow_copy_rtx and PUT_MODE to change the mode of
1811 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
1812 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
1813 on SHmedia using GENERAL_REGs.
1814 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
1815 bltu_media_i): Fix reversion of conditions.
1816 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
1817 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
1818 * config/sh/sh.c (output_far_jump): Save r13 in macl.
1819 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
1820 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
1821 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
1822 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
1823 (GCC_nested_trampoline): Likewise.
1824 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
1825 * config/sh/sh.c (gen_datalabel_ref): Define.
1826 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
1827 (INITIALIZE_TRAMPOLINE): Likewise.
1828 (TRAMPOLINE_ADJUST_ADDRESS): Define.
1829 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
1830 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
1831 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
1832 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
1833 (ic_invalidate): Adjust for SH5.
1834 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
1835 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
1836 _nested_trampoline.
1837 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
1838 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
1839 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
1840 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
1841 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
1842 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
1843 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
1844 * config/sh/sh.c (target_reg_operand): Match only target-branch
1845 registers and pseudos that aren't virtual registers.
1846 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
1847 Copy operands that don't match target_reg_operand to pseudos.
1848 (call_media, call_value_media, sibcall_media): Use
1849 target_reg_operand instead of target_operand.
1850 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
1851 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
1852 * config/sh/sh.c (target_reg_operand): Match hardware registers
1853 other than branch-target registers.
1854 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
1855 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
1856 (fpscr_values) [SH5 == 32]: Define.
1857 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
1858 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
1859 Handle function addresses coming in SUBREGs.
1860 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
1861 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
1862 shcompact_return_trampoline): Use datalabel where appropriate.
1863 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
1864 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
1865 general-purpose register to copy one branch-target register to
1866 another.
1867 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
1868 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
1869 SYMBOL_REFs with VOIDmode.
1870 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
1871 bltu_media_i): New insns.
1872 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
1873 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
1874 (INIT_CUMULATIVE_ARGS): Likewise.
1875 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
1876 * machmode.def (V16SFmode): New mode.
1877 * c-common.c (type_for_mode): Support V2SF and V16SF.
1878 * tree.c (build_common_tree_nodes_2): Likewise.
1879 * tree.h (tree_index): Likewise.
1880 * calls.c (emit_call_1): Take args_so_far. Adjust all
1881 callers. Introduce CALL_POPS_ARGS.
1882 * tm.texi (CALL_POPS_ARGS): Document.
1883 * config/sh/crt1.asm: Implement in SHmedia mode.
1884 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
1885 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
1886 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
1887 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
1888 Implement divsi and udivsi in SHmedia mode. Introduce
1889 SHcompact trampolines.
1890 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
1891 only in SHmedia64.
1892 (regno_reg_class): Rewrite.
1893 (fp_reg_names): Remove.
1894 (sh_register_names, sh_additional_register_names): New.
1895 (print_operand): Added `u'. Support SUBREGs in addresses.
1896 Add parentheses around shifted CONSTs.
1897 (output_file_start): Output .mode and .abi directives.
1898 (shiftcosts, addsubcosts, multcosts): Adjust.
1899 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
1900 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
1901 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
1902 bytes, not registers. Take into account the need for the
1903 SHcompact incoming args trampoline. Adjust all callers.
1904 (sh_expand_prologue): Take stack_regs into account. Call
1905 incoming args trampoline. Keep stack aligned as per SH5 ABI.
1906 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
1907 stack aligned as per SH5 ABI.
1908 (sh_builtin_saveregs): Support SH5 ABI.
1909 (sh_build_va_list, sh_va_start): Likewise.
1910 (initial_elimination_offset): Take alignment into account.
1911 Compute location of PR according to the SH5 stack frame.
1912 (arith_reg_operand): Reject branch-target registers.
1913 (shmedia_6bit_operand): New.
1914 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
1915 (target_reg_operand): Match DImode only. Accept SUBREGs.
1916 (target_operand): New.
1917 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
1918 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
1919 SIBCALL_REGS for SHmedia.
1920 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
1921 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
1922 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
1923 (TARGET_SWITCHES): New SH5 flags.
1924 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
1925 VALID_REGISTER_P to disable unsupported registers.
1926 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
1927 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
1928 (FUNCTION_ARG_PADDING): Define.
1929 (FASTEST_ALIGNMENT): Adjust.
1930 (SH_REGISTER_NAMES_INITIALIZER): New.
1931 (sh_register_names): Declare.
1932 (DEBUG_REGISTER_NAMES): Define.
1933 (REGISTER_NAMES): Define based on sh_register_names.
1934 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
1935 (sh_additional_register_names): Declare.
1936 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
1937 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
1938 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
1939 (REGISTER_NATURAL_MODE): Define.
1940 (FIRST_PSEUDO_REGISTER): Adjust.
1941 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
1942 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
1943 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
1944 (VECTOR_MODE_SUPPORTED_P): Define.
1945 (REG_CLASS_CONTENTS): Adjust.
1946 (SMALL_REGISTER_CLASSES): Adjust.
1947 (REG_ALLOC_ORDER): Adjust.
1948 (INDEX_REG_CLASS): Adjust.
1949 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
1950 (CONST_OK_FOR_LETTER_P): Adjust.
1951 (PREFERRED_RELOAD_CLASS): Adjust.
1952 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
1953 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
1954 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
1955 (FIRST_FP_PARM_REG): Adjust.
1956 (CALL_POPS_ARGS): Define.
1957 (FUNCTION_ARG_REGNO_P): Adjust.
1958 (struct sh_args): New fields.
1959 (GET_SH_ARG_CLASS): Adjust.
1960 (INIT_CUMULATIVE_ARGS): Adjust.
1961 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
1962 (FUNCTION_ARG_ADVANCE): Adjust.
1963 (FUNCTION_ARG): Adjust.
1964 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
1965 (FUNCTION_ARG_CALLEE_COPIES): Define.
1966 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
1967 (STRICT_ARGUMENT_NAMING): Define.
1968 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
1969 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
1970 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
1971 (SETUP_INCOMING_VARARGS): Adjust.
1972 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
1973 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
1974 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
1975 (SUBREG_OK_FOR_INDEX_P): Adjust.
1976 (EXTRA_CONSTRAINT_S): Update.
1977 (EXTRA_CONSTRAINT_T): New.
1978 (EXTRA_CONSTRAINT): Adjust.
1979 (GO_IF_LEGITIMATE_INDEX): Adjust.
1980 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
1981 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
1982 (MOVE_MAX): Adjust.
1983 (MAX_MOVE_MAX): Define.
1984 (Pmode): Adjust.
1985 (CONST_COSTS): Adjust.
1986 (REGISTER_MOVE_COST): Adjust.
1987 (BRANCH_COST): Adjust.
1988 (TEXT_SECTION_ASM_OP): Adjust.
1989 (DBX_REGISTER_NUMBER): Adjust.
1990 (ASM_OUTPUT_DOUBLE_INT): New.
1991 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
1992 (PREDICATE_CODES): Adjust.
1993 (PROMOTE_MODE): Adjust.
1994 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
1995 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
1996 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
1997 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
1998 (DR0_REG, DR2_REG, DR4_REG): Renumber.
1999 (TR0_REG, TR1_REG, TR2_REG): New.
2000 (XD0_REG): Renumber.
2001 (UNSPEC_COMPACT_ARGS): New.
2002 (type): Added pt and ptabs.
2003 (length): Default to 4 on SHmedia. Default pt length to 12
2004 and 20 on SHmedia32 and SHmedia64, respectively.
2005 (pt): New function unit.
2006 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
2007 Add whitespace between operands of SHmedia instructions.
2008 (movdicc): Fix.
2009 (adddi3_media, addsi3_media): Adjust constraints.
2010 (subsi3) [SHmedia]: Force operand 1 into a register.
2011 (udivsi3_i1_media, udivsi3_i4_media): New.
2012 (udivsi3): Support SHmedia.
2013 (divsi3_i1_media, divsi3_i4_media): New.
2014 (divsi3): Support SHmedia.
2015 (anddi3, iordi3, xordi3): Adjust constraints.
2016 (zero_extendhidi2, zero_extendqidi2): New.
2017 (extendsidi2, extendhidi2, extendqidi2): New.
2018 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
2019 (pop_e, pop_fpul, pop_4): Likewise.
2020 (movsi_media): Support FP and BT registers.
2021 (movsi_media_nofpu): New. Adjust splits to DImode.
2022 (lduw, ldub): Renamed to zero_extend* above.
2023 (movqi_media): Fix typo.
2024 (movdi_media): Support FP and BT registers.
2025 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
2026 (movdi_const_32bit): New.
2027 (shori_media): Require immediate operand. Use `u' for output.
2028 (movdf_media, movsf_media): Simplified.
2029 (movdf_media_nofpu, movsf_media_nofpu): New.
2030 (movdf, movsf): Adjust
2031 (movv2sf, movv2sf, movv16sf): New.
2032 (beq_media, beq_media_i): Adjust constraints. Don't use
2033 scratch BT register.
2034 (bne_media, bne_media_i): Likewise.
2035 (bgt_media, bgt_media_i): Likewise.
2036 (bge_media, bge_media_i): Likewise.
2037 (bgtu_media, bgtu_media_i): Likewise.
2038 (bgeu_media, bgeu_media_i): Likewise.
2039 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
2040 bunordered): Emit jump insn. Force operands to registers when
2041 needed.
2042 (jump_media, jump): Simplify.
2043 (call_compact, call_compact_rettramp): New.
2044 (call_value_compact, call_value_compact_rettramp): New.
2045 (call_media, call_value_media): Simplify.
2046 (sibcall_compact, sibcall_media): New.
2047 (call, call_value): Adjust for SHmedia and SHcompact.
2048 (sibcall, sibcall_value, untyped_call): Likewise.
2049 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
2050 (indirect_jump): Adjust for SHmedia.
2051 (casesi_jump_media): New.
2052 (nop): Re-enable for SHmedia.
2053 (call_site): Restrict to SH1.
2054 (casesi): Adjust for SHmedia.
2055 (casesi_shift_media, casesi_load_media): New.
2056 (return): Explicitly use PR register. Call return trampoline
2057 on SHcompact.
2058 (return_i): Explicitly use PR register.
2059 (shcompact_return_tramp, shcompact_return_tramp_i): New.
2060 (return_media): Adjust.
2061 (shcompact_incoming_args): New.
2062 (epilogue): Adjust.
2063 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
2064 (movstrsi): Disable on SH5.
2065 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
2066 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
2067 (subsf3, subsf3_media): Likewise.
2068 (mulsf3, mulsf3_media, mac_media): Likewise.
2069 (divsf3, divsf3_media): Likewise.
2070 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
2071 (floatsisf2, fux_truncsfsi2): Likewise.
2072 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
2073 constraints.
2074 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
2075 (cmpunsf_media, cmpsf): Likewise.
2076 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
2077 (abssf2, abssf2_media): Likewise.
2078 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
2079 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
2080 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
2081 (floatsidf2, fix_truncdfsi2): Likewise.
2082 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
2083 constraints.
2084 (cmpeqdf_media, cmpgtdf_media): Likewise.
2085 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
2086 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
2087 (absdf2, absdf2_media): Likewise.
2088 (extendsfdf2, extendsfdf2_media): Likewise.
2089 (truncsfdf2, truncsfdf2_media): Likewise.
2090 * config/sh/sh64.h: New file.
2091 * config/sh/t-sh64: New file.
2092 * config/sh/shmedia.h: New file.
2093 * config/sh/ushmedia.h: New file.
2094 * config/sh/sshmedia.h: New file.
2095 * configure.in: Added sh64-*-elf.
2096 * configure: Rebuilt.
2097 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
2098 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
2099 (reg_class_from_letter): Use `b' for TARGET_REGS.
2100 (print_operand): Support `%M', `%m', `AND' and
2101 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
2102 (andcosts): Adjust for SHmedia.
2103 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
2104 Likewise.
2105 (target_reg_operand): New function.
2106 * config/sh/sh-protos.h (target_reg_operand): Declare.
2107 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
2108 FP registers on SH5.
2109 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
2110 on SH4.
2111 (TARGET_REGISTER_P): New macro.
2112 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
2113 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
2114 (EXTRA_CONSTRAINT_S): New macro.
2115 (EXTRA_CONSTRAINT): Adjust.
2116 (FLOAT_TYPE_SIZE): Define to 32.
2117 (Pmode): DImode on SHmedia.
2118 (CONST_COSTS): Adjust for SHmedia literals.
2119 (PREDICATE_CODES): Added target_reg_operand.
2120 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
2121 * config/sh/sh.md: Remove all attrs from SHmedia insns.
2122 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
2123 (cmpdi): Accept SHmedia.
2124 (movdicc_false, movdicc_true): New insns.
2125 (movdicc): New expand.
2126 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
2127 no_new_pseudos.
2128 (addsi3_media): Match `S' constraint.
2129 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
2130 (negdi2): Expand for SHmedia.
2131 (one_cmpldi2): New expand.
2132 (zero_extendsidi2): Change from expand to insn.
2133 (extendsidi2): Add constraints.
2134 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
2135 LD/ST address. Fix SI immediate loading split.
2136 (movhi_media, movqi_media, lduw, ldub): New insns.
2137 (movhi, movqi): Accept SHmedia.
2138 (shori_media, movdi_media): Relax input constraints. Split
2139 symbolic constants.
2140 (movdf_media, movsf_media): New insn. New split to movdi.
2141 (movdf, movsf): Match on SHmedia.
2142 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
2143 bgeu_media): New insns and splits. New insns with `_i' suffix.
2144 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
2145 (bunordered): New expand.
2146 (jump_compact): Renamed from `jump'.
2147 (jump_media): New insn.
2148 (jump): New expand.
2149 (call_media, call_value_media): New insns.
2150 (call, call_value): Adjust.
2151 (indirect_jump_compact): Renamed from `indirect_jump'.
2152 (indirect_jump_media): New insn.
2153 (indirect_jump): New expand.
2154 (untyped_call, return): Accept SHmedia.
2155 (return_media): New insn.
2156 (prologue, epilogue, blockage): Accept SHmedia.
2157 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
2158 (sunordered): New expand.
2159 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
2160 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
2161 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
2162 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
2163 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
2164 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
2165 abssf2_media): New insns.
2166 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
2167 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
2168 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
2169 floatdidf2, floatsidf2_media, fix_truncdfdi2,
2170 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
2171 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
2172 absdf2_media): New insns.
2173 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
2174 (extendsfdf2_media, truncdfsf2_media): New insns.
2175 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
2176 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
2177 * config/sh/sh.h (CONST_OK_FOR_J): Document.
2178 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
2179 * config/sh/sh.md (adddi3): New expand.
2180 (adddi3_media, adddi3z_media): New insns.
2181 (adddi3_compact): Renamed from adddi3.
2182 (addsi3_media): Use add.l r63 to add constant zero.
2183 (subdi3): New expand.
2184 (subdi3_media): New insn.
2185 (subdi3_compact): Renamed from subdi3.
2186 (mulsidi3): New expand.
2187 (mulsidi3_media): New insn.
2188 (mulsidi3_compact): Renamed from mulsidi3.
2189 (umulsidi3): New expand.
2190 (umulsidi3_media): New insn.
2191 (umulsidi3_compact): Renamed from umulsidi3.
2192 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
2193 (ashlsi3, ashrsi3, lshrsi3): Use them.
2194 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
2195 (ashldi3, ashrdi3, lshrdi3): Use them.
2196 (zero_extendsidi2): New expand.
2197 (extendsidi2): New insn.
2198 (movsi_media): New insn. Split to movdi to load constants.
2199 (movsi): Enable for shmedia.
2200 (movdi_media): New insn. Use shori_media to load wide constants.
2201 (short_media): New insn.
2202 (movdi): Enable for shmedia.
2203 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
2204 * config/sh/sh.h (CPP_SPEC): Added `m5'.
2205 (SUBTARGET_CPP_SPEC): Added `!m5'.
2206 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
2207 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
2208 to all other SH variants.
2209 (TARGET_DEFAULT): Set to SH1_BIT.
2210 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
2211 (BITS_PER_WORD): Raise to 64 on shmedia.
2212 (MAX_BITS_PER_WORD): Change to 64.
2213 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
2214 (INT_TYPE_SIZE): Keep as 32.
2215 (UNITS_PER_WORD): Raise to 8 on shmedia.
2216 (MIN_UNITS_PER_WORD): Keep as 4.
2217 (POINTER_SIZE): Raise to 64 on shmedia.
2218 (CONST_OK_FOR_J): New macro.
2219 (CONST_OK_FOR_LETTER_P): Use it.
2220 (processor_type): Add PROCESSOR_SH5.
2221 * config/sh/sh.md: Conditionalize all expands, insns and
2222 splits to TARGET_SH1.
2223 (cpu): Added sh5.
2224 (addsi3_compact): Renamed from...
2225 (addsi3): Now an expand.
2226 (addsi3_media, subsi3_media): New insns.
2227 (subsi3): Don't negate constants with SHmedia.
2228
2229 * hooks.c: New file.
2230 * hooks.h: New file.
2231 * Makefile.in (HOOKS_H): New.
2232 (TARGET_DEF_H): Added $(HOOKS_H).
2233 (OBJS): Added hooks.o.
2234 (cfgcleanup.o, bb-reorder.o): Added target.h.
2235 (hooks.o): Added dependencies.
2236 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
2237 (TARGET_INITIALIZER): this.
2238 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
2239 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
2240 * bb-reorder.c: Include target.h.
2241 (reorder_basic_blocks): Skip if cannot modify jumps.
2242 * cfgcleanup.c: Include target.h.
2243 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
2244
2245 2002-02-08 Chris Demetriou <cgd@broadcom.com>
2246
2247 * config/mips/mips.md (casesi_internal, casesi_internal_di):
2248 Protect jump delay slot instructions with .set noreorder and
2249 .set nomacro.
2250
2251 2002-02-08 Chris Demetriou <cgd@broadcom.com>
2252
2253 * config/mips/mips.md (casesi_internal_di): Calculate
2254 the index into the target offset table correctly.
2255
2256 2002-02-08 Richard Henderson <rth@redhat.com>
2257
2258 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
2259 * final.c (output_addr_const): Accept and discard SUBREG.
2260 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
2261 mark them unknown instead.
2262 (simplify_subtraction): Handle RTX_UNKNOWN.
2263 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
2264
2265 2002-02-08 David Edelsohn <edelsohn@gnu.org>
2266
2267 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
2268
2269 2002-02-08 Richard Henderson <rth@redhat.com>
2270
2271 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
2272
2273 2002-02-08 Andreas Jaeger <aj@suse.de>
2274
2275 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
2276 * config/i386/t-linux64: New file.
2277
2278 2002-02-08 Jakub Jelinek <jakub@redhat.com>
2279
2280 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
2281 * c-parse.in (compstmt): Clear last_expr_type.
2282
2283 2002-02-07 Richard Henderson <rth@redhat.com>
2284
2285 * loop.c (strength_reduce): Sink final_value when not
2286 eliminating a biv.
2287
2288 2002-02-07 David O'Brien <obrien@FreeBSD.org>
2289
2290 * config/sparc/freebsd.h: Fix mismatched spec {.
2291
2292 2002-02-07 Richard Henderson <rth@redhat.com>
2293
2294 * cfgrtl.c: Include recog.h and insn-config.h.
2295 (keep_with_call_p): Fix general_operand invocation.
2296 * Makefile.in (cfgrtl.o): Update dependencies.
2297
2298 2002-02-07 Kazu Hirata <kazu@hxi.com>
2299
2300 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
2301 comment. Accept HImode only if TARGET_H8300.
2302
2303 2002-02-07 Eric Christopher <echristo@redhat.com>
2304
2305 * config/mips/crtn.asm: Cleanup #ifdefs.
2306
2307 2002-02-07 Eric Christopher <echristo@redhat.com>
2308
2309 * config/mips/crti.asm: Add changes for mips16. mips16 uses
2310 register 7 as RA instead of $31.
2311 * config/mips/crtn.asm: Ditto.
2312 * config/mips/mips.c (mips_move_2words): Add case for
2313 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
2314 (compute_frame_size): Fix typo.
2315 (save_restore_insns): Ditto. Make documentation about using
2316 register $7 as return register more precise.
2317 (mips_expand_epilogue): Fix comment. Add code to work around not
2318 being able to add to the stack pointer directly.
2319 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
2320 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
2321 epilogue.
2322
2323 2002-02-07 Tom Rix <trix@redhat.com>
2324
2325 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
2326 immediates in ldu and stdu DS opcode field.
2327 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
2328 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
2329 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
2330
2331 2002-02-07 Jeff Sturm <jsturm@one-point.com>
2332
2333 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
2334 offset for stack bias.
2335
2336 2002-02-07 H.J. Lu <hjl@gnu.org>
2337
2338 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
2339
2340 2002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
2341
2342 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
2343
2344 Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
2345
2346 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
2347 * i386.c (x86_order_regs_for_local_alloc): New global function.
2348 * i386.h (REG_ALLOC_ORDER): CLeanup.
2349 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
2350
2351 2002-02-07 Richard Henderson <rth@redhat.com>
2352
2353 PR optimization/2463
2354 * alias.c (find_base_value): Recall base values for fixed hard regs.
2355 * loop.c (loop_regs_update): Don't use single_set on non-insns.
2356
2357 2002-02-07 Alexandre Oliva <aoliva@redhat.com>
2358
2359 * config/mips/mips.md (define_delay) [mips16]: Adjust required
2360 length.
2361
2362 2002-02-06 Richard Henderson <rth@redhat.com>
2363
2364 PR c/5609
2365 * stmt.c (resolve_operand_name_1): Take more care with mixed
2366 named and unnamed operands.
2367
2368 2002-02-06 Janis Johnson <janis187@us.ibm.com>
2369 Jan Hubicka <jh@suse.cz>
2370
2371 * loop.c (remove_constant_addition): Avoid clobbering a shared
2372 CONST expression.
2373
2374 2002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
2375
2376 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
2377 * config/s390/t-linux64: New file.
2378 * config/s390/libgcc-glibc.ver: New file.
2379
2380 2002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
2381
2382 * config/s390/linux64.h: Delete file.
2383 * config/s390/s390x.h: New file.
2384 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
2385 as target header file.
2386 * config/s390/linux.h (TARGET_VERSION): Define depending on
2387 DEFAULT_TARGET_64BIT.
2388 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
2389 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
2390 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
2391 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
2392 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
2393 (EXTRA_SPEC): New define.
2394 * config/s390/s390.h (TARGET_VERSION): Define depending on
2395 DEFAULT_TARGET_64BIT.
2396 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
2397
2398 2002-02-06 Jason Merrill <jason@redhat.com>
2399
2400 * c-decl.c (finish_function): Warn about a non-void function with
2401 no return statement and no abnormal exit.
2402 (current_function_returns_abnormally): New variable.
2403 (start_function): Clear it.
2404 (struct c_language_function): Add returns_abnormally.
2405 (push_c_function_context): Save it.
2406 (pop_c_function_context): Restore it.
2407 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
2408 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
2409 an explicit return type.
2410 * c-tree.h: Declare current_function_returns_abnormally.
2411 (C_FUNCTION_IMPLICIT_INT): New macro.
2412 * c-typeck.c (build_function_call): Set it.
2413 (c_expand_return): Set current_function_returns_value even if the
2414 value is erroneous.
2415
2416 2002-02-06 Jakub Jelinek <jakub@redhat.com>
2417
2418 PR c/5420:
2419 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
2420 unsafe for reevaluation.
2421
2422 2002-02-06 Jakub Jelinek <jakub@redhat.com>
2423
2424 PR c/5482:
2425 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
2426 EXPR_STMT, but COMPOUND_STMT, recurse into it.
2427
2428 2002-02-06 Richard Henderson <rth@redhat.com>
2429
2430 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
2431 be a general_operand. Dest for function value must be a pseudo.
2432
2433 2002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
2434
2435 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
2436 as SYMBOL_REFs from the constant pool.
2437
2438 2002-02-06 Alexandre Oliva <aoliva@redhat.com>
2439
2440 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
2441 passed by invisible reference.
2442
2443 2002-02-05 Richard Henderson <rth@redhat.com>
2444
2445 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
2446
2447 2002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
2448
2449 Implement using "base addresses" in insn operands as default.
2450 * config/mmix/mmix.c (mmix_conditional_register_usage): if
2451 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
2452 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
2453 used to read the rtx value.
2454 (mmix_target_asm_function_epilogue): Fix spacing.
2455 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
2456 (mmix_legitimate_address): Ditto.
2457 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
2458 should be loaded with a GETA insn. Don't allocate needless extra
2459 char for nul termination and fix misleading comment.
2460 (mmix_print_operand_address): Handle constants if
2461 TARGET_BASE_ADDRESSES.
2462 (mmix_output_register_setting): Use base addressing if
2463 TARGET_BASE_ADDRESSES and the number of insns is 3.
2464 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
2465 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
2466 to use R as constraint, add LDA to match s.
2467 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
2468 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
2469 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
2470 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
2471 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
2472 order with other fixed registers.
2473 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
2474 other parameter/call-clobbered registers.
2475 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
2476 -mbase-addresses, -mno-base-addresses.
2477 (MMIX Options): Ditto.
2478
2479 2002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
2480
2481 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
2482
2483 2002-02-06 Aldy Hernandez <aldyh@redhat.com>
2484
2485 * config/rs6000/altivec.h: Change elem to _S_elem.
2486
2487 2002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
2488
2489 * config/netbsd.h (WCHAR_TYPE): Define.
2490 (WCHAR_TYPE_SIZE): Ditto.
2491 (WINT_TYPE): Ditto.
2492 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
2493 (WCHAR_UNSIGNED): Ditto.
2494 (WCHAR_TYPE_SIZE): Ditto.
2495 (WINT_TYPE): Ditto.
2496 * config/arm/netbsd.h: Likewise.
2497 * config/i386/netbsd-elf.h: Likewise.
2498 * config/i386/netbsd.h: Likewise.
2499 * config/m68k/netbsd-elf.h: Likewise.
2500 * config/m68k/netbsd.h: Likewise.
2501 * config/ns32k/netbsd.h: Likewise.
2502 * config/sparc/netbsd.h: Likewise.
2503 * config/vax/netbsd.: Likewise.
2504
2505 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
2506
2507 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
2508 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
2509 (TARGET_INITIALIZER): this.
2510 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
2511 (BITFIELD_NBYTES_LIMITED): Markup fix.
2512 * tree.h (default_ms_bitfield_layout_p): Declare.
2513 (record_layout_info): Added prev_field.
2514 * tree.c (default_ms_bitfield_layout_p): New fn.
2515 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
2516 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
2517 * stor-layout.c: Include target.h.
2518 (start_record_layout): Initialize prev_field.
2519 (place_field): Handle MS bit-field layout, and disregard
2520 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
2521 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
2522 * Makefile.in (stor-layout.o): Adjust dependencies.
2523
2524 2002-02-05 Jason Merrill <jason@redhat.com>
2525
2526 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
2527
2528 2002-02-05 Andreas Jaeger <aj@suse.de>
2529
2530 * crtstuff.c: Fix comments.
2531
2532 2002-02-05 Richard Henderson <rth@redhat.com>
2533
2534 PR fortran/3393
2535 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
2536 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
2537
2538 PR fortran/3392
2539 * config/mips/mips.c (function_arg): Handle TImode.
2540 (function_arg_advance): Likewise.
2541
2542 2002-02-05 Aldy Hernandez <aldyh@redhat.com>
2543
2544 * config/rs6000/altivec.h (vec_step_help): Rename to
2545 __vec_step_help.
2546
2547 2002-02-05 Aldy Hernandez <aldyh@redhat.com>
2548
2549 * config/rs6000/altivec.h: Fix typos.
2550
2551 2002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
2552
2553 * config/arm/netbsd.h: Correct a comment.
2554
2555 2002-02-05 Aldy Hernandez <aldyh@redhat.com>
2556
2557 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
2558 building void typed builtins.
2559
2560 * config/rs6000/altivec.h (vec_ld*): Fix typos.
2561 (vec_step): Implement for C++.
2562
2563 Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2564
2565 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
2566
2567 2002-02-04 Richard Henderson <rth@redhat.com>
2568
2569 * combine.c (nonzero_bits): Re-introduce special case for
2570 sp/fp/ap wrt REGNO_POINTER_ALIGN.
2571
2572 2002-02-05 Aldy Hernandez <aldyh@redhat.com>
2573
2574 * doc/extend.texi: Warn about unsupported usage of altivec
2575 builtins.
2576
2577 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
2578 (altivec_predicate_*): New.
2579
2580 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
2581 Add C++ version of vec_*() functions.
2582
2583 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
2584 (bdesc_2arg): Remove altivec predicates.
2585 (altivec_expand_builtin): Handle predicates.
2586 (altivec_init_builtins): Handle predicates.
2587 (altivec_expand_predicate_builtin): New.
2588
2589 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
2590
2591 * pa.c (DO_FRAME_NOTES): Move forward.
2592 (store_reg): Revise handling of frame notes.
2593 (load_reg): Likewise.
2594 (set_reg_plus_d): Likewise.
2595 (hppa_expand_prologue): Likewise.
2596 (hppa_expand_epilogue): Likewise.
2597
2598 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
2599
2600 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
2601
2602 2002-02-04 Jakub Jelinek <jakub@redhat.com>
2603
2604 PR c/4475, c++/3780:
2605 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
2606 * c-common.h (SWITCH_TYPE): Define.
2607 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
2608 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
2609 Rename spareness variable to sparseness.
2610 (expand_end_case_type): Renamed from expand_end_case, use orig_type
2611 if non-NULL instead of TREE_TYPE (orig_index).
2612 * tree.h (expand_end_case_type): Renamed from expand_end_case.
2613 (expand_end_case): Define using expand_end_case_type.
2614 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
2615 to expand_end_case_type.
2616 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
2617
2618 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
2619
2620 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
2621 (BIGGEST_ALIGNMENT): Change to 128.
2622
2623 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
2624
2625 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
2626
2627 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
2628
2629 * pa.md (call_internal_reg_64bit): Remove unused variable.
2630
2631 2002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
2632
2633 * config/arm/arm.h (machine_function): Add uses_anonymous_args
2634 field.
2635 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
2636 * config/arm/arm.c (current_function_anonymous_args): Delete,
2637 replace uses with cfun->machine->uses_anonymous_args.
2638 (arm_reorg): Do not reset uses_anonymous_args.
2639
2640 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
2641 any geenral register.
2642
2643 2001-02-04 Bernd Schmidt <bernds@redhat.com>
2644
2645 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
2646 the entry block.
2647
2648 2002-02-04 Richard Henderson <rth@redhat.com>
2649
2650 * combine.c (force_to_mode): Remove STACK_BIAS code.
2651 (nonzero_bits): Likewise. Replace sp/fp special case with
2652 REGNO_POINTER_ALIGN.
2653
2654 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
2655 (HARD_FRAME_POINTER_REGNUM): New.
2656 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
2657 (FIXED_REGS, CALL_USED_REGS): Update.
2658 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
2659 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
2660 (HARD_REGNO_NREGS): Update for SFP.
2661 (STACK_POINTER_OFFSET): Include bias here ...
2662 (FIRST_PARM_OFFSET): ... not here.
2663 (STACK_BIAS): Remove.
2664 (INIT_EXPANDERS): New.
2665 (STARTING_FRAME_OFFSET): Do not include bias.
2666 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
2667 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
2668 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
2669 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
2670 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
2671 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
2672 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
2673 (MUST_SAVE_REGISTER): Likewise.
2674 (sparc_flat_function_prologue): Likewise.
2675 (sparc_flat_function_epilogue): Likewise.
2676 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
2677 (sparc_init_modes): SFP is GENERAL_REGS.
2678 (sparc_builtin_saveregs): SFP does not have bias applied.
2679
2680 2002-02-04 Richard Henderson <rth@redhat.com>
2681
2682 * config/alpha/alpha.c (current_function_is_thunk): Don't check
2683 current_function_is_thunk.
2684 (alpha_sa_mask): Distinguish between current_function_is_thunk
2685 called from ASM_OUTPUT_MI_THUNK and not.
2686 (alpha_does_function_need_gp): Thunks always need gp.
2687 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
2688 (alpha_output_mi_thunk_osf): New.
2689 * config/alpha/alpha-protos.h: Update.
2690 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
2691
2692 2002-02-04 Richard Sandiford <rsandifo@redhat.com>
2693
2694 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
2695 function types, not when they're taken away.
2696
2697 Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
2698
2699 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
2700 CODE_LABEL and jump table when replacing a table jump with a
2701 simple jump.
2702
2703 2002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
2704
2705 * config/s390/s390-protos.h (legitimize_la_operand,
2706 s390_secondary_input_reload_class, s390_plus_operand,
2707 s390_expand_plus_operand): Add prototypes.
2708
2709 config/s390/s390.c (s390_secondary_input_reload_class,
2710 s390_plus_operand, s390_expand_plus_operand): New functions.
2711
2712 (struct s390_address): New member 'pointer'.
2713 (s390_decompose_address): Compute it.
2714 (legitimate_la_operand_p): Use it.
2715 (legitimize_la_operand): New function.
2716 (movti, movdi, movdf splitters): Call it.
2717
2718 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
2719 (PREDICATE_CODES): Add s390_plus_operand.
2720
2721 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
2722 (la_ccclobber): Allow GENERAL_REGS as output operand.
2723
2724 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
2725 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
2726 (*la_64, *la_31, reload_indi, reload_insi): ... these.
2727
2728 2002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
2729
2730 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
2731 register names for regular asm () construct.
2732
2733 2002-02-04 Jakub Jelinek <jakub@redhat.com>
2734
2735 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
2736 registers.
2737
2738 2002-02-04 Jakub Jelinek <jakub@redhat.com>
2739
2740 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
2741 pat for recog.
2742
2743 2002-02-04 Hartmut Penner <hpenner@de.ibm.com>
2744
2745 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
2746 constant pool to be identical by string address and index.
2747
2748 2002-02-04 Anthony Green <green@redhat.com>
2749
2750 * output.h (SECTION_OVERRIDE): Define.
2751 * varasm.c (named_section): Obey SECTION_OVERRIDE.
2752
2753 2002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
2754
2755 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
2756 by existing arm*-*-netbsd* (a.out) target.
2757 (ns32k-*-netbsdelf*): Likewise.
2758 (sparc-*-netbsdelf*): Likewise.
2759 (vax-*-netbsdelf*): Likewise.
2760
2761 2002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
2762
2763 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
2764 headers and libobjc headers.
2765
2766 2002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
2767
2768 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
2769 (_mingw.h): Remove duplicate include.
2770
2771 2002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
2772
2773 * config.gcc: Set cpu_type to m68k for 68010, as well.
2774 (m68010-*-netbsdelf*): New...
2775 (m68k*-*-netbsdelf*): ...targets.
2776 * config/m68k/netbsd-elf.h: New file.
2777
2778 2002-02-02 Kazu Hirata <kazu@hxi.com>
2779
2780 * config/h8300/h8300.c (hand_list): Move inside function_arg.
2781
2782 2002-02-02 Kazu Hirata <kazu@hxi.com>
2783
2784 * config/h8300/h8300.c (h8_push_ops): Move inside
2785 h8300_init_once.
2786 (h8_pop_ops): Likewise.
2787 (h8_move_ops): Likewise.
2788
2789 2002-02-02 Kazu Hirata <kazu@hxi.com>
2790
2791 * config/h8300/h8300.c (os_task): Make it static.
2792 (monitor): Likewise.
2793 (pragma_saveall): Likewise.
2794
2795 2002-02-02 Alexandre Oliva <aoliva@redhat.com>
2796
2797 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
2798 constant is a valid sign-extension for Pmode.
2799
2800 2002-02-02 Kazu Hirata <kazu@hxi.com>
2801
2802 * config/h8300/h8300.c: Fix formatting.
2803
2804 2002-02-02 Kazu Hirata <kazu@hxi.com>
2805
2806 * config/h8300/h8300.md: Fix formatting.
2807
2808 2002-02-02 Kazu Hirata <kazu@hxi.com>
2809
2810 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
2811 predicates of operands[1]. Split the patterns for each
2812 processor variant.
2813
2814 2002-02-02 Kazu Hirata <kazu@hxi.com>
2815
2816 * config/h8300/h8300.md (xor patterns): Tighten the predicates
2817 of operands[1] to register_operand.
2818
2819 2002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
2820
2821 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
2822 * cpphash.c (_cpp_init_hashtable): Similarly.
2823 * cppinit.c (cpp_create_reader): Default the signed_char flag.
2824 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
2825 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
2826 (cpp_handle_option): Handle the new options.
2827 * cpplex.c (cpp_interpret_charconst): Use new flag.
2828 * cpplib.h (struct cpp_options): New member signed_char.
2829 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
2830 (cpp_options): Handle -fsigned-char and -funsigned-char.
2831 (static_specs): Remove signed_char_spec.
2832 (do_spec1): Don't handle %c.
2833 * system.h: Poison SIGNED_CHAR_SPEC.
2834 * tradcif.y (yylex): Use flag_signed_char.
2835 * tradcpp.h (flag_signed_char): New.
2836 * tradcpp.c (flag_signed_char): New.
2837 (main): Handle new command-line options.
2838 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
2839 config:
2840 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
2841 * avr/avr.h: Remove old comments.
2842 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
2843 (CC1_SPEC): Pass -fsigned-char if -mic*.
2844 (SIGNED_CHAR_SPEC): Remove.
2845 doc:
2846 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
2847
2848 2002-02-01 Eric Christopher <echristo@redhat.com>
2849
2850 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
2851 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
2852 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
2853 (ASM_OUTPUT_REG_POP): Ditto.
2854
2855 2002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
2856
2857 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
2858 patch.
2859
2860 2002-02-02 Jakub Jelinek <jakub@redhat.com>
2861
2862 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
2863
2864 2002-02-02 Jakub Jelinek <jakub@redhat.com>
2865
2866 PR c/5304:
2867 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
2868 unconditionally.
2869
2870 2002-02-01 Janis Johnson <janis187@us.ibm.com>
2871
2872 * cfganal.c: Include tm_p.h.
2873 (keep_with_call_p): Fix the test that determines if a register holds
2874 the return value of a call.
2875
2876 2002-02-01 DJ Delorie <dj@redhat.com>
2877
2878 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
2879 we are given conflicting registers, switch to the other one we
2880 had allocated for us.
2881 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
2882 as TImode so we know when the "other" register is available.
2883
2884 2002-02-01 David O'Brien <obrien@FreeBSD.org>
2885
2886 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
2887 sparc/sparc_bi.h.
2888
2889 2002-02-01 Janis Johnson <janis187@us.ibm.com>
2890
2891 * cfganal.c (keep_with_call_p): New function.
2892 (flow_call_edges_add): Prevent splitting a block between a call and
2893 a single-set instruction that should be kept in the same block.
2894
2895 2002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
2896
2897 * doc/install.texi (avr): Update outdated URL.
2898
2899 2002-01-30 Andrew Haley <aph@cambridge.redhat.com>
2900
2901 * config/stormy16/stormy16.md (pushqi): New.
2902 (popqi): New.
2903 (pushhi): New.
2904 (pophi): New.
2905 (movhi): Remove stack operands.
2906 (movqi): Likewise.
2907 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
2908 nonimmediate_nonstack_operand.
2909 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
2910 New.
2911 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
2912 New.
2913
2914 2002-01-31 Jason Merrill <jason@redhat.com>
2915
2916 * Makefile.in (c-parse.c): Handle .output file.
2917 * objc/Make-lang.in (objc-parse.c): Likewise.
2918
2919 2002-02-01 Alexandre Oliva <aoliva@redhat.com>
2920
2921 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
2922 the -me[lb] option is given. Don't output the default flag
2923 twice.
2924
2925 2002-01-31 Zack Weinberg <zack@codesourcery.com>
2926
2927 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
2928 the primary source file; this has not been done yet.
2929 * c-decl.c (c_expand_body): Reset input_filename from
2930 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
2931
2932 2002-01-31 Kazu Hirata <kazu@hxi.com>
2933
2934 * rtlanal.c (subreg_regno_offset): Do not use
2935 SUBREG_REGNO_OFFSET.
2936 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
2937 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
2938
2939 2002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
2940
2941 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
2942 version rather than GNATS version in --version output.
2943
2944 2002-01-31 Richard Sandiford <rsandifo@redhat.com>
2945
2946 * ifcvt.c (noce_process_if_block): Make a copy of the destination
2947 when copying back from a temporary.
2948
2949 2002-01-30 Richard Henderson <rth@redhat.com>
2950
2951 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
2952 and new_dest are the same.
2953
2954 2002-01-30 Richard Henderson <rth@redhat.com>
2955
2956 PR opt/5076
2957 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
2958 * rtl.c (note_insn_name): Update.
2959 * emit-rtl.c (remove_unnecessary_notes): Kill it.
2960 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
2961 to perform loop rotation.
2962 (expand_exit_loop_top_cond): New.
2963 * tree.h (expand_exit_loop_top_cond): Declare it.
2964 * c-semantics.c (genrtl_while_stmt): Use it.
2965 (genrtl_for_stmt): Likewise.
2966
2967 2002-01-30 Alexandre Oliva <aoliva@redhat.com>
2968
2969 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
2970 arguments to 64-bit boundaries on 64-bit ABIs.
2971
2972 2002-01-30 Steve Ellcey <sje@cup.hp.com>
2973
2974 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
2975
2976 2002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
2977
2978 * c-decl.c (grokdeclarator): Handle type being a typedef for an
2979 invalid type.
2980
2981 2002-01-30 David O'Brien <obrien@FreeBSD.org>
2982
2983 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
2984 * config/sparc/sparc_bi.h: Remove file.
2985 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
2986
2987 2002-01-30 Richard Henderson <rth@redhat.com>
2988
2989 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
2990
2991 2002-01-30 Zack Weinberg <zack@codesourcery.com>
2992
2993 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
2994
2995 2002-01-30 Jason Merrill <jason@redhat.com>
2996
2997 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
2998 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
2999 (reg_save): Use DW_CFA_offset_extended_sf instead.
3000
3001 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
3002
3003 2002-01-29 Jakub Jelinek <jakub@redhat.com>
3004
3005 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
3006 in cselib_lookup.
3007
3008 2002-01-29 Aldy Hernandez <aldyh@redhat.com>
3009
3010 * rs6000.md ("*call_value_local32"): Remove constraints.
3011 ("*call_value_local64"): Same.
3012 ("*call_value_indirect_nonlocal_aix32"): Same.
3013 ("*call_value_nonlocal_aix32"): Same.
3014 ("*call_value_indirect_nonlocal_aix64"): Same.
3015 ("*call_value_nonlocal_aix64"): Same.
3016 ("*call_value_nonlocal_sysv"): Same.
3017
3018 2002-01-29 Richard Henderson <rth@redhat.com>
3019
3020 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
3021
3022 2002-01-29 Richard Henderson <rth@redhat.com>
3023
3024 * expr.c (force_operand): Ignore flag_pic for detecting pic
3025 address loads.
3026 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
3027 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
3028 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
3029 instead of open-coded loop.
3030 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
3031 be fixed when in use.
3032
3033 2002-01-29 Richard Henderson <rth@redhat.com>
3034
3035 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
3036 * sched-rgn.c (propagate_deps): Update them.
3037 * sched-deps.c (sched_analyze_insn): Update them. Flush the
3038 clobbers list when either gets too long.
3039
3040 2002-01-29 Jakub Jelinek <jakub@redhat.com>
3041
3042 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
3043 and INDEX_REGS the same as GENERAL_REGS.
3044 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
3045
3046 2002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
3047
3048 * tree.c (build_nonstandard_integer_type): Correct prototype.
3049
3050 2002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
3051
3052 * config/s390/s390.md (movstrsico, movstrdix_64,
3053 movstrsix_31): Remove, replace by ...
3054 (movstrdi_short, movstrsi_short, movstrdi_long,
3055 movstrsi_long): ... these. New.
3056 (movstrdi, movstrsi): Adapt.
3057
3058 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
3059 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
3060 Remove unnecessary CC clobber.
3061 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
3062 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
3063
3064 (divmoddi4): Don't partially initialize TImode register.
3065
3066 2002-01-29 Geoffrey Keating <geoffk@redhat.com>
3067
3068 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
3069
3070 2002-01-29 Richard Henderson <rth@redhat.com>
3071
3072 * flow.c (print_rtl_and_abort): Remove.
3073 (print_rtl_and_abort_fcn): Remove.
3074 (verify_local_live_at_start): Use dump_bb instead.
3075 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
3076 (verify_wide_reg_1): Return 2 on mode test failure.
3077
3078 2002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
3079
3080 PR c/3325, c/3326, c/2511, c/3347
3081 * c-decl.c (enum_decl_context): Remove BITFIELD.
3082 (grokdeclarator): Take bitfield width as an input.
3083 Ensure bitfields are given the correct type. Perform
3084 bitfield width validation with build_bitfield_integer_type
3085 rather than waiting for finish_struct.
3086 (grok_typename, grok_typename_in_parm_context, start_decl,
3087 push_parmdecl, grokfield, start_function): Update calls to
3088 grokdeclarator.
3089 (build_bitfield_integer_type): New function.
3090 (finish_struct): Move bitfield validation to grokdeclarator
3091 and build_bitfield_integer_type.
3092 * tree.c (build_nonstandard_integer_type): New function.
3093 * tree.h (build_nonstandard_integer_type): New prototype.
3094 objc:
3095 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
3096
3097 2002-01-29 Jakub Jelinek <jakub@redhat.com>
3098
3099 PR other/1502:
3100 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
3101 don't ignore unrecognized -W* options.
3102 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
3103 * cpplib.h (cpp_handle_option): Adjust prototype.
3104 * c-decl.c (c_decode_options): Pass 0 as last argument to
3105 cpp_handle_option.
3106
3107 PR c/2896:
3108 * gcc.c (cpp_unique_options): Split from cpp_options.
3109 (cpp_options): Source cpp_unique_options.
3110 (default_compilers): Use cpp_unique_options instead of cpp_options
3111 when used together with cc1_options.
3112 (static_specs): Add cpp_unique_options.
3113 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
3114 when used together with cc1_options.
3115
3116 2002-01-29 Kazu Hirata <kazu@hxi.com>
3117
3118 * config/h8300/h8300-protos.h: Update the prototype of
3119 output_a_shift.
3120 * config/h8300/h8300.c (output_a_shift): Remove an unused
3121 argument 'insn'. Remove redundant code.
3122 * config/h8300/h8300.md: Adust to the new prototype of
3123 output_a_shift.
3124
3125 2002-01-29 Kazu Hirata <kazu@hxi.com>
3126
3127 * config/h8300/h8300-protos.h: Update the prototypes of
3128 emit_a_rotate and expand_a_rotate.
3129 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
3130 first argument to 'enum rtx_code'.
3131 (expand_a_rotate): Likewise.
3132
3133 2002-01-28 Kazu Hirata <kazu@hxi.com>
3134
3135 * config/h8300/h8300-protos.h: Update the prototype of
3136 output_simode_bld.
3137 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
3138 'log2'.
3139 * config/h8300/h8300.md: Adjust to the new prototype.
3140
3141 2002-01-28 Kazu Hirata <kazu@hxi.com>
3142
3143 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
3144 redundant code.
3145
3146 2002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
3147
3148 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
3149 is a fixed register before returning pic_offset_table_rtx.
3150 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
3151 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
3152
3153 2002-01-28 Jason Merrill <jason@redhat.com>
3154
3155 * dwarf2.h: Sync with src version.
3156
3157 2002-01-28 Paul Koning <pkoning@equallogic.com>
3158
3159 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
3160 BT_FN_VOID_PTR_VAR.
3161 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
3162 * doc/extend.texi (__builtin_prefetch): Update documentation:
3163 first argument is now const void ptr.
3164
3165 2002-01-28 Kazu Hirata <kazu@hxi.com>
3166
3167 * config/h8300/h8300-protos.h: Remove an unused prototype.
3168
3169 2002-01-28 Roman Zippel <zippel@linux-m68k.org>
3170
3171 * toplev.c (lang_independent_init): Round up identifier size.
3172
3173 2002-01-28 Richard Earnshaw <rearnsha@arm.com>
3174
3175 * config.gcc: Revert previous change.
3176
3177 2002-01-28 Andris Pavenis <pavenis@latnet.lv>
3178
3179 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
3180
3181 2002-01-28 Richard Earnshaw <rearnsha@arm.com>
3182
3183 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
3184 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
3185 other non-elf netbsd config frags.
3186 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
3187 collect2 will does that.
3188 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
3189 shared-lib frobbing will work.
3190
3191 2002-01-28 Kazu Hirata <kazu@hxi.com>
3192
3193 * config/h8300/h8300.h: Fix formatting.
3194 * config/h8300/h8300.md: Likewise.
3195
3196 2002-01-28 Loren J. Rittle <ljrittle@acm.org>
3197
3198 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
3199 the old, removed AAA_standards fix.
3200 * fixinc/fixincl.x: Rebuilt.
3201
3202 2002-01-28 Hans-Peter Nilsson <hp@axis.com>
3203
3204 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
3205 atexit call in crtbegin, hooked in after call to frame_dummy;
3206 register EH before registering __fini__start.
3207
3208 2002-01-28 Aldy Hernandez <aldyh@redhat.com>
3209
3210 * config/rs6000/altivec.h: Remove spurious semicolons.
3211
3212 2002-01-27 Kazu Hirata <kazu@hxi.com>
3213
3214 * config/h8300/h8300.md: Replace dead bit extraction patterns
3215 with ones that work.
3216
3217 Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3218
3219 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
3220 if not STRICT_ALIGNMENT.
3221 * rtl.h (MEM_ALIGN): Likewise.
3222
3223 2002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
3224
3225 * doc/invoke.texi (-fdump-translation-unit): Revert this
3226 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
3227
3228 2002-01-27 Kazu Hirata <kazu@hxi.com>
3229
3230 * config/h8300/h8300.md (define_constants): New.
3231 (anonymous patterns) Use defined constants appropriately.
3232
3233 2002-01-27 Kazu Hirata <kazu@hxi.com>
3234
3235 * config/h8300/h8300.c (function_arg): Remove redundant code.
3236
3237 2002-01-26 Richard Henderson <rth@redhat.com>
3238
3239 * sched-deps.c (reg_pending_uses_head): New.
3240 (reg_pending_barrier): Rename from reg_pending_sets_all.
3241 (find_insn_list): Don't mark inline.
3242 (find_insn_mem_list): Remove.
3243 (add_dependence_list, add_dependence_list_and_free): New.
3244 (flush_pending_lists): Replace only_write param with separate
3245 for_read and for_write parameters. Update all callers. Use
3246 add_dependence_list_and_free.
3247 (sched_analyze_1): Do not add reg dependencies here; just set
3248 the pending bits. Use add_dependence_list.
3249 (sched_analyze_2): Likewise.
3250 (sched_analyze_insn): Replace schedule_barrier_found with
3251 reg_pending_barrier. Add all dependencies for pending reg
3252 uses, sets, and clobbers.
3253 (sched_analyze): Don't add reg dependencies for calls, just
3254 set pending bits. Use regs_invalidated_by_call. Treat
3255 sched_before_next_call as a normal list, not a fake insn.
3256 (init_deps): No funny init for sched_before_next_call.
3257 (free_deps): Free pending mems lists. Don't zero reg_last.
3258 (init_deps_global): Init reg_pending_uses.
3259 (finish_deps_global): Free it.
3260 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
3261 (find_insn_mem_list): Remove.
3262 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
3263 (propagate_deps): Use them. Zero temp mem lists.
3264
3265 2002-01-26 Richard Henderson <rth@redhat.com>
3266
3267 * Makefile.in (CRTSTUFF_CFLAGS): New.
3268 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
3269 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
3270 crtstuff.c instead of alpha assembly version.
3271 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
3272 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
3273 not FORCE_{INIT,FINI}_SECTION_ALIGN.
3274 (__do_global_dtors_aux): Mark used.
3275 (frame_dummy, __do_global_ctors_aux): Mark used.
3276 (fini_dummy, init_dummy): Remove.
3277
3278 * config/alpha/crtbegin.asm: Remove file.
3279 * config/alpha/crtend.asm: Remove file.
3280 * config/alpha/t-crtbe: Remove file.
3281 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
3282 (LINK_EH_SPEC): New.
3283
3284 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
3285 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
3286 calling constructors.
3287 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
3288
3289 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
3290 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
3291 CRT_END_INIT_DUMMY hack.
3292 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
3293 FORCE_{INIT,FINI}_SECTION_ALIGN.
3294
3295 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
3296 FORCE_{INIT,FINI}_SECTION_ALIGN.
3297
3298 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
3299 invocation sequence.
3300 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
3301
3302 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
3303 (FORCE_CODE_SECTION_ALIGN): New.
3304
3305 2002-01-26 Richard Henderson <rth@redhat.com>
3306
3307 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
3308
3309 2002-01-26 Richard Henderson <rth@redhat.com>
3310
3311 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
3312 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
3313
3314 2002-01-26 Kazu Hirata <kazu@hxi.com>
3315
3316 * config/h8300/h8300.md: Remove bit extraction patterns that
3317 cannot be triggered.
3318 Restrict each bit extraction pattern to a variant on which the
3319 pattern is tested.
3320
3321 2002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
3322
3323 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
3324
3325 2002-01-26 Kazu Hirata <kazu@hxi.com>
3326
3327 * config/h8300/h8300.md: Remove bit test patterns that cannot
3328 be triggered.
3329 Restrict each bit test pattern to a variant on which the
3330 pattern is tested.
3331
3332 2002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3333
3334 * builtins.c (expand_builtin_strncat): Remove redundant check for
3335 INTEGER_CST.
3336
3337 2002-01-25 David O'Brien <obrien@FreeBSD.org>
3338
3339 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
3340 default setting.
3341 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
3342 existing setting.
3343
3344 2002-01-25 Geoffrey Keating <geoffk@redhat.com>
3345
3346 * dbxout.c (dbxout_init): Use assemble_name rather than just
3347 stripping off the first character.
3348 (dbxout_source_file): Likewise.
3349
3350 2002-01-25 DJ Delorie <dj@redhat.com>
3351
3352 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
3353 using rtx_equal_p, not by comparing pointers.
3354
3355 2002-01-25 Steve Ellcey <sje@cup.hp.com>
3356
3357 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
3358 for PIC_OFFSET_TABLE_REGNUM.
3359 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
3360
3361 2002-01-25 David O'Brien <obrien@FreeBSD.org>
3362
3363 * config.gcc (x86_64-*-freebsd*): New target.
3364 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
3365 value.
3366 (i[34567]86-*-freebsd*): Don't include svr4.h.
3367 * config/i386/freebsd64.h: New file.
3368
3369 2002-01-25 Douglas B Rupp <rupp@gnat.com>
3370
3371 * config/alpha/x-vms (version): Make static.
3372
3373 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
3374 in previous checkin.
3375
3376 * Makefile.in (install-headers-cp): New target.
3377 * config.gcc (alpha-dec-*vms*): Install headers with
3378 install-headers-cp
3379
3380 Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
3381
3382 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
3383 avoid it's copies.
3384
3385 Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3386
3387 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
3388 of compare_tree_int.
3389 (expand_builtin_strncat): Likewise.
3390 * c-decl.c (finish_struct): Use tree_low_cst.
3391 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
3392 * tree.c (compare_tree_int): Likewise.
3393
3394 2002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
3395
3396 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
3397 adjustments even if they are implemented by more than two insns.
3398
3399 Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
3400
3401 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
3402 * df.h (struct ref): Kill B.
3403 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
3404
3405 * basic-block.h (PROP_EQUAL_NOTES): New flag.
3406 * flow.c (propagate_one_insn): Use it.
3407 (mark_used_regs): Handle NIL.
3408
3409 2002-01-25 Geoffrey Keating <geoffk@redhat.com>
3410
3411 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
3412 to help folding.
3413
3414 2002-01-25 David Edelsohn <edelsohn@gnu.org>
3415
3416 * rs6000.md (prefetch): Make address V4SI mode so that the address
3417 is restricted to legitimate form for instruction.
3418
3419 2002-01-25 Bob Wilson <bob.wilson@acm.org>
3420
3421 * doc/install.texi (xtensa-*-elf): New target.
3422 (xtensa-*-linux*): New target.
3423 * doc/contrib.texi: Add myself.
3424
3425 2002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
3426
3427 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
3428 purpose register to hold an SImode (or smaller) value.
3429
3430 2002-01-25 Jakub Jelinek <jakub@redhat.com>
3431
3432 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
3433 registry only.
3434 * crtstuff.c: Likewise.
3435
3436 2002-01-25 Kazu Hirata <kazu@hxi.com>
3437
3438 * config/h8300/h8300.md (negation patterns): Tighten
3439 predicates to register_operand.
3440
3441 2002-01-24 Aldy Hernandez <aldyh@redhat.com>
3442
3443 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
3444 mode, not Pmode.
3445
3446 * builtins.c (expand_builtin_prefetch): Same.
3447
3448 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
3449
3450 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
3451 modes.
3452
3453 2002-01-24 Kazu Hirata <kazu@hxi.com>
3454
3455 * config/h8300/h8300.c (print_operand): Remove support for
3456 operand character 'A'.
3457 * config/h8300/h8300.md (three anonymous patterns): Replace
3458 operand character 'A' with either 'T' or 'S'.
3459
3460 2002-01-24 Kazu Hirata <kazu@hxi.com>
3461
3462 * config/h8300/h8300.c (print_operand): Remove support for
3463 operand character 'U'.
3464
3465 2002-01-24 Andris Pavenis <pavenis@latnet.lv>
3466
3467 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
3468
3469 2002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
3470
3471 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
3472 values to be assigned to the stack pointer.
3473
3474 2002-01-14 Hartmut Penner <hpenner@de.ibm.com>
3475
3476 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
3477 to const_double needs to be done right for big-endian systems.
3478
3479 2002-01-24 Jason Merrill <jason@redhat.com>
3480
3481 PR c++/2432
3482 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
3483 to can_throw_internal.
3484
3485 2002-01-23 Richard Henderson <rth@redhat.com>
3486
3487 * fold-const.c (fold): Change UINT_MAX test to check vs precision
3488 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
3489
3490 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
3491
3492 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
3493 (symGOT2reg): Use them, then set as GOT value as unchanging.
3494 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
3495 as a temporary, if possible.
3496 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
3497 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
3498
3499 2002-01-23 Kazu Hirata <kazu@hxi.com>
3500
3501 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
3502 accept to accept 0x80 as operands[2].
3503
3504 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
3505
3506 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
3507
3508 2002-01-23 Richard Henderson <rth@redhat.com>
3509
3510 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
3511
3512 2002-01-23 Aldy Hernandez <aldyh@redhat.com>
3513
3514 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
3515 (parmlist_or_identifiers_1): Verify that only a parmlist follows
3516 an attribute.
3517
3518 2002-01-23 Richard Henderson <rth@redhat.com>
3519
3520 * expr.c (move_by_pieces_1): Extend size before negation.
3521
3522 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
3523 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
3524 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
3525 * config/m68k/t-m68kelf: Likewise.
3526
3527 2002-01-23 Bob Wilson <bob.wilson@acm.org>
3528
3529 * config/xtensa/elf.h: New file.
3530 * config/xtensa/lib1funcs.asm: New file.
3531 * config/xtensa/lib2funcs.S: New file.
3532 * config/xtensa/linux.h: New file.
3533 * config/xtensa/t-xtensa: New file.
3534 * config/xtensa/xtensa-config.h: New file.
3535 * config/xtensa/xtensa-protos.h: New file.
3536 * config/xtensa/xtensa.c: New file.
3537 * config/xtensa/xtensa.h: New file.
3538 * config/xtensa/xtensa.md: New file.
3539 * config.gcc (xtensa-*-elf*): New target.
3540 (xtensa-*-linux*): New target.
3541 * cse.c (canon_hash): Compare rtx pointers instead of register
3542 numbers. This is required for the Xtensa port.
3543 * integrate.c (copy_insn_list): Handle case where the static
3544 chain is in memory and the memory address has to be copied to
3545 a register.
3546 * doc/invoke.texi (Option Summary): Add Xtensa options.
3547 (Xtensa Options): New node.
3548 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
3549
3550 2002-01-23 Zack Weinberg <zack@codesourcery.com>
3551
3552 * diagnostic.c (internal_error): Do ICE suppression only
3553 when ENABLE_CHECKING is not defined.
3554
3555 * c-typeck.c (require_complete_type): Return error_mark_node
3556 if type is error_mark_node.
3557
3558 2002-01-23 Janis Johnson <janis187@us.ibm.com>
3559
3560 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
3561 -Os and issue a warning.
3562
3563 2002-01-23 Zack Weinberg <zack@codesourcery.com>
3564
3565 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
3566 current (lack of) need for host configuration by hand.
3567
3568 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
3569 references. Documentation of some target macros moved from
3570 hostconfig.texi to tm.texi.
3571
3572 2002-01-23 Will Cohen <wcohen@redhat.com>
3573
3574 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
3575 defined.
3576
3577 2002-01-23 Kazu Hirata <kazu@hxi.com>
3578
3579 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
3580 operand[3].
3581
3582 2002-01-23 Jason Merrill <jason@redhat.com>
3583
3584 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
3585
3586 * function.c (assign_parms): Don't put args of inline functions
3587 into registers when not optimizing.
3588
3589 2002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
3590
3591 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
3592 (prologue_use): New pattern.
3593 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
3594 preference to gen_rtx_USE.
3595 (thumb_expand_prologue): Use gen_prologue_use in preference to
3596 gen_rtx_USE.
3597 (thumb_expand_epilogue): Use gen_prologue_use in preference to
3598 gen_rtx_USE.
3599
3600 2002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
3601
3602 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
3603
3604 2002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
3605
3606 PR c/3504
3607 * doc/extend.texi: Correct documentation of __alignof__.
3608
3609 2002-01-22 Zack Weinberg <zack@codesourcery.com>
3610
3611 * params.h: Rename arguments of DEFPARAM so that it will be
3612 recognized as a translation keyword.
3613
3614 2002-01-22 Aldy Hernandez <aldyh@redhat.com>
3615
3616 * extend.texi: Document altivec functions.
3617 Fix N-bit adjectives in X86 builtin documentation.
3618
3619 2002-01-22 Alexandre Oliva <aoliva@redhat.com>
3620
3621 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
3622 auto_inc_dec values.
3623
3624 2002-01-22 Richard Earnshaw <rearnsha@arm.com>
3625
3626 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
3627 after backslash.
3628 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
3629
3630 2002-01-22 Alexandre Oliva <aoliva@redhat.com>
3631
3632 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
3633
3634 2002-01-22 Richard Henderson <rth@redhat.com>
3635
3636 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
3637 copy_insn not copy_rtx.
3638
3639 2002-01-23 Alan Modra <amodra@bigpond.net.au>
3640
3641 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
3642 "nonzero" as that might add "1" bits. Ensure "constop" is
3643 properly sign extened.
3644 (force_to_mode): Tweak for sign extended constop.
3645
3646 2002-01-22 Richard Henderson <rth@redhat.com>
3647
3648 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
3649 for_each_rtx instead of assuming we're already looking at the MEM.
3650 (split_small_symbolic_mem_operand): Likewise.
3651 * config/alpha/alpha.h (PREDICATE_CODES): Update.
3652 * config/alpha/alpha.md (small symbolic memory splitters): Update.
3653
3654 2002-01-22 Richard Henderson <rth@redhat.com>
3655
3656 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
3657 sequence number for the literal.
3658 (divmoddi_internal_er): Likewise.
3659
3660 2002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
3661
3662 PR java/4972
3663 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
3664 in LIBICONV variable.
3665 * configure: Regenerated.
3666
3667 2002-01-22 Krister Walfridsson <cato@df.lth.se>
3668
3669 * dependence.c (build_def_use): Remove array_idx.
3670
3671 * dwarfout.c (last_filename): Remove.
3672 (output_compile_unit_die): Remove last_filename.
3673
3674 2002-01-22 Roger Sayle <roger@eyesopen.com>
3675 Richard Henderson <rth@redhat.com>
3676
3677 PR opt/3640
3678 * fold-const.c (fold): Optimize unsigned comparisons against
3679 UINT_MAX (and similar unsigned constants).
3680
3681 2002-01-22 Janis Johnson <janis187@us.ibm.com>
3682
3683 * Makefile.in (loop.o): Depend on OPTABS_H.
3684 * loop.c (emit_prefetch_instructions): Check the prefetch operand
3685 against the predicate.
3686
3687 PR target/5379
3688 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
3689 for the address operand.
3690
3691 2002-01-22 Richard Henderson <rth@redhat.com>
3692
3693 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
3694
3695 2002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
3696
3697 PR other/5450
3698 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
3699 preprocessor flags.
3700
3701 2002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
3702
3703 * config.gcc (x86_64-*-netbsd*): New target.
3704 * config/i386/netbsd64.h: New file.
3705
3706 2002-01-22 Aldy Hernandez <aldyh@redhat.com>
3707
3708 * regrename.c (kill_value): Fix typo.
3709
3710 2002-01-22 Aldy Hernandez <aldyh@redhat.com>
3711
3712 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
3713
3714 * config/rs6000/rs6000.h: Same.
3715
3716 * function.c (instantiate_virtual_regs): Remove
3717 STARTING_FRAME_PHASE.
3718 (assign_stack_local_1): Same.
3719 Calculate frame phase.
3720
3721 2002-01-22 Nick Clifton <nickc@redhat.com>
3722
3723 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
3724 variable declaration to outer scope in order to simplify
3725 future extensions.
3726 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
3727 arm_hard_regno_mode_ok.
3728 * config/arm/arm-protos.h: Add a prototype for
3729 arm_hard_regno_mode_ok.
3730 * config/arm/arm.c (soft_df_operand): Remove now redundant
3731 check for DImode values using IP_REGNUM.
3732 (nonimmediate_soft_df_operand): Remove now redundant check for
3733 DImode values using IP_REGNUM.
3734 (arm_hard_regno_mode_ok): New function. New check: make sure
3735 that DImode values are not stored in IP_REGNUM.
3736
3737 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
3738 note with a USE.
3739 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
3740
3741 2002-01-22 Jason Merrill <jason@redhat.com>
3742
3743 * c-semantics.c (genrtl_compound_stmt): Only check nesting
3744 consistency if this COMPOUND_STMT is scoped.
3745
3746 2002-01-22 Kazu Hirata <kazu@hxi.com>
3747
3748 * predict.c: Fix formatting.
3749 * print-tree.c: Likewise.
3750 * protoize.c: Likewise.
3751 * real.h: Likewise.
3752 * rtl.h: Likewise.
3753 * sbitmap.h: Likewise.
3754 * scan.c: Likewise.
3755 * sched-deps.c: Likewise.
3756 * sched-vis.c: Likewise.
3757 * sdbout.c: Likewise.
3758 * sibcall.c: Likewise.
3759 * ssa.c: Likewise.
3760 * ssa-ccp.c: Likewise.
3761 * ssa-dce.c: Likewise.
3762 * stmt.c: Likewise.
3763 * stor-layout.c: Likewise.
3764 * system.h: Likewise.
3765
3766 Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3767
3768 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
3769 if fits in bounds of base type.
3770
3771 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
3772 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
3773 (add_bound_info, default): If can't find a context, make a
3774 SAVE_EXPR.
3775 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
3776
3777 2002-01-22 Hans-Peter Nilsson <hp@axis.com>
3778
3779 * c-typeck.c (parser_build_binary_op): If result from
3780 build_binary_op is ERROR_MARK just return error_mark_node without
3781 further processing.
3782
3783 2002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
3784
3785 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
3786 Split a.out-specific bits into...
3787 * config/netbsd-aout.h: ...this.
3788 * config/netbsd-elf.h: New file.
3789 * config/alpha/netbsd-elf.h: Remove.
3790 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
3791 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
3792 (STARTFILE_SPEC): Remove redundant definition.
3793 (ENDFILE_SPEC): Likewise.
3794 (LINK_SPEC): Likewise.
3795 (CPP_SPEC): Likewise.
3796 (ASM_SPEC): Likewise.
3797 (LIB_SPEC): Likewise.
3798 (SWITCH_TAKES_ARG): Likewise.
3799 (TARGET_MEM_FUNCTIONS): Likewise.
3800 (CPP_PREDEFINES): Redefine.
3801 (ASM_FINAL_SPEC): Remove redefinition.
3802 (ASM_COMMENT_START): Redefine.
3803 (FUNCTION_PROFILER): Define.
3804 (TARGET_VERSION): Redefine.
3805 Comment and formatting cleanup.
3806 * config/i386/netbsd.h: Include <netbsd-aout.h>.
3807 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
3808 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
3809 big- or little-endian.
3810 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
3811 * config.gcc (*-*-netbsd*): Add definitions common to all
3812 NetBSD configs.
3813 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
3814 gnu_ld definitions. Add netbsd-elf.h to and remove
3815 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
3816 tmake_file, and don't lose previous tmake_file contents.
3817 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
3818 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
3819 gnu_ld definitions. Add netbsd-elf.h to tm_file.
3820 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
3821 (mipsel-*-netbsd*): Rename this to...
3822 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
3823 mips/little.h to tm_file for mips*el-*.
3824 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
3825 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
3826 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
3827
3828 2002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
3829
3830 * pa-protos.h (reg_before_reload_operand): New function prototype.
3831 * pa.c (reg_before_reload_operand): New function implementation.
3832 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
3833 contraints to "*m".
3834
3835 2002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3836
3837 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
3838
3839 2002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
3840
3841 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
3842 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
3843 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
3844 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
3845 (ENDFILE_SPEC): Undefine.
3846 (STARTFILE_SPEC): Redefine for PA.
3847
3848 2002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3849
3850 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
3851
3852 2002-01-21 Daniel Jacobowitz <drow@mvista.com>
3853
3854 * config.gcc: Add entries to supported PowerPC --with-cpu
3855 types.
3856
3857 2002-01-21 Jakub Jelinek <jakub@redhat.com>
3858
3859 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
3860 true for 64-bit mode only SSE registers in 32-bit mode.
3861
3862 2002-01-21 Kazu Hirata <kazu@hxi.com>
3863
3864 * unwind-dw2.c: Fix formatting.
3865 * unwind-dw2-fde.c: Likewise.
3866 * unwind-dw2-fde.h: Likewise.
3867 * unwind-pe.h: Likewise.
3868 * varasm.c: Likewise.
3869 * varray.h: Likewise.
3870
3871 2002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
3872
3873 Remove workaround for register stack overwrite bug in mmix.
3874 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
3875 support for TARGET_REG_STACK_FILL_BUG.
3876 * config/mmix/mmix.h: Remove member has_call_without_parameters.
3877 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
3878 Delete.
3879 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
3880 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
3881 -mno-reg-stack-fill-bug-workaround.
3882 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
3883 machine member has_call_without_parameters.
3884 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
3885 -mreg-stack-fill-bug-workaround and
3886 -mno-reg-stack-fill-bug-workaround.
3887 (MMIX Options): Ditto.
3888
3889 2002-01-21 Kazu Hirata <kazu@hxi.com>
3890
3891 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
3892 as appropriate.
3893 Remove redundant code.
3894
3895 2002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
3896
3897 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
3898 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
3899 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
3900 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
3901 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
3902 out target macro definitions and non-target-specific comments
3903 mostly taken from old versions of the manual.
3904
3905 2002-01-20 Kazu Hirata <kazu@hxi.com>
3906
3907 * config/h8300/h8300.h: Fix comment formatting.
3908 * config/ia64/aix.h: Likewise.
3909 * config/ia64/ia64-protos.h: Likewise.
3910 * config/ia64/ia64.c: Likewise.
3911 * config/ia64/ia64.h: Likewise.
3912 * config/ia64/ia64intrin.h: Likewise.
3913 * config/ia64/linux.h: Likewise.
3914 * config/ia64/unwind-aix.c: Likewise.
3915 * config/ia64/unwind-ia64.c: Likewise.
3916
3917 2002-01-20 Kazu Hirata <kazu@hxi.com>
3918
3919 * config/h8300/h8300.c: Revise comments about shift code.
3920
3921 2002-01-20 Kazu Hirata <kazu@hxi.com>
3922
3923 * config/h8300/h8300.c (function_arg): Update a comment.
3924
3925 2002-01-20 Kazu Hirata <kazu@hxi.com>
3926
3927 * config/h8300/h8300.md: Update the comments at the beginning
3928 of the file.
3929
3930 2002-01-20 Kazu Hirata <kazu@hxi.com>
3931
3932 * config/i370/i370.c: Fix comment formatting.
3933 * config/i370/i370.h: Likewise.
3934 * config/i370/i370.md: Likewise.
3935 * config/i370/linux.h: Likewise.
3936
3937 Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3938
3939 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
3940
3941 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
3942 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
3943 in incomplete case.
3944
3945 2002-01-20 Graham Stott <grahams@redhat.com>
3946
3947 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
3948
3949 2002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
3950
3951 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
3952
3953 2002-01-19 Tom Rix <trix@redhat.com>
3954
3955 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
3956
3957 2002-01-18 Aldy Hernandez <aldyh@redhat.com>
3958
3959 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
3960
3961 * function.c (assign_stack_local_1): Adjust x_frame_offset with
3962 STARTING_FRAME_PHASE.
3963 (STARTING_FRAME_PHASE): New.
3964 (instantiate_virtual_regs): Check saneness of
3965 STARTING_FRAME_PHASE.
3966
3967 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
3968
3969 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
3970
3971 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
3972
3973 2002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
3974
3975 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
3976 be used for bootstrapping GCC 3.0.
3977
3978 2002-01-18 Kazu Hirata <kazu@hxi.com>
3979
3980 * config/h8300/h8300.md: Fix an insn length.
3981
3982 2002-01-18 Kazu Hirata <kazu@hxi.com>
3983
3984 * bitmap.h: Fix comment formatting.
3985 * combine.c: Likewise.
3986 * cppfiles.c: Likewise.
3987 * c-pragma.h: Likewise.
3988 * c-typeck.c: Likewise.
3989 * df.c: Likewise.
3990 * dwarf2out.c: Likewise.
3991 * function.c: Likewise.
3992 * gcc.c: Likewise.
3993 * genattrtab.c: Likewise.
3994 * gthr-win32.h: Likewise.
3995 * haifa-sched.c: Likewise.
3996 * predict.c: Likewise.
3997 * rtlanal.c: Likewise.
3998 * rtl.h: Likewise.
3999 * unwind-dw2-fde.h: Likewise.
4000 * unwind-pe.h: Likewise.
4001 * vmsdbgout.c: Likewise.
4002
4003 Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4004
4005 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
4006 if type_required and passed decl.
4007
4008 2002-01-17 Aldy Hernandez <aldyh@redhat.com>
4009
4010 * config.gcc (cpu_type): Include altivec.h in powerpc
4011 extra_headers.
4012 Same for darwin.
4013
4014 * config/rs6000/altivec.h: New.
4015
4016 2002-01-17 David Edelsohn <edelsohn@gnu.org>
4017
4018 * doc/install.texi (*-ibm-aix*): Update assembler and exception
4019 handling information.
4020 * doc/trouble.texi (Interoperation): Add libstdc++ information
4021 for AIX.
4022 (Misunderstandings): Add template instantiation and static template
4023 member information for AIX.
4024
4025 2002-01-17 Jason Merrill <jason@redhat.com>
4026
4027 * dbxout.c (dbxout_type): Support const and volatile.
4028
4029 * except.c (add_partial_entry): Remove backwards compatibility code.
4030 (end_protect_partials): Likewise.
4031
4032 2002-01-17 Jakub Jelinek <jakub@redhat.com>
4033
4034 * config/ia64/ia64.md (prologue_use): New.
4035 * config/ia64/ia64.c (ia64_expand_prologue): Use
4036 gen_prologue_use instead of gen_rtx_USE.
4037 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
4038 as CODE_FOR_pred_rel_mutex.
4039 (ia64_sched_reorder2): Likewise.
4040
4041 2002-01-16 Eric Christopher <echristo@redhat.com>
4042
4043 * config/mips/r3900.h: Reformat.
4044 (SUBTARGET_CPP_SIZE_SPEC): Remove.
4045 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
4046 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
4047 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
4048 * config/mips/t-elf: Remove mips3 multilib.
4049
4050 2002-01-16 H.J. Lu <hjl@gnu.org>
4051
4052 * config/mips/linux.h: Include "mips/abi64.h".
4053
4054 2002-01-16 H.J. Lu <hjl@gnu.org>
4055
4056 * config/mips/t-linux: New.
4057
4058 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
4059
4060 * config/mips/linux.h: Don't include "gofast.h".
4061 (INIT_SUBTARGET_OPTABS): Removed.
4062
4063 2002-01-16 Kazu Hirata <kazu@hxi.com>
4064
4065 * config/h8300/h8300-protos.h: Replace emit_a_shift with
4066 output_a_shift.
4067 * config/h8300/h8300.c: Likewise.
4068 * config/h8300/h8300.md: Likewise.
4069
4070 2002-01-16 Kazu Hirata <kazu@hxi.com>
4071
4072 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
4073 spaces after an opcode name.
4074 (pushqi1_h8300hs): Likewise.
4075 (pushhi1_h8300hs): Likewise.
4076
4077 2002-01-16 Kazu Hirata <kazu@hxi.com>
4078
4079 * doc/extend.texi: Replace "option" with "attribute"
4080 appropriately.
4081
4082 2002-01-16 Jakub Jelinek <jakub@redhat.com>
4083
4084 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
4085 (and:DI () (const_int -8)).
4086 (split_small_symbolic_mem_operand): Split
4087 (mem (and:DI () (const_int -8)).
4088
4089 2002-01-16 Jakub Jelinek <jakub@redhat.com>
4090
4091 PR target/5309:
4092 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
4093 same way as TYPE_IMUL.
4094 (ultrasparc_sched_reorder): Likewise.
4095 * config/sparc/sparc.md (type): Add comment to update
4096 ultrasparc_sched_reorder when making changes.
4097
4098 2002-01-16 Kazu Hirata <kazu@hxi.com>
4099
4100 * doc/invoke.texi: Change the dump file name of block
4101 reordering pass from 28.bbro to 29.bbro.
4102 Mention -dk option.
4103
4104 Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
4105
4106 * i386.md (minsf splitter): Fix pasto.
4107
4108 2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
4109
4110 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
4111 to frame pointer initialisation instruction.
4112 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
4113 initialisation instruction.
4114 (soft_df_operand): Do not accept the IP register.
4115 (nonimmediate_soft_df_operand): Do not accept the IP register.
4116
4117 2002-01-16 Jakub Jelinek <jakub@redhat.com>
4118
4119 PR target/5357:
4120 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
4121 MASK_V8 being both set.
4122
4123 2002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
4124
4125 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
4126 insn for GOT register; add REG_MAYBE_DEAD notes instead.
4127 config/s390/s390.md (call, call_value): Add GOT register to
4128 CALL_INSN_FUNCTION_USAGE where needed.
4129 (call_exp, call_value_exp): New.
4130
4131 2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
4132
4133 * config/arm/arm.c: General formatting tidy up.
4134
4135 2002-01-16 Graham Stott <grahams@redhat.com>
4136
4137 * calls.c (try_to_integrate): Use "(size_t)" intermediate
4138 cast and when casting an integer literal to "rtx" pointer.
4139 (expand_call): Likewise.
4140 * flow.c (try_pre_increment): Likewise.
4141 (find_use_as_address): Likewise.
4142 * integrate.c (expand_iline_function): Likewise.
4143 * regmove.c (try_auto_increment): Likewise.
4144
4145 2002-01-16 Graham Stott <grahams@redhat.com>
4146
4147 * sched-rgn.c (passed): Use sbitmap_free.
4148 (header): Likewise.
4149 (inner): Likewise.
4150 (in_queue): Likewise.
4151 (in_stack): Likewise.
4152
4153 2002-01-15 Eric Christopher <echristo@redhat.com>
4154
4155 * flow.c (propagate_one_insn): Change to use fatal_insn.
4156
4157 2002-01-15 Kazu Hirata <kazu@hxi.com>
4158
4159 * expmed.c (extract_fixed_bit_field): Remove unused code.
4160 * system.h: Poison SLOW_ZERO_EXTEND.
4161 * doc/tm.texi: Remove.
4162 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
4163 * config/arm/arm.h: Likewise.
4164 * config/avr/avr.h: Likewise.
4165 * config/clipper/clipper.h: Likewise.
4166 * config/convex/convex.h: Likewise.
4167 * config/d30v/d30v.h: Likewise.
4168 * config/dsp16xx/dsp16xx.h: Likewise.
4169 * config/elxsi/elxsi.h: Likewise.
4170 * config/fr30/fr30.h: Likewise.
4171 * config/h8300/h8300.h: Likewise.
4172 * config/i370/i370.h: Likewise.
4173 * config/i386/i386.h: Likewise.
4174 * config/m68k/m68k.h: Likewise.
4175 * config/mips/mips.h: Likewise.
4176 * config/ns32k/ns32k.h: Likewise.
4177 * config/pdp11/pdp11.h: Likewise.
4178 * config/pj/pj.h: Likewise.
4179 * config/s390/s390.h: Likewise.
4180 * config/sh/sh.h: Likewise.
4181 * config/stormy16/stormy16.h: Likewise.
4182 * config/v850/v850.h: Likewise.
4183 * config/vax/vax.h: Likewise.
4184 * config/we32k/we32k.h: Likewise.
4185
4186 2002-01-15 Aldy Hernandez <aldyh@redhat.com>
4187
4188 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
4189 (altivec_lvsl): Change constraint to b.
4190 (altivec_lvsr): Same.
4191 (altivec_lvebx): Same.
4192 (altivec_lvehx): Same.
4193 (altivec_lvewx): Same.
4194 (altivec_lvxl): Same.
4195 (altivec_lvx): Same.
4196 (altivec_stvx): Add parallel.
4197 (altivec_stvxl): Same.
4198 (altivec_stvehx): Same.
4199 (altivec_stvebx): Same.
4200 (altivec_stvebx): Same.
4201
4202 2002-01-15 Aldy Hernandez <aldyh@redhat.com>
4203
4204 * config.gcc: Change altivec.h to altivec-defs.h.
4205
4206 * config/rs6000/altivec.h: Delete.
4207
4208 * config/rs6000/altivec-defs.h: Add.
4209
4210 2002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
4211
4212 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
4213 and UMOD modes.
4214
4215 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
4216 less than or equal to eight bytes.
4217
4218 * vax.md (andsi3): Remove constraints and change SET destination
4219 operand type to nonimmediate_operand.
4220 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
4221 when it is a CONST_INT.
4222
4223 2002-01-15 Jason Merrill <jason@redhat.com>
4224
4225 * c-common.def (FILE_STMT): New code.
4226 * c-common.c (statement_code_p): It's a statement.
4227 * c-common.h (stmt_tree_s): Add x_last_filename.
4228 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
4229 (last_expr_filename): New macro.
4230 * c-semantics.c (begin_stmt_tree): Initialize it.
4231 (add_stmt): If the filename changed, also insert a
4232 FILE_STMT.
4233 (expand_stmt): Handle seeing one.
4234
4235 2002-01-15 Eric Christopher <echristo@redhat.com>
4236
4237 * flow.c (propagate_one_insn): Add error message and print out
4238 insn for debugging.
4239
4240 2002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
4241
4242 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
4243 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
4244 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
4245 TRAMPOLINE_ALIGNMENT.
4246 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
4247 to be in bits.
4248 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
4249 PCC_BITFIELD_TYPE_MATTERS.
4250 * config/interix.h (STDC_VALUE): Remove. Use
4251 STDC_0_IN_SYSTEM_HEADERS.
4252 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
4253 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
4254 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
4255
4256 2002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
4257
4258 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
4259 not work on this platform currently.
4260
4261 2002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
4262
4263 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
4264 readonly_warning in _().
4265
4266 2002-01-15 Douglas B Rupp <rupp@gnat.com>
4267
4268 * gcc.c (delete_if_ordinary): Backout previous change.
4269
4270 2002-01-15 Kazu Hirata <kazu@hxi.com>
4271
4272 * config/h8300/h8300.c (print_operand): Remove support for
4273 unused operand characters.
4274
4275 * read-rtl.c: Fix formatting.
4276 * real.c: Likewise.
4277 * recog.c: Likewise.
4278 * regclass.c: Likewise.
4279 * regmove.c: Likewise.
4280 * reg-stack.c: Likewise.
4281 * reload1.c: Likewise.
4282 * rtlanal.c: Likewise.
4283
4284 2002-01-15 Kazu Hirata <kazu@hxi.com>
4285
4286 * config/i386/i386.c: Fix formatting.
4287
4288 2002-01-15 Jakub Jelinek <jakub@redhat.com>
4289
4290 * c-typeck.c (process_init_element): Don't save_expr
4291 COMPOUND_LITERAL_EXPR if just its initializer will be used.
4292
4293 2002-01-15 David Edelsohn <edelsohn@gnu.org>
4294
4295 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
4296 emit optional traceback table if optimize_size or TARGET_ELF.
4297 * config/rs6000/rs6000.md (prefetch): New.
4298
4299 2002-01-15 Andreas Jaeger <aj@suse.de>
4300
4301 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
4302
4303 2002-01-15 Kazu Hirata <kazu@hxi.com>
4304
4305 * mips-tfile.c: Fix formatting.
4306
4307 Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
4308
4309 * unroll.c (final_reg_note_copy): Fix previous commit.
4310
4311 2002-01-14 Kazu Hirata <kazu@hxi.com>
4312
4313 * config/h8300/h8300-protos.h: Remove the prototype for
4314 eq_operator.
4315 * config/h8300/h8300.c (eq_operator): Remove.
4316
4317 2002-01-14 Richard Henderson <rth@redhat.com>
4318
4319 * config/i386/i386.md (prefetch): Tidy.
4320 (prefetch_3dnow): Fix locality operand.
4321
4322 2002-01-14 Richard Henderson <rth@redhat.com>
4323
4324 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
4325 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
4326
4327 2002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
4328
4329 * reload1.c (reload_combine): Pass reg_sum replacement through
4330 copy_rtx in loop performing multiple changes.
4331
4332 2002-01-14 Jakub Jelinek <jakub@redhat.com>
4333
4334 * except.c (remove_unreachable_regions): New.
4335 (free_eh_status): Clear exception_handler_labels.
4336 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
4337 (find_exception_handler_labels): Don't add the same label more than
4338 once.
4339 (remove_exception_handler_label): Don't die if
4340 find_exception_handler_labels hasn't been called for the current
4341 function yet.
4342
4343 Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
4344
4345 * toplev.c (rest_of_compilation): Rebuild jump labels after
4346 gcse.
4347
4348 2002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
4349
4350 * doc/extend.texi: Move documentation of X86 built-in functions
4351 here.
4352 * doc/invoke.texi: From here.
4353 * doc/sourcebuild.texi: Document location of documentation for
4354 machine built-in functions.
4355
4356 2002-01-13 Christopher Faylor <cgf@redhat.com>
4357
4358 * cppfiles.c (TEST_THRESHOLD): New macro.
4359 (SHOULD_MMAP): Ditto.
4360 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
4361 be used.
4362
4363 Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
4364
4365 * unroll.c (final_reg_note_copy): Properly handle
4366 REG_LABEL
4367 (unroll_loops): Fix LOOP_CONDITION heuristics.
4368
4369 2002-01-14 Geoffrey Keating <geoffk@redhat.com>
4370
4371 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
4372 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
4373
4374 Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
4375
4376 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
4377 threaded loop.
4378
4379 2002-01-14 Tom Rix <trix@redhat.com>
4380
4381 * config/rs6000/rs6000.md: Fix typo with sradi.
4382
4383 2002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
4384
4385 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
4386 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
4387 (clrstrdi, clrstrsi): Adapt callers.
4388
4389 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
4390
4391 (movti splitter): Never use register 0 as base register.
4392
4393 2002-01-14 Hartmut Penner <hpenner@de.ibm.com>
4394
4395 * combine.c (simplify_shift_const): Always generate new rtx
4396 for shift expression instead of reusing given expression.
4397
4398 Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4399
4400 * config/alpha/alpha.c (alpha_expand_mov): Don't call
4401 alpha_legitimize_address unless mode is Pmode.
4402
4403 2002-01-13 Geoffrey Keating <geoffk@redhat.com>
4404
4405 * doc/md.texi (Modifiers): Document the '*' constraint for the
4406 user.
4407
4408 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
4409 * doc/extend.texi (Function Attributes): 'interrupt' is valid
4410 for xstormy16 too.
4411
4412 2002-01-13 Richard Henderson <rth@redhat.com>
4413
4414 * reload.c (find_reloads): Use a hard reg destination as reload reg
4415 for an input reload of the source.
4416
4417 2002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4418
4419 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
4420 more generic.
4421
4422 Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
4423
4424 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
4425 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
4426
4427 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
4428
4429 Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4430
4431 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
4432
4433 2002-01-12 Tom Rix <trix@redhat.com>
4434
4435 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
4436 TARGET_POWERPC64.
4437
4438 2002-01-12 Richard Henderson <rth@redhat.com>
4439
4440 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
4441
4442 * doc/invoke.texi: Update Alpha options.
4443
4444 * doc/invoke.texi: Update i386 built-in function lists.
4445
4446 Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
4447
4448 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
4449 referencing outside.
4450
4451 Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4452
4453 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
4454 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
4455 offsets, and change line folding.
4456 * optabs.c (expand_binop): Remove warnings.
4457 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
4458
4459 2002-01-12 Graham Stott <grahams@redhat.com>
4460
4461 * attribs.c (handle_deprecated_attribute): constify WHAT.
4462 * diagnostic.c (warn_deprecated_use): Add braces, fixes
4463 dangling else warning and constify WHAT.
4464 * except.h (struct function, struct inline_remap): Move
4465 struct tag forward defs before all prototypes.
4466 (duplicate_eh_regions): Whitespace.
4467
4468 2002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
4469
4470 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
4471 MODE_BASE_REG_CLASS.
4472 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
4473
4474 2002-01-12 Richard Henderson <rth@redhat.com>
4475
4476 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
4477 (ix86_expand_vector_move): New.
4478 (bdesc_2arg): Remove andps, andnps, orps, xorps.
4479 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
4480 Remove old prefetch builtins. Special case the logicals removed above.
4481 (ix86_expand_builtin): Likewise.
4482 (safe_vector_operand): Use V4SFmode, not TImode.
4483 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
4484 (ix86_expand_timode_binop_builtin): New.
4485 * config/i386/i386-protos.h: Update.
4486 * config/i386/i386.h (enum ix86_builtins): Update.
4487 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
4488 Use ix86_expand_vector_move in vector move expanders.
4489 (movti_internal, movti_rex64): Add xorps alternative.
4490 (sse_clrv4sf): Rename and adjust from sse_clrti.
4491 (prefetch): Don't work so hard.
4492 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
4493 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
4494 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
4495
4496 2002-01-11 Richard Henderson <rth@redhat.com>
4497
4498 * config/i386/mmintrin.h: New file.
4499 * config/i386/xmmintrin.h: New file.
4500 * config.gcc (i?86-*-*): Add extra_headers.
4501 * simplify-rtx.c (simplify_unary_operation): Handle saturating
4502 truncation codes.
4503 (simplify_binary_operation): Handle saturating arithmetic codes.
4504 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
4505 not the lowpart subreg.
4506 (ix86_expand_builtin): Return a TImode dummy register instead of 0
4507 on error.
4508 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
4509
4510 2002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4511
4512 * conflict.c (conflict_graph_compute): Free regsets when finished.
4513 * ssa.c (compute_coalesced_reg_partition): Likewise.
4514
4515 2002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4516
4517 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
4518 every where we allocate a register.
4519
4520 2002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4521
4522 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
4523 * lcm.c (compute_earliest, compute_farthest): Likewise.
4524
4525 2002-01-11 Janis Johnson <janis187@us.ibm.com>
4526
4527 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
4528
4529 2002-01-11 Janis Johnson <janis187@us.ibm.com>
4530
4531 * doc/rtl.texi (Insns): Fix 2 typos.
4532
4533 2002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
4534
4535 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
4536 options. Use @table @gcctabopt for MMIX options. Add index
4537 entries for MMIX options. Start new paragraph with first
4538 heading of the machine-dependent options.
4539
4540 2002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
4541
4542 PR other/5299
4543 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
4544 * combine.c (force_to_mode): Same.
4545 * reload1.c (clear_reload_reg_in_use): Same.
4546
4547 2002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
4548
4549 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
4550 and 'subtargets'.
4551
4552 2002-01-11 Andreas Jaeger <aj@suse.de>,
4553 Brad Lucier <lucier@math.purdue.edu>
4554
4555 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
4556 mcpu.
4557
4558 Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
4559
4560 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
4561 Protect with IN_LIBGCC.
4562 (LINK_EH_SPEC): Add required trailing space.
4563
4564 Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
4565
4566 * c-tree.h: Move function declarations so that they are listed
4567 under the filename which contains them.
4568 (check_identifier, finish_decl_top_level,
4569 lookup_name_current_level_global, shadow_record_fields): Remove.
4570
4571 2002-01-11 Andreas Jaeger <aj@suse.de>
4572
4573 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
4574 march.
4575
4576 2002-01-10 Richard Henderson <rth@redhat.com>
4577
4578 * config/alpha/alpha.c (print_operand): Add 'J'.
4579 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
4580 new operand with the sequence number for the lituse. When splitting
4581 the insns, use gen_movdi_er_high_g and generate a sequence number.
4582 (gen_movdi_er_high_g): Print the sequence number if non-zero.
4583
4584 2002-01-10 Aldy Hernandez <aldyh@redhat.com>
4585
4586 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
4587 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
4588 stvxl.
4589 (altivec_expand_builtin): Same.
4590 (altivec_expand_stv_builtin): New.
4591
4592 * config/rs6000/rs6000.h (rs6000_builtins): Same.
4593
4594 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
4595 ("altivec_lvehx"): New.
4596 ("altivec_lvewx"): New.
4597 ("altivec_lvxl"): New.
4598 ("altivec_lvx"): New.
4599 ("altivec_stvx"): New.
4600 ("altivec_stvebx"): New.
4601 ("altivec_stvehx"): New.
4602 ("altivec_stvewx"): New.
4603 ("altivec_stvxl"): New.
4604
4605 2002-01-10 Richard Henderson <rth@redhat.com>
4606
4607 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
4608 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
4609 care not to delete instructions twice.
4610
4611 2002-01-10 Zack Weinberg <zack@codesourcery.com>
4612
4613 * toplev.c: Don't declare environ (it's not used anywhere).
4614 * configure.in: Don't check for declaration of environ.
4615 * config/i386/xm-mingw32.h: Don't #define environ.
4616 * config.in, configure: Regenerate.
4617
4618 2002-01-10 Zack Weinberg <zack@codesourcery.com>
4619
4620 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
4621 * configure: Regenerate.
4622
4623 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
4624 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
4625 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
4626 alpha/xm-vms.h.
4627 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
4628 LIMITS_H_TEST here, not in m68k/x-next.
4629 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
4630 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
4631
4632 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
4633 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
4634 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
4635
4636 * config/i386/x-djgpp: Renamed i386/t-djgpp.
4637 * config/m88k/x-dolph: Renamed m88k/t-dolph.
4638 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
4639 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
4640 replacement of quadlib.asm with quadlib.c.
4641
4642 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
4643 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
4644 config/rs6000/xm-beos.h: Delete file.
4645
4646 * config.gcc: Update to match above changes.
4647
4648 2002-01-10 Kazu Hirata <kazu@hxi.com>
4649
4650 * config/h8300/h8300.h: Fix comment typos.
4651 * config/h8300/h8300.md: Likewise.
4652 * config/h8300/lib1funcs.asm: Likewise.
4653
4654 2002-01-10 Dale Johannesen <dalej@apple.com>
4655
4656 PR optimization/5269
4657 * unroll.c (precondition_loop_p): Make *increment be the correct
4658 sign when n_iterations known, to avoid confusing caller.
4659
4660 2002-01-10 Kazu Hirata <kazu@hxi.com>
4661
4662 * doc/extend.texi (deprecated): Fix a typo.
4663
4664 Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
4665
4666 * basic-block.h (update_br_prob_note): Declare.
4667 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
4668 (try_forward_edges): Care negative frequencies and update note.
4669 (outgoing_edges_match): Tweek conditional merging heuristics.
4670 (try_crossjump_to_edge): use update_br_prob_note.
4671 * cfglayout.c (fixup_reorder_chain): Likewise.
4672 * cfrtl.c (update_br_prob_note): New.
4673 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
4674
4675 * i386.c (ix86_decompose_address): Return -1 if address contains
4676 shift.
4677 (legitimate_address_p): Require ix86_decompose_address to return 1.
4678
4679 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
4680 (cprop_insn): Likewise.
4681
4682 2002-01-10 Kazu Hirata <kazu@hxi.com>
4683
4684 * toplev.c: Fix formatting.
4685 * tree.c: Likewise.
4686 * tree-dump.c: Likewise.
4687 * unroll.c: Likewise.
4688 * unwind-dw2.c: Likewise.
4689 * unwind-dw2-fde.c: Likewise.
4690 * unwind-dw2-fde-glibc.c: Likewise.
4691 * unwind-sjlj.c: Likewise.
4692
4693 2002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
4694
4695 * doc/invoke.texi: Document PDP-11 options.
4696
4697 2002-01-10 Kazu Hirata <kazu@hxi.com>
4698
4699 * config/h8300/h8300.h: Fix formatting.
4700
4701 2002-01-10 Ira Ruben <ira@apple.com>
4702
4703 Add __attribute__ ((deprecated)).
4704 * extend.texi: Document __attribute__ ((deprecated)).
4705 * invoke.texi: Document -Wno-deprecated-declarations.
4706 * testsuite/g++.dg/other/deprecated.C: New C++ test.
4707 * testsuite/gcc.dg/deprecated.c: New C test.
4708 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
4709 (c_common_attribute_table): Add "deprecated" entry.
4710 (handle_deprecated_attribute): New function.
4711 * c-decl.c (deprecated_states): New enum.
4712 deprecated_state: State of "deprecated" handling.
4713 (start_decl): Set deprecated_state based on attributes.
4714 (grokdeclarator): Test for deprecated uses, propagate attribute.
4715 * c-typeck.c (build_component_ref): Test for deprecated fields.
4716 (build_external_ref): Test for deprecated primaries.
4717 * diagnostic.c (warn_deprecated_use) New function to issue
4718 warnings about __attribute__ ((depricated)) references.
4719 * flags.h (warn_deprecated_decl): Extern declared for
4720 -W[no-]deprecated-declarations option.
4721 * print-tree.c (print_node): Show deprecated flag status.
4722 * toplev.c (warn_deprecated_decl): Defined.
4723 (W_options): Added "deprecated-declaration".
4724 * toplev.h (warn_deprecated_use): Extern declared.
4725 * tree.h (struct tree_common): Define deprecated_flag.
4726 (TREE_DEPRECATED): New macro to access flag.
4727 * cp/call.c (build_call): Test for deprecated calls.
4728 * cp/class.c (add_implicitly_declared_members): Set global
4729 flag to tell grokdeclarator to not issue deprecated warnings.
4730 * cp/cp-tree.h: Add extern for adding_implicit_members.
4731 * cp/decl.c (deprecated_states): New enum.
4732 (start_decl): Set deprecated_state based on attributes.
4733 (grokdeclarator): Test for deprecated uses, propagate attribute.
4734 * cp/lex.c (do_identifier): Test for deprecated primaries.
4735 * cp/typeck.c (build_component_ref): Test for deprecated fields.
4736
4737 2002-01-10 Ira Ruben <ira@apple.com>
4738
4739 Fix to assign attributes to inline member functions.
4740 * cp/decl.c (start_method): Handle attrlist.
4741
4742 2002-01-10 Kazu Hirata <kazu@hxi.com>
4743
4744 * combine.c (expand_field_assignment): Use subreg_lsb().
4745
4746 2002-01-10 David Edelsohn <edelsohn@gnu.org>
4747
4748 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
4749 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
4750 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
4751 Recurse for any operand of AND as long as constant is non-zero.
4752
4753 2002-01-10 Kazu Hirata <kazu@hxi.com>
4754
4755 * config/h8300/h8300.md: Remove constraints from expanders.
4756
4757 2002-01-10 Kazu Hirata <kazu@hxi.com>
4758
4759 * varasm.c: Fix formatting.
4760 * varray.c: Likewise.
4761 * vmsdbgout.c: Likewise.
4762 * xcoffout.c: Likewise.
4763
4764 Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
4765
4766 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
4767 update edge probabilities to match.
4768
4769 2002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
4770
4771 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
4772 dependencies.
4773 * doc/languages.texi, doc/sourcebuild.texi: New files.
4774 * doc/configfiles.texi: Make a subsubsection. Update.
4775 * doc/configterms.texi: Add @node. Remove warning that this isn't
4776 instructions for building GCC.
4777 * doc/makefile.texi: Make a subsection.
4778 * doc/gccint.texi: Update.
4779
4780 Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
4781
4782 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
4783
4784 Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
4785
4786 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
4787
4788 Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
4789
4790 * optabs.c (expand_fix): Look for wider integer modes first.
4791
4792 * i386.md (mov?f): Avoid the fake const double trick for medium
4793 memory model.
4794 (min?f*/max?f*): Prohibit memory operands for i387 variant.
4795 (fop_df_4): Disable for SSE compilation.
4796
4797 2002-01-10 Graham Stott <grahams@redhat.com>
4798
4799 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
4800 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
4801
4802 2002-01-10 Richard Henderson <rth@redhat.com>
4803
4804 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
4805
4806 2002-01-10 Richard Henderson <rth@redhat.com>
4807
4808 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
4809 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
4810
4811 2002-01-10 Kazu Hirata <kazu@hxi.com>
4812
4813 * combine.c (can_combine_p): Fix a comment typo.
4814
4815 2002-01-09 Zack Weinberg <zack@codesourcery.com>
4816
4817 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
4818 empty list correctly. Change loop index $t to $f for
4819 consistency with rest of Makefile.
4820
4821 2002-01-08 Aldy Hernandez <aldyh@redhat.com>
4822
4823 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
4824 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
4825
4826 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
4827 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
4828 (altivec_init_builtins): Same.
4829 (altivec_expand_unop_builtin): Return NULL_RTX on error.
4830 (altivec_expand_binop_builtin): Same.
4831 (altivec_expand_ternop_builtin): Same.
4832 (bdesc_dst): New.
4833
4834 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
4835 ("altivec_vctuxs"): Fix typo.
4836 ("altivec_vnmsubfp"): Same.
4837 ("altivec_dssall"): New.
4838 ("altivec_mfvscr"): New.
4839 ("altivec_dss"): New.
4840 ("altivec_lvsl"): New.
4841 ("altivec_lvsr"): New.
4842 ("altivec_dstt"): New.
4843 ("altivec_dstst"): New.
4844 ("altivec_dststt"): New.
4845 ("altivec_dst"): New.
4846
4847 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
4848 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
4849
4850 2002-01-09 Richard Henderson <rth@redhat.com>
4851
4852 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
4853
4854 2002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
4855
4856 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
4857 function.
4858 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
4859 prototype.
4860 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
4861
4862 2002-01-09 Kazu Hirata <kazu@hxi.com>
4863
4864 * read-rtl.c: Fix formatting.
4865 * real.c: Likewise.
4866 * regclass.c: Likewise.
4867 * regrename.c: Likewise.
4868 * reg-stack.c: Likewise.
4869 * reload1.c: Likewise.
4870 * reload.c: Likewise.
4871 * rtl.c: Likewise.
4872
4873 2002-01-09 Kazu Hirata <kazu@hxi.com>
4874
4875 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
4876 to extract items in the expr_list chain.
4877
4878 2002-01-09 Richard Henderson <rth@redhat.com>
4879
4880 * config/vax/vax.c (vax_rtx_cost): Never abort.
4881
4882 * config/vax/vax.h (REAL_ARITHMETIC): Define.
4883
4884 2002-01-09 Jan Hubicka <jh@suse.cz>
4885
4886 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
4887
4888 2002-01-09 Richard Henderson <rth@redhat.com>
4889
4890 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
4891 Unify code from various alternatives.
4892
4893 2002-01-09 Richard Henderson <rth@redhat.com>
4894
4895 * regrename.c (copy_value): Ignore the copy if the source register
4896 is present in the value chain with a narrower mode.
4897
4898 2002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4899
4900 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
4901 for the c4x target. Also improve layout.
4902
4903 2002-01-09 Richard Henderson <rth@redhat.com>
4904
4905 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
4906 * config/m32r/m32r.md (and ior xor splitters): Swap operands
4907 to match insn patterns.
4908
4909 2002-01-09 Richard Henderson <rth@redhat.com>
4910
4911 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
4912 (copyprop_hardreg_forward_1): Likewise.
4913
4914 2002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
4915
4916 * pa.md (decrement_and_branch_until_zero): Change predicate for
4917 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
4918
4919 2002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
4920
4921 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
4922 gets undefined. For Darwin.
4923
4924 2002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4925
4926 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
4927
4928 2002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4929
4930 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
4931
4932 2002-01-08 Richard Henderson <rth@redhat.com>
4933
4934 * regrename.c (copy_value): Ignore overlapping copies.
4935
4936 2002-01-08 Richard Henderson <rth@redhat.com>
4937
4938 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
4939 as needed to avoid shared structure.
4940
4941 2002-01-08 Kazu Hirata <kazu@hxi.com>
4942
4943 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
4944 H8/300H and H8/S.
4945
4946 2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
4947
4948 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
4949 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
4950 documentation of obsolete macros.
4951 * system.h: Poison these macros.
4952 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
4953 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
4954 config/c4x/c4x.h, config/clipper/clipper.h,
4955 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
4956 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
4957 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
4958 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
4959 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
4960 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
4961 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
4962 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
4963 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
4964 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
4965 config/sparc/sparc.h, config/stormy16/stormy16.h,
4966 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
4967 definitions and commented out definitions of obsolete macros.
4968 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
4969 of MAX_INT_TYPE_SIZE.
4970
4971 2002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
4972
4973 * config/s390/s390.c (s390_preferred_reload_class): Never
4974 return ADDR_REGS if it isn't a subset of the given class.
4975 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
4976 FP_REGS, but all superclasses as well.
4977
4978 * config/s390/s390.c (s390_function_profiler): Fix thinko.
4979
4980 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
4981 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
4982 must not be a const_int.
4983
4984 2002-01-08 Richard Henderson <rth@redhat.com>
4985
4986 * Makefile.in (toplev.o): Depend on options.h.
4987 (gcc.o): Depend on specs.h.
4988
4989 2002-01-08 Jakub Jelinek <jakub@redhat.com>
4990
4991 * expr.c (store_expr): Convert VOIDmode constants back to target's
4992 mode.
4993
4994 2002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4995
4996 * doc/invoke.texi: Markup gcc as @command. Refer to
4997 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
4998 of http://gcc.gnu.org/thanks.html.
4999
5000 2002-01-08 Dale Johannesen <dalej@apple.com>
5001
5002 * config/rs6000/rs6000.md: Add missing int register
5003 target case to movdf_low.
5004
5005 2002-01-08 Zack Weinberg <zack@codesourcery.com>
5006
5007 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
5008 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
5009 (cppinit.o): Depend on except.h.
5010 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
5011 s-specs): New rules.
5012
5013 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
5014 Don't create specs.h/options.h/gencheck.h here. Remove
5015 unnecessary variable settings from last argument of AC_OUTPUT.
5016 * config.in, configure: Regenerate.
5017 * intl.c: Hardcode package name as "gcc".
5018
5019 * cppinit.c: Include except.h.
5020 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
5021 appropriate.
5022 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
5023 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
5024 (!)USING_SJLJ_EXCEPTIONS.
5025 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
5026
5027 2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
5028
5029 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
5030 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
5031 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
5032 documentation of obsolete macros.
5033 * system.h: Poison these macros.
5034 * config/d30v/d30v.h, config/ns32k/encore.h,
5035 config/stormy16/stormy16.h: Remove definitions and commented out
5036 definitions of obsolete macros.
5037
5038 Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
5039
5040 * objc/objc-act.c (handle_class_ref): Mark the declaration of
5041 %sobjc_class_ref_%s as used - to prevent unwanted compiler
5042 warnings.
5043
5044 2002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
5045
5046 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
5047 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
5048 to insn adjusting stack/frame pointer.
5049 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
5050 accept operands that cause the insn to be non-splittable.
5051
5052 2002-01-08 Graham Stott <grahams@redhat.com>
5053
5054 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
5055 (C_TYPE_FIELDS_VOLATILE): Likewise.
5056 (C_TYPE_BEING_DEFINED): Likewise.
5057 (C_IS_RESERVED_WORD): Likewise.
5058 (C_TYPE_VARIABLE_SIZE): Likewise.
5059 (C_DECL_VARIABLE_SIZE): Likewise.
5060 (C_MISSING_PROTOTYPE_WARNED): Likewise.
5061 (C_SET_EXP_ORIGINAL_CODE): Likewise.
5062 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
5063 parenthesis.
5064 (C_DECL_ANTICIPATED): Likewise.
5065 (c_build_type_variant): Add parenthesis.
5066
5067 2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
5068
5069 * gcc.c (option_map): Remove --version.
5070 (process_command): Handle -fversion following the GNU Coding
5071 Standards. Partially addresses PR other/704.
5072
5073 2002-01-08 Graham Stott <grahams@redhat.com>
5074
5075 * combine.c (combine_instructions): Fix typo.
5076
5077 2002-01-08 Graham Stott <grahams@redhat.com>
5078
5079 * debug.h: Use "tree" and "rtx" throughout.
5080
5081 * debug.c: Likewise.
5082
5083 2002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
5084
5085 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
5086 constant pool, use the pool's version of the symbol instead.
5087
5088 2002-01-07 Richard Henderson <rth@redhat.com>
5089
5090 * regrename.c (find_oldest_value_reg): Ignore the value chain if
5091 the original register was copied in a mode with a fewer number of
5092 hard registers than the desired mode.
5093 (copyprop_hardreg_forward_1): Likewise.
5094 (debug_value_data): Fix loop test.
5095 * toplev.c (parse_options_and_default_flags): Reenable
5096 -fcprop-registers at -O1.
5097
5098 2002-01-07 Aldy Hernandez <aldyh@redhat.com>
5099
5100 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
5101 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
5102
5103 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
5104 predicates.
5105
5106 * config/rs6000/rs6000.md: Add altivec predicate patterns.
5107
5108 2002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
5109
5110 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
5111 (pa_output_function_prologue): Output local label at the beginning of
5112 the prologue when profiling.
5113 (hppa_profile_hook): Use the local label rather than the function label.
5114 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
5115
5116 2002-01-07 Aldy Hernandez <aldyh@redhat.com>
5117
5118 * config/rs6000/rs6000.c (print_operand): Remove extra space.
5119 (altivec_expand_unop_builtin): Fix thinko.
5120 (altivec_expand_binop_builtin): Same.
5121 (altivec_expand_ternop_builtin): Same.
5122 (altivec_expand_builtin): Same.
5123
5124 2002-01-07 Richard Henderson <rth@redhat.com>
5125
5126 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
5127
5128 2002-01-07 Jason Merrill <jason@redhat.com>
5129
5130 * unwind-dw2.c (execute_cfa_program): Use < again.
5131
5132 2002-01-07 Jakub Jelinek <jakub@redhat.com>
5133
5134 * predict.c (combine_predictions_for_insn): Avoid division by zero.
5135
5136 2002-01-07 Jakub Jelinek <jakub@redhat.com>
5137
5138 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
5139 Don't allow -1 - x -> ~x simplifications in the first pass.
5140
5141 2002-01-07 Aldy Hernandez <aldyh@redhat.com>
5142
5143 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
5144 arguments.
5145 (altivec_expand_binop_builtin): Same.
5146 (altivec_expand_unop_builtin): Same.
5147 (print_operand): Fix typo.
5148 (bdesc_1arg): Add vupk* variants.
5149
5150 * rs6000.h (rs6000_builtins): Add vupk* enums.
5151
5152 * rs6000.md: Add altivec_vupk* variants.
5153
5154 2002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
5155
5156 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
5157 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
5158 and last update dates.
5159
5160 2002-01-07 Janis Johnson <janis187@us.ibm.com>
5161
5162 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
5163
5164 2002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
5165
5166 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
5167 * config/avr/avr.h (CPP_SPEC): Likewise.
5168 (LINK_SPEC): Likewise.
5169 (CRT_BINUTILS_SPECS): Likewise.
5170 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
5171 * doc/invoke.texi (AVR Options): Document them.
5172
5173 Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
5174
5175 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
5176 LABEL_NUSES.
5177
5178 2002-01-07 Graham Stott <grahams@redhat.com>
5179
5180 * config/i386/i386.h: Update copyright date.
5181 (HALF_PIC_PTR): Add parenthesis.
5182 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
5183 (CONSTANT_ALIGNMENT): Add parenthesis.
5184 (DATA_ALIGNMENT): Likewise.
5185 (LOCAL_ALIGNMENT): Likewise.
5186 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
5187 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
5188 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
5189 (HARD_REGNO_NREGS): Add paranethesis.
5190 (VALID_SSE_REG_MODE): Whitespace.
5191 (VALID_MMX_REG_MODE): Whitespace.
5192 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
5193 (ix86_hard_regno_mode_ok): Add parenthesis.
5194 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
5195 (RETURN_IN_MEMORY): Whitespace.
5196 (N_REG_CLASSES): Add parenthesis.
5197 (INTEGER_CLASS_P): Add parenthesis and wrap.
5198 (FLOAT_CLASS_P): Likewise.
5199 (SSE_CLASS_P): Likewise.
5200 (MMX_CLASS_P): Likewise.
5201 (MAYBE_INTEGER_CLASS_P): Likewise.
5202 (MAYBE_FLOAT_CLASS_P): Likewise.
5203 (MAYBE_SSE_CLASS_P): Likewise.
5204 (MAYBE_MMX_CLASS_P): Likewise.
5205 (Q_CLASS_P): Likewise.
5206 (GENERAL_REGNO_P): Uppercase macro parameter.
5207 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
5208 (FP_REGNO_P): Likewise.
5209 (ANY_FP_REGNO_P): Uppercase macro parameter.
5210 (SSE_REGNO_P): Likewise.
5211 (SSE_REGNO): Likewise.
5212 (SSE_REG_P): Likewise.
5213 (SSE_FLOAT_MODE_P): Likewise.
5214 (MMX_REGNO_P): Likewise.
5215 (MMX_REG_P):Likewise.
5216 (STACK_REG_P): Likewise.
5217 (NON_STACK_REG_P): Likewise.
5218 (STACK_TOP_P): Likewise.
5219 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
5220 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
5221 (SECONDARY_MEMORY_NEEDED): Likewise.
5222 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
5223 (MD_ASM_CLOBBERS): Whitespace and wrap.
5224 (MUST_PASS_IN_STACK): Whitespace and wrap.
5225 (RETURN_POPS_ARGS): Add parenthesis.
5226 (INIT_CUMULATIVE_ARGS): Likewise.
5227 (FUNCTION_ARG): Likewise.
5228 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
5229 (SETUP_INCOMING_VARARGS): Likewise.
5230 (BUILD_VA_LIST_TYPE): Add parenthesis.
5231 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
5232 parenthsis.
5233 (EXPAND_BUILTIN_VA_ARG): Likewise.
5234 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
5235 (INITIALIZE_TRAMPOLINE): Add parenthesis.
5236 (INITIAL_ELIMINATION_OFFSET): Likewise.
5237 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
5238 (REGNO_OK_FOR_BASE_P): Likewise.
5239 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
5240 (REGNO_OK_FOR_DIREG_P): Likewise.
5241 (REG_OK_FOR_INDEX_P): Whitespace.
5242 (REG_OK_FOR_BASE_P): Whitespace.
5243 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
5244 parenthesis.
5245 (FIND_BASE_TERM): Fix typo.
5246 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
5247 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
5248 (SYMBOLIC_CONST; Whitespace.
5249 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
5250 (ENCODE_SECTION_INFO): Whitespace.
5251 (FINALIZE_PIC): Remove do { ... } while (0).
5252 (PROMOTE_MODE): Wrap in do { ... } while (0).
5253 (CONST_COSTS): Whitespace.
5254 (RTX_COSTS): Add paramethesis, whitespace and wrap.
5255 (REGISTER_MOVE_COST): Add parenthesis.
5256 (MEMORY_MOVE_COST): Likewise.
5257 (EXTRA_CC_MODES): Whitespace.
5258 (SELECT_CC_MODE): Add parenthesis and whitespace.
5259 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
5260 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
5261 (ASM_OUTPUT_LABEL): Add paramethesis.
5262 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
5263 (ASM_OUTPUT_REG_POP): Likewise.
5264 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
5265 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5266
5267 * config/i386/i386.c: Update copyright.
5268 (CHECK_STACK_LIMIT): Add parenthesis.
5269 (AT_BP): Uppercase macro parameter.
5270 (x86_64_int_parameter_registers): Constify.
5271 (x86_64_int_return_registers): Likewise.
5272 (ix86_compare_op0): Use rtx.
5273 (construct_container): Constify INTREG parameter.
5274 (function_arg): Use rtx.
5275
5276 * diagnostic.h: Update copyright date.
5277 (output_buffer_state): Add parenthesis.
5278 (output_buffer_format_args): Likewise.
5279
5280 * combine.c (combine_instructions): Replace XEXP (links, 0)
5281 with link.
5282
5283 2002-01-06 H.J. Lu <hjl@gnu.org>
5284
5285 * cfgcleanup.c (thread_jump): Fix 2 typos.
5286
5287 2002-01-06 Aldy Hernandez <aldyh@redhat.com>
5288
5289 * config.gcc: Add support for --enable-altivec.
5290
5291 2002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
5292
5293 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
5294
5295 2002-01-06 Jakub Jelinek <jakub@redhat.com>
5296
5297 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
5298 __objc_class_name_*.
5299
5300 2002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
5301
5302 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
5303
5304 2002-01-06 Richard Henderson <rth@redhat.com>
5305
5306 * reorg.c (emit_delay_sequence): Remove death notes, not merely
5307 nop them out. Increment label reference count for REG_LABEL.
5308 (fill_slots_from_thread): Frob label reference count around
5309 delete_related_insns.
5310
5311 2002-01-05 Richard Henderson <rth@redhat.com>
5312
5313 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
5314 jump threading.
5315
5316 2002-01-05 Richard Henderson <rth@redhat.com>
5317
5318 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
5319 * integrate.c (output_inline_function): Likewise.
5320 * toplev.c (rest_of_compilation): Do it here instead. Move call
5321 to remove_unnecessary_notes after emitting abstract instance.
5322 Force an emitted nested function to have its parent emited as well.
5323 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
5324 for null.
5325 (rtl_for_decl_location): Do not look at reload data structures
5326 before reload has run.
5327
5328 2002-01-05 Kazu Hirata <kazu@hxi.com>
5329
5330 * cse.c: Fix formatting.
5331 * dwarf2asm.c: Likewise.
5332 * dwarf2out.c: Likewise.
5333 * explow.c: Likewise.
5334 * expmed.c: Likewise.
5335 * function.c: Likewise.
5336 * gcov.c: Likewise.
5337 * gencheck.c: Likewise.
5338 * genrecog.c: Likewise.
5339 * ggc-common.c: Likewise.
5340 * ggc-page.c: Likewise.
5341 * global.c: Likewise.
5342
5343 2002-01-05 Kazu Hirata <kazu@hxi.com>
5344
5345 * combine.c: Fix formatting.
5346
5347 2002-01-05 Craig Rodrigues <crodrigu@bbn.com>
5348
5349 PR middle-end/1557
5350 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
5351
5352 2002-01-05 David Edelsohn <edelsohn@gnu.org>
5353
5354 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
5355 as 1 for __powerpc64__ as well.
5356
5357 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
5358
5359 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
5360 return it.
5361
5362 2002-01-05 Daniel Berlin <dan@dberlin.org>
5363
5364 * lcm.c: Revert change, due to performance regression it causes on
5365 SPEC because it's slightly more conservative (sigh, I hate
5366 edge-based LCM).
5367
5368 Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
5369
5370 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
5371
5372 2002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
5373
5374 * doc/cppinternals.texi: Update.
5375
5376 2002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
5377
5378 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
5379 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
5380 negatives.
5381 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
5382 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
5383 kludge for pre-october-14th mmix versions to handle new-found bug
5384 with PUSHJ/PUSHGO and the register stack.
5385 * config/mmix/mmix.h (struct machine_function): Rename member
5386 has_call_value_without_parameters to has_call_without_parameters.
5387 All referers changed.
5388 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
5389 TARGET_MASK_BRANCH_PREDICT): New macros.
5390 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
5391 -mno-reg-stack-fill-bug-workaround.
5392 * config/mmix/mmix.md ("call"): Set struct machine member
5393 has_call_without_parameters.
5394
5395 Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
5396
5397 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
5398
5399 Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
5400
5401 * cfgcleanup.c: Include tm_p.h
5402 (mark_effect): Fix handling of hard register; fix handling of SET
5403
5404 2002-01-04 Kazu Hirata <kazu@hxi.com>
5405
5406 * config/h8300/h8300.md (anonymous patterns): Check that
5407 operands are registers before using REGNO on them.
5408
5409 2002-01-03 Roland McGrath <roland@frob.com>
5410
5411 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
5412
5413 2002-01-04 Jakub Jelinek <jakub@redhat.com>
5414
5415 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
5416 * c-common.h (genrtl_expr_stmt_value): Likewise.
5417 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
5418 (expand_expr_stmt_value): Add maybe_last argument.
5419 Don't warn about statement with no effect if it is the last statement
5420 in expression statement.
5421 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
5422 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
5423 expand_expr_stmt_value.
5424 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
5425 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
5426 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
5427 as maybe_last to expand_expr_stmt_value.
5428
5429 Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
5430
5431 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
5432 be passed in, do not build it.
5433 (c_begin_if_stmt): New function.
5434 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
5435 * c-common.h (c_expand_start_cond): Update prototype.
5436 (c_begin_if_stmt): Prototype new function.
5437 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
5438 * c-parse.in (if_prefix): Use c_begin_if_stmt,
5439 c_begin_while_stmt and c_finish_while_stmt_cond.
5440
5441 2002-01-04 William Cohen <wcohen@redhat.com>
5442
5443 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
5444 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
5445 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
5446 * config/pa/som.h (ASM_FILE_START): Likewise.
5447
5448 2002-01-04 Daniel Berlin <dan@cgsoftware.com>
5449
5450 * lcm.c: Include df.h.
5451 Add available_transfer_function prototype.
5452 (compute_available): Rework to use iterative dataflow framework.
5453 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
5454 with bb_info in df.h
5455 (available_transfer_function): New function.
5456
5457 * Makefile.in (lcm.o): add df.h to dependencies.
5458
5459 2002-01-04 Richard Henderson <rth@redhat.com>
5460
5461 * config/alpha/alpha.c (some_operand): Accept HIGH.
5462 (input_operand): Likewise; accept simple references to globals.
5463 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
5464 (alpha_const_double_ok_for_letter_p): Likewise.
5465 (alpha_extra_constraint): Likewise.
5466 (alpha_preferred_reload_class): Likewise. Do not force
5467 symbolic constants to memory.
5468 (alpha_legitimate_address_p): Accept simple references
5469 to small_symbolic_operand.
5470 (alpha_legitimize_address): New arg scratch. Be prepared to be
5471 called when no_new_pseudos. Emit simple symbolic references.
5472 Split integers into low, high, and rest.
5473 (alpha_expand_mov): Use alpha_legitimize_address.
5474 (some_small_symbolic_mem_operand): New.
5475 (split_small_symbolic_mem_operand): New.
5476 * config/alpha/alpha-protos.h: Update.
5477 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
5478 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
5479 (EXTRA_CONSTRAINT): Likewise.
5480 (PREFERRED_RELOAD_CLASS): Likewise.
5481 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
5482 (PREDICATE_CODES): Update.
5483 * config/alpha/alpha.md: New post-reload splitters to convert
5484 simplfied symbolic operands to the form that references $29.
5485 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
5486 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
5487
5488 2002-01-03 Richard Henderson <rth@redhat.com>
5489
5490 * local-alloc.c (function_invariant_p): Update commentary.
5491
5492 2002-01-04 H.J. Lu <hjl@gnu.org>
5493
5494 * toplev.c (rest_of_compilation): Fix a typo when calling
5495 cleanup_cfg.
5496
5497 2002-01-03 Kazu Hirata <kazu@hxi.com>
5498
5499 * c-common.c: Fix formatting.
5500 * diagnostic.c: Likewise.
5501 * doloop.c: Likewise.
5502 * dwarf2out.c: Likewise.
5503
5504 2002-01-03 Kazu Hirata <kazu@hxi.com>
5505
5506 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
5507 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
5508
5509 2002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
5510
5511 * cpperror.c: Update comments and copyright.
5512 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
5513 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
5514
5515 2002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
5516
5517 * collect2.c (main): Use strcmp when testing for "-shared".
5518
5519 2002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
5520
5521 * cppmacro.c: Don't include intl.h. Update comments.
5522 (new_number_token): Allocate enough buffer for 64-bit unsigned
5523 integers; update prototype.
5524 * cppmain.c: Update comments.
5525
5526 2002-01-03 William Cohen <wcohen@redhat.com>
5527
5528 * function.h (struct function): Add profile.
5529 (current_function_profile): New.
5530 doc/extend.texi: Update documentation.
5531 * final.c (final_start_function): Use current_function_profile
5532 instead of profile_flag.
5533 (profile_after_prologue): Likewise.
5534 * function.c (expand_function_start): Likewise.
5535 (expand_function_start): Likewise.
5536 * config/alpha/alpha.c (direct_call_operand):
5537 (alpha_does_function_need_gp): Likewise.
5538 (alpha_expand_prologue): Likewise.
5539 * config/arm/arm.c (arm_expand_prologue): Likewise.
5540 thumb_expand_prologue: Likewise.
5541 * config/d30v/d30v.c (d30v_stack_info): Likewise.
5542 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
5543 (fr30_expand_prologue): Likewise.
5544 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
5545 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
5546 * config/i386/i386.h (FINALIZE_PIC): Likewise.
5547 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
5548 * config/i960/i960.c (i960_output_function_prologue): Likewise.
5549 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
5550 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
5551 (m32r_expand_prologue): Likewise.
5552 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
5553 (m88k_expand_prologue): Likewise.
5554 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
5555 * config/mips/mips.c (compute_frame_size): Likewise.
5556 (mips_expand_prologue): Likewise.
5557 (mips_can_use_return_insn): Likewise.
5558 * config/pa/elf.h (ASM_FILE_START): Likewise.
5559 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
5560 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
5561 * config/pa/som.h (ASM_FILE_START): Likewise.
5562 * config/romp/romp.c (romp_using_r14): Likewise.
5563 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
5564 (rs6000_stack_info): Likewise.
5565 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
5566 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
5567 * config/v850/v850.c (compute_register_save_size): Likewise.
5568
5569 2002-01-03 Jakub Jelinek <jakub@redhat.com>
5570
5571 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
5572 gen_lowpart_common fails, use gen_lowpart_SUBREG.
5573
5574 2002-01-03 Turly O'Connor <turly@apple.com>
5575
5576 * darwin.c (machopic_output_possible_stub_label): Don't generate
5577 stub routines for pseudo-stubs which we've just defined.
5578
5579 2002-01-03 Kazu Hirata <kazu@hxi.com>
5580
5581 * builtins.c: Fix formatting.
5582 * c-typeck.c: Likewise.
5583 * combine.c: Likewise.
5584 * expr.c: Likewise.
5585 * loop.c: Likewise.
5586
5587 2002-01-03 Andreas Schwab <schwab@suse.de>
5588
5589 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
5590 and return true if _cpp_push_next_buffer pushed a new include
5591 file.
5592 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
5593 _cpp_pop_file_buffer did not push a new file.
5594 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
5595
5596 2002-01-02 Eric Christopher <echristo@redhat.com>
5597
5598 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
5599 FIND_REG_INC_NOTE call. Update copyright.
5600 * loop.c (canonicalize_condition): Ditto.
5601 * reorg.c (delete_scheduled_jump): Ditto.
5602
5603 2002-01-03 Kazu Hirata <kazu@hxi.com>
5604
5605 * gcse.c: Fix formatting.
5606
5607 2002-01-03 Graham Stott <grahams@redhat.com>
5608
5609 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
5610 forward defs for struct tags rtx_def, union_tree, rtvec_def
5611 also output corresponding typedefs for rtx, tree, and rtvec.
5612
5613 * system.h: Move forward defs for struct tags rtx_def, union_tree,
5614 rtvec_def along with corresponding typedefs for rtx, tree, and
5615 rtvec to config.h, hconfig.h, tconfig.h.
5616
5617 2002-01-03 Graham Stott <grahams@redhat.com>
5618
5619 * tree.h: Update copyright date.
5620 (IS_EXPR_CODE_CLASS): Add parenthesis.
5621 (TREE_SET_CODE): Add whitespace.
5622 (TREE_CHECK): Add parenthesis.
5623 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
5624 (CST_OR_CONSTRUCTOR_CHECK):
5625 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
5626 (TREE_SYMBOL_REFERENCED): Whitespace.
5627 (INT_CST_LT): Likewise.
5628 (INT_CST_LT_UNSIGNED): Likewise.
5629 (tree_real_cst): Unwrap comment.
5630 (tree_string): Likewise.
5631 (tree_complex): Likewise.
5632 (IDENTIFIER_POINTER): correct cast.
5633 (SAVE_EXPR_CONTEXT): Whitespace.
5634 (EXPR_WFL_FILENAME_NODE): Likewise.
5635 (EXPR_WFL_FILENAME): Remove parenthesis.
5636 (DECL_ORIGIN): Add parenthesis.
5637 (DECL_FROM_INLINE): Use NULL_TREE.
5638 (build_int_2): Whitespace.
5639 (build_type_variant): Add parenthesis.
5640
5641 * gcc/jcf-parse.c: Update copyright date.
5642 (yyparse): Constify resource_filename.
5643
5644 2002-01-03 Graham Stott <grahams@redhat.com>
5645
5646 * rtl.h: Update copyright date.
5647 (RTL_CHECK1): Wrap long line.
5648 (RTL_CHECK2): Likewise.
5649 (RTL_CHECKC1): Wrap long line and whitespace.
5650 (RTL_CHECKC2): Likewise.
5651 (XWINT): Whitespace.
5652 (XINT): Likewise.
5653 (XSTR): Likewise.
5654 (XEXP): Likewise.
5655 (XVEC): Likewise.
5656 (XMODE): Likewise.
5657 (XBITMAP): Likewise.
5658 (XTREE): Likewise.
5659 (XBBDEF): Likewise.
5660 (XTMPL): Likewise.
5661 (X0WINT): Likewise.
5662 (X0INT):Likewise.
5663 (X0UINT): Likewise.
5664 (X0STR): Likewise.
5665 (X0EXP): Likewise.
5666 (X0VEC): Likewise.
5667 (X0MODE): Likewise.
5668 (X0BITMAP): Likewise.
5669 (X0TREE): Likewise.
5670 (X0BBDEF): Likewise.
5671 (X0ADVFLAGS): Likewise.
5672 (X0CSELIB): Likewise.
5673 (X0MEMATTR): Likewise.
5674 (XCWINT): Likewise.
5675 (XCINT): Likewise.
5676 (XCUINT): Likewise.
5677 (XCSTR): Likewise.
5678 (XCEXP): Likewise.
5679 (XCVEC): Likewise.
5680 (XCMODE): Likewise.
5681 (XCBITMAP): Likewise.
5682 (XCTREE): Likewise.
5683 (XCBBDEF): Likewise.
5684 (XCADVFLAGS): Likewise.
5685 (XCCSELIB): Likewise.
5686 (XC2EXP): Likewise.
5687 (INSN_UID): Likewise.
5688 (PREV_INSN): Likewise.
5689 (PATTERN): Likewise.
5690 (INSN_CODE): Likewise.
5691 (PUT_REG_NOTE_KIND): Likewise.
5692 (CODE_LABEL_NUMBER): Likewise.
5693 (NOTE_SOURCE_FILE): Likewise.
5694 (NOTE_BLOCK): Likewise.
5695 (NOTE_EH_HANDLER): Likewise.
5696 (NOTE_RANGE_INFO): Likewise.
5697 (NOTE_LIVE_INFO): Likewise.
5698 (NOTE_BASIC_BLOCK): Likewise.
5699 (NOTE_EXPECTED_VALUE): Likewise.
5700 (NOTE_LINE_NUMBER): Likewise.
5701 (LABEL_NAME): Likewise.
5702 (LABEL_NUSES): Likewise.
5703 (LABEL_ALTERNATE_NAME): Likewise.
5704 (ADDRESSOF_DECL): Likewise.
5705 (JUMP_LABEL): Likewise.
5706 (LABEL_NEXTREF): Likewise.
5707 (REGNO): Likewise.
5708 (ORIGINAL_REGNO: Likewise.
5709 (HARD_REGISTER_NUM_P): Add parenthesis.
5710 (SUBREG_REG): Whitespace.
5711 (SUBREG_BYTE): Likewise.
5712 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
5713 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
5714 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
5715 (ASM_OPERANDS_INPUT_VEC): Likewise.
5716 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
5717 (ASM_OPERANDS_INPUT): Likewise.
5718 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
5719 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
5720 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
5721 (ASM_OPERANDS_INPUT_MODE): Likewise.
5722 (ASM_OPERANDS_SOURCE_FILE): Likewise.
5723 (ASM_OPERANDS_SOURCE_LINE): Likewise.
5724 (MEM_SET_IN_STRUCT_P): Minor reformat.
5725 (TRAP_CONDITION): Whitespace.
5726 (TRAP_CODE): Likewise.
5727 (COND_EXEC_TEST): Likewise.
5728 (COND_EXEC_CODE): Likewise.
5729 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
5730 (PHI_NODE_P): Add parenthesis.
5731 (plus_constant): Whitespace and add parenthesis.
5732
5733 2002-01-03 Kazu Hirata <kazu@hxi.com>
5734
5735 * config/avr/avr.c: Fix comment typos.
5736 * config/c4x/c4x.md: Likewise.
5737 * config/dsp16xx/dsp16xx.h: Likewise.
5738 * config/dsp16xx/dsp16xx.md: Likewise.
5739 * config/i386/i386.md: Likewise.
5740 * config/ia64/ia64.c: Likewise.
5741 * config/m32r/m32r.h: Likewise.
5742 * config/m68hc11/m68hc11.md: Likewise.
5743 * config/mmix/mmix.c: Likewise.
5744 * config/mn10200/mn10200.c: Likewise.
5745 * config/romp/romp.c: Likewise.
5746 * config/sh/sh.c: Likewise.
5747 * config/stormy16/stormy16.c: Likewise.
5748 * config/stormy16/stormy16.h: Likewise.
5749 * config/stormy16/stormy16.md: Likewise.
5750
5751 2002-01-03 Graham Stott <grahams@redhat.com>
5752
5753 * loop.h: Update copyright date.
5754 (LOOP_MOVABLES): Fix typo.
5755 (LOOP_REGS): Likewise.
5756 (LOOP_IVS): Likewise.
5757
5758 2002-01-03 Graham Stott <grahams@redhat.com>
5759
5760 * cppinit.c: Update copyright date.
5761 Don't include output.h
5762 * Makefile.in: Update copyright date.
5763 Update dependency.
5764
5765 2002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
5766
5767 PR c/5226
5768 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
5769 (-pthread) Add to RS/6000 options.
5770
5771 2002-01-02 Kazu Hirata <kazu@hxi.com>
5772
5773 * except.c: Fix comment typos.
5774 * loop.c: Likewise.
5775 * varasm.c: Likewise.
5776 * doc/tm.texi: Fix a typo.
5777
5778 2002-01-02 Jakub Jelinek <jakub@redhat.com>
5779
5780 * c-typeck.c (output_init_element): Allow initializing static storage
5781 duration objects with compound literals.
5782
5783 2002-01-02 Richard Henderson <rth@redhat.com>
5784
5785 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
5786 after abusing it.
5787
5788 2002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5789
5790 * gcc.c (default_compilers): Const-ify.
5791 * mips-tdump.c (stab_names): Likewise.
5792 * mips-tfile.c (map_coff_types, map_coff_storage,
5793 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
5794 pseudo_ops_t, pseudo_ops): Likewise.
5795 * protoize.c (default_include): Likewise
5796
5797 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
5798 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
5799 Add array size in declaration.
5800 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
5801 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
5802 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
5803 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
5804 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
5805 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
5806 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
5807 emtens, make_nan): Const-ify.
5808 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
5809 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
5810
5811 2002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
5812
5813 * config.gcc (ia64-*-*): Set extra_headers.
5814 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
5815 * config/alpha/t-osf: Remove.
5816 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
5817
5818 2002-01-02 David Edelsohn <edelsohn@gnu.org>
5819
5820 * config/rs6000/t-aix43: Revert previous change.
5821
5822 2002-01-02 Jason Merrill <jason@redhat.com>
5823
5824 * c-decl.c (c_expand_body): Call outlining_inline_function when
5825 emitting an inline function out of line.
5826
5827 2002-01-02 Richard Henderson <rth@redhat.com>
5828
5829 * dwarf2out.c (limbo_die_node): Add created_for member.
5830 (new_die): New argument created_for. Update all callers.
5831 (mark_limbo_die_list): New.
5832 (dwarf2out_init): Register limbo_die_list as a root.
5833 (dwarf2out_finish): Force insert limbo dies into their function
5834 context.
5835
5836 2002-01-02 Nathan Sidwell <nathan@codesourcery.com>
5837
5838 PR c++/5089
5839 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
5840
5841 2002-01-02 Kazu Hirata <kazu@hxi.com>
5842
5843 * config/h8300/fixunssfsi.c: Update copyright.
5844 Fix comment typos.
5845 Fix formatting.
5846 * config/h8300/h8300.c: Update copyright.
5847 Eliminate warnings.
5848
5849 2002-01-02 Kazu Hirata <kazu@hxi.com>
5850
5851 * config/romp/romp.c: Fix comment formatting.
5852 * config/romp/romp.h: Likewise.
5853 * config/romp/romp.md: Likewise.
5854 * config/s390/s390.c: Likewise.
5855 * config/stormy16/stormy16.c: Likewise.
5856 * config/stormy16/stormy16.h: Likewise.
5857
5858 2002-01-02 Alexandre Oliva <aoliva@redhat.com>
5859
5860 * c-common.h (genrtl_expr_stmt_value): Declare.
5861 * c-semantics.c (genrtl_goto_stmt): Redirect to...
5862 (genrtl_goto_stmt_value): ... this new function. Pass new
5863 argument down to expand_expr_stmt_value, taking
5864 TREE_ADDRESSABLE into account.
5865 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
5866 STMT_EXPR as addressable, i.e., one whose result we want.
5867 * expr.c (expand_expr): Don't save expression statement value
5868 of labeled_blocks or loop_exprs.
5869 * stmt.c (expand_expr_stmt): Redirect to...
5870 (expand_expr_stmt_value): ... this new function. Use new
5871 argument to tell whether to save expression value.
5872 (expand_end_stmt_expr): Reset last_expr_type and
5873 last_expr_value if we don't have either.
5874 * tree-inline.c (declare_return_variable): Mark its use
5875 statement as addressable.
5876 * tree.h: Document new use of TREE_ADDRESSABLE.
5877 (expand_expr_stmt_value): Declare.
5878
5879 2002-01-01 Tom Rix <trix@redhat.com>
5880
5881 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
5882 rs6000_emit_allocate_stack.
5883
5884 2002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
5885
5886 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
5887 ${srcdir}/ginclude/ to every entry in extra_headers.
5888 * configure: Regenerate.
5889 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
5890 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
5891 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
5892 * ginclude/proto.h: Rename to config/convex/proto.h.
5893
5894 Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5895
5896 * attribs.c (handle_vector_size_attribute): Use host_integerp
5897 and tree_int_cst; remove warnings.
5898 * caller-save.c (insert_restore): Add cast to get rid of warning.
5899 (insert_save): Likewise.
5900 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
5901 * regmove.c (find_matches): Add temporary var to kill a warning.
5902
5903 2002-01-01 Douglas B Rupp <rupp@gnat.com>
5904
5905 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
5906 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
5907 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
5908 (vms-dwarf2eh.o): Add Makefile rule.
5909 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
5910 * config/alpha/vms-dwarf2eh.asm: New file.
5911
5912 * gcc.c (delete_if_ordinary): Delete all versions.
5913
5914 2002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
5915
5916 * config/mmix/mmix.md: Update FIXME to not mention
5917 define_constants.
5918 (MMIX_rJ_REGNUM): New define_constants constant.
5919 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
5920 "*movdicc_real"): Adjust contraints formatting.
5921 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
5922 for branch prediction.
5923 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
5924 output template.
5925 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
5926 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
5927 number. Delete related FIXMEs.
5928 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
5929 from number to MMIX_rJ_REGNUM.
5930 (TARGET_MASK_BRANCH_PREDICT): New.
5931 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
5932 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
5933 value. Add -mbranch-predict and -mno-branch-predict.
5934 (TARGET_VERSION): Drop date.
5935 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
5936 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
5937 for finding out global symbols.
5938 (mmix_asm_output_labelref): Revert condition for global symbol.
5939 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
5940 (mmix_print_operand_punct_valid_p): A '+' is valid.
5941
5942 See ChangeLog.6 for earlier changes.