]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
config.gcc (alpha*-*-gnu*): New target configuration.
[gcc.git] / gcc / ChangeLog
CommitLineData
83248d49
RM
12002-04-15 Roland McGrath <roland@frob.com>
2
3 * config.gcc (alpha*-*-gnu*): New target configuration.
4 * config/alpha/gnu.h: New file for it.
5 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
6
8fe2d853
RH
72002-04-15 Richard Henderson <rth@redhat.com>
8
9 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
10 config/i386/linux-aout.h, config/i386/linux-oldld.h,
11 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
12 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
13 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
14 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
15 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
16 Define __gnu_linux__, not gnu_linux.
17 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
18
07cdae91
MM
192002-04-15 Mark Mitchell <mark@codesourcery.com>
20
21 Remove Chill front end.
22 * gcc.c (default_compilers): Remove Chill entries.
23 * ch: Remove directory.
24 * doc/frontends.texi: Remove information about Chill.
25 * doc/sourcebuild.texi: Likewise.
26 * doc/standards.texi: Likewise.
27
41823c5e
DR
282002-04-15 Douglas B Rupp <rupp@gnat.com>
29
30 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
31 (LONGLONG_STANDALONE): Define.
32
eb29ddb6
DM
332002-04-15 David S. Miller <davem@redhat.com>
34
35 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
36 Call emit_library_call with LCT_NORMAL.
37 (sparc_initialize_trampoline): Use LCT_foo instead of
38 magic constant in emit_library_call invocations.
39 (sparc64_initialize_trampoline): Likewise.
40 (sparc_profile_hook): Likewise.
41 * config/sparc/sparc.md: Likewise.
42
43 * config/sparc/sparc.c (sparc_extra_constraint_check):
44 Fix type of argument 'c'.
45 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
46 Likewise.
47
bd6bec6b
GDR
482002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
49
50 * diagnostic.h (output_buffer_state): Redefine.
51 (output_format_decoder): New macro.
52 (output_prefixing_rule): Likewise.
53 (output_line_cutoff): Likewise.
54 (diagnostic_format_decoder): Adjust.
55 (diagnostic_prefixing_rule): Likewise.
56 (diagnostic_line_cutoff): Likewise.
57 (diagnostic_state): Likewise.
58 (diagnostic_kind_count): Likewise.
59 (diagnostic_buffer): Now a macro.
60
61 * diagnostic.c (diagnostic_buffer): Remove definition.
62 (output_is_line_wrapping): Adjust.
63 (set_real_maximum_length): Likewise.
64 (output_set_maximum_length): Likewise.
65 (init_output_buffer): Likewise.
66 (lhd_print_error_function): Likewise.
67 (output_do_verbatim): Likewise.
68
ebef4e8c
NB
692002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
70
71 * cpperror.c (print_location): Don't print include chain
72 if line == 0.
73 (cpp_begin_message): Update to use DL_ macros.
74 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
75 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
76 cpp_notice, cpp_notice_from_errno): Remove.
77 (cpp_error, cpp_error_with_line): Update to take a diagnostic
78 level.
79 (cpp_errno): New.
80 * cppexp.c (CPP_ICE): Remove.
81 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
82 lex, integer_overflow, _cpp_parse_expr): Update.
83 * cppfiles.c (read_include_file, find_include_file,
84 handle_missing_header, _cpp_read_file, remap_filename): Update.
85 * cpphash.h (enum error_type): Remove.
86 (_cpp_begin_message): Update.
87 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
88 cpp_handle_option, cpp_post_options): Update.
89 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
90 skip_whitespace, parse_identifier, parse_slow, parse_string,
91 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
92 cpp_interpret_charconst): Update.
93 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
94 lex_macro_node, do_undef, glue_header_name, parse_include,
95 do_include_common, read_flag, do_line, do_linemarker, do_ident,
96 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
97 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
98 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
99 _cpp_pop_buffer, do_diagnostic): Update.
100 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
101 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
102 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
103 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
104 cpp_notice, cpp_notice_from_errno): Remove.
105 (cpp_error, cpp_error_with_line): Update to take a diagnostic
106 level.
107 (cpp_errno): New.
108 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
109 collect_args, enter_macro_context, save_parameter, parse_params,
110 _cpp_create_definition, check_trad_stringification,
111 cpp_macro_definition): Update.
112 * cppmain.c (cpp_preprocess_file): Update.
113 * fix-header.c (read_scan_file): Update.
114
c19a3859
AS
1152002-04-14 Andreas Schwab <schwab@suse.de>
116
117 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
118
10fdbed6
JD
1192002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
120
121 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
122
77660a9a
MM
1232002-04-13 Mark Mitchell <mark@codesourcery.com>
124
125 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
126 not gnu_hurd.
127
e0ff1ded
HPN
1282002-04-13 Hans-Peter Nilsson <hp@axis.com>
129
130 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
131
2341c7ea
JS
1322002-04-13 Joel Sherrill <joel@OARcorp.com>
133
134 * config/sparc/t-elf: Enable v8 multilibs. Impacts
135 sparc-elf and sparc-rtems targets.
136
d29350c0
MM
1372002-04-13 Mark Mitchell <mark@codesourcery.com>
138
139 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
140 defined, and __gnu_hurd__ wherever __GNU__ is defined.
141 * arm/linux-elf.h: Likewise.
142 * cris/aout.h: Likewise.
143 * cris/linux.h: Likewise.
144 * i370/linux.h: Likewise.
145 * i386/gnu.h: Likewise.
146 * i386/linux-aout.h: Likewise.
147 * i386/linux-oldld.h: Likewise.
148 * i386/linux.h: Likewise.
149 * i386/linux64.h: Likewise.
150 * ia64/linux.h: Likewise.
151 * m68k/linux-aout.h: Likewise.
152 * m68k/linux.h: Likewise.
153 * mips/linux.h: Likewise.
154 * pa/pa-linux.h: Likewise.
155 * pj/linux.h: Likewise.
156 * rs6000/sysv4.h: Likewise.
157 * s390/linux.h: Likewise.
158 * sh/linux.h: Likewise.
159 * sparc/linux-aout.h: Likewise.
160 * sparc/linux.h: Likewise.
161 * sparc/linux64.h: Likewise.
162 * xtensa/linux.h: Likewise.
163
fc552851
RS
1642002-04-13 Richard Sandiford <rsandifo@redhat.com>
165
166 * stmt.c (check_unique_operand_names): Expect operand names to
167 be strings rather than identifiers. Use simple_cst_equal to
168 compare them.
169 (resolve_operand_name_1): Make same identifier to string change here.
170 * c-parse.in (asm_operand): Convert a named operand into a string.
171 * cp/parse.y (asm_operand): Likewise.
172
1d405c5e
AS
1732002-04-13 Andreas Schwab <schwab@suse.de>
174
175 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
176
c740732f
MM
1772002-04-12 Mark Mitchell <mark@codesourcery.com>
178
179 Revert these changes:
180
181 2002-04-06 Mark Mitchell <mark@codesourcery.com>
182
183 PR c++/5571
184 * stor-layout.c (layout_decl): Reset the RTL for the decl.
185
3fc602a0
RH
1862002-04-12 Richard Henderson <rth@redhat.com>
187
188 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
189 (sparc*-*-solaris): Clean up header files.
190 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
191 and plan on generating 64-bit code.
192 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
193 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
194 * config/sparc/sol2-sld-64.h: Rename ...
195 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
196 for AS_SPARC64_FLAG not defined.
197 * config/sparc/sol2-gld-bi.h: New.
198 * config/sparc/sol2-sld.h: Remove.
199 * config/sparc/sol26-sld.h: New.
200 * config/sparc/sol2.h: Tidy comments.
201 * doc/install.texi: Document sparc-solaris configury changes.
202
2f15e255
RH
2032002-04-12 Richard Henderson <rth@redhat.com>
204
205 * recog.c (offsettable_address_p): Match the logic in adjust_address.
206
207 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
208 in 64-bit mode only. Use only for 32-bit or MEDLOW.
209
cc8475cb
RO
2102002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
211
212 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
213
6f133a4a
JL
214Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
215
ef1b8858 216 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
217 constrain_operands.
218
1329e600
DR
2192002-04-12 Douglas B Rupp <rupp@gnat.com>
220
221 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
222 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
223 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 224 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
225 * config/i386/t-interix (USER_H): Remove.
226
0339d239
DD
2272002-04-12 DJ Delorie <dj@redhat.com>
228
229 * integrate.c (compare_blocks): Make comparisons safe for when
230 sizeof(int) < sizeof(char *).
231 (find_block): Likewise.
232
cc4d5fec
JH
2332002-04-12 Jan Hubicka <jh@suse.cz>
234 David Edelsohn <edelsohn@gnu.org>
235
236 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
237 registers.
238 (symbol_ref_operand): New.
239 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
240 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
241
93215a1b
AS
2422002-04-12 Andreas Schwab <schwab@suse.de>
243
244 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
245 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
246 overrides the definition in config/svr4.h.
247
1d80248e
EN
2482002-04-12 Eric Norum <eric.norum@usask.ca>
249
250 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
251 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
252 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
253 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
254 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
255 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
256 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
257 definitions to config/rtems.h and make the targets more similar.
258
fa1591cb
RK
259Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
260
fa06ab5c
RK
261 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
262 POINTERS_EXTEND_UNSIGNED.
263 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
264 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
265
fa1591cb
RK
266 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
267 not specified.
268
12e85a0e
R
269Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
270
271 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
272 depends on TARGET_SHMEDIA, not TARGET_SH5.
273
1ab3e58a
HPN
2742002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
275
276 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
277 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
278
18778292
R
279Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
280
281 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
282 no r0 clobber.
283
9002507c
AS
2842002-04-12 Andreas Schwab <schwab@suse.de>
285
286 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
287
9be40833
RH
2882002-04-12 Richard Henderson <rth@redhat.com>
289
290 PR bootstrap/4191
291 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
292
293 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
294 modes spanning multiple hard regs.
295
296 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
297
3d9268b6
JDA
2982002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
299
300 * pa.c (pa_output_function_prologue): Don't accumulate the total
301 number of code bytes when using TARGET_64BIT, or gas, SOM and not
302 the portable runtime.
303 (output_deferred_plabels): Handle 64bit plabels.
304 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
305 generating pic code using the GAS assembler for object formats that
306 are not SOM (ie., ELF32 and ELF64).
307 (output_millicode_call): Check attribute type if attribute length is 28.
308 Likewise use $PIC_pcrel$0. Only call get_attr_length and
309 dbr_sequence_length once.
310 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
311 dbr_sequence_length once.
312 * pa.h (TARGET_SOM): Define if not defined.
313 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
314 with GAS and not SOM.
315 (jump, call_internal_reg, call_value_internal_reg): Likewise.
316 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
317
d360fd18
DB
3182002-04-11 David O'Brien <obrien@FreeBSD.org>
319
320 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
321 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
322 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
323 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
324 elfos.h and dbxelf.h values are fine now.
325 * config/i386/freebsd.h, config/alpha/freebsd.h
326 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
327
5b8fcab6
DB
3282002-04-11 David O'Brien <obrien@FreeBSD.org>
329
330 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
331 or set Acpu or Amachine. Reformat.
332 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
333 define.
334 (LINK_SPEC): Do not need to undef.
335 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
336 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
337 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
338 define.
339 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
340 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
341 (LINK_SPEC): Do not need to undef.
342 (DONT_USE_BUILTIN_SETJMP): Do not define.
343 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
344 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
345 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
346 Remove trailing spaces.
347 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
348 __ELF__, or set Acpu or Amachine. Reformat.
349 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
350 define.
351
fee42cc1
DB
3522002-04-11 David O'Brien <obrien@FreeBSD.org>
353
354 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
355 all other *-*-freebsd* targets.
356
77a403e4
RH
3572002-04-11 Richard Henderson <rth@redhat.com>
358
359 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
360
cf0005c6
DB
3612002-04-11 David O'Brien <obrien@FreeBSD.org>
362
363 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
364 Include {cpu}/{cpu}.h thru tm_file.
365 (alpha*-*-linux*ecoff): Remove target.
366 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
367 (LINK_SPEC): Remove, is not OS independent.
368 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
369 (LINK_SPEC): Do not need to #undef any longer.
370 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
371 any longer.
372 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
373 __ELF__.
374 (LINK_SPEC): Moved here from alpha/elf.h.
375 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
376 SUB_CPP_PREDEFINES.
377 * config/alpha/linux-ecoff.h: Remove.
378 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
379 (CPP_SPEC): Define _POSIX_SOURCE as needed.
380 (CPP_SUBTARGET_SPEC): Do not define.
381 (LINK_SPEC): Do not need to #undef any longer.
382 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
383 * config/alpha/vms.h: Likewise.
384
9be40833 3852002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
386
387 * doc/extend.texi: Remove old claim that typedefs cannot have
388 an alignment attribute.
389
010f87c4
JJ
3902002-04-11 Jakub Jelinek <jakub@redhat.com>
391
392 PR optimization/6177
393 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
394 bitpos is 0 and bitsize CONCAT size.
395
578fc63d
JJ
3962002-04-11 Jakub Jelinek <jakub@redhat.com>
397
398 PR c/6223
399 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
400
bf9b85ce
DB
4012002-04-10 David O'Brien <obrien@FreeBSD.org>
402
403 * config/alpha/freebsd.h: Minor reformatting.
404 (CPP_SPEC): Define ELF and add cpp_subtarget.
405 (ASM_SPEC): No longer needed.
406
7425707d
RH
4072002-04-11 Richard Henderson <rth@redhat.com>
408
409 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
410 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
411 (dimode mem/zero splitter): New.
412
1a05e874
HPN
4132002-04-11 Hans-Peter Nilsson <hp@axis.com>
414
415 * config/cris/cris.c (cris_override_options): Tweak error message
416 for PIC not implemented.
417
418 * config/cris/cris.h: Tweak comments related to parameter-passing.
419
420 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
421
6f3d0447
RH
4222002-04-10 Richard Henderson <rth@redhat.com>
423
424 * except.c (add_ehl_entry): Allow duplicates after landing pad
425 creation.
426
174bf2b1
DE
4272002-04-10 David Edelsohn <edelsohn@gnu.org>
428
429 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
430
03f10472
TM
4312002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
432
433 * c-decl.c (c_init_decl_processing): Move generation of
434 decls for g77_integer_type_node and friends from here ...
435 * c-common.c (c_common_nodes_and_builtins): ... to here.
436
2f460a0a
UW
4372002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
438
439 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
440 is only used as frame pointer when frame_pointer_needed is true.
441
0be5cf85
RE
4422002-04-10 Richard Earnshaw <rearnsha@arm.com>
443
444 PR target/817
445 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
446 for the fact that the pool entry uses two words.
447 (movdf_hard_insn): Similarly. Also, ADR instruction can span
448 1k bytes.
449 (movdf_soft_insn): Similarly.
450 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
451 for the fact that the pool entry uses three words.
452
bf6d4777
RS
4532002-04-10 Richard Sandiford <rsandifo@redhat.com>
454
455 * config/mips/mips.c (mips_va_arg): When using the struct version
456 of the EABI va_list, allow arguments in the register save area to
457 take up less room than a stack argument.
458
c2e9dc85
RH
4592002-04-10 Richard Henderson <rth@redhat.com>
460
461 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
462 if EXPAND_INITIALIZER.
463
bc8e8e97
RH
4642002-04-09 Richard Henderson <rth@redhat.com>
465
466 * config/alpha/alpha.md (movdi_er_maybe_g): New.
467 * config/alpha/alpha.c (alpha_expand_mov): Use it.
468
a6a063b8
AM
4692002-04-10 Alan Modra <amodra@bigpond.net.au>
470
471 PR optimization/6233
472 * rtlanal.c (pure_call_p): New function.
473 * rtl.h (pure_call_p): Declare.
474 * loop.c (prescan_loop): Use it to set has_nonconst_call.
475 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
476
7b2e1077
EC
4772002-04-09 Eric Christopher <echristo@redhat.com>
478
479 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
480 information to .comm directive.
481
d8a50944
RH
4822002-04-09 Richard Henderson <rth@redhat.com>
483
484 PR c/5078
485 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
486
6a58eee9
RH
4872002-04-09 Richard Henderson <rth@redhat.com>
488
489 * basic-block.h (flow_delete_block_noexpunge): Declare.
490 (expunge_block_nocompact): Declare.
491 * cfg.c (expunge_block_nocompact): Split out from ...
492 (expunge_block): ... here.
493 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
494 (flow_delete_block_noexpunge): Split out from ...
495 (flow_delete_block): ... here.
496 * cfgcleanup.c (delete_unreachable_blocks): Compact while
497 removing dead blocks.
498 * except.c (exception_handler_labels): Remove.
499 (exception_handler_label_map): New.
500 (struct eh_region): Add aka member.
501 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
502 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
503 (for_each_eh_label, for_each_eh_label_1): New.
504 (init_eh): Register exception_handler_label_map.
505 (free_eh_status): Use free_region.
506 (find_exception_handler_labels): Use the map, not the list.
507 (remove_exception_handler_label): Likewise.
508 (maybe_remove_eh_handler): Likewise.
509 (remove_eh_handler): Use the region aka bitmap.
510 * except.h (exception_handler_labels): Remove.
511 (for_each_eh_label): Declare.
512 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
513 * loop.c (invalidate_loops_containing_label): New.
514 (find_and_verify_loops): Use it. Use for_each_eh_label.
515 * sched-rgn.c (is_cfg_nonregular): Use
516 current_function_has_exception_handlers.
517
b47374fa
RH
5182002-04-09 Richard Henderson <rth@redhat.com>
519
520 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
521 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
522 Do not return changed status.
523 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
524 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
525 New functions that do return changed status.
526 * sbitmap.h: Update decls.
527 * gcse.c, lcm.c: Use _cg functions as needed.
528
1951818c
R
529Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
530
531 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
532 (sh64-*-elf*, sh-*-rtemself*): Likewise.
533 * config/sh/embed_bb.c: New file.
534 * config/sh/embed-elf.h: New file.
535 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
536 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
537 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
538 __PTRDIFF_TYPE__ .
539 (SUBTARGET_CPP_PTR_SPEC): Don't define.
540 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
541 Add subtarget_asm_endian_spec.
542 (ASM_SPEC): Use subtarget_asm_endian_spec.
543 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
544 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
545 (WCHAR_UNSIGNED): Define.
546 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
547 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
548 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
549 Fix value.
550 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
551 (sh_adjust_cost): Likewise.
552 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
553 __PTRDIFF_TYPE__ .
554 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
555 (WCHAR_TYPE_SIZE): Likewise.
556 (ASM_SPEC): Use subtarget_asm_endian_spec.
557 (SH_ELF_WCHAR_TYPE): #undef/ #define.
558 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
559 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
560 (MAX_WCHAR_TYPE_SIZE): Don't #define .
561 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
562 (USER_LABEL_PREFIX): Don't #undef /#define .
563 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
564 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
565 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
566 (ASM_SPEC): Likewise.
567 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
568 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
569 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
570 (LIB2FUNCS_EXTRA): Define.
571 * t-sh64 (LIB2FUNCS_EXTRA): Define.
572 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
573 (LIB1ASMFUNCS_CACHE): Define.
574 (LIB2FUNCS_EXTRA): Redefine empty.
575
34295799
RH
5762002-04-08 Richard Henderson <rth@redhat.com>
577
578 * reorg.c (get_branch_condition): Use reversed_comparison_code.
579
e8766a39
SC
5802002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
581
582 * config/m68hc11/larith.asm (__map_data_section): Fix condition
583 and optimize for size.
584 (__do_global_ctors): Fix pointer comparison.
585 (__do_global_dtors): Likewise.
586
f451b552
DM
5872002-04-09 David S. Miller <davem@redhat.com>
588
589 * config/sparc/sparc.c (sparc_extra_constraint_check): New
590 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
591 allow reloading pseudos.
592 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
593 * config/sparc/sparc-protos.h: Declare it.
594
595 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
596 unsigned comparison warning.
597 (output_restore_regs): Mark leaf_function as unused.
598
1ce7f3c2
RK
599Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
600
601 * expr.c (is_aligning_offset): New function.
602 (expand_expr, case COMPONENT_EXPR): Call it.
603
7a31a340
DM
6042002-04-08 David S. Miller <davem@redhat.com>
605
606 PR target/6082
607 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
608
609 Make init_priority work on Sparc when using GNU ld.
610 * config/sparc/linux.h, config/sparc/linux64.h,
611 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
612 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
613 * config/sparc/sol2-gld.h: New file to do the same.
614 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
615 sparc/sol2-gld.h to tm_file.
616
617 PR optimization/4328
618 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
619 * doc/md.texi: Document it.
620 * config/sparc/sparc.md (movdi_insn_sp64_novis,
621 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
622 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
623 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
624 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
625
11579f33
AJ
6262002-04-08 Andreas Jaeger <aj@suse.de>
627
628 * stmt.c (expand_asm_operands): Revert last patch from Richard
629 Henderson.
630
b57215d9
GP
6312002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
632
633 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
634 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
635
6362002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
637
638 * doc/contrib.texi (Contributors): Add David O'Brien.
639
534d0cc0
AM
6402002-04-08 Alan Modra <amodra@bigpond.net.au>
641
642 * configure.in (auto-build.h): Use target_alias and build_alias
643 when running configure.
644 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
645 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
646 * configure: Regenerate.
647
19fe522a
DM
6482002-04-07 David S. Miller <davem@redhat.com>
649
650 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
651
bf2d0b8e
JDA
6522002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
653
654 PR 5933
655 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
656 generating 32-bit pic code.
657
477cdac7
JT
6582002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
659
660 * cppinit.c (cpp_create_reader): Initialize
661 discard_comments_in_macro_exp.
662 (COMMAND_LINE_OPTIONS): Add "-CC" option.
663 (cpp_handle_option): Handle "-CC" option.
664 * cpplex.c (save_comment): If saving a C++ comment in
665 a directive, convert it to a C comment.
666 (_cpp_lex_direct): Pass second comment start character to
667 save_comment to indicate comment type.
668 * cpplib.c (_cpp_handle_directive): If processing
669 a "#define" directive and discard_comments_in_macro_exp
670 is false, re-enable saving of comments.
671 (lex_macro_node): If discard_comments_in_macro_exp is false,
672 discard any comments before the macro identifier.
673 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
674 member.
675 * cppmacro.c (cpp_get_token): If expanding a macro while
676 processing a directive, discard any comments we might encounter.
677 (parse_params): If discard_comments_in_macro_exp is false,
678 ignore comments in the macro parameter list.
679 * gcc.c (cpp_unique_options): Add "-CC" option.
680 (option_map): Map "--comments-in-macros" to "-CC".
681 * doc/cppopts.texi: Document "-CC" option.
682 * f/lang-specs.h: Add "-CC" option.
683 * testsuite/gcc.dg/cpp/maccom1.c: New test.
684 * testsuite/gcc.dg/cpp/maccom2.c: New test.
685 * testsuite/gcc.dg/cpp/maccom3.c: New test.
686 * testsuite/gcc.dg/cpp/maccom4.c: New test.
687 * testsuite/gcc.dg/cpp/maccom5.c: New test.
688 * testsuite/gcc.dg/cpp/maccom6.c: New test.
689
f1526122
JDA
6902002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
691
692 PR middle-end/6180
693 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
694
b1896e61
MM
6952002-04-06 Mark Mitchell <mark@codesourcery.com>
696
0154eaa8
MM
697 PR c++/5571
698 * stor-layout.c (layout_decl): Reset the RTL for the decl.
699
b1896e61
MM
700 PR opt/5120
701 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
702 RTX_UNCHANGING_P for the functions arguments when a tail call
703 is made.
704
b0148884
JM
7052002-04-06 Jason Merrill <jason@redhat.com>
706
707 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
708 (parse_options_and_default_flags): Set them appropriately.
709 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
710
392fc5b0
HPN
7112002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
712
713 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
714 here.
715
716 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
717 semicolon.
718
719 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
720 types come in by-reference. Fix typo in comment.
721
2d69e3cb
DM
7222002-04-05 David S. Miller <davem@redhat.com>
723
724 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
725 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
726 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
727 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
728
7292002-04-05 David S. Miller <davem@redhat.com>
730
731 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
732 are not going to emit return instructions, emit at least a nop
733 for the sake of sane backtraces.
734
5f9fb0e3
RH
7352002-04-05 Richard Henderson <rth@redhat.com>
736
737 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
738
49f37a0d
JJ
7392002-04-05 Jakub Jeilnek <jakub@redhat.com>
740
741 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
742
974a3101
AO
7432002-04-05 Alexandre Oliva <aoliva@redhat.com>
744
745 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
746 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
747 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
748
2e04a694
AS
7492002-04-05 Andreas Schwab <schwab@suse.de>
750
a40179bd 751 * c-convert.c: Include c-common.h.
2e04a694
AS
752 * Makefile.in (c-convert.o): Updated.
753
1f785b7c
JJ
7542002-04-05 Jakub Jelinek <jakub@redhat.com>
755
756 * mklibgcc.in: Use separate libgcc.map for each multilib.
757 * Makefile.in (distclean): Don't remove libgcc.map here.
758
4d2fb38b
JJ
7592002-04-05 Jakub Jelinek <jakub@redhat.com>
760
761 * Makefile.in (s-mlib): Handle --disable-multilib by separate
762 genmultilib invocation.
763
bb63e5a0
RS
7642002-04-04 Richard Sandiford <rsandifo@redhat.com>
765
766 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
767 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
768 to num_gprs for symmetry.
769 * config/mips/mips.c: Adjust accordingly.
770
8ab80eaa
NB
7712002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
772
773 * c-common.c (truthvalue_conversion): Rename, update.
774 * c-common.h (c_common_truthvalue_conversion): New.
775 * c-convert.c (convert): Update.
776 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
777 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
778 * c-typeck.c (build_binary_op, build_unary_op,
779 build_conditional_expr): Update.
780 * fold-const.c (constant_boolean_node, fold): Use langhook.
781 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
782 * langhooks.h (struct lang_hooks): New hook.
783 * stmt.c (expand_decl_cleanup): Use langhook.
784 * tree.h (truthvalue_conversion): Remove.
785objc:
786 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
787
a2e9374a
AM
7882002-04-05 Alan Modra <amodra@bigpond.net.au>
789
790 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
791 Add rules to make null object file.
792
64d08263
JB
7932002-04-04 Jim Blandy <jimb@redhat.com>
794
795 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
796 macro formal parameter names.
797
aa7634dd
DM
7982002-04-04 David S. Miller <davem@redhat.com>
799
800 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
801
ecc114f7
RH
8022002-04-04 Richard Henderson <rth@redhat.com>
803
804 PR middle-end/5099
805 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
806 Support copies into and out of memory. Don't accept allows_reg
807 and allows_mem as gospel.
808
c4484b8f
RH
8092002-04-04 Richard Henderson <rth@redhat.com>
810
811 PR opt/6165
812 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
813 (write_dependence_p): Likewise.
814
39002160
RH
8152002-04-04 Richard Henderson <rth@redhat.com>
816
817 * predict.c (estimate_bb_frequencies): Do frequency calculation
818 with a volatile temporary.
819
f53ebe71
UW
8202002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
821
822 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
823
15e0ecab
JJ
8242002-04-04 Jakub Jelinek <jakub@redhat.com>
825
826 PR c++/6119
827 * final.c (final_start_function): Don't bump profile_label_no here...
828 (final_end_function): ...but here.
829
ffd386b0
JJ
8302002-04-04 Jakub Jelinek <jakub@redhat.com>
831
832 * config/sparc/sparc.md (pic): New attribute.
833 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
834 into stack slots.
835 (split after do_builtin_setjmp_setup): New.
836
8b156b3e
JJ
8372002-04-04 Jakub Jelinek <jakub@redhat.com>
838
839 PR fortran/6106
840 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
841 change.
842
014c0998
JJ
8432002-04-04 Jakub Jelinek <jakub@redhat.com>
844
845 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
846 UNITS_PER_WORD for zero sized aggregates.
847
4d8611d9
DM
8482002-04-03 David S. Miller <davem@redhat.com>
849
850 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
851 one-character spec for this, just use %(link_gcc_c_sequence).
852
b03ad99d
DM
8532002-04-03 David S. Miller <davem@redhat.com>
854
855 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
856 handling.
857
823fbbce
JDA
8582002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
859
860 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
861 (DWARF_FRAME_RETURN_COLUMN): Move.
862 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
863 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
864 * pa.c (except.h, predict.h): Include.
865 (FRP): Delete.
866 (store_reg_modify, set_reg_plus_d): Revise prototypes.
867 (output_ascii): Add cast.
868 (store_reg_modify): Revise to add frame notes.
869 (set_reg_plus_d): Likewise.
870 (compute_frame_size): Include space for eh data registers in frame if
871 the current function calls eh_return.
872 (hppa_expand_prologue): Ensure register %r2 is saved if the current
873 function calls eh_return. Save eh data registers if the current
874 function calls eh_return. Fix code to add frame notes. Emit
875 blockage to prevent insns with frame notes being scheduled in the
876 delay slot of calls.
877 (hppa_expand_epilogue): Restore eh data registers and do final stack
878 adjustment if the current function calls eh_return. Don't add frame
879 notes.
880 (output_call): Revise for change in length of call insn. Don't do
881 return pointer adjustment for an unconditional jump in the delay slot
882 of a call when using frame notes.
883 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
884 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
885 (ARG_POINTER_CFA_OFFSET): Define.
886 * pa.md (return_external_pic): New pattern.
887 (prologue): Correct formatting. Use return_external_pic if current
888 function calls eh_return.
889 (call_internal_symref, call_value_internal_symref,
890 sibcall_internal_symref, sibcall_value_internal_symref): Change default
891 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
892 respectively.
893 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
894
895 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
896 list of targets to check using "nop" insn.
897 * configure: Rebuilt.
898
4078e224
AM
8992002-04-04 Alan Modra <amodra@bigpond.net.au>
900
901 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
902
bbd7687d
DM
9032002-04-03 David S. Miller <davem@redhat.com>
904
905 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
906 library sequence passed to the linker.
907 (LINK_COMMAND_SPEC): Use it.
908 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
909 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
910 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
911
659e5a7a
JM
9122002-04-03 Jason Merrill <jason@redhat.com>
913
914 * except.c (struct eh_status): Remove protect_list.
915 (begin_protect_partials, end_protect_partials): Remove.
916 (add_partial_entry): Remove.
917 * except.h: Remove prototypes.
918
919 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
920 expand_decl_cleanup_eh.
921
922 PR c++/5636
923 * tree.h (CLEANUP_EH_ONLY): New macro.
924 * stmt.c (expand_decl_cleanup_eh): New fn.
925 (expand_cleanups): Check CLEANUP_EH_ONLY.
926 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
927 Use expand_decl_cleanup_eh.
928 (expand_stmt): Adjust.
929 * c-common.h: Adjust prototype.
930
053d3344
HPN
9312002-04-04 Hans-Peter Nilsson <hp@axis.com>
932
933 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
934 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
935 (cris_target_asm_function_epilogue): Ditto.
936 (cris_initial_frame_pointer_offset): Ditto.
937 (cris_simple_epilogue): Ditto.
938 (cris_expand_builtin_va_arg): Variable-size types come in
939 by-reference.
940
61ab5260
DM
9412002-04-03 David S. Miller <davem@redhat.com>
942
943 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
944 little-endian.
945 (set_fast_math): Correct 'fsr' type.
946
ef4f94ac
RH
9472002-04-03 Richard Henderson <rth@redhat.com>
948
36c2272c 949 PR opt/3569
ef4f94ac
RH
950 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
951 * toplev.c (check_global_declarations): Use it.
952 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
953 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
954 (LANG_HOOKS_DECLS): Add it.
955 * langhooks.c (lhd_warn_unused_global_decl): New.
956 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
957 * c-objc-common.c (c_warn_unused_global_decl): New.
958 * c-tree.h (c_warn_unused_global_decl): Declare.
959 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
960
599bba86
NB
9612002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
962
963 * langhooks-def.h (lhd_set_decl_assembler_name,
964 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
965 (LANG_HOOKS_INITIALIZER): Update.
966 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
967 * langhooks.h (struct lang_hooks): New hook.
968 * tree.c (set_decl_assembler_name): Move to langhooks.c.
969 (lang_set_decl_assembler_name): Remove.
970 (init_obstacks): Don't set hook.
971 (decl_assembler_name): New function.
972 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
973 (decl_assembler_name): New.
974 (lang_set_decl_assembler_name): Remove.
975
cf7b8b0d
JJ
9762002-04-03 Jakub Jelinek <jakub@redhat.com>
977
978 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
979 works properly with .hidden symbols.
980 * configure: Rebuilt.
981 * config.in: Rebuilt.
982 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
983 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
984 properly with .hidden symbols.
985
faf6db38
JJ
9862002-04-03 Jakub Jelinek <jakub@redhat.com>
987
988 PR middle-end/6102
989 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
990 USE argument.
991
68c17f30
RH
9922002-04-03 Richard Henderson <rth@redhat.com>
993
994 PR opt/4120
995 * sched-rgn.c (sets_likely_spilled): New.
996 (sets_likely_spilled_1): New.
997 (add_branch_dependences): Use it.
998
6584b4aa
RH
9992002-04-02 Richard Henderson <rth@redhat.com>
1000
1001 PR opt/4311
1002 * loop.h (LOOP_FIRST_PASS): New.
1003 * loop.c (strength_reduce): Mind it when deciding to unroll.
1004 * toplev.c (rest_of_compilation): Set it.
1005
0acf409f
DM
10062002-04-02 David S. Miller <davem@redhat.com>
1007
1008 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
1009 mems_ok_for_ldd_peep when the order of the loads being examined
1010 is reversed.
1011 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
1012 existing comment to increase comprehension of this situation.
1013
85654444
ZW
10142002-04-02 Zack Weinberg <zack@codesourcery.com>
1015
1016 * config/sh/sh.md: Don't use union real_extract.
1017
543828ca
RH
10182002-04-02 Richard Henderson <rth@redhat.com>
1019
1020 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
1021
39ed301b
DB
10222002-04-02 David O'Brien <obrien@FreeBSD.org>
1023
1024 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
1025 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
1026 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
1027 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
1028 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
1029 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
1030 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
1031 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
1032 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
1033 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
1034 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
1035 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
1036 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
1037 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
1038 Include as many configury headers via tm_file as possible. This
1039 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
1040 * config/openbsd-oldgas.h: New file.
1041 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
1042 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
1043 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
1044 config/i386/i386-coff.h, config/i386/i386-interix.h,
1045 config/i386/iscdbx.h, config/i386/linux-aout.h,
1046 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
1047 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
1048 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
1049 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
1050 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
1051 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
1052 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
1053 config/i386/vxi386.h: Do not directly include configury headers.
1054 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
1055 Directly include configury headers that are no longer automatically
1056 included by the above headers.
1057 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
1058 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
1059 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
1060 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
1061 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
1062 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
1063 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
1064 (TARGET_VERSION): Define.
1065 * config/i386/beos-elf.h, config/i386/freebsd.h,
1066 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
1067 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
1068 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
1069 config/i386/sco5.h, config/i386/sysv4.h
1070 (TARGET_VERSION): Do not need to protect.
1071 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
1072 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
1073 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
1074 config/i386/i386-interix.h, config/i386/linux-aout.h,
1075 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
1076 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
1077 (YES_UNDERSCORES): Do not define - not needed.
1078 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
1079 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
1080 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
1081 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
1082 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
1083 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
1084 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
1085 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
1086
9432c136
EB
10872002-04-02 Eric Botcazou <ebotcazou@multimania.com>
1088 Richard Henderson <rth@redhat.com>
1089
1090 PR c/5484
1091 * function.c (assign_temp): Accept either type or decl argument.
1092 Detect variables whose size is too large to fit into an integer.
1093 * stmt.c (expand_decl): Pass the decl, not the type.
1094
058b1275
DB
10952002-04-02 David O'Brien <obrien@FreeBSD.org>
1096
1097 * protoize.c: Match include directory usage with cppdefault.c.
1098
5add6d1a 10992002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 1100 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
1101
1102 * combine.c (simplify_comparison): Avoid narrowing a comparison
1103 with a paradoxical subreg when doing so would drop signficant bits.
1104
1e533e4b
SE
11052002-04-02 Steve Ellcey <sje@cup.hp.com>
1106
1107 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
1108 if POINTERS_EXTEND_UNSIGNED is defined.
1109
7a145e92
RH
11102002-04-02 Richard Henderson <rth@redhat.com>
1111
1112 PR opt/3967
1113 * local-alloc.c (contains_replace_regs): LO_SUM may contain
1114 replace regs.
1115
3a079822
RH
11162002-04-02 Richard Henderson <rth@redhat.com>
1117
1118 * doc/standards.texi: Document required freestanding libc entry points.
1119
c94ccb87
AM
11202002-04-02 Alan Modra <amodra@bigpond.net.au>
1121
1122 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
1123 associated splitter. Remove MQ constraint.
1124 (ctrdi_internal4): Correct CCmode clobber.
1125
fe660a1a
JDA
11262002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
1127
1128 * milli64.S ($$dyncall): New function.
1129 * t-linux (LIB1ASMFUNCS): Revise module list.
1130 (LIB1ASMSRC): Use pa/milli64.S.
1131
eadc0202
RH
11322002-04-02 Richard Henderson <rth@redhat.com>
1133
1134 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
1135 rename solaris_sys_varargs_h.
1136
a1471322
RK
1137Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1138
1139 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
1140 the same mode as its component.
1141
c8b94768
RH
11422002-04-02 Richard Henderson <rth@redhat.com>
1143
1144 PR opt/190
1145 * final.c (this_is_asm_operands): Export.
1146 * output.h (this_is_asm_operands): Declare.
1147 * config/i386/i386.c (print_operand): Error odd asm operands.
1148
161eb4fc
RH
11492002-04-02 Richard Henderson <rth@redhat.com>
1150
1151 PR opt/420
1152 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
1153
b88a94c6
RH
11542002-04-01 Richard Henderson <rth@redhat.com>
1155
1156 PR target/1538
1157 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
1158 * fixinc/fixincl.x: Rebuild.
1159
72e32876
RH
11602002-04-01 Richard Henderson <rth@redhat.com>
1161
1162 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
1163 (atomic_alloc, atomic_free): New.
1164 (SIZE, MASK_FOR, PTR_IN): New.
1165 (emergency_reg_state, emergency_reg_state_free): New.
1166 (emergency_labeled_state, emergency_labeled_state_free): New.
1167 (reg_state_alloced, labeled_state_alloced): New.
1168 (alloc_reg_state, free_reg_state): New.
1169 (alloc_label_state, free_label_state, free_label_states): New.
1170 (push, pop, dup_state_stack, free_state_stack): Use them.
1171 (desc_label_state): Likewise.
1172 (uw_frame_state_for): Free label states and state stack.
1173 (uw_update_reg_address): Eliminate warnings.
1174
84d76074
VM
11752002-04-01 Vladimir Makarov <vmakarov@redhat.com>
1176
1177 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 1178 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 1179
dffd7eb6
NB
11802002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
1181
1182 * c-decl.c (grokdeclarator): Update.
1183 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
1184 * c-tree.h (c_mark_addressable): New.
1185 * c-typeck.c (default_function_array_conversion, build_unary_op,
1186 build_array_ref, convert_for_assignment): Update.
1187 (mark_addressable): Rename.
1188 * calls.c (try_to_integrate, expand_call): Use langhook.
1189 * expr.c (expand_expr): Use langhook.
1190 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
1191 * langhooks.h (struct lang_hooks): New hook.
1192 * stmt.c (expand_asm_operands): Use langhook.
1193 * tree.h (mark_addressable): Remove.
1194objc:
1195 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
1196
544ef5b5
BW
11972002-04-01 Bob Wilson <bob.wilson@acm.org>
1198
9be40833
RH
1199 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
1200 in previous change.
544ef5b5 1201
bcf88f9b
BW
12022002-04-01 Bob Wilson <bob.wilson@acm.org>
1203
1204 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
1205 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
1206
ceef8ce4
NB
12072002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
1208
1209 * c-common.c (unsigned_conversion_warning, convert_and_check,
1210 unsigned_type, signed_type, shorten_compare,
1211 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
1212 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
1213 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
1214 New.
1215 * c-decl.c (grokdeclarator): Update.
1216 * c-format.c (check_format_types): Update.
1217 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
1218 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
1219 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
1220 * convert.c (convert_to_integer): Use new hooks.
1221 * expmed.c (make_tree): Use new hooks.
1222 * expr.c (store_expr): Use new hooks.
1223 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
1224 all_ones_mask_p, unextend, fold): Use new hooks.
1225 * langhooks.h (struct lang_hooks_for_types): New hooks.
1226 * tree.h (signed_or_unsigned_type, signed_type,
1227 unsigned_type): Remove.
1228objc:
1229 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
1230 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
1231
1d9ad0e0
RH
12322002-03-31 Richard Henderson <rth@redhat.com>
1233
1234 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
1235 (desc_frgr_mem): Fix reference to f16-f31.
1236
d544bc39
KG
12372002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1238
1239 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
1240 RTVEC_ELT): Const-ify.
d8750784
KG
1241 * varray.h (VARRAY_CHECK): Const-ify.
1242 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
1243 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 1244
b18101c7
NB
12452002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
1246
1247 * diagnostic.c: Include langhooks-def.h.
1248 * Makefile.in (diagnostic.o): Update.
1249
48a7a235
NB
12502002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
1251
1252 * c-common.c (c_unsafe_for_reeval): Rename.
1253 * c-common.h (c_unsafe_for_reeval): Rename.
1254 * c-decl.c (finish_incomplete_decl): Rename.
1255 (c_init_decl_processing): Don't set langhook.
1256 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
1257 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
1258 * c-objc-common.c (c_objc_common_init): Don't set langhook.
1259 * c-tree.h (finish_incomplete_decl): Rename.
1260 * langhooks-def.h (lhd_unsafe_for_reeval): New.
1261 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
1262 (LANG_HOOKS_INITIALIZER): Update.
1263 * langhooks.c (lhd_unsafe_For_reeval): New.
1264 * langhooks.h (struct langhooks): New hooks.
1265 * toplev.c (incomplete_decl_finalize_hook): Remove.
1266 (wrapup_global_declarations): Update.
1267 * tree.c (lang_unsafe_for_reeval): Remove.
1268 (unsafe_for_reeval): Update.
1269 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
1270 Remove.
1271objc:
1272 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
1273 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
1274
7cb32822
NB
12752002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
1276
1277 * diagnostic.c (print_error_function): Remove.
1278 (default_print_error_function): Rename.
1279 (report_error_function): Update.
1280 * diagnostic.h (print_error_function): Remove.
1281 (default_print_error_function): Remove.
1282 * langhooks-def.h (struct diagnostic_context): Predeclare.
1283 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
1284 (LANG_HOOKS_INITIALIZER): Update.
1285 * langhooks.h (struct diagnostic context): Predeclare.
1286 (struct lang_hooks): New hook.
1287
1db02437
FS
12882002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1289
1290 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
1291 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
1292 !flag_pic.
1293 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
1294 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
1295 of PIC_OFFSET_TABLE_REGNUM thruout.
1296 * config/rs6000/rs6000.md: Likewise.
1297 * config/rs6000/darwin.h: Likewise.
1298
3bf1e984
RK
1299Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1300
1301 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
1302 unsigned HOST_WIDE_INT, not unsigned int.
1303
0864c526
JJ
13042002-03-31 Jakub Jelinek <jakub@redhat.com>
1305
1306 PR middle-end/6096, middle-end/6098, middle-end/6099
1307 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
1308 CODE_LABELs.
1309 (fill_slots_from_thread): Likewise.
1310
105b2084
JJ
13112002-03-31 Jakub Jelinek <jakub@redhat.com>
1312
1313 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
1314 floating fields in float regs.
1315 (function_arg_record_value_2): Likewise.
1316
db08fddf
HPN
13172002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
1318
1319 * config/mmix/mmix.md (define_constants): Remove misleading
1320 FIXME. Add MMIX_fp_rO_OFFSET.
1321 ("nonlocal_goto_receiver"): Don't have stack-frame address of
1322 saved rO as part of the pattern. Remove FIXME.
1323 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
1324 here, at output-time.
1325
4f31cce8
JJ
13262002-03-31 Jakub Jelinek <jakub@redhat.com>
1327
1328 PR middle-end/6100
1329 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
1330 REG_BR_PRED.
1331 (output_v9branch): Likewise.
1332
ba2b7435
AO
13332002-03-31 Alexandre Oliva <aoliva@redhat.com>
1334
1335 * gcc.c: Revert previous patch for now.
1336 * config/i386/djgpp.h: Likewise.
1337
aa66aa5f 13382002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
1339
1340 * config/mmix/crti.asm (_init): Register _fini with atexit.
1341 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
1342
41ba8a20
RH
13432002-03-31 Richard Henderson <rth@redhat.com>
1344
1345 PR target/3997
1346 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
1347 (ASM_OUTPUT_DEF_FROM_DECLS): New.
1348
adc186ef
RH
13492002-03-31 Richard Henderson <rth@redhat.com>
1350
1351 * libgcc2.c (__bb_exit_func): Make static.
1352
9be40833 1353 * config/alpha/alpha.md (trap): New.
a7648399 1354
9602f5a0
RH
13552002-03-31 Richard Henderson <rth@redhat.com>
1356
1357 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
1358 promoted argument types; build trap.
1359 (expand_builtin_trap): New.
1360 (expand_builtin): Use it.
1361 * stmt.c (expand_nl_goto_receivers): Likewise.
1362 * expr.h (expand_builtin_trap): Declare.
1363 * libfuncs.h (LTI_abort, abort_libfunc): New.
1364 * optabs.c (init_optabs): Init abort_libfunc.
1365
1a0a7539
AO
13662002-03-31 Alexandre Oliva <aoliva@redhat.com>
1367
1368 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
1369 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 1370 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
1371 shared_name in the second copy.
1372 (init_spec): Test for duplicate
1373 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
1374
b5de1a27
DM
13752002-03-30 David S. Miller <davem@redhat.com>
1376
1377 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1378 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
1379
78414d74 13802002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 1381 Richard Henderson <rth@redhat.com>
78414d74 1382
9be40833
RH
1383 * regmove.c (combine_stack_adjustments_for_block): Avoid
1384 emitting a stack adjustment of zero bytes. Let delete_insn
1385 update bb->head.
78414d74 1386
33074e5f
RH
13872002-03-30 Richard Henderson <rth@redhat.com>
1388
1389 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
1390 (sparc_emitting_epilogue): New.
1391 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
1392 * config/sparc/sparc-protos.h: Update.
1393 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
1394 (TARGET_SWITCHES): Update.
1395 * config/sparc/sparc.md (return): Remove.
1396 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
1397 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
1398 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
1399 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
1400 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
1401 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
1402 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
1403 Remove MASK_EPILOGUE.
1404 * doc/invoke.texi: Update.
1405
606cc056
DB
14062002-03-30 Daniel Berlin <dan@dberlin.org>
1407
1408 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
1409 CPP will start the file for us.
7b2e1077 1410
bdbe5b8d
RH
14112002-03-30 Richard Henderson <rth@redhat.com>
1412
1413 PR target/5446
1414 * config/ia64/ia64.c (group_barrier_needed_p): Special case
1415 prologue_allocate_stack.
1416 (ia64_single_set): Use insn codes for recognition of special
1417 cases, not rtl matching.
1418 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
1419
4ab95d82
JH
1420Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
1421
1422 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
1423
89a8b315
RH
14242002-03-30 Richard Henderson <rth@redhat.com>
1425
1426 PR target/6032
1427 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
1428 or -fomit-frame-pointer with profiling.
1429 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
1430 (FUNCTION_PROFILER): Do nothing.
1431 (PROFILE_HOOK): New.
1432 * config/sparc/sparc.c (sparc_override_options): Don't check
1433 code models for profiling.
1434 (sparc_function_profiler): Remove.
1435 (sparc_profile_hook): New.
1436 * config/sparc/sparc-protos.h: Update.
1437
30984c57
JJ
14382002-03-30 Jakub Jelinek <jakub@redhat.com>
1439
1440 PR optimization/6086
1441 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
1442 of SUBREG of volatile MEM or because the MEM was mode dependent,
1443 return CLOBBER instead of unmodified SUBREG.
1444
1540f9eb
JH
1445Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
1446
89a8b315
RH
1447 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
1448 when not optimizing.
1540f9eb
JH
1449
1450 * toplev.c (rest_of_compilation): Cann mark_constant_function
1451 only when optimizing.
1452
89a8b315
RH
1453 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
1454 are NULL.
1540f9eb
JH
1455
1456 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
1457 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
1458 (try_optimize_cfg): clear all AUX fields.
1459
1460 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
1461 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
1462 (ix86_address_cost): Be prepared for SUBREGed registers.
1463 (legitimate_address_p): Accept SUBREGed registers.
1464
70d95bac
RH
14652002-03-29 Richard Henderson <rth@redhat.com>
1466
1467 PR target/5672
1468 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
1469
d3294cd9
FS
14702002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1471
1472 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
1473 for aggregate and TFmode types.
1474
a106c875
HPN
14752002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
1476
1477 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
1478
7d7a5d6f
RH
14792002-03-29 Richard Henderson <rth@redhat.com>
1480
6e2d670b 1481 PR target/5886
7d7a5d6f
RH
1482 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
1483 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
1484
30c99a84
RH
14852002-03-29 Richard Henderson <rth@redhat.com>
1486
6e2d670b 1487 PR target/6041
30c99a84
RH
1488 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
1489 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
1490 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
1491 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
1492 conditional.
1493 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
1494
02a566dc
DJ
14952002-03-29 Dale Johannesen <dalej@apple.com>
1496
1497 * loop.c (combine_movables): Do allow combination of pseudos.
1498
bc3a44db
LR
14992002-03-29 Loren J. Rittle <ljrittle@acm.org>
1500
1501 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
1502 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
1503 No functional change except ...
1504 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
1505 * doc/install.texi (*-*-freebsd*): Document port configuration.
1506
b0c48229
NB
15072002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
1508
1509 * Makefile.in (convert.o, calls.o, expmed.o): Update.
1510 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
1511 Use new hooks.
1512 * builtin-types.def (BT_PTRMODE): Update.
1513 * c-common.c (type_for_size): Rename c_common_type_for_size.
1514 (type_for_mode): Similarly.
1515 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
1516 Use new hook.
1517 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
1518 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
1519 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
1520 Redefine.
1521 * c-typeck.c (common_type, comptypes, default_conversion):
1522 Use new hooks.
1523 * calls.c: Include langhooks.h.
1524 (emit_library_call_value_1): Use new hooks. Avoid redundant
1525 calls.
1526 * convert.c: Include langhooks.h
1527 (convert_to_pointer, convert_to_integer): Use new hooks.
1528 * except.c (init_eh): Similarly.
1529 * expmed.c: Include langhooks.h.
1530 (expand_mult_add): Use new hooks.
1531 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
1532 try_casesi): Similarly.
1533 * fold-const.c (optimize_bit_field_compare, make_range,
1534 decode_field_reference, fold_truthop, fold): Similarly.
1535 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
1536 put_var_into_stack): Similarly.
1537 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
1538 LANG_HOOKS_TYPE_FOR_SIZE): New.
1539 (LANG_HOOKS_TYPES_INITIALIZER): Update.
1540 * langhooks.h (lang_hooks_for_types): New hooks.
1541 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
1542 * tree.c (get_unwidened, get_narrower): Similarly.
1543 * tree.h (type_for_mode, type_for_size): Remove.
1544 * varasm.c (force_const_mem): Use new hooks.
1545 * utils2.c (nonbinary_modular_operation): Update.
1546objc:
1547 * objc-act.c (handle_impent): Update.
1548 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
1549 Redefine.
1550
e206a74f
SE
15512002-03-29 Steve Ellcey <sje@cup.hp.com>
1552
1553 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
1554 * config/ia64/ia64.c (basereg_operand): New.
1555 * config/ia64/ia64-protos.h (basereg_operand): Declare.
1556 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
1557
7d9b6378
HPN
15582002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
1559
1560 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
1561 unwind information when frame_pointer_needed.
1562 (mmix_assemble_integer): Tweak wording in comment.
1563
f1e639b1
NB
15642002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
1565
1566 * Makefile.in (except.o): Update.
1567 * except.c: Include langhooks.h.
1568 (init_eh): Use langhook.
1569 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
1570 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
1571 (LANG_HOOKS_INITIALIZER): Update.
1572 * langhooks.h (lang_hooks_for_types): New.
1573 (struct lang_hooks): Add it.
1574 * tree.c (make_lang_type_fn, make_lang_type): Remove.
1575 * tree.h (make_lang_type_fn, make_lang_type): Remove.
1576config:
1577 * alpha/alpha.c: Include langhooks.h.
1578 (alpha_build_va_list): Use langhook.
1579 * d30v/d30v.c: Include langhooks.h.
1580 (d30v_build_va_list): Use langhook.
1581 * i386/i386.c: Include langhooks.h.
1582 (ix86_build_va_list): Use langhook.
1583 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
1584 * s390/s390.c: Include langhooks.h.
1585 (s390_build_va_list): Use langhook.
1586 * stormy16/stormy16.c: Include langhooks.h.
1587 (stormy16_build_va_list): Use langhook.
1588
f17f9332
JJ
15892002-03-29 Jakub Jelinek <jakub@redhat.com>
1590
1591 PR c++/5964
1592 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
1593 attributes.
1594 (length): Compute variable length for branches/calls/jumps here.
1595 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
1596 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
1597 define branch_type attribute.
1598 (divsi3_sp32): Maximum length is 6 not 7.
1599 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
1600 call_address_untyped_struct_value_sp32,
1601 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
1602 * config/sparc/sparc.c (empty_delay_slot): New function.
1603 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
1604 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
1605
0a0440c9
JJ
16062002-03-29 Jakub Jelinek <jakub@redhat.com>
1607
1608 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
1609 nonzero_bits if not needed.
1610 (nonzero_bits) [XOR]: Likewise.
1611 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
1612 reg_last_set_mode and mode are both MODE_INT, but not equal.
1613 (record_value_for_reg): Compute reg_last_set_nonzero_bits
1614 in nonzero_bits_mode for MODE_INT modes.
1615
c9045f47
RH
16162002-03-28 Richard Henderson <rth@redhat.com>
1617
1618 PR target/5715
1619 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
1620 to GAS. Correct drift between alternatives.
1621
f8ed1958
RH
16222002-03-28 Richard Henderson <rth@redhat.com>
1623
1624 PR target/6087
1625 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
1626
54e20385
LR
16272002-03-28 Alexandre Oliva <aoliva@redhat.com>
1628
1629 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
1630 emulation to the linker.
1631
16322002-03-28 Loren J. Rittle <ljrittle@acm.org>
1633
1634 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
1635 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
1636
8bc52806
JL
1637Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
1638
1639 * combine.c (simplify_and_const_int): Make sure to apply mask
1640 when force_to_mode returns a constant integer. PR3311.
1641
279dccc5
JDA
16422002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
1643
1644 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
1645
62aaa62c
GP
16462002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1647
1648 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
1649 and Objective-C Dialect Options.
1650
b8de5050
RH
16512002-03-28 Richard Henderson <rth@redhat.com>
1652
1653 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
1654 comparison should be done vs !=0 not >0 return code. Tidy cases.
1655
619708cc
RH
16562002-03-28 Richard Henderson <rth@redhat.com>
1657
1658 * c-decl.c (finish_function): New arg can_defer_p. Pass it
1659 on to c_expand_body.
1660 * c-tree.h (finish_function): Update decl.
1661 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
1662
b1d874d7
JH
1663Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
1664
1665 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
1666
f5eb5fd0
JH
1667Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
1668
1669 * rtlanal.c: Include flags.h
1670 (may_trap_p): Do not mark FP operations if trapping
1671 if !flag_trapping_math
1672 * Makefile.in (rtlanal.o): Add dependency on flag.h
1673 * ifcvt.c (noce_operand_ok): Avoid the lameness.
1674
81b4c798
ZW
16752002-03-27 Zack Weinberg <zack@codesourcery.com>
1676
1677 * mips.md: Use dconst1, not 1.0, as first argument of
1678 REAL_VALUE_LDEXP. Don't use union real_extract.
1679
55a2ea2a
AM
16802002-03-28 Alan Modra <amodra@bigpond.net.au>
1681
1682 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
1683 rather than $target. Heed program_prefix and
1684 program_transform_name. Search for gas in cross-compiler case too.
1685 "test -x" rather than "test -f".
1686 (gcc_cv_ld): Likewise.
1687 (gcc_cv_nm): Heed program_prefix and program_transform_name.
1688 (gcc_cv_objdump): Likewise.
1689 * configure: Regenerate.
1690
7ffb4fd2
NB
16912002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
1692
1693 * Makefile.in (attribs.o): Update.
1694 * attribs.c: Include langhooks.h.
1695 (decl_attributes): Use langhook.
1696 * c-decl.c (insert_default_attributes): Rename.
1697 * c-tree.h (c_insert_default_attributes): New.
1698 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
1699 (LANG_HOOKS_INITIALIZER): Update.
1700 * langhooks.h (struct lang_hooks): New hook.
1701 * tree.h (insert_default_attributes): Remove.
1702objc:
1703 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
1704
e4dbaed5
AS
17052002-03-27 Andreas Schwab <schwab@suse.de>
1706
1707 * config/i386/i386.c (classify_argument): Also check for
1708 QUAL_UNION_TYPE.
1709
18b467f1
RO
17102002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1711
1712 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
1713 any more.
1714
d337d653
JH
1715Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
1716
1717 * i960.md (ret): Set PC.
1718 (nonlocal_goto): Fix expander.
1719 * builtins.c (epxand_builin_longjmp): Check that we've emitted
1720 some jump or call.
1721
218aa620
JH
1722Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
1723
1724 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
1725 of libcall regions.
1726
e27a4eaf
ZD
1727Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1728
1729 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
1730 assigning to BLOCK_FOR_INSN directly.
1731
8a12f34c
JH
1732Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
1733
1734 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
1735
c9d892a8
NB
17362002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
1737
1738 * c-common.c (c_expand_expr): Fix prototype.
1739 * c-common.h (c_expand_expr): Always declare, update.
1740 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
1741 * c-objc-common.c (c_objc_common_init): No global hook.
1742 * expr.c (expand_expr): Use langhook.
1743 * expr.h (enum expand_modifier): Conditionally declare.
1744 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
1745 (LANG_HOOKS_INITIALIZER): Update.
1746 * langhooks.c (lhd_expand_expr): New.
1747 * langhooks.h (struct lang_hooks): New hook.
1748 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
1749 (lang_independent_init): Don't default hook.
1750objc:
1751 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
1752
6dad5a56
RH
17532002-03-27 Richard Henderson <rth@redhat.com>
1754
1755 PR target/6054
1756 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
1757 TARGET_CONST_GP. Simplify conditions.
1758
59f96879
RH
17592002-03-27 Richard Henderson <rth@redhat.com>
1760
1761 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
1762 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
1763 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
1764
f3f1190d
DS
17652002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
1766
1767 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
1768 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
1769 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
1770 Remove unnecessary masks.
1771 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
1772 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
1773 -mwindows, -mdll switches and their negations.
1774
31c816cf
NB
17752002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
1776
1777 * gcc-common.c (lang_mark_false_label_stack): Remove.
1778 * ggc.h (lang_mark_false_label_stack): Similarly.
1779
7b2e1077 17802002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
1781
1782 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
1783
1784 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
1785 or __rtems_ is defined.
1786
1ef9531b
RH
17872002-03-26 Richard Henderson <rth@redhat.com>
1788
1789 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
1790 if a non-trivial load was emitted.
1791 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
1792 in high+extra+low case.
1793
300d4093
RH
17942002-03-26 Richard Henderson <rth@redhat.com>
1795
1796 * config.gcc (sparc*-solaris): Use float_format=sparc.
1797
b3689904
RH
17982002-03-26 Richard Henderson <rth@redhat.com>
1799
1800 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
1801 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
1802 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
1803 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
1804 (WINT_TYPE_SIZE): Fix at 32.
1805
1eefb6c1
RH
18062002-03-26 Richard Henderson <rth@redhat.com>
1807
1808 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
1809 until after eh landing pad generation.
1810 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
1811 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
1812
361ea006
RH
18132002-03-26 Richard Henderson <rth@redhat.com>
1814
1815 * expr.h (ADD_PARM_SIZE): One more convert for INC.
1816
1de38a88
PE
18172002-03-26 Phil Edwards <pme@gcc.gnu.org>
1818
1819 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
1820 and warning switches.
1821 (cc1_options): Likewise.
1822
d7e60e95 18232002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 1824
d7e60e95
HB
1825 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
1826 Restore more of the signal context. Set no_reg_stack_frame.
1827 * config/ia64/unwind-ia64.c (unw_state_record):
1828 Add no_reg_stack_frame, comments.
1829 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
1830 (uw_update_context): Adjust bsp when unwinding from leaf,
1831 but not signal frame.
1832
7032923b
DE
18332002-03-26 David Edelsohn <edelsohn@gnu.org>
1834
1835 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
1836
8be56275
BW
18372002-03-26 Bob Wilson <bob.wilson@acm.org>
1838
1839 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
1840
56fbb855
RE
18412002-03-26 Richard Earnshaw <rearnsha@arm.com>
1842
1843 PR target/5621
1844 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
1845 "Add a pool_range attribute", which was lost during the ARM/Thumb
1846 merge.
1847
3437320b
BW
18482002-03-26 Bob Wilson <bob.wilson@acm.org>
1849
1850 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
1851 a register into the MAC16 accumulator.
1852
173028e5
AC
18532002-03-26 Andrew Cagney <ac131313@redhat.com>
1854
1855 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
1856 (Warning Options): Document -Wswitch-enum.
1857 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
1858 -Wswitch.
1859 (warn_switch_enum): Define variables.
1860 * flags.h (warn_switch_enum): Declare variables.
1861 * stmt.c (expand_end_case_type): When warn_switch_enum /
1862 -Wswitch-enum, perform switch checks.
1863 Fix PR c/5044.
7b2e1077 1864
e14365a7
RE
18652002-03-26 Richard Earnshaw <rearnsha@arm.com>
1866
1867 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
1868 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
1869 (reload_muladdsi_compare0_scratch): Delete.
1870
46fc709d
LR
18712002-03-26 Loren J. Rittle <ljrittle@acm.org>
1872
1873 * doc/install.texi (*-*-freebsd*): Update.
1874
f36dea3c
RH
18752002-03-26 Richard Henderson <rth@redhat.com>
1876
8e5fe23f
RH
1877 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
1878 (SUB_PARM_SIZE): Cast DEC to ssizetype.
1879
1880 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
1881 types from the normal argument frame.
1882
f36dea3c
RH
1883 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
1884 variable sized objects by reference.
1885 (sparc_va_arg): Receive them by reference too.
1886
1447dc69
HP
18872002-03-26 Hartmut Penner <hpenner@de.ibm.com>
1888
1889 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 1890 code to not restoring global registers.
1447dc69 1891
4f0ade92
NB
18922002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
1893
1894 * Makefile.in (ggc-common.o): Update.
1895 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
1896 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
1897 * c-tree.h (c_mark_tree): New.
1898 * ggc-common.c: Include langhooks.h.
1899 (gcc_mark_trees): Use new langhook.
1900 * ggc-callbacks.c: Delete file.
1901 * ggc.h (lang_mark_tree): Remove.
1902 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
1903 (LANG_HOOKS_INITIALIZER): Update.
1904 * langhooks.h (struct lang_hooks): New hook.
1905objc:
1906 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
1907
caba570b
ZW
19082002-03-25 Zack Weinberg <zack@codesourcery.com>
1909
1910 * doc/cpp.texi: Exclude entire Top node from printed manual.
1911 Move option index after directive index. Insert page breaks
1912 before GFDL and concept index. Index environment variables
1913 with command line options.
1914 * doc/cppenv.texi: Use @vtable for environment variable list.
1915 Add paragraph explaining semantics of empty elements in path
1916 variables. Exclude a cross-reference to Fishkill from the
1917 manpage. Remove an unnecessary cross-reference of the entry
1918 right above the referer. Don't use @anchor in text that goes
1919 into manpage.
1920 * doc/cppopts.texi: Cross-reference the environment variables
1921 section, not the specific environment variable, for consistency.
1922
6b2e80b7
RH
19232002-03-25 Richard Henderson <rth@redhat.com>
1924
1925 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
1926 anywhere in the block. Don't refer to insns that have been
1927 removed from the chain. Iterate backward through the new insns.
1928 Don't refer to edges that have been removed.
1929
67e469d7
AM
19302002-03-26 Alan Modra <amodra@bigpond.net.au>
1931
1932 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
1933 test for overflow of constant.
1934
f2356393
RE
19352002-03-25 Richard Earnshaw <rearnsha@arm.com>
1936
1937 PR target/2623
1938 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
1939 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
1940 these patterns on arm_archv4.
1941
355426ab
DS
19422002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
1943
1944 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
1945 int".
1946
15e5ad76
ZW
19472002-03-25 Zack Weinberg <zack@codesourcery.com>
1948
1949 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
1950 float_handled, float_handler, float_signal, set_float_handler,
1951 and do_float_handler. Set handler for SIGFPE to crash_signal.
1952 * toplev.h: Don't prototype do_float_handler.
1953
1954 * c-lex.c: Fold parse_float into lex_number. Make warning
1955 about portability of hex float constants more informative, and
1956 don't issue it on top of a syntax error.
1957 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
1958 their callers.
1959 * real.h: Define REAL_VALUE_ABS here...
1960 * simplify-rtx.c: ... not here. Fold check_fold_consts,
1961 simplify_unary_real, simplify_binary_real, and
1962 simplify_binary_is2orm1 into their callers.
1963 * tree.c: Fold build_real_from_int_cst_1 into caller.
1964
1965 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
1966
1967 * tsystem.h: Include float.h here...
1968 * libgcc2.c: ... not here.
1969
56ae9405
NC
19702002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
1971
1972 Fixes for: PR bootstrap/3591, target/5676
1973 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
1974 defined. Do not disable exceptions or rtti.
1975 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
1976 mcore.h. Disable exceptions and rtti, since they are not
1977 supported by EPOC.
1978
c88770e9
NB
19792002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
1980
1981 * c-decl.c (maybe_build_cleanup): Remove.
1982 * expr.c (expand_expr): Use langhook.
1983 * langhooks-def.h (lhd_return_null_tree,
1984 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
1985 (LANGHOOKS_INITIALIZER): Update.
1986 * langhooks.c (lhd_return_null_tree): New.
1987 * langhooks.h (struct lang_hooks): New hook.
1988 * tree-inline.c (initialize_inlined_parameters): Use langhook.
1989 * tree.h (maybe_build_cleanup): Remove.
1990
2ed1f154
JJ
19912002-03-25 Jakub Jelinek <jakub@redhat.com>
1992
1993 * regrename.c (build_def_use): Move recog_memoized
1994 before extract_insn.
1995
6ddae612
JJ
19962002-03-25 Jakub Jelinek <jakub@redhat.com>
1997
1998 PR target/6043
1999 * expr.c (emit_group_store): Handle storing into CONCAT.
2000
ea475b23
JJ
20012002-03-25 Jakub Jelinek <jakub@redhat.com>
2002
2003 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
2004 corresponding MATCH_DUP.
2005
e7d482b9
RH
20062002-03-24 Richard Henderson <rth@redhat.com>
2007
cd39fc13
RH
2008 * unroll.c (unroll_loop): Zero label_map.
2009
e7d482b9
RH
2010 * gcse.c: Include except.h.
2011 * Makefile.in (gcse.o): Update.
2012
1bd6476f
RH
20132002-03-24 Richard Henderson <rth@redhat.com>
2014
2015 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
2016 Do resolve_unique_section before shared data clause.
2017
2e6c150a
RH
20182002-03-24 Richard Henderson <rth@redhat.com>
2019
2020 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
2021
b29afcf8
RH
20222002-03-24 Richard Henderson <rth@redhat.com>
2023
15e5ad76 2024 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
2025 generated in the middle of a block. Do global life update if
2026 zapped EH edges.
2027
05ed1296
RH
20282002-03-24 Richard Henderson <rth@redhat.com>
2029
2030 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
2031
3ddbb8a9
NB
20322002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
2033
2034 preprocessor/3951
15e5ad76 2035 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
2036 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
2037 (init_dependency_output): Don't make no_output decision here.
2038
740b77b6
AC
20392002-03-24 Andrew Cagney <ac131313@redhat.com>
2040
2041 * stmt.c (check_for_full_enumeration_handling): Remove tests of
2042 warn_switch. Update description.
2043 (expand_end_case_type): Call check_for_full_enumeration_handling
2044 when warn_switch.
2045
7590cfd0
SC
20462002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2047
2048 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
2049 (m68hc11_split_move): Call it to see if the source and destination
2050 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 2051 source an offsetable memory operand and generate an add.
7590cfd0 2052
2e3d3481
SC
20532002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2054
2055 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
2056 register for operand 2.
2057 ("*subsi3_zero_extendqi"): Likewise.
2058 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
2059 bits so that it is compatible with a pop.
2060 ("*andhi3_gen"): Likewise.
2061 ("xorhi3"): Likewise.
2062
2784528c
NB
20632002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
2064
2065 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
2066 -pedantic here...
2067 (cpp_post_options): ... not here.
2068
aaf93206
NB
20692002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
2070 Aldy Hernandez <aldyh@redhat.com>
2071
2072 Removal of separate preprocessor cpp0.
2073
2074 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
2075 cpp0, install-common): Update.
2076 * c-common.c (flag_preprocess_only): New.
2077 (c_common_init): Preprocess for -E.
2078 * c-common.h (flag_preprocess_only): New.
2079 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
2080 * c-objc-common.c (c_init_decl_processing): Exit quickly
2081 for NULL return from c_common_init.
2082 * cpplib.h (cpp_preprocess_file): New.
2083 * cppmain.c (main, general_init, pfile, progname): Remove.
2084 (do_preprocessing): Rename cpp_preprocess_file, don't call
2085 cpp_finish. Don't close stdout here.
2086 (setup_callbacks): Update prototype.
2087 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
2088 Update.
2089 * tradcpp.c (main): Ignore -quiet.
2090objc:
2091 * lang-specs.h (default_compilers): Preprocess with cc1obj.
2092
c6e6f5c1
RH
20932002-03-24 Richard Henderson <rth@redhat.com>
2094
2095 PR optimization/5742
2096 * machmode.def: Add inner mode field to complex modes.
2097 * config/mips/mips.c (mips_function_value): Always define. Add
2098 new argument to handle libcalls.
2099 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
2100 (FUNCTION_VALUE): Likewise.
2101 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
2102 * config/mips/mips-protos.h: Update.
2103
d88e57d1
RH
21042002-03-23 Richard Henderson <rth@redhat.com>
2105
2106 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
2107 * config/sparc/sparc-protos.h: Update.
2108 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
2109
6dfaf9ba
RH
21102002-03-23 Richard Henderson <rth@redhat.com>
2111
2112 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
2113 _start or _init begins the text segment.
2114
0c769cf8
DE
21152002-03-23 David Edelsohn <edelsohn@gnu.org>
2116
2117 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
2118 not HOST_WIDEST_INT.
2119 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
2120
64e92a26
RE
21212002-03-23 Richard Earnshaw <rearnsha@arm.com>
2122
2123 PR java/5489
2124 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
2125 operand argument to output_return_instruction.
15e5ad76 2126 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
2127 const_true_rtx then just return.
2128 (arm_print_operand, case 'D'): If the operand is const_true_rtx
2129 then abort.
2130
d6961341
AC
21312002-03-23 Andrew Cagney <ac131313@redhat.com>
2132
2133 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
2134 (Warning Options): Document -Wswitch-default.
2135 * toplev.c (W_options): Add -Wswitch-default. Update comment on
2136 -Wswitch.
2137 (warn_switch_default): Define variable.
2138 (warn_switch): Update comment.
2139 * flags.h (warn_switch_default): Declare variable.
2140 (warn_switch): Update comment.
2141 * stmt.c (expand_end_case): Check for and, when
2142 warn_switch_no_default, warn of a missing default case.
15e5ad76 2143
d4c5ac1f
AM
21442002-03-23 Alan Modra <amodra@bigpond.net.au>
2145
bbaa9790
AM
2146 * real.h (N): Special case 128 bit doubles.
2147
d4c5ac1f
AM
2148 * combine.c (simplify_comparison): When widening modes, ignore
2149 sign extension on CONST_INTs.
2150
84bf8c2c
BW
21512002-03-22 Bob Wilson <bob.wilson@acm.org>
2152
2153 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
2154 passed to adjust_address. Fix comment formatting.
2155
2156
b216cd4a
ZW
21572002-03-22 Zack Weinberg <zack@codesourcery.com>
2158
2159 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
2160 Always make REAL_VALUE_TYPE a struct containing an array of
2161 HOST_WIDE_INT, not a double. Tidy up the code deciding how
2162 big it is. Don't declare or use union real_extract.
2163
2164 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
2165 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
2166 (print_operand), config/arm/arm.c (output_move_double),
2167 config/arm/arm.md (consttable_4, consttable_8),
2168 config/romp/romp.c (output_fpops), config/s390/s390.h
2169 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
2170 (xtensa_output_literal): Don't use union real_extract.
2171
2172 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
2173 (sfmode_constant_to_ulong), config/ns32k/merlin.h
2174 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
2175 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
2176 (PRINT_OPERAND): Don't use local version of union
2177 real_extract.
2178
2179 * config/convex/convex.c (check_float_value), config/vax/vax.c
2180 (vax_float_literal), config/m88k/m88k.md (divdf3),
2181 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
2182 config/pdp11/pdp11.c (output_move_quad): Don't do host
2183 arithmetic on target floating point quantities.
2184
2185 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
2186 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
2187
2188 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
2189 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
2190
2191 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
2192 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
2193 INFINITY.
2194 * print-rtl.c (print_rtx): Disable code which needs
2195 floating-point emulator.
2196 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
2197 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
2198 depending on HOST_FLOAT_FORMAT to be defined properly.
2199
2200 * config/1750a/1750a.c (get_double, float_label): Delete.
2201 (print_operand): Delete huge commented-out chunk. Use
2202 REAL_VALUE_TO_DECIMAL.
2203 * config/1750a/1750a-protos.h: Delete prototypes of deleted
2204 functions.
2205 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
2206 IEEE_FLOAT_FORMAT.
2207 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
2208 Use REAL_VALUE_TO_DECIMAL as ELF version does.
2209 * config/m88k/m88k.c (real_power_of_2_operand,
2210 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
2211 real_extract out of the union; run the input through
2212 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
2213 from that into the union.
2214 * config/pdp11/pdp11.c (output_move_double): Rearrange
2215 parentheses to make automatic indenter happy.
2216
2217 * doc/tm.texi (Cross-compilation): Rename node to "Floating
2218 Point" and rewrite to describe current situation. Also adjust
2219 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
2220 match code.
2221 * doc/rtl.texi: Adjust cross reference.
2222
a8cacfd2
BW
22232002-03-22 Bob Wilson <bob.wilson@acm.org>
2224
2225 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
2226 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
2227 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
2228 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
2229 prevent use of sp as a reload register.
2230 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
2231 non_acc_reg_operand.
2232 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
2233 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
2234 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
2235 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
2236
d4e6133f
NB
22372002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
2238
b216cd4a
ZW
2239 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
2240 * cpplex.c (unterminated): Delete.
2241 (parse_string): No string literal may extend over multiple
2242 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
2243 * cppmain.c (scan_translation_unit): Strings are single-line.
2244
b216cd4a 2245 * doc/cpp.texi: Update to match.
d4e6133f 2246
65e6c005
JJ
22472002-03-22 Jakub Jelinek <jakub@redhat.com>
2248
2249 PR optimization/5854
2250 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
2251 Shut up warnings.
2252 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
2253 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
2254 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
2255 const0 if scratch register was not allocated.
2256 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
2257 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
2258 with GEN_INT (...).
2259 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
2260 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
2261 with GEN_INT (...) everywhere. Remove constraints in define_split
2262 patterns.
2263 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
2264 require scratch register for setting 0 into regs/non-pushable memory.
2265
7f48c9e1
AO
22662002-03-22 Alexandre Oliva <aoliva@redhat.com>
2267
2268 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
2269 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
2270
909de5da
PE
22712002-03-22 Phil Edwards <pme@gcc.gnu.org>
2272
2273 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
2274 * cppinit.c (cpp_create_reader): On by default.
2275 (cpp_handle_option): Handle -W[no-]endif-labels.
2276 (cpp_post_options): Also enable if -pedantic.
2277 * cpplib.c (do_else): Use it.
2278 (do_endif): Likewise.
2279 * doc/cppopts.texi: Document new option.
2280 * doc/invoke.texi: Document new option.
2281
d8bf17f9
LB
22822002-03-22 Lars Brinkhoff <lars@nocrew.org>
2283
2284 * config/i386/i386.c, config/i386/i386.md: Change all occurences
2285 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
2286
70e0ccd0
AO
22872002-03-22 Alexandre Oliva <aoliva@redhat.com>
2288
2289 * flow.c (calculate_global_regs_live): Clear aux fields of
2290 ENTRY and EXIT.
2291
68882f0f
JJ
22922002-03-22 Jakub Jelinek <jakub@redhat.com>
2293
2294 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
2295 REG or MEM subregs, pass rtx * instead of rtx to it.
2296 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
2297 rtx * instead of rtx to alter_subreg.
2298 * config/m32r/m32r.c (gen_split_move_double): Likewise.
2299 * config/pj/pj.c (pj_output_rval): Likewise.
2300
648fe28b
RH
23012002-03-22 Richard Henderson <rth@redhat.com>
2302
2303 PR target/3177
2304 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
2305 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
2306 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
2307 (ia64_expand_prologue): Look at int_regs, not words, for number
2308 of incomming int regs.
2309
e8dcd824
AM
23102002-03-22 Andrew MacLeod <amacleod@redhat.com>
2311
2312 * expr.c (expand_expr): A RESULT_DECL is part of a call.
2313
96327cdc
JH
2314Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
2315
2316 * toplev.c (flag_loop_optimize, flag_crossjumping):
2317 New static variables.
2318 (rest_of_compilation): Conditionalize crossjumping and
2319 loop optimizer.
2320 (parse_options_and_default_flags): Default loop_optimize and
2321 crossjumping.
2322 (lang_independent_options): Add -fcrossjumping and -floop-optimize
2323 * invoke.texi (crossjumping, loop-optimize): Document.
2324
bc185257
RS
23252002-03-22 Richard Sandiford <rsandifo@redhat.com>
2326
2327 * real.c (eiisneg): Move outside #ifdef NANS.
2328
0a2ed1f1
JH
2329Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
2330
2331 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
2332 frequencies match; avoid match on different loop depths.
2333 (try_crossjump_to_bb): Kill tests that no longer brings time
2334 savings.
2335 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
2336 updating code.
2337 (split_edge): Likewise.
2338
2339 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
2340 variable.
2341
2342 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
2343 * cfgrtl.c: Include insn-config.h
2344 (split_block) Dirtify block in presence of conditional execution
2345
4d72536e
RS
23462002-03-22 Richard Sandiford <rsandifo@redhat.com>
2347
2348 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
2349 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
2350 (function_arg): Constify CUMULATIVE_ARGS.
2351 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
2352 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
2353 (UNITS_PER_DOUBLE): New macro.
2354 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
2355 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
2356 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
2357 fp_regs and stack_words.
2358 (EABI_FLOAT_VARARGS_P): New macro.
2359 * config/mips/mips.c (struct mips_arg_info): New.
2360 (mips_arg_info): New function.
2361 (function_arg_advance): Use it. Add adjustment instructions here
2362 rather than in function_arg.
2363 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
2364 for VOIDmode at the beginning of the function.
2365 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
2366 (function_arg_pass_by_reference): Likewise.
2367 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
2368 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
2369 (mips_va_start): Likewise. Use the new stack_words field of
2370 CUMULATIVE_ARGS to set up overflow area. Reformat.
2371 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
2372 doubles and other types, aligning the overflow pointer for non-doubles
2373 too. Remove some code duplication. Replace hard-coded constants.
2374
e6f884cd
RS
23752002-03-22 Richard Sandiford <rsandifo@redhat.com>
2376
2377 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
2378 (CLASS_UNITS): Undefine.
2379 (CLASS_MAX_NREGS): Use FP_INC.
2380 * config/mips/mips.c (compute_frame_size): Likewise.
2381 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
2382
10cf9bde
NB
23832002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
2384
2385 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
2386 prototype, and handle lexing numbers and identifiers.
2387 (parse_identifier): Update to new form of parse_slow.
2388 (parse_number): Fast path only, use parse_slow otherwise.
2389 (_cpp_lex_direct): Update calls to parse_number.
2390
fbc2782e
DD
23912002-03-21 DJ Delorie <dj@redhat.com>
2392
2393 * bb-reorder.c (make_reorder_chain_1): Protect against
2394 when redundant edges are omitted.
2395 * predict.c (dump_prediction): Likewise.
2396
fba39eaf
RH
23972002-03-21 Richard Henderson <rth@redhat.com>
2398
2399 PR target/5996
2400 * fixinc/inclhack.def (solaris_stdio_tag): New.
2401 * fixinc/fixincl.x: Regenerate.
2402
eba80994
EB
24032002-03-21 Eric Botcazou <ebotcazou@multimania.com>
2404
2405 PR c/5597
2406 * c-typeck.c (process_init_element): Flag non-static
2407 initialization of a flexible array member as illegal.
2408
2a78758b
AM
24092002-03-22 Alan Modra <amodra@bigpond.net.au>
2410
2411 * config/rs6000/t-linux64: New.
2412 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
2413 t-ppccomm. Use t-rs6000 and t-linux64.
2414 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
2415 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
2416 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
2417 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 2418
2cb921f4
AH
24192002-03-21 Aldy Hernandez <aldyh@redhat.com>
2420
eba80994
EB
2421 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
2422 flag_really_no_inline instead of optimize == 0.
2cb921f4 2423
eba80994 2424 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 2425
eba80994 2426 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 2427
eba80994 2428 * flags.h (flag_really_no_inline): New.
2cb921f4 2429
659e5a7a 2430 * c-common.c (c_common_post_options): Initialize
eba80994 2431 flag_really_no_inline.
2cb921f4 2432
eba80994 2433 * toplev.c (flag_really_no_inline): New.
2cb921f4 2434
239b8b9d
JJ
24352002-03-21 Jakub Jelinek <jakub@redhat.com>
2436
2437 * config/avr/avr.md (length): Fix length computation for
2438 conditional branches.
2439
43577e6b
NB
24402002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
2441
2442 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
2443 sdbout.o, profile.o): Update.
2444 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
2445 langhook.
2446 * c-common.h (gettags): Move here from tree.h.
2447 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
2448 insert_block, getdecls, kept_level_p, global_bindings_p): New.
2449 * dbxout.c (dbxout_init): Use getdecls langhook.
2450 * expr.c (expand_expr): Use insert_block langhook.
2451 * fold-const.c: Include langhooks.h.
2452 (fold_range_test, fold_binary_op_with_conditional_arg,
2453 fold): Use global_bindings_p langhook.
2454 * integrate.c (expand_inline_function): Use insert_block langhook.
2455 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
2456 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
2457 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
2458 LANG_HOOKS_GETDECLS): New.
2459 (LANG_HOOKS_INITIALIZER): Update.
2460 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
2461 langhook.
2462 * langhooks.h (struct lang_hooks_for_decls): New.
2463 (struct lang_hooks): Update.
2464 * profile.c: Include langhooks.h.
2465 (output_func_start_profiler): Use new langhooks.
2466 * sdbout.c: Include langhooks.h.
2467 (sdbout_init, sdbout_finish): Use getdecls langhook.
2468 * stmt.c: Include langhooks.h.
2469 (expand_fixup, fixup_gotos): Use new langhooks.
2470 * stor-layout.c: Include langhooks.h.
2471 (variable_size): Use global_bindings_p langhook.
2472 * toplev.c (compile_file): Use getdecls langhook.
2473 * tree-inline.c (remap_block): Use insert_block langhook.
2474 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
2475 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
2476
5b19b10c
RH
24772002-03-21 Richard Henderson <rth@redhat.com>
2478
2479 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
2480 constants in .data when -fpic.
2481
e05af335
GP
24822002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2483
2484 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
2485 where appropriate.
2486
60ffc997
TT
24872002-03-21 Tom Tromey <tromey@redhat.com>
2488
2489 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
2490
75897075
RK
2491Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2492
a73afd69 2493 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 2494
75897075
RK
2495 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
2496
312687cf
EB
24972002-03-21 Eric Botcazou <ebotcazou@multimania.com>
2498 Richard Henderson <rth@redhat.com>
2499
2500 PR c/5354
2501 * c-common.c (c_expand_expr): Preserve result of a statement
2502 expression if needed.
2503
f0e1f482
JJ
25042002-03-21 Jakub Jelinek <jakub@redhat.com>
2505
2506 PR bootstrap/4195
2507 * genrecog.c (maybe_both_true_mode): Remove.
2508 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
2509 * machmode.def (Pmode): Likewise.
2510
c14b9960
JW
2511Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
2512
2513 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
2514 (nonlocal_mentioned_p_1): New function.
2515 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
2516 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
2517 (mark_constant_function): Recognize pure functions.
2518 * rtl.h (global_reg_mentioned_p): New prototype.
2519 * rtlanal.c (global_reg_mentioned_p,
2520 global_reg_mentioned_p_1): New function.
2521
aaa4d130
RO
25222002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2523
2524 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
2525 UNIX assert.h.
2526 * fixinc/fixincl.x: Regenerate.
2527
e5c4bd1b
JM
25282002-03-20 Jason Merrill <jason@redhat.com>
2529
2530 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
2531
852b81bb
MM
25322002-03-20 Michael Meissner <meissner@redhat.com>
2533
2534 * doc/invoke.texi (Optimize Options): Document that -O2 sets
2535 -fstrict-aliasing.
2536
86d8c251
BW
25372002-03-20 Bob Wilson <bob.wilson@acm.org>
2538
2539 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
2540 ".literal_position" directive before the constant pool.
2541
0a39c350
GP
25422002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2543
2544 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
2545 Add Craig Rodrigues.
2546 Add Brad Lucier to testers.
2547
71a83373
JJ
25482002-03-20 Jakub Jelinek <jakub@redhat.com>
2549
2550 PR target/4792
2551 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
2552 to if_then_else.
2553 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
2554 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
2555 instead of insn_extract.
2556
a29b099d
JJ
25572002-03-20 Jakub Jelinek <jakub@redhat.com>
2558
2559 PR bootstrap/4192
71a83373 2560 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
2561
2562 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
2563 stmt if some case has been output.
2564
048b1c95
JJ
25652002-03-20 Jakub Jelinek <jakub@redhat.com>
2566
2567 PR c/5972
2568 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
2569 movsfcc_1, movdfcc_1): Add %O2.
2570 * config/i386/i386.c (print_operand): Handle %ON.
2571 Print . before float condition codes in Sun as cmov syntax.
2572 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
2573 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
2574 no longer true.
2575
f4864588
PB
25762002-03-20 Philip Blundell <pb@nexus.co.uk>
2577
2578 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
2579 return instruction if PC was popped.
2580
3a307de4
BW
25812002-03-20 Bob Wilson <bob.wilson@acm.org>
2582
2583 * config/xtensa/xtensa.md: Remove unused type attributes.
2584 (adddi_carry, subddi_carry): Change type attribute to "multi".
2585
048b1c95 25862002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
2587
2588 PR optimization/5999, middle-end/5731
2589 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
2590 multiplications by reciprocals.
2591
7afff7cf
NB
25922002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
2593
2594 * Makefile.in: Update.
2595 * c-common.c: Include langhooks.h.
2596 (inline_forbidden_p): Use new hook.
2597 * diagnostic.c: Include langhooks.h.
2598 (format_with_decl, announce_function,
2599 default_print_error_function): Use new hook.
2600 * dwarf2out.c (dwarf2_name): Use new hook.
2601 * function.c: Include langhooks.h.
2602 (init_function_start): Use new hook.
2603 * langhooks-def.h (lhd_decl_printable_name): New.
2604 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
2605 (LANGHOOKS_INITIALIZER): Update.
2606 * langhooks.c (lhd_decl_printable_name): New.
2607 * langhooks.h (struct lang_hooks): New hook.
2608 * toplev.c (decl_name, decl_printable_name): Remove.
2609 (open_dump_file): Use new hook.
2610 (process_options): Remove old hook.
2611 * tree.h (decl_printable_name): Remove.
2612objc:
2613 * objc-act.c (objc_init): Remove old hook.
2614 (objc_printable_name): Export.
2615 * objc-act.h (objc_printable_name): New.
2616 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
2617
f78ce0b7
JB
26182002-03-19 Jim Blandy <jimb@redhat.com>
2619
2620 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
2621 the start_source_file debug hook, not the current line number.
2622
15b5aef3
RH
26232002-03-19 Richard Henderson <rth@redhat.com>
2624
2625 * flow.c (EH_USES): Provide default.
2626 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
2627 * doc/tm.texi (EH_USES): New.
2628
2629 * config/ia64/ia64.c (ia64_eh_uses): New.
2630 * config/ia64/ia64-protos.h: Update.
2631 * config/ia64/ia64.h (EH_USES): New.
2632
02a7a3fd
RH
26332002-03-19 Richard Henderson <rth@redhat.com>
2634
2635 * varasm.c (output_constant_def): Fix stupid typo.
2636
93f82d60
RH
26372002-03-19 Richard Henderson <rth@redhat.com>
2638
2842be05 2639 PR 5879
93f82d60
RH
2640 * except.c (current_function_has_exception_handlers): New.
2641 * except.h: Declare it.
2642 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
2643 Combine tests that disable all sibcalls for the function.
2644
ed4fbfa0
OH
26452002-03-19 Olivier Hainque <hainque@act-europe.fr>
2646
2647 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
2648 for INTEGER_CST.
2649
ebf0e888
RH
26502002-03-19 Richard Henderson <rth@redhat.com>
2651
1e82682b 2652 PR 5977, 5991
ebf0e888
RH
2653 * config/ia64/ia64.c: Revert 2002-03-01 patch.
2654 * config/ia64/ia64.h (INIT_EXPANDERS): New.
2655
e37b38d7
JB
26562002-03-19 Jim Blandy <jimb@redhat.com>
2657
2658 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
2659 name, even if the replacement list contains no tokens, as required
2660 by Dwarf.
2661
2a4ea326
JM
26622002-03-19 Jason Merrill <jason@redhat.com>
2663
f9d09ae5
JM
2664 * varasm.c (globalize_decl): Get the name from the RTL, not
2665 DECL_ASSEMBLER_NAME.
2666
2a4ea326
JM
2667 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
2668
99b96edb
BW
26692002-03-19 Bob Wilson <bob.wilson@acm.org>
2670
2671 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
2672 subdi_carry): Define.
2673
3774b567
DE
26742002-03-19 David Edelsohn <edelsohn@gnu.org>
2675
2676 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
2677 about -fpic/-fPIC if extra_warnings set.
2678
21ef78aa
DE
26792002-03-19 David Edelsohn <edelsohn@gnu.org>
2680
2681 * expr.c (expand_expr): Sign-extend CONST_INT generated from
2682 TREE_STRING_POINTER.
0c2fdcdf 2683 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 2684
91d4b3fd
RK
2685Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2686
2687 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
2688 in favor of SP if FRAME_POINTER_REQUIRED is false.
2689
2496c7bd
LB
26902002-03-19 Lars Brinkhoff <lars@nocrew.org>
2691
2692 * emit-rtl.c (gen_int_mode): New function.
2693 * rtl.h: Prototype for it.
2694 * combine.c (make_extraction, simplify_comparison), expmed.c
2695 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
2696 (convert_modes, store_field), optabs.c (expand_fix),
2697 simplify-rtx.c (neg_const_int, simplify_unary_real),
2698
2699 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
2700 Use it instead of GEN_INT (trunc_int_for_mode (...)).
2701
f735a153
JJ
27022002-03-19 Jakub Jelinek <jakub@redhat.com>
2703
2704 PR c/5656
2705 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
2706 convert_parm_for_inlining.
2707 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
2708 Define.
2709 * langhooks-def.h: Likewise.
2710 * objc/objc-lang.c: Likewise.
2711 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
2712 function.
2713 * tree-inline.c (initialize_inlined_parameters):
2714 Call convert_parm_for_inlining lang hook if needed.
2715 * c-typeck.c (c_convert_parm_for_inlining): New function.
2716 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
2717
1929c971
MM
27182002-03-18 Mark Mitchell <mark@codesourcery.com>
2719
b216cd4a 2720 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
2721 can be destroyed after expanding the argument.
2722 (expand_call): Likewise.
2723
c79ca0ac
EC
27242002-03-15 Eric Christopher <echristo@redhat.com>
2725
2726 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
2727 Fix register preference on last change.
2728 * config/mips/mips.c (mips_return_in_memory): New function.
2729 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
2730 * config/mips/mips-protos.h: Declare.
2731 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
2732 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
2733
07e2e444
AO
27342002-03-18 Alexandre Oliva <aoliva@redhat.com>
2735
1bfbbbcf
AO
2736 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
2737 a register too.
2738 (anddi3, iorsi3): Likewise.
2739
c066429e
AO
2740 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
2741 use %gprel for symbols that are going to be placed in linkonce
2742 sections.
2743
07e2e444
AO
2744 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
2745 RETURN_ADDRESS_POINTER_REGNUM to $ra.
2746 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
2747 not needed. Disregard leaf_function_p().
2748 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
2749 mips16 frame pointer.
2750 * config/mips/mips.md (store ra): Only to small SP offsets.
2751 2001-08-22 Graham Stott <grahams@redhat.com>
2752 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
2753 return a REG rtx for the return address register.
2754
eb8e00ea
BW
27552002-03-18 Bob Wilson <bob.wilson@acm.org>
2756
2757 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
2758 constant-pool addresses as "mode-dependent".
2759 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
2760
cbb92744
JJ
27612002-03-18 Jakub Jelinek <jakub@redhat.com>
2762
2763 PR target/5740
2764 * expr.c (emit_group_load): Use extract_bit_field if
2765 needed for CONCAT arguments.
2766
657d9449
RE
27672002-03-18 Richard Earnshaw <rearnsha@arm.com>
2768
91f3a802 2769 PR target/4863
657d9449
RE
2770 * arm.md (tablejump): Make this a define_expand. For PIC add the
2771 offset to the base of the table.
2772 (thumb_tablejump): Matcher for Thumb tablejump insn.
2773 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
2774 as the difference of two labels.
2775 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2776 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
2777 tables in the code.
2778 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
2779 * arm.c (get_jump_table_size): If the table is not in the text
2780 section, return zero.
c79ca0ac 2781
5d5603e2
BS
27822002-03-18 Bernd Schmidt <bernds@redhat.com>
2783
2784 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
2785 of gen_rtx_SUBREG.
2786 (arm_reload_out_hi): Use gen_lowpart instead of
2787 gen_rtx_SUBREG to access QImode components.
2788 * config/arm/arm.md: Disable zero_extend split for QImode
2789 subregs in BIG_ENDIAN mode.
2790 (storehi_bigend): Match use of least significant byte.
2791 (storeinthi): Remove extraneous SUBREG.
66c17b64 2792 Add missing construction of operands[2].
5d5603e2
BS
2793 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
2794 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
2795 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
2796
df15fbc7
AH
27972002-03-18 Aldy Hernandez <aldyh@redhat.com>
2798
2496c7bd
LB
2799 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
2800 any_operand.
df15fbc7 2801
b83b7fa3
RH
28022002-03-17 Richard Henderson <rth@redhat.com>
2803
2804 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
2805 explicitly.
2806
6f7c00fe
HPN
28072002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
2808
2809 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
2810 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
2811
155038f2
KG
28122002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2813
720d42fa
KG
2814 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
2815
155038f2
KG
2816 * predict.c (estimate_bb_frequencies): Delete unused variables.
2817
e6542f4e
RH
28182002-03-17 Richard Henderson <rth@redhat.com>
2819
2820 * config/ia64/ia64.c (ia64_attribute_table): Move before
2821 targetm definition. Make static.
2822
52dabb6c
NB
28232002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
2824
2825 * c-common.h (yyparse, c_common_parse_file): New.
2826 * c-lang.c: Include c-common.h.
2827 (LANG_HOOKS_PARSE_FILE): Redefine.
2828 * c-lex.c: Include c-common.h.
2829 (yyparse): Rename c_common_parse_file. Call yyparse.
2830 * c-parse.in (yyparse): Remove macro.
2831 * c-tree.h (yyparse_1): Remove.
2832 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
2833 (LANG_HOOKS_INITIALIZER): Update.
2834 * langhooks.h (struct lang_hoooks): New hook parse_file.
2835 * toplev.c (compile_file): Use parse_file hook.
2836 * tree.h (yyparse): Remove.
e6542f4e 2837 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 2838
b5ffe606
HPN
28392002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
2840
ba82f58b
HPN
2841 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
2842 float_truncate, not fix.
2843 ("*truncdfsf2_real"): Ditto.
2844 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
2845
b5ffe606
HPN
2846 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
2847
c8d1b2b7
AO
28482002-03-16 Alexandre Oliva <aoliva@redhat.com>
2849
cfb773f9
AO
2850 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
2851 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
2852 where appropriate. Make the second reference to
2853 leaf_function_p a function call, as intended. Reindented.
2854
4dffef52
AO
2855 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
2856 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
2857
4f5bd6d7
AO
2858 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
2859 add register to non-constant into sp.
2860
c8d1b2b7
AO
2861 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
2862 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
2863 (mips16_gp_pseudo_rtx): Lose.
2864 (INIT_EXPANDERS): Deleted.
2865 * config/mips/mips.c (mips_init_machine_status): New.
2866 (mips_free_machine_status): New.
2867 (mips_mark_machine_status): New.
2868 (override_options): Set them.
2869 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
2870 (struct machine_function): ... new. Replaced all references.
2871 (mips_add_gc_roots): Don't mark them.
2872 (embedded_pic_fnaddr_reg): New, extracted from...
2873 (embedded_pic_offset): ... here.
2874 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
2875 (movsi): Likewise.
2876
b3124fac
NB
28772002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
2878
2879 * cppinit.c: Revert -MD removal.
2880
121449b6
SC
28812002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2882
2883 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
2884 soft registers by default for 68HC12.
2885 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
2886 when compiling with -fomit-frame-pointer.
2887 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
2888 (expand_epilogue): Likewise.
2889 (m68hc11_gen_rotate): Use exg when rotating by 8.
2890
840e2ff1
SC
28912002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2892
2893 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
2894 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
2895 (splits): Remove unused add splits.
2896 ("*addhi3_68hc12"): Tune constraints.
2897 ("addhi_sp"): Try to use X instead of Y in all cases and if the
2898 constant fits in 8-bits and D is dead use abx/aby instructions.
2899 ("*addhi3"): Remove extern declaration of ix_reg.
2900 ("*subsi3"): Optimize and provide new split.
2901 ("subhi3"): Cleanup.
2902 ("*subhi3_sp"): Avoid saving X if we know it is dead.
2903 (arith splits): For 68hc12 save the address register on the stack
2904 and do the arithmetic operation with a pop.
2905
3c9a5efe
SC
29062002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2907
2908 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
2909 allocating QImode in address registers.
2910 ("*movqi_m68hc11"): Likewise.
2911
e41f3392
JH
2912Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
2913
2914 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
2915
576786b0
NB
29162002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
2917
2918 * cppinit.c (print_help): Display -MD and -MMD.
2919 Don't display usage string. Update assertion syntax and
2920 typo.
2921 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
2922 (cpp_handle_option): Update.
2923
1ac458d4
CD
29242002-03-15 Chris Demetriou <cgd@broadcom.com>
2925
2926 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
2927 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
2928 and define it so that regardless of target CPU size,
2929 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
2930 of "int" rather than "long."
2931
1fcd592b
RH
29322002-03-15 Richard Henderson <rth@redhat.com>
2933
2934 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
2935 size as a tree.
2936
a0df6910
SC
29372002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2938
2939 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
2940 ("tstqi" split): Avoid using memory for tstqi on address register.
2941 (splits): Remove constraints.
2942 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
2943 ("cmpdf", "cmpsf"): Remove since not used.
2944 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
2945 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
2946
015a2e59
SC
29472002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2948
2949 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
2950 ("neghi2"): Tighten constraints.
2951 ("one_cmplsi2"): Optimize and simplify split.
2952 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
2953
cd28557c
SC
29542002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2955
2956 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
2957 and split of AND operation to clear the upper bits.
2958 ("*logicalsi3_zextqi"): Likewise.
2959 ("*logicallhi3_zexthi_ashift8"): Likewise.
2960 ("*logicalsi3_silshr16"): Likewise.
2961 ("logicalsi3_silshl16"): Likewise.
2962 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
2963
932657df
SC
29642002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2965
2966 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
2967 (m68hc11_indirect_p): New function.
2968 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
2969 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
2970 TARGET_M6812.
2971 (asm_print_register): Likewise.
2972 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
2973 (m68hc11_indirect_p): Declare.
2974 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
2975 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
2976 (TARGET_SWITCHES): New option -mrelax.
2977 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
2978 destination.
2979 ("iorsi3", "xorsi3"): Likewise.
2980 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
2981 ("*andhi3_mem"): New to handle destination in memory with bclr
2982 and a scratch register.
2983 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
2984 ("*andhi3_const"): New when operand2 is constant.
2985 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
2986 ("*andhi3_gen"): Cleanup of the old "andhi3".
2987 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
2988 ("xorqi3"): Update constraints.
2989
fdffea1a
SC
29902002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2991
2992 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
2993 for reg_equiv_memory_loc when the operand is a register that does
2994 not get a hard register (stack location).
2995 (tst_operand): After reload, accept all memory operand.
2996 (symbolic_memory_operand): Fix detection of symbolic references.
2997 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
2998 accept symbols and any constant.
2999
6272bc68
SC
30002002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3001
3002 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
3003 note on the insn that sets the soft frame register.
3004 (must_parenthesize): ix and iy are also reserved names.
3005 (print_operand_address): One more place where parenthesis are required
3006 to avoid confusion with register names.
3007 (m68hc11_gen_movhi): Allow push of stack pointer.
3008 (m68hc11_check_z_replacement): Fix handling of parallel with a
3009 clobber.
3010 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
3011 the replacement register is.
3012 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
3013 and D8_REGS classes.
3014 (MODES_TIEABLE_P): All modes are tieable except QImode.
3015
1d2d9def
SC
30162002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3017
3018 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
3019 (___subdi3): Likewise.
3020 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
3021 (__map_data_section): Optimize 68hc11 case.
3022
a0ccf503
SC
30232002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3024
3025 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
3026 than a shift to avoid adding a register with itself.
3027 (m68hc11_memory_move_cost): Take into account NO_REGS.
3028 (m68hc11_register_move_cost): Update and use memory move cost
3029 for soft registers.
3030 (m68hc11_address_cost): Make cost of valid offset not 0 so that
3031 it gives more opportunities to cse to optimize.
3032 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
3033 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
3034
6e4ae815
MM
30352002-03-15 Mark Mitchell <mark@codesourcery.com>
3036
3037 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
3038 * c-common.def (CLEANUP_STMT): New tree node.
3039 * c-common.h (CLEANUP_DECL): New macro.
3040 (CLEANUP_EXPR): Likewise.
3041 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
3042 * expr.c (expand_expr): Tidy.
3043 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
3044 * tree-inline.c (initialize_inlined_parameters): Clean up
3045 new local variables.
3046
a42519be
JJ
30472002-03-15 Jakub Jelinek <jakub@redhat.com>
3048
3049 PR bootstrap/4128
3050 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
3051 before movrXX only, use reg_overlap_mentioned_p.
3052 Only special case NE if just one insn can be generated.
3053
15409448
JM
30542002-03-15 Jason Merrill <jason@redhat.com>
3055
3056 * varasm.c (assemble_variable): Call resolve_unique_section before
3057 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
3058 of error_mark_node.
3059
3a4edb44
RE
30602002-03-15 Richard Earnshaw <rearnsha@arm.com>
3061
3062 PR target/5170
3063 * arm.md (split pattern for thumb shiftable immediates): Add comment
3064 explaining non-obvious test.
3065
32defa36
RE
30662002-03-15 Richard Earnshaw <rearnsha@arm.com>
3067
3068 PR target/5712
3069 * arm.md (movaddr, movaddr_insn): Delete.
3070
5cc90635
JM
30712002-03-15 Jason Merrill <jason@redhat.com>
3072
3073 * toplev.c (wrapup_global_declarations): Clarify variable handling.
3074 -fkeep-static-consts doesn't apply to comdats.
3075
ecb0eece
RH
30762002-03-14 Richard Henderson <rth@redhat.com>
3077
3078 * c-decl.c: Include c-pragma.h.
3079 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
3080 (finish_function): Tidy.
3081 * c-pragma.c: Include c-common.h.
3082 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
3083 (handle_pragma_weak): Use them.
3084 (init_pragma): Register pending_weaks.
3085 * c-pragma.h (maybe_apply_pragma_weak): Declare.
3086 * print-tree.c (print_node): Print DECL_WEAK.
3087 * varasm.c (mark_weak_decls): Remove.
3088 (remove_from_pending_weak_list): Remove.
3089 (add_weak): Remove.
3090 (asm_emit_uninitialised): Call globalize_decl for weak commons.
3091 (weak_decls): Make a tree_list.
3092 (declare_weak): Cons weak_decls directly.
3093 (globalize_decl): Remove weak_decls elements directly.
3094 (weak_finish): Simplify weak_decls walk. Don't weaken unused
3095 symbols. Don't pretend to handle aliases.
3096 (init_varasm_once): Update weak_decls registry.
3097 * Makefile.in: Update dependencies.
3098
98d2b17e
RH
30992002-03-14 Richard Henderson <rth@redhat.com>
3100
3101 PR target/5312
3102 * config/ia64/ia64.c: Include tm_p.h last.
3103 (gen_nop_type): Remove duplicate definition.
3104 (cycle_end_fill_slots): Set sched_data for second L slot.
3105 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
3106 (nop_cycles_until): Fix typos.
3107
f2f4927e
JJ
31082002-03-15 Jakub Jelinek <jakub@redhat.com>
3109
3110 PR optimization/5891
3111 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
3112
5025a549
DM
31132002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
3114
3115 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
3116 descriptors correctly.
3117
03e9dbc9
MM
31182002-03-14 Michael Meissner <meissner@redhat.com>
3119
3120 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
3121 100, allowing MAX_UNROLLED_INSNS to be overridden.
3122
3123 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
3124 --param.
3125
3126 * unroll.c (params.h): Include.
3127 (MAX_UNROLLED_INSNS): Delete, now in params.h.
3128
3129 * doc/invoke.texi (--param max-unroll-insns): Document.
3130
3131 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
3132
12249385
RE
31332002-03-14 Richard Earnshaw <rearnsha@arm.com>
3134
3135 * arm.md: Fix warnings about constraints in peepholes and splits.
3136
f0cce04a
ZW
31372002-03-14 Zack Weinberg <zack@codesourcery.com>
3138
3139 * cpphash.h (struct lexer_state): Remove line_extension member.
3140 * cpplib.c (dequote_string, do_linemarker): New functions.
3141 (linemarker_dir): New data object.
3142 (DIRECTIVE_TABLE): No longer need to interpret #line in
3143 preprocessed source. Delete obsolete comment about return
3144 values of handlers.
3145 (end_directive, directive_diagnostics, _cpp_handle_directive):
3146 Don't muck with line_extension.
3147 (directive_diagnostics): No need to issue warnings for
3148 linemarkers here.
3149 (_cpp_handle_directive): Issue warnings for linemarkers here,
3150 when appropriate. Dispatch linemarkers to do_linemarker, not
3151 do_line.
3152 (do_line): Code to handle linemarkers split out to do_linemarker.
3153 Convert escape sequences in filename argument, both places.
3154
3155 * cppmacro.c (quote_string): Rename cpp_quote_string and
3156 export. All callers changed.
3157 * cpplib.h (cpp_quote_string): Prototype.
3158 * cppmain.c (print_line): Call cpp_quote_string on to_file
3159 before printing it.
3160
3161 * doc/cpp.texi: Document that escapes are now interpreted in
3162 #line and in linemarkers, and that non-printing characters are
3163 converted to octal escapes when linemarkers are generated.
3164
3165Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
3166
3167 * emit-rtl.c (try_split): Use delete_insns.
3168 * recog.c (split_all_insns): Fix terminating condition.
3169
c882c7ac
RE
31702002-03-14 Richard Earnshaw <rearnsha@arm.com>
3171 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
3172
3173 PR target/5828
3174 * arm.c (arm_output_epilogue): Fix floating-point register save
3175 adjustment when using a frame pointer.
3176
3f26edaa
RS
31772002-03-14 Richard Sandiford <rsandifo@redhat.com>
3178
3179 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
3180 * config/mips/mips.c (compute_frame_size): Retrofit them here.
3181 (save_restore_insns, mips_expand_epilogue): And here.
3182 (build_mips16_call_stub): And here.
3183 (mips_function_value): Use the new macros to decide whether a single
3184 or complex float can be returned in floating-point registers. Return
3185 a parallel rtx in the complex case.
3186
1e3881c2
JH
3187Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
3188
3189 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
3190 call after liveness analysis.
3191
3192 * recog.c (split_insn): Use delete_insn_and_edges.
3193
3194 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
3195 instructions to have branch prediction notes.
3196 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
3197
200ef634
GK
31982002-03-14 Geoffrey Keating <geoffk@redhat.com>
3199
3200 * configure.in: Don't pass -Wno-long-long to a ADA compiler
3201 that doesn't support it.
3202 * configure: Regenerate.
3203
0b82d204
JJ
32042002-03-13 Jakub Jelinek <jakub@redhat.com>
3205
3206 PR target/5626
3207 * config/sparc/sparc.md (normal_branch, inverted_branch,
3208 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
3209 inverted_fp_branch): Adjust calls to output_cbranch.
3210 Set length attribute.
3211 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
3212 output_v9branch. Set length attribute.
3213 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
3214 predicates.
3215 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
3216 (output_cbranch): Likewise. Handle far branches.
3217 (output_v9branch): Handle far branches.
3218 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
3219 Adjust prototypes.
3220 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
3221 noov_compare64_op predicates.
3222
7a8de19b
JM
32232002-03-13 Jason Merrill <jason@redhat.com>
3224
3225 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
3226 into the function and constify it.
3227 * gthr-dce.h, gthr-solaris.h: Likewise.
3228
2a55fd42
DE
32292002-03-13 David Edelsohn <edelsohn@gnu.org>
3230
3231 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
3232 * config/rs6000/rs6000.c (rs6000_va_arg): Use
3233 std_expand_builtin_va_arg if not ABI_V4.
3234
19c5b1cf
JM
32352002-03-13 Jason Merrill <jason@redhat.com>
3236
3237 * varasm.c (globalize_decl): New fn.
3238 (assemble_start_function): Use it.
3239 (asm_emit_uninitialized): Use it.
3240 (assemble_alias): Use it.
3241 (assemble_variable): Use it.
3242
2a15f5e1
HPN
32432002-03-13 Hans-Peter Nilsson <hp@axis.com>
3244
3245 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 3246 2002-03-12 internal visibility change.
2a15f5e1
HPN
3247 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
3248 visibility into SYMBOL_REF_FLAG.
3249
c0a3eeac
UW
32502002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
3251
3252 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
3253 VOIDmode operand. Add compile-time optimization for constant results.
3254
a1652cee
JM
32552002-03-12 Jason Merrill <jason@redhat.com>
3256
3257 * c-typeck.c (convert_for_assignment): Don't allow conversions
3258 between pointers and references. Only allow lvalues to convert to
3259 reference.
3260
c52a375d
HP
32612002-03-13 Hartmut Penner <hpenner@de.ibm.com>
3262
f0cce04a
ZW
3263 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
3264 before prologue, to avoid scheduling problems.
c52a375d 3265
e387e99b
JJ
32662002-03-13 Jakub Jelinek <jakub@redhat.com>
3267
3268 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
3269 (ELIMINABLE_REGS): Add sfp->sp.
3270 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
3271
32722002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
3273
3274 PR optimization/5892
3275 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
3276
4061c1a3
JJ
32772002-03-13 Jakub Jelinek <jakub@redhat.com>
3278
3279 * loop.c (basic_induction_var): Don't call convert_modes if mode
3280 classes are different.
3281
5b43fed1
RH
32822002-03-12 Richard Henderson <rth@redhat.com>
3283
9f53e965
RH
3284 PR optimization/5901
3285 * function.c (reposition_prologue_and_epilogue_notes): Position
3286 the markers after/before the last/first insn not deleted.
3287
32882002-03-12 Richard Henderson <rth@redhat.com>
3289
3290 PR optimization/5878
5b43fed1
RH
3291 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
3292 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
3293 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
3294
3295 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
3296 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
3297 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
3298
3299 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
3300 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
3301 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
3302 also. Don't set it if not flag_pic.
3303 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
3304 to be INVALID_REGNUM when not used.
3305
4e9bb42b
AH
33062002-03-13 Aldy Hernandez <aldyh@redhat.com>
3307
5b43fed1
RH
3308 * expmed.c (store_bit_field): Reset alias set for memory.
3309 (extract_bit_field): Same.
4e9bb42b 3310
2f9834e8
KG
33112002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3312
3313 * c-common.c (c_tree_code_type, c_tree_code_length,
3314 c_tree_code_name, add_c_tree_codes): Delete.
3315 * c-common.h (add_c_tree_codes): Delete.
3316 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
3317 Define.
3318 * c-objc-common.c (c_objc_common_init): Don't call
3319 add_c_tree_codes, instead set lang_unsafe_for_reeval.
3320 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
3321 objc_tree_code_name, add_objc_tree_codes): Delete.
3322 (objc_init): Don't call add_objc_tree_codes.
3323 * objc/objc-lang.c (tree_code_type, tree_code_length,
3324 tree_code_name): Define.
3325 * toplev.c (lang_independent_init): Don't set
3326 tree_code_length[IDENTIFIER_NODE].
3327 * tree.c (tree_code_type, tree_code_length, tree_code_name):
3328 Delete definitions, moved to language front-ends.
3329 * tree.def (IDENTIFIER_NODE): Hardwire the length.
3330 * tree.h (tree_code_type, tree_code_length, tree_code_name):
3331 Const-ify.
3332 (tree_code_length): Change type to unsigned char.
3333
36ad2436
RH
33342002-03-12 Richard Henderson <rth@redhat.com>
3335
3336 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
3337 internal visibility change.
3338
0ae02efa
BW
33392002-03-12 Bob Wilson <bob.wilson@acm.org>
3340
3341 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
3342 validize_mem() instead of change_address to avoid clobbering
3343 memory attributes.
3344
35bb2bee
NB
33452002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
3346
3347 * c-lex.h (position_after_whitespace): Remove.
3348
62ae2529
JJ
33492002-03-12 Jakub Jelinek <jakub@redhat.com>
3350
3351 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
3352 (lex_string): Use unsigned char pointers.
3353
6a45951f
UW
33542002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
3355
3356 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
3357 is not a valid memory_operand.
3358
e2fb85da
BW
33592002-03-12 Bob Wilson <bob.wilson@acm.org>
3360
3361 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
3362 * config/xtensa/lib1funcs.asm: Fix copyright to include
3363 special case for libgcc files.
3364 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
3365 (__divsi3): Likewise.
3366 (__umodsi3): Likewise.
3367 (__modsi3): Likewise.
3368 * config/xtensa/lib2funcs.S: Fix copyright to include
3369 special case for libgcc files.
3370
5b8619f8
TR
33712002-03-12 Tom Rix <trix@redhat.com>
3372
3373 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 3374 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
3375 (ignore_library): Same.
3376
089c8f97
BW
33772002-03-12 Bob Wilson <bob.wilson@acm.org>
3378
3379 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
3380
958c70ff
BW
33812002-03-12 Bob Wilson <bob.wilson@acm.org>
3382
3383 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
3384 to function_section before writing out the constant pool.
3385
a65c591c
DE
33862002-03-12 David Edelsohn <edelsohn@gnu.org>
3387
3388 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
3389 zero_constant.
3390 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
3391
33922002-03-12 Alan Modra <amodra@bigpond.net.au>
3393
3394 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
3395 (adddi3): Likewise.
3396 (movdf): Likewise.
3397 (movdi): Likewise.
3398 (cmpsi splitter): Likewise.
3399 (modsi3): Fail if <= 0.
3400 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
3401 redundant test when HOST_BITS_PER_WIDE_INT != 32.
3402 (reg_or_sub_cint64_operand): Likewise.
3403 (num_insns_constant_wide): Optimize sign extension.
3404 (rs6000_legitimize_address): Likewise.
3405
17720332
AM
34062002-03-12 Andrew MacLeod <amacleod@redhat.com>
3407
3408 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3409 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3410
cd49f073
AM
34112002-03-12 Andrew MacLeod <amacleod@redhat.com>
3412
3413 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
3414 address calculation.
3415
6a4e49c1
UW
34162002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
3417
3418 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
3419 scratch register to DImode / TImode.
3420 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
3421 register used does not overlap the target.
3422
54b6670a
KG
34232002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3424
3425 * Makefile.in (debug.o): Depend on debug.h.
3426 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
3427 * debug.c (do_nothing_debug_hooks): Likewise.
3428 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
3429 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
3430 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
3431 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
3432 * dwarfout.c (dwarf_debug_hooks): Likewise.
3433 * integrate.c (output_inline_function): Likewise.
3434 * objc/objc-act.c (synth_module_prologue): Likewise.
3435 * sdbout.c (sdb_debug_hooks): Likewise.
3436 * toplev.c (debug_hooks): Likewise.
3437 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
3438
2465bf76
KG
34392002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3440
3441 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
3442 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
3443 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
3444 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
3445 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
3446 * defaults.h (POINTER_SIZE): Define.
3447 * doc/tm.texi (POINTER_SIZE): Document default.
3448
53f3e9ca
KG
34492002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3450
3451 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
3452
44d3eb5b
RH
34532002-03-11 Richard Henderson <rth@redhat.com>
3454
3455 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
3456 if rebuild_label_notes_after_reload.
3457
4a085d2e
HPN
34582002-03-12 Hans-Peter Nilsson <hp@axis.com>
3459
3460 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
3461 emit pic register load if "internal" visibility.
3462 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
3463 (cris_expand_builtin_va_arg): Do all computations on trees.
3464
bc204393
RH
34652002-03-11 Richard Henderson <rth@redhat.com>
3466
3467 * rtlanal.c: Include recog.h.
3468 (keep_with_call_p): Fix thinko.
3469 * Makefile.in (rtlanal.o): Update dependencies.
3470
6b8b9d7b
CM
34712002-03-11 Chris Meyer <cmeyer@gatan.com>
3472
3473 * genflags.c (gen_insn): Use IS_VSPACE.
3474 * genoutput.c (output_insn_data): Likewise.
3475 (process_template): Likewise.
3476
6c40858f
RH
34772002-03-11 Richard Henderson <rth@redhat.com>
3478
3479 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
3480
40adaa27
NB
34812002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
3482
3483 * Makefile.in: Update.
6c40858f 3484 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 3485 Update documentation.
6c40858f
RH
3486 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
3487 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 3488
049b03f4
ZW
34892002-03-11 Zack Weinberg <zack@codesourcery.com>
3490
3491 * Makefile.in: Give texi2pod its input file as a command line
3492 argument, not on stdin.
3493
61eece67
DN
34942002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
3495 Daniel Berlin <dan@dberlin.org>
3496
3497 C++ alias analysis improvement.
f0cce04a 3498 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
3499 classes too.
3500
a65c591c
DE
35012002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
3502
ff080aba
UW
3503 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
3504
1682dbb1
DR
35052002-03-11 Douglas B Rupp <rupp@gnat.com>
3506
fa2d765a
DR
3507 * toplev.c (vms_fopen): Remove, not needed.
3508
6f1fd286
DR
3509 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
3510
b230e057
DR
3511 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
3512
cb9a8e97
DR
3513 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
3514 for FP, already done later.
3515
1682dbb1
DR
3516 * toplev.c (debug_args): Add entry for VMS_DEBUG.
3517 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
3518
3fcaac1d
RS
35192002-03-11 Richard Sandiford <rsandifo@redhat.com>
3520
3521 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
3522 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
3523 LARGEST_EXPONENT_IS_NORMAL for the given mode.
3524 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
3525 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
3526 (ediv, emul, eldexp, esqrt): Likewise.
3527 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
3528 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
3529 (saturate): New function.
3530 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
3531 (make_nan): Use a saturation value instead of a NaN if
3532 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
3533 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
3534 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
3535 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
3536 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
3537 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
3538 !ROUND_TOWARDS_ZERO.
3539 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
3540 (ROUND_TOWARDS_ZERO): Document.
3541
d25558be
AJ
35422002-03-11 Andreas Jaeger <aj@suse.de>
3543
3544 * cfg.c (dump_flow_info): Remove unused variable.
3545
c71f9ae7
HPN
35462002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
3547
3548 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
3549 computations on trees.
3550
561c9153
RH
35512002-03-10 Richard Henderson <rth@redhat.com>
3552
932b4e3e 3553 PR 5693:
561c9153
RH
3554 * reload.c (copy_replacements_1): New.
3555 (copy_replacements): Use it to recurse through the rtx.
3556
26b738be
RH
35572002-03-10 Richard Henderson <rth@redhat.com>
3558
3559 * loop.c (strength_reduce): Compute number of iterations as
3560 unsigned HOST_WIDE_INT.
3561
8d8a083e
RH
35622002-03-10 Richard Henderson <rth@redhat.com>
3563
3564 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
3565 to move away from the end of the block.
3566
32810ba3
NB
35672002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
3568
3569 PR preprocessor/5899
3570 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 3571
2b03d201
KG
35722002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3573
f90c544c
KG
3574 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
3575
2b03d201
KG
3576 * attribs.c (decl_attributes): Fix signed/unsigned warning.
3577
3ec1b4cb
HPN
35782002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
3579
3580 * config/mmix/mmix.c: Improve comments.
3581 (mmix_target_asm_function_prologue): Drop variable
3582 empty_stack_frame. Don't allocate unused slot above fp.
3583 (mmix_target_asm_function_epilogue): Mirror prologue changes.
3584 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
3585 brace in first column.
3586 (enum reg_class): Ditto.
3587 (FIRST_PARM_OFFSET): Now 0.
3588 (USER_LABEL_PREFIX): Remove #if 0:d definition.
3589
27e486c5
KG
35902002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3591
3592 * combine.c (make_extraction): Fix error in last change.
3593
0139adca
KG
35942002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3595
3596 * c4x.c (c4x_fp_reglist): Const-ify.
3597 * cris.c (cris_print_operand): Likewise.
3598 * i386.c (ix86_va_arg): Likewise.
3599 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
3600 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
3601 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
3602 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
3603 * mcore.h (regno_reg_class): Likewise.
3604 * mips.c (gen_int_relational): Likewise.
3605 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
3606 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 3607 * pdp11.c (move_costs): Likewise.
0139adca
KG
3608 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
3609 * s390.c (s390_branch_condition_mnemonic, regclass_map):
3610 Likewise.
3611 * s390.h (regclass_map): Likewise.
3612 * sh.c (shift_amounts): Likewise.
a4334c36 3613 * sh.md (rotlsi3): Likewise.
0139adca 3614
889b90a1
GK
36152002-03-09 Geoffrey Keating <geoffk@redhat.com>
3616
3617 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
3618 (ne0+5): Use new clobber to generate proper shift pattern.
3619 Patch by Michael Matz <matz@kde.org>.
3620
2877e0ae
AS
36212002-03-09 Andreas Schwab <schwab@suse.de>
3622
3623 * gcc.c (validate_all_switches): Also handle `%W{...}'.
3624
79b51cd7
GK
36252002-03-09 Geoffrey Keating <geoffk@redhat.com>
3626
3627 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
3628
e0f1be5c
JJ
36292002-03-09 Jakub Jelinek <jakub@redhat.com>
3630
3631 PR middle-end/5877
3632 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
3633 even for non-representable constants.
3634
0a7ec763
RK
3635Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3636
93fe8e92
RK
3637 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
3638 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
3639 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
3640 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
3641 (pop_function_context): Compute MAY_SHARE parameter for
3642 fixup_var_refs.
3643 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
3644 (gen_mem_addressof): Call fixup_var_refs with new parm.
3645
0a7ec763
RK
3646 * combine.c (make_extraction): Don't make extension of CONST_INT.
3647
a85cd407
AO
36482002-03-09 Alexandre Oliva <aoliva@redhat.com>
3649
9445b814
AO
3650 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
3651 in o32 and o64 ABIs.
3652 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
3653 but getting fixed-size structs passed in registers regardless of
3654 padding in o32 and o64 ABIs.
3655
a85cd407
AO
3656 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
3657 offset before loading address of argument passed by transparent
3658 reference.
3659
c51fbe40
JDA
36602002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
3661
3662 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
3663
918e70dd
AO
36642002-03-09 Alexandre Oliva <aoliva@redhat.com>
3665
3666 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
3667 marker such that registers after it are saved.
3668
3070dd00
KG
36692002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3670
3671 * sparc.c (arith_4096_operand): Fix error in last change.
3672
e25d11b0
AO
36732002-03-08 Alexandre Oliva <aoliva@redhat.com>
3674
3675 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
3676 defaults for MEABI.
3677
41daaf0e
AH
36782002-03-08 Aldy Hernandez <aldyh@redhat.com>
3679
5b43fed1
RH
3680 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
3681 vectors.
41daaf0e 3682
fa139b00
AH
36832002-03-08 Aldy Hernandez <aldyh@redhat.com>
3684
5b43fed1 3685 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 3686
c51d95ec
JH
3687Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
3688
3689 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
3690 removed; fix return value.
3691 * combine.c (combine_instructions): Dirtify blocks where we failed to
3692 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
3693 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
3694
3b25fbfe
KG
36952002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3696
3697 * gcse.c (insert_insn_end_bb): Fix typo in last change.
3698
189ae0f4
JH
3699Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
3700
3701 * recog.c (peephole2_optimize): Re-distribute EH edges.
3702
24965e7a
NB
37032002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
3704
3705 * expr.c (expand_expr): Use unsave lang hook.
3706 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
3707 (LANG_HOOKS_INITIALIZER): Update.
3708 * langhooks.h (struct lang_hooks): New hook unsave.
3709 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
3710 (unsave_expr_1): Remove unused lang_unsave_expr_now.
3711 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
3712 (unsave_expr_now): Remove.
3713 * tree.h (unsave_expr_now, lang_unsave,
3714 lang_unsave_expr_now): Remove.
3715 (lhd_unsave): New.
3716
1e4e95d6
AJ
37172002-03-08 Andreas Jaeger <aj@suse.de>
3718
3719 * flow.c (propagate_block_delete_insn): Remove unused variable.
3720
054ef905
KH
37212002-03-08 Kazu Hirata <kazu@hxi.com>
3722
3723 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
3724 insn length for memory load/store.
3725
5304400d 37262002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 3727
5304400d
CR
3728 * doc/install.texi (--with-libiconv-prefix): Document.
3729
81034129
MB
37302002-03-08 Michael Y. Brukman <myb2@cornell.edu>
3731
3732 * doc/sourcebuild.texi: Fix typo.
3733
71db7d03
JJ
37342002-03-08 Jakub Jelinek <jakub@redhat.com>
3735
3736 PR c/3711
3737 * builtins.c (std_expand_builtin_va_arg): Do all computations on
3738 trees.
3739
127c1ba5
RK
3740Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3741
3742 * rtl.c (copy_most_rtx): Move from here ...
3743 * emit-rtl.c (copy_most_rtx): ... to here.
3744
8a13c092
AO
37452002-03-08 Alexandre Oliva <aoliva@redhat.com>
3746
5faae4f7
AO
3747 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
3748 SUBTARGET_CPP_SIZE_SPEC.
3749 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
3750
8a13c092
AO
3751 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
3752
4ec59de2
MH
37532002-03-07 Matt Hiller <hiller@redhat.com>
3754
3755 * gensupport.c (first_dir_md_include): Renamed from include;
3756 change all references.
3757 (last_dir_md_include): Renamed from last_include; change all
3758 references.
3759 (init_md_reader): Unconditionally initialize base_dir whether or
3760 not filename is a relative path.
3761
12f61e77
AO
37622002-03-07 Alexandre Oliva <aoliva@redhat.com>
3763
95356058
AO
3764 * config/fp-bit.c (_unord_f2): Compile it in even if
3765 US_SOFTWARE_GOFAST is enabled.
3766
12f61e77
AO
3767 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
3768 NULL_RTX. Set all HFmode operations as NULL_RTX.
3769 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
3770 NULL_RTX, try reversing the comparison and the operands.
3771
6d7a1c4c
UW
37722002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
3773
3774 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
3775 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
3776 and MATCH_OP_DUP.
3777
66d54344
JH
3778Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
3779
3780 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
3781
068473ec
JH
3782Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
3783
3784 * basic-block.h (fixup_abnormal_edges): Declare.
3785 * reload1.c (fixup_abnormal_edges): New function.
3786 * reg-stack.c (convert_regs): Use it.
3787
3788 * gcse.c (insert_insn_end_bb): Handle trapping insns.
3789
3790 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
3791
71925bc0
RS
37922002-03-07 Richard Sandiford <rsandifo@redhat.com>
3793
3794 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
3795 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
3796 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
3797 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
3798 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
3799 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
3800 unless x and y could be infinite.
3801 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
3802 Check that the common type of both arguments is a real, even for
3803 targets without unordered comparisons. Allow an integer argument
3804 to be compared against a real.
3805 (expand_tree_builtin): Use expand_unordered_cmp.
3806 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
3807 * cse.c (fold_rtx): Likewise. Fix indentation.
3808 * fold-const.c (fold_real_zero_addition_p): New.
3809 (fold): Use it, and the new HONOR_... macros.
3810 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
3811 * jump.c (reversed_comparison_code_parts): After searching for
3812 the true comparison mode, use HONOR_NANS to decide whether it
3813 can be safely reversed.
3814 (reverse_condition_maybe_unordered): Remove IEEE check.
3815 * simplify-rtx.c (simplify_binary_operation): Use the new macros
3816 to decide which simplifications are valid. Allow the following
3817 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
3818 and (a - -b) to (a + b).
3819 (simplify_relational_operation): Use HONOR_NANS.
3820 * doc/tm.texi: Document the MODE_HAS_... macros.
3821
145d3bf2
RE
38222002-03-07 Richard Earnshaw <rearnsha@arm.com>
3823
3824 * combine.c (simplify_comparison): If simplifying a logical shift
3825 right and compare with constant, force the comparison to unsigned.
3826
76a773f3
AH
38272002-03-07 Aldy Hernandez <aldyh@redhat.com>
3828
5b43fed1 3829 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 3830
5b43fed1
RH
3831 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
3832 -mabi=no-altivec
3833 (alt_reg_names): Remove % for vrsave.
76a773f3 3834
ab55f58c
RH
38352002-03-06 Richard Henderson <rth@redhat.com>
3836
5ddec02e 3837 PR optimization/5844
ab55f58c
RH
3838 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
3839 if used indicates we've already emitted one copy of an operand.
3840 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
3841 (gen_split): Supply a non-null used.
3842
e16e3291
UW
38432002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
3844
5b43fed1 3845 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 3846
1e4e95d6 3847 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
3848 but simply fail if the expression is too complex to simplify.
3849 (simplify_gen_binary): Handle simplify_plus_minus failures.
3850
2ca6672b
JH
3851Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
3852
3853 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
3854 consistently call delete_trivially_dead_insns after CSE and GCSE;
3855 fix DFI_life dumping; do jump threading after liveness; do crossjumping
3856 after liveness2; update comment in last crossjumping.
3857 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
3858
31d0dd4f
JL
3859Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
3860
d094b0b3
JL
3861 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
3862 after completing fast dead code elimination.
3863
31d0dd4f
JL
3864 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
3865 COMPARE operator.
1e4e95d6 3866
f2b958b1
PE
38672002-03-06 Phil Edwards <pme@gcc.gnu.org>
3868
3869 * version.c: Fix misplaced leading blanks on first line.
3870
a2877a09
JH
3871Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
3872
3873 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
3874
fe477d8b
JH
3875Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
3876
3877 * cfgcleanup.c (mentions_nonequal_regs): New function.
3878 (thread_jump): Use it.
3879 * toplev.c (rest_of_compilation): Run jump threading after
3880 liveness.
3881
2041cde4
JJ
38822002-03-06 Jakub Jelinek <jakub@redhat.com>
3883
3884 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
3885 patch.
3886
82d68d46
JH
3887Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
3888
3889 * predict.c (estimate_bb_frequencies): Do not reload the
3890 frequencies from notes.
3891
3dec4024
JH
3892Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
3893
3894 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
3895 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
3896
3897 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
3898 delete_noop_moves): Return indeger.
3899 * flow.c (ndead): New variable.
3900 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
3901 BB argument; update callers.
3902 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
3903 (life_analysis): Do not call purge_all_dead_edges.
3904 (update_life_info): Return number of deleted insns; print statistics.
3905 (update_life_info_in_dirty_blocks): likewise.
3906 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
3907 return number of insns deleted.
3908
3909 * cse.c: Include timevar.h
3910 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
3911 iterate until stabilizes; print statistics; return number of killed
3912 insns.
3913 * Makefile.in: (cse.o): Add timevar.h dependency
3914 * rtl.h (delete_trivially_dead_insns): New.
3915 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
3916 * toplev.c (rest_of_compilation): Update callers.
3917
3918 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
3919 (try_optimize_cfg): Do not update liveness.
3920 (cleanup-cfg): Loop until try_optimize_cfg and dead code
3921 removal stabilizes; use delete_trivially_dead_insns.
3922
3923 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
3924
c7544dd8
ZW
39252002-03-05 Zack Weinberg <zack@codesourcery.com>
3926
3927 * cppmain.c (setup_callbacks): Disable #pragma and #ident
3928 callbacks when processing assembly language.
3929
50b424a9
JDA
39302002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
3931
3932 * pa.h (ASM_FILE_END): Define.
3933 * som.h (ASM_FILE_END): Delete.
3934
3935 * pa.c (function_arg): Don't pass floats in general registers in
3936 indirect calls if TARGET_ELF32.
3937
6185f217
RH
39382002-03-05 Richard Henderson <rth@redhat.com>
3939
3940 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
3941
3020a4b2
DS
39422002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
3943
3944 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
3945
65649daa
JJ
39462002-03-05 Jakub Jelinek <jakub@redhat.com>
3947
3948 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
3949 -r command line. Don't hide any symbols if not building
3950 shared libgcc.
3951
5a1a3e5e
JH
3952Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
3953
3954 * cfg.c (dump_flow_info): Warn about profile mismatches.
3955 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
3956 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
3957
170c56da
JJ
39582002-03-05 Jakub Jelinek <jakub@redhat.com>
3959
3960 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
3961 wide volatile memory by parts.
3962
6d051694
JJ
39632002-03-05 Jakub Jelinek <jakub@redhat.com>
3964
3965 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
3966 is NULL.
3967
28bcfd4d
RH
39682002-03-05 Richard Henderson <rth@redhat.com>
3969
5b43fed1 3970 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 3971
75227a33
GK
39722002-03-04 Geoffrey Keating <geoffk@redhat.com>
3973
3974 * toplev.c (documented_lang_options): Document more
3975 language-specific options.
3976 * doc/invoke.texi (Warning Options): Correct documentation for
3977 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
3978 * c-decl.c (c_decode_option): Use a table to handle warning options.
3979
4f1aac42
HPN
39802002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
3981
3982 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
3983 parameter to mmix_encode_section_info.
3984 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
3985 relocatably. Always produce ELF, not mmo if linking relocatably.
3986 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
3987 first is non-zero, don't add symbol prefix.
3988 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
3989 prototype accordingly.
3990
12345543
KW
39912002-03-04 Krister Walfridsson <cato@df.lth.se>
3992
3993 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
3994
8e97db8f
JM
39952002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
3996
3997 * configure.in: Increase required makeinfo version to 4.1.
3998 * configure: Regenerate.
3999
06487868
GK
40002002-03-04 Geoffrey Keating <geoffk@redhat.com>
4001
4002 * .cvsignore: Remove *.info* and genrtl*; these files are generated
4003 elsewhere now.
4004
cff42170
JM
40052002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
4006
4007 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
4008 * doc/invoke.texi: Fix @math uses.
4009
974a7f56
JH
4010Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
4011
4012 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
4013 removal
4014
3b7d0e98
AH
40152002-03-03 Aldy Hernandez <aldyh@redhat.com>
4016
5b43fed1
RH
4017 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
4018 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 4019
5b43fed1 4020 * config/rs6000/t-ppcendian: New.
3b7d0e98 4021
65f2f288
HB
40222002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4023
4024 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
4025 nonimmediate_src_operand and nonimmediate_lsrc_operand to
4026 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
4027
8ce0a8a5
RH
40282002-03-03 Richard Henderson <rth@redhat.com>
4029
4030 * toplev.c (rest_of_decl_compilation): Revert last two changes.
4031
ba31d94e
ZW
40322002-03-03 Zack Weinberg <zack@codesourcery.com>
4033
4034 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
4035 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
4036 tree.c, config/m68k/m68k.c:
4037 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
4038 REAL_ARITHMETIC blocks unconditional. Delete some further
4039 #ifdef blocks predicated on REAL_ARITHMETIC.
4040 * flags.h, toplev.c: Delete remaining references to
4041 flag_pretend_float.
4042
4043 * doc/invoke.texi: Remove documentation of -fpretend-float.
4044 * doc/tm.texi: Describe the various REAL_* macros as provided by
4045 real.h, not by the target configuration files.
4046
4047 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
4048 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
4049 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
4050 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
4051 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
4052 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
4053 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
4054 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
4055 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
4056 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
4057 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
4058 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
4059 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
4060 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
4061 config/xtensa/xtensa.h:
4062 Do not define, undefine, or mention in comments any of
4063 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
4064 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
4065 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
4066 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
4067 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
4068 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
4069 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
4070 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
4071 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
4072
9a571cfd
KG
40732002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4074
e81dd381
KG
4075 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
4076 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
4077 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
4078 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
4079 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
4080 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
4081 Delete.
4082 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 4083 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 4084
9a571cfd
KG
4085 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
4086 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
4087 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
4088
ca7558fc
KG
40892002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4090
4091 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
4092 lieu of explicit sizeof/sizeof.
4093 * i386.c (override_options, ix86_init_mmx_sse_builtins,
4094 ix86_expand_builtin): Likewise.
4095 * mips.c (mips_add_gc_roots): Likewise.
4096 * mmix.c (mmix_output_condition): Likewise.
4097 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
4098 altivec_init_builtins): Likewise.
4099 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
4100 * cppexp.c (Nsuff, parse_number): Likewise.
4101 * cppinit.c (builtin_array_end): Likewise.
4102 * gcc.c (n_default_compilers, process_command): Likewise.
4103 * genpreds.c (output_predicate_decls): Likewise.
4104 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
4105 * lcm.c (N_ENTITIES): Likewise.
4106 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 4107
41c78c88
RH
41082002-03-03 Richard Henderson <rth@redhat.com>
4109
4110 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
4111 for types or labels.
4112
9e9b71e6
RH
41132002-03-03 Richard Henderson <rth@redhat.com>
4114
4115 * c-decl.c (start_decl): Initialized variables are not common.
4116
c26a6db8
PB
41172002-03-02 Per Bothner <per@bothner.com>
4118
4119 * gcc.c (option_map): Suport new --bootclasspath option.
4120 --CLASSPATH is now just an alias for --classpath.
4121
9e8aab55
RH
41222002-03-02 Richard Henderson <rth@redhat.com>
4123
4124 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
4125 load if "internal" visibility.
4126 * doc/extend.texi: Document visibility meanings.
4127
b3bbd220
RH
41282002-03-02 Richard Henderson <rth@redhat.com>
4129
4130 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
4131 to functions as well.
4132
b14707c3
RH
41332002-03-02 Richard Henderson <rth@redhat.com>
4134
4135 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
4136 (handle_visibility_attribute): Don't call assemble_visibility.
4137 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
4138 without asmspec. Invoke assemble_alias when needed.
4139 * varasm.c (maybe_assemble_visibility): New.
4140 (assemble_start_function, assemble_variable, assemble_alias): Use it.
4141
b2003250
RH
41422002-03-02 Richard Henderson <rth@redhat.com>
4143
4144 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
4145 invoke ENCODE_SECTION_INFO with first call flag.
4146
4147 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
4148 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 4149 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
4150 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
4151 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
4152 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
4153 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
4154 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
4155 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
4156 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
4157 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
4158 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
4159 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
4160 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
4161 config/mcore/mcore-protos.h, config/mcore/mcore.c,
4162 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
4163 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 4164 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
4165 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
4166 config/sh/sh.h, config/sparc/sparc.h,
4167 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
4168 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
4169 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
4170 FIRST argument. As needed, examine it and do nothing.
4171
ba31d94e 4172 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
4173 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
4174 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
4175
4176 * config/arm/t-pe (pe.o): Add dependencies.
4177
5c60f03d
KG
41782002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4179
4180 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
4181 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
4182 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
4183 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
4184 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
4185 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
4186 * defaults.h (BITS_PER_UNIT): Define.
4187 * doc/tm.texi (BITS_PER_UNIT): Document default value.
4188
86855e8c
KH
41892002-03-02 Kazu Hirata <kazu@hxi.com>
4190
4191 * config/h8300/h8300-protos.h: Add a prototype for
4192 compute_a_shift_length.
4193 * config/h8300/h8300.c (h8300_asm_insn_count): New.
4194 (compute_a_shift_length): Likewise.
4195 (h8300_adjust_insn_length): Do not adjust insn length of shift
4196 insns.
4197 * config/h8300/h8300.md (anonymous shift patterns): Use
4198 compute_a_shift_length.
4199
f6041ed8
RK
4200Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4201
35aa3c1c
RK
4202 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
4203 trunc_int_for_mode.
4204
f6041ed8
RK
4205 * emit-rtl.c (offset_address): Call update_temp_slot_address.
4206
27b41650
KG
42072002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4208
4209 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
4210 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
4211 * flags.h (flag_zero_initialized_in_bss): Declare.
4212 * toplev.c (flag_zero_initialized_in_bss): New flag.
4213 (lang_independent_options): Add flag_zero_initialized_in_bss.
4214 * tree.c (initializer_zerop): New function.
4215 * tree.h (initializer_zerop): Declare.
4216 * varasm.c (assemble_variable): If we can emit bss, put zero
4217 initializers in the bss section.
4218
ca734b39
AM
42192002-03-02 Alan Modra <amodra@bigpond.net.au>
4220
4221 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
4222 like more than one symbol per .weak directive.
4223
49b72306
RH
42242002-03-01 Richard Henderson <rth@redhat.com>
4225
4226 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
4227 adjust argument_pointer by pretend_args_size.
4228 (ia64_va_start): Adjust va_start address by -pretend_args_size.
4229
fbf0fe41
KH
42302002-03-01 Kazu Hirata <kazu@hxi.com>
4231
4232 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
4233
0010687d
JH
4234Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
4235
4236 * toplev.c (rest_of_compilation): Delete dead jumptables before
4237 loop.
4238 * flow.c (delete_dead_jumptables): Make global.
4239 * rtl.h (delete_dead_jumptables): Declare.
4240
9429c84c
DE
42412002-03-01 David Edelsohn <edelsohn@gnu.org>
4242
4243 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
4244 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 4245 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 4246
f0b6f9a6
KH
42472002-03-01 Kazu Hirata <kazu@hxi.com>
4248
4249 * config/h8300/h8300-protos.h: Fix formatting.
4250 * config/h8300/h8300.c: Likewise.
4251 * config/h8300/h8300.h: Likewise.
4252
bc8db8a1
KH
42532002-03-01 Kazu Hirata <kazu@hxi.com>
4254
4255 * config/h8300/h8300.c (print_operand): Support 16-bit
4256 constant addresses.
4257 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
4258
32b069d3
RH
42592002-02-28 Richard Henderson <rth@redhat.com>
4260
4261 * expmed.c (store_bit_field): Prevent generation of CONCATs;
4262 pun complex values as integers; use gen_lowpart instead of
4263 gen_rtx_SUBREG.
4264 (extract_bit_field): Likewise.
4265
79c4e63f
AM
42662002-03-01 Alan Modra <amodra@bigpond.net.au>
4267 David Edelsohn <edelsohn@gnu.org>
4268
4269 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
4270 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
4271 (SUPPORTS_WEAK): Likewise.
4272 * output.h (add_weak): Add tree param.
4273 * varasm.c (add_weak): Likewise. Save decl.
4274 (struct weak_syms): Add decl field.
4275 (mark_weak_decls): New function.
4276 (init_varasm_once): ggc_add_root mark_weak_decls.
4277 (assemble_start_function): Use ASM_WEAKEN_DECL.
4278 (assemble_variable): Likewise.
4279 (assemble_alias): Likewise.
4280 (declare_weak): Pass decl to add_weak.
4281 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
4282 (remove_from_pending_weak_list): Declare and define for
4283 ASM_WEAKEN_DECL.
4284 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
4285 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
4286 * defaults.h (SUPPORTS_WEAK): Likewise.
4287 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
4288 .weak for code sym. Do emit .size for descriptor sym.
4289 (ASM_DECLARE_FUNCTION_SIZE): Define.
4290 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
4291 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
4292 .lglobl unless TARGET_XCOFF. Formatting fixes.
4293 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
4294 .weak for code sym.
4295 (HANDLE_PRAGMA_WEAK): Remove.
4296 (ASM_WEAKEN_LABEL): Remove.
4297 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
4298
6f30f1f1
JM
42992002-03-01 Jason Merrill <jason@redhat.com>
4300
4301 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
4302 (TARGET_EXPR_CLEANUP): New macro.
4303
7879b81e
SE
43042002-02-28 Steve Ellcey <sje@cup.hp.com>
4305
4306 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
4307 to take ptr_extend into account as third type of extension.
4308 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
4309 fields used by SUBREG_PROMOTED_UNSIGNED_P.
4310 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
4311 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
4312 * calls.c (precompute_arguments): Use new macro.
4313 (expand_call): Ditto.
4314 * combine.c (nonzero_bits): Ditto.
4315 (record_promoted_value): Ditto.
4316 * expr.c (store_expr): Ditto.
4317 (expand_expr): Ditto.
4318 * function.c (assign_parms): Ditto.
4319
42d579d8
AO
43202002-02-28 Alexandre Oliva <aoliva@redhat.com>
4321
4322 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
4323 override -shared and -shared-libgcc.
4324
e0054185
DB
43252002-02-28 David O'Brien <obrien@FreeBSD.org>
4326
4327 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
4328 of "ultrasparc".
4329 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
4330 to be broken.
4331
abda4f1c
RH
43322002-02-28 Richard Henderson <rth@redhat.com>
4333
4334 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
4335 4 cycle latency from MM producers.
4336 (ia64_internal_sched_reorder): Likewise with pipeline flush.
4337
c0f08649
JJ
43382002-02-28 Jakub Jelinek <jakub@redhat.com>
4339
4340 * mklibgcc.in: Don't use GNU make extension.
4341
f79f2651
NB
43422002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
4343
4344 * c-parse.in (STATIC): New terminal.
4345 (scspec): New non-terminal. Update productions accordingly.
4346 (program): Remove bogus ifc / end ifc.
4347 (array_declarator): Simplify production using STATIC.
4348
001e3fee
JM
43492002-02-28 Jim Meyering <meyering@lucent.com>
4350
4351 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
4352 \a still means TARGET_BELL.
4353
89076bb3
RH
43542002-02-28 Richard Henderson <rth@redhat.com>
4355
4356 * haifa-sched.c (sched_emit_insn): New.
4357 (schedule_block): Use last_scheduled_insn to track last insn.
4358 * sched-int.h (sched_emit_insn): Prototype.
4359 * config/ia64/ia64.c (last_issued): Remove.
4360 (ia64_variable_issue): Don't set it.
4361 (nop_cycles_until): Use sched_emit_insn.
4362
e3aaacf4
AM
43632002-02-28 Andrew MacLeod <amacleod@redhat.com>
4364
4365 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
4366 extended constants.
4367
7f473594
KH
43682002-02-28 Kazu Hirata <kazu@hxi.com>
4369
4370 * config/h8300/h8300.c: Fix formatting.
4371 * config/h8300/h8300.h: Likewise.
4372
b96c434c
MM
43732002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
4374
4375 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
4376 which may overwrite the high byte of the frame pointer.
4377
9b420a6a
BT
43782002-02-28 Bo Thorsen <bo@suse.de>
4379
4380 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
4381 (STARTFILE_SPEC): Add 64 bit files.
4382 (ENDFILE_SPEC): Likewise.
4383
6f30f1f1 43842002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
4385
4386 * c-decl.c (finish_function): Only warn about missing return
4387 statement with -Wreturn-type.
4388
70da1d03
JH
4389Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
4390
4391 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
4392
4393 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
4394 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
4395
38c1593d
JH
4396Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
4397
4398 * basic-block.h (BB_REACHABLE): Renumber.
4399 (BB_DIRTY, BB_NEW): New flags.
4400 (clear_bb_flags): Declare.
4401 (update_life_info_in_dirty_blocks): Declare.
4402 * cfg.c (clear_bb_flags): New function.
4403 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
4404 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
4405 reorder_insns, emit_insn_after): Mark block as dirty.
4406 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
4407 (update_life_info_in_dirty_blocks): New function.
4408 * recog.c (apply_change_group): Dirtify block.
4409
4410 * cse.c (cse_insn): Reorder emitting of jump insn to keep
4411 cfg consistent.
4412 * gcse.c (delete_null_pointer_checks): Likewise.
4413
4414 * toplev.c (dump_file_index): Move cse2 after bp,
4415 add DFI_null
4416 (dump_file_info): Similary.
4417 (rest_of_compilation): Avoid most of CFG rebuilds;
4418 do first if converision after null pointer checks, do cse2
4419 after branch prediction; avoid full liveness rebuild after
4420 initializing subregs.
4421 * invoke.texi (-d options): Document -du, renumber.
4422
4423 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
4424 (notice_new_block): Do not set BB_UPDATE_LIFE.
4425 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
4426 merge_blocks_move_successor_nojumps, merge_blocks,
4427 try_crossjump_to_edge): Likewise.
4428 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
4429 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
4430 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
4431 (merge_of_block): Do not use life_data_ok.
4432 (find_if_case_1): Do not use SET_UPDATE_LIFE.
4433 (if_convert): Use BB_DIRTY mechanizm to update life.
4434 * lcm.c (optimize_mode_switching): Update
4435 update_life_info_in_dirty_blocks
4436
63e1b1c4
NB
44372002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
4438
4439 * Makefile.in (integrate.o): Update.
4440 * c-decl.c (copy_lang_decl): Rename.
4441 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
4442 * integrate.c: Include langhooks.h.
4443 (copy_decl_for_inlining): Update to use langhook.
4444 * langhooks-def.h (lhd_do_nothing_t,
4445 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
4446 (LANG_HOOKS_INITIALIZER): Update.
4447 * langhooks.c (lhd_do_nothing_t): New.
4448 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
4449 * tree.h (copy_lang_decl): Remove.
4450objc:
4451 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
4452
f472fa29
AM
44532002-02-27 Andrew MacLeod <amacleod@redhat.com>
4454
ba31d94e 4455 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
4456 POST_DEC, and POST_MODIFY.
4457
273cf2e4
ZW
44582002-02-27 Zack Weinberg <zack@codesourcery.com>
4459
4460 * c-typeck.c (digest_init): Remove unused parameter; all
4461 callers changed.
4462
4e07d762
GK
44632002-02-27 Geoffrey Keating <geoffk@redhat.com>
4464
4465 * expmed.c (expand_shift): Correctly test for low part of a
4466 subreg.
4467
6bc627b3
UW
44682002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
4469
4470 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
4471 insn UIDs with insn addresses.
4472
f458d1d5
ZW
44732002-02-27 Zack Weinberg <zack@codesourcery.com>
4474
4475 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
4476 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
4477 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
4478 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
4479 gcc.c, toplev.c: Delete code implementing -traditional mode.
4480
4481 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
4482 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
4483 Document removal of -traditional mode for compilation, and
4484 remove documentation only relevant to that mode.
4485
4486 * config/nextstep.h, config/ptx4.h, config/svr4.h,
4487 config/convex/convex.h, config/d30v/d30v.h,
4488 config/i386/dgux.h, config/i386/osf1elf.h,
4489 config/i386/osfelf.h, config/i386/osfrose.h,
4490 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
4491 config/m68k/hp310.h, config/m88k/dgux.h,
4492 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
4493 config/m88k/m88k.h, config/m88k/openbsd.h,
4494 config/mips/abi64.h, config/mips/osfrose.h,
4495 config/mips/svr4-5.h, config/mips/svr4-t.h,
4496 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
4497 config/stormy16/stormy16.h: Remove all references to
4498 -traditional from target specs. Delete all mention of the
4499 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
4500 delete a couple of commented-out definitions of
4501 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
4502 to -traditional.
4503
4504 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
4505 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
4506
e0b3a8ff
ZW
45072002-02-27 Zack Weinberg <zack@codesourcery.com>
4508
4509 * mklibgcc.in: Don't use \n in a line subject to
4510 interpretation by echo.
4511
5c6a85b7
GS
45122002-02-27 Graham Stott <grahams@redhat.com>
4513
72b05af1
GS
4514 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
4515 Constify NAME.
4516
7d104885
GS
4517 * loop.c (prescan_loop): Handle PARALLEL.
4518
8ed805d2
GS
4519 * unroll.c (loop_iterations): Return 0 if the add_val for
4520 a BIV is REG.
4521
fd478a0a
GS
4522 * final.c (output_operand_lossage): Constify PFX_STR.
4523
5c6a85b7
GS
4524 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
4525
cd98ad03
JH
4526Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
4527
4528 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
4529 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
4530
639ae55b
JH
4531Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
4532
4533 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
4534
e808ec9c
NB
45352002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
4536
4537 * cpplex.c (_cpp_lex_token): Handle directives in macro
4538 arguments.
4539 * cpplib.c (_cpp_handle_directive): Save and restore state
4540 if parsing macro args when entering a directive.
4541 * cppmacro.c (collect_args): No need to handle directives
4542 in macro arguments.
4543 (enter_macro_context, replace_args): Use the original macro
4544 definition in case it was redefined whilst collecting arguments.
4545doc:
4546 * cpp.texi: Update.
4547
f585a356
DE
45482002-02-26 David Edelsohn <edelsohn@gnu.org>
4549
4550 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
4551 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
4552 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
4553 method on AIX.
4554 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
4555 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
4556 (load_toc_v4_PIC_2): Same.
4557
45582002-02-26 Alan Modra <amodra@bigpond.net.au>
4559
4560 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
4561
d699058e
RH
45622002-02-26 Richard Henderson <rth@redhat.com>
4563
4564 * config/alpha/alpha.md (ashldi_se): Re-enable.
4565
eadccfbb
RH
45662002-02-26 Richard Henderson <rth@redhat.com>
4567
4568 * config/alpha/alpha.c (alpha_encode_section_info): Examine
4569 MODULE_LOCAL_P; improve commentary.
4570
7080ada1
ZW
45712002-02-26 Zack Weinberg <zack@codesourcery.com>
4572
4573 * doc/cpp.texi: Clarify documentation of relationship between
4574 #line and #include.
4575
b42cff6b
KH
45762002-02-26 Kazu Hirata <kazu@hxi.com>
4577
4578 * config/h8300/h8300-protos.h: Update the prototype for
4579 compute_logical_op_length. Add the prototype for
4580 compute_logical_op_cc.
4581 * config/h8300/h8300.c (compute_logical_op_length): Figure out
4582 code from operands.
4583 (compute_logical_op_cc): New.
4584 * config/h8300/h8300.md: Combine all the logical op patterns
4585 in HImode and SImode. Use compute_logical_op_cc.
4586
831c4e87
KC
45872002-02-26 Kelley Cook <kelleycook@comcast.net>
4588
4589 * config/i386/i386.c (print_operand): Don't append ATT-style
4590 length suffixs to x87 opcodes when in Intel mode.
4591
ff88fe10
RS
45922002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
4593
4594 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
4595 (init_emit_once): Update calls.
4596 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
4597 (init_syntax_once): Prototype.
4598
d4108589
JDA
45992002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
4600
4601 * pa-linux.h (LIB_SPEC): Update definition.
4602 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
4603
e013f3c7
RH
46042002-02-26 Richard Henderson <rth@redhat.com>
4605
4606 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
4607 if we emitted a stop bit.
4608
9e944a16
JJ
46092002-02-26 Jakub Jelinek <jakub@redhat.com>
4610
4611 * configure.in (libgcc_visibility): Substitute.
4612 * configure: Rebuilt.
4613 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
4614 defined symbols .hidden.
4615
47bd70b5
JJ
46162002-02-26 Jakub Jelinek <jakub@redhat.com>
4617
4618 * attribs.c (c_common_attribute_table): Add visibility.
4619 (handle_visibility_attribute): New function.
4620 * varasm.c (assemble_visibility): New function.
4621 * output.h (assemble_visibility): Add prototype.
4622 * tree.h (MODULE_LOCAL_P): Define.
4623 * crtstuff.c (__dso_handle): Use visibility attribute.
4624 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
4625 for MODULE_LOCAL_P symbols too.
4626 * config/ia64/ia64.c (ia64_encode_section_info): Handle
4627 MODULE_LOCAL_P symbols the same way as local symbols.
4628 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
4629 into .sdata/.sbss by the user.
4630 * doc/extend.texi (Function Attributes): Document visibility
4631 attribute.
4632
6d73371a
JJ
46332002-02-26 Jakub Jelinek <jakub@redhat.com>
4634
4635 PR debug/5770
4636 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
4637 STRING_CST initializer spanning the whole variable without
4638 embedded zeros.
4639 If expand_expr returned MEM, don't use it.
4640
06e224f7
AO
46412002-02-26 Alexandre Oliva <aoliva@redhat.com>
4642
4643 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
4644 generate a die for the lexical block.
4645
40367e2d
KH
46462002-02-26 Kazu Hirata <kazu@hxi.com>
4647
4648 * config/h8300/h8300-protos.h: Add a prototype for
4649 compute_logical_op_length.
4650 * config/h8300/h8300.c (compute_logical_op_length): New.
4651 * config/h8300/h8300.md (anonymous logical patterns): Use
4652 compute_logical_op_length for length.
4653
0e98f924
AH
46542002-02-26 Aldy Hernandez <aldyh@redhat.com>
4655
831c4e87
KC
4656 * dwarf2out.c (modified_type_die): Do not call type_main_variant
4657 for vectors.
4658 (gen_type_die): Same.
0e98f924 4659
831c4e87 4660 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 4661
a50cfd52
DE
46622002-02-26 Daniel Egger <degger@fhm.edu>
4663
831c4e87
KC
4664 * config/rs6000/rs6000.md: Swap define_insn attributes to
4665 fix incorrect generation of merge high instructions instead
4666 of merge low.
a50cfd52 4667
b7997284
AH
46682002-02-26 Aldy Hernandez <aldyh@redhat.com>
4669
831c4e87
KC
4670 * c-typeck.c (really_start_incremental_init): Use
4671 bitsize_zero_node for vectors.
b7997284 4672
376aec5d
AH
46732002-02-26 Aldy Hernandez <aldyh@redhat.com>
4674
831c4e87
KC
4675 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
4676 ("*set_vrsave_internal"): Same.
376aec5d 4677
3b40e71b
RH
46782002-02-25 Richard Henderson <rth@redhat.com>
4679
4680 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
4681 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
4682
232b8f52
JJ
46832002-02-25 Jakub Jelinek <jakub@redhat.com>
4684
4685 PR target/5755
4686 * config/i386/i386.c (ix86_return_pops_args): Only pop
4687 fake structure return argument if it was passed on the stack.
4688
67282790
JM
46892002-02-25 Jason Merrill <jason@redhat.com>
4690
4691 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
4692 RESULT_DECL.
4693
5c181756
AO
46942002-02-25 Alexandre Oliva <aoliva@redhat.com>
4695
4696 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
4697 link with shared_name only.
4698 * doc/invoke.texi (Link Options): Document new behavior.
4699
6786d201
AH
47002002-02-25 Aldy Hernandez <aldyh@redhat.com>
4701
831c4e87 4702 * c-typeck.c (push_init_level): Handle vectors.
6786d201 4703
7d6040e8
AO
47042002-02-25 Alexandre Oliva <aoliva@redhat.com>
4705
4706 * config/sparc/sparc.c (const64_high_operand): Zero-extend
4707 operands of SPARC_SETHI_P.
4708 (input_operand): Likewise.
4709 (sparc_emit_set_const32): Likewise.
4710 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
4711 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
4712 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
4713 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
4714 (movdi_insn_sp64_vis): Likewise.
4715 (movdi split, movdf split): Use SETHI32.
4716 * doc/md.texi: Document SPARC constraints L, M and N.
4717
b188f760
AH
47182002-02-25 Aldy Hernandez <aldyh@redhat.com>
4719
831c4e87
KC
4720 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
4721 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 4722
831c4e87
KC
4723 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
4724 gen_get_vrsave_internal.
b188f760 4725
8041889f
RK
4726Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4727
4728 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
4729
a47ed310
NB
47302002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
4731
4732 * cpplex.c (cpp_interpret_charconst): Get signedness or
4733 otherwise of wide character constants correct.
4734 * cppexp.c (lex): Get signedness of wide charconsts correct.
4735
cb8f73be
RK
4736Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4737
4738 * optabs.c (widen_operand): Only call convert_modes for
4739 promoted SUBREG if signedness matches.
4740 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
4741
2450e0b8
NB
47422002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
4743
4744 * cpplib.c (glue_header_name): Use local buffer to build up
4745 header name.
4746
70b6aaed
NB
47472002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
4748
4749 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
4750
6be580c7
KH
47512002-02-23 Kazu Hirata <kazu@hxi.com>
4752
4753 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
4754 H8/300[HS] separately.
4755 * config/h8300/h8300.md: Remove the early clobber constraint
4756 from bit field patterns.
4757
35dad9f1
KH
47582002-02-23 Kazu Hirata <kazu@hxi.com>
4759
4760 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
4761 register_operand.
4762 (mulhisi3): Likewise.
4763 (umulqisi3): Likewise.
4764 (umulhisi3): Likewise.
4765
ab8e2228
NB
47662002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
4767
4768 * cppinit.c (output_deps): Correct test for stdout output.
4769 (init_dependency_output): Cure warning.
4770
ac6f8a15
RK
4771Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4772
4773 * expr.c (store_expr): When converting expression to promoted
4774 equivalent type, allow using SUBREG_REG of TARGET as the target
4775 of the expansion of EXP.
4776 * loop.c (basic_induction_var, case SUBREG): Always look inside.
4777 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
4778 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
4779 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
4780 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
4781
f282ffb3
JM
47822002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
4783
4784 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
4785 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
4786 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
4787
44c5edc0
JJ
47882002-02-23 Jakub Jelinek <jakub@redhat.com>
4789
4790 PR optimization/5747
4791 * loop.c (scan_loop): Update reg info if move_movables created new
4792 pseudos.
4793
f98e43c0
DE
47942002-02-23 David Edelsohn <edelsohn@gnu.org>
4795
4796 * gcc.c (init_gcc_spec): Revert last change.
4797
e72247f4
DE
47982002-02-23 David Edelsohn <edelsohn@gnu.org>
4799
4800 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
4801 gpc_reg_operand constraint.
4802
48032002-02-23 Alan Modra <amodra@bigpond.net.au>
4804
4805 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
4806 Simplify comparison of `low'.
4807 (add_operand): Fix formatting.
4808 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 4809 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
4810 (rs6000_stack_info): Remove redundant test setting push_p.
4811 (output_toc): Fix formatting.
4812 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
4813 cc_reg_not_cr0_operand constraint.
4814 (booldi3, boolcdi3 splitters): Same.
4815
a5c30531
AH
48162002-02-23 Aldy Hernandez <aldyh@redhat.com>
4817
831c4e87 4818 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 4819
43710f9f
DE
48202002-02-22 David Edelsohn <edelsohn@gnu.org>
4821
4822 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
4823 gcc invoked with -shared-libgcc.
4824
3256b817
JJ
48252002-02-22 Jakub Jelinek <jakub@redhat.com>
4826
4827 PR c++/5748
4828 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
4829 decl if any of elements was TREE_USED.
4830
9e0625a3
AO
48312002-02-22 Alexandre Oliva <aoliva@redhat.com>
4832
4833 * config/sparc/sol2.h: Don't include sys/mman.h.
4834 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
4835 (arith_4096_operand): Don't throw high bits away.
4836 (const64_operand): Take sign extension of CONST_INTs into account.
4837 (const64_high_operand, sparc_emit_set_const32): Likewise.
4838 (GEN_HIGHINT64): Likewise.
4839 (sparc_emit_set_const64_quick1): Likewise.
4840 (const64_is_2insns): Likewise.
4841 (print_operand): Use trunc_int_for_mode for sign extension.
4842 * config/sparc/sparc.h (SMALL_INT32): Likewise.
4843 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
4844 chars. Assume CONST_INT is already properly sign-extended.
4845 (movdi split): Sign-extend each SImode part.
4846 (andsi3 split): Don't mask high bits off, so that result
4847 remains properly sign-extend.
4848 (iorsi3 split): Likewise.
4849 (xorsi3 split): Likewise.
4850
54fec3d5
RS
48512002-02-22 Richard Sandiford <rsandifo@redhat.com>
4852
4853 * fold-const.c (fold): Fix typo in comments.
4854
667ada9b
DN
48552002-02-21 Diego Novillo <dnovillo@redhat.com>
4856
4857 * Makefile.in (langhooks.o): Update dependencies.
4858
29ac78d5
DN
48592002-02-21 Diego Novillo <dnovillo@redhat.com>
4860
4861 * langhooks.c: Include flags.h.
4862
6aa77e6c
AH
48632002-02-21 Aldy Hernandez <aldyh@redhat.com>
4864
4865 * testsuite/gcc.dg/attr-alwaysinline.c: New.
4866
4867 * c-common.c (c_common_post_options): Set inline trees by
4868 default.
4869
4870 * doc/extend.texi (Function Attributes): Document always_inline
4871 attribute.
4872 Update documentation about inlining when not optimizing.
4873
4874 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
4875
4876 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
4877 unless DECL_ALWAYS_INLINE.
4878
4879 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
4880 unless DECL_ALWAYS_INLINE.
4881 (c_disregard_inline_limits): Disregard if always_inline set.
4882
4883 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
4884 Disregard if always_inline set.
4885 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
4886 unless DECL_ALWAYS_INLINE.
4887
4888 * attribs.c (handle_always_inline_attribute): New.
4889 (c_common_attribute_table): Add always_inline.
4890
4891 * config/rs6000/altivec.h: Add prototypes for builtins
4892 requiring the always_inline attribute.
4893
c410d49e
EC
48942002-02-21 Eric Christopher <echristo@redhat.com>
4895
4896 * expmed.c (store_bit_field): Try to simplify the subreg
4897 before generating a new one when when the mode size of
4898 value is less than maxmode.
4899
e3c8ea67
RH
49002002-02-21 Richard Henderson <rth@redhat.com>
4901
4902 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
4903 than gen_rtx_PLUS to form the sum.
4904 * explow.c (force_reg): Rearrange to not allocate new pseudo
4905 when force_operand returns a register.
4906 * expr.c (expand_assignment): Allow offset_rtx expansion to
4907 return a sum. Do not force addresses into registers.
4908 (expand_expr): Likewise.
4909 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
4910 to canonicalize arithmetic that didn't simpify.
4911 (simplify_plus_minus): New argument force; update
4912 all callers. Don't split CONST unless we can do something with it,
4913 and wouldn't lose the constness of the operands.
4914
4915 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
4916 that we generated earlier.
4917
c1a046e5
TT
49182002-02-21 Tom Tromey <tromey@redhat.com>
4919
4920 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
4921 (output_line_info): Use constant `1', with a long explanatory
4922 comment.
4923 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
4924
31fbaad4
R
4925Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
4926
4927 * jump.c (redirect_jump): If old label has no UID, don't try to
4928 delete it.
4929
a7f52356
R
4930Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
4931
4932 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
4933 If input is constant, do shifts at compile time.
4934
924fcc4e
JM
49352002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
4936
4937 * doc/extend.texi: Fix some more overfull hboxes.
4938
e5a20888
JJ
49392002-02-21 Jakub Jelinek <jakub@redhat.com>
4940
4941 PR optimization/4994
4942 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
4943 register moves.
4944
49452002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
4946
4947 PR c++/4574
4948 * expr.h (expand_and): Add mode argument.
4949 * expmed.c (expand_and): Add mode argument.
4950 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
4951 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
4952 * except.c (expand_builtin_extract_return_addr): Likewise.
4953 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
4954 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
4955 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
4956 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
4957 * config/c4x/c4x.md: Use GEN_INT (x) instead of
4958 gen_rtx (CONST_INT, VOIDmode, x).
4959
7133e992
JJ
49602002-02-21 Jakub Jelinek <jakub@redhat.com>
4961
4962 PR c/4697:
4963 * stmt.c (warn_if_unused_value): Move side effects test once more.
4964
e2ec05a6
TG
49652002-02-20 Torbjorn Granlund <tege@swox.com>
4966
4967 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 4968 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 4969
9dd791c8
AO
4970Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
4971
4972 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
4973 SUBREG or ZERO_EXTEND.
4974
7ab56274
R
4975Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
4976
4977 * sh.h (current_function_anonymous_args): Remove.
4978 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
4979 of current_function_varargs and current_function_stdarg is set.
4980 * sh.c (sh_expand_prologue): Check current_function_varargs /
4981 current_function_stdarg / TARGET_SH5 instead of
4982 current_function_anonymous_args.
4983
4984 * sh64.h (TARGET_VERSION): Define.
4985
b1765bde
DE
49862002-02-20 David Edelsohn <edelsohn@gnu.org>
4987
4988 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
4989 VRSAVE_REGNO on TARGET_ALTIVEC.
4990
49912002-02-20 Alan Modra <amodra@bigpond.net.au>
4992
4993 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
4994 bits of SImode const_int.
4995 (includes_rshift_p): Likewise.
4996 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 4997 mode.
b1765bde
DE
4998 (rs6000_output_function_epilogue): Pad traceback table to word.
4999 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
5000 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
5001 mask64_operand with correct mode.
b1765bde
DE
5002 (FUNCTION_ARG_REGNO_P): Correct parentheses.
5003
149d6f9e
JJ
50042002-02-20 Jakub Jelinek <jakub@redhat.com>
5005
5006 PR debug/4461
5007 * varasm.c (get_pool_constant_mark): New.
5008 * rtl.h (get_pool_constant_mark): Add prototype.
5009 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
5010 be represented if it has not been output.
5011
4161da12
AO
50122002-02-20 Alexandre Oliva <aoliva@redhat.com>
5013
5014 * combine.c (do_SUBST): Sanity check substitutions of
5015 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
5016 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
5017 CONST_INT into its operand.
5018 (known_cond): Likewise, for ZERO_EXTEND.
5019 * simplify-rtx.c (simplify_unary_operation): Fix condition to
5020 allow for simplification of wide modes. Reject CONST_INTs in
5021 ZERO_EXTEND when their actual mode is not given.
5022
3704ef74
AO
50232002-02-20 Alexandre Oliva <aoliva@redhat.com>
5024
5025 * c-decl.c (pushdecl): If no global declaration is found for an
5026 extern declaration in block scope, try a limbo one.
5027
7552da58
JJ
50282002-02-20 Jakub Jelinek <jakub@redhat.com>
5029
5030 PR c++/4401
5031 * c-common.c (pointer_int_sum): Moved from...
5032 * c-typeck.c (pointer_int_sum): ...here.
5033 * c-common.h (pointer_int_sum): Add prototype.
5034
00fae85d
JJ
50352002-02-20 Jakub Jelinek <jakub@redhat.com>
5036
5037 PR c++/5713
5038 * c-decl.c (duplicate_decls): Return 0 if issued error about
5039 redeclaration.
5040
4636c87e
JJ
50412002-02-20 Roger Sayle <roger@eyesopen.com>
5042 Jakub Jelinek <jakub@redhat.com>
5043
5044 PR c/4389
5045 * tree.c (host_integerp): Ensure that the constant integer is
5046 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
5047 when pos is zero or non-zero respectively. Clarify comment.
5048 * c-format.c (check_format_info_recurse): Fix host_integerp
5049 usage; the pos argument should be zero when assigning to a
5050 signed HOST_WIDE_INT.
5051
59bef189
RH
50522002-02-20 Richard Henderson <rth@redhat.com>
5053
5054 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
5055 of the operand, rather than assuming TImode.
5056 (ix86_expand_binop_builtin): Cope with commutative patterns
5057 using nonimmediate_operand for both operands.
5058 (ix86_expand_timode_binop_builtin): Likewise.
5059 (ix86_expand_store_builtin): Validate operand 1.
5060 (ix86_expand_unop1_builtin): Likewise.
5061
9338ffe6 50622002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 5063
9338ffe6
PB
5064 PR 5705
5065 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
5066
f322b423
RH
50672002-02-20 Richard Henderson <rth@redhat.com>
5068
5069 PR c/5615
5070 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
5071
d94084f7
TT
50722002-02-20 Tom Tromey <tromey@redhat.com>
5073
5074 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5075 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5076 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5077 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5078 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
5079 unconditionally.
5080
37fa124a
AM
5081Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
5082
5083 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
5084 for (const_int 0) in X not just INTVAL.
5085
6e5bb5ad
JM
50862002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
5087
5088 * doc/extend.texi: Avoid or reduce overfull hboxes.
5089
420e7dfa
DN
50902002-02-20 Diego Novillo <dnovillo@redhat.com>
5091
5092 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
5093 operations if the field does not start at a mode boundary.
5094
1b7a2af6
JS
50952001-02-20 Joel Sherrill <joel@OARcorp.com>
5096
5097 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
5098 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
5099 Also done for -Acpu and -Amachine.
5100
56cd5b95
NB
51012002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
5102
5103 * cppinit.c (init_dependency_output): Take deps output file
5104 from -o if none given with -MF. Suppress normal output.
c410d49e 5105 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
5106 * doc/cpp.texi, doc/invoke.texi: Update.
5107
042cdf71
ZW
51082002-02-19 Zack Weinberg <zack@codesourcery.com>
5109
5110 * toplev.c (output_quoted_string): Write unprintable
5111 characters with octal escapes.
5112
c1f11548
DE
51132002-02-19 David Edelsohn <edelsohn@gnu.org>
5114
5115 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
5116 really_call_used[VRSAVE_REGNO] if not Altivec.
5117
51182002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 5119
c1f11548
DE
5120 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
5121 MODE_MASK.
5122 (constant_pool_expr_1): Fix formatting.
5123 (rs6000_legitimize_reload_address): Likewise.
5124
c964d90e
RK
5125Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5126
5127 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
5128 now that we have one.
5129
ae34ac46
ZW
51302002-02-19 Zack Weinberg <zack@codesourcery.com>
5131
5132 * tree.h (struct tree_common): Remove aux. Add unused_0 at
5133 end of first block of bitfields (which was only seven bits);
5134 rename dummy to unused_1; remove comment which is no longer true.
5135
293c28ee
GS
51362002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
5137
5138 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
5139
7b8781c8
PB
51402002-02-19 Philip Blundell <pb@nexus.co.uk>
5141
0cb6c58d 5142 PR 5399
7b8781c8
PB
5143 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
5144 if generating PIC.
5145
5146 PR 5054
5147 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
5148 arm_is_longcall_p rather than inspecting call-type cookie
5149 directly.
5150 (call_value_insn) [TARGET_THUMB]: Likewise.
5151
5c464583
GS
51522002-02-19 Graham Stott <grahams@redhat.com>
5153
5154 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
5155
71c061e6
DE
51562002-02-19 David Edelsohn <edelsohn@gnu.org>
5157
5158 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
5159 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 5160 (FP_SAVE_INLINE): Delete.
71c061e6
DE
5161
5162 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
5163 * config/rs6000/eabi.asm: Remove ABI save restore routines.
5164 * config/rs6000/t-ppccomm: Build crtsavres.o.
5165 * config/rs6000/crtsavres.asm: New file.
5166
3a7731fd
PB
51672002-02-19 Philip Blundell <philb@gnu.org>
5168
5169 * config/arm/arm.c (use_return_insn): Don't reject interrupt
5170 functions.
5171 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
5172 (output_return_instruction): Allow interrupt functions to return with
5173 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
5174 (arm_expand_prologue): Subtract 4 before stacking LR in an
5175 interrupt function.
5176
14f583b8
PB
51772002-02-19 Philip Blundell <pb@nexus.co.uk>
5178
5179 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
5180 decl, not just FUNCTION_DECL.
5181 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
5182 (arm_assemble_integer): Likewise.
5183 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
5184 marked local.
c410d49e 5185
4cb7482c
MG
51862002-02-19 matthew green <mrg@eterna.com.au>
5187
5188 * config.gcc (sparc-*-netbsdelf*): Enable target.
5189 (sparc64-*-netbsd*): New target.
5190 * config/sparc/netbsd-elf.h: New file.
5191 * config/sparc/t-netbsd64: New file.
5192
2df3a718
GS
51932002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
5194
5195 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
5196
77f6c1eb
RS
51972002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
5198
5199 * doc/invoke.texi: explicitly list the style guidelines that
5200 -Weffc++ checks for.
5201
fd973d56
JH
5202Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
5203
5204 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
5205
30518e45
NB
52062002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
5207
5208 PR other/5718
5209 * gcc.c (cpp_unique_options): Treat -o as indicating object file
5210 only if not -E. If -E, pass -o through to the preprocessor.
5211
39ea5704
KH
52122002-02-19 Kazu Hirata <kazu@hxi.com>
5213
5214 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
5215 register number with an appropriate macro.
5216
7355dba7
BM
52172002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5218
5219 * doc/rtl.texi (Constants): Close @code tag.
5220
91c8aa9e
AH
52212002-02-19 Aldy Hernandez <aldyh@redhat.com>
5222
5223 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
5224 ("mmx_uavgv4hi3"): Same.
5225 ("pmulhrwv4hi3"): Same.
5226
5227 * tree-inline.c (walk_tree): Handle vectors.
5228
5229 * c-common.c (constant_expression_warning): Handle vectors.
5230 (overflow_warning): Same.
5231
5232 * sched-deps.c (sched_analyze_2): Handle vectors.
5233
5234 * rtlanal.c (rtx_unstable_p): Handle vectors.
5235 (rtx_varies_p): Same.
5236 (count_occurrences): Same.
5237 (regs_set_between_p): Same.
5238 (modified_between_p): Same.
5239 (modified_in_p): Same.
5240 (volatile_insn_p): Same.
5241 (volatile_refs_p): Same.
5242 (side_effects_p): Same.
5243 (may_trap_p): Same.
5244 (inequality_comparisons_p): Same.
5245 (replace_regs): Same.
5246 (computed_jump_p_1): Same.
5247
5248 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
5249 argument.
5250 (inner_mode_array): New.
5251 (copy_rtx): Handle vectors.
5252 (copy_most_rtx): Same.
5253 (rtx_equal_p): Same.
5254 (get_mode_alignment): Adjust for vectors.
5255
5256 * resource.c (mark_referenced_resources): Handle vectors.
5257 (mark_set_resources): Same.
5258
5259 * reload1.c (eliminate_regs): Handle vectors.
5260 (elimination_effects): Same.
5261 (scan_paradoxical_subregs): Same.
5262
5263 * reload.c (subst_reg_equivs): Handle vectors.
5264
5265 * regrename.c (scan_rtx): Handle vectors.
5266
5267 * regclass.c (reg_scan_mark_refs): Handle vectors.
5268
5269 * recog.c (find_single_use_1): Handle vectors.
5270
5271 * local-alloc.c (equiv_init_varies_p): Handle vectors.
5272 (contains_replace_regs): Same.
5273 (memref_referenced_p): Same.
5274
5275 * integrate.c (copy_rtx_and_substitute): Handle vectors.
5276 (subst_constants): Same.
5277
5278 * genattrtab.c (attr_copy_rtx): Handle vectors.
5279 (encode_units_mask): Same.
5280 (clear_struct_flag): Same.
5281 (count_sub_rtxs): Same.
5282
5283 * gcse.c (want_to_gcse_p): Handle vectors.
5284 (oprs_unchanged_p): Same.
5285 (hash_expr_1): Same.
5286 (oprs_not_set_p): Same.
5287 (expr_killed_p): Same.
5288 (compute_transp): Same.
5289 (store_ops_ok): Same.
5290
5291 * function.c (purge_addressof_1): Do not allow paradoxical subregs
5292 of vectors.
5293 (fixup_var_refs_1): Same.
5294 (instantiate_virtual_regs_1): Same.
5295
5296 * fold-const.c (operand_equal_p): Handle vectors.
5297 (fold): Same.
5298 (rtl_expr_nonnegative_p): Same.
5299
5300 * flow.c (mark_used_regs): Handle vectors.
5301
5302 * df.c (df_uses_record): Handle vectors.
5303
5304 * cselib.c (cselib_subst_to_values): Handle vectors.
5305 (cselib_mem_conflict_p): Same.
5306 (hash_rtx): Same.
5307
5308 * cse.c (canon_reg): Handle vectors.
5309 (fold_rt): Same.
5310 (cse_process_notes): Same.
5311 (count_reg_usage): Same.
5312 (canon_hash): Same.
5313
5314 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
5315
5316 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
5317
5318 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
5319 (gen_rtx): Handle CONST_VECTOR.
5320 (gen_const_vector_0): New.
5321 (copy_rtx_if_shared): CONST_VECTORs can be shared.
5322 (reset_used_flags): Same.
5323 (copy_insn_1): Same.
5324 (initializer_constant_valid_p): Handle VECTOR_CST.
5325
5326 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
5327
5328 * doc/rtl.texi (Constants): Document const_vector.
5329 (CONST0_RTX): Update for vectors.
5330 (RTL sharing): Same.
5331
5332 * print-tree.c (print_node): Add case for VECTOR_CST.
5333
5334 * tree.h (TREE_VECTOR_CST_ELTS): New.
5335 (struct tree_vector): New.
5336 (union tree_node): Add vector node.
5337 (build_vector): Add prototype.
5338
5339 * tree.def (VECTOR_CST): New.
5340
5341 * tree.c (build_vector): New.
5342
5343 * expmed.c (make_tree): Handle CONST_VECTOR.
5344
5345 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
5346 (CONST_VECTOR_ELT): New.
5347 (CONST_VECTOR_NUNITS): New.
5348
5349 * machmode.h (GET_MODE_INNER): New.
5350 (DEF_MACHMODE): Accept 8th arg.
5351
5352 * machmode.def: Add 8th argument for vector inner mode.
5353 Add inner vector modes for vectors.
5354
5355 * rtl.def (VEC_CONST): Remove.
5356 (CONST_VECTOR): New.
5357
5358 * expr.c (clear_storage): Allow vectors.
5359 (is_zeros_p): Handle VECTOR_CST.
5360
5361 * varasm.c (output_constant_pool): Handle vectors.
5362 (rtx_const): Add veclo and vechi fields.
5363 (kind): Add RTX_VECTOR.
5364 (decode_rtx_const): Add case for vector.
5365
5366 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 5367
91c8aa9e
AH
5368 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
5369 constants. Force easy vector constants into memory.
5370 (easy_vector_constant): New.
5371 (emit_easy_vector_constant): New.
5372 (rs6000_legitimize_reload_address): Do not generate bad reloads on
5373 darwin.
5374
5375 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
5376 instruction does.
5377 ("altivec_lvxl"): Same.
5378 (altivec_lvebx): Same.
5379 (altivec_lvehx): Same.
5380 (altivec_lvewx): Same.
5381 ("*movv4si_const0"): New.
5382 ("*movv4sf_const0"): New.
5383 ("*movv8hi_const0"): New.
5384 ("*movv16qi_const0"): New.
5385
d4d6d0ce
KH
53862002-02-18 Kazu Hirata <kazu@hxi.com>
5387
5388 * config/h8300/h8300.c (notice_update_cc): Use
5389 cc_status.value2.
5390
4915d3aa
KH
53912002-02-18 Kazu Hirata <kazu@hxi.com>
5392
5393 * config/h8300/h8300.md (divmod patterns): Change the
5394 constraints for operands[1] to register_operand.
5395
82be00ee
KH
53962002-02-18 Kazu Hirata <kazu@hxi.com>
5397
5398 * config/h8300/h8300-protos.h: Remove the prototype for
5399 p_operand.
5400 * config/h8300/h8300.c (p_operand): Remove.
5401 * config/h8300/h8300.md: Replace p_operand with
5402 const_int_operand.
5403
1768c26f
PB
54042002-02-18 Philip Blundell <pb@nexus.co.uk>
5405
5406 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
5407 comment.
5408 (output_return_instruction): Allow use of LDR to unstack
5409 return addresss even for interrupt handlers or when
5410 interworking. If compiling for ARMv5, use interworking-safe
5411 return instructions by default. Remove duplicated code and
5412 lengthy "strcat" sequences.
5413
ccd84f51
FS
54142002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5415
5416 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
5417 (LINK_EH_SPEC): Define.
5418 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
5419
2c153108
UW
54202002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
5421
5422 * config/s390/s390.c (s390_emit_prologue): Do not set the
5423 frame_related flag for call-clobbered registers.
5424
e95d6b23
JH
5425Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
5426
5427 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
5428 (construct_container): Fix handling of SSE operands.
5429 (ix86_expand_builtin): Fix handling of 64bit pointers.
5430 (mmx_maskmovq_rex): New pattern.
5431
c43a12b5
JH
5432Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
5433
5434 * regrename.c (kill_set_value): Handle subregs properly.
5435
aeb85a15
DB
54362002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
5437
5438 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 5439 from objc_class_name.
aeb85a15 5440
a615ca3e
RH
54412002-02-17 Richard Henderson <rth@redhat.com>
5442
5443 * config/alpha/alpha.c (some_small_symbolic_operand,
5444 some_small_symbolic_operand_1, split_small_symbolic_operand,
5445 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
5446 Handle small SYMBOL_REFs anywhere, not just inside memories.
5447 * config/alpha/alpha-protos.h: Update.
5448 * config/alpha/alpha.h (PREDICATE_CODES): Update.
5449 * config/alpha/alpha.md (small symbolic operand splitter): Update.
5450
ddb28441
RM
54512002-02-17 Roland McGrath <roland@frob.com>
5452
5453 * config.gcc (powerpc-*-gnu-gnualtivec*,
5454 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
5455 * config/rs6000/gnu.h: New file.
5456 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
5457 Grok "gnu" in rs6000_abi_name.
5458 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
5459 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
5460 Grok -mcall-gnu analogous to -mcall-linux et al.
5461 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
5462 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
5463 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
5464
f6f8ada3
JJ
54652002-02-17 Jakub Jelinek <jakub@redhat.com>
5466
5467 PR c/3444:
5468 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
5469 shortening.
5470
e16b32fc
PT
54712002-02-17 Philipp Thomas <pthomas@suse.de>
5472
5473 * config/cris/cris.h: Undefine STARTFILE_SPEC and
5474 ENDFILE_SPEC before (re)defining them.
5475
f9477efd
KH
54762002-02-17 Kazu Hirata <kazu@hxi.com>
5477
5478 * config/h8300/h8300.c: Fix formatting.
5479 * config/h8300/h8300.h: Likewise.
5480
404ae494
PT
54812002-02-17 Philipp Thomas <pthomas@suse.de>
5482
5483 * doc/tm.texi: Explain why empty strings should not be
5484 marked for translation.
5485
a52453cc
PT
54862002-02-17 Philipp Thomas <pthomas@suse.de>
5487
5488 * final.c (output_operand_lossage): Changed to accept
5489 printf style arguments. Change calls where necessary.
5490 * output.h (output_operand_lossage): Change declaration
5491 accordingly. Update copyright.
5492 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
5493 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
5494 Update copyright date where necessary.
c410d49e 5495
a52453cc
PT
5496 * config/i386/i386.c (print_operand): Likewise. Remove use of
5497 sprintf.
5498
5499 * config/cris/cris.c (cris_operand_lossage): Likewise.
5500 Rename parameter so that exgettext recognizes it as
5501 translatable message.
5502 (LOSE_AND_RETURN): Rename parameter to msgid.
5503
1c11abc4
KH
55042002-02-17 Kazu Hirata <kazu@hxi.com>
5505
5506 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
5507 hard coded register number with an appropriate macro.
5508 (HARD_REGNO_MODE_OK): Likewise.
5509 (ARG_POINTER_REGNUM): Likewise.
5510 (STATIC_CHAIN_REGNUM): Likewise.
5511 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
5512 * config/h8300/h8300.md (define_constants): Define more
5513 register numbers.
5514
a5d17ff3
PT
55152002-02-17 Philipp Thomas <pthomas@suse.de>
5516
5517 * config/i386/i386.h: Don't mark empty strings for translation.
5518
1a7289c4
L
55192002-02-16 H.J. Lu <hjl@gnu.org>
5520
5521 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
5522
afb58288
ZW
55232002-02-16 Zack Weinberg <zack@codesourcery.com>
5524
5525 * cppinit.c (merge_include_chains): Check for brack being
5526 NULL before attempting to merge it with qtail.
5527
d2af4dbd
AC
55282002-02-16 Andrew Cagney <ac131313@redhat.com>
5529
5530 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
5531 DBX_DEBUG.
5532
2e1ed1e3
JDA
55332002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
5534
5535 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
5536
604c75b2
JDA
55372002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
5538
5539 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
5540 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
5541 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
5542
1a42b072
RK
5543Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5544
7303604f 5545 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
5546 now only if !TARGET_FIX.
5547 (*movsi_nt_vms_fix): New pattern.
5548
c2ea1ac6
DR
55492002-02-16 Douglas B Rupp <rupp@gnat.com>
5550
5551 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
5552 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
5553 (alpha_sa_mask, alpha_sa_size): Reflect above change.
5554 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
5555 (alpha_start_function, alpha_expand_epilogue): Likewise.
5556 (unicosmk_gen_dsib): Likewise.
5557
725e58b1
RK
5558Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5559
5560 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
5561
13e58269
UW
55622002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
5563
c410d49e 5564 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
5565 check_and_change_labels, s390_final_chunkify): Delete.
5566 (s390_split_branches, s390_chunkify_pool): New functions.
5567 (s390_function_prologue): Call them.
c410d49e 5568
13e58269
UW
5569 * config/s390/s390.h (S390_REL_MAX): Delete.
5570 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
5571
c410d49e 5572 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
5573 attribute calculation.
5574
5575
34d1b01d
DE
55762002-02-15 David Edelsohn <edelsohn@gnu.org>
5577
5578 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
5579 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
5580
be5cc51a
JDA
55812002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
5582
5583 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
5584 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
5585 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
5586
ee96ce90
RS
55872002-02-15 Richard Sandiford <rsandifo@redhat.com>
5588
5589 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
5590
05fa709d
RS
55912002-02-15 Richard Sandiford <rsandifo@redhat.com>
5592
5593 * reload.c (find_dummy_reload): Check that an output register
5594 is valid for its mode.
5595
4606272b
AO
55962002-02-14 Alexandre Oliva <aoliva@redhat.com>
5597
9a360704
AO
5598 * combine.c (known_cond): After replacing the REG of a SUBREG, try
5599 to simplify it.
5600
4606272b
AO
5601 * function.c (assign_parms): Demote promoted argument passed by
5602 transparent reference.
5603
e62d89a1
JS
56042001-02-14 Joel Sherrill <joel@OARcorp.com>
5605
5606 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
5607 -Acpu() and -Amachine() to eliminate warnings.
5608
6c4cf695
UW
56092002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
5610
5611 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
5612
037f11ef
KH
56132002-02-14 Kazu Hirata <kazu@hxi.com>
5614
5615 * config/h8300/h8300-protos.h: Update the prototype for
5616 const_costs.
5617 * config/h8300/h8300.c (const_costs): Treat SET as a little
5618 more expensive operation.
5619 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
5620 reference to const_costs.
5621
fdc76b09
HPN
56222002-02-14 Hans-Peter Nilsson <hp@axis.com>
5623
5624 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
5625
d76e6800
JJ
56262002-02-14 Jakub Jelinek <jakub@redhat.com>
5627
5628 PR c/5503:
5629 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
5630 use arguments from newtype.
5631
5ae590d7
EC
56322002-02-13 Eric Christopher <echristo@redhat.com>
5633
5634 * config/mips/mips.c (override_options): Add check for march/mipsX
5635 on the same command line. Fix error message in cpu processing.
5636 Remove architecture and ISA checks.
5637
b8513691
AH
56382002-02-14 Aldy Hernandez <aldyh@redhat.com>
5639
831c4e87 5640 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 5641
831c4e87 5642 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 5643
78c875e8
AH
56442002-02-14 Aldy Hernandez <aldyh@redhat.com>
5645
831c4e87
KC
5646 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
5647 alternatives.
5648 ("*movv8hi_internal1"): Same.
5649 ("*movv16qi_internal1"): Same.
5650 ("*movv4sf_internal1"): Same.
78c875e8 5651
831c4e87
KC
5652 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
5653 not push_reload for altivec modes.
78c875e8 5654
d76e6800 56552002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
5656
5657 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
5658 all RTEMS targets including removal of #includes from config/*/rtems*.h
5659 file and adding them to tm_file setting. Added xm_defines=POSIX to
5660 many targets.
5661 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
5662 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
5663 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
5664 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
5665 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
5666 config/m68k/rtemself.h: Ditto.
5667 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
5668 config/mips/rtems64.h: Ditto.
5669 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
5670 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
5671 Ditto.
5672 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
5673 config/sparc/rtemself.h: Ditto.
5674 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
5675 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
5676 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
5677 more like arm-elf.
5678 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
5679 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
5680 target made more similar to i386-elf.
5681 * config/i386/t-rtems-i386: Added soft float support and multilibs.
5682 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
5683 be similar to config/m68k/t-m68kelf.
5684 * gthr-rtems.h: Encapsulate with extern "C" for C++.
5685
8686336f
JH
5686Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
5687
5688 * regmove.c (kill_value): Handle subregs.
5689
558740bf
JH
5690Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
5691
5692 * i386.md (mul patterns): Allow memory operand to be first;
5693 add expanders where needed; fix constraints.
5694 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
5695 Allow memory operand to be the first.
5696
5697 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
5698 operands.
5699
21117a17
JJ
57002002-02-13 Jakub Jelinek <jakub@redhat.com>
5701
5702 PR c/5681:
5703 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
5704 GET_MODE (x).
5705
ec65b2e3
JJ
57062002-02-13 Jakub Jelinek <jakub@redhat.com>
5707
5708 PR optimization/5547:
5709 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
5710 all valid IA-32 address modes involving non-scaled %ebx and
5711 GOT/GOTOFF as displacement.
5712
ce50cae8
UW
57132002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
5714
5715 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
5716 after emitting ltorg insns.
5717
5718 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
5719 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
5720 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
5721 *abssf2): Fix "op_type" attribute.
5722
09eb789b
DR
57232002-02-13 Douglas B Rupp <rupp@gnat.com>
5724
2dbe67bb
DR
5725 * mkconfig.sh: Avoid using a subshell redirect.
5726 ($output.T): Change to $(output)T.
5727 (ENABLE_NLS): Remove unneeded undef.
5728
ea5b9a1f
DR
5729 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
5730 * config/alpha/x-vms (libsubdir): Define.
5731
3deb00ce
DR
5732 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
5733 register frame procedures. Optimize retrieving context.
5734
09eb789b
DR
5735 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
5736 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
5737 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
5738
1abade85
RK
5739Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5740
5741 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
5742 Make same change as for find_base_value.
5743
c283e63f
KH
57442002-02-13 Kazu Hirata <kazu@hxi.com>
5745
5746 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
5747 of QImode and SImode.
5748
86039100
KH
57492002-02-13 Kazu Hirata <kazu@hxi.com>
5750
5751 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
5752 length computation of movsi.
5753 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
5754
e1429da0
KH
57552002-02-13 Kazu Hirata <kazu@hxi.com>
5756
5757 * config/h8300/h8300.md (subqi3): Tighten the predicate for
5758 operands[2] to register_operand.
5759
aebfea10
JH
5760Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
5761
5762 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
5763
0ec4e2a8
AH
57642002-02-12 Aldy Hernandez <aldyh@redhat.com>
5765
831c4e87
KC
5766 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
5767 for altivec_lvx* and altivec_stvx*.
5768 ("*movv4si_internal"): Add constraint for loading from GPRs.
5769 ("*movv8hi_internal1"): Same.
5770 ("*movv16qi_internal1"): Same.
5771 ("*movv4sf_internal1"): Same.
0ec4e2a8 5772
831c4e87 5773 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 5774
831c4e87
KC
5775 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
5776 altivec_register_operand.
0ec4e2a8 5777
b007569d
HPN
57782002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
5779
5780 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
5781 handle SYMBOL_REF.
5782
e6834654
SS
57832002-02-13 Stan Shebs <shebs@apple.com>
5784
831c4e87
KC
5785 * c-typeck.c (digest_init): Handle vectors.
5786 (really_start_incremental_init): Same.
5787 (pop_init_level): Same.
5788 (process_init_element): Same.
e6834654 5789
831c4e87 5790 * varasm.c (output_constant): Same.
e6834654 5791
831c4e87
KC
5792 * expr.c (clear_storage): Same.
5793 (store_constructor): Same.
e6834654 5794
d9b3eb63
EC
57952002-02-12 Eric Christopher <echristo@redhat.com>
5796
5797 * explow.c (hard_function_value): Add comment explaining
5798 signed/unsigned comparison.
5799
56d44285
JJ
58002002-02-12 Jakub Jelinek <jakub@redhat.com>
5801
5802 * jump.c (never_reached_warning): Add finish argument.
5803 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
5804 real insn after end.
5805 * rtl.h (never_reached_warning): Adjust prototype.
5806 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
5807 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
5808 never_reached_warning.
5809
fc209487
GS
58102002-02-12 Graham Stott <grahams@redhat.com>
5811
5812 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
5813
1e41e866
KH
58142002-02-12 Kazu Hirata <kazu@hxi.com>
5815
5816 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
5817 logical shifts on H8/300.
5818 (shift_alg_si): Improve several shifts on H8/300.
5819 (get_shift_alg): Likewise.
5820
a36a47ad
GS
58212002-02-12 Graham Stott <grahams@redhat.com>
5822
5823 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
5824
0aacc8ed
RK
5825Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5826
5827 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
5828 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
5829
a02ac966
HPN
58302002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
5831
5832 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
5833 non-CONST_INT through default_assemble_integer.
5834 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
5835 <case 8>: Abort for CONST_DOUBLE.
5836
d6e06ddc
JDA
58372002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
5838
5839 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
5840 is specified.
5841 * config/pa/pa-linux.h (LIB_SPEC): Delete.
5842 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
5843
515342a8
AH
58442002-02-11 Andrew Haley <aph@cambridge.redhat.com>
5845
5846 * config/stormy16/stormy16.md (zero_extendqihi2): New.
5847
cddd8b72
AO
58482002-02-11 Alexandre Oliva <aoliva@redhat.com>
5849
66df7a98
AO
5850 * regrename.c (regrename_optimize): Don't accept a
5851 part-clobbered register if the replaced register is not part
5852 clobbered.
5853
841404cd
AO
5854 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
5855 take padding into account when computing the argument value.
5856
1d1ade42
AO
5857 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
5858
cddd8b72
AO
5859 * combine.c (try_combine): Apply substitutions in
5860 CALL_INSN_FUNCTION_USAGE too.
5861
5c665b88
AH
58622002-02-11 Aldy Hernandez <aldyh@redhat.com>
5863
77f6c1eb
RS
5864 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
5865 __builtin_altivec_abs*.
5866 (bdesc_abs): New.
5c665b88 5867
77f6c1eb
RS
5868 * config/rs6000/rs6000.h (rs6000_builtins): Add
5869 ALTIVEC_BUILTIN_ABS*.
5c665b88 5870
77f6c1eb
RS
5871 * config/rs6000/altivec.h: Use const char for builtins expecting
5872 literals.
5873 (vec_abs): New versions for C and C++.
5874 (vec_abss): Same.
5c665b88 5875
3494f1b4
KH
58762002-02-10 Kazu Hirata <kazu@hxi.com>
5877
5878 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
5879 using Pmode.
5880
72431aef
KH
58812002-02-10 Kazu Hirata <kazu@hxi.com>
5882
5883 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
5884 constant definition from h8300.md.
5885 (FRAME_POINTER_REGNUM): Likewise.
5886 * config/h8300/h8300.md (define_constants): Add FP_REG.
5887
87e4ee91
KH
58882002-02-10 Kazu Hirata <kazu@hxi.com>
5889
5890 * config/h8300/h8300.c (print_operand): Remove redundant code.
5891
9c188705
KH
58922002-02-10 Kazu Hirata <kazu@hxi.com>
5893
5894 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
5895 * config/h8300/h8300.c (byte_reg): Make it static.
5896
fba78abb
RH
58972002-02-10 Richard Henderson <rth@redhat.com>
5898
5899 PR c/5623
5900 * c-typeck.c (incomplete_type_error): Handle flexible array members.
5901
65739e62
RH
59022002-02-10 Richard Henderson <rth@redhat.com>
5903
5904 PR c++/5624
5905 * tree.c (append_random_chars): Don't abort if main_input_filename
5906 does not exist.
5907
247cb9df
HPN
59082002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
5909
5910 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
5911
232bd029
KH
59122002-02-10 Kazu Hirata <kazu@hxi.com>
5913
65739e62 5914 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
5915 (pushhi1): Likewise.
5916
276ef573
JDA
59172002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
5918
5919 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
5920 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
5921
617e9ee5
DB
59222002-02-09 David O'Brien <obrien@FreeBSD.org>
5923
5924 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
5925 remove MASK_VIS.
5926 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
5927
6dfa4005
KH
59282002-02-09 Kazu Hirata <kazu@hxi.com>
5929
5930 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
5931 a half of an SImode register on H8/300.
5932
749e7b80
JH
5933Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
5934
5935 * i386.md (movdi_2): Add missing '!'.
5936
ca77d87c
KH
59372002-02-09 Kazu Hirata <kazu@hxi.com>
5938
5939 * config/h8300/h8300.h: Fix formatting. Remove commented-out
5940 definitions.
5941
16c96304
KH
59422002-02-09 Kazu Hirata <kazu@hxi.com>
5943
5944 * config/h8300/h8300.md (length): Correct the distance valid
5945 for the short branch.
5946
a364bc90
KH
59472002-02-09 Kazu Hirata <kazu@hxi.com>
5948
5949 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
5950
e4ec2cac
AO
59512002-02-09 Alexandre Oliva <aoliva@redhat.com>
5952
a138247b
AO
5953 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
5954 registers in SImode.
5955 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
5956 part-clobbered.
5957
2b1fd83f
AO
5958 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
5959 patch.
d9b3eb63 5960
fa5322fa
AO
5961 Contribute sh64-elf.
5962 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
5963 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
5964 (sh_cannot_modify_jumps_p): New function.
5965 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
5966 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
5967 (sh_ms_bitfield_layout_p): New function.
5968 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
5969 Zack Weinberg <zack@codesourcery.com>
5970 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
5971 expand_simple_binop instead of expand_binop.
5972 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
5973 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
5974 use of .quad and .uaquad.
5975 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
5976 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
5977 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
5978 * config/sh/sh.md (movdi_const, movdi_const_32bit,
5979 movdi_const_16bit): Make sure all CONSTs have modes.
5980 (sym2PIC): Ditto, but by adjusting all callers.
5981 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
5982 if the prologue calls the SHmedia argument decoder or register
5983 saver.
5984 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
5985 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
5986 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
5987 (sh_expand_epilogue): Don't emit USE of return target register.
5988 (prepare_move_operands): Legitimize DImode PIC addresses.
5989 (sh_media_register_for_return): Skip tr0, used to initialize the
5990 PIC register.
5991 (sh_expand_prologue): Remove explicit USE of return register.
5992 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
5993 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
5994 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
5995 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
5996 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
5997 EXTRA_CONSTRAINT_T.
5998 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
5999 (MOVI_SHORI_BASE_OPERAND_P): New.
6000 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
6001 (EXTRA_CONSTRAINT_T): Define in terms of them.
6002 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
6003 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
6004 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
6005 alternatives supporting TARGET_REGS.
6006 (UNSPEC_GOTPLT): New constant.
6007 (movdi split): Move incrementing of LABEL_NUSES...
6008 (movdi_const, movdi_const_32bit): Here. Use
6009 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
6010 (movdi_const_16bit): New.
6011 (call, call_value) [flag_pic]: Use GOTPLT.
6012 (call_pop, call_value_pop): New expands.
6013 (call_pop_compact, call_pop_rettramp): New insns.
6014 (call_value_pop_compact, call_value_pop_rettramp): New insns.
6015 (sibcall) [flag_pic]: Use GOT.
6016 (builtint_setjmp_receiver): Remove bogus, unused expand.
6017 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
6018 (*pt, *ptb, ptrel): New insns.
6019 (sym2GOT): Handle DImode GOT.
6020 (sym2GOTPLT, symGOTPLT2reg): New expands.
6021 (sym2PIC): New expand.
6022 (shcompact_return_tramp): Use GOTPLT to return trampoline.
6023 (shcompact_return_tramp_i): Use return register explicitly.
6024 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
6025 disable flag_reorder_blocks.
6026 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
6027 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
6028 clobbers, for clarity.
6029 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
6030 restoring of r0 in macl as MAYBE_DEAD.
6031 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
6032 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
6033 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
6034 alter_subreg all over.
6035 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
6036 reload, instead of emitting instructions that would require
6037 reloading.
6038 (casesi_load_media): Add missing modes.
6039 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
6040 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
6041 as used if the argument decoder is called.
6042 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
6043 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
6044 Pmode, then extend it to DImode if necessary.
6045 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
6046 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
6047 constants in FPU-enabled SHmedia, let them be loaded from memory.
6048 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
6049 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
6050 Adjust whitespace in assembly output templates.
6051 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
6052 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
6053 mode of if_then_else.
6054 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
6055 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
6056 sh.h.
6057 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
6058 Joern Rennecke <amylaar@redhat.com>
6059 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
6060 (SUBTARGET_CPP_PTR_SPEC): New.
6061 (SUBTARGET_CPP_SPEC): Remove.
6062 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
6063 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
6064 Fix typo in previous checkin.
6065 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
6066 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
6067 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
6068 Alexandre Oliva <aoliva@redhat.com>
6069 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
6070 what single FP register can hold for SHmedia target.
6071 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
6072 Alexandre Oliva <aoliva@redhat.com>
6073 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
6074 Do not split into SUBREG.
6075 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
6076 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
6077 and added new functions as specified in SH5 ABI r9.
6078 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
6079 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
6080 8-byte boundary.
6081 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
6082 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
6083 gen_consttable_4 and gen_consttable_8. Emit multiple labels
6084 and consttable_window_ends.
6085 2001-06-03 Graham Stott <grahams@redhat,com>
6086 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
6087 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
6088 * config/sh/sh.c (print_operand): Handle floating-point pair,
6089 vector and matrix registers.
6090 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
6091 vector modes into account.
6092 * config/sh/sh.md (movv2sf): Split move between registers into
6093 movdf.
6094 (movv4sf, movv16sf): Introduce insns that get split only after
6095 reload.
6096 * config/sh/shmedia.h: Fix Copyright dates.
6097 * config/sh/ushmedia.h: Likewise. Move loop counter
6098 declarations into conditionals that uses them.
6099 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
6100 loop boundary.
6101 * config/sh/sshmedia.h: Fix Copyright dates.
6102 (sh_media_PUTCFG): Fix constraints.
6103 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
6104 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
6105 ptrmemfunc_vbit_in_delta for SH5.
6106 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
6107 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
6108 * invoke.texi: Likewise.
6109 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
6110 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
6111 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
6112 GCC_pop_shmedia_regs_nofpu): New global symbols.
6113 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
6114 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
6115 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
6116 compact function with nonlocal labels.
6117 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
6118 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
6119 (initial_elimination_offset): Account for their stack space.
6120 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
6121 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
6122 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
6123 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
6124 least one of the operands to be a register.
6125 (movv2sf): Likewise. Renamed to movv2sf_i.
6126 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
6127 prepare_move_operands() before emitting SHmedia insns.
6128 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
6129 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
6130 Don't save nor initialize r12. Don't mis-align the stack.
6131 Pad the code with a nop.
6132 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
6133 stack.
6134 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
6135 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
6136 [__SHMEDIA__]: Implement.
6137 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
6138 * config/sh/sh.md: Set latency of `pt' closer to reality.
6139 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
6140 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
6141 Set move, load and store type attributes.
6142 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
6143 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
6144 profiling.
6145 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
6146 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
6147 * config/sh/sh.c (sh_media_register_for_return): New function.
6148 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
6149 branch-target register.
6150 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
6151 * config/sh/sh.md (return_media_i): Use any call-clobbered
6152 branch-target register.
6153 (return_media): If r18 wasn't copied in the prologue, copy it
6154 here.
6155 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
6156 Clear class FP0_REGS.
6157 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
6158 from elf.h.
6159 2001-03-08 DJ Delorie <dj@redhat.com>
6160 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
6161 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
6162 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
6163 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
6164 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
6165 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
6166 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
6167 return value correctly for call_cookie.
6168 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
6169 * config/sh/crt1.asm (start): Modified so as to call
6170 ___setup_argv_and_call_main.
6171 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
6172 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
6173 SHmedia mode.
6174 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
6175 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
6176 (STRIP_NAME_ENCODING): Use it.
6177 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
6178 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
6179 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
6180 prepare_scc_operands().
6181 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
6182 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
6183 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
6184 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
6185 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
6186 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
6187 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
6188 used in shcompact_incoming_args.
6189 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
6190 change.
6191 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
6192 mode.
6193 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
6194 Adjust accordingly.
6195 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
6196 Simplify. Adjust. Add sanity check.
6197 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
6198 FPU_SINGLE_BIT.
6199 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
6200 TARGET_SHCOMPACT.
6201 (udivsi3, divsi3): Use them.
6202 (force_mode_for_call): New insn.
6203 (call, call_value, sibcall_value): Emit it before SHcompact
6204 calls.
6205 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
6206 * config/sh/sh.md (call, call_value, sibcall): Make sure the
6207 call cookie is non-NULL before taking its value.
6208 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
6209 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
6210 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
6211 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
6212 block.
6213 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
6214 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
6215 temporary for stack adjusts. Use MACL and MACH to pass
6216 arguments to shcompact_incoming_args.
6217 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
6218 clobber r1.
6219 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
6220 (nested_trampoline): Load static chain address into r1.
6221 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
6222 2001-01-07 Alexandre Oliva <aoliva@redhat.com
6223 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
6224 fp_arith_reg_operand().
6225 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
6226 * config/sh/sh.md (casesi): Sign-extend the first two operands,
6227 and use signed compares for them.
6228 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
6229 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
6230 ones properly aligned.
6231 (find_barrier): Account for extra alignment needed for 8-byte wide
6232 constants.
6233 (machine_dependent_reorg): Require a label for the second 4-byte
6234 constant after an 8-byte one.
6235 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
6236 change.
6237 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
6238 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
6239 last_float when switching float modes.
6240 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
6241 auto-increment for general-purpose registers.
6242 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
6243 result.
6244 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
6245 for stack adjust.
6246 * config/sh/sh.c (sh_builtin_saveregs): Support using all
6247 registers for varargs.
6248 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
6249 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
6250 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
6251 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
6252 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
6253 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
6254 call_cookie accordingly.
6255 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
6256 (SHCOMPACT_BYREF): Likewise.
6257 (SHCOMPACT_FORCE_ON_STACK): New macro.
6258 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
6259 (sh_builtin_saveregs): Likewise.
6260 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6261 shcompact_incoming_args): Use new shift values. Support
6262 sequences of consecutive and non-consecutive pushes/pops.
6263 * config/sh/sh.md (return): Don't explicitly use PR_REG.
6264 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
6265 * config/sh/sh.h (TEXT_SECTION): Define.
6266 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
6267 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
6268 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
6269 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
6270 return values on FPU-enabled SHmedia.
6271 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
6272 FPU-enabled SHmedia.
6273 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
6274 value is returned in a non-FP reg and is not returned by
6275 reference.
6276 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
6277 jump_ind.
6278 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
6279 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
6280 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
6281 quad-aligned to be passed by callee-copy reference.
6282 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
6283 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
6284 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
6285 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
6286 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
6287 copying low-numbered FP regs to r7 and r8.
6288 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
6289 FP regs to general-purpose regs only if the copy was passed on the
6290 stack.
6291 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
6292 copying FP reg to r9.
6293 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
6294 copy FP regs to general-purpose regs only in outgoing calls.
6295 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 6296 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
6297 HOST_WIDE_INT.
6298 * config/sh/sh.h (struct sh_args): Document all fields.
6299 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
6300 passed partially on the stack should not consider making
6301 sibcalls.
6302 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
6303 stack_regs only for incoming calls. When passing FP args,
6304 make sure there are FP regs available before modifying
6305 call_cookie.
6306 (SHCOMPACT_BYREF): Pass double args in general-purpose
6307 registers by reference.
6308 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
6309 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
6310 attempt to generate sibcalls if the caller got any arguments
6311 by reference.
6312 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
6313 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
6314 to 8-byte boundaries.
6315 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
6316 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
6317 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
6318 stored in the stack.
6319 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
6320 for the offsets to have the ISA bit set.
6321 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
6322 invocation. Use beq instead of bgt to mark end of sequence of
6323 loads.
6324 (shcompact_incoming_args): Fix store of r2. Use beq instead of
6325 bgt to mark end of sequence of stores.
6326 * config/sh/sh.c (arith_operand): Don't check whether
6327 CONST_OK_FOR_J for now.
6328 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
6329 instead of long for conversion.
6330 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
6331 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
6332 before passing it to fprintf.
6333 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
6334 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
6335 Call set_fpscr before reading/writing SR.
6336 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
6337 Call set_fpscr.
6338 * config/sh/lib1funcs.asm: Add `.align 2' directives before
6339 SHmedia code.
6340 (FMOVD_WORKS): Define on SH5 with FPU.
6341 (set_fpscr): Define on SH5. Remove separate _fpscr_values
6342 setting.
6343 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
6344 _fpscr_values.
6345 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
6346 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
6347 address.
6348 (ia_main_table): Ditto.
6349 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
6350 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
6351 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
6352 the definitions from sh.h.
6353 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
6354 TARGET_SH5.
6355 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
6356 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
6357 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
6358 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
6359 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
6360 Increment LABEL_NUSES.
d9b3eb63 6361
fa5322fa
AO
6362 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
6363 TARGET_SH5.
6364 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
6365 defined.
6366 * config/sh/elf.h (SIZE_TYPE): Likewise.
6367 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
6368 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6369 shcompact_incoming_args): Load switch table addresses using
6370 datalabel.
6371 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
6372 (NO_BUILTIN_SIZE_TYPE): Define.
6373 (SIZE_TYPE): Don't define.
6374 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
6375 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
6376 definition of __SH5__=32 for -m5-compact-nofpu.
6377 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
6378 ADDR_DIFF_VEC.
6379 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
6380 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
6381 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
6382 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
6383 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
6384 (INSN_LENGTH_ALIGNMENT): Likewise.
6385 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
6386 * config/sh/sh.md (call, call_value, sibcall): Simplify
6387 copying of non-branch-target register.
6388 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 6389 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
6390 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
6391 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
6392 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
6393 floating-point values as structs.
6394 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
6395 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
6396 general-purpose register.
6397 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
6398 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
6399 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
6400 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
6401 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
6402 (ENCODE_SECTION_INFO): Enclose variables and constants in
6403 DATALABEL unspecs.
6404 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
6405 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
6406 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
6407 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
6408 only for LABEL_REFs. For SYMBOL_REFs, prepend
6409 SH_DATALABEL_ENCODING to the symbol name.
6410 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
6411 convert_mode().
6412 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
6413 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
6414 UNSPEC_DATALABEL.
6415 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
6416 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
6417 (DATALABEL_REF_P): Don't require CONST.
6418 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
6419 REL label.
6420 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
6421 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
6422 right.
6423 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
6424 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
6425 Use shallow_copy_rtx and PUT_MODE to change the mode of
6426 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
6427 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
6428 on SHmedia using GENERAL_REGs.
6429 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
6430 bltu_media_i): Fix reversion of conditions.
6431 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
6432 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
6433 * config/sh/sh.c (output_far_jump): Save r13 in macl.
6434 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
6435 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
6436 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
6437 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
6438 (GCC_nested_trampoline): Likewise.
6439 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
6440 * config/sh/sh.c (gen_datalabel_ref): Define.
6441 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
6442 (INITIALIZE_TRAMPOLINE): Likewise.
6443 (TRAMPOLINE_ADJUST_ADDRESS): Define.
6444 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
6445 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
6446 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
6447 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
6448 (ic_invalidate): Adjust for SH5.
6449 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
6450 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
6451 _nested_trampoline.
6452 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
6453 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
6454 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
6455 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
6456 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
6457 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
6458 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
6459 * config/sh/sh.c (target_reg_operand): Match only target-branch
6460 registers and pseudos that aren't virtual registers.
6461 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
6462 Copy operands that don't match target_reg_operand to pseudos.
6463 (call_media, call_value_media, sibcall_media): Use
6464 target_reg_operand instead of target_operand.
6465 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 6466 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
6467 * config/sh/sh.c (target_reg_operand): Match hardware registers
6468 other than branch-target registers.
6469 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
6470 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
6471 (fpscr_values) [SH5 == 32]: Define.
6472 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
6473 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
6474 Handle function addresses coming in SUBREGs.
6475 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
6476 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6477 shcompact_return_trampoline): Use datalabel where appropriate.
6478 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
6479 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
6480 general-purpose register to copy one branch-target register to
6481 another.
6482 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
6483 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
6484 SYMBOL_REFs with VOIDmode.
6485 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
6486 bltu_media_i): New insns.
6487 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
6488 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
6489 (INIT_CUMULATIVE_ARGS): Likewise.
6490 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
6491 * machmode.def (V16SFmode): New mode.
6492 * c-common.c (type_for_mode): Support V2SF and V16SF.
6493 * tree.c (build_common_tree_nodes_2): Likewise.
6494 * tree.h (tree_index): Likewise.
6495 * calls.c (emit_call_1): Take args_so_far. Adjust all
6496 callers. Introduce CALL_POPS_ARGS.
6497 * tm.texi (CALL_POPS_ARGS): Document.
6498 * config/sh/crt1.asm: Implement in SHmedia mode.
6499 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
6500 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
6501 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
6502 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
6503 Implement divsi and udivsi in SHmedia mode. Introduce
6504 SHcompact trampolines.
6505 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
6506 only in SHmedia64.
6507 (regno_reg_class): Rewrite.
6508 (fp_reg_names): Remove.
6509 (sh_register_names, sh_additional_register_names): New.
6510 (print_operand): Added `u'. Support SUBREGs in addresses.
6511 Add parentheses around shifted CONSTs.
6512 (output_file_start): Output .mode and .abi directives.
6513 (shiftcosts, addsubcosts, multcosts): Adjust.
6514 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
6515 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
6516 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
6517 bytes, not registers. Take into account the need for the
6518 SHcompact incoming args trampoline. Adjust all callers.
6519 (sh_expand_prologue): Take stack_regs into account. Call
6520 incoming args trampoline. Keep stack aligned as per SH5 ABI.
6521 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
6522 stack aligned as per SH5 ABI.
6523 (sh_builtin_saveregs): Support SH5 ABI.
6524 (sh_build_va_list, sh_va_start): Likewise.
6525 (initial_elimination_offset): Take alignment into account.
6526 Compute location of PR according to the SH5 stack frame.
6527 (arith_reg_operand): Reject branch-target registers.
6528 (shmedia_6bit_operand): New.
6529 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
6530 (target_reg_operand): Match DImode only. Accept SUBREGs.
6531 (target_operand): New.
6532 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
6533 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
6534 SIBCALL_REGS for SHmedia.
6535 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
6536 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
6537 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
6538 (TARGET_SWITCHES): New SH5 flags.
6539 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
6540 VALID_REGISTER_P to disable unsupported registers.
6541 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
6542 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
6543 (FUNCTION_ARG_PADDING): Define.
6544 (FASTEST_ALIGNMENT): Adjust.
6545 (SH_REGISTER_NAMES_INITIALIZER): New.
6546 (sh_register_names): Declare.
6547 (DEBUG_REGISTER_NAMES): Define.
6548 (REGISTER_NAMES): Define based on sh_register_names.
6549 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
6550 (sh_additional_register_names): Declare.
6551 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
6552 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
6553 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
6554 (REGISTER_NATURAL_MODE): Define.
6555 (FIRST_PSEUDO_REGISTER): Adjust.
6556 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
6557 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
6558 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
6559 (VECTOR_MODE_SUPPORTED_P): Define.
6560 (REG_CLASS_CONTENTS): Adjust.
6561 (SMALL_REGISTER_CLASSES): Adjust.
6562 (REG_ALLOC_ORDER): Adjust.
6563 (INDEX_REG_CLASS): Adjust.
6564 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
6565 (CONST_OK_FOR_LETTER_P): Adjust.
6566 (PREFERRED_RELOAD_CLASS): Adjust.
6567 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
6568 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
6569 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
6570 (FIRST_FP_PARM_REG): Adjust.
6571 (CALL_POPS_ARGS): Define.
6572 (FUNCTION_ARG_REGNO_P): Adjust.
6573 (struct sh_args): New fields.
6574 (GET_SH_ARG_CLASS): Adjust.
6575 (INIT_CUMULATIVE_ARGS): Adjust.
6576 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
6577 (FUNCTION_ARG_ADVANCE): Adjust.
6578 (FUNCTION_ARG): Adjust.
6579 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
6580 (FUNCTION_ARG_CALLEE_COPIES): Define.
6581 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
6582 (STRICT_ARGUMENT_NAMING): Define.
6583 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
6584 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
6585 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
6586 (SETUP_INCOMING_VARARGS): Adjust.
6587 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
6588 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
6589 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
6590 (SUBREG_OK_FOR_INDEX_P): Adjust.
6591 (EXTRA_CONSTRAINT_S): Update.
6592 (EXTRA_CONSTRAINT_T): New.
6593 (EXTRA_CONSTRAINT): Adjust.
6594 (GO_IF_LEGITIMATE_INDEX): Adjust.
6595 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
6596 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
6597 (MOVE_MAX): Adjust.
6598 (MAX_MOVE_MAX): Define.
6599 (Pmode): Adjust.
6600 (CONST_COSTS): Adjust.
6601 (REGISTER_MOVE_COST): Adjust.
6602 (BRANCH_COST): Adjust.
6603 (TEXT_SECTION_ASM_OP): Adjust.
6604 (DBX_REGISTER_NUMBER): Adjust.
6605 (ASM_OUTPUT_DOUBLE_INT): New.
6606 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
6607 (PREDICATE_CODES): Adjust.
6608 (PROMOTE_MODE): Adjust.
6609 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
6610 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
6611 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
6612 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
6613 (DR0_REG, DR2_REG, DR4_REG): Renumber.
6614 (TR0_REG, TR1_REG, TR2_REG): New.
6615 (XD0_REG): Renumber.
6616 (UNSPEC_COMPACT_ARGS): New.
6617 (type): Added pt and ptabs.
6618 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 6619 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
6620 (pt): New function unit.
6621 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
6622 Add whitespace between operands of SHmedia instructions.
6623 (movdicc): Fix.
6624 (adddi3_media, addsi3_media): Adjust constraints.
6625 (subsi3) [SHmedia]: Force operand 1 into a register.
6626 (udivsi3_i1_media, udivsi3_i4_media): New.
6627 (udivsi3): Support SHmedia.
6628 (divsi3_i1_media, divsi3_i4_media): New.
6629 (divsi3): Support SHmedia.
6630 (anddi3, iordi3, xordi3): Adjust constraints.
6631 (zero_extendhidi2, zero_extendqidi2): New.
6632 (extendsidi2, extendhidi2, extendqidi2): New.
6633 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
6634 (pop_e, pop_fpul, pop_4): Likewise.
6635 (movsi_media): Support FP and BT registers.
6636 (movsi_media_nofpu): New. Adjust splits to DImode.
6637 (lduw, ldub): Renamed to zero_extend* above.
6638 (movqi_media): Fix typo.
6639 (movdi_media): Support FP and BT registers.
6640 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
6641 (movdi_const_32bit): New.
6642 (shori_media): Require immediate operand. Use `u' for output.
6643 (movdf_media, movsf_media): Simplified.
6644 (movdf_media_nofpu, movsf_media_nofpu): New.
6645 (movdf, movsf): Adjust
6646 (movv2sf, movv2sf, movv16sf): New.
6647 (beq_media, beq_media_i): Adjust constraints. Don't use
6648 scratch BT register.
6649 (bne_media, bne_media_i): Likewise.
6650 (bgt_media, bgt_media_i): Likewise.
6651 (bge_media, bge_media_i): Likewise.
6652 (bgtu_media, bgtu_media_i): Likewise.
6653 (bgeu_media, bgeu_media_i): Likewise.
6654 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
6655 bunordered): Emit jump insn. Force operands to registers when
6656 needed.
6657 (jump_media, jump): Simplify.
6658 (call_compact, call_compact_rettramp): New.
6659 (call_value_compact, call_value_compact_rettramp): New.
6660 (call_media, call_value_media): Simplify.
6661 (sibcall_compact, sibcall_media): New.
6662 (call, call_value): Adjust for SHmedia and SHcompact.
6663 (sibcall, sibcall_value, untyped_call): Likewise.
6664 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
6665 (indirect_jump): Adjust for SHmedia.
6666 (casesi_jump_media): New.
6667 (nop): Re-enable for SHmedia.
6668 (call_site): Restrict to SH1.
6669 (casesi): Adjust for SHmedia.
6670 (casesi_shift_media, casesi_load_media): New.
6671 (return): Explicitly use PR register. Call return trampoline
6672 on SHcompact.
6673 (return_i): Explicitly use PR register.
6674 (shcompact_return_tramp, shcompact_return_tramp_i): New.
6675 (return_media): Adjust.
6676 (shcompact_incoming_args): New.
6677 (epilogue): Adjust.
6678 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
6679 (movstrsi): Disable on SH5.
6680 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
6681 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
6682 (subsf3, subsf3_media): Likewise.
6683 (mulsf3, mulsf3_media, mac_media): Likewise.
6684 (divsf3, divsf3_media): Likewise.
6685 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
6686 (floatsisf2, fux_truncsfsi2): Likewise.
6687 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
6688 constraints.
6689 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
6690 (cmpunsf_media, cmpsf): Likewise.
6691 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
6692 (abssf2, abssf2_media): Likewise.
6693 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
6694 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
6695 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
6696 (floatsidf2, fix_truncdfsi2): Likewise.
6697 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
6698 constraints.
6699 (cmpeqdf_media, cmpgtdf_media): Likewise.
6700 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
6701 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
6702 (absdf2, absdf2_media): Likewise.
6703 (extendsfdf2, extendsfdf2_media): Likewise.
6704 (truncsfdf2, truncsfdf2_media): Likewise.
6705 * config/sh/sh64.h: New file.
6706 * config/sh/t-sh64: New file.
6707 * config/sh/shmedia.h: New file.
6708 * config/sh/ushmedia.h: New file.
6709 * config/sh/sshmedia.h: New file.
6710 * configure.in: Added sh64-*-elf.
6711 * configure: Rebuilt.
6712 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
6713 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
6714 (reg_class_from_letter): Use `b' for TARGET_REGS.
6715 (print_operand): Support `%M', `%m', `AND' and
6716 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
6717 (andcosts): Adjust for SHmedia.
6718 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
6719 Likewise.
6720 (target_reg_operand): New function.
6721 * config/sh/sh-protos.h (target_reg_operand): Declare.
6722 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
6723 FP registers on SH5.
6724 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
6725 on SH4.
6726 (TARGET_REGISTER_P): New macro.
6727 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
6728 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
6729 (EXTRA_CONSTRAINT_S): New macro.
6730 (EXTRA_CONSTRAINT): Adjust.
6731 (FLOAT_TYPE_SIZE): Define to 32.
6732 (Pmode): DImode on SHmedia.
6733 (CONST_COSTS): Adjust for SHmedia literals.
6734 (PREDICATE_CODES): Added target_reg_operand.
6735 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
6736 * config/sh/sh.md: Remove all attrs from SHmedia insns.
6737 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
6738 (cmpdi): Accept SHmedia.
6739 (movdicc_false, movdicc_true): New insns.
6740 (movdicc): New expand.
6741 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
6742 no_new_pseudos.
6743 (addsi3_media): Match `S' constraint.
6744 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
6745 (negdi2): Expand for SHmedia.
6746 (one_cmpldi2): New expand.
6747 (zero_extendsidi2): Change from expand to insn.
6748 (extendsidi2): Add constraints.
6749 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
6750 LD/ST address. Fix SI immediate loading split.
6751 (movhi_media, movqi_media, lduw, ldub): New insns.
6752 (movhi, movqi): Accept SHmedia.
6753 (shori_media, movdi_media): Relax input constraints. Split
6754 symbolic constants.
6755 (movdf_media, movsf_media): New insn. New split to movdi.
6756 (movdf, movsf): Match on SHmedia.
6757 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
6758 bgeu_media): New insns and splits. New insns with `_i' suffix.
6759 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
6760 (bunordered): New expand.
6761 (jump_compact): Renamed from `jump'.
6762 (jump_media): New insn.
6763 (jump): New expand.
6764 (call_media, call_value_media): New insns.
6765 (call, call_value): Adjust.
6766 (indirect_jump_compact): Renamed from `indirect_jump'.
6767 (indirect_jump_media): New insn.
6768 (indirect_jump): New expand.
6769 (untyped_call, return): Accept SHmedia.
6770 (return_media): New insn.
6771 (prologue, epilogue, blockage): Accept SHmedia.
6772 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
6773 (sunordered): New expand.
6774 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
6775 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
6776 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
6777 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
6778 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
6779 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
6780 abssf2_media): New insns.
6781 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
6782 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
6783 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
6784 floatdidf2, floatsidf2_media, fix_truncdfdi2,
6785 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
6786 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
6787 absdf2_media): New insns.
6788 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
6789 (extendsfdf2_media, truncdfsf2_media): New insns.
6790 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
6791 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
6792 * config/sh/sh.h (CONST_OK_FOR_J): Document.
6793 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
6794 * config/sh/sh.md (adddi3): New expand.
6795 (adddi3_media, adddi3z_media): New insns.
6796 (adddi3_compact): Renamed from adddi3.
6797 (addsi3_media): Use add.l r63 to add constant zero.
6798 (subdi3): New expand.
6799 (subdi3_media): New insn.
6800 (subdi3_compact): Renamed from subdi3.
6801 (mulsidi3): New expand.
6802 (mulsidi3_media): New insn.
6803 (mulsidi3_compact): Renamed from mulsidi3.
6804 (umulsidi3): New expand.
6805 (umulsidi3_media): New insn.
6806 (umulsidi3_compact): Renamed from umulsidi3.
6807 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
6808 (ashlsi3, ashrsi3, lshrsi3): Use them.
6809 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
6810 (ashldi3, ashrdi3, lshrdi3): Use them.
6811 (zero_extendsidi2): New expand.
6812 (extendsidi2): New insn.
6813 (movsi_media): New insn. Split to movdi to load constants.
6814 (movsi): Enable for shmedia.
6815 (movdi_media): New insn. Use shori_media to load wide constants.
6816 (short_media): New insn.
6817 (movdi): Enable for shmedia.
6818 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
6819 * config/sh/sh.h (CPP_SPEC): Added `m5'.
6820 (SUBTARGET_CPP_SPEC): Added `!m5'.
6821 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
6822 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
6823 to all other SH variants.
6824 (TARGET_DEFAULT): Set to SH1_BIT.
6825 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
6826 (BITS_PER_WORD): Raise to 64 on shmedia.
6827 (MAX_BITS_PER_WORD): Change to 64.
6828 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
6829 (INT_TYPE_SIZE): Keep as 32.
6830 (UNITS_PER_WORD): Raise to 8 on shmedia.
6831 (MIN_UNITS_PER_WORD): Keep as 4.
6832 (POINTER_SIZE): Raise to 64 on shmedia.
6833 (CONST_OK_FOR_J): New macro.
6834 (CONST_OK_FOR_LETTER_P): Use it.
6835 (processor_type): Add PROCESSOR_SH5.
6836 * config/sh/sh.md: Conditionalize all expands, insns and
6837 splits to TARGET_SH1.
6838 (cpu): Added sh5.
6839 (addsi3_compact): Renamed from...
6840 (addsi3): Now an expand.
6841 (addsi3_media, subsi3_media): New insns.
6842 (subsi3): Don't negate constants with SHmedia.
6843
e4ec2cac
AO
6844 * hooks.c: New file.
6845 * hooks.h: New file.
6846 * Makefile.in (HOOKS_H): New.
6847 (TARGET_DEF_H): Added $(HOOKS_H).
6848 (OBJS): Added hooks.o.
6849 (cfgcleanup.o, bb-reorder.o): Added target.h.
6850 (hooks.o): Added dependencies.
6851 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
6852 (TARGET_INITIALIZER): this.
6853 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
6854 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
6855 * bb-reorder.c: Include target.h.
6856 (reorder_basic_blocks): Skip if cannot modify jumps.
6857 * cfgcleanup.c: Include target.h.
6858 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
6859
246a46e0
CD
68602002-02-08 Chris Demetriou <cgd@broadcom.com>
6861
831c4e87
KC
6862 * config/mips/mips.md (casesi_internal, casesi_internal_di):
6863 Protect jump delay slot instructions with .set noreorder and
6864 .set nomacro.
246a46e0
CD
6865
68662002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
6867
6868 * config/mips/mips.md (casesi_internal_di): Calculate
6869 the index into the target offset table correctly.
6870
fdf473ae
RH
68712002-02-08 Richard Henderson <rth@redhat.com>
6872
6873 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
6874 * final.c (output_addr_const): Accept and discard SUBREG.
6875 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
6876 mark them unknown instead.
6877 (simplify_subtraction): Handle RTX_UNKNOWN.
6878 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
6879
c50503ac
DE
68802002-02-08 David Edelsohn <edelsohn@gnu.org>
6881
6882 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
6883
3660d217
RH
68842002-02-08 Richard Henderson <rth@redhat.com>
6885
6886 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
6887
56547299
AJ
68882002-02-08 Andreas Jaeger <aj@suse.de>
6889
6890 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
6891 * config/i386/t-linux64: New file.
6892
1cf537c5
JJ
68932002-02-08 Jakub Jelinek <jakub@redhat.com>
6894
6895 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
6896 * c-parse.in (compstmt): Clear last_expr_type.
6897
5c7f5a5f
RH
68982002-02-07 Richard Henderson <rth@redhat.com>
6899
6900 * loop.c (strength_reduce): Sink final_value when not
6901 eliminating a biv.
6902
b1138bf3
DB
69032002-02-07 David O'Brien <obrien@FreeBSD.org>
6904
6905 * config/sparc/freebsd.h: Fix mismatched spec {.
6906
b6878a45
RH
69072002-02-07 Richard Henderson <rth@redhat.com>
6908
6909 * cfgrtl.c: Include recog.h and insn-config.h.
6910 (keep_with_call_p): Fix general_operand invocation.
6911 * Makefile.in (cfgrtl.o): Update dependencies.
6912
ae19f5ef
KH
69132002-02-07 Kazu Hirata <kazu@hxi.com>
6914
6915 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
6916 comment. Accept HImode only if TARGET_H8300.
6917
b137f9fc
EC
69182002-02-07 Eric Christopher <echristo@redhat.com>
6919
6920 * config/mips/crtn.asm: Cleanup #ifdefs.
6921
69222002-02-07 Eric Christopher <echristo@redhat.com>
6923
6924 * config/mips/crti.asm: Add changes for mips16. mips16 uses
6925 register 7 as RA instead of $31.
6926 * config/mips/crtn.asm: Ditto.
6927 * config/mips/mips.c (mips_move_2words): Add case for
6928 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
6929 (compute_frame_size): Fix typo.
6930 (save_restore_insns): Ditto. Make documentation about using
6931 register $7 as return register more precise.
6932 (mips_expand_epilogue): Fix comment. Add code to work around not
6933 being able to add to the stack pointer directly.
6934 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
6935 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
6936 epilogue.
6937
768070a0
TR
69382002-02-07 Tom Rix <trix@redhat.com>
6939
b137f9fc 6940 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
6941 immediates in ldu and stdu DS opcode field.
6942 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
6943 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
6944 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
6945
225909c3
JS
69462002-02-07 Jeff Sturm <jsturm@one-point.com>
6947
6948 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
6949 offset for stack bias.
6950
15fae023
L
69512002-02-07 H.J. Lu <hjl@gnu.org>
6952
6953 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
6954
fde5badd
UW
69552002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
6956
6957 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
6958
162f023b
JH
6959Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
6960
6961 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
6962 * i386.c (x86_order_regs_for_local_alloc): New global function.
6963 * i386.h (REG_ALLOC_ORDER): CLeanup.
6964 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
6965
9b462c42
RH
69662002-02-07 Richard Henderson <rth@redhat.com>
6967
85aa876c 6968 PR optimization/2463
9b462c42
RH
6969 * alias.c (find_base_value): Recall base values for fixed hard regs.
6970 * loop.c (loop_regs_update): Don't use single_set on non-insns.
6971
06e455a9
AO
69722002-02-07 Alexandre Oliva <aoliva@redhat.com>
6973
6974 * config/mips/mips.md (define_delay) [mips16]: Adjust required
6975 length.
6976
edd1967d
RH
69772002-02-06 Richard Henderson <rth@redhat.com>
6978
6979 PR c/5609
6980 * stmt.c (resolve_operand_name_1): Take more care with mixed
6981 named and unnamed operands.
6982
a2cd028f
JJ
69832002-02-06 Janis Johnson <janis187@us.ibm.com>
6984 Jan Hubicka <jh@suse.cz>
6985
6986 * loop.c (remove_constant_addition): Avoid clobbering a shared
6987 CONST expression.
6988
e8487c04
UW
69892002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
6990
6991 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
6992 * config/s390/t-linux64: New file.
6993 * config/s390/libgcc-glibc.ver: New file.
6994
58d10f89
UW
69952002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
6996
6997 * config/s390/linux64.h: Delete file.
6998 * config/s390/s390x.h: New file.
6999 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
7000 as target header file.
7001 * config/s390/linux.h (TARGET_VERSION): Define depending on
7002 DEFAULT_TARGET_64BIT.
7003 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
7004 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
7005 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
7006 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
7007 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
7008 (EXTRA_SPEC): New define.
7009 * config/s390/s390.h (TARGET_VERSION): Define depending on
7010 DEFAULT_TARGET_64BIT.
7011 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
7012
5ce89b2e
JM
70132002-02-06 Jason Merrill <jason@redhat.com>
7014
7015 * c-decl.c (finish_function): Warn about a non-void function with
7016 no return statement and no abnormal exit.
7017 (current_function_returns_abnormally): New variable.
7018 (start_function): Clear it.
7019 (struct c_language_function): Add returns_abnormally.
7020 (push_c_function_context): Save it.
7021 (pop_c_function_context): Restore it.
7022 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
7023 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
7024 an explicit return type.
7025 * c-tree.h: Declare current_function_returns_abnormally.
7026 (C_FUNCTION_IMPLICIT_INT): New macro.
7027 * c-typeck.c (build_function_call): Set it.
7028 (c_expand_return): Set current_function_returns_value even if the
7029 value is erroneous.
7030
caaf2272
JJ
70312002-02-06 Jakub Jelinek <jakub@redhat.com>
7032
7033 PR c/5420:
7034 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
7035 unsafe for reevaluation.
7036
d5129288
JJ
70372002-02-06 Jakub Jelinek <jakub@redhat.com>
7038
7039 PR c/5482:
7040 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
7041 EXPR_STMT, but COMPOUND_STMT, recurse into it.
7042
7fb75099
RH
70432002-02-06 Richard Henderson <rth@redhat.com>
7044
7045 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
7046 be a general_operand. Dest for function value must be a pseudo.
7047
d3a8b6a6
NC
70482002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
7049
7050 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
7051 as SYMBOL_REFs from the constant pool.
7052
3c1299c5
AO
70532002-02-06 Alexandre Oliva <aoliva@redhat.com>
7054
7055 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
7056 passed by invisible reference.
7057
c2c9f6c9
RH
70582002-02-05 Richard Henderson <rth@redhat.com>
7059
7060 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
7061
a824924d
HPN
70622002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
7063
7064 Implement using "base addresses" in insn operands as default.
7065 * config/mmix/mmix.c (mmix_conditional_register_usage): if
7066 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
7067 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
7068 used to read the rtx value.
7069 (mmix_target_asm_function_epilogue): Fix spacing.
7070 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
7071 (mmix_legitimate_address): Ditto.
7072 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
7073 should be loaded with a GETA insn. Don't allocate needless extra
7074 char for nul termination and fix misleading comment.
7075 (mmix_print_operand_address): Handle constants if
7076 TARGET_BASE_ADDRESSES.
7077 (mmix_output_register_setting): Use base addressing if
7078 TARGET_BASE_ADDRESSES and the number of insns is 3.
7079 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
7080 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
7081 to use R as constraint, add LDA to match s.
7082 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
7083 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
7084 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
7085 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
7086 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
7087 order with other fixed registers.
7088 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
7089 other parameter/call-clobbered registers.
7090 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
7091 -mbase-addresses, -mno-base-addresses.
7092 (MMIX Options): Ditto.
7093
73c342b9
JDA
70942002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
7095
7096 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
7097
ef238c58
AH
70982002-02-06 Aldy Hernandez <aldyh@redhat.com>
7099
831c4e87 7100 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 7101
ad08e60e
JT
71022002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
7103
7104 * config/netbsd.h (WCHAR_TYPE): Define.
7105 (WCHAR_TYPE_SIZE): Ditto.
7106 (WINT_TYPE): Ditto.
7107 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
7108 (WCHAR_UNSIGNED): Ditto.
7109 (WCHAR_TYPE_SIZE): Ditto.
7110 (WINT_TYPE): Ditto.
7111 * config/arm/netbsd.h: Likewise.
7112 * config/i386/netbsd-elf.h: Likewise.
7113 * config/i386/netbsd.h: Likewise.
7114 * config/m68k/netbsd-elf.h: Likewise.
7115 * config/m68k/netbsd.h: Likewise.
7116 * config/ns32k/netbsd.h: Likewise.
7117 * config/sparc/netbsd.h: Likewise.
7118 * config/vax/netbsd.: Likewise.
7119
f913c102
AO
71202002-02-05 Alexandre Oliva <aoliva@redhat.com>
7121
7122 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
7123 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
7124 (TARGET_INITIALIZER): this.
7125 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
7126 (BITFIELD_NBYTES_LIMITED): Markup fix.
7127 * tree.h (default_ms_bitfield_layout_p): Declare.
7128 (record_layout_info): Added prev_field.
7129 * tree.c (default_ms_bitfield_layout_p): New fn.
7130 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
7131 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
7132 * stor-layout.c: Include target.h.
7133 (start_record_layout): Initialize prev_field.
7134 (place_field): Handle MS bit-field layout, and disregard
7135 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
7136 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
7137 * Makefile.in (stor-layout.o): Adjust dependencies.
7138
c13db5d1
JM
71392002-02-05 Jason Merrill <jason@redhat.com>
7140
c13db5d1
JM
7141 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
7142
4505024e
AJ
71432002-02-05 Andreas Jaeger <aj@suse.de>
7144
7145 * crtstuff.c: Fix comments.
7146
794ad79d
RH
71472002-02-05 Richard Henderson <rth@redhat.com>
7148
2e279a9b
RH
7149 PR fortran/3393
7150 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
7151 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
7152
794ad79d
RH
7153 PR fortran/3392
7154 * config/mips/mips.c (function_arg): Handle TImode.
7155 (function_arg_advance): Likewise.
7156
8f909017
AH
71572002-02-05 Aldy Hernandez <aldyh@redhat.com>
7158
c13db5d1
JM
7159 * config/rs6000/altivec.h (vec_step_help): Rename to
7160 __vec_step_help.
8f909017 7161
66daa9e3
AH
71622002-02-05 Aldy Hernandez <aldyh@redhat.com>
7163
c13db5d1 7164 * config/rs6000/altivec.h: Fix typos.
66daa9e3 7165
2696e97b
JT
71662002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
7167
7168 * config/arm/netbsd.h: Correct a comment.
7169
3deb2758
AH
71702002-02-05 Aldy Hernandez <aldyh@redhat.com>
7171
c13db5d1
JM
7172 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
7173 building void typed builtins.
3deb2758 7174
c13db5d1
JM
7175 * config/rs6000/altivec.h (vec_ld*): Fix typos.
7176 (vec_step): Implement for C++.
3deb2758 7177
c13db5d1 7178Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
7179
7180 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
7181
ebbb0a63
RH
71822002-02-04 Richard Henderson <rth@redhat.com>
7183
7184 * combine.c (nonzero_bits): Re-introduce special case for
7185 sp/fp/ap wrt REGNO_POINTER_ALIGN.
7186
ae4b4a02
AH
71872002-02-05 Aldy Hernandez <aldyh@redhat.com>
7188
c13db5d1
JM
7189 * doc/extend.texi: Warn about unsupported usage of altivec
7190 builtins.
ae4b4a02 7191
c13db5d1
JM
7192 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
7193 (altivec_predicate_*): New.
ae4b4a02 7194
c13db5d1
JM
7195 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
7196 Add C++ version of vec_*() functions.
ae4b4a02 7197
c13db5d1
JM
7198 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
7199 (bdesc_2arg): Remove altivec predicates.
7200 (altivec_expand_builtin): Handle predicates.
7201 (altivec_init_builtins): Handle predicates.
7202 (altivec_expand_predicate_builtin): New.
ae4b4a02 7203
f6bcf44c
JDA
72042002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7205
7206 * pa.c (DO_FRAME_NOTES): Move forward.
7207 (store_reg): Revise handling of frame notes.
7208 (load_reg): Likewise.
7209 (set_reg_plus_d): Likewise.
7210 (hppa_expand_prologue): Likewise.
7211 (hppa_expand_epilogue): Likewise.
b137f9fc 7212
703b0080
JDA
72132002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7214
7215 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
7216
6f9fdf4d
JJ
72172002-02-04 Jakub Jelinek <jakub@redhat.com>
7218
7219 PR c/4475, c++/3780:
7220 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
7221 * c-common.h (SWITCH_TYPE): Define.
7222 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
7223 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
7224 Rename spareness variable to sparseness.
7225 (expand_end_case_type): Renamed from expand_end_case, use orig_type
7226 if non-NULL instead of TREE_TYPE (orig_index).
7227 * tree.h (expand_end_case_type): Renamed from expand_end_case.
7228 (expand_end_case): Define using expand_end_case_type.
7229 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
7230 to expand_end_case_type.
7231 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
7232
79109502
JDA
72332002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7234
7235 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
7236 (BIGGEST_ALIGNMENT): Change to 128.
7237
e62a5987
JDA
72382002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7239
7240 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
7241
219f24a4
JDA
72422002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7243
7244 * pa.md (call_internal_reg_64bit): Remove unused variable.
7245
3cb66fd7
NC
72462002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
7247
7248 * config/arm/arm.h (machine_function): Add uses_anonymous_args
7249 field.
831c4e87 7250 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 7251 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
7252 replace uses with cfun->machine->uses_anonymous_args.
7253 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
7254
7255 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
7256 any geenral register.
b137f9fc 7257
5d5603e2 72582001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
7259
7260 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
7261 the entry block.
7262
563c12b0
RH
72632002-02-04 Richard Henderson <rth@redhat.com>
7264
7265 * combine.c (force_to_mode): Remove STACK_BIAS code.
7266 (nonzero_bits): Likewise. Replace sp/fp special case with
7267 REGNO_POINTER_ALIGN.
7268
7269 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
7270 (HARD_FRAME_POINTER_REGNUM): New.
7271 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
7272 (FIXED_REGS, CALL_USED_REGS): Update.
7273 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
7274 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
7275 (HARD_REGNO_NREGS): Update for SFP.
7276 (STACK_POINTER_OFFSET): Include bias here ...
7277 (FIRST_PARM_OFFSET): ... not here.
7278 (STACK_BIAS): Remove.
7279 (INIT_EXPANDERS): New.
7280 (STARTING_FRAME_OFFSET): Do not include bias.
7281 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
7282 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
7283 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
7284 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
7285 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
7286 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
7287 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
7288 (MUST_SAVE_REGISTER): Likewise.
7289 (sparc_flat_function_prologue): Likewise.
7290 (sparc_flat_function_epilogue): Likewise.
7291 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
7292 (sparc_init_modes): SFP is GENERAL_REGS.
7293 (sparc_builtin_saveregs): SFP does not have bias applied.
7294
14691f8d
RH
72952002-02-04 Richard Henderson <rth@redhat.com>
7296
7297 * config/alpha/alpha.c (current_function_is_thunk): Don't check
7298 current_function_is_thunk.
7299 (alpha_sa_mask): Distinguish between current_function_is_thunk
7300 called from ASM_OUTPUT_MI_THUNK and not.
7301 (alpha_does_function_need_gp): Thunks always need gp.
7302 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
7303 (alpha_output_mi_thunk_osf): New.
7304 * config/alpha/alpha-protos.h: Update.
7305 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
7306
af702de8
RS
73072002-02-04 Richard Sandiford <rsandifo@redhat.com>
7308
7309 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
7310 function types, not when they're taken away.
7311
5b1cacd8
JL
7312Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
7313
7314 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
7315 CODE_LABEL and jump table when replacing a table jump with a
7316 simple jump.
7317
f3e9edff
UW
73182002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
7319
7320 * config/s390/s390-protos.h (legitimize_la_operand,
7321 s390_secondary_input_reload_class, s390_plus_operand,
7322 s390_expand_plus_operand): Add prototypes.
7323
7324 config/s390/s390.c (s390_secondary_input_reload_class,
7325 s390_plus_operand, s390_expand_plus_operand): New functions.
7326
7327 (struct s390_address): New member 'pointer'.
7328 (s390_decompose_address): Compute it.
7329 (legitimate_la_operand_p): Use it.
7330 (legitimize_la_operand): New function.
7331 (movti, movdi, movdf splitters): Call it.
7332
7333 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
7334 (PREDICATE_CODES): Add s390_plus_operand.
7335
7336 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
7337 (la_ccclobber): Allow GENERAL_REGS as output operand.
7338
7339 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
7340 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
7341 (*la_64, *la_31, reload_indi, reload_insi): ... these.
7342
3c9a08ec
UW
73432002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
7344
7345 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
7346 register names for regular asm () construct.
7347
ac300a45
JJ
73482002-02-04 Jakub Jelinek <jakub@redhat.com>
7349
7350 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
7351 registers.
7352
fa852403
JJ
73532002-02-04 Jakub Jelinek <jakub@redhat.com>
7354
7355 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
7356 pat for recog.
7357
fecaac37
HP
73582002-02-04 Hartmut Penner <hpenner@de.ibm.com>
7359
831c4e87
KC
7360 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
7361 constant pool to be identical by string address and index.
fecaac37 7362
10c45943
AG
73632002-02-04 Anthony Green <green@redhat.com>
7364
7365 * output.h (SECTION_OVERRIDE): Define.
7366 * varasm.c (named_section): Obey SECTION_OVERRIDE.
7367
69474c3c
JT
73682002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
7369
7370 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
7371 by existing arm*-*-netbsd* (a.out) target.
7372 (ns32k-*-netbsdelf*): Likewise.
7373 (sparc-*-netbsdelf*): Likewise.
7374 (vax-*-netbsdelf*): Likewise.
7375
939a46f6 73762002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
7377
7378 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
7379 headers and libobjc headers.
7380
73812002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
7382
7383 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
7384 (_mingw.h): Remove duplicate include.
7385
2fd95d71
JT
73862002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
7387
7388 * config.gcc: Set cpu_type to m68k for 68010, as well.
7389 (m68010-*-netbsdelf*): New...
7390 (m68k*-*-netbsdelf*): ...targets.
7391 * config/m68k/netbsd-elf.h: New file.
7392
0ea6f6a0
KH
73932002-02-02 Kazu Hirata <kazu@hxi.com>
7394
7395 * config/h8300/h8300.c (hand_list): Move inside function_arg.
7396
cbf1b2da
KH
73972002-02-02 Kazu Hirata <kazu@hxi.com>
7398
7399 * config/h8300/h8300.c (h8_push_ops): Move inside
7400 h8300_init_once.
7401 (h8_pop_ops): Likewise.
7402 (h8_move_ops): Likewise.
7403
0869f126
KH
74042002-02-02 Kazu Hirata <kazu@hxi.com>
7405
7406 * config/h8300/h8300.c (os_task): Make it static.
7407 (monitor): Likewise.
7408 (pragma_saveall): Likewise.
7409
90e65b70
AO
74102002-02-02 Alexandre Oliva <aoliva@redhat.com>
7411
7412 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
7413 constant is a valid sign-extension for Pmode.
7414
9cbcd983
KH
74152002-02-02 Kazu Hirata <kazu@hxi.com>
7416
7417 * config/h8300/h8300.c: Fix formatting.
7418
7a27efc4
KH
74192002-02-02 Kazu Hirata <kazu@hxi.com>
7420
7421 * config/h8300/h8300.md: Fix formatting.
7422
54175a44
KH
74232002-02-02 Kazu Hirata <kazu@hxi.com>
7424
7425 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
7426 predicates of operands[1]. Split the patterns for each
7427 processor variant.
7428
eceb1755
KH
74292002-02-02 Kazu Hirata <kazu@hxi.com>
7430
7431 * config/h8300/h8300.md (xor patterns): Tighten the predicates
7432 of operands[1] to register_operand.
7433
0fef3fd0
NB
74342002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
7435
7436 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
7437 * cpphash.c (_cpp_init_hashtable): Similarly.
7438 * cppinit.c (cpp_create_reader): Default the signed_char flag.
7439 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
7440 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
7441 (cpp_handle_option): Handle the new options.
7442 * cpplex.c (cpp_interpret_charconst): Use new flag.
7443 * cpplib.h (struct cpp_options): New member signed_char.
7444 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
7445 (cpp_options): Handle -fsigned-char and -funsigned-char.
7446 (static_specs): Remove signed_char_spec.
7447 (do_spec1): Don't handle %c.
7448 * system.h: Poison SIGNED_CHAR_SPEC.
7449 * tradcif.y (yylex): Use flag_signed_char.
7450 * tradcpp.h (flag_signed_char): New.
7451 * tradcpp.c (flag_signed_char): New.
7452 (main): Handle new command-line options.
7453 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
7454config:
7455 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
7456 * avr/avr.h: Remove old comments.
7457 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
7458 (CC1_SPEC): Pass -fsigned-char if -mic*.
7459 (SIGNED_CHAR_SPEC): Remove.
7460doc:
7461 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
7462
0617ed52
EC
74632002-02-01 Eric Christopher <echristo@redhat.com>
7464
7465 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
7466 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
7467 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
7468 (ASM_OUTPUT_REG_POP): Ditto.
7469
dfd48d76
NB
74702002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
7471
7472 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
7473 patch.
7474
4a23409e
JJ
74752002-02-02 Jakub Jelinek <jakub@redhat.com>
7476
7477 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
7478
d3c52658
JJ
74792002-02-02 Jakub Jelinek <jakub@redhat.com>
7480
7481 PR c/5304:
7482 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
7483 unconditionally.
7484
02c5a3bd
JJ
74852002-02-01 Janis Johnson <janis187@us.ibm.com>
7486
7487 * cfganal.c: Include tm_p.h.
7488 (keep_with_call_p): Fix the test that determines if a register holds
7489 the return value of a call.
7490
3968de80
DD
74912002-02-01 DJ Delorie <dj@redhat.com>
7492
7493 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
7494 we are given conflicting registers, switch to the other one we
7495 had allocated for us.
7496 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
7497 as TImode so we know when the "other" register is available.
7498
1338ea6c
DB
74992002-02-01 David O'Brien <obrien@FreeBSD.org>
7500
7501 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
7502 sparc/sparc_bi.h.
7503
f015be23
JJ
75042002-02-01 Janis Johnson <janis187@us.ibm.com>
7505
7506 * cfganal.c (keep_with_call_p): New function.
7507 (flow_call_edges_add): Prevent splitting a block between a call and
7508 a single-set instruction that should be kept in the same block.
7509
63708ffc
CR
75102002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
7511
7512 * doc/install.texi (avr): Update outdated URL.
7513
5ee4950e
AH
75142002-01-30 Andrew Haley <aph@cambridge.redhat.com>
7515
831c4e87
KC
7516 * config/stormy16/stormy16.md (pushqi): New.
7517 (popqi): New.
7518 (pushhi): New.
7519 (pophi): New.
7520 (movhi): Remove stack operands.
7521 (movqi): Likewise.
7522 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
7523 nonimmediate_nonstack_operand.
7524 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
7525 New.
7526 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
7527 New.
5ee4950e 7528
b88c0704
JM
75292002-01-31 Jason Merrill <jason@redhat.com>
7530
7531 * Makefile.in (c-parse.c): Handle .output file.
7532 * objc/Make-lang.in (objc-parse.c): Likewise.
7533
ac282977
AO
75342002-02-01 Alexandre Oliva <aoliva@redhat.com>
7535
7536 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
7537 the -me[lb] option is given. Don't output the default flag
7538 twice.
7539
bebc7e8b
ZW
75402002-01-31 Zack Weinberg <zack@codesourcery.com>
7541
7542 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
7543 the primary source file; this has not been done yet.
7544 * c-decl.c (c_expand_body): Reset input_filename from
7545 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
7546
5809eb5f
KH
75472002-01-31 Kazu Hirata <kazu@hxi.com>
7548
7549 * rtlanal.c (subreg_regno_offset): Do not use
7550 SUBREG_REGNO_OFFSET.
7551 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
7552 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
7553
8512bbd7
JM
75542002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
7555
7556 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
7557 version rather than GNATS version in --version output.
7558
74cb3cc8
RS
75592002-01-31 Richard Sandiford <rsandifo@redhat.com>
7560
7561 * ifcvt.c (noce_process_if_block): Make a copy of the destination
7562 when copying back from a temporary.
7563
874b5b14
RH
75642002-01-30 Richard Henderson <rth@redhat.com>
7565
7566 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
7567 and new_dest are the same.
7568
e803a64b
RH
75692002-01-30 Richard Henderson <rth@redhat.com>
7570
89cf7be5 7571 PR opt/5076
e803a64b
RH
7572 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
7573 * rtl.c (note_insn_name): Update.
7574 * emit-rtl.c (remove_unnecessary_notes): Kill it.
7575 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
7576 to perform loop rotation.
7577 (expand_exit_loop_top_cond): New.
7578 * tree.h (expand_exit_loop_top_cond): Declare it.
7579 * c-semantics.c (genrtl_while_stmt): Use it.
7580 (genrtl_for_stmt): Likewise.
7581
0b51254d
AO
75822002-01-30 Alexandre Oliva <aoliva@redhat.com>
7583
7584 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
7585 arguments to 64-bit boundaries on 64-bit ABIs.
7586
71cef493
SE
75872002-01-30 Steve Ellcey <sje@cup.hp.com>
7588
7589 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
7590
6169e5fd
JM
75912002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
7592
7593 * c-decl.c (grokdeclarator): Handle type being a typedef for an
7594 invalid type.
7595
86f808dc
DB
75962002-01-30 David O'Brien <obrien@FreeBSD.org>
7597
7598 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
7599 * config/sparc/sparc_bi.h: Remove file.
7600 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
7601
5748ebeb
RH
76022002-01-30 Richard Henderson <rth@redhat.com>
7603
7604 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
7605
20d32cc2
ZW
76062002-01-30 Zack Weinberg <zack@codesourcery.com>
7607
7608 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
7609
b88c0704 76102002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
7611
7612 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
7613 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
7614 (reg_save): Use DW_CFA_offset_extended_sf instead.
7615
7616 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
7617
37060e78
JJ
76182002-01-29 Jakub Jelinek <jakub@redhat.com>
7619
7620 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
7621 in cselib_lookup.
7622
d18dba68
AH
76232002-01-29 Aldy Hernandez <aldyh@redhat.com>
7624
bebc7e8b
ZW
7625 * rs6000.md ("*call_value_local32"): Remove constraints.
7626 ("*call_value_local64"): Same.
7627 ("*call_value_indirect_nonlocal_aix32"): Same.
7628 ("*call_value_nonlocal_aix32"): Same.
7629 ("*call_value_indirect_nonlocal_aix64"): Same.
7630 ("*call_value_nonlocal_aix64"): Same.
7631 ("*call_value_nonlocal_sysv"): Same.
d18dba68 7632
80a8aac6
RH
76332002-01-29 Richard Henderson <rth@redhat.com>
7634
7635 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
7636
12beba6f
RH
76372002-01-29 Richard Henderson <rth@redhat.com>
7638
7639 * expr.c (force_operand): Ignore flag_pic for detecting pic
7640 address loads.
7641 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
7642 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
7643 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
7644 instead of open-coded loop.
7645 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
7646 be fixed when in use.
7647
2583081e
RH
76482002-01-29 Richard Henderson <rth@redhat.com>
7649
7650 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
7651 * sched-rgn.c (propagate_deps): Update them.
7652 * sched-deps.c (sched_analyze_insn): Update them. Flush the
7653 clobbers list when either gets too long.
7654
3b8d200e
JJ
76552002-01-29 Jakub Jelinek <jakub@redhat.com>
7656
7657 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
7658 and INDEX_REGS the same as GENERAL_REGS.
7659 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
7660
2d3115eb
NB
76612002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
7662
bebc7e8b 7663 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 7664
ecbe845e
UW
76652002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
7666
bebc7e8b 7667 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 7668 movstrsix_31): Remove, replace by ...
bebc7e8b 7669 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
7670 movstrsi_long): ... these. New.
7671 (movstrdi, movstrsi): Adapt.
7672
7673 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 7674 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
7675 Remove unnecessary CC clobber.
7676 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
7677 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
7678
7679 (divmoddi4): Don't partially initialize TImode register.
7680
0b32fca5
GK
76812002-01-29 Geoffrey Keating <geoffk@redhat.com>
7682
7683 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
7684
08ef5437
RH
76852002-01-29 Richard Henderson <rth@redhat.com>
7686
7687 * flow.c (print_rtl_and_abort): Remove.
7688 (print_rtl_and_abort_fcn): Remove.
7689 (verify_local_live_at_start): Use dump_bb instead.
7690 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
7691 (verify_wide_reg_1): Return 2 on mode test failure.
7692
8469e54e
NB
76932002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
7694
7695 PR c/3325, c/3326, c/2511, c/3347
7696 * c-decl.c (enum_decl_context): Remove BITFIELD.
7697 (grokdeclarator): Take bitfield width as an input.
7698 Ensure bitfields are given the correct type. Perform
7699 bitfield width validation with build_bitfield_integer_type
7700 rather than waiting for finish_struct.
7701 (grok_typename, grok_typename_in_parm_context, start_decl,
7702 push_parmdecl, grokfield, start_function): Update calls to
7703 grokdeclarator.
7704 (build_bitfield_integer_type): New function.
7705 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 7706 and build_bitfield_integer_type.
8469e54e
NB
7707 * tree.c (build_nonstandard_integer_type): New function.
7708 * tree.h (build_nonstandard_integer_type): New prototype.
7709objc:
7710 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
7711
ffdeea47
JJ
77122002-01-29 Jakub Jelinek <jakub@redhat.com>
7713
7714 PR other/1502:
7715 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
7716 don't ignore unrecognized -W* options.
7717 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
7718 * cpplib.h (cpp_handle_option): Adjust prototype.
7719 * c-decl.c (c_decode_options): Pass 0 as last argument to
7720 cpp_handle_option.
7721
7722 PR c/2896:
7723 * gcc.c (cpp_unique_options): Split from cpp_options.
7724 (cpp_options): Source cpp_unique_options.
7725 (default_compilers): Use cpp_unique_options instead of cpp_options
7726 when used together with cc1_options.
7727 (static_specs): Add cpp_unique_options.
7728 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
7729 when used together with cc1_options.
7730
1a275226
KH
77312002-01-29 Kazu Hirata <kazu@hxi.com>
7732
7733 * config/h8300/h8300-protos.h: Update the prototype of
7734 output_a_shift.
7735 * config/h8300/h8300.c (output_a_shift): Remove an unused
7736 argument 'insn'. Remove redundant code.
7737 * config/h8300/h8300.md: Adust to the new prototype of
7738 output_a_shift.
7739
a11d9dfc
KH
77402002-01-29 Kazu Hirata <kazu@hxi.com>
7741
7742 * config/h8300/h8300-protos.h: Update the prototypes of
7743 emit_a_rotate and expand_a_rotate.
7744 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
7745 first argument to 'enum rtx_code'.
7746 (expand_a_rotate): Likewise.
7747
871f73e3
KH
77482002-01-28 Kazu Hirata <kazu@hxi.com>
7749
7750 * config/h8300/h8300-protos.h: Update the prototype of
7751 output_simode_bld.
7752 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
7753 'log2'.
7754 * config/h8300/h8300.md: Adjust to the new prototype.
7755
5fc4b751
KH
77562002-01-28 Kazu Hirata <kazu@hxi.com>
7757
7758 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
7759 redundant code.
7760
2d67bd7b
JDA
77612002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
7762
7763 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
7764 is a fixed register before returning pic_offset_table_rtx.
7765 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
7766 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
7767
5a852b3e
JM
77682002-01-28 Jason Merrill <jason@redhat.com>
7769
6bb28965 7770 * dwarf2.h: Sync with src version.
5a852b3e 7771
3bca17dd
PK
77722002-01-28 Paul Koning <pkoning@equallogic.com>
7773
7774 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
7775 BT_FN_VOID_PTR_VAR.
7776 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
7777 * doc/extend.texi (__builtin_prefetch): Update documentation:
7778 first argument is now const void ptr.
7779
7dc3f8c0
KH
77802002-01-28 Kazu Hirata <kazu@hxi.com>
7781
7782 * config/h8300/h8300-protos.h: Remove an unused prototype.
7783
e83cb5f0
RZ
77842002-01-28 Roman Zippel <zippel@linux-m68k.org>
7785
7786 * toplev.c (lang_independent_init): Round up identifier size.
7787
5721cd84
RE
77882002-01-28 Richard Earnshaw <rearnsha@arm.com>
7789
7790 * config.gcc: Revert previous change.
7791
d534119e
AP
77922002-01-28 Andris Pavenis <pavenis@latnet.lv>
7793
7794 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
7795
5a721dab
RE
77962002-01-28 Richard Earnshaw <rearnsha@arm.com>
7797
7798 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
7799 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
7800 other non-elf netbsd config frags.
7801 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
7802 collect2 will does that.
7803 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
7804 shared-lib frobbing will work.
7805
da1775d6
KH
78062002-01-28 Kazu Hirata <kazu@hxi.com>
7807
7808 * config/h8300/h8300.h: Fix formatting.
7809 * config/h8300/h8300.md: Likewise.
7810
8f2e963b
LR
78112002-01-28 Loren J. Rittle <ljrittle@acm.org>
7812
7813 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
7814 the old, removed AAA_standards fix.
7815 * fixinc/fixincl.x: Rebuilt.
7816
fdae5767
HPN
78172002-01-28 Hans-Peter Nilsson <hp@axis.com>
7818
7819 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
7820 atexit call in crtbegin, hooked in after call to frame_dummy;
7821 register EH before registering __fini__start.
7822
2a2ecb63
AH
78232002-01-28 Aldy Hernandez <aldyh@redhat.com>
7824
7825 * config/rs6000/altivec.h: Remove spurious semicolons.
7826
8ed43adf
KH
78272002-01-27 Kazu Hirata <kazu@hxi.com>
7828
7829 * config/h8300/h8300.md: Replace dead bit extraction patterns
7830 with ones that work.
7831
917afb0c
RK
7832Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7833
7834 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
7835 if not STRICT_ALIGNMENT.
7836 * rtl.h (MEM_ALIGN): Likewise.
7837
f70a54cb
CR
78382002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
7839
7840 * doc/invoke.texi (-fdump-translation-unit): Revert this
7841 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
7842
d8fd4914
KH
78432002-01-27 Kazu Hirata <kazu@hxi.com>
7844
7845 * config/h8300/h8300.md (define_constants): New.
7846 (anonymous patterns) Use defined constants appropriately.
7847
15e0e275
KH
78482002-01-27 Kazu Hirata <kazu@hxi.com>
7849
7850 * config/h8300/h8300.c (function_arg): Remove redundant code.
7851
37a0f8a5
RH
78522002-01-26 Richard Henderson <rth@redhat.com>
7853
7854 * sched-deps.c (reg_pending_uses_head): New.
7855 (reg_pending_barrier): Rename from reg_pending_sets_all.
7856 (find_insn_list): Don't mark inline.
7857 (find_insn_mem_list): Remove.
7858 (add_dependence_list, add_dependence_list_and_free): New.
7859 (flush_pending_lists): Replace only_write param with separate
7860 for_read and for_write parameters. Update all callers. Use
7861 add_dependence_list_and_free.
7862 (sched_analyze_1): Do not add reg dependencies here; just set
7863 the pending bits. Use add_dependence_list.
7864 (sched_analyze_2): Likewise.
7865 (sched_analyze_insn): Replace schedule_barrier_found with
7866 reg_pending_barrier. Add all dependencies for pending reg
7867 uses, sets, and clobbers.
7868 (sched_analyze): Don't add reg dependencies for calls, just
7869 set pending bits. Use regs_invalidated_by_call. Treat
7870 sched_before_next_call as a normal list, not a fake insn.
7871 (init_deps): No funny init for sched_before_next_call.
7872 (free_deps): Free pending mems lists. Don't zero reg_last.
7873 (init_deps_global): Init reg_pending_uses.
7874 (finish_deps_global): Free it.
7875 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
7876 (find_insn_mem_list): Remove.
7877 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
7878 (propagate_deps): Use them. Zero temp mem lists.
7879
cea3bd3e
RH
78802002-01-26 Richard Henderson <rth@redhat.com>
7881
7882 * Makefile.in (CRTSTUFF_CFLAGS): New.
7883 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
7884 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
7885 crtstuff.c instead of alpha assembly version.
7886 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
7887 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
7888 not FORCE_{INIT,FINI}_SECTION_ALIGN.
7889 (__do_global_dtors_aux): Mark used.
7890 (frame_dummy, __do_global_ctors_aux): Mark used.
7891 (fini_dummy, init_dummy): Remove.
7892
7893 * config/alpha/crtbegin.asm: Remove file.
7894 * config/alpha/crtend.asm: Remove file.
7895 * config/alpha/t-crtbe: Remove file.
7896 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
7897 (LINK_EH_SPEC): New.
7898
7899 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
7900 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
7901 calling constructors.
7902 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
7903
7904 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
7905 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
7906 CRT_END_INIT_DUMMY hack.
7907 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
7908 FORCE_{INIT,FINI}_SECTION_ALIGN.
7909
7910 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
7911 FORCE_{INIT,FINI}_SECTION_ALIGN.
7912
7913 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
7914 invocation sequence.
7915 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
7916
7917 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
7918 (FORCE_CODE_SECTION_ALIGN): New.
7919
60ffa0e5
RH
79202002-01-26 Richard Henderson <rth@redhat.com>
7921
7922 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
7923
61334ebe
RH
79242002-01-26 Richard Henderson <rth@redhat.com>
7925
7926 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
7927 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
7928
1d788fb6
KH
79292002-01-26 Kazu Hirata <kazu@hxi.com>
7930
7931 * config/h8300/h8300.md: Remove bit extraction patterns that
7932 cannot be triggered.
7933 Restrict each bit extraction pattern to a variant on which the
7934 pattern is tested.
7935
87611f88
JM
79362002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
7937
7938 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
7939
cd74ec59
KH
79402002-01-26 Kazu Hirata <kazu@hxi.com>
7941
7942 * config/h8300/h8300.md: Remove bit test patterns that cannot
7943 be triggered.
7944 Restrict each bit test pattern to a variant on which the
7945 pattern is tested.
7946
93051e0f
KG
79472002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7948
7949 * builtins.c (expand_builtin_strncat): Remove redundant check for
7950 INTEGER_CST.
7951
216c995f
DB
79522002-01-25 David O'Brien <obrien@FreeBSD.org>
7953
7954 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
7955 default setting.
7956 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
7957 existing setting.
7958
33c7f925
GK
79592002-01-25 Geoffrey Keating <geoffk@redhat.com>
7960
7961 * dbxout.c (dbxout_init): Use assemble_name rather than just
7962 stripping off the first character.
7963 (dbxout_source_file): Likewise.
7964
6cd444b4
DD
79652002-01-25 DJ Delorie <dj@redhat.com>
7966
7967 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
7968 using rtx_equal_p, not by comparing pointers.
7969
751551d5
SE
79702002-01-25 Steve Ellcey <sje@cup.hp.com>
7971
7972 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
7973 for PIC_OFFSET_TABLE_REGNUM.
7974 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
7975
e564e618
DB
79762002-01-25 David O'Brien <obrien@FreeBSD.org>
7977
7978 * config.gcc (x86_64-*-freebsd*): New target.
7979 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
7980 value.
7981 (i[34567]86-*-freebsd*): Don't include svr4.h.
7982 * config/i386/freebsd64.h: New file.
7983
ff3aaf17
DR
79842002-01-25 Douglas B Rupp <rupp@gnat.com>
7985
4857d29d
DR
7986 * config/alpha/x-vms (version): Make static.
7987
7988 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
7989 in previous checkin.
7990
ff3aaf17
DR
7991 * Makefile.in (install-headers-cp): New target.
7992 * config.gcc (alpha-dec-*vms*): Install headers with
7993 install-headers-cp
7994
48d79c43
JH
7995Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
7996
7997 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
7998 avoid it's copies.
7999
995b5904
RK
8000Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8001
8002 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
8003 of compare_tree_int.
8004 (expand_builtin_strncat): Likewise.
8005 * c-decl.c (finish_struct): Use tree_low_cst.
8006 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
8007 * tree.c (compare_tree_int): Likewise.
8008
75eefe3f
UW
80092002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
8010
8011 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
8012 adjustments even if they are implemented by more than two insns.
8013
5a133afd
JH
8014Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
8015
995b5904 8016 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
8017 * df.h (struct ref): Kill B.
8018 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
8019
8020 * basic-block.h (PROP_EQUAL_NOTES): New flag.
8021 * flow.c (propagate_one_insn): Use it.
8022 (mark_used_regs): Handle NIL.
8023
ead39bdf 80242002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
8025
8026 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
8027 to help folding.
8028
01a2ccd0
DE
80292002-01-25 David Edelsohn <edelsohn@gnu.org>
8030
8031 * rs6000.md (prefetch): Make address V4SI mode so that the address
8032 is restricted to legitimate form for instruction.
8033
fd29f6ea
BW
80342002-01-25 Bob Wilson <bob.wilson@acm.org>
8035
8036 * doc/install.texi (xtensa-*-elf): New target.
8037 (xtensa-*-linux*): New target.
8038 * doc/contrib.texi: Add myself.
8039
55492b32
NC
80402002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
8041
8042 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
8043 purpose register to hold an SImode (or smaller) value.
8044
72c7c913
JJ
80452002-01-25 Jakub Jelinek <jakub@redhat.com>
8046
8047 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
8048 registry only.
8049 * crtstuff.c: Likewise.
8050
c4df4ceb
KH
80512002-01-25 Kazu Hirata <kazu@hxi.com>
8052
8053 * config/h8300/h8300.md (negation patterns): Tighten
8054 predicates to register_operand.
8055
70e531f5
AH
80562002-01-24 Aldy Hernandez <aldyh@redhat.com>
8057
3bca17dd
PK
8058 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
8059 mode, not Pmode.
70e531f5 8060
3bca17dd 8061 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 8062
a4f76ef9
AO
80632002-01-24 Alexandre Oliva <aoliva@redhat.com>
8064
8065 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
8066 modes.
8067
9bf25b09
KH
80682002-01-24 Kazu Hirata <kazu@hxi.com>
8069
8070 * config/h8300/h8300.c (print_operand): Remove support for
8071 operand character 'A'.
8072 * config/h8300/h8300.md (three anonymous patterns): Replace
8073 operand character 'A' with either 'T' or 'S'.
8074
974af6a5
KH
80752002-01-24 Kazu Hirata <kazu@hxi.com>
8076
8077 * config/h8300/h8300.c (print_operand): Remove support for
8078 operand character 'U'.
8079
7a5bb7b8
AP
80802002-01-24 Andris Pavenis <pavenis@latnet.lv>
8081
3bca17dd 8082 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 8083
92a4639e
NC
80842002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
8085
8086 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
8087 values to be assigned to the stack pointer.
8088
467cb2da
HP
80892002-01-14 Hartmut Penner <hpenner@de.ibm.com>
8090
bebc7e8b 8091 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
8092 to const_double needs to be done right for big-endian systems.
8093
3b6cb920
JM
80942002-01-24 Jason Merrill <jason@redhat.com>
8095
b08dd119 8096 PR c++/2432
3b6cb920
JM
8097 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
8098 to can_throw_internal.
8099
f3077311
RH
81002002-01-23 Richard Henderson <rth@redhat.com>
8101
8102 * fold-const.c (fold): Change UINT_MAX test to check vs precision
8103 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
8104
e1d71275
AO
81052002-01-24 Alexandre Oliva <aoliva@redhat.com>
8106
8107 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
8108 (symGOT2reg): Use them, then set as GOT value as unchanging.
8109 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
8110 as a temporary, if possible.
8111 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
8112 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
8113
dc271dbe
KH
81142002-01-23 Kazu Hirata <kazu@hxi.com>
8115
8116 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
8117 accept to accept 0x80 as operands[2].
8118
1a9017f9
AO
81192002-01-24 Alexandre Oliva <aoliva@redhat.com>
8120
8121 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
8122
6932f033
RH
81232002-01-23 Richard Henderson <rth@redhat.com>
8124
8125 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
8126
709619d9
AH
81272002-01-23 Aldy Hernandez <aldyh@redhat.com>
8128
3bca17dd
PK
8129 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
8130 (parmlist_or_identifiers_1): Verify that only a parmlist follows
8131 an attribute.
709619d9 8132
3d709fd3
RH
81332002-01-23 Richard Henderson <rth@redhat.com>
8134
8135 * expr.c (move_by_pieces_1): Extend size before negation.
8136
88a446c0
RH
8137 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
8138 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
8139 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
8140 * config/m68k/t-m68kelf: Likewise.
8141
03984308
BW
81422002-01-23 Bob Wilson <bob.wilson@acm.org>
8143
8144 * config/xtensa/elf.h: New file.
8145 * config/xtensa/lib1funcs.asm: New file.
8146 * config/xtensa/lib2funcs.S: New file.
8147 * config/xtensa/linux.h: New file.
8148 * config/xtensa/t-xtensa: New file.
8149 * config/xtensa/xtensa-config.h: New file.
8150 * config/xtensa/xtensa-protos.h: New file.
8151 * config/xtensa/xtensa.c: New file.
8152 * config/xtensa/xtensa.h: New file.
8153 * config/xtensa/xtensa.md: New file.
8154 * config.gcc (xtensa-*-elf*): New target.
8155 (xtensa-*-linux*): New target.
8156 * cse.c (canon_hash): Compare rtx pointers instead of register
8157 numbers. This is required for the Xtensa port.
8158 * integrate.c (copy_insn_list): Handle case where the static
8159 chain is in memory and the memory address has to be copied to
8160 a register.
8161 * doc/invoke.texi (Option Summary): Add Xtensa options.
8162 (Xtensa Options): New node.
8163 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
8164
c3d5c3fa
ZW
81652002-01-23 Zack Weinberg <zack@codesourcery.com>
8166
a63bea75
ZW
8167 * diagnostic.c (internal_error): Do ICE suppression only
8168 when ENABLE_CHECKING is not defined.
8169
c3d5c3fa
ZW
8170 * c-typeck.c (require_complete_type): Return error_mark_node
8171 if type is error_mark_node.
8172
1398974c
JJ
81732002-01-23 Janis Johnson <janis187@us.ibm.com>
8174
8175 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
8176 -Os and issue a warning.
8177
807633e5
ZW
81782002-01-23 Zack Weinberg <zack@codesourcery.com>
8179
8180 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
8181 current (lack of) need for host configuration by hand.
8182
8183 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
8184 references. Documentation of some target macros moved from
8185 hostconfig.texi to tm.texi.
8186
cf8002d0
WC
81872002-01-23 Will Cohen <wcohen@redhat.com>
8188
8189 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
8190 defined.
8191
d1e76310
KH
81922002-01-23 Kazu Hirata <kazu@hxi.com>
8193
8194 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
8195 operand[3].
8196
b2115575
JM
81972002-01-23 Jason Merrill <jason@redhat.com>
8198
f893c16e
JM
8199 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
8200
b2115575
JM
8201 * function.c (assign_parms): Don't put args of inline functions
8202 into registers when not optimizing.
8203
6bacc7b0
NC
82042002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
8205
8206 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
8207 (prologue_use): New pattern.
8208 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
8209 preference to gen_rtx_USE.
8210 (thumb_expand_prologue): Use gen_prologue_use in preference to
8211 gen_rtx_USE.
8212 (thumb_expand_epilogue): Use gen_prologue_use in preference to
8213 gen_rtx_USE.
8214
a415f7bc
HPN
82152002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
8216
8217 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
8218
5372b3fb
NB
82192002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
8220
8221 PR c/3504
8222 * doc/extend.texi: Correct documentation of __alignof__.
8223
bd571ffc
ZW
82242002-01-22 Zack Weinberg <zack@codesourcery.com>
8225
8226 * params.h: Rename arguments of DEFPARAM so that it will be
8227 recognized as a translation keyword.
8228
333c8841
AH
82292002-01-22 Aldy Hernandez <aldyh@redhat.com>
8230
bd571ffc
ZW
8231 * extend.texi: Document altivec functions.
8232 Fix N-bit adjectives in X86 builtin documentation.
333c8841 8233
38979c65
AO
82342002-01-22 Alexandre Oliva <aoliva@redhat.com>
8235
8236 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
8237 auto_inc_dec values.
8238
7458a9f0
RE
82392002-01-22 Richard Earnshaw <rearnsha@arm.com>
8240
8241 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
8242 after backslash.
8243 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
8244
129bd0c4
AO
82452002-01-22 Alexandre Oliva <aoliva@redhat.com>
8246
8247 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
8248
8b9b74a9
RH
82492002-01-22 Richard Henderson <rth@redhat.com>
8250
8251 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
8252 copy_insn not copy_rtx.
8253
d0c9db30
AM
82542002-01-23 Alan Modra <amodra@bigpond.net.au>
8255
8256 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
8257 "nonzero" as that might add "1" bits. Ensure "constop" is
8258 properly sign extened.
8259 (force_to_mode): Tweak for sign extended constop.
8260
1e7e480e
RH
82612002-01-22 Richard Henderson <rth@redhat.com>
8262
8263 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
8264 for_each_rtx instead of assuming we're already looking at the MEM.
8265 (split_small_symbolic_mem_operand): Likewise.
8266 * config/alpha/alpha.h (PREDICATE_CODES): Update.
8267 * config/alpha/alpha.md (small symbolic memory splitters): Update.
8268
82692002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
8270
8271 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
8272 sequence number for the literal.
8273 (divmoddi_internal_er): Likewise.
8274
b7f2fb96
CR
82752002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
8276
8277 PR java/4972
8278 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
8279 in LIBICONV variable.
8280 * configure: Regenerated.
8281
f66a0046
KW
82822002-01-22 Krister Walfridsson <cato@df.lth.se>
8283
8284 * dependence.c (build_def_use): Remove array_idx.
8285
e3b0efd1
KW
8286 * dwarfout.c (last_filename): Remove.
8287 (output_compile_unit_die): Remove last_filename.
8288
d8086cbb
RS
82892002-01-22 Roger Sayle <roger@eyesopen.com>
8290 Richard Henderson <rth@redhat.com>
8291
8292 PR opt/3640
8293 * fold-const.c (fold): Optimize unsigned comparisons against
8294 UINT_MAX (and similar unsigned constants).
8295
e8d52ba0
JJ
82962002-01-22 Janis Johnson <janis187@us.ibm.com>
8297
d8086cbb 8298 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 8299 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 8300 against the predicate.
11303d15 8301
e8d52ba0
JJ
8302 PR target/5379
8303 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
8304 for the address operand.
8305
cc7b420e
RH
83062002-01-22 Richard Henderson <rth@redhat.com>
8307
8308 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
8309
816e265a
CR
83102002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
8311
8312 PR other/5450
cc7b420e
RH
8313 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
8314 preprocessor flags.
816e265a 8315
7c884404
JT
83162002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
8317
8318 * config.gcc (x86_64-*-netbsd*): New target.
8319 * config/i386/netbsd64.h: New file.
8320
2b672c08
AH
83212002-01-22 Aldy Hernandez <aldyh@redhat.com>
8322
d8086cbb 8323 * regrename.c (kill_value): Fix typo.
2b672c08
AH
8324
83252002-01-22 Aldy Hernandez <aldyh@redhat.com>
8326
d8086cbb 8327 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 8328
d8086cbb 8329 * config/rs6000/rs6000.h: Same.
2b672c08 8330
d8086cbb
RS
8331 * function.c (instantiate_virtual_regs): Remove
8332 STARTING_FRAME_PHASE.
8333 (assign_stack_local_1): Same.
8334 Calculate frame phase.
2b672c08 8335
4b02997f
NC
83362002-01-22 Nick Clifton <nickc@redhat.com>
8337
8338 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
8339 variable declaration to outer scope in order to simplify
8340 future extensions.
8341 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
8342 arm_hard_regno_mode_ok.
8343 * config/arm/arm-protos.h: Add a prototype for
8344 arm_hard_regno_mode_ok.
8345 * config/arm/arm.c (soft_df_operand): Remove now redundant
8346 check for DImode values using IP_REGNUM.
8347 (nonimmediate_soft_df_operand): Remove now redundant check for
8348 DImode values using IP_REGNUM.
8349 (arm_hard_regno_mode_ok): New function. New check: make sure
8350 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
8351
8352 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
8353 note with a USE.
8354 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
8355
8a827ab2
JM
83562002-01-22 Jason Merrill <jason@redhat.com>
8357
8358 * c-semantics.c (genrtl_compound_stmt): Only check nesting
8359 consistency if this COMPOUND_STMT is scoped.
8360
cf403648
KH
83612002-01-22 Kazu Hirata <kazu@hxi.com>
8362
8363 * predict.c: Fix formatting.
8364 * print-tree.c: Likewise.
8365 * protoize.c: Likewise.
8366 * real.h: Likewise.
8367 * rtl.h: Likewise.
8368 * sbitmap.h: Likewise.
8369 * scan.c: Likewise.
8370 * sched-deps.c: Likewise.
8371 * sched-vis.c: Likewise.
8372 * sdbout.c: Likewise.
8373 * sibcall.c: Likewise.
8374 * ssa.c: Likewise.
8375 * ssa-ccp.c: Likewise.
8376 * ssa-dce.c: Likewise.
8377 * stmt.c: Likewise.
8378 * stor-layout.c: Likewise.
8379 * system.h: Likewise.
8380
aea9695c
RK
8381Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8382
a8765ae7
RK
8383 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
8384 if fits in bounds of base type.
8385
aea9695c
RK
8386 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
8387 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
8388 (add_bound_info, default): If can't find a context, make a
8389 SAVE_EXPR.
8390 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
8391
58bf601b
HPN
83922002-01-22 Hans-Peter Nilsson <hp@axis.com>
8393
8394 * c-typeck.c (parser_build_binary_op): If result from
8395 build_binary_op is ERROR_MARK just return error_mark_node without
8396 further processing.
8397
f982f805
JT
83982002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
8399
8400 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
8401 Split a.out-specific bits into...
8402 * config/netbsd-aout.h: ...this.
8403 * config/netbsd-elf.h: New file.
8404 * config/alpha/netbsd-elf.h: Remove.
8405 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
8406 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 8407 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
8408 (ENDFILE_SPEC): Likewise.
8409 (LINK_SPEC): Likewise.
8410 (CPP_SPEC): Likewise.
8411 (ASM_SPEC): Likewise.
8412 (LIB_SPEC): Likewise.
8413 (SWITCH_TAKES_ARG): Likewise.
8414 (TARGET_MEM_FUNCTIONS): Likewise.
8415 (CPP_PREDEFINES): Redefine.
8416 (ASM_FINAL_SPEC): Remove redefinition.
8417 (ASM_COMMENT_START): Redefine.
8418 (FUNCTION_PROFILER): Define.
8419 (TARGET_VERSION): Redefine.
8420 Comment and formatting cleanup.
8421 * config/i386/netbsd.h: Include <netbsd-aout.h>.
8422 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
8423 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
8424 big- or little-endian.
8425 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
8426 * config.gcc (*-*-netbsd*): Add definitions common to all
8427 NetBSD configs.
8428 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
8429 gnu_ld definitions. Add netbsd-elf.h to and remove
8430 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
8431 tmake_file, and don't lose previous tmake_file contents.
8432 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
8433 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
8434 gnu_ld definitions. Add netbsd-elf.h to tm_file.
8435 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
8436 (mipsel-*-netbsd*): Rename this to...
8437 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
8438 mips/little.h to tm_file for mips*el-*.
8439 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
8440 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
8441 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
8442
2e396476
JDA
84432002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
8444
8445 * pa-protos.h (reg_before_reload_operand): New function prototype.
8446 * pa.c (reg_before_reload_operand): New function implementation.
8447 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
8448 contraints to "*m".
8449
3b5708e7
FS
84502002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8451
8452 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
8453
85e79f96
JDA
84542002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
8455
8456 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
8457 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
8458 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
8459 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
8460 (ENDFILE_SPEC): Undefine.
8461 (STARTFILE_SPEC): Redefine for PA.
8462
38abadee
FS
84632002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8464
8465 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
8466
94f1d97c
DJ
84672002-01-21 Daniel Jacobowitz <drow@mvista.com>
8468
8469 * config.gcc: Add entries to supported PowerPC --with-cpu
8470 types.
8471
0333394e
JJ
84722002-01-21 Jakub Jelinek <jakub@redhat.com>
8473
8474 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
8475 true for 64-bit mode only SSE registers in 32-bit mode.
8476
e9d1b155
KH
84772002-01-21 Kazu Hirata <kazu@hxi.com>
8478
8479 * unwind-dw2.c: Fix formatting.
8480 * unwind-dw2-fde.c: Likewise.
8481 * unwind-dw2-fde.h: Likewise.
8482 * unwind-pe.h: Likewise.
8483 * varasm.c: Likewise.
8484 * varray.h: Likewise.
8485
07338cf8
HPN
84862002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
8487
8488 Remove workaround for register stack overwrite bug in mmix.
8489 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
8490 support for TARGET_REG_STACK_FILL_BUG.
8491 * config/mmix/mmix.h: Remove member has_call_without_parameters.
8492 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
8493 Delete.
8494 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
8495 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
8496 -mno-reg-stack-fill-bug-workaround.
8497 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
8498 machine member has_call_without_parameters.
8499 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
8500 -mreg-stack-fill-bug-workaround and
8501 -mno-reg-stack-fill-bug-workaround.
8502 (MMIX Options): Ditto.
8503
7192cbf1
KH
85042002-01-21 Kazu Hirata <kazu@hxi.com>
8505
8506 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
8507 as appropriate.
8508 Remove redundant code.
8509
d1552d7b
JM
85102002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
8511
8512 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
8513 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
8514 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
8515 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
8516 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
8517 out target macro definitions and non-target-specific comments
8518 mostly taken from old versions of the manual.
8519
ed168e45
KH
85202002-01-20 Kazu Hirata <kazu@hxi.com>
8521
8522 * config/h8300/h8300.h: Fix comment formatting.
8523 * config/ia64/aix.h: Likewise.
8524 * config/ia64/ia64-protos.h: Likewise.
8525 * config/ia64/ia64.c: Likewise.
8526 * config/ia64/ia64.h: Likewise.
8527 * config/ia64/ia64intrin.h: Likewise.
8528 * config/ia64/linux.h: Likewise.
8529 * config/ia64/unwind-aix.c: Likewise.
8530 * config/ia64/unwind-ia64.c: Likewise.
8531
005e3e05
KH
85322002-01-20 Kazu Hirata <kazu@hxi.com>
8533
8534 * config/h8300/h8300.c: Revise comments about shift code.
8535
64bead4c
KH
85362002-01-20 Kazu Hirata <kazu@hxi.com>
8537
8538 * config/h8300/h8300.c (function_arg): Update a comment.
8539
ed863595
KH
85402002-01-20 Kazu Hirata <kazu@hxi.com>
8541
8542 * config/h8300/h8300.md: Update the comments at the beginning
8543 of the file.
8544
5904dc87
KH
85452002-01-20 Kazu Hirata <kazu@hxi.com>
8546
8547 * config/i370/i370.c: Fix comment formatting.
8548 * config/i370/i370.h: Likewise.
8549 * config/i370/i370.md: Likewise.
8550 * config/i370/linux.h: Likewise.
8551
9702143f
RK
8552Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8553
cbafacd1
RK
8554 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
8555
9702143f
RK
8556 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
8557 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
8558 in incomplete case.
8559
6b6996b8
GS
85602002-01-20 Graham Stott <grahams@redhat.com>
8561
8562 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
8563
eab854f6
JDA
85642002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
8565
8566 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
8567
5b029315
TR
85682002-01-19 Tom Rix <trix@redhat.com>
8569
8570 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
8571
1d690052
AH
85722002-01-18 Aldy Hernandez <aldyh@redhat.com>
8573
d8086cbb 8574 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 8575
d8086cbb
RS
8576 * function.c (assign_stack_local_1): Adjust x_frame_offset with
8577 STARTING_FRAME_PHASE.
8578 (STARTING_FRAME_PHASE): New.
8579 (instantiate_virtual_regs): Check saneness of
8580 STARTING_FRAME_PHASE.
1d690052 8581
d8086cbb 8582 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 8583
4dd8c093
AO
85842002-01-19 Alexandre Oliva <aoliva@redhat.com>
8585
8586 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
8587
6f2a28d7
CR
85882002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
8589
8590 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
8591 be used for bootstrapping GCC 3.0.
8592
8763a465
KH
85932002-01-18 Kazu Hirata <kazu@hxi.com>
8594
8595 * config/h8300/h8300.md: Fix an insn length.
8596
3ef42a0c
KH
85972002-01-18 Kazu Hirata <kazu@hxi.com>
8598
8599 * bitmap.h: Fix comment formatting.
8600 * combine.c: Likewise.
8601 * cppfiles.c: Likewise.
8602 * c-pragma.h: Likewise.
8603 * c-typeck.c: Likewise.
8604 * df.c: Likewise.
8605 * dwarf2out.c: Likewise.
8606 * function.c: Likewise.
8607 * gcc.c: Likewise.
8608 * genattrtab.c: Likewise.
8609 * gthr-win32.h: Likewise.
8610 * haifa-sched.c: Likewise.
8611 * predict.c: Likewise.
8612 * rtlanal.c: Likewise.
8613 * rtl.h: Likewise.
8614 * unwind-dw2-fde.h: Likewise.
8615 * unwind-pe.h: Likewise.
8616 * vmsdbgout.c: Likewise.
8617
dd4dc3cd
RK
8618Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8619
8620 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
8621 if type_required and passed decl.
8622
5fb4cf24
AH
86232002-01-17 Aldy Hernandez <aldyh@redhat.com>
8624
d8086cbb
RS
8625 * config.gcc (cpu_type): Include altivec.h in powerpc
8626 extra_headers.
8627 Same for darwin.
5fb4cf24 8628
d8086cbb 8629 * config/rs6000/altivec.h: New.
5fb4cf24 8630
2705baf5
DE
86312002-01-17 David Edelsohn <edelsohn@gnu.org>
8632
8633 * doc/install.texi (*-ibm-aix*): Update assembler and exception
8634 handling information.
8635 * doc/trouble.texi (Interoperation): Add libstdc++ information
8636 for AIX.
8637 (Misunderstandings): Add template instantiation and static template
8638 member information for AIX.
8639
dbd680e1
JM
86402002-01-17 Jason Merrill <jason@redhat.com>
8641
821adc5e
JM
8642 * dbxout.c (dbxout_type): Support const and volatile.
8643
dbd680e1
JM
8644 * except.c (add_partial_entry): Remove backwards compatibility code.
8645 (end_protect_partials): Likewise.
8646
d0e82870
JJ
86472002-01-17 Jakub Jelinek <jakub@redhat.com>
8648
8649 * config/ia64/ia64.md (prologue_use): New.
8650 * config/ia64/ia64.c (ia64_expand_prologue): Use
8651 gen_prologue_use instead of gen_rtx_USE.
8652 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
8653 as CODE_FOR_pred_rel_mutex.
8654 (ia64_sched_reorder2): Likewise.
8655
f9f45c65
EC
86562002-01-16 Eric Christopher <echristo@redhat.com>
8657
8658 * config/mips/r3900.h: Reformat.
8659 (SUBTARGET_CPP_SIZE_SPEC): Remove.
8660 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
8661 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
8662 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
8663 * config/mips/t-elf: Remove mips3 multilib.
8664
c66c8b0e
L
86652002-01-16 H.J. Lu <hjl@gnu.org>
8666
8667 * config/mips/linux.h: Include "mips/abi64.h".
8668
5f083b72
L
86692002-01-16 H.J. Lu <hjl@gnu.org>
8670
8671 * config/mips/t-linux: New.
8672
8673 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
8674
8675 * config/mips/linux.h: Don't include "gofast.h".
8676 (INIT_SUBTARGET_OPTABS): Removed.
8677
af3c90a6
KH
86782002-01-16 Kazu Hirata <kazu@hxi.com>
8679
8680 * config/h8300/h8300-protos.h: Replace emit_a_shift with
8681 output_a_shift.
8682 * config/h8300/h8300.c: Likewise.
8683 * config/h8300/h8300.md: Likewise.
8684
a1bf0a16
KH
86852002-01-16 Kazu Hirata <kazu@hxi.com>
8686
8687 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
8688 spaces after an opcode name.
8689 (pushqi1_h8300hs): Likewise.
8690 (pushhi1_h8300hs): Likewise.
8691
88ab0d1c
KH
86922002-01-16 Kazu Hirata <kazu@hxi.com>
8693
8694 * doc/extend.texi: Replace "option" with "attribute"
8695 appropriately.
8696
51c561e3
JJ
86972002-01-16 Jakub Jelinek <jakub@redhat.com>
8698
8699 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
8700 (and:DI () (const_int -8)).
8701 (split_small_symbolic_mem_operand): Split
8702 (mem (and:DI () (const_int -8)).
8703
b8c1a6b8
JJ
87042002-01-16 Jakub Jelinek <jakub@redhat.com>
8705
8706 PR target/5309:
d8086cbb 8707 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
8708 same way as TYPE_IMUL.
8709 (ultrasparc_sched_reorder): Likewise.
8710 * config/sparc/sparc.md (type): Add comment to update
8711 ultrasparc_sched_reorder when making changes.
8712
1e4e4df2
KH
87132002-01-16 Kazu Hirata <kazu@hxi.com>
8714
8715 * doc/invoke.texi: Change the dump file name of block
8716 reordering pass from 28.bbro to 29.bbro.
8717 Mention -dk option.
8718
14d920c0
JH
8719Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
8720
8721 * i386.md (minsf splitter): Fix pasto.
8722
2e99323f
NC
87232002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
8724
8725 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
8726 to frame pointer initialisation instruction.
8727 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
8728 initialisation instruction.
ab8081c1
NC
8729 (soft_df_operand): Do not accept the IP register.
8730 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 8731
c4031a04
JJ
87322002-01-16 Jakub Jelinek <jakub@redhat.com>
8733
8734 PR target/5357:
8735 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
8736 MASK_V8 being both set.
8737
44b8152b
UW
87382002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
8739
8740 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
8741 insn for GOT register; add REG_MAYBE_DEAD notes instead.
8742 config/s390/s390.md (call, call_value): Add GOT register to
8743 CALL_INSN_FUNCTION_USAGE where needed.
8744 (call_exp, call_value_exp): New.
8745
1d6e90ac
NC
87462002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
8747
8748 * config/arm/arm.c: General formatting tidy up.
8749
87502002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
8751
8752 * calls.c (try_to_integrate): Use "(size_t)" intermediate
8753 cast and when casting an integer literal to "rtx" pointer.
8754 (expand_call): Likewise.
8755 * flow.c (try_pre_increment): Likewise.
8756 (find_use_as_address): Likewise.
8757 * integrate.c (expand_iline_function): Likewise.
8758 * regmove.c (try_auto_increment): Likewise.
8759
1d6e90ac 87602002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
8761
8762 * sched-rgn.c (passed): Use sbitmap_free.
8763 (header): Likewise.
8764 (inner): Likewise.
8765 (in_queue): Likewise.
8766 (in_stack): Likewise.
8767
31fce3c4
EC
87682002-01-15 Eric Christopher <echristo@redhat.com>
8769
8770 * flow.c (propagate_one_insn): Change to use fatal_insn.
8771
c99d986a
KH
87722002-01-15 Kazu Hirata <kazu@hxi.com>
8773
8774 * expmed.c (extract_fixed_bit_field): Remove unused code.
8775 * system.h: Poison SLOW_ZERO_EXTEND.
8776 * doc/tm.texi: Remove.
8777 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
8778 * config/arm/arm.h: Likewise.
8779 * config/avr/avr.h: Likewise.
8780 * config/clipper/clipper.h: Likewise.
8781 * config/convex/convex.h: Likewise.
8782 * config/d30v/d30v.h: Likewise.
8783 * config/dsp16xx/dsp16xx.h: Likewise.
8784 * config/elxsi/elxsi.h: Likewise.
8785 * config/fr30/fr30.h: Likewise.
8786 * config/h8300/h8300.h: Likewise.
8787 * config/i370/i370.h: Likewise.
8788 * config/i386/i386.h: Likewise.
8789 * config/m68k/m68k.h: Likewise.
8790 * config/mips/mips.h: Likewise.
8791 * config/ns32k/ns32k.h: Likewise.
8792 * config/pdp11/pdp11.h: Likewise.
8793 * config/pj/pj.h: Likewise.
8794 * config/s390/s390.h: Likewise.
8795 * config/sh/sh.h: Likewise.
8796 * config/stormy16/stormy16.h: Likewise.
8797 * config/v850/v850.h: Likewise.
8798 * config/vax/vax.h: Likewise.
8799 * config/we32k/we32k.h: Likewise.
8800
acfab996
AH
88012002-01-15 Aldy Hernandez <aldyh@redhat.com>
8802
d8086cbb
RS
8803 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
8804 (altivec_lvsl): Change constraint to b.
8805 (altivec_lvsr): Same.
8806 (altivec_lvebx): Same.
8807 (altivec_lvehx): Same.
8808 (altivec_lvewx): Same.
8809 (altivec_lvxl): Same.
8810 (altivec_lvx): Same.
8811 (altivec_stvx): Add parallel.
8812 (altivec_stvxl): Same.
8813 (altivec_stvehx): Same.
8814 (altivec_stvebx): Same.
8815 (altivec_stvebx): Same.
acfab996 8816
5e505bc9
AH
88172002-01-15 Aldy Hernandez <aldyh@redhat.com>
8818
d8086cbb 8819 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 8820
d8086cbb 8821 * config/rs6000/altivec.h: Delete.
5e505bc9 8822
d8086cbb 8823 * config/rs6000/altivec-defs.h: Add.
5e505bc9 8824
5c41fdfb
JDA
88252002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
8826
8827 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
8828 and UMOD modes.
8829
8830 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
8831 less than or equal to eight bytes.
8832
8833 * vax.md (andsi3): Remove constraints and change SET destination
8834 operand type to nonimmediate_operand.
8835 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
8836 when it is a CONST_INT.
8837
de097a2d
JM
88382002-01-15 Jason Merrill <jason@redhat.com>
8839
8840 * c-common.def (FILE_STMT): New code.
8841 * c-common.c (statement_code_p): It's a statement.
8842 * c-common.h (stmt_tree_s): Add x_last_filename.
8843 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
8844 (last_expr_filename): New macro.
8845 * c-semantics.c (begin_stmt_tree): Initialize it.
8846 (add_stmt): If the filename changed, also insert a
8847 FILE_STMT.
8848 (expand_stmt): Handle seeing one.
8849
4a913dd6
EC
88502002-01-15 Eric Christopher <echristo@redhat.com>
8851
8852 * flow.c (propagate_one_insn): Add error message and print out
8853 insn for debugging.
8854
006946e4
JM
88552002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
8856
8857 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
8858 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
8859 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
8860 TRAMPOLINE_ALIGNMENT.
8861 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
8862 to be in bits.
8863 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
8864 PCC_BITFIELD_TYPE_MATTERS.
8865 * config/interix.h (STDC_VALUE): Remove. Use
8866 STDC_0_IN_SYSTEM_HEADERS.
8867 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
8868 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
8869 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
8870
751a1458
CR
88712002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
8872
8873 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
8874 not work on this platform currently.
8875
57771fe8
JM
88762002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
8877
8878 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
8879 readonly_warning in _().
8880
0e83ceb1 88812002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 8882
0e83ceb1 8883 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 8884
8e2e89f7
KH
88852002-01-15 Kazu Hirata <kazu@hxi.com>
8886
0e83ceb1
DR
8887 * config/h8300/h8300.c (print_operand): Remove support for
8888 unused operand characters.
8889
8e2e89f7
KH
8890 * read-rtl.c: Fix formatting.
8891 * real.c: Likewise.
8892 * recog.c: Likewise.
8893 * regclass.c: Likewise.
8894 * regmove.c: Likewise.
8895 * reg-stack.c: Likewise.
8896 * reload1.c: Likewise.
8897 * rtlanal.c: Likewise.
8898
b531087a
KH
88992002-01-15 Kazu Hirata <kazu@hxi.com>
8900
8901 * config/i386/i386.c: Fix formatting.
8902
7c94ce7f
JJ
89032002-01-15 Jakub Jelinek <jakub@redhat.com>
8904
8905 * c-typeck.c (process_init_element): Don't save_expr
8906 COMPOUND_LITERAL_EXPR if just its initializer will be used.
8907
6041bf2f
DE
89082002-01-15 David Edelsohn <edelsohn@gnu.org>
8909
8910 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
8911 emit optional traceback table if optimize_size or TARGET_ELF.
8912 * config/rs6000/rs6000.md (prefetch): New.
8913
8559c8c0
AJ
89142002-01-15 Andreas Jaeger <aj@suse.de>
8915
8916 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
8917
70f122f2
KH
89182002-01-15 Kazu Hirata <kazu@hxi.com>
8919
8920 * mips-tfile.c: Fix formatting.
8921
6a7b4ca6
JH
8922Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
8923
8924 * unroll.c (final_reg_note_copy): Fix previous commit.
8925
e7afe229
KH
89262002-01-14 Kazu Hirata <kazu@hxi.com>
8927
8928 * config/h8300/h8300-protos.h: Remove the prototype for
8929 eq_operator.
8930 * config/h8300/h8300.c (eq_operator): Remove.
8931
7d378549
RH
89322002-01-14 Richard Henderson <rth@redhat.com>
8933
8934 * config/i386/i386.md (prefetch): Tidy.
8935 (prefetch_3dnow): Fix locality operand.
8936
ab093b81
RH
89372002-01-14 Richard Henderson <rth@redhat.com>
8938
8939 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
8940 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
8941
d300f51f
HPN
89422002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
8943
8944 * reload1.c (reload_combine): Pass reg_sum replacement through
8945 copy_rtx in loop performing multiple changes.
8946
655dd289
JJ
89472002-01-14 Jakub Jelinek <jakub@redhat.com>
8948
8949 * except.c (remove_unreachable_regions): New.
8950 (free_eh_status): Clear exception_handler_labels.
8951 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
8952 (find_exception_handler_labels): Don't add the same label more than
8953 once.
8954 (remove_exception_handler_label): Don't die if
8955 find_exception_handler_labels hasn't been called for the current
8956 function yet.
8957
1fba46a7
JH
8958Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
8959
8960 * toplev.c (rest_of_compilation): Rebuild jump labels after
8961 gcse.
8962
0975678f
JM
89632002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
8964
8965 * doc/extend.texi: Move documentation of X86 built-in functions
8966 here.
8967 * doc/invoke.texi: From here.
8968 * doc/sourcebuild.texi: Document location of documentation for
8969 machine built-in functions.
8970
969815c7
CF
89712002-01-13 Christopher Faylor <cgf@redhat.com>
8972
8973 * cppfiles.c (TEST_THRESHOLD): New macro.
8974 (SHOULD_MMAP): Ditto.
8975 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
8976 be used.
8977
494c950b
JH
8978Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
8979
8980 * unroll.c (final_reg_note_copy): Properly handle
8981 REG_LABEL
8982 (unroll_loops): Fix LOOP_CONDITION heuristics.
8983
69a0611f
GK
89842002-01-14 Geoffrey Keating <geoffk@redhat.com>
8985
8986 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
8987 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
8988
b90e45ae
JH
8989Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
8990
8991 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
8992 threaded loop.
8993
8377288b
TR
89942002-01-14 Tom Rix <trix@redhat.com>
8995
8996 * config/rs6000/rs6000.md: Fix typo with sradi.
8997
9f37ccb1
UW
89982002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
8999
9000 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
9001 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
9002 (clrstrdi, clrstrsi): Adapt callers.
9003
9004 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
9005
8559c8c0 9006 (movti splitter): Never use register 0 as base register.
9f37ccb1 9007
6c2d03d0
HP
90082002-01-14 Hartmut Penner <hpenner@de.ibm.com>
9009
8559c8c0
AJ
9010 * combine.c (simplify_shift_const): Always generate new rtx
9011 for shift expression instead of reusing given expression.
6c2d03d0 9012
d3e98208
RK
9013Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9014
9015 * config/alpha/alpha.c (alpha_expand_mov): Don't call
9016 alpha_legitimize_address unless mode is Pmode.
9017
9f339dde
GK
90182002-01-13 Geoffrey Keating <geoffk@redhat.com>
9019
9020 * doc/md.texi (Modifiers): Document the '*' constraint for the
9021 user.
9022
9023 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
9024 * doc/extend.texi (Function Attributes): 'interrupt' is valid
9025 for xstormy16 too.
9026
02a10130
RH
90272002-01-13 Richard Henderson <rth@redhat.com>
9028
9029 * reload.c (find_reloads): Use a hard reg destination as reload reg
9030 for an input reload of the source.
9031
61d47787
GP
90322002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9033
9034 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
9035 more generic.
9036
f0df8029
DR
9037Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
9038
9039 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
9040 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
9041
d2a37256
DR
9042 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
9043
a9e8a5ee
RK
9044Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9045
9046 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
9047
bc06712d
TR
90482002-01-12 Tom Rix <trix@redhat.com>
9049
8559c8c0 9050 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
9051 TARGET_POWERPC64.
9052
7cbe9bb7
RH
90532002-01-12 Richard Henderson <rth@redhat.com>
9054
38b29e64
RH
9055 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
9056
58605ba0
RH
9057 * doc/invoke.texi: Update Alpha options.
9058
7cbe9bb7
RH
9059 * doc/invoke.texi: Update i386 built-in function lists.
9060
9d560860
JH
9061Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
9062
9063 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
9064 referencing outside.
9065
bb93b973
RK
9066Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9067
9068 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
9069 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
9070 offsets, and change line folding.
9071 * optabs.c (expand_binop): Remove warnings.
9072 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 9073
f9f6b7df
GS
90742002-01-12 Graham Stott <grahams@redhat.com>
9075
9076 * attribs.c (handle_deprecated_attribute): constify WHAT.
9077 * diagnostic.c (warn_deprecated_use): Add braces, fixes
9078 dangling else warning and constify WHAT.
9079 * except.h (struct function, struct inline_remap): Move
9080 struct tag forward defs before all prototypes.
9081 (duplicate_eh_regions): Whitespace.
9082
4a692617
NC
90832002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
9084
9085 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
9086 MODE_BASE_REG_CLASS.
9087 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
9088
e37af218
RH
90892002-01-12 Richard Henderson <rth@redhat.com>
9090
9091 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
9092 (ix86_expand_vector_move): New.
9093 (bdesc_2arg): Remove andps, andnps, orps, xorps.
9094 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
9095 Remove old prefetch builtins. Special case the logicals removed above.
9096 (ix86_expand_builtin): Likewise.
9097 (safe_vector_operand): Use V4SFmode, not TImode.
9098 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
9099 (ix86_expand_timode_binop_builtin): New.
9100 * config/i386/i386-protos.h: Update.
9101 * config/i386/i386.h (enum ix86_builtins): Update.
9102 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
9103 Use ix86_expand_vector_move in vector move expanders.
9104 (movti_internal, movti_rex64): Add xorps alternative.
9105 (sse_clrv4sf): Rename and adjust from sse_clrti.
9106 (prefetch): Don't work so hard.
9107 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
9108 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
9109 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
9110
6f1a6c5b
RH
91112002-01-11 Richard Henderson <rth@redhat.com>
9112
9113 * config/i386/mmintrin.h: New file.
9114 * config/i386/xmmintrin.h: New file.
9115 * config.gcc (i?86-*-*): Add extra_headers.
9116 * simplify-rtx.c (simplify_unary_operation): Handle saturating
9117 truncation codes.
9118 (simplify_binary_operation): Handle saturating arithmetic codes.
9119 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
9120 not the lowpart subreg.
9121 (ix86_expand_builtin): Return a TImode dummy register instead of 0
9122 on error.
9123 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
9124
cdb574d3
MH
91252002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9126
9127 * conflict.c (conflict_graph_compute): Free regsets when finished.
9128 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 9129
cf11ac55
HB
91302002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9131
9132 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
9133 every where we allocate a register.
9134
76ac938b
MH
91352002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9136
9137 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
9138 * lcm.c (compute_earliest, compute_farthest): Likewise.
9139
a84b4898
JJ
91402002-01-11 Janis Johnson <janis187@us.ibm.com>
9141
9142 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
9143
aaef1c12
JJ
91442002-01-11 Janis Johnson <janis187@us.ibm.com>
9145
9146 * doc/rtl.texi (Insns): Fix 2 typos.
9147
5d22c1a5
JM
91482002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
9149
9150 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
9151 options. Use @table @gcctabopt for MMIX options. Add index
9152 entries for MMIX options. Start new paragraph with first
9153 heading of the machine-dependent options.
9154
3e92902c
CR
91552002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
9156
9157 PR other/5299
9158 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
9159 * combine.c (force_to_mode): Same.
9160 * reload1.c (clear_reload_reg_in_use): Same.
9161
96ae8197
NC
91622002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
9163
9164 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
9165 and 'subtargets'.
9166
9b780582
AJ
91672002-01-11 Andreas Jaeger <aj@suse.de>,
9168 Brad Lucier <lucier@math.purdue.edu>
9169
9170 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
9171 mcpu.
9172
12300dad
DR
9173Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
9174
9175 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
9176 Protect with IN_LIBGCC.
9177 (LINK_EH_SPEC): Add required trailing space.
9178
27511a9a
NP
9179Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
9180
9b780582 9181 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
9182 under the filename which contains them.
9183 (check_identifier, finish_decl_top_level,
9184 lookup_name_current_level_global, shadow_record_fields): Remove.
9185
4daeab16
AJ
91862002-01-11 Andreas Jaeger <aj@suse.de>
9187
9188 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
9189 march.
9190
40571d67
RH
91912002-01-10 Richard Henderson <rth@redhat.com>
9192
9193 * config/alpha/alpha.c (print_operand): Add 'J'.
9194 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
9195 new operand with the sequence number for the lituse. When splitting
9196 the insns, use gen_movdi_er_high_g and generate a sequence number.
9197 (gen_movdi_er_high_g): Print the sequence number if non-zero.
9198
6525c0e7
AH
91992002-01-10 Aldy Hernandez <aldyh@redhat.com>
9200
d8086cbb
RS
9201 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
9202 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
9203 stvxl.
9204 (altivec_expand_builtin): Same.
9205 (altivec_expand_stv_builtin): New.
9206
9207 * config/rs6000/rs6000.h (rs6000_builtins): Same.
9208
9209 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
9210 ("altivec_lvehx"): New.
9211 ("altivec_lvewx"): New.
9212 ("altivec_lvxl"): New.
9213 ("altivec_lvx"): New.
9214 ("altivec_stvx"): New.
9215 ("altivec_stvebx"): New.
9216 ("altivec_stvehx"): New.
9217 ("altivec_stvewx"): New.
9218 ("altivec_stvxl"): New.
6525c0e7 9219
cda94cbb
RH
92202002-01-10 Richard Henderson <rth@redhat.com>
9221
9222 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
9223 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
9224 care not to delete instructions twice.
9225
df2c9a44
ZW
92262002-01-10 Zack Weinberg <zack@codesourcery.com>
9227
9228 * toplev.c: Don't declare environ (it's not used anywhere).
9229 * configure.in: Don't check for declaration of environ.
9230 * config/i386/xm-mingw32.h: Don't #define environ.
9231 * config.in, configure: Regenerate.
9232
5dd8a9b1
ZW
92332002-01-10 Zack Weinberg <zack@codesourcery.com>
9234
9235 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
9236 * configure: Regenerate.
9237
9238 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
9239 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
9240 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
9241 alpha/xm-vms.h.
9242 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
9243 LIMITS_H_TEST here, not in m68k/x-next.
9244 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
9245 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
9246
9247 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
9248 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
9249 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
9250
9251 * config/i386/x-djgpp: Renamed i386/t-djgpp.
9252 * config/m88k/x-dolph: Renamed m88k/t-dolph.
9253 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
9254 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
9255 replacement of quadlib.asm with quadlib.c.
9256
9257 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
9258 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
9259 config/rs6000/xm-beos.h: Delete file.
9260
9261 * config.gcc: Update to match above changes.
9262
d10dd44c
KH
92632002-01-10 Kazu Hirata <kazu@hxi.com>
9264
9265 * config/h8300/h8300.h: Fix comment typos.
9266 * config/h8300/h8300.md: Likewise.
9267 * config/h8300/lib1funcs.asm: Likewise.
9268
04894c5a
DJ
92692002-01-10 Dale Johannesen <dalej@apple.com>
9270
9271 PR optimization/5269
9272 * unroll.c (precondition_loop_p): Make *increment be the correct
9273 sign when n_iterations known, to avoid confusing caller.
9274
adc9fe67
KH
92752002-01-10 Kazu Hirata <kazu@hxi.com>
9276
9277 * doc/extend.texi (deprecated): Fix a typo.
9278
b446e5a2
JH
9279Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
9280
9281 * basic-block.h (update_br_prob_note): Declare.
9282 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
9283 (try_forward_edges): Care negative frequencies and update note.
9284 (outgoing_edges_match): Tweek conditional merging heuristics.
9285 (try_crossjump_to_edge): use update_br_prob_note.
9286 * cfglayout.c (fixup_reorder_chain): Likewise.
9287 * cfrtl.c (update_br_prob_note): New.
9288 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
9289
9290 * i386.c (ix86_decompose_address): Return -1 if address contains
9291 shift.
9292 (legitimate_address_p): Require ix86_decompose_address to return 1.
9293
9294 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
9295 (cprop_insn): Likewise.
9296
a01da83b
KH
92972002-01-10 Kazu Hirata <kazu@hxi.com>
9298
9299 * toplev.c: Fix formatting.
9300 * tree.c: Likewise.
9301 * tree-dump.c: Likewise.
9302 * unroll.c: Likewise.
9303 * unwind-dw2.c: Likewise.
9304 * unwind-dw2-fde.c: Likewise.
9305 * unwind-dw2-fde-glibc.c: Likewise.
9306 * unwind-sjlj.c: Likewise.
9307
9f85bca7
JM
93082002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
9309
9310 * doc/invoke.texi: Document PDP-11 options.
9311
f48f56b1
KH
93122002-01-10 Kazu Hirata <kazu@hxi.com>
9313
9314 * config/h8300/h8300.h: Fix formatting.
9315
ead39bdf 93162002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
9317
9318 Add __attribute__ ((deprecated)).
9319 * extend.texi: Document __attribute__ ((deprecated)).
9320 * invoke.texi: Document -Wno-deprecated-declarations.
9321 * testsuite/g++.dg/other/deprecated.C: New C++ test.
9322 * testsuite/gcc.dg/deprecated.c: New C test.
9323 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
9324 (c_common_attribute_table): Add "deprecated" entry.
9325 (handle_deprecated_attribute): New function.
9326 * c-decl.c (deprecated_states): New enum.
9327 deprecated_state: State of "deprecated" handling.
9328 (start_decl): Set deprecated_state based on attributes.
9329 (grokdeclarator): Test for deprecated uses, propagate attribute.
9330 * c-typeck.c (build_component_ref): Test for deprecated fields.
9331 (build_external_ref): Test for deprecated primaries.
9332 * diagnostic.c (warn_deprecated_use) New function to issue
9333 warnings about __attribute__ ((depricated)) references.
9334 * flags.h (warn_deprecated_decl): Extern declared for
9335 -W[no-]deprecated-declarations option.
9336 * print-tree.c (print_node): Show deprecated flag status.
9337 * toplev.c (warn_deprecated_decl): Defined.
9338 (W_options): Added "deprecated-declaration".
9339 * toplev.h (warn_deprecated_use): Extern declared.
9340 * tree.h (struct tree_common): Define deprecated_flag.
9341 (TREE_DEPRECATED): New macro to access flag.
9342 * cp/call.c (build_call): Test for deprecated calls.
9343 * cp/class.c (add_implicitly_declared_members): Set global
9344 flag to tell grokdeclarator to not issue deprecated warnings.
9345 * cp/cp-tree.h: Add extern for adding_implicit_members.
9346 * cp/decl.c (deprecated_states): New enum.
9347 (start_decl): Set deprecated_state based on attributes.
9348 (grokdeclarator): Test for deprecated uses, propagate attribute.
9349 * cp/lex.c (do_identifier): Test for deprecated primaries.
9350 * cp/typeck.c (build_component_ref): Test for deprecated fields.
9351
ead39bdf 93522002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
9353
9354 Fix to assign attributes to inline member functions.
9355 * cp/decl.c (start_method): Handle attrlist.
9356
47073a38
KH
93572002-01-10 Kazu Hirata <kazu@hxi.com>
9358
9359 * combine.c (expand_field_assignment): Use subreg_lsb().
9360
d288e53d
DE
93612002-01-10 David Edelsohn <edelsohn@gnu.org>
9362
9363 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
9364 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
9365 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
9366 Recurse for any operand of AND as long as constant is non-zero.
9367
08a02ffa
KH
93682002-01-10 Kazu Hirata <kazu@hxi.com>
9369
9370 * config/h8300/h8300.md: Remove constraints from expanders.
9371
c203e7fe
KH
93722002-01-10 Kazu Hirata <kazu@hxi.com>
9373
9374 * varasm.c: Fix formatting.
9375 * varray.c: Likewise.
9376 * vmsdbgout.c: Likewise.
9377 * xcoffout.c: Likewise.
9378
bcb3bc6d
JH
9379Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
9380
9381 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 9382 update edge probabilities to match.
bcb3bc6d 9383
0a553c7e
JM
93842002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
9385
9386 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
9387 dependencies.
9388 * doc/languages.texi, doc/sourcebuild.texi: New files.
9389 * doc/configfiles.texi: Make a subsubsection. Update.
9390 * doc/configterms.texi: Add @node. Remove warning that this isn't
9391 instructions for building GCC.
9392 * doc/makefile.texi: Make a subsection.
9393 * doc/gccint.texi: Update.
9394
adc7fcb8
JH
9395Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
9396
9397 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
9398
5a4dd0b3
NP
9399Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
9400
9401 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
9402
3987b9db
JH
9403Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
9404
9405 * optabs.c (expand_fix): Look for wider integer modes first.
9406
9407 * i386.md (mov?f): Avoid the fake const double trick for medium
9408 memory model.
9409 (min?f*/max?f*): Prohibit memory operands for i387 variant.
9410 (fop_df_4): Disable for SSE compilation.
9411
ceb15948 94122002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
9413
9414 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 9415 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 9416
e1623399
RH
94172002-01-10 Richard Henderson <rth@redhat.com>
9418
9419 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
9420
c4abb293
RH
94212002-01-10 Richard Henderson <rth@redhat.com>
9422
9423 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
9424 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
9425
d2604ae9
KH
94262002-01-10 Kazu Hirata <kazu@hxi.com>
9427
9428 * combine.c (can_combine_p): Fix a comment typo.
9429
766c7ad1
ZW
94302002-01-09 Zack Weinberg <zack@codesourcery.com>
9431
9432 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
9433 empty list correctly. Change loop index $t to $f for
9434 consistency with rest of Makefile.
9435
95385cbb
AH
94362002-01-08 Aldy Hernandez <aldyh@redhat.com>
9437
9438 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
9439 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
9440
9441 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
9442 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
9443 (altivec_init_builtins): Same.
9444 (altivec_expand_unop_builtin): Return NULL_RTX on error.
9445 (altivec_expand_binop_builtin): Same.
9446 (altivec_expand_ternop_builtin): Same.
9447 (bdesc_dst): New.
9448
9449 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
9450 ("altivec_vctuxs"): Fix typo.
9451 ("altivec_vnmsubfp"): Same.
9452 ("altivec_dssall"): New.
9453 ("altivec_mfvscr"): New.
9454 ("altivec_dss"): New.
9455 ("altivec_lvsl"): New.
9456 ("altivec_lvsr"): New.
9457 ("altivec_dstt"): New.
9458 ("altivec_dstst"): New.
9459 ("altivec_dststt"): New.
9460 ("altivec_dst"): New.
9461
9462 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
9463 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
9464
e4ac76b4
RH
94652002-01-09 Richard Henderson <rth@redhat.com>
9466
9467 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
9468
c893e4a4
HPN
94692002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
9470
9471 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
9472 function.
9473 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
9474 prototype.
7387c700 9475 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 9476
f4f4d0f8
KH
94772002-01-09 Kazu Hirata <kazu@hxi.com>
9478
9479 * read-rtl.c: Fix formatting.
9480 * real.c: Likewise.
9481 * regclass.c: Likewise.
9482 * regrename.c: Likewise.
9483 * reg-stack.c: Likewise.
9484 * reload1.c: Likewise.
9485 * reload.c: Likewise.
9486 * rtl.c: Likewise.
9487
cc863bea
KH
94882002-01-09 Kazu Hirata <kazu@hxi.com>
9489
9490 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
9491 to extract items in the expr_list chain.
9492
7b4dfe3d
RH
94932002-01-09 Richard Henderson <rth@redhat.com>
9494
9495 * config/vax/vax.c (vax_rtx_cost): Never abort.
9496
1d969638
RH
9497 * config/vax/vax.h (REAL_ARITHMETIC): Define.
9498
7d5ab30e
JH
94992002-01-09 Jan Hubicka <jh@suse.cz>
9500
9501 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
9502
9503f3d1
RH
95032002-01-09 Richard Henderson <rth@redhat.com>
9504
9505 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
9506 Unify code from various alternatives.
9507
42bd17b7
RH
95082002-01-09 Richard Henderson <rth@redhat.com>
9509
9510 * regrename.c (copy_value): Ignore the copy if the source register
9511 is present in the value chain with a narrower mode.
9512
bdca3c33
HB
95132002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9514
cda94cbb
RH
9515 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
9516 for the c4x target. Also improve layout.
bdca3c33 9517
c73a5e94
RH
95182002-01-09 Richard Henderson <rth@redhat.com>
9519
9520 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
9521 * config/m32r/m32r.md (and ior xor splitters): Swap operands
9522 to match insn patterns.
9523
dd0a18c0
RH
95242002-01-09 Richard Henderson <rth@redhat.com>
9525
9526 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
9527 (copyprop_hardreg_forward_1): Likewise.
9528
1fd9ac1e
JDA
95292002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
9530
9531 * pa.md (decrement_and_branch_until_zero): Change predicate for
9532 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
9533
5cb265ec
BM
95342002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
9535
9536 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
9537 gets undefined. For Darwin.
9538
fcd8fa8b
HB
95392002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9540
9541 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
9542
bd3ab23a
MH
95432002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9544
9545 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
9546
21e16bd6
RH
95472002-01-08 Richard Henderson <rth@redhat.com>
9548
9549 * regrename.c (copy_value): Ignore overlapping copies.
9550
a5376276
RH
95512002-01-08 Richard Henderson <rth@redhat.com>
9552
9553 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
9554 as needed to avoid shared structure.
9555
18cf8dda
KH
95562002-01-08 Kazu Hirata <kazu@hxi.com>
9557
9558 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
9559 H8/300H and H8/S.
9560
16c484c7
JM
95612002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
9562
9563 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
9564 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
9565 documentation of obsolete macros.
9566 * system.h: Poison these macros.
9567 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
9568 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
9569 config/c4x/c4x.h, config/clipper/clipper.h,
9570 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
9571 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
9572 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
9573 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
9574 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
9575 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
9576 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
9577 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
9578 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
9579 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
9580 config/sparc/sparc.h, config/stormy16/stormy16.h,
9581 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
9582 definitions and commented out definitions of obsolete macros.
9583 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
9584 of MAX_INT_TYPE_SIZE.
9585
14b3e8ef
UW
95862002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
9587
9588 * config/s390/s390.c (s390_preferred_reload_class): Never
9589 return ADDR_REGS if it isn't a subset of the given class.
9590 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
9591 FP_REGS, but all superclasses as well.
9592
9593 * config/s390/s390.c (s390_function_profiler): Fix thinko.
9594
9595 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
9596 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
9597 must not be a const_int.
9598
a693284d
RH
95992002-01-08 Richard Henderson <rth@redhat.com>
9600
9601 * Makefile.in (toplev.o): Depend on options.h.
9602 (gcc.o): Depend on specs.h.
9603
b3ca30df
JJ
96042002-01-08 Jakub Jelinek <jakub@redhat.com>
9605
9606 * expr.c (store_expr): Convert VOIDmode constants back to target's
9607 mode.
9608
24dbb440
GP
96092002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9610
9611 * doc/invoke.texi: Markup gcc as @command. Refer to
9612 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
9613 of http://gcc.gnu.org/thanks.html.
9614
234e114c
DJ
96152002-01-08 Dale Johannesen <dalej@apple.com>
9616
9617 * config/rs6000/rs6000.md: Add missing int register
9618 target case to movdf_low.
9619
0d24f4d1
ZW
96202002-01-08 Zack Weinberg <zack@codesourcery.com>
9621
9622 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
9623 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
9624 (cppinit.o): Depend on except.h.
9625 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
9626 s-specs): New rules.
9627
9628 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
9629 Don't create specs.h/options.h/gencheck.h here. Remove
9630 unnecessary variable settings from last argument of AC_OUTPUT.
9631 * config.in, configure: Regenerate.
9632 * intl.c: Hardcode package name as "gcc".
9633
9634 * cppinit.c: Include except.h.
9635 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
9636 appropriate.
9637 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
9638 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
9639 (!)USING_SJLJ_EXCEPTIONS.
9640 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
9641
ed722f66
JM
96422002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
9643
9644 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
9645 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
9646 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
9647 documentation of obsolete macros.
9648 * system.h: Poison these macros.
9649 * config/d30v/d30v.h, config/ns32k/encore.h,
9650 config/stormy16/stormy16.h: Remove definitions and commented out
9651 definitions of obsolete macros.
9652
31e5e29a
NP
9653Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
9654
9655 * objc/objc-act.c (handle_class_ref): Mark the declaration of
9656 %sobjc_class_ref_%s as used - to prevent unwanted compiler
9657 warnings.
9658
bc1fa59c
UW
96592002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
9660
9661 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
9662 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
9663 to insn adjusting stack/frame pointer.
0d24f4d1 9664 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
9665 accept operands that cause the insn to be non-splittable.
9666
a8086abf
GS
96672002-01-08 Graham Stott <grahams@redhat.com>
9668
9669 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
9670 (C_TYPE_FIELDS_VOLATILE): Likewise.
9671 (C_TYPE_BEING_DEFINED): Likewise.
9672 (C_IS_RESERVED_WORD): Likewise.
9673 (C_TYPE_VARIABLE_SIZE): Likewise.
9674 (C_DECL_VARIABLE_SIZE): Likewise.
9675 (C_MISSING_PROTOTYPE_WARNED): Likewise.
9676 (C_SET_EXP_ORIGINAL_CODE): Likewise.
9677 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
9678 parenthesis.
9679 (C_DECL_ANTICIPATED): Likewise.
9680 (c_build_type_variant): Add parenthesis.
9681
3f595aa1
JM
96822002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
9683
9684 * gcc.c (option_map): Remove --version.
9685 (process_command): Handle -fversion following the GNU Coding
9686 Standards. Partially addresses PR other/704.
9687
5bc5a8f9
GS
96882002-01-08 Graham Stott <grahams@redhat.com>
9689
9690 * combine.c (combine_instructions): Fix typo.
9691
16ec4ebf
GS
96922002-01-08 Graham Stott <grahams@redhat.com>
9693
9694 * debug.h: Use "tree" and "rtx" throughout.
9695
9696 * debug.c: Likewise.
9697
4b69f385
NC
96982002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
9699
9700 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
9701 constant pool, use the pool's version of the symbol instead.
9702
57d1019b
RH
97032002-01-07 Richard Henderson <rth@redhat.com>
9704
9705 * regrename.c (find_oldest_value_reg): Ignore the value chain if
9706 the original register was copied in a mode with a fewer number of
9707 hard registers than the desired mode.
9708 (copyprop_hardreg_forward_1): Likewise.
9709 (debug_value_data): Fix loop test.
9710 * toplev.c (parse_options_and_default_flags): Reenable
9711 -fcprop-registers at -O1.
9712
97132002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 9714
0d24f4d1
ZW
9715 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
9716 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 9717
0d24f4d1
ZW
9718 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
9719 predicates.
fa066a23 9720
0d24f4d1 9721 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 9722
8f949e7e
JDA
97232002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
9724
9725 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
9726 (pa_output_function_prologue): Output local label at the beginning of
9727 the prologue when profiling.
9728 (hppa_profile_hook): Use the local label rather than the function label.
9729 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
9730
c62f2db5
AH
97312002-01-07 Aldy Hernandez <aldyh@redhat.com>
9732
0d24f4d1
ZW
9733 * config/rs6000/rs6000.c (print_operand): Remove extra space.
9734 (altivec_expand_unop_builtin): Fix thinko.
9735 (altivec_expand_binop_builtin): Same.
9736 (altivec_expand_ternop_builtin): Same.
9737 (altivec_expand_builtin): Same.
c62f2db5 9738
b5235ba7
RH
97392002-01-07 Richard Henderson <rth@redhat.com>
9740
9741 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
9742
7d8ac293
JM
97432002-01-07 Jason Merrill <jason@redhat.com>
9744
9745 * unwind-dw2.c (execute_cfa_program): Use < again.
9746
571a03b8
JJ
97472002-01-07 Jakub Jelinek <jakub@redhat.com>
9748
9749 * predict.c (combine_predictions_for_insn): Avoid division by zero.
9750
2e951384
JJ
97512002-01-07 Jakub Jelinek <jakub@redhat.com>
9752
9753 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
9754 Don't allow -1 - x -> ~x simplifications in the first pass.
9755
20e26713
AH
97562002-01-07 Aldy Hernandez <aldyh@redhat.com>
9757
0d24f4d1
ZW
9758 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
9759 arguments.
9760 (altivec_expand_binop_builtin): Same.
9761 (altivec_expand_unop_builtin): Same.
9762 (print_operand): Fix typo.
9763 (bdesc_1arg): Add vupk* variants.
20e26713 9764
0d24f4d1 9765 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 9766
0d24f4d1 9767 * rs6000.md: Add altivec_vupk* variants.
20e26713 9768
4dd57c18
JM
97692002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
9770
9771 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
9772 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
9773 and last update dates.
9774
0341c5d2
JJ
97752002-01-07 Janis Johnson <janis187@us.ibm.com>
9776
9777 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
9778
c7f3e0b0
MM
97792002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
9780
9781 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
9782 * config/avr/avr.h (CPP_SPEC): Likewise.
9783 (LINK_SPEC): Likewise.
9784 (CRT_BINUTILS_SPECS): Likewise.
9785 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
9786 * doc/invoke.texi (AVR Options): Document them.
9787
6ba4d630
JH
9788Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
9789
9790 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
9791 LABEL_NUSES.
9792
6253d571
GS
97932002-01-07 Graham Stott <grahams@redhat.com>
9794
0d24f4d1
ZW
9795 * config/i386/i386.h: Update copyright date.
9796 (HALF_PIC_PTR): Add parenthesis.
9797 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
9798 (CONSTANT_ALIGNMENT): Add parenthesis.
9799 (DATA_ALIGNMENT): Likewise.
9800 (LOCAL_ALIGNMENT): Likewise.
9801 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
9802 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
9803 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
9804 (HARD_REGNO_NREGS): Add paranethesis.
9805 (VALID_SSE_REG_MODE): Whitespace.
9806 (VALID_MMX_REG_MODE): Whitespace.
9807 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
9808 (ix86_hard_regno_mode_ok): Add parenthesis.
9809 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
9810 (RETURN_IN_MEMORY): Whitespace.
9811 (N_REG_CLASSES): Add parenthesis.
9812 (INTEGER_CLASS_P): Add parenthesis and wrap.
9813 (FLOAT_CLASS_P): Likewise.
9814 (SSE_CLASS_P): Likewise.
9815 (MMX_CLASS_P): Likewise.
9816 (MAYBE_INTEGER_CLASS_P): Likewise.
9817 (MAYBE_FLOAT_CLASS_P): Likewise.
9818 (MAYBE_SSE_CLASS_P): Likewise.
9819 (MAYBE_MMX_CLASS_P): Likewise.
9820 (Q_CLASS_P): Likewise.
9821 (GENERAL_REGNO_P): Uppercase macro parameter.
9822 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
9823 (FP_REGNO_P): Likewise.
9824 (ANY_FP_REGNO_P): Uppercase macro parameter.
9825 (SSE_REGNO_P): Likewise.
9826 (SSE_REGNO): Likewise.
9827 (SSE_REG_P): Likewise.
9828 (SSE_FLOAT_MODE_P): Likewise.
9829 (MMX_REGNO_P): Likewise.
9830 (MMX_REG_P):Likewise.
9831 (STACK_REG_P): Likewise.
9832 (NON_STACK_REG_P): Likewise.
9833 (STACK_TOP_P): Likewise.
9834 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
9835 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
9836 (SECONDARY_MEMORY_NEEDED): Likewise.
9837 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
9838 (MD_ASM_CLOBBERS): Whitespace and wrap.
9839 (MUST_PASS_IN_STACK): Whitespace and wrap.
9840 (RETURN_POPS_ARGS): Add parenthesis.
9841 (INIT_CUMULATIVE_ARGS): Likewise.
9842 (FUNCTION_ARG): Likewise.
9843 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
9844 (SETUP_INCOMING_VARARGS): Likewise.
9845 (BUILD_VA_LIST_TYPE): Add parenthesis.
9846 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
9847 parenthsis.
9848 (EXPAND_BUILTIN_VA_ARG): Likewise.
9849 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
9850 (INITIALIZE_TRAMPOLINE): Add parenthesis.
9851 (INITIAL_ELIMINATION_OFFSET): Likewise.
9852 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
9853 (REGNO_OK_FOR_BASE_P): Likewise.
9854 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
9855 (REGNO_OK_FOR_DIREG_P): Likewise.
9856 (REG_OK_FOR_INDEX_P): Whitespace.
9857 (REG_OK_FOR_BASE_P): Whitespace.
9858 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
9859 parenthesis.
9860 (FIND_BASE_TERM): Fix typo.
9861 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
9862 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
9863 (SYMBOLIC_CONST; Whitespace.
9864 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
9865 (ENCODE_SECTION_INFO): Whitespace.
9866 (FINALIZE_PIC): Remove do { ... } while (0).
9867 (PROMOTE_MODE): Wrap in do { ... } while (0).
9868 (CONST_COSTS): Whitespace.
9869 (RTX_COSTS): Add paramethesis, whitespace and wrap.
9870 (REGISTER_MOVE_COST): Add parenthesis.
9871 (MEMORY_MOVE_COST): Likewise.
9872 (EXTRA_CC_MODES): Whitespace.
9873 (SELECT_CC_MODE): Add parenthesis and whitespace.
9874 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
9875 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
9876 (ASM_OUTPUT_LABEL): Add paramethesis.
9877 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
9878 (ASM_OUTPUT_REG_POP): Likewise.
9879 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
9880 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 9881
07933f72
GS
9882 * config/i386/i386.c: Update copyright.
9883 (CHECK_STACK_LIMIT): Add parenthesis.
9884 (AT_BP): Uppercase macro parameter.
9885 (x86_64_int_parameter_registers): Constify.
9886 (x86_64_int_return_registers): Likewise.
9887 (ix86_compare_op0): Use rtx.
9888 (construct_container): Constify INTREG parameter.
9889 (function_arg): Use rtx.
9890
0b4d32c9
GS
9891 * diagnostic.h: Update copyright date.
9892 (output_buffer_state): Add parenthesis.
9893 (output_buffer_format_args): Likewise.
9894
6253d571
GS
9895 * combine.c (combine_instructions): Replace XEXP (links, 0)
9896 with link.
9897
68f3f6f1
L
98982002-01-06 H.J. Lu <hjl@gnu.org>
9899
9900 * cfgcleanup.c (thread_jump): Fix 2 typos.
9901
99022002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 9903
0d24f4d1 9904 * config.gcc: Add support for --enable-altivec.
480f7f3a 9905
13b8c631
CR
99062002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
9907
9908 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
9909
58ad89b1
JJ
99102002-01-06 Jakub Jelinek <jakub@redhat.com>
9911
9912 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
9913 __objc_class_name_*.
9914
e403b4bc
CR
99152002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
9916
9917 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
9918
e41c7831
RH
99192002-01-06 Richard Henderson <rth@redhat.com>
9920
9921 * reorg.c (emit_delay_sequence): Remove death notes, not merely
9922 nop them out. Increment label reference count for REG_LABEL.
9923 (fill_slots_from_thread): Frob label reference count around
9924 delete_related_insns.
9925
3b3b1e32
RH
99262002-01-05 Richard Henderson <rth@redhat.com>
9927
9928 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
9929 jump threading.
9930
c28abdf0
RH
99312002-01-05 Richard Henderson <rth@redhat.com>
9932
9933 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
9934 * integrate.c (output_inline_function): Likewise.
9935 * toplev.c (rest_of_compilation): Do it here instead. Move call
9936 to remove_unnecessary_notes after emitting abstract instance.
9937 Force an emitted nested function to have its parent emited as well.
9938 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
9939 for null.
9940 (rtl_for_decl_location): Do not look at reload data structures
9941 before reload has run.
9942
c4f2c499
KH
99432002-01-05 Kazu Hirata <kazu@hxi.com>
9944
9945 * cse.c: Fix formatting.
9946 * dwarf2asm.c: Likewise.
9947 * dwarf2out.c: Likewise.
9948 * explow.c: Likewise.
9949 * expmed.c: Likewise.
9950 * function.c: Likewise.
9951 * gcov.c: Likewise.
9952 * gencheck.c: Likewise.
9953 * genrecog.c: Likewise.
9954 * ggc-common.c: Likewise.
9955 * ggc-page.c: Likewise.
9956 * global.c: Likewise.
9957
cf0d9408
KH
99582002-01-05 Kazu Hirata <kazu@hxi.com>
9959
9960 * combine.c: Fix formatting.
9961
bedca03a
CR
99622002-01-05 Craig Rodrigues <crodrigu@bbn.com>
9963
9964 PR middle-end/1557
9965 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
9966
0134bf2d
DE
99672002-01-05 David Edelsohn <edelsohn@gnu.org>
9968
9969 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
9970 as 1 for __powerpc64__ as well.
9971
9972 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
9973
9974 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
9975 return it.
9976
9ca88d5a
DB
99772002-01-05 Daniel Berlin <dan@dberlin.org>
9978
9979 * lcm.c: Revert change, due to performance regression it causes on
9980 SPEC because it's slightly more conservative (sigh, I hate
9981 edge-based LCM).
0d24f4d1 9982
1c570418
JH
9983Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
9984
9985 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
9986
d83bb9f7
NB
99872002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
9988
9989 * doc/cppinternals.texi: Update.
9990
3e0f61ac
HPN
99912002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
9992
9993 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
9994 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
9995 negatives.
9996 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
9997 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
9998 kludge for pre-october-14th mmix versions to handle new-found bug
9999 with PUSHJ/PUSHGO and the register stack.
10000 * config/mmix/mmix.h (struct machine_function): Rename member
10001 has_call_value_without_parameters to has_call_without_parameters.
10002 All referers changed.
10003 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
10004 TARGET_MASK_BRANCH_PREDICT): New macros.
10005 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
10006 -mno-reg-stack-fill-bug-workaround.
10007 * config/mmix/mmix.md ("call"): Set struct machine member
10008 has_call_without_parameters.
10009
4deaa2f8
JH
10010Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
10011
10012 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
10013
9f16e871
JH
10014Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
10015
10016 * cfgcleanup.c: Include tm_p.h
10017 (mark_effect): Fix handling of hard register; fix handling of SET
10018
96eb1157
KH
100192002-01-04 Kazu Hirata <kazu@hxi.com>
10020
10021 * config/h8300/h8300.md (anonymous patterns): Check that
10022 operands are registers before using REGNO on them.
10023
48180d68
RM
100242002-01-03 Roland McGrath <roland@frob.com>
10025
10026 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
10027
b0832fe1
JJ
100282002-01-04 Jakub Jelinek <jakub@redhat.com>
10029
10030 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
10031 * c-common.h (genrtl_expr_stmt_value): Likewise.
10032 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
10033 (expand_expr_stmt_value): Add maybe_last argument.
10034 Don't warn about statement with no effect if it is the last statement
10035 in expression statement.
10036 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
10037 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
10038 expand_expr_stmt_value.
10039 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
10040 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
10041 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
10042 as maybe_last to expand_expr_stmt_value.
10043
c1e14513
JL
10044Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
10045
0d24f4d1
ZW
10046 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
10047 be passed in, do not build it.
10048 (c_begin_if_stmt): New function.
10049 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
10050 * c-common.h (c_expand_start_cond): Update prototype.
10051 (c_begin_if_stmt): Prototype new function.
10052 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
10053 * c-parse.in (if_prefix): Use c_begin_if_stmt,
10054 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 10055
b6ec437a
WC
100562002-01-04 William Cohen <wcohen@redhat.com>
10057
10058 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
10059 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
10060 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
10061 * config/pa/som.h (ASM_FILE_START): Likewise.
10062
ead39bdf 100632002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
10064
10065 * lcm.c: Include df.h.
10066 Add available_transfer_function prototype.
10067 (compute_available): Rework to use iterative dataflow framework.
10068 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
10069 with bb_info in df.h
10070 (available_transfer_function): New function.
10071
10072 * Makefile.in (lcm.o): add df.h to dependencies.
10073
551cc6fd
RH
100742002-01-04 Richard Henderson <rth@redhat.com>
10075
10076 * config/alpha/alpha.c (some_operand): Accept HIGH.
10077 (input_operand): Likewise; accept simple references to globals.
10078 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
10079 (alpha_const_double_ok_for_letter_p): Likewise.
10080 (alpha_extra_constraint): Likewise.
10081 (alpha_preferred_reload_class): Likewise. Do not force
10082 symbolic constants to memory.
10083 (alpha_legitimate_address_p): Accept simple references
10084 to small_symbolic_operand.
10085 (alpha_legitimize_address): New arg scratch. Be prepared to be
10086 called when no_new_pseudos. Emit simple symbolic references.
10087 Split integers into low, high, and rest.
10088 (alpha_expand_mov): Use alpha_legitimize_address.
10089 (some_small_symbolic_mem_operand): New.
10090 (split_small_symbolic_mem_operand): New.
10091 * config/alpha/alpha-protos.h: Update.
10092 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
10093 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
10094 (EXTRA_CONSTRAINT): Likewise.
10095 (PREFERRED_RELOAD_CLASS): Likewise.
10096 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
10097 (PREDICATE_CODES): Update.
10098 * config/alpha/alpha.md: New post-reload splitters to convert
10099 simplfied symbolic operands to the form that references $29.
10100 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
10101 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
10102
1eaea054
RH
101032002-01-03 Richard Henderson <rth@redhat.com>
10104
10105 * local-alloc.c (function_invariant_p): Update commentary.
10106
c4cc12b7
L
101072002-01-04 H.J. Lu <hjl@gnu.org>
10108
10109 * toplev.c (rest_of_compilation): Fix a typo when calling
10110 cleanup_cfg.
10111
173bf5be
KH
101122002-01-03 Kazu Hirata <kazu@hxi.com>
10113
10114 * c-common.c: Fix formatting.
10115 * diagnostic.c: Likewise.
10116 * doloop.c: Likewise.
10117 * dwarf2out.c: Likewise.
10118
187462ac
KH
101192002-01-03 Kazu Hirata <kazu@hxi.com>
10120
10121 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
10122 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
10123
5d8ebbd8
NB
101242002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
10125
10126 * cpperror.c: Update comments and copyright.
10127 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
10128 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
10129
518c1311
JDA
101302002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
10131
10132 * collect2.c (main): Use strcmp when testing for "-shared".
10133
d15a58c0
NB
101342002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
10135
10136 * cppmacro.c: Don't include intl.h. Update comments.
10137 (new_number_token): Allocate enough buffer for 64-bit unsigned
10138 integers; update prototype.
10139 * cppmain.c: Update comments.
10140
70f4f91c
WC
101412002-01-03 William Cohen <wcohen@redhat.com>
10142
10143 * function.h (struct function): Add profile.
10144 (current_function_profile): New.
10145 doc/extend.texi: Update documentation.
10146 * final.c (final_start_function): Use current_function_profile
10147 instead of profile_flag.
10148 (profile_after_prologue): Likewise.
10149 * function.c (expand_function_start): Likewise.
10150 (expand_function_start): Likewise.
c4cc12b7 10151 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
10152 (alpha_does_function_need_gp): Likewise.
10153 (alpha_expand_prologue): Likewise.
10154 * config/arm/arm.c (arm_expand_prologue): Likewise.
10155 thumb_expand_prologue: Likewise.
10156 * config/d30v/d30v.c (d30v_stack_info): Likewise.
10157 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
10158 (fr30_expand_prologue): Likewise.
10159 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
10160 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
10161 * config/i386/i386.h (FINALIZE_PIC): Likewise.
10162 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
10163 * config/i960/i960.c (i960_output_function_prologue): Likewise.
10164 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
10165 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
10166 (m32r_expand_prologue): Likewise.
10167 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
10168 (m88k_expand_prologue): Likewise.
10169 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
10170 * config/mips/mips.c (compute_frame_size): Likewise.
10171 (mips_expand_prologue): Likewise.
10172 (mips_can_use_return_insn): Likewise.
10173 * config/pa/elf.h (ASM_FILE_START): Likewise.
10174 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
10175 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
10176 * config/pa/som.h (ASM_FILE_START): Likewise.
10177 * config/romp/romp.c (romp_using_r14): Likewise.
10178 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
10179 (rs6000_stack_info): Likewise.
10180 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 10181 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
10182 * config/v850/v850.c (compute_register_save_size): Likewise.
10183
cb1ac742
JJ
101842002-01-03 Jakub Jelinek <jakub@redhat.com>
10185
10186 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
10187 gen_lowpart_common fails, use gen_lowpart_SUBREG.
10188
61d951df 101892002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 10190
61d951df
TC
10191 * darwin.c (machopic_output_possible_stub_label): Don't generate
10192 stub routines for pseudo-stubs which we've just defined.
10193
505ddab6
KH
101942002-01-03 Kazu Hirata <kazu@hxi.com>
10195
10196 * builtins.c: Fix formatting.
10197 * c-typeck.c: Likewise.
10198 * combine.c: Likewise.
10199 * expr.c: Likewise.
10200 * loop.c: Likewise.
10201
b7e30d8a
AS
102022002-01-03 Andreas Schwab <schwab@suse.de>
10203
10204 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
10205 and return true if _cpp_push_next_buffer pushed a new include
10206 file.
10207 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
10208 _cpp_pop_file_buffer did not push a new file.
10209 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
10210
ff81832f
EC
102112002-01-02 Eric Christopher <echristo@redhat.com>
10212
10213 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
10214 FIND_REG_INC_NOTE call. Update copyright.
10215 * loop.c (canonicalize_condition): Ditto.
10216 * reorg.c (delete_scheduled_jump): Ditto.
10217
8e42ace1
KH
102182002-01-03 Kazu Hirata <kazu@hxi.com>
10219
10220 * gcse.c: Fix formatting.
10221
fb2bf631
GS
102222002-01-03 Graham Stott <grahams@redhat.com>
10223
10224 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
10225 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 10226 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
10227
10228 * system.h: Move forward defs for struct tags rtx_def, union_tree,
10229 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 10230 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
10231
102322002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
10233
10234 * tree.h: Update copyright date.
10235 (IS_EXPR_CODE_CLASS): Add parenthesis.
10236 (TREE_SET_CODE): Add whitespace.
10237 (TREE_CHECK): Add parenthesis.
10238 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
10239 (CST_OR_CONSTRUCTOR_CHECK):
10240 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
10241 (TREE_SYMBOL_REFERENCED): Whitespace.
10242 (INT_CST_LT): Likewise.
10243 (INT_CST_LT_UNSIGNED): Likewise.
10244 (tree_real_cst): Unwrap comment.
10245 (tree_string): Likewise.
10246 (tree_complex): Likewise.
10247 (IDENTIFIER_POINTER): correct cast.
10248 (SAVE_EXPR_CONTEXT): Whitespace.
10249 (EXPR_WFL_FILENAME_NODE): Likewise.
10250 (EXPR_WFL_FILENAME): Remove parenthesis.
10251 (DECL_ORIGIN): Add parenthesis.
10252 (DECL_FROM_INLINE): Use NULL_TREE.
10253 (build_int_2): Whitespace.
10254 (build_type_variant): Add parenthesis.
10255
10256 * gcc/jcf-parse.c: Update copyright date.
10257 (yyparse): Constify resource_filename.
10258
f52eda29
GS
102592002-01-03 Graham Stott <grahams@redhat.com>
10260
10261 * rtl.h: Update copyright date.
10262 (RTL_CHECK1): Wrap long line.
10263 (RTL_CHECK2): Likewise.
10264 (RTL_CHECKC1): Wrap long line and whitespace.
10265 (RTL_CHECKC2): Likewise.
10266 (XWINT): Whitespace.
10267 (XINT): Likewise.
10268 (XSTR): Likewise.
10269 (XEXP): Likewise.
10270 (XVEC): Likewise.
10271 (XMODE): Likewise.
10272 (XBITMAP): Likewise.
10273 (XTREE): Likewise.
10274 (XBBDEF): Likewise.
10275 (XTMPL): Likewise.
10276 (X0WINT): Likewise.
10277 (X0INT):Likewise.
10278 (X0UINT): Likewise.
10279 (X0STR): Likewise.
10280 (X0EXP): Likewise.
10281 (X0VEC): Likewise.
10282 (X0MODE): Likewise.
10283 (X0BITMAP): Likewise.
10284 (X0TREE): Likewise.
10285 (X0BBDEF): Likewise.
10286 (X0ADVFLAGS): Likewise.
10287 (X0CSELIB): Likewise.
10288 (X0MEMATTR): Likewise.
10289 (XCWINT): Likewise.
10290 (XCINT): Likewise.
10291 (XCUINT): Likewise.
10292 (XCSTR): Likewise.
10293 (XCEXP): Likewise.
10294 (XCVEC): Likewise.
10295 (XCMODE): Likewise.
10296 (XCBITMAP): Likewise.
10297 (XCTREE): Likewise.
10298 (XCBBDEF): Likewise.
10299 (XCADVFLAGS): Likewise.
10300 (XCCSELIB): Likewise.
10301 (XC2EXP): Likewise.
10302 (INSN_UID): Likewise.
10303 (PREV_INSN): Likewise.
10304 (PATTERN): Likewise.
10305 (INSN_CODE): Likewise.
10306 (PUT_REG_NOTE_KIND): Likewise.
10307 (CODE_LABEL_NUMBER): Likewise.
10308 (NOTE_SOURCE_FILE): Likewise.
10309 (NOTE_BLOCK): Likewise.
10310 (NOTE_EH_HANDLER): Likewise.
10311 (NOTE_RANGE_INFO): Likewise.
10312 (NOTE_LIVE_INFO): Likewise.
10313 (NOTE_BASIC_BLOCK): Likewise.
10314 (NOTE_EXPECTED_VALUE): Likewise.
10315 (NOTE_LINE_NUMBER): Likewise.
10316 (LABEL_NAME): Likewise.
10317 (LABEL_NUSES): Likewise.
10318 (LABEL_ALTERNATE_NAME): Likewise.
10319 (ADDRESSOF_DECL): Likewise.
10320 (JUMP_LABEL): Likewise.
10321 (LABEL_NEXTREF): Likewise.
10322 (REGNO): Likewise.
10323 (ORIGINAL_REGNO: Likewise.
10324 (HARD_REGISTER_NUM_P): Add parenthesis.
10325 (SUBREG_REG): Whitespace.
10326 (SUBREG_BYTE): Likewise.
10327 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
10328 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
10329 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
10330 (ASM_OPERANDS_INPUT_VEC): Likewise.
10331 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
10332 (ASM_OPERANDS_INPUT): Likewise.
10333 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
10334 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
10335 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
10336 (ASM_OPERANDS_INPUT_MODE): Likewise.
10337 (ASM_OPERANDS_SOURCE_FILE): Likewise.
10338 (ASM_OPERANDS_SOURCE_LINE): Likewise.
10339 (MEM_SET_IN_STRUCT_P): Minor reformat.
10340 (TRAP_CONDITION): Whitespace.
10341 (TRAP_CODE): Likewise.
10342 (COND_EXEC_TEST): Likewise.
10343 (COND_EXEC_CODE): Likewise.
10344 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
10345 (PHI_NODE_P): Add parenthesis.
10346 (plus_constant): Whitespace and add parenthesis.
10347
e03f5d43
KH
103482002-01-03 Kazu Hirata <kazu@hxi.com>
10349
10350 * config/avr/avr.c: Fix comment typos.
10351 * config/c4x/c4x.md: Likewise.
10352 * config/dsp16xx/dsp16xx.h: Likewise.
10353 * config/dsp16xx/dsp16xx.md: Likewise.
10354 * config/i386/i386.md: Likewise.
10355 * config/ia64/ia64.c: Likewise.
10356 * config/m32r/m32r.h: Likewise.
10357 * config/m68hc11/m68hc11.md: Likewise.
10358 * config/mmix/mmix.c: Likewise.
10359 * config/mn10200/mn10200.c: Likewise.
10360 * config/romp/romp.c: Likewise.
10361 * config/sh/sh.c: Likewise.
10362 * config/stormy16/stormy16.c: Likewise.
10363 * config/stormy16/stormy16.h: Likewise.
10364 * config/stormy16/stormy16.md: Likewise.
10365
97e300e9
GS
103662002-01-03 Graham Stott <grahams@redhat.com>
10367
10368 * loop.h: Update copyright date.
0d24f4d1
ZW
10369 (LOOP_MOVABLES): Fix typo.
10370 (LOOP_REGS): Likewise.
10371 (LOOP_IVS): Likewise.
ff81832f 10372
745b26b3
GS
103732002-01-03 Graham Stott <grahams@redhat.com>
10374
10375 * cppinit.c: Update copyright date.
10376 Don't include output.h
10377 * Makefile.in: Update copyright date.
10378 Update dependency.
10379
0a379b7a
CR
103802002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
10381
10382 PR c/5226
10383 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
10384 (-pthread) Add to RS/6000 options.
10385
a8154559
KH
103862002-01-02 Kazu Hirata <kazu@hxi.com>
10387
10388 * except.c: Fix comment typos.
10389 * loop.c: Likewise.
10390 * varasm.c: Likewise.
10391 * doc/tm.texi: Fix a typo.
10392
e6ecc89b
JJ
103932002-01-02 Jakub Jelinek <jakub@redhat.com>
10394
10395 * c-typeck.c (output_init_element): Allow initializing static storage
10396 duration objects with compound literals.
10397
d1094b40
RH
103982002-01-02 Richard Henderson <rth@redhat.com>
10399
10400 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
10401 after abusing it.
10402
0c5d8c82
KG
104032002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10404
5e65297b
KG
10405 * gcc.c (default_compilers): Const-ify.
10406 * mips-tdump.c (stab_names): Likewise.
10407 * mips-tfile.c (map_coff_types, map_coff_storage,
10408 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
10409 pseudo_ops_t, pseudo_ops): Likewise.
10410 * protoize.c (default_include): Likewise
10411
0c5d8c82
KG
10412 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
10413 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
10414 Add array size in declaration.
10415 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
10416 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
10417 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
10418 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
10419 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
10420 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
10421 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
10422 emtens, make_nan): Const-ify.
10423 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
10424 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
10425
817e13c4
JM
104262002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
10427
10428 * config.gcc (ia64-*-*): Set extra_headers.
10429 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
10430 * config/alpha/t-osf: Remove.
10431 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
10432
98095e2b
DE
104332002-01-02 David Edelsohn <edelsohn@gnu.org>
10434
10435 * config/rs6000/t-aix43: Revert previous change.
10436
a4200657
JM
104372002-01-02 Jason Merrill <jason@redhat.com>
10438
10439 * c-decl.c (c_expand_body): Call outlining_inline_function when
10440 emitting an inline function out of line.
10441
54ba1f0d
RH
104422002-01-02 Richard Henderson <rth@redhat.com>
10443
10444 * dwarf2out.c (limbo_die_node): Add created_for member.
10445 (new_die): New argument created_for. Update all callers.
10446 (mark_limbo_die_list): New.
10447 (dwarf2out_init): Register limbo_die_list as a root.
10448 (dwarf2out_finish): Force insert limbo dies into their function
10449 context.
10450
323728aa
NS
104512002-01-02 Nathan Sidwell <nathan@codesourcery.com>
10452
10453 PR c++/5089
10454 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
10455
aefc5826
KH
104562002-01-02 Kazu Hirata <kazu@hxi.com>
10457
10458 * config/h8300/fixunssfsi.c: Update copyright.
10459 Fix comment typos.
10460 Fix formatting.
10461 * config/h8300/h8300.c: Update copyright.
10462 Eliminate warnings.
10463
b1c9bc51
KH
104642002-01-02 Kazu Hirata <kazu@hxi.com>
10465
10466 * config/romp/romp.c: Fix comment formatting.
10467 * config/romp/romp.h: Likewise.
10468 * config/romp/romp.md: Likewise.
10469 * config/s390/s390.c: Likewise.
10470 * config/stormy16/stormy16.c: Likewise.
10471 * config/stormy16/stormy16.h: Likewise.
10472
1574ef13
AO
104732002-01-02 Alexandre Oliva <aoliva@redhat.com>
10474
10475 * c-common.h (genrtl_expr_stmt_value): Declare.
10476 * c-semantics.c (genrtl_goto_stmt): Redirect to...
10477 (genrtl_goto_stmt_value): ... this new function. Pass new
10478 argument down to expand_expr_stmt_value, taking
10479 TREE_ADDRESSABLE into account.
10480 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
10481 STMT_EXPR as addressable, i.e., one whose result we want.
10482 * expr.c (expand_expr): Don't save expression statement value
10483 of labeled_blocks or loop_exprs.
10484 * stmt.c (expand_expr_stmt): Redirect to...
10485 (expand_expr_stmt_value): ... this new function. Use new
10486 argument to tell whether to save expression value.
10487 (expand_end_stmt_expr): Reset last_expr_type and
10488 last_expr_value if we don't have either.
10489 * tree-inline.c (declare_return_variable): Mark its use
10490 statement as addressable.
10491 * tree.h: Document new use of TREE_ADDRESSABLE.
10492 (expand_expr_stmt_value): Declare.
10493
252b88f7
TR
104942002-01-01 Tom Rix <trix@redhat.com>
10495
10496 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
10497 rs6000_emit_allocate_stack.
10498
29f7a208
JM
104992002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
10500
10501 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
10502 ${srcdir}/ginclude/ to every entry in extra_headers.
10503 * configure: Regenerate.
10504 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
10505 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
10506 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
10507 * ginclude/proto.h: Rename to config/convex/proto.h.
10508
2cc2d4bb
RK
10509Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10510
10511 * attribs.c (handle_vector_size_attribute): Use host_integerp
10512 and tree_int_cst; remove warnings.
10513 * caller-save.c (insert_restore): Add cast to get rid of warning.
10514 (insert_save): Likewise.
10515 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
10516 * regmove.c (find_matches): Add temporary var to kill a warning.
10517
f01c9bcd
DR
105182002-01-01 Douglas B Rupp <rupp@gnat.com>
10519
16b61764
DR
10520 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
10521 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
10522 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
10523 (vms-dwarf2eh.o): Add Makefile rule.
10524 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
10525 * config/alpha/vms-dwarf2eh.asm: New file.
10526
f01c9bcd
DR
10527 * gcc.c (delete_if_ordinary): Delete all versions.
10528
91312b81
HPN
105292002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
10530
10531 * config/mmix/mmix.md: Update FIXME to not mention
10532 define_constants.
10533 (MMIX_rJ_REGNUM): New define_constants constant.
10534 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
10535 "*movdicc_real"): Adjust contraints formatting.
10536 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
10537 for branch prediction.
10538 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
10539 output template.
10540 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
10541 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
10542 number. Delete related FIXMEs.
10543 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
10544 from number to MMIX_rJ_REGNUM.
10545 (TARGET_MASK_BRANCH_PREDICT): New.
10546 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
10547 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
10548 value. Add -mbranch-predict and -mno-branch-predict.
10549 (TARGET_VERSION): Drop date.
10550 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
10551 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
10552 for finding out global symbols.
10553 (mmix_asm_output_labelref): Revert condition for global symbol.
10554 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
10555 (mmix_print_operand_punct_valid_p): A '+' is valid.
10556
619acae7 10557See ChangeLog.6 for earlier changes.
This page took 1.352192 seconds and 5 git commands to generate.