]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
* config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
e0ff1ded
HPN
12002-04-13 Hans-Peter Nilsson <hp@axis.com>
2
3 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
4
2341c7ea
JS
52002-04-13 Joel Sherrill <joel@OARcorp.com>
6
7 * config/sparc/t-elf: Enable v8 multilibs. Impacts
8 sparc-elf and sparc-rtems targets.
9
d29350c0
MM
102002-04-13 Mark Mitchell <mark@codesourcery.com>
11
12 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
13 defined, and __gnu_hurd__ wherever __GNU__ is defined.
14 * arm/linux-elf.h: Likewise.
15 * cris/aout.h: Likewise.
16 * cris/linux.h: Likewise.
17 * i370/linux.h: Likewise.
18 * i386/gnu.h: Likewise.
19 * i386/linux-aout.h: Likewise.
20 * i386/linux-oldld.h: Likewise.
21 * i386/linux.h: Likewise.
22 * i386/linux64.h: Likewise.
23 * ia64/linux.h: Likewise.
24 * m68k/linux-aout.h: Likewise.
25 * m68k/linux.h: Likewise.
26 * mips/linux.h: Likewise.
27 * pa/pa-linux.h: Likewise.
28 * pj/linux.h: Likewise.
29 * rs6000/sysv4.h: Likewise.
30 * s390/linux.h: Likewise.
31 * sh/linux.h: Likewise.
32 * sparc/linux-aout.h: Likewise.
33 * sparc/linux.h: Likewise.
34 * sparc/linux64.h: Likewise.
35 * xtensa/linux.h: Likewise.
36
fc552851
RS
372002-04-13 Richard Sandiford <rsandifo@redhat.com>
38
39 * stmt.c (check_unique_operand_names): Expect operand names to
40 be strings rather than identifiers. Use simple_cst_equal to
41 compare them.
42 (resolve_operand_name_1): Make same identifier to string change here.
43 * c-parse.in (asm_operand): Convert a named operand into a string.
44 * cp/parse.y (asm_operand): Likewise.
45
1d405c5e
AS
462002-04-13 Andreas Schwab <schwab@suse.de>
47
48 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
49
c740732f
MM
502002-04-12 Mark Mitchell <mark@codesourcery.com>
51
52 Revert these changes:
53
54 2002-04-06 Mark Mitchell <mark@codesourcery.com>
55
56 PR c++/5571
57 * stor-layout.c (layout_decl): Reset the RTL for the decl.
58
3fc602a0
RH
592002-04-12 Richard Henderson <rth@redhat.com>
60
61 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
62 (sparc*-*-solaris): Clean up header files.
63 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
64 and plan on generating 64-bit code.
65 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
66 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
67 * config/sparc/sol2-sld-64.h: Rename ...
68 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
69 for AS_SPARC64_FLAG not defined.
70 * config/sparc/sol2-gld-bi.h: New.
71 * config/sparc/sol2-sld.h: Remove.
72 * config/sparc/sol26-sld.h: New.
73 * config/sparc/sol2.h: Tidy comments.
74 * doc/install.texi: Document sparc-solaris configury changes.
75
2f15e255
RH
762002-04-12 Richard Henderson <rth@redhat.com>
77
78 * recog.c (offsettable_address_p): Match the logic in adjust_address.
79
80 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
81 in 64-bit mode only. Use only for 32-bit or MEDLOW.
82
cc8475cb
RO
832002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
84
85 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
86
6f133a4a
JL
87Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
88
ef1b8858 89 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
90 constrain_operands.
91
1329e600
DR
922002-04-12 Douglas B Rupp <rupp@gnat.com>
93
94 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
95 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
96 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 97 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
98 * config/i386/t-interix (USER_H): Remove.
99
0339d239
DD
1002002-04-12 DJ Delorie <dj@redhat.com>
101
102 * integrate.c (compare_blocks): Make comparisons safe for when
103 sizeof(int) < sizeof(char *).
104 (find_block): Likewise.
105
cc4d5fec
JH
1062002-04-12 Jan Hubicka <jh@suse.cz>
107 David Edelsohn <edelsohn@gnu.org>
108
109 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
110 registers.
111 (symbol_ref_operand): New.
112 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
113 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
114
93215a1b
AS
1152002-04-12 Andreas Schwab <schwab@suse.de>
116
117 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
118 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
119 overrides the definition in config/svr4.h.
120
1d80248e
EN
1212002-04-12 Eric Norum <eric.norum@usask.ca>
122
123 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
124 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
125 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
126 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
127 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
128 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
129 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
130 definitions to config/rtems.h and make the targets more similar.
131
fa1591cb
RK
132Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
133
fa06ab5c
RK
134 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
135 POINTERS_EXTEND_UNSIGNED.
136 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
137 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
138
fa1591cb
RK
139 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
140 not specified.
141
12e85a0e
R
142Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
143
144 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
145 depends on TARGET_SHMEDIA, not TARGET_SH5.
146
1ab3e58a
HPN
1472002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
148
149 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
150 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
151
18778292
R
152Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
153
154 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
155 no r0 clobber.
156
9002507c
AS
1572002-04-12 Andreas Schwab <schwab@suse.de>
158
159 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
160
9be40833
RH
1612002-04-12 Richard Henderson <rth@redhat.com>
162
163 PR bootstrap/4191
164 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
165
166 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
167 modes spanning multiple hard regs.
168
169 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
170
3d9268b6
JDA
1712002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
172
173 * pa.c (pa_output_function_prologue): Don't accumulate the total
174 number of code bytes when using TARGET_64BIT, or gas, SOM and not
175 the portable runtime.
176 (output_deferred_plabels): Handle 64bit plabels.
177 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
178 generating pic code using the GAS assembler for object formats that
179 are not SOM (ie., ELF32 and ELF64).
180 (output_millicode_call): Check attribute type if attribute length is 28.
181 Likewise use $PIC_pcrel$0. Only call get_attr_length and
182 dbr_sequence_length once.
183 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
184 dbr_sequence_length once.
185 * pa.h (TARGET_SOM): Define if not defined.
186 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
187 with GAS and not SOM.
188 (jump, call_internal_reg, call_value_internal_reg): Likewise.
189 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
190
d360fd18
DB
1912002-04-11 David O'Brien <obrien@FreeBSD.org>
192
193 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
194 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
195 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
196 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
197 elfos.h and dbxelf.h values are fine now.
198 * config/i386/freebsd.h, config/alpha/freebsd.h
199 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
200
5b8fcab6
DB
2012002-04-11 David O'Brien <obrien@FreeBSD.org>
202
203 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
204 or set Acpu or Amachine. Reformat.
205 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
206 define.
207 (LINK_SPEC): Do not need to undef.
208 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
209 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
210 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
211 define.
212 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
213 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
214 (LINK_SPEC): Do not need to undef.
215 (DONT_USE_BUILTIN_SETJMP): Do not define.
216 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
217 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
218 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
219 Remove trailing spaces.
220 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
221 __ELF__, or set Acpu or Amachine. Reformat.
222 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
223 define.
224
fee42cc1
DB
2252002-04-11 David O'Brien <obrien@FreeBSD.org>
226
227 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
228 all other *-*-freebsd* targets.
229
77a403e4
RH
2302002-04-11 Richard Henderson <rth@redhat.com>
231
232 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
233
cf0005c6
DB
2342002-04-11 David O'Brien <obrien@FreeBSD.org>
235
236 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
237 Include {cpu}/{cpu}.h thru tm_file.
238 (alpha*-*-linux*ecoff): Remove target.
239 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
240 (LINK_SPEC): Remove, is not OS independent.
241 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
242 (LINK_SPEC): Do not need to #undef any longer.
243 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
244 any longer.
245 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
246 __ELF__.
247 (LINK_SPEC): Moved here from alpha/elf.h.
248 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
249 SUB_CPP_PREDEFINES.
250 * config/alpha/linux-ecoff.h: Remove.
251 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
252 (CPP_SPEC): Define _POSIX_SOURCE as needed.
253 (CPP_SUBTARGET_SPEC): Do not define.
254 (LINK_SPEC): Do not need to #undef any longer.
255 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
256 * config/alpha/vms.h: Likewise.
257
9be40833 2582002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
259
260 * doc/extend.texi: Remove old claim that typedefs cannot have
261 an alignment attribute.
262
010f87c4
JJ
2632002-04-11 Jakub Jelinek <jakub@redhat.com>
264
265 PR optimization/6177
266 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
267 bitpos is 0 and bitsize CONCAT size.
268
578fc63d
JJ
2692002-04-11 Jakub Jelinek <jakub@redhat.com>
270
271 PR c/6223
272 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
273
bf9b85ce
DB
2742002-04-10 David O'Brien <obrien@FreeBSD.org>
275
276 * config/alpha/freebsd.h: Minor reformatting.
277 (CPP_SPEC): Define ELF and add cpp_subtarget.
278 (ASM_SPEC): No longer needed.
279
7425707d
RH
2802002-04-11 Richard Henderson <rth@redhat.com>
281
282 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
283 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
284 (dimode mem/zero splitter): New.
285
1a05e874
HPN
2862002-04-11 Hans-Peter Nilsson <hp@axis.com>
287
288 * config/cris/cris.c (cris_override_options): Tweak error message
289 for PIC not implemented.
290
291 * config/cris/cris.h: Tweak comments related to parameter-passing.
292
293 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
294
6f3d0447
RH
2952002-04-10 Richard Henderson <rth@redhat.com>
296
297 * except.c (add_ehl_entry): Allow duplicates after landing pad
298 creation.
299
174bf2b1
DE
3002002-04-10 David Edelsohn <edelsohn@gnu.org>
301
302 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
303
03f10472
TM
3042002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
305
306 * c-decl.c (c_init_decl_processing): Move generation of
307 decls for g77_integer_type_node and friends from here ...
308 * c-common.c (c_common_nodes_and_builtins): ... to here.
309
2f460a0a
UW
3102002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
311
312 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
313 is only used as frame pointer when frame_pointer_needed is true.
314
0be5cf85
RE
3152002-04-10 Richard Earnshaw <rearnsha@arm.com>
316
317 PR target/817
318 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
319 for the fact that the pool entry uses two words.
320 (movdf_hard_insn): Similarly. Also, ADR instruction can span
321 1k bytes.
322 (movdf_soft_insn): Similarly.
323 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
324 for the fact that the pool entry uses three words.
325
bf6d4777
RS
3262002-04-10 Richard Sandiford <rsandifo@redhat.com>
327
328 * config/mips/mips.c (mips_va_arg): When using the struct version
329 of the EABI va_list, allow arguments in the register save area to
330 take up less room than a stack argument.
331
c2e9dc85
RH
3322002-04-10 Richard Henderson <rth@redhat.com>
333
334 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
335 if EXPAND_INITIALIZER.
336
bc8e8e97
RH
3372002-04-09 Richard Henderson <rth@redhat.com>
338
339 * config/alpha/alpha.md (movdi_er_maybe_g): New.
340 * config/alpha/alpha.c (alpha_expand_mov): Use it.
341
a6a063b8
AM
3422002-04-10 Alan Modra <amodra@bigpond.net.au>
343
344 PR optimization/6233
345 * rtlanal.c (pure_call_p): New function.
346 * rtl.h (pure_call_p): Declare.
347 * loop.c (prescan_loop): Use it to set has_nonconst_call.
348 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
349
7b2e1077
EC
3502002-04-09 Eric Christopher <echristo@redhat.com>
351
352 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
353 information to .comm directive.
354
d8a50944
RH
3552002-04-09 Richard Henderson <rth@redhat.com>
356
357 PR c/5078
358 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
359
6a58eee9
RH
3602002-04-09 Richard Henderson <rth@redhat.com>
361
362 * basic-block.h (flow_delete_block_noexpunge): Declare.
363 (expunge_block_nocompact): Declare.
364 * cfg.c (expunge_block_nocompact): Split out from ...
365 (expunge_block): ... here.
366 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
367 (flow_delete_block_noexpunge): Split out from ...
368 (flow_delete_block): ... here.
369 * cfgcleanup.c (delete_unreachable_blocks): Compact while
370 removing dead blocks.
371 * except.c (exception_handler_labels): Remove.
372 (exception_handler_label_map): New.
373 (struct eh_region): Add aka member.
374 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
375 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
376 (for_each_eh_label, for_each_eh_label_1): New.
377 (init_eh): Register exception_handler_label_map.
378 (free_eh_status): Use free_region.
379 (find_exception_handler_labels): Use the map, not the list.
380 (remove_exception_handler_label): Likewise.
381 (maybe_remove_eh_handler): Likewise.
382 (remove_eh_handler): Use the region aka bitmap.
383 * except.h (exception_handler_labels): Remove.
384 (for_each_eh_label): Declare.
385 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
386 * loop.c (invalidate_loops_containing_label): New.
387 (find_and_verify_loops): Use it. Use for_each_eh_label.
388 * sched-rgn.c (is_cfg_nonregular): Use
389 current_function_has_exception_handlers.
390
b47374fa
RH
3912002-04-09 Richard Henderson <rth@redhat.com>
392
393 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
394 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
395 Do not return changed status.
396 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
397 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
398 New functions that do return changed status.
399 * sbitmap.h: Update decls.
400 * gcse.c, lcm.c: Use _cg functions as needed.
401
1951818c
R
402Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
403
404 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
405 (sh64-*-elf*, sh-*-rtemself*): Likewise.
406 * config/sh/embed_bb.c: New file.
407 * config/sh/embed-elf.h: New file.
408 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
409 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
410 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
411 __PTRDIFF_TYPE__ .
412 (SUBTARGET_CPP_PTR_SPEC): Don't define.
413 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
414 Add subtarget_asm_endian_spec.
415 (ASM_SPEC): Use subtarget_asm_endian_spec.
416 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
417 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
418 (WCHAR_UNSIGNED): Define.
419 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
420 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
421 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
422 Fix value.
423 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
424 (sh_adjust_cost): Likewise.
425 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
426 __PTRDIFF_TYPE__ .
427 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
428 (WCHAR_TYPE_SIZE): Likewise.
429 (ASM_SPEC): Use subtarget_asm_endian_spec.
430 (SH_ELF_WCHAR_TYPE): #undef/ #define.
431 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
432 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
433 (MAX_WCHAR_TYPE_SIZE): Don't #define .
434 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
435 (USER_LABEL_PREFIX): Don't #undef /#define .
436 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
437 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
438 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
439 (ASM_SPEC): Likewise.
440 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
441 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
442 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
443 (LIB2FUNCS_EXTRA): Define.
444 * t-sh64 (LIB2FUNCS_EXTRA): Define.
445 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
446 (LIB1ASMFUNCS_CACHE): Define.
447 (LIB2FUNCS_EXTRA): Redefine empty.
448
34295799
RH
4492002-04-08 Richard Henderson <rth@redhat.com>
450
451 * reorg.c (get_branch_condition): Use reversed_comparison_code.
452
e8766a39
SC
4532002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
454
455 * config/m68hc11/larith.asm (__map_data_section): Fix condition
456 and optimize for size.
457 (__do_global_ctors): Fix pointer comparison.
458 (__do_global_dtors): Likewise.
459
f451b552
DM
4602002-04-09 David S. Miller <davem@redhat.com>
461
462 * config/sparc/sparc.c (sparc_extra_constraint_check): New
463 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
464 allow reloading pseudos.
465 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
466 * config/sparc/sparc-protos.h: Declare it.
467
468 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
469 unsigned comparison warning.
470 (output_restore_regs): Mark leaf_function as unused.
471
1ce7f3c2
RK
472Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
473
474 * expr.c (is_aligning_offset): New function.
475 (expand_expr, case COMPONENT_EXPR): Call it.
476
7a31a340
DM
4772002-04-08 David S. Miller <davem@redhat.com>
478
479 PR target/6082
480 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
481
482 Make init_priority work on Sparc when using GNU ld.
483 * config/sparc/linux.h, config/sparc/linux64.h,
484 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
485 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
486 * config/sparc/sol2-gld.h: New file to do the same.
487 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
488 sparc/sol2-gld.h to tm_file.
489
490 PR optimization/4328
491 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
492 * doc/md.texi: Document it.
493 * config/sparc/sparc.md (movdi_insn_sp64_novis,
494 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
495 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
496 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
497 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
498
11579f33
AJ
4992002-04-08 Andreas Jaeger <aj@suse.de>
500
501 * stmt.c (expand_asm_operands): Revert last patch from Richard
502 Henderson.
503
b57215d9
GP
5042002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
505
506 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
507 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
508
5092002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
510
511 * doc/contrib.texi (Contributors): Add David O'Brien.
512
534d0cc0
AM
5132002-04-08 Alan Modra <amodra@bigpond.net.au>
514
515 * configure.in (auto-build.h): Use target_alias and build_alias
516 when running configure.
517 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
518 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
519 * configure: Regenerate.
520
19fe522a
DM
5212002-04-07 David S. Miller <davem@redhat.com>
522
523 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
524
bf2d0b8e
JDA
5252002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
526
527 PR 5933
528 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
529 generating 32-bit pic code.
530
477cdac7
JT
5312002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
532
533 * cppinit.c (cpp_create_reader): Initialize
534 discard_comments_in_macro_exp.
535 (COMMAND_LINE_OPTIONS): Add "-CC" option.
536 (cpp_handle_option): Handle "-CC" option.
537 * cpplex.c (save_comment): If saving a C++ comment in
538 a directive, convert it to a C comment.
539 (_cpp_lex_direct): Pass second comment start character to
540 save_comment to indicate comment type.
541 * cpplib.c (_cpp_handle_directive): If processing
542 a "#define" directive and discard_comments_in_macro_exp
543 is false, re-enable saving of comments.
544 (lex_macro_node): If discard_comments_in_macro_exp is false,
545 discard any comments before the macro identifier.
546 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
547 member.
548 * cppmacro.c (cpp_get_token): If expanding a macro while
549 processing a directive, discard any comments we might encounter.
550 (parse_params): If discard_comments_in_macro_exp is false,
551 ignore comments in the macro parameter list.
552 * gcc.c (cpp_unique_options): Add "-CC" option.
553 (option_map): Map "--comments-in-macros" to "-CC".
554 * doc/cppopts.texi: Document "-CC" option.
555 * f/lang-specs.h: Add "-CC" option.
556 * testsuite/gcc.dg/cpp/maccom1.c: New test.
557 * testsuite/gcc.dg/cpp/maccom2.c: New test.
558 * testsuite/gcc.dg/cpp/maccom3.c: New test.
559 * testsuite/gcc.dg/cpp/maccom4.c: New test.
560 * testsuite/gcc.dg/cpp/maccom5.c: New test.
561 * testsuite/gcc.dg/cpp/maccom6.c: New test.
562
f1526122
JDA
5632002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
564
565 PR middle-end/6180
566 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
567
b1896e61
MM
5682002-04-06 Mark Mitchell <mark@codesourcery.com>
569
0154eaa8
MM
570 PR c++/5571
571 * stor-layout.c (layout_decl): Reset the RTL for the decl.
572
b1896e61
MM
573 PR opt/5120
574 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
575 RTX_UNCHANGING_P for the functions arguments when a tail call
576 is made.
577
b0148884
JM
5782002-04-06 Jason Merrill <jason@redhat.com>
579
580 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
581 (parse_options_and_default_flags): Set them appropriately.
582 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
583
392fc5b0
HPN
5842002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
585
586 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
587 here.
588
589 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
590 semicolon.
591
592 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
593 types come in by-reference. Fix typo in comment.
594
2d69e3cb
DM
5952002-04-05 David S. Miller <davem@redhat.com>
596
597 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
598 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
599 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
600 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
601
6022002-04-05 David S. Miller <davem@redhat.com>
603
604 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
605 are not going to emit return instructions, emit at least a nop
606 for the sake of sane backtraces.
607
5f9fb0e3
RH
6082002-04-05 Richard Henderson <rth@redhat.com>
609
610 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
611
49f37a0d
JJ
6122002-04-05 Jakub Jeilnek <jakub@redhat.com>
613
614 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
615
974a3101
AO
6162002-04-05 Alexandre Oliva <aoliva@redhat.com>
617
618 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
619 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
620 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
621
2e04a694
AS
6222002-04-05 Andreas Schwab <schwab@suse.de>
623
a40179bd 624 * c-convert.c: Include c-common.h.
2e04a694
AS
625 * Makefile.in (c-convert.o): Updated.
626
1f785b7c
JJ
6272002-04-05 Jakub Jelinek <jakub@redhat.com>
628
629 * mklibgcc.in: Use separate libgcc.map for each multilib.
630 * Makefile.in (distclean): Don't remove libgcc.map here.
631
4d2fb38b
JJ
6322002-04-05 Jakub Jelinek <jakub@redhat.com>
633
634 * Makefile.in (s-mlib): Handle --disable-multilib by separate
635 genmultilib invocation.
636
bb63e5a0
RS
6372002-04-04 Richard Sandiford <rsandifo@redhat.com>
638
639 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
640 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
641 to num_gprs for symmetry.
642 * config/mips/mips.c: Adjust accordingly.
643
8ab80eaa
NB
6442002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
645
646 * c-common.c (truthvalue_conversion): Rename, update.
647 * c-common.h (c_common_truthvalue_conversion): New.
648 * c-convert.c (convert): Update.
649 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
650 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
651 * c-typeck.c (build_binary_op, build_unary_op,
652 build_conditional_expr): Update.
653 * fold-const.c (constant_boolean_node, fold): Use langhook.
654 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
655 * langhooks.h (struct lang_hooks): New hook.
656 * stmt.c (expand_decl_cleanup): Use langhook.
657 * tree.h (truthvalue_conversion): Remove.
658objc:
659 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
660
a2e9374a
AM
6612002-04-05 Alan Modra <amodra@bigpond.net.au>
662
663 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
664 Add rules to make null object file.
665
64d08263
JB
6662002-04-04 Jim Blandy <jimb@redhat.com>
667
668 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
669 macro formal parameter names.
670
aa7634dd
DM
6712002-04-04 David S. Miller <davem@redhat.com>
672
673 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
674
ecc114f7
RH
6752002-04-04 Richard Henderson <rth@redhat.com>
676
677 PR middle-end/5099
678 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
679 Support copies into and out of memory. Don't accept allows_reg
680 and allows_mem as gospel.
681
c4484b8f
RH
6822002-04-04 Richard Henderson <rth@redhat.com>
683
684 PR opt/6165
685 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
686 (write_dependence_p): Likewise.
687
39002160
RH
6882002-04-04 Richard Henderson <rth@redhat.com>
689
690 * predict.c (estimate_bb_frequencies): Do frequency calculation
691 with a volatile temporary.
692
f53ebe71
UW
6932002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
694
695 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
696
15e0ecab
JJ
6972002-04-04 Jakub Jelinek <jakub@redhat.com>
698
699 PR c++/6119
700 * final.c (final_start_function): Don't bump profile_label_no here...
701 (final_end_function): ...but here.
702
ffd386b0
JJ
7032002-04-04 Jakub Jelinek <jakub@redhat.com>
704
705 * config/sparc/sparc.md (pic): New attribute.
706 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
707 into stack slots.
708 (split after do_builtin_setjmp_setup): New.
709
8b156b3e
JJ
7102002-04-04 Jakub Jelinek <jakub@redhat.com>
711
712 PR fortran/6106
713 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
714 change.
715
014c0998
JJ
7162002-04-04 Jakub Jelinek <jakub@redhat.com>
717
718 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
719 UNITS_PER_WORD for zero sized aggregates.
720
4d8611d9
DM
7212002-04-03 David S. Miller <davem@redhat.com>
722
723 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
724 one-character spec for this, just use %(link_gcc_c_sequence).
725
b03ad99d
DM
7262002-04-03 David S. Miller <davem@redhat.com>
727
728 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
729 handling.
730
823fbbce
JDA
7312002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
732
733 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
734 (DWARF_FRAME_RETURN_COLUMN): Move.
735 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
736 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
737 * pa.c (except.h, predict.h): Include.
738 (FRP): Delete.
739 (store_reg_modify, set_reg_plus_d): Revise prototypes.
740 (output_ascii): Add cast.
741 (store_reg_modify): Revise to add frame notes.
742 (set_reg_plus_d): Likewise.
743 (compute_frame_size): Include space for eh data registers in frame if
744 the current function calls eh_return.
745 (hppa_expand_prologue): Ensure register %r2 is saved if the current
746 function calls eh_return. Save eh data registers if the current
747 function calls eh_return. Fix code to add frame notes. Emit
748 blockage to prevent insns with frame notes being scheduled in the
749 delay slot of calls.
750 (hppa_expand_epilogue): Restore eh data registers and do final stack
751 adjustment if the current function calls eh_return. Don't add frame
752 notes.
753 (output_call): Revise for change in length of call insn. Don't do
754 return pointer adjustment for an unconditional jump in the delay slot
755 of a call when using frame notes.
756 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
757 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
758 (ARG_POINTER_CFA_OFFSET): Define.
759 * pa.md (return_external_pic): New pattern.
760 (prologue): Correct formatting. Use return_external_pic if current
761 function calls eh_return.
762 (call_internal_symref, call_value_internal_symref,
763 sibcall_internal_symref, sibcall_value_internal_symref): Change default
764 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
765 respectively.
766 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
767
768 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
769 list of targets to check using "nop" insn.
770 * configure: Rebuilt.
771
4078e224
AM
7722002-04-04 Alan Modra <amodra@bigpond.net.au>
773
774 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
775
bbd7687d
DM
7762002-04-03 David S. Miller <davem@redhat.com>
777
778 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
779 library sequence passed to the linker.
780 (LINK_COMMAND_SPEC): Use it.
781 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
782 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
783 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
784
659e5a7a
JM
7852002-04-03 Jason Merrill <jason@redhat.com>
786
787 * except.c (struct eh_status): Remove protect_list.
788 (begin_protect_partials, end_protect_partials): Remove.
789 (add_partial_entry): Remove.
790 * except.h: Remove prototypes.
791
792 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
793 expand_decl_cleanup_eh.
794
795 PR c++/5636
796 * tree.h (CLEANUP_EH_ONLY): New macro.
797 * stmt.c (expand_decl_cleanup_eh): New fn.
798 (expand_cleanups): Check CLEANUP_EH_ONLY.
799 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
800 Use expand_decl_cleanup_eh.
801 (expand_stmt): Adjust.
802 * c-common.h: Adjust prototype.
803
053d3344
HPN
8042002-04-04 Hans-Peter Nilsson <hp@axis.com>
805
806 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
807 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
808 (cris_target_asm_function_epilogue): Ditto.
809 (cris_initial_frame_pointer_offset): Ditto.
810 (cris_simple_epilogue): Ditto.
811 (cris_expand_builtin_va_arg): Variable-size types come in
812 by-reference.
813
61ab5260
DM
8142002-04-03 David S. Miller <davem@redhat.com>
815
816 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
817 little-endian.
818 (set_fast_math): Correct 'fsr' type.
819
ef4f94ac
RH
8202002-04-03 Richard Henderson <rth@redhat.com>
821
36c2272c 822 PR opt/3569
ef4f94ac
RH
823 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
824 * toplev.c (check_global_declarations): Use it.
825 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
826 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
827 (LANG_HOOKS_DECLS): Add it.
828 * langhooks.c (lhd_warn_unused_global_decl): New.
829 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
830 * c-objc-common.c (c_warn_unused_global_decl): New.
831 * c-tree.h (c_warn_unused_global_decl): Declare.
832 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
833
599bba86
NB
8342002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
835
836 * langhooks-def.h (lhd_set_decl_assembler_name,
837 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
838 (LANG_HOOKS_INITIALIZER): Update.
839 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
840 * langhooks.h (struct lang_hooks): New hook.
841 * tree.c (set_decl_assembler_name): Move to langhooks.c.
842 (lang_set_decl_assembler_name): Remove.
843 (init_obstacks): Don't set hook.
844 (decl_assembler_name): New function.
845 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
846 (decl_assembler_name): New.
847 (lang_set_decl_assembler_name): Remove.
848
cf7b8b0d
JJ
8492002-04-03 Jakub Jelinek <jakub@redhat.com>
850
851 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
852 works properly with .hidden symbols.
853 * configure: Rebuilt.
854 * config.in: Rebuilt.
855 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
856 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
857 properly with .hidden symbols.
858
faf6db38
JJ
8592002-04-03 Jakub Jelinek <jakub@redhat.com>
860
861 PR middle-end/6102
862 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
863 USE argument.
864
68c17f30
RH
8652002-04-03 Richard Henderson <rth@redhat.com>
866
867 PR opt/4120
868 * sched-rgn.c (sets_likely_spilled): New.
869 (sets_likely_spilled_1): New.
870 (add_branch_dependences): Use it.
871
6584b4aa
RH
8722002-04-02 Richard Henderson <rth@redhat.com>
873
874 PR opt/4311
875 * loop.h (LOOP_FIRST_PASS): New.
876 * loop.c (strength_reduce): Mind it when deciding to unroll.
877 * toplev.c (rest_of_compilation): Set it.
878
0acf409f
DM
8792002-04-02 David S. Miller <davem@redhat.com>
880
881 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
882 mems_ok_for_ldd_peep when the order of the loads being examined
883 is reversed.
884 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
885 existing comment to increase comprehension of this situation.
886
85654444
ZW
8872002-04-02 Zack Weinberg <zack@codesourcery.com>
888
889 * config/sh/sh.md: Don't use union real_extract.
890
543828ca
RH
8912002-04-02 Richard Henderson <rth@redhat.com>
892
893 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
894
39ed301b
DB
8952002-04-02 David O'Brien <obrien@FreeBSD.org>
896
897 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
898 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
899 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
900 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
901 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
902 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
903 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
904 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
905 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
906 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
907 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
908 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
909 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
910 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
911 Include as many configury headers via tm_file as possible. This
912 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
913 * config/openbsd-oldgas.h: New file.
914 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
915 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
916 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
917 config/i386/i386-coff.h, config/i386/i386-interix.h,
918 config/i386/iscdbx.h, config/i386/linux-aout.h,
919 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
920 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
921 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
922 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
923 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
924 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
925 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
926 config/i386/vxi386.h: Do not directly include configury headers.
927 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
928 Directly include configury headers that are no longer automatically
929 included by the above headers.
930 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
931 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
932 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
933 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
934 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
935 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
936 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
937 (TARGET_VERSION): Define.
938 * config/i386/beos-elf.h, config/i386/freebsd.h,
939 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
940 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
941 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
942 config/i386/sco5.h, config/i386/sysv4.h
943 (TARGET_VERSION): Do not need to protect.
944 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
945 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
946 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
947 config/i386/i386-interix.h, config/i386/linux-aout.h,
948 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
949 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
950 (YES_UNDERSCORES): Do not define - not needed.
951 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
952 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
953 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
954 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
955 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
956 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
957 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
958 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
959
9432c136
EB
9602002-04-02 Eric Botcazou <ebotcazou@multimania.com>
961 Richard Henderson <rth@redhat.com>
962
963 PR c/5484
964 * function.c (assign_temp): Accept either type or decl argument.
965 Detect variables whose size is too large to fit into an integer.
966 * stmt.c (expand_decl): Pass the decl, not the type.
967
058b1275
DB
9682002-04-02 David O'Brien <obrien@FreeBSD.org>
969
970 * protoize.c: Match include directory usage with cppdefault.c.
971
5add6d1a 9722002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 973 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
974
975 * combine.c (simplify_comparison): Avoid narrowing a comparison
976 with a paradoxical subreg when doing so would drop signficant bits.
977
1e533e4b
SE
9782002-04-02 Steve Ellcey <sje@cup.hp.com>
979
980 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
981 if POINTERS_EXTEND_UNSIGNED is defined.
982
7a145e92
RH
9832002-04-02 Richard Henderson <rth@redhat.com>
984
985 PR opt/3967
986 * local-alloc.c (contains_replace_regs): LO_SUM may contain
987 replace regs.
988
3a079822
RH
9892002-04-02 Richard Henderson <rth@redhat.com>
990
991 * doc/standards.texi: Document required freestanding libc entry points.
992
c94ccb87
AM
9932002-04-02 Alan Modra <amodra@bigpond.net.au>
994
995 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
996 associated splitter. Remove MQ constraint.
997 (ctrdi_internal4): Correct CCmode clobber.
998
fe660a1a
JDA
9992002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
1000
1001 * milli64.S ($$dyncall): New function.
1002 * t-linux (LIB1ASMFUNCS): Revise module list.
1003 (LIB1ASMSRC): Use pa/milli64.S.
1004
eadc0202
RH
10052002-04-02 Richard Henderson <rth@redhat.com>
1006
1007 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
1008 rename solaris_sys_varargs_h.
1009
a1471322
RK
1010Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1011
1012 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
1013 the same mode as its component.
1014
c8b94768
RH
10152002-04-02 Richard Henderson <rth@redhat.com>
1016
1017 PR opt/190
1018 * final.c (this_is_asm_operands): Export.
1019 * output.h (this_is_asm_operands): Declare.
1020 * config/i386/i386.c (print_operand): Error odd asm operands.
1021
161eb4fc
RH
10222002-04-02 Richard Henderson <rth@redhat.com>
1023
1024 PR opt/420
1025 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
1026
b88a94c6
RH
10272002-04-01 Richard Henderson <rth@redhat.com>
1028
1029 PR target/1538
1030 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
1031 * fixinc/fixincl.x: Rebuild.
1032
72e32876
RH
10332002-04-01 Richard Henderson <rth@redhat.com>
1034
1035 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
1036 (atomic_alloc, atomic_free): New.
1037 (SIZE, MASK_FOR, PTR_IN): New.
1038 (emergency_reg_state, emergency_reg_state_free): New.
1039 (emergency_labeled_state, emergency_labeled_state_free): New.
1040 (reg_state_alloced, labeled_state_alloced): New.
1041 (alloc_reg_state, free_reg_state): New.
1042 (alloc_label_state, free_label_state, free_label_states): New.
1043 (push, pop, dup_state_stack, free_state_stack): Use them.
1044 (desc_label_state): Likewise.
1045 (uw_frame_state_for): Free label states and state stack.
1046 (uw_update_reg_address): Eliminate warnings.
1047
84d76074
VM
10482002-04-01 Vladimir Makarov <vmakarov@redhat.com>
1049
1050 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 1051 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 1052
dffd7eb6
NB
10532002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
1054
1055 * c-decl.c (grokdeclarator): Update.
1056 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
1057 * c-tree.h (c_mark_addressable): New.
1058 * c-typeck.c (default_function_array_conversion, build_unary_op,
1059 build_array_ref, convert_for_assignment): Update.
1060 (mark_addressable): Rename.
1061 * calls.c (try_to_integrate, expand_call): Use langhook.
1062 * expr.c (expand_expr): Use langhook.
1063 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
1064 * langhooks.h (struct lang_hooks): New hook.
1065 * stmt.c (expand_asm_operands): Use langhook.
1066 * tree.h (mark_addressable): Remove.
1067objc:
1068 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
1069
544ef5b5
BW
10702002-04-01 Bob Wilson <bob.wilson@acm.org>
1071
9be40833
RH
1072 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
1073 in previous change.
544ef5b5 1074
bcf88f9b
BW
10752002-04-01 Bob Wilson <bob.wilson@acm.org>
1076
1077 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
1078 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
1079
ceef8ce4
NB
10802002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
1081
1082 * c-common.c (unsigned_conversion_warning, convert_and_check,
1083 unsigned_type, signed_type, shorten_compare,
1084 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
1085 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
1086 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
1087 New.
1088 * c-decl.c (grokdeclarator): Update.
1089 * c-format.c (check_format_types): Update.
1090 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
1091 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
1092 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
1093 * convert.c (convert_to_integer): Use new hooks.
1094 * expmed.c (make_tree): Use new hooks.
1095 * expr.c (store_expr): Use new hooks.
1096 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
1097 all_ones_mask_p, unextend, fold): Use new hooks.
1098 * langhooks.h (struct lang_hooks_for_types): New hooks.
1099 * tree.h (signed_or_unsigned_type, signed_type,
1100 unsigned_type): Remove.
1101objc:
1102 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
1103 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
1104
1d9ad0e0
RH
11052002-03-31 Richard Henderson <rth@redhat.com>
1106
1107 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
1108 (desc_frgr_mem): Fix reference to f16-f31.
1109
d544bc39
KG
11102002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1111
1112 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
1113 RTVEC_ELT): Const-ify.
d8750784
KG
1114 * varray.h (VARRAY_CHECK): Const-ify.
1115 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
1116 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 1117
b18101c7
NB
11182002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
1119
1120 * diagnostic.c: Include langhooks-def.h.
1121 * Makefile.in (diagnostic.o): Update.
1122
48a7a235
NB
11232002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
1124
1125 * c-common.c (c_unsafe_for_reeval): Rename.
1126 * c-common.h (c_unsafe_for_reeval): Rename.
1127 * c-decl.c (finish_incomplete_decl): Rename.
1128 (c_init_decl_processing): Don't set langhook.
1129 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
1130 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
1131 * c-objc-common.c (c_objc_common_init): Don't set langhook.
1132 * c-tree.h (finish_incomplete_decl): Rename.
1133 * langhooks-def.h (lhd_unsafe_for_reeval): New.
1134 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
1135 (LANG_HOOKS_INITIALIZER): Update.
1136 * langhooks.c (lhd_unsafe_For_reeval): New.
1137 * langhooks.h (struct langhooks): New hooks.
1138 * toplev.c (incomplete_decl_finalize_hook): Remove.
1139 (wrapup_global_declarations): Update.
1140 * tree.c (lang_unsafe_for_reeval): Remove.
1141 (unsafe_for_reeval): Update.
1142 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
1143 Remove.
1144objc:
1145 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
1146 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
1147
7cb32822
NB
11482002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
1149
1150 * diagnostic.c (print_error_function): Remove.
1151 (default_print_error_function): Rename.
1152 (report_error_function): Update.
1153 * diagnostic.h (print_error_function): Remove.
1154 (default_print_error_function): Remove.
1155 * langhooks-def.h (struct diagnostic_context): Predeclare.
1156 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
1157 (LANG_HOOKS_INITIALIZER): Update.
1158 * langhooks.h (struct diagnostic context): Predeclare.
1159 (struct lang_hooks): New hook.
1160
1db02437
FS
11612002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1162
1163 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
1164 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
1165 !flag_pic.
1166 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
1167 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
1168 of PIC_OFFSET_TABLE_REGNUM thruout.
1169 * config/rs6000/rs6000.md: Likewise.
1170 * config/rs6000/darwin.h: Likewise.
1171
3bf1e984
RK
1172Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1173
1174 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
1175 unsigned HOST_WIDE_INT, not unsigned int.
1176
0864c526
JJ
11772002-03-31 Jakub Jelinek <jakub@redhat.com>
1178
1179 PR middle-end/6096, middle-end/6098, middle-end/6099
1180 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
1181 CODE_LABELs.
1182 (fill_slots_from_thread): Likewise.
1183
105b2084
JJ
11842002-03-31 Jakub Jelinek <jakub@redhat.com>
1185
1186 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
1187 floating fields in float regs.
1188 (function_arg_record_value_2): Likewise.
1189
db08fddf
HPN
11902002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
1191
1192 * config/mmix/mmix.md (define_constants): Remove misleading
1193 FIXME. Add MMIX_fp_rO_OFFSET.
1194 ("nonlocal_goto_receiver"): Don't have stack-frame address of
1195 saved rO as part of the pattern. Remove FIXME.
1196 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
1197 here, at output-time.
1198
4f31cce8
JJ
11992002-03-31 Jakub Jelinek <jakub@redhat.com>
1200
1201 PR middle-end/6100
1202 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
1203 REG_BR_PRED.
1204 (output_v9branch): Likewise.
1205
ba2b7435
AO
12062002-03-31 Alexandre Oliva <aoliva@redhat.com>
1207
1208 * gcc.c: Revert previous patch for now.
1209 * config/i386/djgpp.h: Likewise.
1210
aa66aa5f 12112002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
1212
1213 * config/mmix/crti.asm (_init): Register _fini with atexit.
1214 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
1215
41ba8a20
RH
12162002-03-31 Richard Henderson <rth@redhat.com>
1217
1218 PR target/3997
1219 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
1220 (ASM_OUTPUT_DEF_FROM_DECLS): New.
1221
adc186ef
RH
12222002-03-31 Richard Henderson <rth@redhat.com>
1223
1224 * libgcc2.c (__bb_exit_func): Make static.
1225
9be40833 1226 * config/alpha/alpha.md (trap): New.
a7648399 1227
9602f5a0
RH
12282002-03-31 Richard Henderson <rth@redhat.com>
1229
1230 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
1231 promoted argument types; build trap.
1232 (expand_builtin_trap): New.
1233 (expand_builtin): Use it.
1234 * stmt.c (expand_nl_goto_receivers): Likewise.
1235 * expr.h (expand_builtin_trap): Declare.
1236 * libfuncs.h (LTI_abort, abort_libfunc): New.
1237 * optabs.c (init_optabs): Init abort_libfunc.
1238
1a0a7539
AO
12392002-03-31 Alexandre Oliva <aoliva@redhat.com>
1240
1241 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
1242 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 1243 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
1244 shared_name in the second copy.
1245 (init_spec): Test for duplicate
1246 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
1247
b5de1a27
DM
12482002-03-30 David S. Miller <davem@redhat.com>
1249
1250 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1251 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
1252
78414d74 12532002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 1254 Richard Henderson <rth@redhat.com>
78414d74 1255
9be40833
RH
1256 * regmove.c (combine_stack_adjustments_for_block): Avoid
1257 emitting a stack adjustment of zero bytes. Let delete_insn
1258 update bb->head.
78414d74 1259
33074e5f
RH
12602002-03-30 Richard Henderson <rth@redhat.com>
1261
1262 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
1263 (sparc_emitting_epilogue): New.
1264 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
1265 * config/sparc/sparc-protos.h: Update.
1266 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
1267 (TARGET_SWITCHES): Update.
1268 * config/sparc/sparc.md (return): Remove.
1269 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
1270 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
1271 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
1272 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
1273 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
1274 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
1275 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
1276 Remove MASK_EPILOGUE.
1277 * doc/invoke.texi: Update.
1278
606cc056
DB
12792002-03-30 Daniel Berlin <dan@dberlin.org>
1280
1281 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
1282 CPP will start the file for us.
7b2e1077 1283
bdbe5b8d
RH
12842002-03-30 Richard Henderson <rth@redhat.com>
1285
1286 PR target/5446
1287 * config/ia64/ia64.c (group_barrier_needed_p): Special case
1288 prologue_allocate_stack.
1289 (ia64_single_set): Use insn codes for recognition of special
1290 cases, not rtl matching.
1291 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
1292
4ab95d82
JH
1293Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
1294
1295 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
1296
89a8b315
RH
12972002-03-30 Richard Henderson <rth@redhat.com>
1298
1299 PR target/6032
1300 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
1301 or -fomit-frame-pointer with profiling.
1302 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
1303 (FUNCTION_PROFILER): Do nothing.
1304 (PROFILE_HOOK): New.
1305 * config/sparc/sparc.c (sparc_override_options): Don't check
1306 code models for profiling.
1307 (sparc_function_profiler): Remove.
1308 (sparc_profile_hook): New.
1309 * config/sparc/sparc-protos.h: Update.
1310
30984c57
JJ
13112002-03-30 Jakub Jelinek <jakub@redhat.com>
1312
1313 PR optimization/6086
1314 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
1315 of SUBREG of volatile MEM or because the MEM was mode dependent,
1316 return CLOBBER instead of unmodified SUBREG.
1317
1540f9eb
JH
1318Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
1319
89a8b315
RH
1320 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
1321 when not optimizing.
1540f9eb
JH
1322
1323 * toplev.c (rest_of_compilation): Cann mark_constant_function
1324 only when optimizing.
1325
89a8b315
RH
1326 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
1327 are NULL.
1540f9eb
JH
1328
1329 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
1330 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
1331 (try_optimize_cfg): clear all AUX fields.
1332
1333 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
1334 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
1335 (ix86_address_cost): Be prepared for SUBREGed registers.
1336 (legitimate_address_p): Accept SUBREGed registers.
1337
70d95bac
RH
13382002-03-29 Richard Henderson <rth@redhat.com>
1339
1340 PR target/5672
1341 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
1342
d3294cd9
FS
13432002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1344
1345 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
1346 for aggregate and TFmode types.
1347
a106c875
HPN
13482002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
1349
1350 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
1351
7d7a5d6f
RH
13522002-03-29 Richard Henderson <rth@redhat.com>
1353
6e2d670b 1354 PR target/5886
7d7a5d6f
RH
1355 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
1356 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
1357
30c99a84
RH
13582002-03-29 Richard Henderson <rth@redhat.com>
1359
6e2d670b 1360 PR target/6041
30c99a84
RH
1361 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
1362 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
1363 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
1364 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
1365 conditional.
1366 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
1367
02a566dc
DJ
13682002-03-29 Dale Johannesen <dalej@apple.com>
1369
1370 * loop.c (combine_movables): Do allow combination of pseudos.
1371
bc3a44db
LR
13722002-03-29 Loren J. Rittle <ljrittle@acm.org>
1373
1374 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
1375 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
1376 No functional change except ...
1377 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
1378 * doc/install.texi (*-*-freebsd*): Document port configuration.
1379
b0c48229
NB
13802002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
1381
1382 * Makefile.in (convert.o, calls.o, expmed.o): Update.
1383 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
1384 Use new hooks.
1385 * builtin-types.def (BT_PTRMODE): Update.
1386 * c-common.c (type_for_size): Rename c_common_type_for_size.
1387 (type_for_mode): Similarly.
1388 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
1389 Use new hook.
1390 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
1391 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
1392 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
1393 Redefine.
1394 * c-typeck.c (common_type, comptypes, default_conversion):
1395 Use new hooks.
1396 * calls.c: Include langhooks.h.
1397 (emit_library_call_value_1): Use new hooks. Avoid redundant
1398 calls.
1399 * convert.c: Include langhooks.h
1400 (convert_to_pointer, convert_to_integer): Use new hooks.
1401 * except.c (init_eh): Similarly.
1402 * expmed.c: Include langhooks.h.
1403 (expand_mult_add): Use new hooks.
1404 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
1405 try_casesi): Similarly.
1406 * fold-const.c (optimize_bit_field_compare, make_range,
1407 decode_field_reference, fold_truthop, fold): Similarly.
1408 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
1409 put_var_into_stack): Similarly.
1410 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
1411 LANG_HOOKS_TYPE_FOR_SIZE): New.
1412 (LANG_HOOKS_TYPES_INITIALIZER): Update.
1413 * langhooks.h (lang_hooks_for_types): New hooks.
1414 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
1415 * tree.c (get_unwidened, get_narrower): Similarly.
1416 * tree.h (type_for_mode, type_for_size): Remove.
1417 * varasm.c (force_const_mem): Use new hooks.
1418 * utils2.c (nonbinary_modular_operation): Update.
1419objc:
1420 * objc-act.c (handle_impent): Update.
1421 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
1422 Redefine.
1423
e206a74f
SE
14242002-03-29 Steve Ellcey <sje@cup.hp.com>
1425
1426 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
1427 * config/ia64/ia64.c (basereg_operand): New.
1428 * config/ia64/ia64-protos.h (basereg_operand): Declare.
1429 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
1430
7d9b6378
HPN
14312002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
1432
1433 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
1434 unwind information when frame_pointer_needed.
1435 (mmix_assemble_integer): Tweak wording in comment.
1436
f1e639b1
NB
14372002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
1438
1439 * Makefile.in (except.o): Update.
1440 * except.c: Include langhooks.h.
1441 (init_eh): Use langhook.
1442 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
1443 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
1444 (LANG_HOOKS_INITIALIZER): Update.
1445 * langhooks.h (lang_hooks_for_types): New.
1446 (struct lang_hooks): Add it.
1447 * tree.c (make_lang_type_fn, make_lang_type): Remove.
1448 * tree.h (make_lang_type_fn, make_lang_type): Remove.
1449config:
1450 * alpha/alpha.c: Include langhooks.h.
1451 (alpha_build_va_list): Use langhook.
1452 * d30v/d30v.c: Include langhooks.h.
1453 (d30v_build_va_list): Use langhook.
1454 * i386/i386.c: Include langhooks.h.
1455 (ix86_build_va_list): Use langhook.
1456 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
1457 * s390/s390.c: Include langhooks.h.
1458 (s390_build_va_list): Use langhook.
1459 * stormy16/stormy16.c: Include langhooks.h.
1460 (stormy16_build_va_list): Use langhook.
1461
f17f9332
JJ
14622002-03-29 Jakub Jelinek <jakub@redhat.com>
1463
1464 PR c++/5964
1465 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
1466 attributes.
1467 (length): Compute variable length for branches/calls/jumps here.
1468 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
1469 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
1470 define branch_type attribute.
1471 (divsi3_sp32): Maximum length is 6 not 7.
1472 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
1473 call_address_untyped_struct_value_sp32,
1474 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
1475 * config/sparc/sparc.c (empty_delay_slot): New function.
1476 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
1477 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
1478
0a0440c9
JJ
14792002-03-29 Jakub Jelinek <jakub@redhat.com>
1480
1481 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
1482 nonzero_bits if not needed.
1483 (nonzero_bits) [XOR]: Likewise.
1484 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
1485 reg_last_set_mode and mode are both MODE_INT, but not equal.
1486 (record_value_for_reg): Compute reg_last_set_nonzero_bits
1487 in nonzero_bits_mode for MODE_INT modes.
1488
c9045f47
RH
14892002-03-28 Richard Henderson <rth@redhat.com>
1490
1491 PR target/5715
1492 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
1493 to GAS. Correct drift between alternatives.
1494
f8ed1958
RH
14952002-03-28 Richard Henderson <rth@redhat.com>
1496
1497 PR target/6087
1498 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
1499
54e20385
LR
15002002-03-28 Alexandre Oliva <aoliva@redhat.com>
1501
1502 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
1503 emulation to the linker.
1504
15052002-03-28 Loren J. Rittle <ljrittle@acm.org>
1506
1507 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
1508 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
1509
8bc52806
JL
1510Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
1511
1512 * combine.c (simplify_and_const_int): Make sure to apply mask
1513 when force_to_mode returns a constant integer. PR3311.
1514
279dccc5
JDA
15152002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
1516
1517 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
1518
62aaa62c
GP
15192002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1520
1521 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
1522 and Objective-C Dialect Options.
1523
b8de5050
RH
15242002-03-28 Richard Henderson <rth@redhat.com>
1525
1526 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
1527 comparison should be done vs !=0 not >0 return code. Tidy cases.
1528
619708cc
RH
15292002-03-28 Richard Henderson <rth@redhat.com>
1530
1531 * c-decl.c (finish_function): New arg can_defer_p. Pass it
1532 on to c_expand_body.
1533 * c-tree.h (finish_function): Update decl.
1534 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
1535
b1d874d7
JH
1536Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
1537
1538 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
1539
f5eb5fd0
JH
1540Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
1541
1542 * rtlanal.c: Include flags.h
1543 (may_trap_p): Do not mark FP operations if trapping
1544 if !flag_trapping_math
1545 * Makefile.in (rtlanal.o): Add dependency on flag.h
1546 * ifcvt.c (noce_operand_ok): Avoid the lameness.
1547
81b4c798
ZW
15482002-03-27 Zack Weinberg <zack@codesourcery.com>
1549
1550 * mips.md: Use dconst1, not 1.0, as first argument of
1551 REAL_VALUE_LDEXP. Don't use union real_extract.
1552
55a2ea2a
AM
15532002-03-28 Alan Modra <amodra@bigpond.net.au>
1554
1555 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
1556 rather than $target. Heed program_prefix and
1557 program_transform_name. Search for gas in cross-compiler case too.
1558 "test -x" rather than "test -f".
1559 (gcc_cv_ld): Likewise.
1560 (gcc_cv_nm): Heed program_prefix and program_transform_name.
1561 (gcc_cv_objdump): Likewise.
1562 * configure: Regenerate.
1563
7ffb4fd2
NB
15642002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
1565
1566 * Makefile.in (attribs.o): Update.
1567 * attribs.c: Include langhooks.h.
1568 (decl_attributes): Use langhook.
1569 * c-decl.c (insert_default_attributes): Rename.
1570 * c-tree.h (c_insert_default_attributes): New.
1571 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
1572 (LANG_HOOKS_INITIALIZER): Update.
1573 * langhooks.h (struct lang_hooks): New hook.
1574 * tree.h (insert_default_attributes): Remove.
1575objc:
1576 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
1577
e4dbaed5
AS
15782002-03-27 Andreas Schwab <schwab@suse.de>
1579
1580 * config/i386/i386.c (classify_argument): Also check for
1581 QUAL_UNION_TYPE.
1582
18b467f1
RO
15832002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1584
1585 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
1586 any more.
1587
d337d653
JH
1588Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
1589
1590 * i960.md (ret): Set PC.
1591 (nonlocal_goto): Fix expander.
1592 * builtins.c (epxand_builin_longjmp): Check that we've emitted
1593 some jump or call.
1594
218aa620
JH
1595Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
1596
1597 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
1598 of libcall regions.
1599
e27a4eaf
ZD
1600Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1601
1602 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
1603 assigning to BLOCK_FOR_INSN directly.
1604
8a12f34c
JH
1605Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
1606
1607 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
1608
c9d892a8
NB
16092002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
1610
1611 * c-common.c (c_expand_expr): Fix prototype.
1612 * c-common.h (c_expand_expr): Always declare, update.
1613 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
1614 * c-objc-common.c (c_objc_common_init): No global hook.
1615 * expr.c (expand_expr): Use langhook.
1616 * expr.h (enum expand_modifier): Conditionally declare.
1617 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
1618 (LANG_HOOKS_INITIALIZER): Update.
1619 * langhooks.c (lhd_expand_expr): New.
1620 * langhooks.h (struct lang_hooks): New hook.
1621 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
1622 (lang_independent_init): Don't default hook.
1623objc:
1624 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
1625
6dad5a56
RH
16262002-03-27 Richard Henderson <rth@redhat.com>
1627
1628 PR target/6054
1629 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
1630 TARGET_CONST_GP. Simplify conditions.
1631
59f96879
RH
16322002-03-27 Richard Henderson <rth@redhat.com>
1633
1634 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
1635 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
1636 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
1637
f3f1190d
DS
16382002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
1639
1640 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
1641 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
1642 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
1643 Remove unnecessary masks.
1644 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
1645 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
1646 -mwindows, -mdll switches and their negations.
1647
31c816cf
NB
16482002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
1649
1650 * gcc-common.c (lang_mark_false_label_stack): Remove.
1651 * ggc.h (lang_mark_false_label_stack): Similarly.
1652
7b2e1077 16532002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
1654
1655 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
1656
1657 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
1658 or __rtems_ is defined.
1659
1ef9531b
RH
16602002-03-26 Richard Henderson <rth@redhat.com>
1661
1662 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
1663 if a non-trivial load was emitted.
1664 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
1665 in high+extra+low case.
1666
300d4093
RH
16672002-03-26 Richard Henderson <rth@redhat.com>
1668
1669 * config.gcc (sparc*-solaris): Use float_format=sparc.
1670
b3689904
RH
16712002-03-26 Richard Henderson <rth@redhat.com>
1672
1673 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
1674 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
1675 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
1676 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
1677 (WINT_TYPE_SIZE): Fix at 32.
1678
1eefb6c1
RH
16792002-03-26 Richard Henderson <rth@redhat.com>
1680
1681 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
1682 until after eh landing pad generation.
1683 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
1684 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
1685
361ea006
RH
16862002-03-26 Richard Henderson <rth@redhat.com>
1687
1688 * expr.h (ADD_PARM_SIZE): One more convert for INC.
1689
1de38a88
PE
16902002-03-26 Phil Edwards <pme@gcc.gnu.org>
1691
1692 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
1693 and warning switches.
1694 (cc1_options): Likewise.
1695
d7e60e95 16962002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 1697
d7e60e95
HB
1698 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
1699 Restore more of the signal context. Set no_reg_stack_frame.
1700 * config/ia64/unwind-ia64.c (unw_state_record):
1701 Add no_reg_stack_frame, comments.
1702 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
1703 (uw_update_context): Adjust bsp when unwinding from leaf,
1704 but not signal frame.
1705
7032923b
DE
17062002-03-26 David Edelsohn <edelsohn@gnu.org>
1707
1708 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
1709
8be56275
BW
17102002-03-26 Bob Wilson <bob.wilson@acm.org>
1711
1712 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
1713
56fbb855
RE
17142002-03-26 Richard Earnshaw <rearnsha@arm.com>
1715
1716 PR target/5621
1717 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
1718 "Add a pool_range attribute", which was lost during the ARM/Thumb
1719 merge.
1720
3437320b
BW
17212002-03-26 Bob Wilson <bob.wilson@acm.org>
1722
1723 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
1724 a register into the MAC16 accumulator.
1725
173028e5
AC
17262002-03-26 Andrew Cagney <ac131313@redhat.com>
1727
1728 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
1729 (Warning Options): Document -Wswitch-enum.
1730 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
1731 -Wswitch.
1732 (warn_switch_enum): Define variables.
1733 * flags.h (warn_switch_enum): Declare variables.
1734 * stmt.c (expand_end_case_type): When warn_switch_enum /
1735 -Wswitch-enum, perform switch checks.
1736 Fix PR c/5044.
7b2e1077 1737
e14365a7
RE
17382002-03-26 Richard Earnshaw <rearnsha@arm.com>
1739
1740 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
1741 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
1742 (reload_muladdsi_compare0_scratch): Delete.
1743
46fc709d
LR
17442002-03-26 Loren J. Rittle <ljrittle@acm.org>
1745
1746 * doc/install.texi (*-*-freebsd*): Update.
1747
f36dea3c
RH
17482002-03-26 Richard Henderson <rth@redhat.com>
1749
8e5fe23f
RH
1750 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
1751 (SUB_PARM_SIZE): Cast DEC to ssizetype.
1752
1753 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
1754 types from the normal argument frame.
1755
f36dea3c
RH
1756 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
1757 variable sized objects by reference.
1758 (sparc_va_arg): Receive them by reference too.
1759
1447dc69
HP
17602002-03-26 Hartmut Penner <hpenner@de.ibm.com>
1761
1762 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 1763 code to not restoring global registers.
1447dc69 1764
4f0ade92
NB
17652002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
1766
1767 * Makefile.in (ggc-common.o): Update.
1768 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
1769 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
1770 * c-tree.h (c_mark_tree): New.
1771 * ggc-common.c: Include langhooks.h.
1772 (gcc_mark_trees): Use new langhook.
1773 * ggc-callbacks.c: Delete file.
1774 * ggc.h (lang_mark_tree): Remove.
1775 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
1776 (LANG_HOOKS_INITIALIZER): Update.
1777 * langhooks.h (struct lang_hooks): New hook.
1778objc:
1779 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
1780
caba570b
ZW
17812002-03-25 Zack Weinberg <zack@codesourcery.com>
1782
1783 * doc/cpp.texi: Exclude entire Top node from printed manual.
1784 Move option index after directive index. Insert page breaks
1785 before GFDL and concept index. Index environment variables
1786 with command line options.
1787 * doc/cppenv.texi: Use @vtable for environment variable list.
1788 Add paragraph explaining semantics of empty elements in path
1789 variables. Exclude a cross-reference to Fishkill from the
1790 manpage. Remove an unnecessary cross-reference of the entry
1791 right above the referer. Don't use @anchor in text that goes
1792 into manpage.
1793 * doc/cppopts.texi: Cross-reference the environment variables
1794 section, not the specific environment variable, for consistency.
1795
6b2e80b7
RH
17962002-03-25 Richard Henderson <rth@redhat.com>
1797
1798 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
1799 anywhere in the block. Don't refer to insns that have been
1800 removed from the chain. Iterate backward through the new insns.
1801 Don't refer to edges that have been removed.
1802
67e469d7
AM
18032002-03-26 Alan Modra <amodra@bigpond.net.au>
1804
1805 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
1806 test for overflow of constant.
1807
f2356393
RE
18082002-03-25 Richard Earnshaw <rearnsha@arm.com>
1809
1810 PR target/2623
1811 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
1812 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
1813 these patterns on arm_archv4.
1814
355426ab
DS
18152002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
1816
1817 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
1818 int".
1819
15e5ad76
ZW
18202002-03-25 Zack Weinberg <zack@codesourcery.com>
1821
1822 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
1823 float_handled, float_handler, float_signal, set_float_handler,
1824 and do_float_handler. Set handler for SIGFPE to crash_signal.
1825 * toplev.h: Don't prototype do_float_handler.
1826
1827 * c-lex.c: Fold parse_float into lex_number. Make warning
1828 about portability of hex float constants more informative, and
1829 don't issue it on top of a syntax error.
1830 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
1831 their callers.
1832 * real.h: Define REAL_VALUE_ABS here...
1833 * simplify-rtx.c: ... not here. Fold check_fold_consts,
1834 simplify_unary_real, simplify_binary_real, and
1835 simplify_binary_is2orm1 into their callers.
1836 * tree.c: Fold build_real_from_int_cst_1 into caller.
1837
1838 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
1839
1840 * tsystem.h: Include float.h here...
1841 * libgcc2.c: ... not here.
1842
56ae9405
NC
18432002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
1844
1845 Fixes for: PR bootstrap/3591, target/5676
1846 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
1847 defined. Do not disable exceptions or rtti.
1848 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
1849 mcore.h. Disable exceptions and rtti, since they are not
1850 supported by EPOC.
1851
c88770e9
NB
18522002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
1853
1854 * c-decl.c (maybe_build_cleanup): Remove.
1855 * expr.c (expand_expr): Use langhook.
1856 * langhooks-def.h (lhd_return_null_tree,
1857 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
1858 (LANGHOOKS_INITIALIZER): Update.
1859 * langhooks.c (lhd_return_null_tree): New.
1860 * langhooks.h (struct lang_hooks): New hook.
1861 * tree-inline.c (initialize_inlined_parameters): Use langhook.
1862 * tree.h (maybe_build_cleanup): Remove.
1863
2ed1f154
JJ
18642002-03-25 Jakub Jelinek <jakub@redhat.com>
1865
1866 * regrename.c (build_def_use): Move recog_memoized
1867 before extract_insn.
1868
6ddae612
JJ
18692002-03-25 Jakub Jelinek <jakub@redhat.com>
1870
1871 PR target/6043
1872 * expr.c (emit_group_store): Handle storing into CONCAT.
1873
ea475b23
JJ
18742002-03-25 Jakub Jelinek <jakub@redhat.com>
1875
1876 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
1877 corresponding MATCH_DUP.
1878
e7d482b9
RH
18792002-03-24 Richard Henderson <rth@redhat.com>
1880
cd39fc13
RH
1881 * unroll.c (unroll_loop): Zero label_map.
1882
e7d482b9
RH
1883 * gcse.c: Include except.h.
1884 * Makefile.in (gcse.o): Update.
1885
1bd6476f
RH
18862002-03-24 Richard Henderson <rth@redhat.com>
1887
1888 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
1889 Do resolve_unique_section before shared data clause.
1890
2e6c150a
RH
18912002-03-24 Richard Henderson <rth@redhat.com>
1892
1893 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
1894
b29afcf8
RH
18952002-03-24 Richard Henderson <rth@redhat.com>
1896
15e5ad76 1897 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
1898 generated in the middle of a block. Do global life update if
1899 zapped EH edges.
1900
05ed1296
RH
19012002-03-24 Richard Henderson <rth@redhat.com>
1902
1903 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
1904
3ddbb8a9
NB
19052002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
1906
1907 preprocessor/3951
15e5ad76 1908 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
1909 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
1910 (init_dependency_output): Don't make no_output decision here.
1911
740b77b6
AC
19122002-03-24 Andrew Cagney <ac131313@redhat.com>
1913
1914 * stmt.c (check_for_full_enumeration_handling): Remove tests of
1915 warn_switch. Update description.
1916 (expand_end_case_type): Call check_for_full_enumeration_handling
1917 when warn_switch.
1918
7590cfd0
SC
19192002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1920
1921 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
1922 (m68hc11_split_move): Call it to see if the source and destination
1923 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 1924 source an offsetable memory operand and generate an add.
7590cfd0 1925
2e3d3481
SC
19262002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1927
1928 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
1929 register for operand 2.
1930 ("*subsi3_zero_extendqi"): Likewise.
1931 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
1932 bits so that it is compatible with a pop.
1933 ("*andhi3_gen"): Likewise.
1934 ("xorhi3"): Likewise.
1935
2784528c
NB
19362002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
1937
1938 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
1939 -pedantic here...
1940 (cpp_post_options): ... not here.
1941
aaf93206
NB
19422002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
1943 Aldy Hernandez <aldyh@redhat.com>
1944
1945 Removal of separate preprocessor cpp0.
1946
1947 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
1948 cpp0, install-common): Update.
1949 * c-common.c (flag_preprocess_only): New.
1950 (c_common_init): Preprocess for -E.
1951 * c-common.h (flag_preprocess_only): New.
1952 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
1953 * c-objc-common.c (c_init_decl_processing): Exit quickly
1954 for NULL return from c_common_init.
1955 * cpplib.h (cpp_preprocess_file): New.
1956 * cppmain.c (main, general_init, pfile, progname): Remove.
1957 (do_preprocessing): Rename cpp_preprocess_file, don't call
1958 cpp_finish. Don't close stdout here.
1959 (setup_callbacks): Update prototype.
1960 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
1961 Update.
1962 * tradcpp.c (main): Ignore -quiet.
1963objc:
1964 * lang-specs.h (default_compilers): Preprocess with cc1obj.
1965
c6e6f5c1
RH
19662002-03-24 Richard Henderson <rth@redhat.com>
1967
1968 PR optimization/5742
1969 * machmode.def: Add inner mode field to complex modes.
1970 * config/mips/mips.c (mips_function_value): Always define. Add
1971 new argument to handle libcalls.
1972 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
1973 (FUNCTION_VALUE): Likewise.
1974 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
1975 * config/mips/mips-protos.h: Update.
1976
d88e57d1
RH
19772002-03-23 Richard Henderson <rth@redhat.com>
1978
1979 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
1980 * config/sparc/sparc-protos.h: Update.
1981 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
1982
6dfaf9ba
RH
19832002-03-23 Richard Henderson <rth@redhat.com>
1984
1985 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
1986 _start or _init begins the text segment.
1987
0c769cf8
DE
19882002-03-23 David Edelsohn <edelsohn@gnu.org>
1989
1990 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
1991 not HOST_WIDEST_INT.
1992 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
1993
64e92a26
RE
19942002-03-23 Richard Earnshaw <rearnsha@arm.com>
1995
1996 PR java/5489
1997 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
1998 operand argument to output_return_instruction.
15e5ad76 1999 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
2000 const_true_rtx then just return.
2001 (arm_print_operand, case 'D'): If the operand is const_true_rtx
2002 then abort.
2003
d6961341
AC
20042002-03-23 Andrew Cagney <ac131313@redhat.com>
2005
2006 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
2007 (Warning Options): Document -Wswitch-default.
2008 * toplev.c (W_options): Add -Wswitch-default. Update comment on
2009 -Wswitch.
2010 (warn_switch_default): Define variable.
2011 (warn_switch): Update comment.
2012 * flags.h (warn_switch_default): Declare variable.
2013 (warn_switch): Update comment.
2014 * stmt.c (expand_end_case): Check for and, when
2015 warn_switch_no_default, warn of a missing default case.
15e5ad76 2016
d4c5ac1f
AM
20172002-03-23 Alan Modra <amodra@bigpond.net.au>
2018
bbaa9790
AM
2019 * real.h (N): Special case 128 bit doubles.
2020
d4c5ac1f
AM
2021 * combine.c (simplify_comparison): When widening modes, ignore
2022 sign extension on CONST_INTs.
2023
84bf8c2c
BW
20242002-03-22 Bob Wilson <bob.wilson@acm.org>
2025
2026 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
2027 passed to adjust_address. Fix comment formatting.
2028
2029
b216cd4a
ZW
20302002-03-22 Zack Weinberg <zack@codesourcery.com>
2031
2032 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
2033 Always make REAL_VALUE_TYPE a struct containing an array of
2034 HOST_WIDE_INT, not a double. Tidy up the code deciding how
2035 big it is. Don't declare or use union real_extract.
2036
2037 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
2038 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
2039 (print_operand), config/arm/arm.c (output_move_double),
2040 config/arm/arm.md (consttable_4, consttable_8),
2041 config/romp/romp.c (output_fpops), config/s390/s390.h
2042 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
2043 (xtensa_output_literal): Don't use union real_extract.
2044
2045 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
2046 (sfmode_constant_to_ulong), config/ns32k/merlin.h
2047 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
2048 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
2049 (PRINT_OPERAND): Don't use local version of union
2050 real_extract.
2051
2052 * config/convex/convex.c (check_float_value), config/vax/vax.c
2053 (vax_float_literal), config/m88k/m88k.md (divdf3),
2054 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
2055 config/pdp11/pdp11.c (output_move_quad): Don't do host
2056 arithmetic on target floating point quantities.
2057
2058 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
2059 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
2060
2061 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
2062 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
2063
2064 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
2065 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
2066 INFINITY.
2067 * print-rtl.c (print_rtx): Disable code which needs
2068 floating-point emulator.
2069 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
2070 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
2071 depending on HOST_FLOAT_FORMAT to be defined properly.
2072
2073 * config/1750a/1750a.c (get_double, float_label): Delete.
2074 (print_operand): Delete huge commented-out chunk. Use
2075 REAL_VALUE_TO_DECIMAL.
2076 * config/1750a/1750a-protos.h: Delete prototypes of deleted
2077 functions.
2078 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
2079 IEEE_FLOAT_FORMAT.
2080 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
2081 Use REAL_VALUE_TO_DECIMAL as ELF version does.
2082 * config/m88k/m88k.c (real_power_of_2_operand,
2083 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
2084 real_extract out of the union; run the input through
2085 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
2086 from that into the union.
2087 * config/pdp11/pdp11.c (output_move_double): Rearrange
2088 parentheses to make automatic indenter happy.
2089
2090 * doc/tm.texi (Cross-compilation): Rename node to "Floating
2091 Point" and rewrite to describe current situation. Also adjust
2092 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
2093 match code.
2094 * doc/rtl.texi: Adjust cross reference.
2095
a8cacfd2
BW
20962002-03-22 Bob Wilson <bob.wilson@acm.org>
2097
2098 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
2099 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
2100 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
2101 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
2102 prevent use of sp as a reload register.
2103 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
2104 non_acc_reg_operand.
2105 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
2106 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
2107 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
2108 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
2109
d4e6133f
NB
21102002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
2111
b216cd4a
ZW
2112 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
2113 * cpplex.c (unterminated): Delete.
2114 (parse_string): No string literal may extend over multiple
2115 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
2116 * cppmain.c (scan_translation_unit): Strings are single-line.
2117
b216cd4a 2118 * doc/cpp.texi: Update to match.
d4e6133f 2119
65e6c005
JJ
21202002-03-22 Jakub Jelinek <jakub@redhat.com>
2121
2122 PR optimization/5854
2123 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
2124 Shut up warnings.
2125 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
2126 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
2127 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
2128 const0 if scratch register was not allocated.
2129 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
2130 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
2131 with GEN_INT (...).
2132 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
2133 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
2134 with GEN_INT (...) everywhere. Remove constraints in define_split
2135 patterns.
2136 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
2137 require scratch register for setting 0 into regs/non-pushable memory.
2138
7f48c9e1
AO
21392002-03-22 Alexandre Oliva <aoliva@redhat.com>
2140
2141 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
2142 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
2143
909de5da
PE
21442002-03-22 Phil Edwards <pme@gcc.gnu.org>
2145
2146 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
2147 * cppinit.c (cpp_create_reader): On by default.
2148 (cpp_handle_option): Handle -W[no-]endif-labels.
2149 (cpp_post_options): Also enable if -pedantic.
2150 * cpplib.c (do_else): Use it.
2151 (do_endif): Likewise.
2152 * doc/cppopts.texi: Document new option.
2153 * doc/invoke.texi: Document new option.
2154
d8bf17f9
LB
21552002-03-22 Lars Brinkhoff <lars@nocrew.org>
2156
2157 * config/i386/i386.c, config/i386/i386.md: Change all occurences
2158 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
2159
70e0ccd0
AO
21602002-03-22 Alexandre Oliva <aoliva@redhat.com>
2161
2162 * flow.c (calculate_global_regs_live): Clear aux fields of
2163 ENTRY and EXIT.
2164
68882f0f
JJ
21652002-03-22 Jakub Jelinek <jakub@redhat.com>
2166
2167 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
2168 REG or MEM subregs, pass rtx * instead of rtx to it.
2169 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
2170 rtx * instead of rtx to alter_subreg.
2171 * config/m32r/m32r.c (gen_split_move_double): Likewise.
2172 * config/pj/pj.c (pj_output_rval): Likewise.
2173
648fe28b
RH
21742002-03-22 Richard Henderson <rth@redhat.com>
2175
2176 PR target/3177
2177 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
2178 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
2179 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
2180 (ia64_expand_prologue): Look at int_regs, not words, for number
2181 of incomming int regs.
2182
e8dcd824
AM
21832002-03-22 Andrew MacLeod <amacleod@redhat.com>
2184
2185 * expr.c (expand_expr): A RESULT_DECL is part of a call.
2186
96327cdc
JH
2187Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
2188
2189 * toplev.c (flag_loop_optimize, flag_crossjumping):
2190 New static variables.
2191 (rest_of_compilation): Conditionalize crossjumping and
2192 loop optimizer.
2193 (parse_options_and_default_flags): Default loop_optimize and
2194 crossjumping.
2195 (lang_independent_options): Add -fcrossjumping and -floop-optimize
2196 * invoke.texi (crossjumping, loop-optimize): Document.
2197
bc185257
RS
21982002-03-22 Richard Sandiford <rsandifo@redhat.com>
2199
2200 * real.c (eiisneg): Move outside #ifdef NANS.
2201
0a2ed1f1
JH
2202Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
2203
2204 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
2205 frequencies match; avoid match on different loop depths.
2206 (try_crossjump_to_bb): Kill tests that no longer brings time
2207 savings.
2208 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
2209 updating code.
2210 (split_edge): Likewise.
2211
2212 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
2213 variable.
2214
2215 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
2216 * cfgrtl.c: Include insn-config.h
2217 (split_block) Dirtify block in presence of conditional execution
2218
4d72536e
RS
22192002-03-22 Richard Sandiford <rsandifo@redhat.com>
2220
2221 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
2222 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
2223 (function_arg): Constify CUMULATIVE_ARGS.
2224 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
2225 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
2226 (UNITS_PER_DOUBLE): New macro.
2227 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
2228 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
2229 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
2230 fp_regs and stack_words.
2231 (EABI_FLOAT_VARARGS_P): New macro.
2232 * config/mips/mips.c (struct mips_arg_info): New.
2233 (mips_arg_info): New function.
2234 (function_arg_advance): Use it. Add adjustment instructions here
2235 rather than in function_arg.
2236 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
2237 for VOIDmode at the beginning of the function.
2238 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
2239 (function_arg_pass_by_reference): Likewise.
2240 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
2241 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
2242 (mips_va_start): Likewise. Use the new stack_words field of
2243 CUMULATIVE_ARGS to set up overflow area. Reformat.
2244 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
2245 doubles and other types, aligning the overflow pointer for non-doubles
2246 too. Remove some code duplication. Replace hard-coded constants.
2247
e6f884cd
RS
22482002-03-22 Richard Sandiford <rsandifo@redhat.com>
2249
2250 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
2251 (CLASS_UNITS): Undefine.
2252 (CLASS_MAX_NREGS): Use FP_INC.
2253 * config/mips/mips.c (compute_frame_size): Likewise.
2254 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
2255
10cf9bde
NB
22562002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
2257
2258 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
2259 prototype, and handle lexing numbers and identifiers.
2260 (parse_identifier): Update to new form of parse_slow.
2261 (parse_number): Fast path only, use parse_slow otherwise.
2262 (_cpp_lex_direct): Update calls to parse_number.
2263
fbc2782e
DD
22642002-03-21 DJ Delorie <dj@redhat.com>
2265
2266 * bb-reorder.c (make_reorder_chain_1): Protect against
2267 when redundant edges are omitted.
2268 * predict.c (dump_prediction): Likewise.
2269
fba39eaf
RH
22702002-03-21 Richard Henderson <rth@redhat.com>
2271
2272 PR target/5996
2273 * fixinc/inclhack.def (solaris_stdio_tag): New.
2274 * fixinc/fixincl.x: Regenerate.
2275
eba80994
EB
22762002-03-21 Eric Botcazou <ebotcazou@multimania.com>
2277
2278 PR c/5597
2279 * c-typeck.c (process_init_element): Flag non-static
2280 initialization of a flexible array member as illegal.
2281
2a78758b
AM
22822002-03-22 Alan Modra <amodra@bigpond.net.au>
2283
2284 * config/rs6000/t-linux64: New.
2285 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
2286 t-ppccomm. Use t-rs6000 and t-linux64.
2287 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
2288 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
2289 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
2290 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 2291
2cb921f4
AH
22922002-03-21 Aldy Hernandez <aldyh@redhat.com>
2293
eba80994
EB
2294 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
2295 flag_really_no_inline instead of optimize == 0.
2cb921f4 2296
eba80994 2297 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 2298
eba80994 2299 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 2300
eba80994 2301 * flags.h (flag_really_no_inline): New.
2cb921f4 2302
659e5a7a 2303 * c-common.c (c_common_post_options): Initialize
eba80994 2304 flag_really_no_inline.
2cb921f4 2305
eba80994 2306 * toplev.c (flag_really_no_inline): New.
2cb921f4 2307
239b8b9d
JJ
23082002-03-21 Jakub Jelinek <jakub@redhat.com>
2309
2310 * config/avr/avr.md (length): Fix length computation for
2311 conditional branches.
2312
43577e6b
NB
23132002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
2314
2315 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
2316 sdbout.o, profile.o): Update.
2317 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
2318 langhook.
2319 * c-common.h (gettags): Move here from tree.h.
2320 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
2321 insert_block, getdecls, kept_level_p, global_bindings_p): New.
2322 * dbxout.c (dbxout_init): Use getdecls langhook.
2323 * expr.c (expand_expr): Use insert_block langhook.
2324 * fold-const.c: Include langhooks.h.
2325 (fold_range_test, fold_binary_op_with_conditional_arg,
2326 fold): Use global_bindings_p langhook.
2327 * integrate.c (expand_inline_function): Use insert_block langhook.
2328 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
2329 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
2330 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
2331 LANG_HOOKS_GETDECLS): New.
2332 (LANG_HOOKS_INITIALIZER): Update.
2333 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
2334 langhook.
2335 * langhooks.h (struct lang_hooks_for_decls): New.
2336 (struct lang_hooks): Update.
2337 * profile.c: Include langhooks.h.
2338 (output_func_start_profiler): Use new langhooks.
2339 * sdbout.c: Include langhooks.h.
2340 (sdbout_init, sdbout_finish): Use getdecls langhook.
2341 * stmt.c: Include langhooks.h.
2342 (expand_fixup, fixup_gotos): Use new langhooks.
2343 * stor-layout.c: Include langhooks.h.
2344 (variable_size): Use global_bindings_p langhook.
2345 * toplev.c (compile_file): Use getdecls langhook.
2346 * tree-inline.c (remap_block): Use insert_block langhook.
2347 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
2348 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
2349
5b19b10c
RH
23502002-03-21 Richard Henderson <rth@redhat.com>
2351
2352 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
2353 constants in .data when -fpic.
2354
e05af335
GP
23552002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2356
2357 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
2358 where appropriate.
2359
60ffc997
TT
23602002-03-21 Tom Tromey <tromey@redhat.com>
2361
2362 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
2363
75897075
RK
2364Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2365
a73afd69 2366 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 2367
75897075
RK
2368 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
2369
312687cf
EB
23702002-03-21 Eric Botcazou <ebotcazou@multimania.com>
2371 Richard Henderson <rth@redhat.com>
2372
2373 PR c/5354
2374 * c-common.c (c_expand_expr): Preserve result of a statement
2375 expression if needed.
2376
f0e1f482
JJ
23772002-03-21 Jakub Jelinek <jakub@redhat.com>
2378
2379 PR bootstrap/4195
2380 * genrecog.c (maybe_both_true_mode): Remove.
2381 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
2382 * machmode.def (Pmode): Likewise.
2383
c14b9960
JW
2384Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
2385
2386 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
2387 (nonlocal_mentioned_p_1): New function.
2388 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
2389 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
2390 (mark_constant_function): Recognize pure functions.
2391 * rtl.h (global_reg_mentioned_p): New prototype.
2392 * rtlanal.c (global_reg_mentioned_p,
2393 global_reg_mentioned_p_1): New function.
2394
aaa4d130
RO
23952002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2396
2397 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
2398 UNIX assert.h.
2399 * fixinc/fixincl.x: Regenerate.
2400
e5c4bd1b
JM
24012002-03-20 Jason Merrill <jason@redhat.com>
2402
2403 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
2404
852b81bb
MM
24052002-03-20 Michael Meissner <meissner@redhat.com>
2406
2407 * doc/invoke.texi (Optimize Options): Document that -O2 sets
2408 -fstrict-aliasing.
2409
86d8c251
BW
24102002-03-20 Bob Wilson <bob.wilson@acm.org>
2411
2412 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
2413 ".literal_position" directive before the constant pool.
2414
0a39c350
GP
24152002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2416
2417 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
2418 Add Craig Rodrigues.
2419 Add Brad Lucier to testers.
2420
71a83373
JJ
24212002-03-20 Jakub Jelinek <jakub@redhat.com>
2422
2423 PR target/4792
2424 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
2425 to if_then_else.
2426 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
2427 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
2428 instead of insn_extract.
2429
a29b099d
JJ
24302002-03-20 Jakub Jelinek <jakub@redhat.com>
2431
2432 PR bootstrap/4192
71a83373 2433 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
2434
2435 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
2436 stmt if some case has been output.
2437
048b1c95
JJ
24382002-03-20 Jakub Jelinek <jakub@redhat.com>
2439
2440 PR c/5972
2441 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
2442 movsfcc_1, movdfcc_1): Add %O2.
2443 * config/i386/i386.c (print_operand): Handle %ON.
2444 Print . before float condition codes in Sun as cmov syntax.
2445 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
2446 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
2447 no longer true.
2448
f4864588
PB
24492002-03-20 Philip Blundell <pb@nexus.co.uk>
2450
2451 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
2452 return instruction if PC was popped.
2453
3a307de4
BW
24542002-03-20 Bob Wilson <bob.wilson@acm.org>
2455
2456 * config/xtensa/xtensa.md: Remove unused type attributes.
2457 (adddi_carry, subddi_carry): Change type attribute to "multi".
2458
048b1c95 24592002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
2460
2461 PR optimization/5999, middle-end/5731
2462 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
2463 multiplications by reciprocals.
2464
7afff7cf
NB
24652002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
2466
2467 * Makefile.in: Update.
2468 * c-common.c: Include langhooks.h.
2469 (inline_forbidden_p): Use new hook.
2470 * diagnostic.c: Include langhooks.h.
2471 (format_with_decl, announce_function,
2472 default_print_error_function): Use new hook.
2473 * dwarf2out.c (dwarf2_name): Use new hook.
2474 * function.c: Include langhooks.h.
2475 (init_function_start): Use new hook.
2476 * langhooks-def.h (lhd_decl_printable_name): New.
2477 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
2478 (LANGHOOKS_INITIALIZER): Update.
2479 * langhooks.c (lhd_decl_printable_name): New.
2480 * langhooks.h (struct lang_hooks): New hook.
2481 * toplev.c (decl_name, decl_printable_name): Remove.
2482 (open_dump_file): Use new hook.
2483 (process_options): Remove old hook.
2484 * tree.h (decl_printable_name): Remove.
2485objc:
2486 * objc-act.c (objc_init): Remove old hook.
2487 (objc_printable_name): Export.
2488 * objc-act.h (objc_printable_name): New.
2489 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
2490
f78ce0b7
JB
24912002-03-19 Jim Blandy <jimb@redhat.com>
2492
2493 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
2494 the start_source_file debug hook, not the current line number.
2495
15b5aef3
RH
24962002-03-19 Richard Henderson <rth@redhat.com>
2497
2498 * flow.c (EH_USES): Provide default.
2499 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
2500 * doc/tm.texi (EH_USES): New.
2501
2502 * config/ia64/ia64.c (ia64_eh_uses): New.
2503 * config/ia64/ia64-protos.h: Update.
2504 * config/ia64/ia64.h (EH_USES): New.
2505
02a7a3fd
RH
25062002-03-19 Richard Henderson <rth@redhat.com>
2507
2508 * varasm.c (output_constant_def): Fix stupid typo.
2509
93f82d60
RH
25102002-03-19 Richard Henderson <rth@redhat.com>
2511
2842be05 2512 PR 5879
93f82d60
RH
2513 * except.c (current_function_has_exception_handlers): New.
2514 * except.h: Declare it.
2515 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
2516 Combine tests that disable all sibcalls for the function.
2517
ed4fbfa0
OH
25182002-03-19 Olivier Hainque <hainque@act-europe.fr>
2519
2520 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
2521 for INTEGER_CST.
2522
ebf0e888
RH
25232002-03-19 Richard Henderson <rth@redhat.com>
2524
1e82682b 2525 PR 5977, 5991
ebf0e888
RH
2526 * config/ia64/ia64.c: Revert 2002-03-01 patch.
2527 * config/ia64/ia64.h (INIT_EXPANDERS): New.
2528
e37b38d7
JB
25292002-03-19 Jim Blandy <jimb@redhat.com>
2530
2531 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
2532 name, even if the replacement list contains no tokens, as required
2533 by Dwarf.
2534
2a4ea326
JM
25352002-03-19 Jason Merrill <jason@redhat.com>
2536
f9d09ae5
JM
2537 * varasm.c (globalize_decl): Get the name from the RTL, not
2538 DECL_ASSEMBLER_NAME.
2539
2a4ea326
JM
2540 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
2541
99b96edb
BW
25422002-03-19 Bob Wilson <bob.wilson@acm.org>
2543
2544 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
2545 subdi_carry): Define.
2546
3774b567
DE
25472002-03-19 David Edelsohn <edelsohn@gnu.org>
2548
2549 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
2550 about -fpic/-fPIC if extra_warnings set.
2551
21ef78aa
DE
25522002-03-19 David Edelsohn <edelsohn@gnu.org>
2553
2554 * expr.c (expand_expr): Sign-extend CONST_INT generated from
2555 TREE_STRING_POINTER.
0c2fdcdf 2556 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 2557
91d4b3fd
RK
2558Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2559
2560 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
2561 in favor of SP if FRAME_POINTER_REQUIRED is false.
2562
2496c7bd
LB
25632002-03-19 Lars Brinkhoff <lars@nocrew.org>
2564
2565 * emit-rtl.c (gen_int_mode): New function.
2566 * rtl.h: Prototype for it.
2567 * combine.c (make_extraction, simplify_comparison), expmed.c
2568 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
2569 (convert_modes, store_field), optabs.c (expand_fix),
2570 simplify-rtx.c (neg_const_int, simplify_unary_real),
2571
2572 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
2573 Use it instead of GEN_INT (trunc_int_for_mode (...)).
2574
f735a153
JJ
25752002-03-19 Jakub Jelinek <jakub@redhat.com>
2576
2577 PR c/5656
2578 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
2579 convert_parm_for_inlining.
2580 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
2581 Define.
2582 * langhooks-def.h: Likewise.
2583 * objc/objc-lang.c: Likewise.
2584 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
2585 function.
2586 * tree-inline.c (initialize_inlined_parameters):
2587 Call convert_parm_for_inlining lang hook if needed.
2588 * c-typeck.c (c_convert_parm_for_inlining): New function.
2589 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
2590
1929c971
MM
25912002-03-18 Mark Mitchell <mark@codesourcery.com>
2592
b216cd4a 2593 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
2594 can be destroyed after expanding the argument.
2595 (expand_call): Likewise.
2596
c79ca0ac
EC
25972002-03-15 Eric Christopher <echristo@redhat.com>
2598
2599 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
2600 Fix register preference on last change.
2601 * config/mips/mips.c (mips_return_in_memory): New function.
2602 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
2603 * config/mips/mips-protos.h: Declare.
2604 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
2605 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
2606
07e2e444
AO
26072002-03-18 Alexandre Oliva <aoliva@redhat.com>
2608
1bfbbbcf
AO
2609 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
2610 a register too.
2611 (anddi3, iorsi3): Likewise.
2612
c066429e
AO
2613 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
2614 use %gprel for symbols that are going to be placed in linkonce
2615 sections.
2616
07e2e444
AO
2617 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
2618 RETURN_ADDRESS_POINTER_REGNUM to $ra.
2619 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
2620 not needed. Disregard leaf_function_p().
2621 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
2622 mips16 frame pointer.
2623 * config/mips/mips.md (store ra): Only to small SP offsets.
2624 2001-08-22 Graham Stott <grahams@redhat.com>
2625 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
2626 return a REG rtx for the return address register.
2627
eb8e00ea
BW
26282002-03-18 Bob Wilson <bob.wilson@acm.org>
2629
2630 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
2631 constant-pool addresses as "mode-dependent".
2632 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
2633
cbb92744
JJ
26342002-03-18 Jakub Jelinek <jakub@redhat.com>
2635
2636 PR target/5740
2637 * expr.c (emit_group_load): Use extract_bit_field if
2638 needed for CONCAT arguments.
2639
657d9449
RE
26402002-03-18 Richard Earnshaw <rearnsha@arm.com>
2641
91f3a802 2642 PR target/4863
657d9449
RE
2643 * arm.md (tablejump): Make this a define_expand. For PIC add the
2644 offset to the base of the table.
2645 (thumb_tablejump): Matcher for Thumb tablejump insn.
2646 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
2647 as the difference of two labels.
2648 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2649 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
2650 tables in the code.
2651 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
2652 * arm.c (get_jump_table_size): If the table is not in the text
2653 section, return zero.
c79ca0ac 2654
5d5603e2
BS
26552002-03-18 Bernd Schmidt <bernds@redhat.com>
2656
2657 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
2658 of gen_rtx_SUBREG.
2659 (arm_reload_out_hi): Use gen_lowpart instead of
2660 gen_rtx_SUBREG to access QImode components.
2661 * config/arm/arm.md: Disable zero_extend split for QImode
2662 subregs in BIG_ENDIAN mode.
2663 (storehi_bigend): Match use of least significant byte.
2664 (storeinthi): Remove extraneous SUBREG.
66c17b64 2665 Add missing construction of operands[2].
5d5603e2
BS
2666 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
2667 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
2668 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
2669
df15fbc7
AH
26702002-03-18 Aldy Hernandez <aldyh@redhat.com>
2671
2496c7bd
LB
2672 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
2673 any_operand.
df15fbc7 2674
b83b7fa3
RH
26752002-03-17 Richard Henderson <rth@redhat.com>
2676
2677 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
2678 explicitly.
2679
6f7c00fe
HPN
26802002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
2681
2682 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
2683 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
2684
155038f2
KG
26852002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2686
720d42fa
KG
2687 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
2688
155038f2
KG
2689 * predict.c (estimate_bb_frequencies): Delete unused variables.
2690
e6542f4e
RH
26912002-03-17 Richard Henderson <rth@redhat.com>
2692
2693 * config/ia64/ia64.c (ia64_attribute_table): Move before
2694 targetm definition. Make static.
2695
52dabb6c
NB
26962002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
2697
2698 * c-common.h (yyparse, c_common_parse_file): New.
2699 * c-lang.c: Include c-common.h.
2700 (LANG_HOOKS_PARSE_FILE): Redefine.
2701 * c-lex.c: Include c-common.h.
2702 (yyparse): Rename c_common_parse_file. Call yyparse.
2703 * c-parse.in (yyparse): Remove macro.
2704 * c-tree.h (yyparse_1): Remove.
2705 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
2706 (LANG_HOOKS_INITIALIZER): Update.
2707 * langhooks.h (struct lang_hoooks): New hook parse_file.
2708 * toplev.c (compile_file): Use parse_file hook.
2709 * tree.h (yyparse): Remove.
e6542f4e 2710 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 2711
b5ffe606
HPN
27122002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
2713
ba82f58b
HPN
2714 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
2715 float_truncate, not fix.
2716 ("*truncdfsf2_real"): Ditto.
2717 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
2718
b5ffe606
HPN
2719 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
2720
c8d1b2b7
AO
27212002-03-16 Alexandre Oliva <aoliva@redhat.com>
2722
cfb773f9
AO
2723 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
2724 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
2725 where appropriate. Make the second reference to
2726 leaf_function_p a function call, as intended. Reindented.
2727
4dffef52
AO
2728 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
2729 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
2730
4f5bd6d7
AO
2731 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
2732 add register to non-constant into sp.
2733
c8d1b2b7
AO
2734 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
2735 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
2736 (mips16_gp_pseudo_rtx): Lose.
2737 (INIT_EXPANDERS): Deleted.
2738 * config/mips/mips.c (mips_init_machine_status): New.
2739 (mips_free_machine_status): New.
2740 (mips_mark_machine_status): New.
2741 (override_options): Set them.
2742 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
2743 (struct machine_function): ... new. Replaced all references.
2744 (mips_add_gc_roots): Don't mark them.
2745 (embedded_pic_fnaddr_reg): New, extracted from...
2746 (embedded_pic_offset): ... here.
2747 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
2748 (movsi): Likewise.
2749
b3124fac
NB
27502002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
2751
2752 * cppinit.c: Revert -MD removal.
2753
121449b6
SC
27542002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2755
2756 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
2757 soft registers by default for 68HC12.
2758 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
2759 when compiling with -fomit-frame-pointer.
2760 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
2761 (expand_epilogue): Likewise.
2762 (m68hc11_gen_rotate): Use exg when rotating by 8.
2763
840e2ff1
SC
27642002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2765
2766 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
2767 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
2768 (splits): Remove unused add splits.
2769 ("*addhi3_68hc12"): Tune constraints.
2770 ("addhi_sp"): Try to use X instead of Y in all cases and if the
2771 constant fits in 8-bits and D is dead use abx/aby instructions.
2772 ("*addhi3"): Remove extern declaration of ix_reg.
2773 ("*subsi3"): Optimize and provide new split.
2774 ("subhi3"): Cleanup.
2775 ("*subhi3_sp"): Avoid saving X if we know it is dead.
2776 (arith splits): For 68hc12 save the address register on the stack
2777 and do the arithmetic operation with a pop.
2778
3c9a5efe
SC
27792002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2780
2781 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
2782 allocating QImode in address registers.
2783 ("*movqi_m68hc11"): Likewise.
2784
e41f3392
JH
2785Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
2786
2787 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
2788
576786b0
NB
27892002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
2790
2791 * cppinit.c (print_help): Display -MD and -MMD.
2792 Don't display usage string. Update assertion syntax and
2793 typo.
2794 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
2795 (cpp_handle_option): Update.
2796
1ac458d4
CD
27972002-03-15 Chris Demetriou <cgd@broadcom.com>
2798
2799 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
2800 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
2801 and define it so that regardless of target CPU size,
2802 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
2803 of "int" rather than "long."
2804
1fcd592b
RH
28052002-03-15 Richard Henderson <rth@redhat.com>
2806
2807 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
2808 size as a tree.
2809
a0df6910
SC
28102002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2811
2812 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
2813 ("tstqi" split): Avoid using memory for tstqi on address register.
2814 (splits): Remove constraints.
2815 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
2816 ("cmpdf", "cmpsf"): Remove since not used.
2817 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
2818 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
2819
015a2e59
SC
28202002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2821
2822 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
2823 ("neghi2"): Tighten constraints.
2824 ("one_cmplsi2"): Optimize and simplify split.
2825 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
2826
cd28557c
SC
28272002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2828
2829 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
2830 and split of AND operation to clear the upper bits.
2831 ("*logicalsi3_zextqi"): Likewise.
2832 ("*logicallhi3_zexthi_ashift8"): Likewise.
2833 ("*logicalsi3_silshr16"): Likewise.
2834 ("logicalsi3_silshl16"): Likewise.
2835 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
2836
932657df
SC
28372002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2838
2839 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
2840 (m68hc11_indirect_p): New function.
2841 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
2842 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
2843 TARGET_M6812.
2844 (asm_print_register): Likewise.
2845 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
2846 (m68hc11_indirect_p): Declare.
2847 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
2848 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
2849 (TARGET_SWITCHES): New option -mrelax.
2850 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
2851 destination.
2852 ("iorsi3", "xorsi3"): Likewise.
2853 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
2854 ("*andhi3_mem"): New to handle destination in memory with bclr
2855 and a scratch register.
2856 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
2857 ("*andhi3_const"): New when operand2 is constant.
2858 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
2859 ("*andhi3_gen"): Cleanup of the old "andhi3".
2860 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
2861 ("xorqi3"): Update constraints.
2862
fdffea1a
SC
28632002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2864
2865 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
2866 for reg_equiv_memory_loc when the operand is a register that does
2867 not get a hard register (stack location).
2868 (tst_operand): After reload, accept all memory operand.
2869 (symbolic_memory_operand): Fix detection of symbolic references.
2870 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
2871 accept symbols and any constant.
2872
6272bc68
SC
28732002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2874
2875 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
2876 note on the insn that sets the soft frame register.
2877 (must_parenthesize): ix and iy are also reserved names.
2878 (print_operand_address): One more place where parenthesis are required
2879 to avoid confusion with register names.
2880 (m68hc11_gen_movhi): Allow push of stack pointer.
2881 (m68hc11_check_z_replacement): Fix handling of parallel with a
2882 clobber.
2883 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
2884 the replacement register is.
2885 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
2886 and D8_REGS classes.
2887 (MODES_TIEABLE_P): All modes are tieable except QImode.
2888
1d2d9def
SC
28892002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2890
2891 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
2892 (___subdi3): Likewise.
2893 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
2894 (__map_data_section): Optimize 68hc11 case.
2895
a0ccf503
SC
28962002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2897
2898 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
2899 than a shift to avoid adding a register with itself.
2900 (m68hc11_memory_move_cost): Take into account NO_REGS.
2901 (m68hc11_register_move_cost): Update and use memory move cost
2902 for soft registers.
2903 (m68hc11_address_cost): Make cost of valid offset not 0 so that
2904 it gives more opportunities to cse to optimize.
2905 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
2906 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
2907
6e4ae815
MM
29082002-03-15 Mark Mitchell <mark@codesourcery.com>
2909
2910 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
2911 * c-common.def (CLEANUP_STMT): New tree node.
2912 * c-common.h (CLEANUP_DECL): New macro.
2913 (CLEANUP_EXPR): Likewise.
2914 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
2915 * expr.c (expand_expr): Tidy.
2916 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
2917 * tree-inline.c (initialize_inlined_parameters): Clean up
2918 new local variables.
2919
a42519be
JJ
29202002-03-15 Jakub Jelinek <jakub@redhat.com>
2921
2922 PR bootstrap/4128
2923 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
2924 before movrXX only, use reg_overlap_mentioned_p.
2925 Only special case NE if just one insn can be generated.
2926
15409448
JM
29272002-03-15 Jason Merrill <jason@redhat.com>
2928
2929 * varasm.c (assemble_variable): Call resolve_unique_section before
2930 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
2931 of error_mark_node.
2932
3a4edb44
RE
29332002-03-15 Richard Earnshaw <rearnsha@arm.com>
2934
2935 PR target/5170
2936 * arm.md (split pattern for thumb shiftable immediates): Add comment
2937 explaining non-obvious test.
2938
32defa36
RE
29392002-03-15 Richard Earnshaw <rearnsha@arm.com>
2940
2941 PR target/5712
2942 * arm.md (movaddr, movaddr_insn): Delete.
2943
5cc90635
JM
29442002-03-15 Jason Merrill <jason@redhat.com>
2945
2946 * toplev.c (wrapup_global_declarations): Clarify variable handling.
2947 -fkeep-static-consts doesn't apply to comdats.
2948
ecb0eece
RH
29492002-03-14 Richard Henderson <rth@redhat.com>
2950
2951 * c-decl.c: Include c-pragma.h.
2952 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
2953 (finish_function): Tidy.
2954 * c-pragma.c: Include c-common.h.
2955 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
2956 (handle_pragma_weak): Use them.
2957 (init_pragma): Register pending_weaks.
2958 * c-pragma.h (maybe_apply_pragma_weak): Declare.
2959 * print-tree.c (print_node): Print DECL_WEAK.
2960 * varasm.c (mark_weak_decls): Remove.
2961 (remove_from_pending_weak_list): Remove.
2962 (add_weak): Remove.
2963 (asm_emit_uninitialised): Call globalize_decl for weak commons.
2964 (weak_decls): Make a tree_list.
2965 (declare_weak): Cons weak_decls directly.
2966 (globalize_decl): Remove weak_decls elements directly.
2967 (weak_finish): Simplify weak_decls walk. Don't weaken unused
2968 symbols. Don't pretend to handle aliases.
2969 (init_varasm_once): Update weak_decls registry.
2970 * Makefile.in: Update dependencies.
2971
98d2b17e
RH
29722002-03-14 Richard Henderson <rth@redhat.com>
2973
2974 PR target/5312
2975 * config/ia64/ia64.c: Include tm_p.h last.
2976 (gen_nop_type): Remove duplicate definition.
2977 (cycle_end_fill_slots): Set sched_data for second L slot.
2978 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
2979 (nop_cycles_until): Fix typos.
2980
f2f4927e
JJ
29812002-03-15 Jakub Jelinek <jakub@redhat.com>
2982
2983 PR optimization/5891
2984 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
2985
5025a549
DM
29862002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
2987
2988 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
2989 descriptors correctly.
2990
03e9dbc9
MM
29912002-03-14 Michael Meissner <meissner@redhat.com>
2992
2993 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
2994 100, allowing MAX_UNROLLED_INSNS to be overridden.
2995
2996 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
2997 --param.
2998
2999 * unroll.c (params.h): Include.
3000 (MAX_UNROLLED_INSNS): Delete, now in params.h.
3001
3002 * doc/invoke.texi (--param max-unroll-insns): Document.
3003
3004 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
3005
12249385
RE
30062002-03-14 Richard Earnshaw <rearnsha@arm.com>
3007
3008 * arm.md: Fix warnings about constraints in peepholes and splits.
3009
f0cce04a
ZW
30102002-03-14 Zack Weinberg <zack@codesourcery.com>
3011
3012 * cpphash.h (struct lexer_state): Remove line_extension member.
3013 * cpplib.c (dequote_string, do_linemarker): New functions.
3014 (linemarker_dir): New data object.
3015 (DIRECTIVE_TABLE): No longer need to interpret #line in
3016 preprocessed source. Delete obsolete comment about return
3017 values of handlers.
3018 (end_directive, directive_diagnostics, _cpp_handle_directive):
3019 Don't muck with line_extension.
3020 (directive_diagnostics): No need to issue warnings for
3021 linemarkers here.
3022 (_cpp_handle_directive): Issue warnings for linemarkers here,
3023 when appropriate. Dispatch linemarkers to do_linemarker, not
3024 do_line.
3025 (do_line): Code to handle linemarkers split out to do_linemarker.
3026 Convert escape sequences in filename argument, both places.
3027
3028 * cppmacro.c (quote_string): Rename cpp_quote_string and
3029 export. All callers changed.
3030 * cpplib.h (cpp_quote_string): Prototype.
3031 * cppmain.c (print_line): Call cpp_quote_string on to_file
3032 before printing it.
3033
3034 * doc/cpp.texi: Document that escapes are now interpreted in
3035 #line and in linemarkers, and that non-printing characters are
3036 converted to octal escapes when linemarkers are generated.
3037
3038Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
3039
3040 * emit-rtl.c (try_split): Use delete_insns.
3041 * recog.c (split_all_insns): Fix terminating condition.
3042
c882c7ac
RE
30432002-03-14 Richard Earnshaw <rearnsha@arm.com>
3044 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
3045
3046 PR target/5828
3047 * arm.c (arm_output_epilogue): Fix floating-point register save
3048 adjustment when using a frame pointer.
3049
3f26edaa
RS
30502002-03-14 Richard Sandiford <rsandifo@redhat.com>
3051
3052 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
3053 * config/mips/mips.c (compute_frame_size): Retrofit them here.
3054 (save_restore_insns, mips_expand_epilogue): And here.
3055 (build_mips16_call_stub): And here.
3056 (mips_function_value): Use the new macros to decide whether a single
3057 or complex float can be returned in floating-point registers. Return
3058 a parallel rtx in the complex case.
3059
1e3881c2
JH
3060Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
3061
3062 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
3063 call after liveness analysis.
3064
3065 * recog.c (split_insn): Use delete_insn_and_edges.
3066
3067 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
3068 instructions to have branch prediction notes.
3069 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
3070
200ef634
GK
30712002-03-14 Geoffrey Keating <geoffk@redhat.com>
3072
3073 * configure.in: Don't pass -Wno-long-long to a ADA compiler
3074 that doesn't support it.
3075 * configure: Regenerate.
3076
0b82d204
JJ
30772002-03-13 Jakub Jelinek <jakub@redhat.com>
3078
3079 PR target/5626
3080 * config/sparc/sparc.md (normal_branch, inverted_branch,
3081 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
3082 inverted_fp_branch): Adjust calls to output_cbranch.
3083 Set length attribute.
3084 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
3085 output_v9branch. Set length attribute.
3086 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
3087 predicates.
3088 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
3089 (output_cbranch): Likewise. Handle far branches.
3090 (output_v9branch): Handle far branches.
3091 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
3092 Adjust prototypes.
3093 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
3094 noov_compare64_op predicates.
3095
7a8de19b
JM
30962002-03-13 Jason Merrill <jason@redhat.com>
3097
3098 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
3099 into the function and constify it.
3100 * gthr-dce.h, gthr-solaris.h: Likewise.
3101
2a55fd42
DE
31022002-03-13 David Edelsohn <edelsohn@gnu.org>
3103
3104 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
3105 * config/rs6000/rs6000.c (rs6000_va_arg): Use
3106 std_expand_builtin_va_arg if not ABI_V4.
3107
19c5b1cf
JM
31082002-03-13 Jason Merrill <jason@redhat.com>
3109
3110 * varasm.c (globalize_decl): New fn.
3111 (assemble_start_function): Use it.
3112 (asm_emit_uninitialized): Use it.
3113 (assemble_alias): Use it.
3114 (assemble_variable): Use it.
3115
2a15f5e1
HPN
31162002-03-13 Hans-Peter Nilsson <hp@axis.com>
3117
3118 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 3119 2002-03-12 internal visibility change.
2a15f5e1
HPN
3120 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
3121 visibility into SYMBOL_REF_FLAG.
3122
c0a3eeac
UW
31232002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
3124
3125 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
3126 VOIDmode operand. Add compile-time optimization for constant results.
3127
a1652cee
JM
31282002-03-12 Jason Merrill <jason@redhat.com>
3129
3130 * c-typeck.c (convert_for_assignment): Don't allow conversions
3131 between pointers and references. Only allow lvalues to convert to
3132 reference.
3133
c52a375d
HP
31342002-03-13 Hartmut Penner <hpenner@de.ibm.com>
3135
f0cce04a
ZW
3136 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
3137 before prologue, to avoid scheduling problems.
c52a375d 3138
e387e99b
JJ
31392002-03-13 Jakub Jelinek <jakub@redhat.com>
3140
3141 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
3142 (ELIMINABLE_REGS): Add sfp->sp.
3143 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
3144
31452002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
3146
3147 PR optimization/5892
3148 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
3149
4061c1a3
JJ
31502002-03-13 Jakub Jelinek <jakub@redhat.com>
3151
3152 * loop.c (basic_induction_var): Don't call convert_modes if mode
3153 classes are different.
3154
5b43fed1
RH
31552002-03-12 Richard Henderson <rth@redhat.com>
3156
9f53e965
RH
3157 PR optimization/5901
3158 * function.c (reposition_prologue_and_epilogue_notes): Position
3159 the markers after/before the last/first insn not deleted.
3160
31612002-03-12 Richard Henderson <rth@redhat.com>
3162
3163 PR optimization/5878
5b43fed1
RH
3164 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
3165 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
3166 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
3167
3168 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
3169 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
3170 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
3171
3172 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
3173 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
3174 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
3175 also. Don't set it if not flag_pic.
3176 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
3177 to be INVALID_REGNUM when not used.
3178
4e9bb42b
AH
31792002-03-13 Aldy Hernandez <aldyh@redhat.com>
3180
5b43fed1
RH
3181 * expmed.c (store_bit_field): Reset alias set for memory.
3182 (extract_bit_field): Same.
4e9bb42b 3183
2f9834e8
KG
31842002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3185
3186 * c-common.c (c_tree_code_type, c_tree_code_length,
3187 c_tree_code_name, add_c_tree_codes): Delete.
3188 * c-common.h (add_c_tree_codes): Delete.
3189 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
3190 Define.
3191 * c-objc-common.c (c_objc_common_init): Don't call
3192 add_c_tree_codes, instead set lang_unsafe_for_reeval.
3193 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
3194 objc_tree_code_name, add_objc_tree_codes): Delete.
3195 (objc_init): Don't call add_objc_tree_codes.
3196 * objc/objc-lang.c (tree_code_type, tree_code_length,
3197 tree_code_name): Define.
3198 * toplev.c (lang_independent_init): Don't set
3199 tree_code_length[IDENTIFIER_NODE].
3200 * tree.c (tree_code_type, tree_code_length, tree_code_name):
3201 Delete definitions, moved to language front-ends.
3202 * tree.def (IDENTIFIER_NODE): Hardwire the length.
3203 * tree.h (tree_code_type, tree_code_length, tree_code_name):
3204 Const-ify.
3205 (tree_code_length): Change type to unsigned char.
3206
36ad2436
RH
32072002-03-12 Richard Henderson <rth@redhat.com>
3208
3209 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
3210 internal visibility change.
3211
0ae02efa
BW
32122002-03-12 Bob Wilson <bob.wilson@acm.org>
3213
3214 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
3215 validize_mem() instead of change_address to avoid clobbering
3216 memory attributes.
3217
35bb2bee
NB
32182002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
3219
3220 * c-lex.h (position_after_whitespace): Remove.
3221
62ae2529
JJ
32222002-03-12 Jakub Jelinek <jakub@redhat.com>
3223
3224 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
3225 (lex_string): Use unsigned char pointers.
3226
6a45951f
UW
32272002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
3228
3229 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
3230 is not a valid memory_operand.
3231
e2fb85da
BW
32322002-03-12 Bob Wilson <bob.wilson@acm.org>
3233
3234 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
3235 * config/xtensa/lib1funcs.asm: Fix copyright to include
3236 special case for libgcc files.
3237 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
3238 (__divsi3): Likewise.
3239 (__umodsi3): Likewise.
3240 (__modsi3): Likewise.
3241 * config/xtensa/lib2funcs.S: Fix copyright to include
3242 special case for libgcc files.
3243
5b8619f8
TR
32442002-03-12 Tom Rix <trix@redhat.com>
3245
3246 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 3247 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
3248 (ignore_library): Same.
3249
089c8f97
BW
32502002-03-12 Bob Wilson <bob.wilson@acm.org>
3251
3252 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
3253
958c70ff
BW
32542002-03-12 Bob Wilson <bob.wilson@acm.org>
3255
3256 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
3257 to function_section before writing out the constant pool.
3258
a65c591c
DE
32592002-03-12 David Edelsohn <edelsohn@gnu.org>
3260
3261 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
3262 zero_constant.
3263 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
3264
32652002-03-12 Alan Modra <amodra@bigpond.net.au>
3266
3267 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
3268 (adddi3): Likewise.
3269 (movdf): Likewise.
3270 (movdi): Likewise.
3271 (cmpsi splitter): Likewise.
3272 (modsi3): Fail if <= 0.
3273 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
3274 redundant test when HOST_BITS_PER_WIDE_INT != 32.
3275 (reg_or_sub_cint64_operand): Likewise.
3276 (num_insns_constant_wide): Optimize sign extension.
3277 (rs6000_legitimize_address): Likewise.
3278
17720332
AM
32792002-03-12 Andrew MacLeod <amacleod@redhat.com>
3280
3281 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3282 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3283
cd49f073
AM
32842002-03-12 Andrew MacLeod <amacleod@redhat.com>
3285
3286 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
3287 address calculation.
3288
6a4e49c1
UW
32892002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
3290
3291 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
3292 scratch register to DImode / TImode.
3293 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
3294 register used does not overlap the target.
3295
54b6670a
KG
32962002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3297
3298 * Makefile.in (debug.o): Depend on debug.h.
3299 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
3300 * debug.c (do_nothing_debug_hooks): Likewise.
3301 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
3302 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
3303 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
3304 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
3305 * dwarfout.c (dwarf_debug_hooks): Likewise.
3306 * integrate.c (output_inline_function): Likewise.
3307 * objc/objc-act.c (synth_module_prologue): Likewise.
3308 * sdbout.c (sdb_debug_hooks): Likewise.
3309 * toplev.c (debug_hooks): Likewise.
3310 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
3311
2465bf76
KG
33122002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3313
3314 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
3315 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
3316 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
3317 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
3318 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
3319 * defaults.h (POINTER_SIZE): Define.
3320 * doc/tm.texi (POINTER_SIZE): Document default.
3321
53f3e9ca
KG
33222002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3323
3324 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
3325
44d3eb5b
RH
33262002-03-11 Richard Henderson <rth@redhat.com>
3327
3328 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
3329 if rebuild_label_notes_after_reload.
3330
4a085d2e
HPN
33312002-03-12 Hans-Peter Nilsson <hp@axis.com>
3332
3333 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
3334 emit pic register load if "internal" visibility.
3335 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
3336 (cris_expand_builtin_va_arg): Do all computations on trees.
3337
bc204393
RH
33382002-03-11 Richard Henderson <rth@redhat.com>
3339
3340 * rtlanal.c: Include recog.h.
3341 (keep_with_call_p): Fix thinko.
3342 * Makefile.in (rtlanal.o): Update dependencies.
3343
6b8b9d7b
CM
33442002-03-11 Chris Meyer <cmeyer@gatan.com>
3345
3346 * genflags.c (gen_insn): Use IS_VSPACE.
3347 * genoutput.c (output_insn_data): Likewise.
3348 (process_template): Likewise.
3349
6c40858f
RH
33502002-03-11 Richard Henderson <rth@redhat.com>
3351
3352 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
3353
40adaa27
NB
33542002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
3355
3356 * Makefile.in: Update.
6c40858f 3357 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 3358 Update documentation.
6c40858f
RH
3359 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
3360 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 3361
049b03f4
ZW
33622002-03-11 Zack Weinberg <zack@codesourcery.com>
3363
3364 * Makefile.in: Give texi2pod its input file as a command line
3365 argument, not on stdin.
3366
61eece67
DN
33672002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
3368 Daniel Berlin <dan@dberlin.org>
3369
3370 C++ alias analysis improvement.
f0cce04a 3371 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
3372 classes too.
3373
a65c591c
DE
33742002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
3375
ff080aba
UW
3376 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
3377
1682dbb1
DR
33782002-03-11 Douglas B Rupp <rupp@gnat.com>
3379
fa2d765a
DR
3380 * toplev.c (vms_fopen): Remove, not needed.
3381
6f1fd286
DR
3382 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
3383
b230e057
DR
3384 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
3385
cb9a8e97
DR
3386 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
3387 for FP, already done later.
3388
1682dbb1
DR
3389 * toplev.c (debug_args): Add entry for VMS_DEBUG.
3390 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
3391
3fcaac1d
RS
33922002-03-11 Richard Sandiford <rsandifo@redhat.com>
3393
3394 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
3395 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
3396 LARGEST_EXPONENT_IS_NORMAL for the given mode.
3397 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
3398 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
3399 (ediv, emul, eldexp, esqrt): Likewise.
3400 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
3401 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
3402 (saturate): New function.
3403 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
3404 (make_nan): Use a saturation value instead of a NaN if
3405 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
3406 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
3407 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
3408 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
3409 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
3410 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
3411 !ROUND_TOWARDS_ZERO.
3412 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
3413 (ROUND_TOWARDS_ZERO): Document.
3414
d25558be
AJ
34152002-03-11 Andreas Jaeger <aj@suse.de>
3416
3417 * cfg.c (dump_flow_info): Remove unused variable.
3418
c71f9ae7
HPN
34192002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
3420
3421 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
3422 computations on trees.
3423
561c9153
RH
34242002-03-10 Richard Henderson <rth@redhat.com>
3425
932b4e3e 3426 PR 5693:
561c9153
RH
3427 * reload.c (copy_replacements_1): New.
3428 (copy_replacements): Use it to recurse through the rtx.
3429
26b738be
RH
34302002-03-10 Richard Henderson <rth@redhat.com>
3431
3432 * loop.c (strength_reduce): Compute number of iterations as
3433 unsigned HOST_WIDE_INT.
3434
8d8a083e
RH
34352002-03-10 Richard Henderson <rth@redhat.com>
3436
3437 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
3438 to move away from the end of the block.
3439
32810ba3
NB
34402002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
3441
3442 PR preprocessor/5899
3443 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 3444
2b03d201
KG
34452002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3446
f90c544c
KG
3447 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
3448
2b03d201
KG
3449 * attribs.c (decl_attributes): Fix signed/unsigned warning.
3450
3ec1b4cb
HPN
34512002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
3452
3453 * config/mmix/mmix.c: Improve comments.
3454 (mmix_target_asm_function_prologue): Drop variable
3455 empty_stack_frame. Don't allocate unused slot above fp.
3456 (mmix_target_asm_function_epilogue): Mirror prologue changes.
3457 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
3458 brace in first column.
3459 (enum reg_class): Ditto.
3460 (FIRST_PARM_OFFSET): Now 0.
3461 (USER_LABEL_PREFIX): Remove #if 0:d definition.
3462
27e486c5
KG
34632002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3464
3465 * combine.c (make_extraction): Fix error in last change.
3466
0139adca
KG
34672002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3468
3469 * c4x.c (c4x_fp_reglist): Const-ify.
3470 * cris.c (cris_print_operand): Likewise.
3471 * i386.c (ix86_va_arg): Likewise.
3472 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
3473 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
3474 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
3475 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
3476 * mcore.h (regno_reg_class): Likewise.
3477 * mips.c (gen_int_relational): Likewise.
3478 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
3479 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 3480 * pdp11.c (move_costs): Likewise.
0139adca
KG
3481 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
3482 * s390.c (s390_branch_condition_mnemonic, regclass_map):
3483 Likewise.
3484 * s390.h (regclass_map): Likewise.
3485 * sh.c (shift_amounts): Likewise.
a4334c36 3486 * sh.md (rotlsi3): Likewise.
0139adca 3487
889b90a1
GK
34882002-03-09 Geoffrey Keating <geoffk@redhat.com>
3489
3490 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
3491 (ne0+5): Use new clobber to generate proper shift pattern.
3492 Patch by Michael Matz <matz@kde.org>.
3493
2877e0ae
AS
34942002-03-09 Andreas Schwab <schwab@suse.de>
3495
3496 * gcc.c (validate_all_switches): Also handle `%W{...}'.
3497
79b51cd7
GK
34982002-03-09 Geoffrey Keating <geoffk@redhat.com>
3499
3500 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
3501
e0f1be5c
JJ
35022002-03-09 Jakub Jelinek <jakub@redhat.com>
3503
3504 PR middle-end/5877
3505 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
3506 even for non-representable constants.
3507
0a7ec763
RK
3508Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3509
93fe8e92
RK
3510 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
3511 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
3512 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
3513 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
3514 (pop_function_context): Compute MAY_SHARE parameter for
3515 fixup_var_refs.
3516 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
3517 (gen_mem_addressof): Call fixup_var_refs with new parm.
3518
0a7ec763
RK
3519 * combine.c (make_extraction): Don't make extension of CONST_INT.
3520
a85cd407
AO
35212002-03-09 Alexandre Oliva <aoliva@redhat.com>
3522
9445b814
AO
3523 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
3524 in o32 and o64 ABIs.
3525 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
3526 but getting fixed-size structs passed in registers regardless of
3527 padding in o32 and o64 ABIs.
3528
a85cd407
AO
3529 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
3530 offset before loading address of argument passed by transparent
3531 reference.
3532
c51fbe40
JDA
35332002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
3534
3535 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
3536
918e70dd
AO
35372002-03-09 Alexandre Oliva <aoliva@redhat.com>
3538
3539 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
3540 marker such that registers after it are saved.
3541
3070dd00
KG
35422002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3543
3544 * sparc.c (arith_4096_operand): Fix error in last change.
3545
e25d11b0
AO
35462002-03-08 Alexandre Oliva <aoliva@redhat.com>
3547
3548 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
3549 defaults for MEABI.
3550
41daaf0e
AH
35512002-03-08 Aldy Hernandez <aldyh@redhat.com>
3552
5b43fed1
RH
3553 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
3554 vectors.
41daaf0e 3555
fa139b00
AH
35562002-03-08 Aldy Hernandez <aldyh@redhat.com>
3557
5b43fed1 3558 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 3559
c51d95ec
JH
3560Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
3561
3562 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
3563 removed; fix return value.
3564 * combine.c (combine_instructions): Dirtify blocks where we failed to
3565 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
3566 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
3567
3b25fbfe
KG
35682002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3569
3570 * gcse.c (insert_insn_end_bb): Fix typo in last change.
3571
189ae0f4
JH
3572Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
3573
3574 * recog.c (peephole2_optimize): Re-distribute EH edges.
3575
24965e7a
NB
35762002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
3577
3578 * expr.c (expand_expr): Use unsave lang hook.
3579 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
3580 (LANG_HOOKS_INITIALIZER): Update.
3581 * langhooks.h (struct lang_hooks): New hook unsave.
3582 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
3583 (unsave_expr_1): Remove unused lang_unsave_expr_now.
3584 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
3585 (unsave_expr_now): Remove.
3586 * tree.h (unsave_expr_now, lang_unsave,
3587 lang_unsave_expr_now): Remove.
3588 (lhd_unsave): New.
3589
1e4e95d6
AJ
35902002-03-08 Andreas Jaeger <aj@suse.de>
3591
3592 * flow.c (propagate_block_delete_insn): Remove unused variable.
3593
054ef905
KH
35942002-03-08 Kazu Hirata <kazu@hxi.com>
3595
3596 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
3597 insn length for memory load/store.
3598
5304400d 35992002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 3600
5304400d
CR
3601 * doc/install.texi (--with-libiconv-prefix): Document.
3602
81034129
MB
36032002-03-08 Michael Y. Brukman <myb2@cornell.edu>
3604
3605 * doc/sourcebuild.texi: Fix typo.
3606
71db7d03
JJ
36072002-03-08 Jakub Jelinek <jakub@redhat.com>
3608
3609 PR c/3711
3610 * builtins.c (std_expand_builtin_va_arg): Do all computations on
3611 trees.
3612
127c1ba5
RK
3613Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3614
3615 * rtl.c (copy_most_rtx): Move from here ...
3616 * emit-rtl.c (copy_most_rtx): ... to here.
3617
8a13c092
AO
36182002-03-08 Alexandre Oliva <aoliva@redhat.com>
3619
5faae4f7
AO
3620 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
3621 SUBTARGET_CPP_SIZE_SPEC.
3622 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
3623
8a13c092
AO
3624 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
3625
4ec59de2
MH
36262002-03-07 Matt Hiller <hiller@redhat.com>
3627
3628 * gensupport.c (first_dir_md_include): Renamed from include;
3629 change all references.
3630 (last_dir_md_include): Renamed from last_include; change all
3631 references.
3632 (init_md_reader): Unconditionally initialize base_dir whether or
3633 not filename is a relative path.
3634
12f61e77
AO
36352002-03-07 Alexandre Oliva <aoliva@redhat.com>
3636
95356058
AO
3637 * config/fp-bit.c (_unord_f2): Compile it in even if
3638 US_SOFTWARE_GOFAST is enabled.
3639
12f61e77
AO
3640 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
3641 NULL_RTX. Set all HFmode operations as NULL_RTX.
3642 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
3643 NULL_RTX, try reversing the comparison and the operands.
3644
6d7a1c4c
UW
36452002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
3646
3647 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
3648 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
3649 and MATCH_OP_DUP.
3650
66d54344
JH
3651Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
3652
3653 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
3654
068473ec
JH
3655Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
3656
3657 * basic-block.h (fixup_abnormal_edges): Declare.
3658 * reload1.c (fixup_abnormal_edges): New function.
3659 * reg-stack.c (convert_regs): Use it.
3660
3661 * gcse.c (insert_insn_end_bb): Handle trapping insns.
3662
3663 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
3664
71925bc0
RS
36652002-03-07 Richard Sandiford <rsandifo@redhat.com>
3666
3667 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
3668 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
3669 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
3670 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
3671 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
3672 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
3673 unless x and y could be infinite.
3674 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
3675 Check that the common type of both arguments is a real, even for
3676 targets without unordered comparisons. Allow an integer argument
3677 to be compared against a real.
3678 (expand_tree_builtin): Use expand_unordered_cmp.
3679 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
3680 * cse.c (fold_rtx): Likewise. Fix indentation.
3681 * fold-const.c (fold_real_zero_addition_p): New.
3682 (fold): Use it, and the new HONOR_... macros.
3683 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
3684 * jump.c (reversed_comparison_code_parts): After searching for
3685 the true comparison mode, use HONOR_NANS to decide whether it
3686 can be safely reversed.
3687 (reverse_condition_maybe_unordered): Remove IEEE check.
3688 * simplify-rtx.c (simplify_binary_operation): Use the new macros
3689 to decide which simplifications are valid. Allow the following
3690 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
3691 and (a - -b) to (a + b).
3692 (simplify_relational_operation): Use HONOR_NANS.
3693 * doc/tm.texi: Document the MODE_HAS_... macros.
3694
145d3bf2
RE
36952002-03-07 Richard Earnshaw <rearnsha@arm.com>
3696
3697 * combine.c (simplify_comparison): If simplifying a logical shift
3698 right and compare with constant, force the comparison to unsigned.
3699
76a773f3
AH
37002002-03-07 Aldy Hernandez <aldyh@redhat.com>
3701
5b43fed1 3702 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 3703
5b43fed1
RH
3704 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
3705 -mabi=no-altivec
3706 (alt_reg_names): Remove % for vrsave.
76a773f3 3707
ab55f58c
RH
37082002-03-06 Richard Henderson <rth@redhat.com>
3709
5ddec02e 3710 PR optimization/5844
ab55f58c
RH
3711 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
3712 if used indicates we've already emitted one copy of an operand.
3713 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
3714 (gen_split): Supply a non-null used.
3715
e16e3291
UW
37162002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
3717
5b43fed1 3718 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 3719
1e4e95d6 3720 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
3721 but simply fail if the expression is too complex to simplify.
3722 (simplify_gen_binary): Handle simplify_plus_minus failures.
3723
2ca6672b
JH
3724Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
3725
3726 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
3727 consistently call delete_trivially_dead_insns after CSE and GCSE;
3728 fix DFI_life dumping; do jump threading after liveness; do crossjumping
3729 after liveness2; update comment in last crossjumping.
3730 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
3731
31d0dd4f
JL
3732Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
3733
d094b0b3
JL
3734 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
3735 after completing fast dead code elimination.
3736
31d0dd4f
JL
3737 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
3738 COMPARE operator.
1e4e95d6 3739
f2b958b1
PE
37402002-03-06 Phil Edwards <pme@gcc.gnu.org>
3741
3742 * version.c: Fix misplaced leading blanks on first line.
3743
a2877a09
JH
3744Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
3745
3746 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
3747
fe477d8b
JH
3748Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
3749
3750 * cfgcleanup.c (mentions_nonequal_regs): New function.
3751 (thread_jump): Use it.
3752 * toplev.c (rest_of_compilation): Run jump threading after
3753 liveness.
3754
2041cde4
JJ
37552002-03-06 Jakub Jelinek <jakub@redhat.com>
3756
3757 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
3758 patch.
3759
82d68d46
JH
3760Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
3761
3762 * predict.c (estimate_bb_frequencies): Do not reload the
3763 frequencies from notes.
3764
3dec4024
JH
3765Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
3766
3767 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
3768 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
3769
3770 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
3771 delete_noop_moves): Return indeger.
3772 * flow.c (ndead): New variable.
3773 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
3774 BB argument; update callers.
3775 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
3776 (life_analysis): Do not call purge_all_dead_edges.
3777 (update_life_info): Return number of deleted insns; print statistics.
3778 (update_life_info_in_dirty_blocks): likewise.
3779 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
3780 return number of insns deleted.
3781
3782 * cse.c: Include timevar.h
3783 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
3784 iterate until stabilizes; print statistics; return number of killed
3785 insns.
3786 * Makefile.in: (cse.o): Add timevar.h dependency
3787 * rtl.h (delete_trivially_dead_insns): New.
3788 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
3789 * toplev.c (rest_of_compilation): Update callers.
3790
3791 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
3792 (try_optimize_cfg): Do not update liveness.
3793 (cleanup-cfg): Loop until try_optimize_cfg and dead code
3794 removal stabilizes; use delete_trivially_dead_insns.
3795
3796 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
3797
c7544dd8
ZW
37982002-03-05 Zack Weinberg <zack@codesourcery.com>
3799
3800 * cppmain.c (setup_callbacks): Disable #pragma and #ident
3801 callbacks when processing assembly language.
3802
50b424a9
JDA
38032002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
3804
3805 * pa.h (ASM_FILE_END): Define.
3806 * som.h (ASM_FILE_END): Delete.
3807
3808 * pa.c (function_arg): Don't pass floats in general registers in
3809 indirect calls if TARGET_ELF32.
3810
6185f217
RH
38112002-03-05 Richard Henderson <rth@redhat.com>
3812
3813 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
3814
3020a4b2
DS
38152002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
3816
3817 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
3818
65649daa
JJ
38192002-03-05 Jakub Jelinek <jakub@redhat.com>
3820
3821 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
3822 -r command line. Don't hide any symbols if not building
3823 shared libgcc.
3824
5a1a3e5e
JH
3825Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
3826
3827 * cfg.c (dump_flow_info): Warn about profile mismatches.
3828 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
3829 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
3830
170c56da
JJ
38312002-03-05 Jakub Jelinek <jakub@redhat.com>
3832
3833 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
3834 wide volatile memory by parts.
3835
6d051694
JJ
38362002-03-05 Jakub Jelinek <jakub@redhat.com>
3837
3838 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
3839 is NULL.
3840
28bcfd4d
RH
38412002-03-05 Richard Henderson <rth@redhat.com>
3842
5b43fed1 3843 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 3844
75227a33
GK
38452002-03-04 Geoffrey Keating <geoffk@redhat.com>
3846
3847 * toplev.c (documented_lang_options): Document more
3848 language-specific options.
3849 * doc/invoke.texi (Warning Options): Correct documentation for
3850 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
3851 * c-decl.c (c_decode_option): Use a table to handle warning options.
3852
4f1aac42
HPN
38532002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
3854
3855 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
3856 parameter to mmix_encode_section_info.
3857 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
3858 relocatably. Always produce ELF, not mmo if linking relocatably.
3859 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
3860 first is non-zero, don't add symbol prefix.
3861 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
3862 prototype accordingly.
3863
12345543
KW
38642002-03-04 Krister Walfridsson <cato@df.lth.se>
3865
3866 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
3867
8e97db8f
JM
38682002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
3869
3870 * configure.in: Increase required makeinfo version to 4.1.
3871 * configure: Regenerate.
3872
06487868
GK
38732002-03-04 Geoffrey Keating <geoffk@redhat.com>
3874
3875 * .cvsignore: Remove *.info* and genrtl*; these files are generated
3876 elsewhere now.
3877
cff42170
JM
38782002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
3879
3880 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
3881 * doc/invoke.texi: Fix @math uses.
3882
974a7f56
JH
3883Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
3884
3885 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
3886 removal
3887
3b7d0e98
AH
38882002-03-03 Aldy Hernandez <aldyh@redhat.com>
3889
5b43fed1
RH
3890 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
3891 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 3892
5b43fed1 3893 * config/rs6000/t-ppcendian: New.
3b7d0e98 3894
65f2f288
HB
38952002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3896
3897 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
3898 nonimmediate_src_operand and nonimmediate_lsrc_operand to
3899 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
3900
8ce0a8a5
RH
39012002-03-03 Richard Henderson <rth@redhat.com>
3902
3903 * toplev.c (rest_of_decl_compilation): Revert last two changes.
3904
ba31d94e
ZW
39052002-03-03 Zack Weinberg <zack@codesourcery.com>
3906
3907 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
3908 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
3909 tree.c, config/m68k/m68k.c:
3910 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
3911 REAL_ARITHMETIC blocks unconditional. Delete some further
3912 #ifdef blocks predicated on REAL_ARITHMETIC.
3913 * flags.h, toplev.c: Delete remaining references to
3914 flag_pretend_float.
3915
3916 * doc/invoke.texi: Remove documentation of -fpretend-float.
3917 * doc/tm.texi: Describe the various REAL_* macros as provided by
3918 real.h, not by the target configuration files.
3919
3920 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
3921 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
3922 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
3923 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
3924 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
3925 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
3926 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
3927 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
3928 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
3929 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
3930 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
3931 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
3932 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
3933 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
3934 config/xtensa/xtensa.h:
3935 Do not define, undefine, or mention in comments any of
3936 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
3937 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
3938 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
3939 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
3940 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
3941 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
3942 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
3943 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
3944 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
3945
9a571cfd
KG
39462002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3947
e81dd381
KG
3948 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
3949 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
3950 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
3951 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
3952 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
3953 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
3954 Delete.
3955 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 3956 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 3957
9a571cfd
KG
3958 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
3959 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
3960 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
3961
ca7558fc
KG
39622002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3963
3964 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
3965 lieu of explicit sizeof/sizeof.
3966 * i386.c (override_options, ix86_init_mmx_sse_builtins,
3967 ix86_expand_builtin): Likewise.
3968 * mips.c (mips_add_gc_roots): Likewise.
3969 * mmix.c (mmix_output_condition): Likewise.
3970 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
3971 altivec_init_builtins): Likewise.
3972 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
3973 * cppexp.c (Nsuff, parse_number): Likewise.
3974 * cppinit.c (builtin_array_end): Likewise.
3975 * gcc.c (n_default_compilers, process_command): Likewise.
3976 * genpreds.c (output_predicate_decls): Likewise.
3977 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
3978 * lcm.c (N_ENTITIES): Likewise.
3979 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 3980
41c78c88
RH
39812002-03-03 Richard Henderson <rth@redhat.com>
3982
3983 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
3984 for types or labels.
3985
9e9b71e6
RH
39862002-03-03 Richard Henderson <rth@redhat.com>
3987
3988 * c-decl.c (start_decl): Initialized variables are not common.
3989
c26a6db8
PB
39902002-03-02 Per Bothner <per@bothner.com>
3991
3992 * gcc.c (option_map): Suport new --bootclasspath option.
3993 --CLASSPATH is now just an alias for --classpath.
3994
9e8aab55
RH
39952002-03-02 Richard Henderson <rth@redhat.com>
3996
3997 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
3998 load if "internal" visibility.
3999 * doc/extend.texi: Document visibility meanings.
4000
b3bbd220
RH
40012002-03-02 Richard Henderson <rth@redhat.com>
4002
4003 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
4004 to functions as well.
4005
b14707c3
RH
40062002-03-02 Richard Henderson <rth@redhat.com>
4007
4008 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
4009 (handle_visibility_attribute): Don't call assemble_visibility.
4010 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
4011 without asmspec. Invoke assemble_alias when needed.
4012 * varasm.c (maybe_assemble_visibility): New.
4013 (assemble_start_function, assemble_variable, assemble_alias): Use it.
4014
b2003250
RH
40152002-03-02 Richard Henderson <rth@redhat.com>
4016
4017 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
4018 invoke ENCODE_SECTION_INFO with first call flag.
4019
4020 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
4021 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 4022 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
4023 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
4024 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
4025 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
4026 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
4027 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
4028 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
4029 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
4030 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
4031 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
4032 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
4033 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
4034 config/mcore/mcore-protos.h, config/mcore/mcore.c,
4035 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
4036 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 4037 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
4038 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
4039 config/sh/sh.h, config/sparc/sparc.h,
4040 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
4041 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
4042 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
4043 FIRST argument. As needed, examine it and do nothing.
4044
ba31d94e 4045 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
4046 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
4047 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
4048
4049 * config/arm/t-pe (pe.o): Add dependencies.
4050
5c60f03d
KG
40512002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4052
4053 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
4054 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
4055 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
4056 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
4057 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
4058 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
4059 * defaults.h (BITS_PER_UNIT): Define.
4060 * doc/tm.texi (BITS_PER_UNIT): Document default value.
4061
86855e8c
KH
40622002-03-02 Kazu Hirata <kazu@hxi.com>
4063
4064 * config/h8300/h8300-protos.h: Add a prototype for
4065 compute_a_shift_length.
4066 * config/h8300/h8300.c (h8300_asm_insn_count): New.
4067 (compute_a_shift_length): Likewise.
4068 (h8300_adjust_insn_length): Do not adjust insn length of shift
4069 insns.
4070 * config/h8300/h8300.md (anonymous shift patterns): Use
4071 compute_a_shift_length.
4072
f6041ed8
RK
4073Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4074
35aa3c1c
RK
4075 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
4076 trunc_int_for_mode.
4077
f6041ed8
RK
4078 * emit-rtl.c (offset_address): Call update_temp_slot_address.
4079
27b41650
KG
40802002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4081
4082 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
4083 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
4084 * flags.h (flag_zero_initialized_in_bss): Declare.
4085 * toplev.c (flag_zero_initialized_in_bss): New flag.
4086 (lang_independent_options): Add flag_zero_initialized_in_bss.
4087 * tree.c (initializer_zerop): New function.
4088 * tree.h (initializer_zerop): Declare.
4089 * varasm.c (assemble_variable): If we can emit bss, put zero
4090 initializers in the bss section.
4091
ca734b39
AM
40922002-03-02 Alan Modra <amodra@bigpond.net.au>
4093
4094 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
4095 like more than one symbol per .weak directive.
4096
49b72306
RH
40972002-03-01 Richard Henderson <rth@redhat.com>
4098
4099 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
4100 adjust argument_pointer by pretend_args_size.
4101 (ia64_va_start): Adjust va_start address by -pretend_args_size.
4102
fbf0fe41
KH
41032002-03-01 Kazu Hirata <kazu@hxi.com>
4104
4105 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
4106
0010687d
JH
4107Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
4108
4109 * toplev.c (rest_of_compilation): Delete dead jumptables before
4110 loop.
4111 * flow.c (delete_dead_jumptables): Make global.
4112 * rtl.h (delete_dead_jumptables): Declare.
4113
9429c84c
DE
41142002-03-01 David Edelsohn <edelsohn@gnu.org>
4115
4116 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
4117 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 4118 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 4119
f0b6f9a6
KH
41202002-03-01 Kazu Hirata <kazu@hxi.com>
4121
4122 * config/h8300/h8300-protos.h: Fix formatting.
4123 * config/h8300/h8300.c: Likewise.
4124 * config/h8300/h8300.h: Likewise.
4125
bc8db8a1
KH
41262002-03-01 Kazu Hirata <kazu@hxi.com>
4127
4128 * config/h8300/h8300.c (print_operand): Support 16-bit
4129 constant addresses.
4130 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
4131
32b069d3
RH
41322002-02-28 Richard Henderson <rth@redhat.com>
4133
4134 * expmed.c (store_bit_field): Prevent generation of CONCATs;
4135 pun complex values as integers; use gen_lowpart instead of
4136 gen_rtx_SUBREG.
4137 (extract_bit_field): Likewise.
4138
79c4e63f
AM
41392002-03-01 Alan Modra <amodra@bigpond.net.au>
4140 David Edelsohn <edelsohn@gnu.org>
4141
4142 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
4143 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
4144 (SUPPORTS_WEAK): Likewise.
4145 * output.h (add_weak): Add tree param.
4146 * varasm.c (add_weak): Likewise. Save decl.
4147 (struct weak_syms): Add decl field.
4148 (mark_weak_decls): New function.
4149 (init_varasm_once): ggc_add_root mark_weak_decls.
4150 (assemble_start_function): Use ASM_WEAKEN_DECL.
4151 (assemble_variable): Likewise.
4152 (assemble_alias): Likewise.
4153 (declare_weak): Pass decl to add_weak.
4154 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
4155 (remove_from_pending_weak_list): Declare and define for
4156 ASM_WEAKEN_DECL.
4157 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
4158 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
4159 * defaults.h (SUPPORTS_WEAK): Likewise.
4160 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
4161 .weak for code sym. Do emit .size for descriptor sym.
4162 (ASM_DECLARE_FUNCTION_SIZE): Define.
4163 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
4164 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
4165 .lglobl unless TARGET_XCOFF. Formatting fixes.
4166 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
4167 .weak for code sym.
4168 (HANDLE_PRAGMA_WEAK): Remove.
4169 (ASM_WEAKEN_LABEL): Remove.
4170 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
4171
6f30f1f1
JM
41722002-03-01 Jason Merrill <jason@redhat.com>
4173
4174 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
4175 (TARGET_EXPR_CLEANUP): New macro.
4176
7879b81e
SE
41772002-02-28 Steve Ellcey <sje@cup.hp.com>
4178
4179 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
4180 to take ptr_extend into account as third type of extension.
4181 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
4182 fields used by SUBREG_PROMOTED_UNSIGNED_P.
4183 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
4184 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
4185 * calls.c (precompute_arguments): Use new macro.
4186 (expand_call): Ditto.
4187 * combine.c (nonzero_bits): Ditto.
4188 (record_promoted_value): Ditto.
4189 * expr.c (store_expr): Ditto.
4190 (expand_expr): Ditto.
4191 * function.c (assign_parms): Ditto.
4192
42d579d8
AO
41932002-02-28 Alexandre Oliva <aoliva@redhat.com>
4194
4195 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
4196 override -shared and -shared-libgcc.
4197
e0054185
DB
41982002-02-28 David O'Brien <obrien@FreeBSD.org>
4199
4200 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
4201 of "ultrasparc".
4202 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
4203 to be broken.
4204
abda4f1c
RH
42052002-02-28 Richard Henderson <rth@redhat.com>
4206
4207 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
4208 4 cycle latency from MM producers.
4209 (ia64_internal_sched_reorder): Likewise with pipeline flush.
4210
c0f08649
JJ
42112002-02-28 Jakub Jelinek <jakub@redhat.com>
4212
4213 * mklibgcc.in: Don't use GNU make extension.
4214
f79f2651
NB
42152002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
4216
4217 * c-parse.in (STATIC): New terminal.
4218 (scspec): New non-terminal. Update productions accordingly.
4219 (program): Remove bogus ifc / end ifc.
4220 (array_declarator): Simplify production using STATIC.
4221
001e3fee
JM
42222002-02-28 Jim Meyering <meyering@lucent.com>
4223
4224 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
4225 \a still means TARGET_BELL.
4226
89076bb3
RH
42272002-02-28 Richard Henderson <rth@redhat.com>
4228
4229 * haifa-sched.c (sched_emit_insn): New.
4230 (schedule_block): Use last_scheduled_insn to track last insn.
4231 * sched-int.h (sched_emit_insn): Prototype.
4232 * config/ia64/ia64.c (last_issued): Remove.
4233 (ia64_variable_issue): Don't set it.
4234 (nop_cycles_until): Use sched_emit_insn.
4235
e3aaacf4
AM
42362002-02-28 Andrew MacLeod <amacleod@redhat.com>
4237
4238 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
4239 extended constants.
4240
7f473594
KH
42412002-02-28 Kazu Hirata <kazu@hxi.com>
4242
4243 * config/h8300/h8300.c: Fix formatting.
4244 * config/h8300/h8300.h: Likewise.
4245
b96c434c
MM
42462002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
4247
4248 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
4249 which may overwrite the high byte of the frame pointer.
4250
9b420a6a
BT
42512002-02-28 Bo Thorsen <bo@suse.de>
4252
4253 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
4254 (STARTFILE_SPEC): Add 64 bit files.
4255 (ENDFILE_SPEC): Likewise.
4256
6f30f1f1 42572002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
4258
4259 * c-decl.c (finish_function): Only warn about missing return
4260 statement with -Wreturn-type.
4261
70da1d03
JH
4262Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
4263
4264 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
4265
4266 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
4267 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
4268
38c1593d
JH
4269Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
4270
4271 * basic-block.h (BB_REACHABLE): Renumber.
4272 (BB_DIRTY, BB_NEW): New flags.
4273 (clear_bb_flags): Declare.
4274 (update_life_info_in_dirty_blocks): Declare.
4275 * cfg.c (clear_bb_flags): New function.
4276 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
4277 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
4278 reorder_insns, emit_insn_after): Mark block as dirty.
4279 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
4280 (update_life_info_in_dirty_blocks): New function.
4281 * recog.c (apply_change_group): Dirtify block.
4282
4283 * cse.c (cse_insn): Reorder emitting of jump insn to keep
4284 cfg consistent.
4285 * gcse.c (delete_null_pointer_checks): Likewise.
4286
4287 * toplev.c (dump_file_index): Move cse2 after bp,
4288 add DFI_null
4289 (dump_file_info): Similary.
4290 (rest_of_compilation): Avoid most of CFG rebuilds;
4291 do first if converision after null pointer checks, do cse2
4292 after branch prediction; avoid full liveness rebuild after
4293 initializing subregs.
4294 * invoke.texi (-d options): Document -du, renumber.
4295
4296 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
4297 (notice_new_block): Do not set BB_UPDATE_LIFE.
4298 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
4299 merge_blocks_move_successor_nojumps, merge_blocks,
4300 try_crossjump_to_edge): Likewise.
4301 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
4302 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
4303 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
4304 (merge_of_block): Do not use life_data_ok.
4305 (find_if_case_1): Do not use SET_UPDATE_LIFE.
4306 (if_convert): Use BB_DIRTY mechanizm to update life.
4307 * lcm.c (optimize_mode_switching): Update
4308 update_life_info_in_dirty_blocks
4309
63e1b1c4
NB
43102002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
4311
4312 * Makefile.in (integrate.o): Update.
4313 * c-decl.c (copy_lang_decl): Rename.
4314 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
4315 * integrate.c: Include langhooks.h.
4316 (copy_decl_for_inlining): Update to use langhook.
4317 * langhooks-def.h (lhd_do_nothing_t,
4318 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
4319 (LANG_HOOKS_INITIALIZER): Update.
4320 * langhooks.c (lhd_do_nothing_t): New.
4321 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
4322 * tree.h (copy_lang_decl): Remove.
4323objc:
4324 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
4325
f472fa29
AM
43262002-02-27 Andrew MacLeod <amacleod@redhat.com>
4327
ba31d94e 4328 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
4329 POST_DEC, and POST_MODIFY.
4330
273cf2e4
ZW
43312002-02-27 Zack Weinberg <zack@codesourcery.com>
4332
4333 * c-typeck.c (digest_init): Remove unused parameter; all
4334 callers changed.
4335
4e07d762
GK
43362002-02-27 Geoffrey Keating <geoffk@redhat.com>
4337
4338 * expmed.c (expand_shift): Correctly test for low part of a
4339 subreg.
4340
6bc627b3
UW
43412002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
4342
4343 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
4344 insn UIDs with insn addresses.
4345
f458d1d5
ZW
43462002-02-27 Zack Weinberg <zack@codesourcery.com>
4347
4348 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
4349 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
4350 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
4351 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
4352 gcc.c, toplev.c: Delete code implementing -traditional mode.
4353
4354 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
4355 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
4356 Document removal of -traditional mode for compilation, and
4357 remove documentation only relevant to that mode.
4358
4359 * config/nextstep.h, config/ptx4.h, config/svr4.h,
4360 config/convex/convex.h, config/d30v/d30v.h,
4361 config/i386/dgux.h, config/i386/osf1elf.h,
4362 config/i386/osfelf.h, config/i386/osfrose.h,
4363 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
4364 config/m68k/hp310.h, config/m88k/dgux.h,
4365 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
4366 config/m88k/m88k.h, config/m88k/openbsd.h,
4367 config/mips/abi64.h, config/mips/osfrose.h,
4368 config/mips/svr4-5.h, config/mips/svr4-t.h,
4369 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
4370 config/stormy16/stormy16.h: Remove all references to
4371 -traditional from target specs. Delete all mention of the
4372 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
4373 delete a couple of commented-out definitions of
4374 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
4375 to -traditional.
4376
4377 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
4378 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
4379
e0b3a8ff
ZW
43802002-02-27 Zack Weinberg <zack@codesourcery.com>
4381
4382 * mklibgcc.in: Don't use \n in a line subject to
4383 interpretation by echo.
4384
5c6a85b7
GS
43852002-02-27 Graham Stott <grahams@redhat.com>
4386
72b05af1
GS
4387 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
4388 Constify NAME.
4389
7d104885
GS
4390 * loop.c (prescan_loop): Handle PARALLEL.
4391
8ed805d2
GS
4392 * unroll.c (loop_iterations): Return 0 if the add_val for
4393 a BIV is REG.
4394
fd478a0a
GS
4395 * final.c (output_operand_lossage): Constify PFX_STR.
4396
5c6a85b7
GS
4397 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
4398
cd98ad03
JH
4399Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
4400
4401 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
4402 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
4403
639ae55b
JH
4404Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
4405
4406 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
4407
e808ec9c
NB
44082002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
4409
4410 * cpplex.c (_cpp_lex_token): Handle directives in macro
4411 arguments.
4412 * cpplib.c (_cpp_handle_directive): Save and restore state
4413 if parsing macro args when entering a directive.
4414 * cppmacro.c (collect_args): No need to handle directives
4415 in macro arguments.
4416 (enter_macro_context, replace_args): Use the original macro
4417 definition in case it was redefined whilst collecting arguments.
4418doc:
4419 * cpp.texi: Update.
4420
f585a356
DE
44212002-02-26 David Edelsohn <edelsohn@gnu.org>
4422
4423 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
4424 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
4425 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
4426 method on AIX.
4427 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
4428 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
4429 (load_toc_v4_PIC_2): Same.
4430
44312002-02-26 Alan Modra <amodra@bigpond.net.au>
4432
4433 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
4434
d699058e
RH
44352002-02-26 Richard Henderson <rth@redhat.com>
4436
4437 * config/alpha/alpha.md (ashldi_se): Re-enable.
4438
eadccfbb
RH
44392002-02-26 Richard Henderson <rth@redhat.com>
4440
4441 * config/alpha/alpha.c (alpha_encode_section_info): Examine
4442 MODULE_LOCAL_P; improve commentary.
4443
7080ada1
ZW
44442002-02-26 Zack Weinberg <zack@codesourcery.com>
4445
4446 * doc/cpp.texi: Clarify documentation of relationship between
4447 #line and #include.
4448
b42cff6b
KH
44492002-02-26 Kazu Hirata <kazu@hxi.com>
4450
4451 * config/h8300/h8300-protos.h: Update the prototype for
4452 compute_logical_op_length. Add the prototype for
4453 compute_logical_op_cc.
4454 * config/h8300/h8300.c (compute_logical_op_length): Figure out
4455 code from operands.
4456 (compute_logical_op_cc): New.
4457 * config/h8300/h8300.md: Combine all the logical op patterns
4458 in HImode and SImode. Use compute_logical_op_cc.
4459
831c4e87
KC
44602002-02-26 Kelley Cook <kelleycook@comcast.net>
4461
4462 * config/i386/i386.c (print_operand): Don't append ATT-style
4463 length suffixs to x87 opcodes when in Intel mode.
4464
ff88fe10
RS
44652002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
4466
4467 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
4468 (init_emit_once): Update calls.
4469 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
4470 (init_syntax_once): Prototype.
4471
d4108589
JDA
44722002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
4473
4474 * pa-linux.h (LIB_SPEC): Update definition.
4475 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
4476
e013f3c7
RH
44772002-02-26 Richard Henderson <rth@redhat.com>
4478
4479 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
4480 if we emitted a stop bit.
4481
9e944a16
JJ
44822002-02-26 Jakub Jelinek <jakub@redhat.com>
4483
4484 * configure.in (libgcc_visibility): Substitute.
4485 * configure: Rebuilt.
4486 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
4487 defined symbols .hidden.
4488
47bd70b5
JJ
44892002-02-26 Jakub Jelinek <jakub@redhat.com>
4490
4491 * attribs.c (c_common_attribute_table): Add visibility.
4492 (handle_visibility_attribute): New function.
4493 * varasm.c (assemble_visibility): New function.
4494 * output.h (assemble_visibility): Add prototype.
4495 * tree.h (MODULE_LOCAL_P): Define.
4496 * crtstuff.c (__dso_handle): Use visibility attribute.
4497 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
4498 for MODULE_LOCAL_P symbols too.
4499 * config/ia64/ia64.c (ia64_encode_section_info): Handle
4500 MODULE_LOCAL_P symbols the same way as local symbols.
4501 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
4502 into .sdata/.sbss by the user.
4503 * doc/extend.texi (Function Attributes): Document visibility
4504 attribute.
4505
6d73371a
JJ
45062002-02-26 Jakub Jelinek <jakub@redhat.com>
4507
4508 PR debug/5770
4509 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
4510 STRING_CST initializer spanning the whole variable without
4511 embedded zeros.
4512 If expand_expr returned MEM, don't use it.
4513
06e224f7
AO
45142002-02-26 Alexandre Oliva <aoliva@redhat.com>
4515
4516 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
4517 generate a die for the lexical block.
4518
40367e2d
KH
45192002-02-26 Kazu Hirata <kazu@hxi.com>
4520
4521 * config/h8300/h8300-protos.h: Add a prototype for
4522 compute_logical_op_length.
4523 * config/h8300/h8300.c (compute_logical_op_length): New.
4524 * config/h8300/h8300.md (anonymous logical patterns): Use
4525 compute_logical_op_length for length.
4526
0e98f924
AH
45272002-02-26 Aldy Hernandez <aldyh@redhat.com>
4528
831c4e87
KC
4529 * dwarf2out.c (modified_type_die): Do not call type_main_variant
4530 for vectors.
4531 (gen_type_die): Same.
0e98f924 4532
831c4e87 4533 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 4534
a50cfd52
DE
45352002-02-26 Daniel Egger <degger@fhm.edu>
4536
831c4e87
KC
4537 * config/rs6000/rs6000.md: Swap define_insn attributes to
4538 fix incorrect generation of merge high instructions instead
4539 of merge low.
a50cfd52 4540
b7997284
AH
45412002-02-26 Aldy Hernandez <aldyh@redhat.com>
4542
831c4e87
KC
4543 * c-typeck.c (really_start_incremental_init): Use
4544 bitsize_zero_node for vectors.
b7997284 4545
376aec5d
AH
45462002-02-26 Aldy Hernandez <aldyh@redhat.com>
4547
831c4e87
KC
4548 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
4549 ("*set_vrsave_internal"): Same.
376aec5d 4550
3b40e71b
RH
45512002-02-25 Richard Henderson <rth@redhat.com>
4552
4553 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
4554 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
4555
232b8f52
JJ
45562002-02-25 Jakub Jelinek <jakub@redhat.com>
4557
4558 PR target/5755
4559 * config/i386/i386.c (ix86_return_pops_args): Only pop
4560 fake structure return argument if it was passed on the stack.
4561
67282790
JM
45622002-02-25 Jason Merrill <jason@redhat.com>
4563
4564 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
4565 RESULT_DECL.
4566
5c181756
AO
45672002-02-25 Alexandre Oliva <aoliva@redhat.com>
4568
4569 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
4570 link with shared_name only.
4571 * doc/invoke.texi (Link Options): Document new behavior.
4572
6786d201
AH
45732002-02-25 Aldy Hernandez <aldyh@redhat.com>
4574
831c4e87 4575 * c-typeck.c (push_init_level): Handle vectors.
6786d201 4576
7d6040e8
AO
45772002-02-25 Alexandre Oliva <aoliva@redhat.com>
4578
4579 * config/sparc/sparc.c (const64_high_operand): Zero-extend
4580 operands of SPARC_SETHI_P.
4581 (input_operand): Likewise.
4582 (sparc_emit_set_const32): Likewise.
4583 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
4584 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
4585 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
4586 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
4587 (movdi_insn_sp64_vis): Likewise.
4588 (movdi split, movdf split): Use SETHI32.
4589 * doc/md.texi: Document SPARC constraints L, M and N.
4590
b188f760
AH
45912002-02-25 Aldy Hernandez <aldyh@redhat.com>
4592
831c4e87
KC
4593 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
4594 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 4595
831c4e87
KC
4596 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
4597 gen_get_vrsave_internal.
b188f760 4598
8041889f
RK
4599Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4600
4601 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
4602
a47ed310
NB
46032002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
4604
4605 * cpplex.c (cpp_interpret_charconst): Get signedness or
4606 otherwise of wide character constants correct.
4607 * cppexp.c (lex): Get signedness of wide charconsts correct.
4608
cb8f73be
RK
4609Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4610
4611 * optabs.c (widen_operand): Only call convert_modes for
4612 promoted SUBREG if signedness matches.
4613 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
4614
2450e0b8
NB
46152002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
4616
4617 * cpplib.c (glue_header_name): Use local buffer to build up
4618 header name.
4619
70b6aaed
NB
46202002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
4621
4622 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
4623
6be580c7
KH
46242002-02-23 Kazu Hirata <kazu@hxi.com>
4625
4626 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
4627 H8/300[HS] separately.
4628 * config/h8300/h8300.md: Remove the early clobber constraint
4629 from bit field patterns.
4630
35dad9f1
KH
46312002-02-23 Kazu Hirata <kazu@hxi.com>
4632
4633 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
4634 register_operand.
4635 (mulhisi3): Likewise.
4636 (umulqisi3): Likewise.
4637 (umulhisi3): Likewise.
4638
ab8e2228
NB
46392002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
4640
4641 * cppinit.c (output_deps): Correct test for stdout output.
4642 (init_dependency_output): Cure warning.
4643
ac6f8a15
RK
4644Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4645
4646 * expr.c (store_expr): When converting expression to promoted
4647 equivalent type, allow using SUBREG_REG of TARGET as the target
4648 of the expansion of EXP.
4649 * loop.c (basic_induction_var, case SUBREG): Always look inside.
4650 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
4651 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
4652 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
4653 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
4654
f282ffb3
JM
46552002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
4656
4657 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
4658 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
4659 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
4660
44c5edc0
JJ
46612002-02-23 Jakub Jelinek <jakub@redhat.com>
4662
4663 PR optimization/5747
4664 * loop.c (scan_loop): Update reg info if move_movables created new
4665 pseudos.
4666
f98e43c0
DE
46672002-02-23 David Edelsohn <edelsohn@gnu.org>
4668
4669 * gcc.c (init_gcc_spec): Revert last change.
4670
e72247f4
DE
46712002-02-23 David Edelsohn <edelsohn@gnu.org>
4672
4673 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
4674 gpc_reg_operand constraint.
4675
46762002-02-23 Alan Modra <amodra@bigpond.net.au>
4677
4678 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
4679 Simplify comparison of `low'.
4680 (add_operand): Fix formatting.
4681 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 4682 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
4683 (rs6000_stack_info): Remove redundant test setting push_p.
4684 (output_toc): Fix formatting.
4685 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
4686 cc_reg_not_cr0_operand constraint.
4687 (booldi3, boolcdi3 splitters): Same.
4688
a5c30531
AH
46892002-02-23 Aldy Hernandez <aldyh@redhat.com>
4690
831c4e87 4691 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 4692
43710f9f
DE
46932002-02-22 David Edelsohn <edelsohn@gnu.org>
4694
4695 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
4696 gcc invoked with -shared-libgcc.
4697
3256b817
JJ
46982002-02-22 Jakub Jelinek <jakub@redhat.com>
4699
4700 PR c++/5748
4701 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
4702 decl if any of elements was TREE_USED.
4703
9e0625a3
AO
47042002-02-22 Alexandre Oliva <aoliva@redhat.com>
4705
4706 * config/sparc/sol2.h: Don't include sys/mman.h.
4707 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
4708 (arith_4096_operand): Don't throw high bits away.
4709 (const64_operand): Take sign extension of CONST_INTs into account.
4710 (const64_high_operand, sparc_emit_set_const32): Likewise.
4711 (GEN_HIGHINT64): Likewise.
4712 (sparc_emit_set_const64_quick1): Likewise.
4713 (const64_is_2insns): Likewise.
4714 (print_operand): Use trunc_int_for_mode for sign extension.
4715 * config/sparc/sparc.h (SMALL_INT32): Likewise.
4716 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
4717 chars. Assume CONST_INT is already properly sign-extended.
4718 (movdi split): Sign-extend each SImode part.
4719 (andsi3 split): Don't mask high bits off, so that result
4720 remains properly sign-extend.
4721 (iorsi3 split): Likewise.
4722 (xorsi3 split): Likewise.
4723
54fec3d5
RS
47242002-02-22 Richard Sandiford <rsandifo@redhat.com>
4725
4726 * fold-const.c (fold): Fix typo in comments.
4727
667ada9b
DN
47282002-02-21 Diego Novillo <dnovillo@redhat.com>
4729
4730 * Makefile.in (langhooks.o): Update dependencies.
4731
29ac78d5
DN
47322002-02-21 Diego Novillo <dnovillo@redhat.com>
4733
4734 * langhooks.c: Include flags.h.
4735
6aa77e6c
AH
47362002-02-21 Aldy Hernandez <aldyh@redhat.com>
4737
4738 * testsuite/gcc.dg/attr-alwaysinline.c: New.
4739
4740 * c-common.c (c_common_post_options): Set inline trees by
4741 default.
4742
4743 * doc/extend.texi (Function Attributes): Document always_inline
4744 attribute.
4745 Update documentation about inlining when not optimizing.
4746
4747 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
4748
4749 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
4750 unless DECL_ALWAYS_INLINE.
4751
4752 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
4753 unless DECL_ALWAYS_INLINE.
4754 (c_disregard_inline_limits): Disregard if always_inline set.
4755
4756 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
4757 Disregard if always_inline set.
4758 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
4759 unless DECL_ALWAYS_INLINE.
4760
4761 * attribs.c (handle_always_inline_attribute): New.
4762 (c_common_attribute_table): Add always_inline.
4763
4764 * config/rs6000/altivec.h: Add prototypes for builtins
4765 requiring the always_inline attribute.
4766
c410d49e
EC
47672002-02-21 Eric Christopher <echristo@redhat.com>
4768
4769 * expmed.c (store_bit_field): Try to simplify the subreg
4770 before generating a new one when when the mode size of
4771 value is less than maxmode.
4772
e3c8ea67
RH
47732002-02-21 Richard Henderson <rth@redhat.com>
4774
4775 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
4776 than gen_rtx_PLUS to form the sum.
4777 * explow.c (force_reg): Rearrange to not allocate new pseudo
4778 when force_operand returns a register.
4779 * expr.c (expand_assignment): Allow offset_rtx expansion to
4780 return a sum. Do not force addresses into registers.
4781 (expand_expr): Likewise.
4782 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
4783 to canonicalize arithmetic that didn't simpify.
4784 (simplify_plus_minus): New argument force; update
4785 all callers. Don't split CONST unless we can do something with it,
4786 and wouldn't lose the constness of the operands.
4787
4788 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
4789 that we generated earlier.
4790
c1a046e5
TT
47912002-02-21 Tom Tromey <tromey@redhat.com>
4792
4793 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
4794 (output_line_info): Use constant `1', with a long explanatory
4795 comment.
4796 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
4797
31fbaad4
R
4798Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
4799
4800 * jump.c (redirect_jump): If old label has no UID, don't try to
4801 delete it.
4802
a7f52356
R
4803Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
4804
4805 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
4806 If input is constant, do shifts at compile time.
4807
924fcc4e
JM
48082002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
4809
4810 * doc/extend.texi: Fix some more overfull hboxes.
4811
e5a20888
JJ
48122002-02-21 Jakub Jelinek <jakub@redhat.com>
4813
4814 PR optimization/4994
4815 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
4816 register moves.
4817
48182002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
4819
4820 PR c++/4574
4821 * expr.h (expand_and): Add mode argument.
4822 * expmed.c (expand_and): Add mode argument.
4823 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
4824 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
4825 * except.c (expand_builtin_extract_return_addr): Likewise.
4826 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
4827 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
4828 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
4829 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
4830 * config/c4x/c4x.md: Use GEN_INT (x) instead of
4831 gen_rtx (CONST_INT, VOIDmode, x).
4832
7133e992
JJ
48332002-02-21 Jakub Jelinek <jakub@redhat.com>
4834
4835 PR c/4697:
4836 * stmt.c (warn_if_unused_value): Move side effects test once more.
4837
e2ec05a6
TG
48382002-02-20 Torbjorn Granlund <tege@swox.com>
4839
4840 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 4841 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 4842
9dd791c8
AO
4843Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
4844
4845 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
4846 SUBREG or ZERO_EXTEND.
4847
7ab56274
R
4848Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
4849
4850 * sh.h (current_function_anonymous_args): Remove.
4851 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
4852 of current_function_varargs and current_function_stdarg is set.
4853 * sh.c (sh_expand_prologue): Check current_function_varargs /
4854 current_function_stdarg / TARGET_SH5 instead of
4855 current_function_anonymous_args.
4856
4857 * sh64.h (TARGET_VERSION): Define.
4858
b1765bde
DE
48592002-02-20 David Edelsohn <edelsohn@gnu.org>
4860
4861 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
4862 VRSAVE_REGNO on TARGET_ALTIVEC.
4863
48642002-02-20 Alan Modra <amodra@bigpond.net.au>
4865
4866 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
4867 bits of SImode const_int.
4868 (includes_rshift_p): Likewise.
4869 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 4870 mode.
b1765bde
DE
4871 (rs6000_output_function_epilogue): Pad traceback table to word.
4872 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
4873 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
4874 mask64_operand with correct mode.
b1765bde
DE
4875 (FUNCTION_ARG_REGNO_P): Correct parentheses.
4876
149d6f9e
JJ
48772002-02-20 Jakub Jelinek <jakub@redhat.com>
4878
4879 PR debug/4461
4880 * varasm.c (get_pool_constant_mark): New.
4881 * rtl.h (get_pool_constant_mark): Add prototype.
4882 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
4883 be represented if it has not been output.
4884
4161da12
AO
48852002-02-20 Alexandre Oliva <aoliva@redhat.com>
4886
4887 * combine.c (do_SUBST): Sanity check substitutions of
4888 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
4889 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
4890 CONST_INT into its operand.
4891 (known_cond): Likewise, for ZERO_EXTEND.
4892 * simplify-rtx.c (simplify_unary_operation): Fix condition to
4893 allow for simplification of wide modes. Reject CONST_INTs in
4894 ZERO_EXTEND when their actual mode is not given.
4895
3704ef74
AO
48962002-02-20 Alexandre Oliva <aoliva@redhat.com>
4897
4898 * c-decl.c (pushdecl): If no global declaration is found for an
4899 extern declaration in block scope, try a limbo one.
4900
7552da58
JJ
49012002-02-20 Jakub Jelinek <jakub@redhat.com>
4902
4903 PR c++/4401
4904 * c-common.c (pointer_int_sum): Moved from...
4905 * c-typeck.c (pointer_int_sum): ...here.
4906 * c-common.h (pointer_int_sum): Add prototype.
4907
00fae85d
JJ
49082002-02-20 Jakub Jelinek <jakub@redhat.com>
4909
4910 PR c++/5713
4911 * c-decl.c (duplicate_decls): Return 0 if issued error about
4912 redeclaration.
4913
4636c87e
JJ
49142002-02-20 Roger Sayle <roger@eyesopen.com>
4915 Jakub Jelinek <jakub@redhat.com>
4916
4917 PR c/4389
4918 * tree.c (host_integerp): Ensure that the constant integer is
4919 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
4920 when pos is zero or non-zero respectively. Clarify comment.
4921 * c-format.c (check_format_info_recurse): Fix host_integerp
4922 usage; the pos argument should be zero when assigning to a
4923 signed HOST_WIDE_INT.
4924
59bef189
RH
49252002-02-20 Richard Henderson <rth@redhat.com>
4926
4927 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
4928 of the operand, rather than assuming TImode.
4929 (ix86_expand_binop_builtin): Cope with commutative patterns
4930 using nonimmediate_operand for both operands.
4931 (ix86_expand_timode_binop_builtin): Likewise.
4932 (ix86_expand_store_builtin): Validate operand 1.
4933 (ix86_expand_unop1_builtin): Likewise.
4934
9338ffe6 49352002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 4936
9338ffe6
PB
4937 PR 5705
4938 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
4939
f322b423
RH
49402002-02-20 Richard Henderson <rth@redhat.com>
4941
4942 PR c/5615
4943 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
4944
d94084f7
TT
49452002-02-20 Tom Tromey <tromey@redhat.com>
4946
4947 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
4948 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
4949 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
4950 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
4951 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
4952 unconditionally.
4953
37fa124a
AM
4954Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
4955
4956 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
4957 for (const_int 0) in X not just INTVAL.
4958
6e5bb5ad
JM
49592002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
4960
4961 * doc/extend.texi: Avoid or reduce overfull hboxes.
4962
420e7dfa
DN
49632002-02-20 Diego Novillo <dnovillo@redhat.com>
4964
4965 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
4966 operations if the field does not start at a mode boundary.
4967
1b7a2af6
JS
49682001-02-20 Joel Sherrill <joel@OARcorp.com>
4969
4970 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
4971 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
4972 Also done for -Acpu and -Amachine.
4973
56cd5b95
NB
49742002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
4975
4976 * cppinit.c (init_dependency_output): Take deps output file
4977 from -o if none given with -MF. Suppress normal output.
c410d49e 4978 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
4979 * doc/cpp.texi, doc/invoke.texi: Update.
4980
042cdf71
ZW
49812002-02-19 Zack Weinberg <zack@codesourcery.com>
4982
4983 * toplev.c (output_quoted_string): Write unprintable
4984 characters with octal escapes.
4985
c1f11548
DE
49862002-02-19 David Edelsohn <edelsohn@gnu.org>
4987
4988 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
4989 really_call_used[VRSAVE_REGNO] if not Altivec.
4990
49912002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 4992
c1f11548
DE
4993 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
4994 MODE_MASK.
4995 (constant_pool_expr_1): Fix formatting.
4996 (rs6000_legitimize_reload_address): Likewise.
4997
c964d90e
RK
4998Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4999
5000 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
5001 now that we have one.
5002
ae34ac46
ZW
50032002-02-19 Zack Weinberg <zack@codesourcery.com>
5004
5005 * tree.h (struct tree_common): Remove aux. Add unused_0 at
5006 end of first block of bitfields (which was only seven bits);
5007 rename dummy to unused_1; remove comment which is no longer true.
5008
293c28ee
GS
50092002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
5010
5011 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
5012
7b8781c8
PB
50132002-02-19 Philip Blundell <pb@nexus.co.uk>
5014
0cb6c58d 5015 PR 5399
7b8781c8
PB
5016 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
5017 if generating PIC.
5018
5019 PR 5054
5020 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
5021 arm_is_longcall_p rather than inspecting call-type cookie
5022 directly.
5023 (call_value_insn) [TARGET_THUMB]: Likewise.
5024
5c464583
GS
50252002-02-19 Graham Stott <grahams@redhat.com>
5026
5027 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
5028
71c061e6
DE
50292002-02-19 David Edelsohn <edelsohn@gnu.org>
5030
5031 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
5032 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 5033 (FP_SAVE_INLINE): Delete.
71c061e6
DE
5034
5035 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
5036 * config/rs6000/eabi.asm: Remove ABI save restore routines.
5037 * config/rs6000/t-ppccomm: Build crtsavres.o.
5038 * config/rs6000/crtsavres.asm: New file.
5039
3a7731fd
PB
50402002-02-19 Philip Blundell <philb@gnu.org>
5041
5042 * config/arm/arm.c (use_return_insn): Don't reject interrupt
5043 functions.
5044 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
5045 (output_return_instruction): Allow interrupt functions to return with
5046 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
5047 (arm_expand_prologue): Subtract 4 before stacking LR in an
5048 interrupt function.
5049
14f583b8
PB
50502002-02-19 Philip Blundell <pb@nexus.co.uk>
5051
5052 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
5053 decl, not just FUNCTION_DECL.
5054 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
5055 (arm_assemble_integer): Likewise.
5056 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
5057 marked local.
c410d49e 5058
4cb7482c
MG
50592002-02-19 matthew green <mrg@eterna.com.au>
5060
5061 * config.gcc (sparc-*-netbsdelf*): Enable target.
5062 (sparc64-*-netbsd*): New target.
5063 * config/sparc/netbsd-elf.h: New file.
5064 * config/sparc/t-netbsd64: New file.
5065
2df3a718
GS
50662002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
5067
5068 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
5069
77f6c1eb
RS
50702002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
5071
5072 * doc/invoke.texi: explicitly list the style guidelines that
5073 -Weffc++ checks for.
5074
fd973d56
JH
5075Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
5076
5077 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
5078
30518e45
NB
50792002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
5080
5081 PR other/5718
5082 * gcc.c (cpp_unique_options): Treat -o as indicating object file
5083 only if not -E. If -E, pass -o through to the preprocessor.
5084
39ea5704
KH
50852002-02-19 Kazu Hirata <kazu@hxi.com>
5086
5087 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
5088 register number with an appropriate macro.
5089
7355dba7
BM
50902002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5091
5092 * doc/rtl.texi (Constants): Close @code tag.
5093
91c8aa9e
AH
50942002-02-19 Aldy Hernandez <aldyh@redhat.com>
5095
5096 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
5097 ("mmx_uavgv4hi3"): Same.
5098 ("pmulhrwv4hi3"): Same.
5099
5100 * tree-inline.c (walk_tree): Handle vectors.
5101
5102 * c-common.c (constant_expression_warning): Handle vectors.
5103 (overflow_warning): Same.
5104
5105 * sched-deps.c (sched_analyze_2): Handle vectors.
5106
5107 * rtlanal.c (rtx_unstable_p): Handle vectors.
5108 (rtx_varies_p): Same.
5109 (count_occurrences): Same.
5110 (regs_set_between_p): Same.
5111 (modified_between_p): Same.
5112 (modified_in_p): Same.
5113 (volatile_insn_p): Same.
5114 (volatile_refs_p): Same.
5115 (side_effects_p): Same.
5116 (may_trap_p): Same.
5117 (inequality_comparisons_p): Same.
5118 (replace_regs): Same.
5119 (computed_jump_p_1): Same.
5120
5121 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
5122 argument.
5123 (inner_mode_array): New.
5124 (copy_rtx): Handle vectors.
5125 (copy_most_rtx): Same.
5126 (rtx_equal_p): Same.
5127 (get_mode_alignment): Adjust for vectors.
5128
5129 * resource.c (mark_referenced_resources): Handle vectors.
5130 (mark_set_resources): Same.
5131
5132 * reload1.c (eliminate_regs): Handle vectors.
5133 (elimination_effects): Same.
5134 (scan_paradoxical_subregs): Same.
5135
5136 * reload.c (subst_reg_equivs): Handle vectors.
5137
5138 * regrename.c (scan_rtx): Handle vectors.
5139
5140 * regclass.c (reg_scan_mark_refs): Handle vectors.
5141
5142 * recog.c (find_single_use_1): Handle vectors.
5143
5144 * local-alloc.c (equiv_init_varies_p): Handle vectors.
5145 (contains_replace_regs): Same.
5146 (memref_referenced_p): Same.
5147
5148 * integrate.c (copy_rtx_and_substitute): Handle vectors.
5149 (subst_constants): Same.
5150
5151 * genattrtab.c (attr_copy_rtx): Handle vectors.
5152 (encode_units_mask): Same.
5153 (clear_struct_flag): Same.
5154 (count_sub_rtxs): Same.
5155
5156 * gcse.c (want_to_gcse_p): Handle vectors.
5157 (oprs_unchanged_p): Same.
5158 (hash_expr_1): Same.
5159 (oprs_not_set_p): Same.
5160 (expr_killed_p): Same.
5161 (compute_transp): Same.
5162 (store_ops_ok): Same.
5163
5164 * function.c (purge_addressof_1): Do not allow paradoxical subregs
5165 of vectors.
5166 (fixup_var_refs_1): Same.
5167 (instantiate_virtual_regs_1): Same.
5168
5169 * fold-const.c (operand_equal_p): Handle vectors.
5170 (fold): Same.
5171 (rtl_expr_nonnegative_p): Same.
5172
5173 * flow.c (mark_used_regs): Handle vectors.
5174
5175 * df.c (df_uses_record): Handle vectors.
5176
5177 * cselib.c (cselib_subst_to_values): Handle vectors.
5178 (cselib_mem_conflict_p): Same.
5179 (hash_rtx): Same.
5180
5181 * cse.c (canon_reg): Handle vectors.
5182 (fold_rt): Same.
5183 (cse_process_notes): Same.
5184 (count_reg_usage): Same.
5185 (canon_hash): Same.
5186
5187 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
5188
5189 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
5190
5191 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
5192 (gen_rtx): Handle CONST_VECTOR.
5193 (gen_const_vector_0): New.
5194 (copy_rtx_if_shared): CONST_VECTORs can be shared.
5195 (reset_used_flags): Same.
5196 (copy_insn_1): Same.
5197 (initializer_constant_valid_p): Handle VECTOR_CST.
5198
5199 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
5200
5201 * doc/rtl.texi (Constants): Document const_vector.
5202 (CONST0_RTX): Update for vectors.
5203 (RTL sharing): Same.
5204
5205 * print-tree.c (print_node): Add case for VECTOR_CST.
5206
5207 * tree.h (TREE_VECTOR_CST_ELTS): New.
5208 (struct tree_vector): New.
5209 (union tree_node): Add vector node.
5210 (build_vector): Add prototype.
5211
5212 * tree.def (VECTOR_CST): New.
5213
5214 * tree.c (build_vector): New.
5215
5216 * expmed.c (make_tree): Handle CONST_VECTOR.
5217
5218 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
5219 (CONST_VECTOR_ELT): New.
5220 (CONST_VECTOR_NUNITS): New.
5221
5222 * machmode.h (GET_MODE_INNER): New.
5223 (DEF_MACHMODE): Accept 8th arg.
5224
5225 * machmode.def: Add 8th argument for vector inner mode.
5226 Add inner vector modes for vectors.
5227
5228 * rtl.def (VEC_CONST): Remove.
5229 (CONST_VECTOR): New.
5230
5231 * expr.c (clear_storage): Allow vectors.
5232 (is_zeros_p): Handle VECTOR_CST.
5233
5234 * varasm.c (output_constant_pool): Handle vectors.
5235 (rtx_const): Add veclo and vechi fields.
5236 (kind): Add RTX_VECTOR.
5237 (decode_rtx_const): Add case for vector.
5238
5239 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 5240
91c8aa9e
AH
5241 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
5242 constants. Force easy vector constants into memory.
5243 (easy_vector_constant): New.
5244 (emit_easy_vector_constant): New.
5245 (rs6000_legitimize_reload_address): Do not generate bad reloads on
5246 darwin.
5247
5248 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
5249 instruction does.
5250 ("altivec_lvxl"): Same.
5251 (altivec_lvebx): Same.
5252 (altivec_lvehx): Same.
5253 (altivec_lvewx): Same.
5254 ("*movv4si_const0"): New.
5255 ("*movv4sf_const0"): New.
5256 ("*movv8hi_const0"): New.
5257 ("*movv16qi_const0"): New.
5258
d4d6d0ce
KH
52592002-02-18 Kazu Hirata <kazu@hxi.com>
5260
5261 * config/h8300/h8300.c (notice_update_cc): Use
5262 cc_status.value2.
5263
4915d3aa
KH
52642002-02-18 Kazu Hirata <kazu@hxi.com>
5265
5266 * config/h8300/h8300.md (divmod patterns): Change the
5267 constraints for operands[1] to register_operand.
5268
82be00ee
KH
52692002-02-18 Kazu Hirata <kazu@hxi.com>
5270
5271 * config/h8300/h8300-protos.h: Remove the prototype for
5272 p_operand.
5273 * config/h8300/h8300.c (p_operand): Remove.
5274 * config/h8300/h8300.md: Replace p_operand with
5275 const_int_operand.
5276
1768c26f
PB
52772002-02-18 Philip Blundell <pb@nexus.co.uk>
5278
5279 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
5280 comment.
5281 (output_return_instruction): Allow use of LDR to unstack
5282 return addresss even for interrupt handlers or when
5283 interworking. If compiling for ARMv5, use interworking-safe
5284 return instructions by default. Remove duplicated code and
5285 lengthy "strcat" sequences.
5286
ccd84f51
FS
52872002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5288
5289 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
5290 (LINK_EH_SPEC): Define.
5291 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
5292
2c153108
UW
52932002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
5294
5295 * config/s390/s390.c (s390_emit_prologue): Do not set the
5296 frame_related flag for call-clobbered registers.
5297
e95d6b23
JH
5298Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
5299
5300 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
5301 (construct_container): Fix handling of SSE operands.
5302 (ix86_expand_builtin): Fix handling of 64bit pointers.
5303 (mmx_maskmovq_rex): New pattern.
5304
c43a12b5
JH
5305Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
5306
5307 * regrename.c (kill_set_value): Handle subregs properly.
5308
aeb85a15
DB
53092002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
5310
5311 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 5312 from objc_class_name.
aeb85a15 5313
a615ca3e
RH
53142002-02-17 Richard Henderson <rth@redhat.com>
5315
5316 * config/alpha/alpha.c (some_small_symbolic_operand,
5317 some_small_symbolic_operand_1, split_small_symbolic_operand,
5318 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
5319 Handle small SYMBOL_REFs anywhere, not just inside memories.
5320 * config/alpha/alpha-protos.h: Update.
5321 * config/alpha/alpha.h (PREDICATE_CODES): Update.
5322 * config/alpha/alpha.md (small symbolic operand splitter): Update.
5323
ddb28441
RM
53242002-02-17 Roland McGrath <roland@frob.com>
5325
5326 * config.gcc (powerpc-*-gnu-gnualtivec*,
5327 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
5328 * config/rs6000/gnu.h: New file.
5329 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
5330 Grok "gnu" in rs6000_abi_name.
5331 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
5332 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
5333 Grok -mcall-gnu analogous to -mcall-linux et al.
5334 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
5335 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
5336 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
5337
f6f8ada3
JJ
53382002-02-17 Jakub Jelinek <jakub@redhat.com>
5339
5340 PR c/3444:
5341 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
5342 shortening.
5343
e16b32fc
PT
53442002-02-17 Philipp Thomas <pthomas@suse.de>
5345
5346 * config/cris/cris.h: Undefine STARTFILE_SPEC and
5347 ENDFILE_SPEC before (re)defining them.
5348
f9477efd
KH
53492002-02-17 Kazu Hirata <kazu@hxi.com>
5350
5351 * config/h8300/h8300.c: Fix formatting.
5352 * config/h8300/h8300.h: Likewise.
5353
404ae494
PT
53542002-02-17 Philipp Thomas <pthomas@suse.de>
5355
5356 * doc/tm.texi: Explain why empty strings should not be
5357 marked for translation.
5358
a52453cc
PT
53592002-02-17 Philipp Thomas <pthomas@suse.de>
5360
5361 * final.c (output_operand_lossage): Changed to accept
5362 printf style arguments. Change calls where necessary.
5363 * output.h (output_operand_lossage): Change declaration
5364 accordingly. Update copyright.
5365 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
5366 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
5367 Update copyright date where necessary.
c410d49e 5368
a52453cc
PT
5369 * config/i386/i386.c (print_operand): Likewise. Remove use of
5370 sprintf.
5371
5372 * config/cris/cris.c (cris_operand_lossage): Likewise.
5373 Rename parameter so that exgettext recognizes it as
5374 translatable message.
5375 (LOSE_AND_RETURN): Rename parameter to msgid.
5376
1c11abc4
KH
53772002-02-17 Kazu Hirata <kazu@hxi.com>
5378
5379 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
5380 hard coded register number with an appropriate macro.
5381 (HARD_REGNO_MODE_OK): Likewise.
5382 (ARG_POINTER_REGNUM): Likewise.
5383 (STATIC_CHAIN_REGNUM): Likewise.
5384 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
5385 * config/h8300/h8300.md (define_constants): Define more
5386 register numbers.
5387
a5d17ff3
PT
53882002-02-17 Philipp Thomas <pthomas@suse.de>
5389
5390 * config/i386/i386.h: Don't mark empty strings for translation.
5391
1a7289c4
L
53922002-02-16 H.J. Lu <hjl@gnu.org>
5393
5394 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
5395
afb58288
ZW
53962002-02-16 Zack Weinberg <zack@codesourcery.com>
5397
5398 * cppinit.c (merge_include_chains): Check for brack being
5399 NULL before attempting to merge it with qtail.
5400
d2af4dbd
AC
54012002-02-16 Andrew Cagney <ac131313@redhat.com>
5402
5403 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
5404 DBX_DEBUG.
5405
2e1ed1e3
JDA
54062002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
5407
5408 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
5409
604c75b2
JDA
54102002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
5411
5412 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
5413 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
5414 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
5415
1a42b072
RK
5416Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5417
7303604f 5418 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
5419 now only if !TARGET_FIX.
5420 (*movsi_nt_vms_fix): New pattern.
5421
c2ea1ac6
DR
54222002-02-16 Douglas B Rupp <rupp@gnat.com>
5423
5424 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
5425 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
5426 (alpha_sa_mask, alpha_sa_size): Reflect above change.
5427 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
5428 (alpha_start_function, alpha_expand_epilogue): Likewise.
5429 (unicosmk_gen_dsib): Likewise.
5430
725e58b1
RK
5431Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5432
5433 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
5434
13e58269
UW
54352002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
5436
c410d49e 5437 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
5438 check_and_change_labels, s390_final_chunkify): Delete.
5439 (s390_split_branches, s390_chunkify_pool): New functions.
5440 (s390_function_prologue): Call them.
c410d49e 5441
13e58269
UW
5442 * config/s390/s390.h (S390_REL_MAX): Delete.
5443 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
5444
c410d49e 5445 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
5446 attribute calculation.
5447
5448
34d1b01d
DE
54492002-02-15 David Edelsohn <edelsohn@gnu.org>
5450
5451 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
5452 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
5453
be5cc51a
JDA
54542002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
5455
5456 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
5457 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
5458 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
5459
ee96ce90
RS
54602002-02-15 Richard Sandiford <rsandifo@redhat.com>
5461
5462 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
5463
05fa709d
RS
54642002-02-15 Richard Sandiford <rsandifo@redhat.com>
5465
5466 * reload.c (find_dummy_reload): Check that an output register
5467 is valid for its mode.
5468
4606272b
AO
54692002-02-14 Alexandre Oliva <aoliva@redhat.com>
5470
9a360704
AO
5471 * combine.c (known_cond): After replacing the REG of a SUBREG, try
5472 to simplify it.
5473
4606272b
AO
5474 * function.c (assign_parms): Demote promoted argument passed by
5475 transparent reference.
5476
e62d89a1
JS
54772001-02-14 Joel Sherrill <joel@OARcorp.com>
5478
5479 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
5480 -Acpu() and -Amachine() to eliminate warnings.
5481
6c4cf695
UW
54822002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
5483
5484 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
5485
037f11ef
KH
54862002-02-14 Kazu Hirata <kazu@hxi.com>
5487
5488 * config/h8300/h8300-protos.h: Update the prototype for
5489 const_costs.
5490 * config/h8300/h8300.c (const_costs): Treat SET as a little
5491 more expensive operation.
5492 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
5493 reference to const_costs.
5494
fdc76b09
HPN
54952002-02-14 Hans-Peter Nilsson <hp@axis.com>
5496
5497 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
5498
d76e6800
JJ
54992002-02-14 Jakub Jelinek <jakub@redhat.com>
5500
5501 PR c/5503:
5502 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
5503 use arguments from newtype.
5504
5ae590d7
EC
55052002-02-13 Eric Christopher <echristo@redhat.com>
5506
5507 * config/mips/mips.c (override_options): Add check for march/mipsX
5508 on the same command line. Fix error message in cpu processing.
5509 Remove architecture and ISA checks.
5510
b8513691
AH
55112002-02-14 Aldy Hernandez <aldyh@redhat.com>
5512
831c4e87 5513 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 5514
831c4e87 5515 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 5516
78c875e8
AH
55172002-02-14 Aldy Hernandez <aldyh@redhat.com>
5518
831c4e87
KC
5519 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
5520 alternatives.
5521 ("*movv8hi_internal1"): Same.
5522 ("*movv16qi_internal1"): Same.
5523 ("*movv4sf_internal1"): Same.
78c875e8 5524
831c4e87
KC
5525 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
5526 not push_reload for altivec modes.
78c875e8 5527
d76e6800 55282002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
5529
5530 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
5531 all RTEMS targets including removal of #includes from config/*/rtems*.h
5532 file and adding them to tm_file setting. Added xm_defines=POSIX to
5533 many targets.
5534 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
5535 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
5536 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
5537 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
5538 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
5539 config/m68k/rtemself.h: Ditto.
5540 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
5541 config/mips/rtems64.h: Ditto.
5542 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
5543 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
5544 Ditto.
5545 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
5546 config/sparc/rtemself.h: Ditto.
5547 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
5548 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
5549 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
5550 more like arm-elf.
5551 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
5552 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
5553 target made more similar to i386-elf.
5554 * config/i386/t-rtems-i386: Added soft float support and multilibs.
5555 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
5556 be similar to config/m68k/t-m68kelf.
5557 * gthr-rtems.h: Encapsulate with extern "C" for C++.
5558
8686336f
JH
5559Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
5560
5561 * regmove.c (kill_value): Handle subregs.
5562
558740bf
JH
5563Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
5564
5565 * i386.md (mul patterns): Allow memory operand to be first;
5566 add expanders where needed; fix constraints.
5567 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
5568 Allow memory operand to be the first.
5569
5570 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
5571 operands.
5572
21117a17
JJ
55732002-02-13 Jakub Jelinek <jakub@redhat.com>
5574
5575 PR c/5681:
5576 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
5577 GET_MODE (x).
5578
ec65b2e3
JJ
55792002-02-13 Jakub Jelinek <jakub@redhat.com>
5580
5581 PR optimization/5547:
5582 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
5583 all valid IA-32 address modes involving non-scaled %ebx and
5584 GOT/GOTOFF as displacement.
5585
ce50cae8
UW
55862002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
5587
5588 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
5589 after emitting ltorg insns.
5590
5591 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
5592 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
5593 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
5594 *abssf2): Fix "op_type" attribute.
5595
09eb789b
DR
55962002-02-13 Douglas B Rupp <rupp@gnat.com>
5597
2dbe67bb
DR
5598 * mkconfig.sh: Avoid using a subshell redirect.
5599 ($output.T): Change to $(output)T.
5600 (ENABLE_NLS): Remove unneeded undef.
5601
ea5b9a1f
DR
5602 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
5603 * config/alpha/x-vms (libsubdir): Define.
5604
3deb00ce
DR
5605 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
5606 register frame procedures. Optimize retrieving context.
5607
09eb789b
DR
5608 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
5609 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
5610 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
5611
1abade85
RK
5612Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5613
5614 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
5615 Make same change as for find_base_value.
5616
c283e63f
KH
56172002-02-13 Kazu Hirata <kazu@hxi.com>
5618
5619 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
5620 of QImode and SImode.
5621
86039100
KH
56222002-02-13 Kazu Hirata <kazu@hxi.com>
5623
5624 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
5625 length computation of movsi.
5626 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
5627
e1429da0
KH
56282002-02-13 Kazu Hirata <kazu@hxi.com>
5629
5630 * config/h8300/h8300.md (subqi3): Tighten the predicate for
5631 operands[2] to register_operand.
5632
aebfea10
JH
5633Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
5634
5635 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
5636
0ec4e2a8
AH
56372002-02-12 Aldy Hernandez <aldyh@redhat.com>
5638
831c4e87
KC
5639 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
5640 for altivec_lvx* and altivec_stvx*.
5641 ("*movv4si_internal"): Add constraint for loading from GPRs.
5642 ("*movv8hi_internal1"): Same.
5643 ("*movv16qi_internal1"): Same.
5644 ("*movv4sf_internal1"): Same.
0ec4e2a8 5645
831c4e87 5646 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 5647
831c4e87
KC
5648 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
5649 altivec_register_operand.
0ec4e2a8 5650
b007569d
HPN
56512002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
5652
5653 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
5654 handle SYMBOL_REF.
5655
e6834654
SS
56562002-02-13 Stan Shebs <shebs@apple.com>
5657
831c4e87
KC
5658 * c-typeck.c (digest_init): Handle vectors.
5659 (really_start_incremental_init): Same.
5660 (pop_init_level): Same.
5661 (process_init_element): Same.
e6834654 5662
831c4e87 5663 * varasm.c (output_constant): Same.
e6834654 5664
831c4e87
KC
5665 * expr.c (clear_storage): Same.
5666 (store_constructor): Same.
e6834654 5667
d9b3eb63
EC
56682002-02-12 Eric Christopher <echristo@redhat.com>
5669
5670 * explow.c (hard_function_value): Add comment explaining
5671 signed/unsigned comparison.
5672
56d44285
JJ
56732002-02-12 Jakub Jelinek <jakub@redhat.com>
5674
5675 * jump.c (never_reached_warning): Add finish argument.
5676 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
5677 real insn after end.
5678 * rtl.h (never_reached_warning): Adjust prototype.
5679 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
5680 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
5681 never_reached_warning.
5682
fc209487
GS
56832002-02-12 Graham Stott <grahams@redhat.com>
5684
5685 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
5686
1e41e866
KH
56872002-02-12 Kazu Hirata <kazu@hxi.com>
5688
5689 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
5690 logical shifts on H8/300.
5691 (shift_alg_si): Improve several shifts on H8/300.
5692 (get_shift_alg): Likewise.
5693
a36a47ad
GS
56942002-02-12 Graham Stott <grahams@redhat.com>
5695
5696 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
5697
0aacc8ed
RK
5698Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5699
5700 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
5701 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
5702
a02ac966
HPN
57032002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
5704
5705 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
5706 non-CONST_INT through default_assemble_integer.
5707 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
5708 <case 8>: Abort for CONST_DOUBLE.
5709
d6e06ddc
JDA
57102002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
5711
5712 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
5713 is specified.
5714 * config/pa/pa-linux.h (LIB_SPEC): Delete.
5715 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
5716
515342a8
AH
57172002-02-11 Andrew Haley <aph@cambridge.redhat.com>
5718
5719 * config/stormy16/stormy16.md (zero_extendqihi2): New.
5720
cddd8b72
AO
57212002-02-11 Alexandre Oliva <aoliva@redhat.com>
5722
66df7a98
AO
5723 * regrename.c (regrename_optimize): Don't accept a
5724 part-clobbered register if the replaced register is not part
5725 clobbered.
5726
841404cd
AO
5727 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
5728 take padding into account when computing the argument value.
5729
1d1ade42
AO
5730 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
5731
cddd8b72
AO
5732 * combine.c (try_combine): Apply substitutions in
5733 CALL_INSN_FUNCTION_USAGE too.
5734
5c665b88
AH
57352002-02-11 Aldy Hernandez <aldyh@redhat.com>
5736
77f6c1eb
RS
5737 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
5738 __builtin_altivec_abs*.
5739 (bdesc_abs): New.
5c665b88 5740
77f6c1eb
RS
5741 * config/rs6000/rs6000.h (rs6000_builtins): Add
5742 ALTIVEC_BUILTIN_ABS*.
5c665b88 5743
77f6c1eb
RS
5744 * config/rs6000/altivec.h: Use const char for builtins expecting
5745 literals.
5746 (vec_abs): New versions for C and C++.
5747 (vec_abss): Same.
5c665b88 5748
3494f1b4
KH
57492002-02-10 Kazu Hirata <kazu@hxi.com>
5750
5751 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
5752 using Pmode.
5753
72431aef
KH
57542002-02-10 Kazu Hirata <kazu@hxi.com>
5755
5756 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
5757 constant definition from h8300.md.
5758 (FRAME_POINTER_REGNUM): Likewise.
5759 * config/h8300/h8300.md (define_constants): Add FP_REG.
5760
87e4ee91
KH
57612002-02-10 Kazu Hirata <kazu@hxi.com>
5762
5763 * config/h8300/h8300.c (print_operand): Remove redundant code.
5764
9c188705
KH
57652002-02-10 Kazu Hirata <kazu@hxi.com>
5766
5767 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
5768 * config/h8300/h8300.c (byte_reg): Make it static.
5769
fba78abb
RH
57702002-02-10 Richard Henderson <rth@redhat.com>
5771
5772 PR c/5623
5773 * c-typeck.c (incomplete_type_error): Handle flexible array members.
5774
65739e62
RH
57752002-02-10 Richard Henderson <rth@redhat.com>
5776
5777 PR c++/5624
5778 * tree.c (append_random_chars): Don't abort if main_input_filename
5779 does not exist.
5780
247cb9df
HPN
57812002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
5782
5783 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
5784
232bd029
KH
57852002-02-10 Kazu Hirata <kazu@hxi.com>
5786
65739e62 5787 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
5788 (pushhi1): Likewise.
5789
276ef573
JDA
57902002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
5791
5792 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
5793 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
5794
617e9ee5
DB
57952002-02-09 David O'Brien <obrien@FreeBSD.org>
5796
5797 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
5798 remove MASK_VIS.
5799 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
5800
6dfa4005
KH
58012002-02-09 Kazu Hirata <kazu@hxi.com>
5802
5803 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
5804 a half of an SImode register on H8/300.
5805
749e7b80
JH
5806Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
5807
5808 * i386.md (movdi_2): Add missing '!'.
5809
ca77d87c
KH
58102002-02-09 Kazu Hirata <kazu@hxi.com>
5811
5812 * config/h8300/h8300.h: Fix formatting. Remove commented-out
5813 definitions.
5814
16c96304
KH
58152002-02-09 Kazu Hirata <kazu@hxi.com>
5816
5817 * config/h8300/h8300.md (length): Correct the distance valid
5818 for the short branch.
5819
a364bc90
KH
58202002-02-09 Kazu Hirata <kazu@hxi.com>
5821
5822 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
5823
e4ec2cac
AO
58242002-02-09 Alexandre Oliva <aoliva@redhat.com>
5825
a138247b
AO
5826 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
5827 registers in SImode.
5828 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
5829 part-clobbered.
5830
2b1fd83f
AO
5831 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
5832 patch.
d9b3eb63 5833
fa5322fa
AO
5834 Contribute sh64-elf.
5835 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
5836 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
5837 (sh_cannot_modify_jumps_p): New function.
5838 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
5839 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
5840 (sh_ms_bitfield_layout_p): New function.
5841 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
5842 Zack Weinberg <zack@codesourcery.com>
5843 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
5844 expand_simple_binop instead of expand_binop.
5845 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
5846 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
5847 use of .quad and .uaquad.
5848 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
5849 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
5850 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
5851 * config/sh/sh.md (movdi_const, movdi_const_32bit,
5852 movdi_const_16bit): Make sure all CONSTs have modes.
5853 (sym2PIC): Ditto, but by adjusting all callers.
5854 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
5855 if the prologue calls the SHmedia argument decoder or register
5856 saver.
5857 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
5858 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
5859 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
5860 (sh_expand_epilogue): Don't emit USE of return target register.
5861 (prepare_move_operands): Legitimize DImode PIC addresses.
5862 (sh_media_register_for_return): Skip tr0, used to initialize the
5863 PIC register.
5864 (sh_expand_prologue): Remove explicit USE of return register.
5865 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
5866 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
5867 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
5868 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
5869 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
5870 EXTRA_CONSTRAINT_T.
5871 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
5872 (MOVI_SHORI_BASE_OPERAND_P): New.
5873 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
5874 (EXTRA_CONSTRAINT_T): Define in terms of them.
5875 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
5876 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
5877 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
5878 alternatives supporting TARGET_REGS.
5879 (UNSPEC_GOTPLT): New constant.
5880 (movdi split): Move incrementing of LABEL_NUSES...
5881 (movdi_const, movdi_const_32bit): Here. Use
5882 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
5883 (movdi_const_16bit): New.
5884 (call, call_value) [flag_pic]: Use GOTPLT.
5885 (call_pop, call_value_pop): New expands.
5886 (call_pop_compact, call_pop_rettramp): New insns.
5887 (call_value_pop_compact, call_value_pop_rettramp): New insns.
5888 (sibcall) [flag_pic]: Use GOT.
5889 (builtint_setjmp_receiver): Remove bogus, unused expand.
5890 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
5891 (*pt, *ptb, ptrel): New insns.
5892 (sym2GOT): Handle DImode GOT.
5893 (sym2GOTPLT, symGOTPLT2reg): New expands.
5894 (sym2PIC): New expand.
5895 (shcompact_return_tramp): Use GOTPLT to return trampoline.
5896 (shcompact_return_tramp_i): Use return register explicitly.
5897 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
5898 disable flag_reorder_blocks.
5899 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
5900 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
5901 clobbers, for clarity.
5902 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
5903 restoring of r0 in macl as MAYBE_DEAD.
5904 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
5905 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
5906 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
5907 alter_subreg all over.
5908 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
5909 reload, instead of emitting instructions that would require
5910 reloading.
5911 (casesi_load_media): Add missing modes.
5912 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
5913 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
5914 as used if the argument decoder is called.
5915 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
5916 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
5917 Pmode, then extend it to DImode if necessary.
5918 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
5919 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
5920 constants in FPU-enabled SHmedia, let them be loaded from memory.
5921 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
5922 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
5923 Adjust whitespace in assembly output templates.
5924 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
5925 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
5926 mode of if_then_else.
5927 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
5928 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
5929 sh.h.
5930 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
5931 Joern Rennecke <amylaar@redhat.com>
5932 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
5933 (SUBTARGET_CPP_PTR_SPEC): New.
5934 (SUBTARGET_CPP_SPEC): Remove.
5935 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
5936 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
5937 Fix typo in previous checkin.
5938 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
5939 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
5940 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
5941 Alexandre Oliva <aoliva@redhat.com>
5942 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
5943 what single FP register can hold for SHmedia target.
5944 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
5945 Alexandre Oliva <aoliva@redhat.com>
5946 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
5947 Do not split into SUBREG.
5948 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
5949 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
5950 and added new functions as specified in SH5 ABI r9.
5951 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
5952 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
5953 8-byte boundary.
5954 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
5955 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
5956 gen_consttable_4 and gen_consttable_8. Emit multiple labels
5957 and consttable_window_ends.
5958 2001-06-03 Graham Stott <grahams@redhat,com>
5959 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
5960 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
5961 * config/sh/sh.c (print_operand): Handle floating-point pair,
5962 vector and matrix registers.
5963 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
5964 vector modes into account.
5965 * config/sh/sh.md (movv2sf): Split move between registers into
5966 movdf.
5967 (movv4sf, movv16sf): Introduce insns that get split only after
5968 reload.
5969 * config/sh/shmedia.h: Fix Copyright dates.
5970 * config/sh/ushmedia.h: Likewise. Move loop counter
5971 declarations into conditionals that uses them.
5972 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
5973 loop boundary.
5974 * config/sh/sshmedia.h: Fix Copyright dates.
5975 (sh_media_PUTCFG): Fix constraints.
5976 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
5977 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
5978 ptrmemfunc_vbit_in_delta for SH5.
5979 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
5980 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
5981 * invoke.texi: Likewise.
5982 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
5983 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
5984 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
5985 GCC_pop_shmedia_regs_nofpu): New global symbols.
5986 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
5987 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
5988 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
5989 compact function with nonlocal labels.
5990 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
5991 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
5992 (initial_elimination_offset): Account for their stack space.
5993 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
5994 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
5995 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
5996 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
5997 least one of the operands to be a register.
5998 (movv2sf): Likewise. Renamed to movv2sf_i.
5999 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
6000 prepare_move_operands() before emitting SHmedia insns.
6001 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
6002 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
6003 Don't save nor initialize r12. Don't mis-align the stack.
6004 Pad the code with a nop.
6005 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
6006 stack.
6007 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
6008 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
6009 [__SHMEDIA__]: Implement.
6010 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
6011 * config/sh/sh.md: Set latency of `pt' closer to reality.
6012 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
6013 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
6014 Set move, load and store type attributes.
6015 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
6016 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
6017 profiling.
6018 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
6019 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
6020 * config/sh/sh.c (sh_media_register_for_return): New function.
6021 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
6022 branch-target register.
6023 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
6024 * config/sh/sh.md (return_media_i): Use any call-clobbered
6025 branch-target register.
6026 (return_media): If r18 wasn't copied in the prologue, copy it
6027 here.
6028 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
6029 Clear class FP0_REGS.
6030 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
6031 from elf.h.
6032 2001-03-08 DJ Delorie <dj@redhat.com>
6033 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
6034 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
6035 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
6036 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
6037 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
6038 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
6039 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
6040 return value correctly for call_cookie.
6041 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
6042 * config/sh/crt1.asm (start): Modified so as to call
6043 ___setup_argv_and_call_main.
6044 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
6045 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
6046 SHmedia mode.
6047 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
6048 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
6049 (STRIP_NAME_ENCODING): Use it.
6050 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
6051 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
6052 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
6053 prepare_scc_operands().
6054 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
6055 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
6056 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
6057 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
6058 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
6059 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
6060 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
6061 used in shcompact_incoming_args.
6062 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
6063 change.
6064 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
6065 mode.
6066 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
6067 Adjust accordingly.
6068 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
6069 Simplify. Adjust. Add sanity check.
6070 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
6071 FPU_SINGLE_BIT.
6072 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
6073 TARGET_SHCOMPACT.
6074 (udivsi3, divsi3): Use them.
6075 (force_mode_for_call): New insn.
6076 (call, call_value, sibcall_value): Emit it before SHcompact
6077 calls.
6078 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
6079 * config/sh/sh.md (call, call_value, sibcall): Make sure the
6080 call cookie is non-NULL before taking its value.
6081 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
6082 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
6083 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
6084 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
6085 block.
6086 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
6087 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
6088 temporary for stack adjusts. Use MACL and MACH to pass
6089 arguments to shcompact_incoming_args.
6090 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
6091 clobber r1.
6092 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
6093 (nested_trampoline): Load static chain address into r1.
6094 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
6095 2001-01-07 Alexandre Oliva <aoliva@redhat.com
6096 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
6097 fp_arith_reg_operand().
6098 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
6099 * config/sh/sh.md (casesi): Sign-extend the first two operands,
6100 and use signed compares for them.
6101 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
6102 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
6103 ones properly aligned.
6104 (find_barrier): Account for extra alignment needed for 8-byte wide
6105 constants.
6106 (machine_dependent_reorg): Require a label for the second 4-byte
6107 constant after an 8-byte one.
6108 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
6109 change.
6110 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
6111 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
6112 last_float when switching float modes.
6113 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
6114 auto-increment for general-purpose registers.
6115 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
6116 result.
6117 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
6118 for stack adjust.
6119 * config/sh/sh.c (sh_builtin_saveregs): Support using all
6120 registers for varargs.
6121 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
6122 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
6123 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
6124 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
6125 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
6126 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
6127 call_cookie accordingly.
6128 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
6129 (SHCOMPACT_BYREF): Likewise.
6130 (SHCOMPACT_FORCE_ON_STACK): New macro.
6131 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
6132 (sh_builtin_saveregs): Likewise.
6133 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6134 shcompact_incoming_args): Use new shift values. Support
6135 sequences of consecutive and non-consecutive pushes/pops.
6136 * config/sh/sh.md (return): Don't explicitly use PR_REG.
6137 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
6138 * config/sh/sh.h (TEXT_SECTION): Define.
6139 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
6140 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
6141 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
6142 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
6143 return values on FPU-enabled SHmedia.
6144 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
6145 FPU-enabled SHmedia.
6146 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
6147 value is returned in a non-FP reg and is not returned by
6148 reference.
6149 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
6150 jump_ind.
6151 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
6152 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
6153 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
6154 quad-aligned to be passed by callee-copy reference.
6155 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
6156 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
6157 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
6158 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
6159 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
6160 copying low-numbered FP regs to r7 and r8.
6161 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
6162 FP regs to general-purpose regs only if the copy was passed on the
6163 stack.
6164 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
6165 copying FP reg to r9.
6166 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
6167 copy FP regs to general-purpose regs only in outgoing calls.
6168 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 6169 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
6170 HOST_WIDE_INT.
6171 * config/sh/sh.h (struct sh_args): Document all fields.
6172 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
6173 passed partially on the stack should not consider making
6174 sibcalls.
6175 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
6176 stack_regs only for incoming calls. When passing FP args,
6177 make sure there are FP regs available before modifying
6178 call_cookie.
6179 (SHCOMPACT_BYREF): Pass double args in general-purpose
6180 registers by reference.
6181 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
6182 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
6183 attempt to generate sibcalls if the caller got any arguments
6184 by reference.
6185 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
6186 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
6187 to 8-byte boundaries.
6188 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
6189 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
6190 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
6191 stored in the stack.
6192 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
6193 for the offsets to have the ISA bit set.
6194 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
6195 invocation. Use beq instead of bgt to mark end of sequence of
6196 loads.
6197 (shcompact_incoming_args): Fix store of r2. Use beq instead of
6198 bgt to mark end of sequence of stores.
6199 * config/sh/sh.c (arith_operand): Don't check whether
6200 CONST_OK_FOR_J for now.
6201 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
6202 instead of long for conversion.
6203 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
6204 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
6205 before passing it to fprintf.
6206 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
6207 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
6208 Call set_fpscr before reading/writing SR.
6209 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
6210 Call set_fpscr.
6211 * config/sh/lib1funcs.asm: Add `.align 2' directives before
6212 SHmedia code.
6213 (FMOVD_WORKS): Define on SH5 with FPU.
6214 (set_fpscr): Define on SH5. Remove separate _fpscr_values
6215 setting.
6216 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
6217 _fpscr_values.
6218 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
6219 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
6220 address.
6221 (ia_main_table): Ditto.
6222 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
6223 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
6224 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
6225 the definitions from sh.h.
6226 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
6227 TARGET_SH5.
6228 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
6229 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
6230 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
6231 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
6232 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
6233 Increment LABEL_NUSES.
d9b3eb63 6234
fa5322fa
AO
6235 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
6236 TARGET_SH5.
6237 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
6238 defined.
6239 * config/sh/elf.h (SIZE_TYPE): Likewise.
6240 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
6241 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6242 shcompact_incoming_args): Load switch table addresses using
6243 datalabel.
6244 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
6245 (NO_BUILTIN_SIZE_TYPE): Define.
6246 (SIZE_TYPE): Don't define.
6247 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
6248 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
6249 definition of __SH5__=32 for -m5-compact-nofpu.
6250 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
6251 ADDR_DIFF_VEC.
6252 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
6253 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
6254 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
6255 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
6256 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
6257 (INSN_LENGTH_ALIGNMENT): Likewise.
6258 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
6259 * config/sh/sh.md (call, call_value, sibcall): Simplify
6260 copying of non-branch-target register.
6261 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 6262 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
6263 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
6264 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
6265 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
6266 floating-point values as structs.
6267 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
6268 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
6269 general-purpose register.
6270 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
6271 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
6272 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
6273 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
6274 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
6275 (ENCODE_SECTION_INFO): Enclose variables and constants in
6276 DATALABEL unspecs.
6277 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
6278 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
6279 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
6280 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
6281 only for LABEL_REFs. For SYMBOL_REFs, prepend
6282 SH_DATALABEL_ENCODING to the symbol name.
6283 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
6284 convert_mode().
6285 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
6286 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
6287 UNSPEC_DATALABEL.
6288 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
6289 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
6290 (DATALABEL_REF_P): Don't require CONST.
6291 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
6292 REL label.
6293 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
6294 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
6295 right.
6296 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
6297 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
6298 Use shallow_copy_rtx and PUT_MODE to change the mode of
6299 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
6300 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
6301 on SHmedia using GENERAL_REGs.
6302 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
6303 bltu_media_i): Fix reversion of conditions.
6304 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
6305 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
6306 * config/sh/sh.c (output_far_jump): Save r13 in macl.
6307 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
6308 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
6309 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
6310 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
6311 (GCC_nested_trampoline): Likewise.
6312 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
6313 * config/sh/sh.c (gen_datalabel_ref): Define.
6314 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
6315 (INITIALIZE_TRAMPOLINE): Likewise.
6316 (TRAMPOLINE_ADJUST_ADDRESS): Define.
6317 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
6318 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
6319 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
6320 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
6321 (ic_invalidate): Adjust for SH5.
6322 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
6323 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
6324 _nested_trampoline.
6325 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
6326 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
6327 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
6328 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
6329 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
6330 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
6331 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
6332 * config/sh/sh.c (target_reg_operand): Match only target-branch
6333 registers and pseudos that aren't virtual registers.
6334 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
6335 Copy operands that don't match target_reg_operand to pseudos.
6336 (call_media, call_value_media, sibcall_media): Use
6337 target_reg_operand instead of target_operand.
6338 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 6339 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
6340 * config/sh/sh.c (target_reg_operand): Match hardware registers
6341 other than branch-target registers.
6342 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
6343 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
6344 (fpscr_values) [SH5 == 32]: Define.
6345 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
6346 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
6347 Handle function addresses coming in SUBREGs.
6348 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
6349 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6350 shcompact_return_trampoline): Use datalabel where appropriate.
6351 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
6352 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
6353 general-purpose register to copy one branch-target register to
6354 another.
6355 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
6356 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
6357 SYMBOL_REFs with VOIDmode.
6358 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
6359 bltu_media_i): New insns.
6360 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
6361 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
6362 (INIT_CUMULATIVE_ARGS): Likewise.
6363 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
6364 * machmode.def (V16SFmode): New mode.
6365 * c-common.c (type_for_mode): Support V2SF and V16SF.
6366 * tree.c (build_common_tree_nodes_2): Likewise.
6367 * tree.h (tree_index): Likewise.
6368 * calls.c (emit_call_1): Take args_so_far. Adjust all
6369 callers. Introduce CALL_POPS_ARGS.
6370 * tm.texi (CALL_POPS_ARGS): Document.
6371 * config/sh/crt1.asm: Implement in SHmedia mode.
6372 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
6373 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
6374 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
6375 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
6376 Implement divsi and udivsi in SHmedia mode. Introduce
6377 SHcompact trampolines.
6378 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
6379 only in SHmedia64.
6380 (regno_reg_class): Rewrite.
6381 (fp_reg_names): Remove.
6382 (sh_register_names, sh_additional_register_names): New.
6383 (print_operand): Added `u'. Support SUBREGs in addresses.
6384 Add parentheses around shifted CONSTs.
6385 (output_file_start): Output .mode and .abi directives.
6386 (shiftcosts, addsubcosts, multcosts): Adjust.
6387 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
6388 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
6389 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
6390 bytes, not registers. Take into account the need for the
6391 SHcompact incoming args trampoline. Adjust all callers.
6392 (sh_expand_prologue): Take stack_regs into account. Call
6393 incoming args trampoline. Keep stack aligned as per SH5 ABI.
6394 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
6395 stack aligned as per SH5 ABI.
6396 (sh_builtin_saveregs): Support SH5 ABI.
6397 (sh_build_va_list, sh_va_start): Likewise.
6398 (initial_elimination_offset): Take alignment into account.
6399 Compute location of PR according to the SH5 stack frame.
6400 (arith_reg_operand): Reject branch-target registers.
6401 (shmedia_6bit_operand): New.
6402 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
6403 (target_reg_operand): Match DImode only. Accept SUBREGs.
6404 (target_operand): New.
6405 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
6406 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
6407 SIBCALL_REGS for SHmedia.
6408 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
6409 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
6410 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
6411 (TARGET_SWITCHES): New SH5 flags.
6412 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
6413 VALID_REGISTER_P to disable unsupported registers.
6414 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
6415 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
6416 (FUNCTION_ARG_PADDING): Define.
6417 (FASTEST_ALIGNMENT): Adjust.
6418 (SH_REGISTER_NAMES_INITIALIZER): New.
6419 (sh_register_names): Declare.
6420 (DEBUG_REGISTER_NAMES): Define.
6421 (REGISTER_NAMES): Define based on sh_register_names.
6422 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
6423 (sh_additional_register_names): Declare.
6424 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
6425 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
6426 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
6427 (REGISTER_NATURAL_MODE): Define.
6428 (FIRST_PSEUDO_REGISTER): Adjust.
6429 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
6430 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
6431 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
6432 (VECTOR_MODE_SUPPORTED_P): Define.
6433 (REG_CLASS_CONTENTS): Adjust.
6434 (SMALL_REGISTER_CLASSES): Adjust.
6435 (REG_ALLOC_ORDER): Adjust.
6436 (INDEX_REG_CLASS): Adjust.
6437 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
6438 (CONST_OK_FOR_LETTER_P): Adjust.
6439 (PREFERRED_RELOAD_CLASS): Adjust.
6440 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
6441 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
6442 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
6443 (FIRST_FP_PARM_REG): Adjust.
6444 (CALL_POPS_ARGS): Define.
6445 (FUNCTION_ARG_REGNO_P): Adjust.
6446 (struct sh_args): New fields.
6447 (GET_SH_ARG_CLASS): Adjust.
6448 (INIT_CUMULATIVE_ARGS): Adjust.
6449 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
6450 (FUNCTION_ARG_ADVANCE): Adjust.
6451 (FUNCTION_ARG): Adjust.
6452 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
6453 (FUNCTION_ARG_CALLEE_COPIES): Define.
6454 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
6455 (STRICT_ARGUMENT_NAMING): Define.
6456 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
6457 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
6458 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
6459 (SETUP_INCOMING_VARARGS): Adjust.
6460 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
6461 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
6462 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
6463 (SUBREG_OK_FOR_INDEX_P): Adjust.
6464 (EXTRA_CONSTRAINT_S): Update.
6465 (EXTRA_CONSTRAINT_T): New.
6466 (EXTRA_CONSTRAINT): Adjust.
6467 (GO_IF_LEGITIMATE_INDEX): Adjust.
6468 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
6469 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
6470 (MOVE_MAX): Adjust.
6471 (MAX_MOVE_MAX): Define.
6472 (Pmode): Adjust.
6473 (CONST_COSTS): Adjust.
6474 (REGISTER_MOVE_COST): Adjust.
6475 (BRANCH_COST): Adjust.
6476 (TEXT_SECTION_ASM_OP): Adjust.
6477 (DBX_REGISTER_NUMBER): Adjust.
6478 (ASM_OUTPUT_DOUBLE_INT): New.
6479 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
6480 (PREDICATE_CODES): Adjust.
6481 (PROMOTE_MODE): Adjust.
6482 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
6483 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
6484 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
6485 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
6486 (DR0_REG, DR2_REG, DR4_REG): Renumber.
6487 (TR0_REG, TR1_REG, TR2_REG): New.
6488 (XD0_REG): Renumber.
6489 (UNSPEC_COMPACT_ARGS): New.
6490 (type): Added pt and ptabs.
6491 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 6492 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
6493 (pt): New function unit.
6494 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
6495 Add whitespace between operands of SHmedia instructions.
6496 (movdicc): Fix.
6497 (adddi3_media, addsi3_media): Adjust constraints.
6498 (subsi3) [SHmedia]: Force operand 1 into a register.
6499 (udivsi3_i1_media, udivsi3_i4_media): New.
6500 (udivsi3): Support SHmedia.
6501 (divsi3_i1_media, divsi3_i4_media): New.
6502 (divsi3): Support SHmedia.
6503 (anddi3, iordi3, xordi3): Adjust constraints.
6504 (zero_extendhidi2, zero_extendqidi2): New.
6505 (extendsidi2, extendhidi2, extendqidi2): New.
6506 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
6507 (pop_e, pop_fpul, pop_4): Likewise.
6508 (movsi_media): Support FP and BT registers.
6509 (movsi_media_nofpu): New. Adjust splits to DImode.
6510 (lduw, ldub): Renamed to zero_extend* above.
6511 (movqi_media): Fix typo.
6512 (movdi_media): Support FP and BT registers.
6513 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
6514 (movdi_const_32bit): New.
6515 (shori_media): Require immediate operand. Use `u' for output.
6516 (movdf_media, movsf_media): Simplified.
6517 (movdf_media_nofpu, movsf_media_nofpu): New.
6518 (movdf, movsf): Adjust
6519 (movv2sf, movv2sf, movv16sf): New.
6520 (beq_media, beq_media_i): Adjust constraints. Don't use
6521 scratch BT register.
6522 (bne_media, bne_media_i): Likewise.
6523 (bgt_media, bgt_media_i): Likewise.
6524 (bge_media, bge_media_i): Likewise.
6525 (bgtu_media, bgtu_media_i): Likewise.
6526 (bgeu_media, bgeu_media_i): Likewise.
6527 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
6528 bunordered): Emit jump insn. Force operands to registers when
6529 needed.
6530 (jump_media, jump): Simplify.
6531 (call_compact, call_compact_rettramp): New.
6532 (call_value_compact, call_value_compact_rettramp): New.
6533 (call_media, call_value_media): Simplify.
6534 (sibcall_compact, sibcall_media): New.
6535 (call, call_value): Adjust for SHmedia and SHcompact.
6536 (sibcall, sibcall_value, untyped_call): Likewise.
6537 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
6538 (indirect_jump): Adjust for SHmedia.
6539 (casesi_jump_media): New.
6540 (nop): Re-enable for SHmedia.
6541 (call_site): Restrict to SH1.
6542 (casesi): Adjust for SHmedia.
6543 (casesi_shift_media, casesi_load_media): New.
6544 (return): Explicitly use PR register. Call return trampoline
6545 on SHcompact.
6546 (return_i): Explicitly use PR register.
6547 (shcompact_return_tramp, shcompact_return_tramp_i): New.
6548 (return_media): Adjust.
6549 (shcompact_incoming_args): New.
6550 (epilogue): Adjust.
6551 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
6552 (movstrsi): Disable on SH5.
6553 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
6554 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
6555 (subsf3, subsf3_media): Likewise.
6556 (mulsf3, mulsf3_media, mac_media): Likewise.
6557 (divsf3, divsf3_media): Likewise.
6558 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
6559 (floatsisf2, fux_truncsfsi2): Likewise.
6560 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
6561 constraints.
6562 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
6563 (cmpunsf_media, cmpsf): Likewise.
6564 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
6565 (abssf2, abssf2_media): Likewise.
6566 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
6567 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
6568 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
6569 (floatsidf2, fix_truncdfsi2): Likewise.
6570 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
6571 constraints.
6572 (cmpeqdf_media, cmpgtdf_media): Likewise.
6573 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
6574 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
6575 (absdf2, absdf2_media): Likewise.
6576 (extendsfdf2, extendsfdf2_media): Likewise.
6577 (truncsfdf2, truncsfdf2_media): Likewise.
6578 * config/sh/sh64.h: New file.
6579 * config/sh/t-sh64: New file.
6580 * config/sh/shmedia.h: New file.
6581 * config/sh/ushmedia.h: New file.
6582 * config/sh/sshmedia.h: New file.
6583 * configure.in: Added sh64-*-elf.
6584 * configure: Rebuilt.
6585 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
6586 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
6587 (reg_class_from_letter): Use `b' for TARGET_REGS.
6588 (print_operand): Support `%M', `%m', `AND' and
6589 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
6590 (andcosts): Adjust for SHmedia.
6591 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
6592 Likewise.
6593 (target_reg_operand): New function.
6594 * config/sh/sh-protos.h (target_reg_operand): Declare.
6595 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
6596 FP registers on SH5.
6597 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
6598 on SH4.
6599 (TARGET_REGISTER_P): New macro.
6600 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
6601 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
6602 (EXTRA_CONSTRAINT_S): New macro.
6603 (EXTRA_CONSTRAINT): Adjust.
6604 (FLOAT_TYPE_SIZE): Define to 32.
6605 (Pmode): DImode on SHmedia.
6606 (CONST_COSTS): Adjust for SHmedia literals.
6607 (PREDICATE_CODES): Added target_reg_operand.
6608 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
6609 * config/sh/sh.md: Remove all attrs from SHmedia insns.
6610 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
6611 (cmpdi): Accept SHmedia.
6612 (movdicc_false, movdicc_true): New insns.
6613 (movdicc): New expand.
6614 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
6615 no_new_pseudos.
6616 (addsi3_media): Match `S' constraint.
6617 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
6618 (negdi2): Expand for SHmedia.
6619 (one_cmpldi2): New expand.
6620 (zero_extendsidi2): Change from expand to insn.
6621 (extendsidi2): Add constraints.
6622 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
6623 LD/ST address. Fix SI immediate loading split.
6624 (movhi_media, movqi_media, lduw, ldub): New insns.
6625 (movhi, movqi): Accept SHmedia.
6626 (shori_media, movdi_media): Relax input constraints. Split
6627 symbolic constants.
6628 (movdf_media, movsf_media): New insn. New split to movdi.
6629 (movdf, movsf): Match on SHmedia.
6630 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
6631 bgeu_media): New insns and splits. New insns with `_i' suffix.
6632 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
6633 (bunordered): New expand.
6634 (jump_compact): Renamed from `jump'.
6635 (jump_media): New insn.
6636 (jump): New expand.
6637 (call_media, call_value_media): New insns.
6638 (call, call_value): Adjust.
6639 (indirect_jump_compact): Renamed from `indirect_jump'.
6640 (indirect_jump_media): New insn.
6641 (indirect_jump): New expand.
6642 (untyped_call, return): Accept SHmedia.
6643 (return_media): New insn.
6644 (prologue, epilogue, blockage): Accept SHmedia.
6645 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
6646 (sunordered): New expand.
6647 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
6648 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
6649 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
6650 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
6651 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
6652 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
6653 abssf2_media): New insns.
6654 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
6655 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
6656 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
6657 floatdidf2, floatsidf2_media, fix_truncdfdi2,
6658 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
6659 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
6660 absdf2_media): New insns.
6661 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
6662 (extendsfdf2_media, truncdfsf2_media): New insns.
6663 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
6664 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
6665 * config/sh/sh.h (CONST_OK_FOR_J): Document.
6666 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
6667 * config/sh/sh.md (adddi3): New expand.
6668 (adddi3_media, adddi3z_media): New insns.
6669 (adddi3_compact): Renamed from adddi3.
6670 (addsi3_media): Use add.l r63 to add constant zero.
6671 (subdi3): New expand.
6672 (subdi3_media): New insn.
6673 (subdi3_compact): Renamed from subdi3.
6674 (mulsidi3): New expand.
6675 (mulsidi3_media): New insn.
6676 (mulsidi3_compact): Renamed from mulsidi3.
6677 (umulsidi3): New expand.
6678 (umulsidi3_media): New insn.
6679 (umulsidi3_compact): Renamed from umulsidi3.
6680 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
6681 (ashlsi3, ashrsi3, lshrsi3): Use them.
6682 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
6683 (ashldi3, ashrdi3, lshrdi3): Use them.
6684 (zero_extendsidi2): New expand.
6685 (extendsidi2): New insn.
6686 (movsi_media): New insn. Split to movdi to load constants.
6687 (movsi): Enable for shmedia.
6688 (movdi_media): New insn. Use shori_media to load wide constants.
6689 (short_media): New insn.
6690 (movdi): Enable for shmedia.
6691 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
6692 * config/sh/sh.h (CPP_SPEC): Added `m5'.
6693 (SUBTARGET_CPP_SPEC): Added `!m5'.
6694 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
6695 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
6696 to all other SH variants.
6697 (TARGET_DEFAULT): Set to SH1_BIT.
6698 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
6699 (BITS_PER_WORD): Raise to 64 on shmedia.
6700 (MAX_BITS_PER_WORD): Change to 64.
6701 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
6702 (INT_TYPE_SIZE): Keep as 32.
6703 (UNITS_PER_WORD): Raise to 8 on shmedia.
6704 (MIN_UNITS_PER_WORD): Keep as 4.
6705 (POINTER_SIZE): Raise to 64 on shmedia.
6706 (CONST_OK_FOR_J): New macro.
6707 (CONST_OK_FOR_LETTER_P): Use it.
6708 (processor_type): Add PROCESSOR_SH5.
6709 * config/sh/sh.md: Conditionalize all expands, insns and
6710 splits to TARGET_SH1.
6711 (cpu): Added sh5.
6712 (addsi3_compact): Renamed from...
6713 (addsi3): Now an expand.
6714 (addsi3_media, subsi3_media): New insns.
6715 (subsi3): Don't negate constants with SHmedia.
6716
e4ec2cac
AO
6717 * hooks.c: New file.
6718 * hooks.h: New file.
6719 * Makefile.in (HOOKS_H): New.
6720 (TARGET_DEF_H): Added $(HOOKS_H).
6721 (OBJS): Added hooks.o.
6722 (cfgcleanup.o, bb-reorder.o): Added target.h.
6723 (hooks.o): Added dependencies.
6724 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
6725 (TARGET_INITIALIZER): this.
6726 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
6727 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
6728 * bb-reorder.c: Include target.h.
6729 (reorder_basic_blocks): Skip if cannot modify jumps.
6730 * cfgcleanup.c: Include target.h.
6731 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
6732
246a46e0
CD
67332002-02-08 Chris Demetriou <cgd@broadcom.com>
6734
831c4e87
KC
6735 * config/mips/mips.md (casesi_internal, casesi_internal_di):
6736 Protect jump delay slot instructions with .set noreorder and
6737 .set nomacro.
246a46e0
CD
6738
67392002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
6740
6741 * config/mips/mips.md (casesi_internal_di): Calculate
6742 the index into the target offset table correctly.
6743
fdf473ae
RH
67442002-02-08 Richard Henderson <rth@redhat.com>
6745
6746 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
6747 * final.c (output_addr_const): Accept and discard SUBREG.
6748 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
6749 mark them unknown instead.
6750 (simplify_subtraction): Handle RTX_UNKNOWN.
6751 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
6752
c50503ac
DE
67532002-02-08 David Edelsohn <edelsohn@gnu.org>
6754
6755 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
6756
3660d217
RH
67572002-02-08 Richard Henderson <rth@redhat.com>
6758
6759 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
6760
56547299
AJ
67612002-02-08 Andreas Jaeger <aj@suse.de>
6762
6763 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
6764 * config/i386/t-linux64: New file.
6765
1cf537c5
JJ
67662002-02-08 Jakub Jelinek <jakub@redhat.com>
6767
6768 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
6769 * c-parse.in (compstmt): Clear last_expr_type.
6770
5c7f5a5f
RH
67712002-02-07 Richard Henderson <rth@redhat.com>
6772
6773 * loop.c (strength_reduce): Sink final_value when not
6774 eliminating a biv.
6775
b1138bf3
DB
67762002-02-07 David O'Brien <obrien@FreeBSD.org>
6777
6778 * config/sparc/freebsd.h: Fix mismatched spec {.
6779
b6878a45
RH
67802002-02-07 Richard Henderson <rth@redhat.com>
6781
6782 * cfgrtl.c: Include recog.h and insn-config.h.
6783 (keep_with_call_p): Fix general_operand invocation.
6784 * Makefile.in (cfgrtl.o): Update dependencies.
6785
ae19f5ef
KH
67862002-02-07 Kazu Hirata <kazu@hxi.com>
6787
6788 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
6789 comment. Accept HImode only if TARGET_H8300.
6790
b137f9fc
EC
67912002-02-07 Eric Christopher <echristo@redhat.com>
6792
6793 * config/mips/crtn.asm: Cleanup #ifdefs.
6794
67952002-02-07 Eric Christopher <echristo@redhat.com>
6796
6797 * config/mips/crti.asm: Add changes for mips16. mips16 uses
6798 register 7 as RA instead of $31.
6799 * config/mips/crtn.asm: Ditto.
6800 * config/mips/mips.c (mips_move_2words): Add case for
6801 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
6802 (compute_frame_size): Fix typo.
6803 (save_restore_insns): Ditto. Make documentation about using
6804 register $7 as return register more precise.
6805 (mips_expand_epilogue): Fix comment. Add code to work around not
6806 being able to add to the stack pointer directly.
6807 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
6808 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
6809 epilogue.
6810
768070a0
TR
68112002-02-07 Tom Rix <trix@redhat.com>
6812
b137f9fc 6813 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
6814 immediates in ldu and stdu DS opcode field.
6815 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
6816 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
6817 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
6818
225909c3
JS
68192002-02-07 Jeff Sturm <jsturm@one-point.com>
6820
6821 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
6822 offset for stack bias.
6823
15fae023
L
68242002-02-07 H.J. Lu <hjl@gnu.org>
6825
6826 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
6827
fde5badd
UW
68282002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
6829
6830 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
6831
162f023b
JH
6832Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
6833
6834 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
6835 * i386.c (x86_order_regs_for_local_alloc): New global function.
6836 * i386.h (REG_ALLOC_ORDER): CLeanup.
6837 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
6838
9b462c42
RH
68392002-02-07 Richard Henderson <rth@redhat.com>
6840
85aa876c 6841 PR optimization/2463
9b462c42
RH
6842 * alias.c (find_base_value): Recall base values for fixed hard regs.
6843 * loop.c (loop_regs_update): Don't use single_set on non-insns.
6844
06e455a9
AO
68452002-02-07 Alexandre Oliva <aoliva@redhat.com>
6846
6847 * config/mips/mips.md (define_delay) [mips16]: Adjust required
6848 length.
6849
edd1967d
RH
68502002-02-06 Richard Henderson <rth@redhat.com>
6851
6852 PR c/5609
6853 * stmt.c (resolve_operand_name_1): Take more care with mixed
6854 named and unnamed operands.
6855
a2cd028f
JJ
68562002-02-06 Janis Johnson <janis187@us.ibm.com>
6857 Jan Hubicka <jh@suse.cz>
6858
6859 * loop.c (remove_constant_addition): Avoid clobbering a shared
6860 CONST expression.
6861
e8487c04
UW
68622002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
6863
6864 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
6865 * config/s390/t-linux64: New file.
6866 * config/s390/libgcc-glibc.ver: New file.
6867
58d10f89
UW
68682002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
6869
6870 * config/s390/linux64.h: Delete file.
6871 * config/s390/s390x.h: New file.
6872 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
6873 as target header file.
6874 * config/s390/linux.h (TARGET_VERSION): Define depending on
6875 DEFAULT_TARGET_64BIT.
6876 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
6877 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
6878 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
6879 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
6880 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
6881 (EXTRA_SPEC): New define.
6882 * config/s390/s390.h (TARGET_VERSION): Define depending on
6883 DEFAULT_TARGET_64BIT.
6884 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
6885
5ce89b2e
JM
68862002-02-06 Jason Merrill <jason@redhat.com>
6887
6888 * c-decl.c (finish_function): Warn about a non-void function with
6889 no return statement and no abnormal exit.
6890 (current_function_returns_abnormally): New variable.
6891 (start_function): Clear it.
6892 (struct c_language_function): Add returns_abnormally.
6893 (push_c_function_context): Save it.
6894 (pop_c_function_context): Restore it.
6895 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
6896 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
6897 an explicit return type.
6898 * c-tree.h: Declare current_function_returns_abnormally.
6899 (C_FUNCTION_IMPLICIT_INT): New macro.
6900 * c-typeck.c (build_function_call): Set it.
6901 (c_expand_return): Set current_function_returns_value even if the
6902 value is erroneous.
6903
caaf2272
JJ
69042002-02-06 Jakub Jelinek <jakub@redhat.com>
6905
6906 PR c/5420:
6907 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
6908 unsafe for reevaluation.
6909
d5129288
JJ
69102002-02-06 Jakub Jelinek <jakub@redhat.com>
6911
6912 PR c/5482:
6913 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
6914 EXPR_STMT, but COMPOUND_STMT, recurse into it.
6915
7fb75099
RH
69162002-02-06 Richard Henderson <rth@redhat.com>
6917
6918 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
6919 be a general_operand. Dest for function value must be a pseudo.
6920
d3a8b6a6
NC
69212002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
6922
6923 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
6924 as SYMBOL_REFs from the constant pool.
6925
3c1299c5
AO
69262002-02-06 Alexandre Oliva <aoliva@redhat.com>
6927
6928 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
6929 passed by invisible reference.
6930
c2c9f6c9
RH
69312002-02-05 Richard Henderson <rth@redhat.com>
6932
6933 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
6934
a824924d
HPN
69352002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
6936
6937 Implement using "base addresses" in insn operands as default.
6938 * config/mmix/mmix.c (mmix_conditional_register_usage): if
6939 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
6940 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
6941 used to read the rtx value.
6942 (mmix_target_asm_function_epilogue): Fix spacing.
6943 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
6944 (mmix_legitimate_address): Ditto.
6945 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
6946 should be loaded with a GETA insn. Don't allocate needless extra
6947 char for nul termination and fix misleading comment.
6948 (mmix_print_operand_address): Handle constants if
6949 TARGET_BASE_ADDRESSES.
6950 (mmix_output_register_setting): Use base addressing if
6951 TARGET_BASE_ADDRESSES and the number of insns is 3.
6952 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
6953 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
6954 to use R as constraint, add LDA to match s.
6955 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
6956 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
6957 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
6958 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
6959 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
6960 order with other fixed registers.
6961 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
6962 other parameter/call-clobbered registers.
6963 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
6964 -mbase-addresses, -mno-base-addresses.
6965 (MMIX Options): Ditto.
6966
73c342b9
JDA
69672002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
6968
6969 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
6970
ef238c58
AH
69712002-02-06 Aldy Hernandez <aldyh@redhat.com>
6972
831c4e87 6973 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 6974
ad08e60e
JT
69752002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
6976
6977 * config/netbsd.h (WCHAR_TYPE): Define.
6978 (WCHAR_TYPE_SIZE): Ditto.
6979 (WINT_TYPE): Ditto.
6980 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
6981 (WCHAR_UNSIGNED): Ditto.
6982 (WCHAR_TYPE_SIZE): Ditto.
6983 (WINT_TYPE): Ditto.
6984 * config/arm/netbsd.h: Likewise.
6985 * config/i386/netbsd-elf.h: Likewise.
6986 * config/i386/netbsd.h: Likewise.
6987 * config/m68k/netbsd-elf.h: Likewise.
6988 * config/m68k/netbsd.h: Likewise.
6989 * config/ns32k/netbsd.h: Likewise.
6990 * config/sparc/netbsd.h: Likewise.
6991 * config/vax/netbsd.: Likewise.
6992
f913c102
AO
69932002-02-05 Alexandre Oliva <aoliva@redhat.com>
6994
6995 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
6996 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
6997 (TARGET_INITIALIZER): this.
6998 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
6999 (BITFIELD_NBYTES_LIMITED): Markup fix.
7000 * tree.h (default_ms_bitfield_layout_p): Declare.
7001 (record_layout_info): Added prev_field.
7002 * tree.c (default_ms_bitfield_layout_p): New fn.
7003 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
7004 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
7005 * stor-layout.c: Include target.h.
7006 (start_record_layout): Initialize prev_field.
7007 (place_field): Handle MS bit-field layout, and disregard
7008 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
7009 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
7010 * Makefile.in (stor-layout.o): Adjust dependencies.
7011
c13db5d1
JM
70122002-02-05 Jason Merrill <jason@redhat.com>
7013
c13db5d1
JM
7014 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
7015
4505024e
AJ
70162002-02-05 Andreas Jaeger <aj@suse.de>
7017
7018 * crtstuff.c: Fix comments.
7019
794ad79d
RH
70202002-02-05 Richard Henderson <rth@redhat.com>
7021
2e279a9b
RH
7022 PR fortran/3393
7023 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
7024 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
7025
794ad79d
RH
7026 PR fortran/3392
7027 * config/mips/mips.c (function_arg): Handle TImode.
7028 (function_arg_advance): Likewise.
7029
8f909017
AH
70302002-02-05 Aldy Hernandez <aldyh@redhat.com>
7031
c13db5d1
JM
7032 * config/rs6000/altivec.h (vec_step_help): Rename to
7033 __vec_step_help.
8f909017 7034
66daa9e3
AH
70352002-02-05 Aldy Hernandez <aldyh@redhat.com>
7036
c13db5d1 7037 * config/rs6000/altivec.h: Fix typos.
66daa9e3 7038
2696e97b
JT
70392002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
7040
7041 * config/arm/netbsd.h: Correct a comment.
7042
3deb2758
AH
70432002-02-05 Aldy Hernandez <aldyh@redhat.com>
7044
c13db5d1
JM
7045 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
7046 building void typed builtins.
3deb2758 7047
c13db5d1
JM
7048 * config/rs6000/altivec.h (vec_ld*): Fix typos.
7049 (vec_step): Implement for C++.
3deb2758 7050
c13db5d1 7051Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
7052
7053 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
7054
ebbb0a63
RH
70552002-02-04 Richard Henderson <rth@redhat.com>
7056
7057 * combine.c (nonzero_bits): Re-introduce special case for
7058 sp/fp/ap wrt REGNO_POINTER_ALIGN.
7059
ae4b4a02
AH
70602002-02-05 Aldy Hernandez <aldyh@redhat.com>
7061
c13db5d1
JM
7062 * doc/extend.texi: Warn about unsupported usage of altivec
7063 builtins.
ae4b4a02 7064
c13db5d1
JM
7065 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
7066 (altivec_predicate_*): New.
ae4b4a02 7067
c13db5d1
JM
7068 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
7069 Add C++ version of vec_*() functions.
ae4b4a02 7070
c13db5d1
JM
7071 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
7072 (bdesc_2arg): Remove altivec predicates.
7073 (altivec_expand_builtin): Handle predicates.
7074 (altivec_init_builtins): Handle predicates.
7075 (altivec_expand_predicate_builtin): New.
ae4b4a02 7076
f6bcf44c
JDA
70772002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7078
7079 * pa.c (DO_FRAME_NOTES): Move forward.
7080 (store_reg): Revise handling of frame notes.
7081 (load_reg): Likewise.
7082 (set_reg_plus_d): Likewise.
7083 (hppa_expand_prologue): Likewise.
7084 (hppa_expand_epilogue): Likewise.
b137f9fc 7085
703b0080
JDA
70862002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7087
7088 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
7089
6f9fdf4d
JJ
70902002-02-04 Jakub Jelinek <jakub@redhat.com>
7091
7092 PR c/4475, c++/3780:
7093 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
7094 * c-common.h (SWITCH_TYPE): Define.
7095 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
7096 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
7097 Rename spareness variable to sparseness.
7098 (expand_end_case_type): Renamed from expand_end_case, use orig_type
7099 if non-NULL instead of TREE_TYPE (orig_index).
7100 * tree.h (expand_end_case_type): Renamed from expand_end_case.
7101 (expand_end_case): Define using expand_end_case_type.
7102 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
7103 to expand_end_case_type.
7104 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
7105
79109502
JDA
71062002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7107
7108 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
7109 (BIGGEST_ALIGNMENT): Change to 128.
7110
e62a5987
JDA
71112002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7112
7113 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
7114
219f24a4
JDA
71152002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7116
7117 * pa.md (call_internal_reg_64bit): Remove unused variable.
7118
3cb66fd7
NC
71192002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
7120
7121 * config/arm/arm.h (machine_function): Add uses_anonymous_args
7122 field.
831c4e87 7123 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 7124 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
7125 replace uses with cfun->machine->uses_anonymous_args.
7126 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
7127
7128 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
7129 any geenral register.
b137f9fc 7130
5d5603e2 71312001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
7132
7133 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
7134 the entry block.
7135
563c12b0
RH
71362002-02-04 Richard Henderson <rth@redhat.com>
7137
7138 * combine.c (force_to_mode): Remove STACK_BIAS code.
7139 (nonzero_bits): Likewise. Replace sp/fp special case with
7140 REGNO_POINTER_ALIGN.
7141
7142 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
7143 (HARD_FRAME_POINTER_REGNUM): New.
7144 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
7145 (FIXED_REGS, CALL_USED_REGS): Update.
7146 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
7147 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
7148 (HARD_REGNO_NREGS): Update for SFP.
7149 (STACK_POINTER_OFFSET): Include bias here ...
7150 (FIRST_PARM_OFFSET): ... not here.
7151 (STACK_BIAS): Remove.
7152 (INIT_EXPANDERS): New.
7153 (STARTING_FRAME_OFFSET): Do not include bias.
7154 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
7155 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
7156 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
7157 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
7158 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
7159 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
7160 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
7161 (MUST_SAVE_REGISTER): Likewise.
7162 (sparc_flat_function_prologue): Likewise.
7163 (sparc_flat_function_epilogue): Likewise.
7164 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
7165 (sparc_init_modes): SFP is GENERAL_REGS.
7166 (sparc_builtin_saveregs): SFP does not have bias applied.
7167
14691f8d
RH
71682002-02-04 Richard Henderson <rth@redhat.com>
7169
7170 * config/alpha/alpha.c (current_function_is_thunk): Don't check
7171 current_function_is_thunk.
7172 (alpha_sa_mask): Distinguish between current_function_is_thunk
7173 called from ASM_OUTPUT_MI_THUNK and not.
7174 (alpha_does_function_need_gp): Thunks always need gp.
7175 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
7176 (alpha_output_mi_thunk_osf): New.
7177 * config/alpha/alpha-protos.h: Update.
7178 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
7179
af702de8
RS
71802002-02-04 Richard Sandiford <rsandifo@redhat.com>
7181
7182 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
7183 function types, not when they're taken away.
7184
5b1cacd8
JL
7185Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
7186
7187 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
7188 CODE_LABEL and jump table when replacing a table jump with a
7189 simple jump.
7190
f3e9edff
UW
71912002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
7192
7193 * config/s390/s390-protos.h (legitimize_la_operand,
7194 s390_secondary_input_reload_class, s390_plus_operand,
7195 s390_expand_plus_operand): Add prototypes.
7196
7197 config/s390/s390.c (s390_secondary_input_reload_class,
7198 s390_plus_operand, s390_expand_plus_operand): New functions.
7199
7200 (struct s390_address): New member 'pointer'.
7201 (s390_decompose_address): Compute it.
7202 (legitimate_la_operand_p): Use it.
7203 (legitimize_la_operand): New function.
7204 (movti, movdi, movdf splitters): Call it.
7205
7206 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
7207 (PREDICATE_CODES): Add s390_plus_operand.
7208
7209 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
7210 (la_ccclobber): Allow GENERAL_REGS as output operand.
7211
7212 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
7213 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
7214 (*la_64, *la_31, reload_indi, reload_insi): ... these.
7215
3c9a08ec
UW
72162002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
7217
7218 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
7219 register names for regular asm () construct.
7220
ac300a45
JJ
72212002-02-04 Jakub Jelinek <jakub@redhat.com>
7222
7223 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
7224 registers.
7225
fa852403
JJ
72262002-02-04 Jakub Jelinek <jakub@redhat.com>
7227
7228 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
7229 pat for recog.
7230
fecaac37
HP
72312002-02-04 Hartmut Penner <hpenner@de.ibm.com>
7232
831c4e87
KC
7233 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
7234 constant pool to be identical by string address and index.
fecaac37 7235
10c45943
AG
72362002-02-04 Anthony Green <green@redhat.com>
7237
7238 * output.h (SECTION_OVERRIDE): Define.
7239 * varasm.c (named_section): Obey SECTION_OVERRIDE.
7240
69474c3c
JT
72412002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
7242
7243 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
7244 by existing arm*-*-netbsd* (a.out) target.
7245 (ns32k-*-netbsdelf*): Likewise.
7246 (sparc-*-netbsdelf*): Likewise.
7247 (vax-*-netbsdelf*): Likewise.
7248
939a46f6 72492002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
7250
7251 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
7252 headers and libobjc headers.
7253
72542002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
7255
7256 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
7257 (_mingw.h): Remove duplicate include.
7258
2fd95d71
JT
72592002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
7260
7261 * config.gcc: Set cpu_type to m68k for 68010, as well.
7262 (m68010-*-netbsdelf*): New...
7263 (m68k*-*-netbsdelf*): ...targets.
7264 * config/m68k/netbsd-elf.h: New file.
7265
0ea6f6a0
KH
72662002-02-02 Kazu Hirata <kazu@hxi.com>
7267
7268 * config/h8300/h8300.c (hand_list): Move inside function_arg.
7269
cbf1b2da
KH
72702002-02-02 Kazu Hirata <kazu@hxi.com>
7271
7272 * config/h8300/h8300.c (h8_push_ops): Move inside
7273 h8300_init_once.
7274 (h8_pop_ops): Likewise.
7275 (h8_move_ops): Likewise.
7276
0869f126
KH
72772002-02-02 Kazu Hirata <kazu@hxi.com>
7278
7279 * config/h8300/h8300.c (os_task): Make it static.
7280 (monitor): Likewise.
7281 (pragma_saveall): Likewise.
7282
90e65b70
AO
72832002-02-02 Alexandre Oliva <aoliva@redhat.com>
7284
7285 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
7286 constant is a valid sign-extension for Pmode.
7287
9cbcd983
KH
72882002-02-02 Kazu Hirata <kazu@hxi.com>
7289
7290 * config/h8300/h8300.c: Fix formatting.
7291
7a27efc4
KH
72922002-02-02 Kazu Hirata <kazu@hxi.com>
7293
7294 * config/h8300/h8300.md: Fix formatting.
7295
54175a44
KH
72962002-02-02 Kazu Hirata <kazu@hxi.com>
7297
7298 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
7299 predicates of operands[1]. Split the patterns for each
7300 processor variant.
7301
eceb1755
KH
73022002-02-02 Kazu Hirata <kazu@hxi.com>
7303
7304 * config/h8300/h8300.md (xor patterns): Tighten the predicates
7305 of operands[1] to register_operand.
7306
0fef3fd0
NB
73072002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
7308
7309 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
7310 * cpphash.c (_cpp_init_hashtable): Similarly.
7311 * cppinit.c (cpp_create_reader): Default the signed_char flag.
7312 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
7313 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
7314 (cpp_handle_option): Handle the new options.
7315 * cpplex.c (cpp_interpret_charconst): Use new flag.
7316 * cpplib.h (struct cpp_options): New member signed_char.
7317 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
7318 (cpp_options): Handle -fsigned-char and -funsigned-char.
7319 (static_specs): Remove signed_char_spec.
7320 (do_spec1): Don't handle %c.
7321 * system.h: Poison SIGNED_CHAR_SPEC.
7322 * tradcif.y (yylex): Use flag_signed_char.
7323 * tradcpp.h (flag_signed_char): New.
7324 * tradcpp.c (flag_signed_char): New.
7325 (main): Handle new command-line options.
7326 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
7327config:
7328 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
7329 * avr/avr.h: Remove old comments.
7330 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
7331 (CC1_SPEC): Pass -fsigned-char if -mic*.
7332 (SIGNED_CHAR_SPEC): Remove.
7333doc:
7334 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
7335
0617ed52
EC
73362002-02-01 Eric Christopher <echristo@redhat.com>
7337
7338 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
7339 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
7340 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
7341 (ASM_OUTPUT_REG_POP): Ditto.
7342
dfd48d76
NB
73432002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
7344
7345 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
7346 patch.
7347
4a23409e
JJ
73482002-02-02 Jakub Jelinek <jakub@redhat.com>
7349
7350 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
7351
d3c52658
JJ
73522002-02-02 Jakub Jelinek <jakub@redhat.com>
7353
7354 PR c/5304:
7355 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
7356 unconditionally.
7357
02c5a3bd
JJ
73582002-02-01 Janis Johnson <janis187@us.ibm.com>
7359
7360 * cfganal.c: Include tm_p.h.
7361 (keep_with_call_p): Fix the test that determines if a register holds
7362 the return value of a call.
7363
3968de80
DD
73642002-02-01 DJ Delorie <dj@redhat.com>
7365
7366 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
7367 we are given conflicting registers, switch to the other one we
7368 had allocated for us.
7369 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
7370 as TImode so we know when the "other" register is available.
7371
1338ea6c
DB
73722002-02-01 David O'Brien <obrien@FreeBSD.org>
7373
7374 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
7375 sparc/sparc_bi.h.
7376
f015be23
JJ
73772002-02-01 Janis Johnson <janis187@us.ibm.com>
7378
7379 * cfganal.c (keep_with_call_p): New function.
7380 (flow_call_edges_add): Prevent splitting a block between a call and
7381 a single-set instruction that should be kept in the same block.
7382
63708ffc
CR
73832002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
7384
7385 * doc/install.texi (avr): Update outdated URL.
7386
5ee4950e
AH
73872002-01-30 Andrew Haley <aph@cambridge.redhat.com>
7388
831c4e87
KC
7389 * config/stormy16/stormy16.md (pushqi): New.
7390 (popqi): New.
7391 (pushhi): New.
7392 (pophi): New.
7393 (movhi): Remove stack operands.
7394 (movqi): Likewise.
7395 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
7396 nonimmediate_nonstack_operand.
7397 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
7398 New.
7399 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
7400 New.
5ee4950e 7401
b88c0704
JM
74022002-01-31 Jason Merrill <jason@redhat.com>
7403
7404 * Makefile.in (c-parse.c): Handle .output file.
7405 * objc/Make-lang.in (objc-parse.c): Likewise.
7406
ac282977
AO
74072002-02-01 Alexandre Oliva <aoliva@redhat.com>
7408
7409 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
7410 the -me[lb] option is given. Don't output the default flag
7411 twice.
7412
bebc7e8b
ZW
74132002-01-31 Zack Weinberg <zack@codesourcery.com>
7414
7415 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
7416 the primary source file; this has not been done yet.
7417 * c-decl.c (c_expand_body): Reset input_filename from
7418 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
7419
5809eb5f
KH
74202002-01-31 Kazu Hirata <kazu@hxi.com>
7421
7422 * rtlanal.c (subreg_regno_offset): Do not use
7423 SUBREG_REGNO_OFFSET.
7424 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
7425 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
7426
8512bbd7
JM
74272002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
7428
7429 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
7430 version rather than GNATS version in --version output.
7431
74cb3cc8
RS
74322002-01-31 Richard Sandiford <rsandifo@redhat.com>
7433
7434 * ifcvt.c (noce_process_if_block): Make a copy of the destination
7435 when copying back from a temporary.
7436
874b5b14
RH
74372002-01-30 Richard Henderson <rth@redhat.com>
7438
7439 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
7440 and new_dest are the same.
7441
e803a64b
RH
74422002-01-30 Richard Henderson <rth@redhat.com>
7443
89cf7be5 7444 PR opt/5076
e803a64b
RH
7445 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
7446 * rtl.c (note_insn_name): Update.
7447 * emit-rtl.c (remove_unnecessary_notes): Kill it.
7448 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
7449 to perform loop rotation.
7450 (expand_exit_loop_top_cond): New.
7451 * tree.h (expand_exit_loop_top_cond): Declare it.
7452 * c-semantics.c (genrtl_while_stmt): Use it.
7453 (genrtl_for_stmt): Likewise.
7454
0b51254d
AO
74552002-01-30 Alexandre Oliva <aoliva@redhat.com>
7456
7457 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
7458 arguments to 64-bit boundaries on 64-bit ABIs.
7459
71cef493
SE
74602002-01-30 Steve Ellcey <sje@cup.hp.com>
7461
7462 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
7463
6169e5fd
JM
74642002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
7465
7466 * c-decl.c (grokdeclarator): Handle type being a typedef for an
7467 invalid type.
7468
86f808dc
DB
74692002-01-30 David O'Brien <obrien@FreeBSD.org>
7470
7471 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
7472 * config/sparc/sparc_bi.h: Remove file.
7473 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
7474
5748ebeb
RH
74752002-01-30 Richard Henderson <rth@redhat.com>
7476
7477 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
7478
20d32cc2
ZW
74792002-01-30 Zack Weinberg <zack@codesourcery.com>
7480
7481 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
7482
b88c0704 74832002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
7484
7485 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
7486 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
7487 (reg_save): Use DW_CFA_offset_extended_sf instead.
7488
7489 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
7490
37060e78
JJ
74912002-01-29 Jakub Jelinek <jakub@redhat.com>
7492
7493 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
7494 in cselib_lookup.
7495
d18dba68
AH
74962002-01-29 Aldy Hernandez <aldyh@redhat.com>
7497
bebc7e8b
ZW
7498 * rs6000.md ("*call_value_local32"): Remove constraints.
7499 ("*call_value_local64"): Same.
7500 ("*call_value_indirect_nonlocal_aix32"): Same.
7501 ("*call_value_nonlocal_aix32"): Same.
7502 ("*call_value_indirect_nonlocal_aix64"): Same.
7503 ("*call_value_nonlocal_aix64"): Same.
7504 ("*call_value_nonlocal_sysv"): Same.
d18dba68 7505
80a8aac6
RH
75062002-01-29 Richard Henderson <rth@redhat.com>
7507
7508 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
7509
12beba6f
RH
75102002-01-29 Richard Henderson <rth@redhat.com>
7511
7512 * expr.c (force_operand): Ignore flag_pic for detecting pic
7513 address loads.
7514 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
7515 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
7516 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
7517 instead of open-coded loop.
7518 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
7519 be fixed when in use.
7520
2583081e
RH
75212002-01-29 Richard Henderson <rth@redhat.com>
7522
7523 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
7524 * sched-rgn.c (propagate_deps): Update them.
7525 * sched-deps.c (sched_analyze_insn): Update them. Flush the
7526 clobbers list when either gets too long.
7527
3b8d200e
JJ
75282002-01-29 Jakub Jelinek <jakub@redhat.com>
7529
7530 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
7531 and INDEX_REGS the same as GENERAL_REGS.
7532 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
7533
2d3115eb
NB
75342002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
7535
bebc7e8b 7536 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 7537
ecbe845e
UW
75382002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
7539
bebc7e8b 7540 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 7541 movstrsix_31): Remove, replace by ...
bebc7e8b 7542 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
7543 movstrsi_long): ... these. New.
7544 (movstrdi, movstrsi): Adapt.
7545
7546 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 7547 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
7548 Remove unnecessary CC clobber.
7549 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
7550 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
7551
7552 (divmoddi4): Don't partially initialize TImode register.
7553
0b32fca5
GK
75542002-01-29 Geoffrey Keating <geoffk@redhat.com>
7555
7556 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
7557
08ef5437
RH
75582002-01-29 Richard Henderson <rth@redhat.com>
7559
7560 * flow.c (print_rtl_and_abort): Remove.
7561 (print_rtl_and_abort_fcn): Remove.
7562 (verify_local_live_at_start): Use dump_bb instead.
7563 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
7564 (verify_wide_reg_1): Return 2 on mode test failure.
7565
8469e54e
NB
75662002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
7567
7568 PR c/3325, c/3326, c/2511, c/3347
7569 * c-decl.c (enum_decl_context): Remove BITFIELD.
7570 (grokdeclarator): Take bitfield width as an input.
7571 Ensure bitfields are given the correct type. Perform
7572 bitfield width validation with build_bitfield_integer_type
7573 rather than waiting for finish_struct.
7574 (grok_typename, grok_typename_in_parm_context, start_decl,
7575 push_parmdecl, grokfield, start_function): Update calls to
7576 grokdeclarator.
7577 (build_bitfield_integer_type): New function.
7578 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 7579 and build_bitfield_integer_type.
8469e54e
NB
7580 * tree.c (build_nonstandard_integer_type): New function.
7581 * tree.h (build_nonstandard_integer_type): New prototype.
7582objc:
7583 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
7584
ffdeea47
JJ
75852002-01-29 Jakub Jelinek <jakub@redhat.com>
7586
7587 PR other/1502:
7588 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
7589 don't ignore unrecognized -W* options.
7590 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
7591 * cpplib.h (cpp_handle_option): Adjust prototype.
7592 * c-decl.c (c_decode_options): Pass 0 as last argument to
7593 cpp_handle_option.
7594
7595 PR c/2896:
7596 * gcc.c (cpp_unique_options): Split from cpp_options.
7597 (cpp_options): Source cpp_unique_options.
7598 (default_compilers): Use cpp_unique_options instead of cpp_options
7599 when used together with cc1_options.
7600 (static_specs): Add cpp_unique_options.
7601 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
7602 when used together with cc1_options.
7603
1a275226
KH
76042002-01-29 Kazu Hirata <kazu@hxi.com>
7605
7606 * config/h8300/h8300-protos.h: Update the prototype of
7607 output_a_shift.
7608 * config/h8300/h8300.c (output_a_shift): Remove an unused
7609 argument 'insn'. Remove redundant code.
7610 * config/h8300/h8300.md: Adust to the new prototype of
7611 output_a_shift.
7612
a11d9dfc
KH
76132002-01-29 Kazu Hirata <kazu@hxi.com>
7614
7615 * config/h8300/h8300-protos.h: Update the prototypes of
7616 emit_a_rotate and expand_a_rotate.
7617 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
7618 first argument to 'enum rtx_code'.
7619 (expand_a_rotate): Likewise.
7620
871f73e3
KH
76212002-01-28 Kazu Hirata <kazu@hxi.com>
7622
7623 * config/h8300/h8300-protos.h: Update the prototype of
7624 output_simode_bld.
7625 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
7626 'log2'.
7627 * config/h8300/h8300.md: Adjust to the new prototype.
7628
5fc4b751
KH
76292002-01-28 Kazu Hirata <kazu@hxi.com>
7630
7631 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
7632 redundant code.
7633
2d67bd7b
JDA
76342002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
7635
7636 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
7637 is a fixed register before returning pic_offset_table_rtx.
7638 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
7639 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
7640
5a852b3e
JM
76412002-01-28 Jason Merrill <jason@redhat.com>
7642
6bb28965 7643 * dwarf2.h: Sync with src version.
5a852b3e 7644
3bca17dd
PK
76452002-01-28 Paul Koning <pkoning@equallogic.com>
7646
7647 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
7648 BT_FN_VOID_PTR_VAR.
7649 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
7650 * doc/extend.texi (__builtin_prefetch): Update documentation:
7651 first argument is now const void ptr.
7652
7dc3f8c0
KH
76532002-01-28 Kazu Hirata <kazu@hxi.com>
7654
7655 * config/h8300/h8300-protos.h: Remove an unused prototype.
7656
e83cb5f0
RZ
76572002-01-28 Roman Zippel <zippel@linux-m68k.org>
7658
7659 * toplev.c (lang_independent_init): Round up identifier size.
7660
5721cd84
RE
76612002-01-28 Richard Earnshaw <rearnsha@arm.com>
7662
7663 * config.gcc: Revert previous change.
7664
d534119e
AP
76652002-01-28 Andris Pavenis <pavenis@latnet.lv>
7666
7667 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
7668
5a721dab
RE
76692002-01-28 Richard Earnshaw <rearnsha@arm.com>
7670
7671 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
7672 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
7673 other non-elf netbsd config frags.
7674 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
7675 collect2 will does that.
7676 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
7677 shared-lib frobbing will work.
7678
da1775d6
KH
76792002-01-28 Kazu Hirata <kazu@hxi.com>
7680
7681 * config/h8300/h8300.h: Fix formatting.
7682 * config/h8300/h8300.md: Likewise.
7683
8f2e963b
LR
76842002-01-28 Loren J. Rittle <ljrittle@acm.org>
7685
7686 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
7687 the old, removed AAA_standards fix.
7688 * fixinc/fixincl.x: Rebuilt.
7689
fdae5767
HPN
76902002-01-28 Hans-Peter Nilsson <hp@axis.com>
7691
7692 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
7693 atexit call in crtbegin, hooked in after call to frame_dummy;
7694 register EH before registering __fini__start.
7695
2a2ecb63
AH
76962002-01-28 Aldy Hernandez <aldyh@redhat.com>
7697
7698 * config/rs6000/altivec.h: Remove spurious semicolons.
7699
8ed43adf
KH
77002002-01-27 Kazu Hirata <kazu@hxi.com>
7701
7702 * config/h8300/h8300.md: Replace dead bit extraction patterns
7703 with ones that work.
7704
917afb0c
RK
7705Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7706
7707 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
7708 if not STRICT_ALIGNMENT.
7709 * rtl.h (MEM_ALIGN): Likewise.
7710
f70a54cb
CR
77112002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
7712
7713 * doc/invoke.texi (-fdump-translation-unit): Revert this
7714 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
7715
d8fd4914
KH
77162002-01-27 Kazu Hirata <kazu@hxi.com>
7717
7718 * config/h8300/h8300.md (define_constants): New.
7719 (anonymous patterns) Use defined constants appropriately.
7720
15e0e275
KH
77212002-01-27 Kazu Hirata <kazu@hxi.com>
7722
7723 * config/h8300/h8300.c (function_arg): Remove redundant code.
7724
37a0f8a5
RH
77252002-01-26 Richard Henderson <rth@redhat.com>
7726
7727 * sched-deps.c (reg_pending_uses_head): New.
7728 (reg_pending_barrier): Rename from reg_pending_sets_all.
7729 (find_insn_list): Don't mark inline.
7730 (find_insn_mem_list): Remove.
7731 (add_dependence_list, add_dependence_list_and_free): New.
7732 (flush_pending_lists): Replace only_write param with separate
7733 for_read and for_write parameters. Update all callers. Use
7734 add_dependence_list_and_free.
7735 (sched_analyze_1): Do not add reg dependencies here; just set
7736 the pending bits. Use add_dependence_list.
7737 (sched_analyze_2): Likewise.
7738 (sched_analyze_insn): Replace schedule_barrier_found with
7739 reg_pending_barrier. Add all dependencies for pending reg
7740 uses, sets, and clobbers.
7741 (sched_analyze): Don't add reg dependencies for calls, just
7742 set pending bits. Use regs_invalidated_by_call. Treat
7743 sched_before_next_call as a normal list, not a fake insn.
7744 (init_deps): No funny init for sched_before_next_call.
7745 (free_deps): Free pending mems lists. Don't zero reg_last.
7746 (init_deps_global): Init reg_pending_uses.
7747 (finish_deps_global): Free it.
7748 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
7749 (find_insn_mem_list): Remove.
7750 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
7751 (propagate_deps): Use them. Zero temp mem lists.
7752
cea3bd3e
RH
77532002-01-26 Richard Henderson <rth@redhat.com>
7754
7755 * Makefile.in (CRTSTUFF_CFLAGS): New.
7756 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
7757 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
7758 crtstuff.c instead of alpha assembly version.
7759 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
7760 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
7761 not FORCE_{INIT,FINI}_SECTION_ALIGN.
7762 (__do_global_dtors_aux): Mark used.
7763 (frame_dummy, __do_global_ctors_aux): Mark used.
7764 (fini_dummy, init_dummy): Remove.
7765
7766 * config/alpha/crtbegin.asm: Remove file.
7767 * config/alpha/crtend.asm: Remove file.
7768 * config/alpha/t-crtbe: Remove file.
7769 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
7770 (LINK_EH_SPEC): New.
7771
7772 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
7773 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
7774 calling constructors.
7775 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
7776
7777 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
7778 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
7779 CRT_END_INIT_DUMMY hack.
7780 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
7781 FORCE_{INIT,FINI}_SECTION_ALIGN.
7782
7783 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
7784 FORCE_{INIT,FINI}_SECTION_ALIGN.
7785
7786 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
7787 invocation sequence.
7788 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
7789
7790 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
7791 (FORCE_CODE_SECTION_ALIGN): New.
7792
60ffa0e5
RH
77932002-01-26 Richard Henderson <rth@redhat.com>
7794
7795 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
7796
61334ebe
RH
77972002-01-26 Richard Henderson <rth@redhat.com>
7798
7799 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
7800 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
7801
1d788fb6
KH
78022002-01-26 Kazu Hirata <kazu@hxi.com>
7803
7804 * config/h8300/h8300.md: Remove bit extraction patterns that
7805 cannot be triggered.
7806 Restrict each bit extraction pattern to a variant on which the
7807 pattern is tested.
7808
87611f88
JM
78092002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
7810
7811 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
7812
cd74ec59
KH
78132002-01-26 Kazu Hirata <kazu@hxi.com>
7814
7815 * config/h8300/h8300.md: Remove bit test patterns that cannot
7816 be triggered.
7817 Restrict each bit test pattern to a variant on which the
7818 pattern is tested.
7819
93051e0f
KG
78202002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7821
7822 * builtins.c (expand_builtin_strncat): Remove redundant check for
7823 INTEGER_CST.
7824
216c995f
DB
78252002-01-25 David O'Brien <obrien@FreeBSD.org>
7826
7827 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
7828 default setting.
7829 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
7830 existing setting.
7831
33c7f925
GK
78322002-01-25 Geoffrey Keating <geoffk@redhat.com>
7833
7834 * dbxout.c (dbxout_init): Use assemble_name rather than just
7835 stripping off the first character.
7836 (dbxout_source_file): Likewise.
7837
6cd444b4
DD
78382002-01-25 DJ Delorie <dj@redhat.com>
7839
7840 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
7841 using rtx_equal_p, not by comparing pointers.
7842
751551d5
SE
78432002-01-25 Steve Ellcey <sje@cup.hp.com>
7844
7845 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
7846 for PIC_OFFSET_TABLE_REGNUM.
7847 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
7848
e564e618
DB
78492002-01-25 David O'Brien <obrien@FreeBSD.org>
7850
7851 * config.gcc (x86_64-*-freebsd*): New target.
7852 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
7853 value.
7854 (i[34567]86-*-freebsd*): Don't include svr4.h.
7855 * config/i386/freebsd64.h: New file.
7856
ff3aaf17
DR
78572002-01-25 Douglas B Rupp <rupp@gnat.com>
7858
4857d29d
DR
7859 * config/alpha/x-vms (version): Make static.
7860
7861 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
7862 in previous checkin.
7863
ff3aaf17
DR
7864 * Makefile.in (install-headers-cp): New target.
7865 * config.gcc (alpha-dec-*vms*): Install headers with
7866 install-headers-cp
7867
48d79c43
JH
7868Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
7869
7870 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
7871 avoid it's copies.
7872
995b5904
RK
7873Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7874
7875 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
7876 of compare_tree_int.
7877 (expand_builtin_strncat): Likewise.
7878 * c-decl.c (finish_struct): Use tree_low_cst.
7879 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
7880 * tree.c (compare_tree_int): Likewise.
7881
75eefe3f
UW
78822002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
7883
7884 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
7885 adjustments even if they are implemented by more than two insns.
7886
5a133afd
JH
7887Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
7888
995b5904 7889 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
7890 * df.h (struct ref): Kill B.
7891 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
7892
7893 * basic-block.h (PROP_EQUAL_NOTES): New flag.
7894 * flow.c (propagate_one_insn): Use it.
7895 (mark_used_regs): Handle NIL.
7896
ead39bdf 78972002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
7898
7899 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
7900 to help folding.
7901
01a2ccd0
DE
79022002-01-25 David Edelsohn <edelsohn@gnu.org>
7903
7904 * rs6000.md (prefetch): Make address V4SI mode so that the address
7905 is restricted to legitimate form for instruction.
7906
fd29f6ea
BW
79072002-01-25 Bob Wilson <bob.wilson@acm.org>
7908
7909 * doc/install.texi (xtensa-*-elf): New target.
7910 (xtensa-*-linux*): New target.
7911 * doc/contrib.texi: Add myself.
7912
55492b32
NC
79132002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
7914
7915 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
7916 purpose register to hold an SImode (or smaller) value.
7917
72c7c913
JJ
79182002-01-25 Jakub Jelinek <jakub@redhat.com>
7919
7920 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
7921 registry only.
7922 * crtstuff.c: Likewise.
7923
c4df4ceb
KH
79242002-01-25 Kazu Hirata <kazu@hxi.com>
7925
7926 * config/h8300/h8300.md (negation patterns): Tighten
7927 predicates to register_operand.
7928
70e531f5
AH
79292002-01-24 Aldy Hernandez <aldyh@redhat.com>
7930
3bca17dd
PK
7931 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
7932 mode, not Pmode.
70e531f5 7933
3bca17dd 7934 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 7935
a4f76ef9
AO
79362002-01-24 Alexandre Oliva <aoliva@redhat.com>
7937
7938 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
7939 modes.
7940
9bf25b09
KH
79412002-01-24 Kazu Hirata <kazu@hxi.com>
7942
7943 * config/h8300/h8300.c (print_operand): Remove support for
7944 operand character 'A'.
7945 * config/h8300/h8300.md (three anonymous patterns): Replace
7946 operand character 'A' with either 'T' or 'S'.
7947
974af6a5
KH
79482002-01-24 Kazu Hirata <kazu@hxi.com>
7949
7950 * config/h8300/h8300.c (print_operand): Remove support for
7951 operand character 'U'.
7952
7a5bb7b8
AP
79532002-01-24 Andris Pavenis <pavenis@latnet.lv>
7954
3bca17dd 7955 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 7956
92a4639e
NC
79572002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
7958
7959 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
7960 values to be assigned to the stack pointer.
7961
467cb2da
HP
79622002-01-14 Hartmut Penner <hpenner@de.ibm.com>
7963
bebc7e8b 7964 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
7965 to const_double needs to be done right for big-endian systems.
7966
3b6cb920
JM
79672002-01-24 Jason Merrill <jason@redhat.com>
7968
b08dd119 7969 PR c++/2432
3b6cb920
JM
7970 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
7971 to can_throw_internal.
7972
f3077311
RH
79732002-01-23 Richard Henderson <rth@redhat.com>
7974
7975 * fold-const.c (fold): Change UINT_MAX test to check vs precision
7976 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
7977
e1d71275
AO
79782002-01-24 Alexandre Oliva <aoliva@redhat.com>
7979
7980 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
7981 (symGOT2reg): Use them, then set as GOT value as unchanging.
7982 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
7983 as a temporary, if possible.
7984 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
7985 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
7986
dc271dbe
KH
79872002-01-23 Kazu Hirata <kazu@hxi.com>
7988
7989 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
7990 accept to accept 0x80 as operands[2].
7991
1a9017f9
AO
79922002-01-24 Alexandre Oliva <aoliva@redhat.com>
7993
7994 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
7995
6932f033
RH
79962002-01-23 Richard Henderson <rth@redhat.com>
7997
7998 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
7999
709619d9
AH
80002002-01-23 Aldy Hernandez <aldyh@redhat.com>
8001
3bca17dd
PK
8002 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
8003 (parmlist_or_identifiers_1): Verify that only a parmlist follows
8004 an attribute.
709619d9 8005
3d709fd3
RH
80062002-01-23 Richard Henderson <rth@redhat.com>
8007
8008 * expr.c (move_by_pieces_1): Extend size before negation.
8009
88a446c0
RH
8010 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
8011 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
8012 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
8013 * config/m68k/t-m68kelf: Likewise.
8014
03984308
BW
80152002-01-23 Bob Wilson <bob.wilson@acm.org>
8016
8017 * config/xtensa/elf.h: New file.
8018 * config/xtensa/lib1funcs.asm: New file.
8019 * config/xtensa/lib2funcs.S: New file.
8020 * config/xtensa/linux.h: New file.
8021 * config/xtensa/t-xtensa: New file.
8022 * config/xtensa/xtensa-config.h: New file.
8023 * config/xtensa/xtensa-protos.h: New file.
8024 * config/xtensa/xtensa.c: New file.
8025 * config/xtensa/xtensa.h: New file.
8026 * config/xtensa/xtensa.md: New file.
8027 * config.gcc (xtensa-*-elf*): New target.
8028 (xtensa-*-linux*): New target.
8029 * cse.c (canon_hash): Compare rtx pointers instead of register
8030 numbers. This is required for the Xtensa port.
8031 * integrate.c (copy_insn_list): Handle case where the static
8032 chain is in memory and the memory address has to be copied to
8033 a register.
8034 * doc/invoke.texi (Option Summary): Add Xtensa options.
8035 (Xtensa Options): New node.
8036 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
8037
c3d5c3fa
ZW
80382002-01-23 Zack Weinberg <zack@codesourcery.com>
8039
a63bea75
ZW
8040 * diagnostic.c (internal_error): Do ICE suppression only
8041 when ENABLE_CHECKING is not defined.
8042
c3d5c3fa
ZW
8043 * c-typeck.c (require_complete_type): Return error_mark_node
8044 if type is error_mark_node.
8045
1398974c
JJ
80462002-01-23 Janis Johnson <janis187@us.ibm.com>
8047
8048 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
8049 -Os and issue a warning.
8050
807633e5
ZW
80512002-01-23 Zack Weinberg <zack@codesourcery.com>
8052
8053 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
8054 current (lack of) need for host configuration by hand.
8055
8056 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
8057 references. Documentation of some target macros moved from
8058 hostconfig.texi to tm.texi.
8059
cf8002d0
WC
80602002-01-23 Will Cohen <wcohen@redhat.com>
8061
8062 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
8063 defined.
8064
d1e76310
KH
80652002-01-23 Kazu Hirata <kazu@hxi.com>
8066
8067 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
8068 operand[3].
8069
b2115575
JM
80702002-01-23 Jason Merrill <jason@redhat.com>
8071
f893c16e
JM
8072 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
8073
b2115575
JM
8074 * function.c (assign_parms): Don't put args of inline functions
8075 into registers when not optimizing.
8076
6bacc7b0
NC
80772002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
8078
8079 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
8080 (prologue_use): New pattern.
8081 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
8082 preference to gen_rtx_USE.
8083 (thumb_expand_prologue): Use gen_prologue_use in preference to
8084 gen_rtx_USE.
8085 (thumb_expand_epilogue): Use gen_prologue_use in preference to
8086 gen_rtx_USE.
8087
a415f7bc
HPN
80882002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
8089
8090 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
8091
5372b3fb
NB
80922002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
8093
8094 PR c/3504
8095 * doc/extend.texi: Correct documentation of __alignof__.
8096
bd571ffc
ZW
80972002-01-22 Zack Weinberg <zack@codesourcery.com>
8098
8099 * params.h: Rename arguments of DEFPARAM so that it will be
8100 recognized as a translation keyword.
8101
333c8841
AH
81022002-01-22 Aldy Hernandez <aldyh@redhat.com>
8103
bd571ffc
ZW
8104 * extend.texi: Document altivec functions.
8105 Fix N-bit adjectives in X86 builtin documentation.
333c8841 8106
38979c65
AO
81072002-01-22 Alexandre Oliva <aoliva@redhat.com>
8108
8109 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
8110 auto_inc_dec values.
8111
7458a9f0
RE
81122002-01-22 Richard Earnshaw <rearnsha@arm.com>
8113
8114 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
8115 after backslash.
8116 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
8117
129bd0c4
AO
81182002-01-22 Alexandre Oliva <aoliva@redhat.com>
8119
8120 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
8121
8b9b74a9
RH
81222002-01-22 Richard Henderson <rth@redhat.com>
8123
8124 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
8125 copy_insn not copy_rtx.
8126
d0c9db30
AM
81272002-01-23 Alan Modra <amodra@bigpond.net.au>
8128
8129 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
8130 "nonzero" as that might add "1" bits. Ensure "constop" is
8131 properly sign extened.
8132 (force_to_mode): Tweak for sign extended constop.
8133
1e7e480e
RH
81342002-01-22 Richard Henderson <rth@redhat.com>
8135
8136 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
8137 for_each_rtx instead of assuming we're already looking at the MEM.
8138 (split_small_symbolic_mem_operand): Likewise.
8139 * config/alpha/alpha.h (PREDICATE_CODES): Update.
8140 * config/alpha/alpha.md (small symbolic memory splitters): Update.
8141
81422002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
8143
8144 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
8145 sequence number for the literal.
8146 (divmoddi_internal_er): Likewise.
8147
b7f2fb96
CR
81482002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
8149
8150 PR java/4972
8151 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
8152 in LIBICONV variable.
8153 * configure: Regenerated.
8154
f66a0046
KW
81552002-01-22 Krister Walfridsson <cato@df.lth.se>
8156
8157 * dependence.c (build_def_use): Remove array_idx.
8158
e3b0efd1
KW
8159 * dwarfout.c (last_filename): Remove.
8160 (output_compile_unit_die): Remove last_filename.
8161
d8086cbb
RS
81622002-01-22 Roger Sayle <roger@eyesopen.com>
8163 Richard Henderson <rth@redhat.com>
8164
8165 PR opt/3640
8166 * fold-const.c (fold): Optimize unsigned comparisons against
8167 UINT_MAX (and similar unsigned constants).
8168
e8d52ba0
JJ
81692002-01-22 Janis Johnson <janis187@us.ibm.com>
8170
d8086cbb 8171 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 8172 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 8173 against the predicate.
11303d15 8174
e8d52ba0
JJ
8175 PR target/5379
8176 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
8177 for the address operand.
8178
cc7b420e
RH
81792002-01-22 Richard Henderson <rth@redhat.com>
8180
8181 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
8182
816e265a
CR
81832002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
8184
8185 PR other/5450
cc7b420e
RH
8186 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
8187 preprocessor flags.
816e265a 8188
7c884404
JT
81892002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
8190
8191 * config.gcc (x86_64-*-netbsd*): New target.
8192 * config/i386/netbsd64.h: New file.
8193
2b672c08
AH
81942002-01-22 Aldy Hernandez <aldyh@redhat.com>
8195
d8086cbb 8196 * regrename.c (kill_value): Fix typo.
2b672c08
AH
8197
81982002-01-22 Aldy Hernandez <aldyh@redhat.com>
8199
d8086cbb 8200 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 8201
d8086cbb 8202 * config/rs6000/rs6000.h: Same.
2b672c08 8203
d8086cbb
RS
8204 * function.c (instantiate_virtual_regs): Remove
8205 STARTING_FRAME_PHASE.
8206 (assign_stack_local_1): Same.
8207 Calculate frame phase.
2b672c08 8208
4b02997f
NC
82092002-01-22 Nick Clifton <nickc@redhat.com>
8210
8211 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
8212 variable declaration to outer scope in order to simplify
8213 future extensions.
8214 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
8215 arm_hard_regno_mode_ok.
8216 * config/arm/arm-protos.h: Add a prototype for
8217 arm_hard_regno_mode_ok.
8218 * config/arm/arm.c (soft_df_operand): Remove now redundant
8219 check for DImode values using IP_REGNUM.
8220 (nonimmediate_soft_df_operand): Remove now redundant check for
8221 DImode values using IP_REGNUM.
8222 (arm_hard_regno_mode_ok): New function. New check: make sure
8223 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
8224
8225 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
8226 note with a USE.
8227 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
8228
8a827ab2
JM
82292002-01-22 Jason Merrill <jason@redhat.com>
8230
8231 * c-semantics.c (genrtl_compound_stmt): Only check nesting
8232 consistency if this COMPOUND_STMT is scoped.
8233
cf403648
KH
82342002-01-22 Kazu Hirata <kazu@hxi.com>
8235
8236 * predict.c: Fix formatting.
8237 * print-tree.c: Likewise.
8238 * protoize.c: Likewise.
8239 * real.h: Likewise.
8240 * rtl.h: Likewise.
8241 * sbitmap.h: Likewise.
8242 * scan.c: Likewise.
8243 * sched-deps.c: Likewise.
8244 * sched-vis.c: Likewise.
8245 * sdbout.c: Likewise.
8246 * sibcall.c: Likewise.
8247 * ssa.c: Likewise.
8248 * ssa-ccp.c: Likewise.
8249 * ssa-dce.c: Likewise.
8250 * stmt.c: Likewise.
8251 * stor-layout.c: Likewise.
8252 * system.h: Likewise.
8253
aea9695c
RK
8254Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8255
a8765ae7
RK
8256 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
8257 if fits in bounds of base type.
8258
aea9695c
RK
8259 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
8260 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
8261 (add_bound_info, default): If can't find a context, make a
8262 SAVE_EXPR.
8263 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
8264
58bf601b
HPN
82652002-01-22 Hans-Peter Nilsson <hp@axis.com>
8266
8267 * c-typeck.c (parser_build_binary_op): If result from
8268 build_binary_op is ERROR_MARK just return error_mark_node without
8269 further processing.
8270
f982f805
JT
82712002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
8272
8273 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
8274 Split a.out-specific bits into...
8275 * config/netbsd-aout.h: ...this.
8276 * config/netbsd-elf.h: New file.
8277 * config/alpha/netbsd-elf.h: Remove.
8278 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
8279 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 8280 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
8281 (ENDFILE_SPEC): Likewise.
8282 (LINK_SPEC): Likewise.
8283 (CPP_SPEC): Likewise.
8284 (ASM_SPEC): Likewise.
8285 (LIB_SPEC): Likewise.
8286 (SWITCH_TAKES_ARG): Likewise.
8287 (TARGET_MEM_FUNCTIONS): Likewise.
8288 (CPP_PREDEFINES): Redefine.
8289 (ASM_FINAL_SPEC): Remove redefinition.
8290 (ASM_COMMENT_START): Redefine.
8291 (FUNCTION_PROFILER): Define.
8292 (TARGET_VERSION): Redefine.
8293 Comment and formatting cleanup.
8294 * config/i386/netbsd.h: Include <netbsd-aout.h>.
8295 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
8296 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
8297 big- or little-endian.
8298 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
8299 * config.gcc (*-*-netbsd*): Add definitions common to all
8300 NetBSD configs.
8301 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
8302 gnu_ld definitions. Add netbsd-elf.h to and remove
8303 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
8304 tmake_file, and don't lose previous tmake_file contents.
8305 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
8306 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
8307 gnu_ld definitions. Add netbsd-elf.h to tm_file.
8308 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
8309 (mipsel-*-netbsd*): Rename this to...
8310 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
8311 mips/little.h to tm_file for mips*el-*.
8312 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
8313 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
8314 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
8315
2e396476
JDA
83162002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
8317
8318 * pa-protos.h (reg_before_reload_operand): New function prototype.
8319 * pa.c (reg_before_reload_operand): New function implementation.
8320 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
8321 contraints to "*m".
8322
3b5708e7
FS
83232002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8324
8325 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
8326
85e79f96
JDA
83272002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
8328
8329 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
8330 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
8331 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
8332 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
8333 (ENDFILE_SPEC): Undefine.
8334 (STARTFILE_SPEC): Redefine for PA.
8335
38abadee
FS
83362002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8337
8338 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
8339
94f1d97c
DJ
83402002-01-21 Daniel Jacobowitz <drow@mvista.com>
8341
8342 * config.gcc: Add entries to supported PowerPC --with-cpu
8343 types.
8344
0333394e
JJ
83452002-01-21 Jakub Jelinek <jakub@redhat.com>
8346
8347 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
8348 true for 64-bit mode only SSE registers in 32-bit mode.
8349
e9d1b155
KH
83502002-01-21 Kazu Hirata <kazu@hxi.com>
8351
8352 * unwind-dw2.c: Fix formatting.
8353 * unwind-dw2-fde.c: Likewise.
8354 * unwind-dw2-fde.h: Likewise.
8355 * unwind-pe.h: Likewise.
8356 * varasm.c: Likewise.
8357 * varray.h: Likewise.
8358
07338cf8
HPN
83592002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
8360
8361 Remove workaround for register stack overwrite bug in mmix.
8362 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
8363 support for TARGET_REG_STACK_FILL_BUG.
8364 * config/mmix/mmix.h: Remove member has_call_without_parameters.
8365 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
8366 Delete.
8367 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
8368 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
8369 -mno-reg-stack-fill-bug-workaround.
8370 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
8371 machine member has_call_without_parameters.
8372 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
8373 -mreg-stack-fill-bug-workaround and
8374 -mno-reg-stack-fill-bug-workaround.
8375 (MMIX Options): Ditto.
8376
7192cbf1
KH
83772002-01-21 Kazu Hirata <kazu@hxi.com>
8378
8379 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
8380 as appropriate.
8381 Remove redundant code.
8382
d1552d7b
JM
83832002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
8384
8385 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
8386 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
8387 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
8388 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
8389 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
8390 out target macro definitions and non-target-specific comments
8391 mostly taken from old versions of the manual.
8392
ed168e45
KH
83932002-01-20 Kazu Hirata <kazu@hxi.com>
8394
8395 * config/h8300/h8300.h: Fix comment formatting.
8396 * config/ia64/aix.h: Likewise.
8397 * config/ia64/ia64-protos.h: Likewise.
8398 * config/ia64/ia64.c: Likewise.
8399 * config/ia64/ia64.h: Likewise.
8400 * config/ia64/ia64intrin.h: Likewise.
8401 * config/ia64/linux.h: Likewise.
8402 * config/ia64/unwind-aix.c: Likewise.
8403 * config/ia64/unwind-ia64.c: Likewise.
8404
005e3e05
KH
84052002-01-20 Kazu Hirata <kazu@hxi.com>
8406
8407 * config/h8300/h8300.c: Revise comments about shift code.
8408
64bead4c
KH
84092002-01-20 Kazu Hirata <kazu@hxi.com>
8410
8411 * config/h8300/h8300.c (function_arg): Update a comment.
8412
ed863595
KH
84132002-01-20 Kazu Hirata <kazu@hxi.com>
8414
8415 * config/h8300/h8300.md: Update the comments at the beginning
8416 of the file.
8417
5904dc87
KH
84182002-01-20 Kazu Hirata <kazu@hxi.com>
8419
8420 * config/i370/i370.c: Fix comment formatting.
8421 * config/i370/i370.h: Likewise.
8422 * config/i370/i370.md: Likewise.
8423 * config/i370/linux.h: Likewise.
8424
9702143f
RK
8425Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8426
cbafacd1
RK
8427 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
8428
9702143f
RK
8429 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
8430 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
8431 in incomplete case.
8432
6b6996b8
GS
84332002-01-20 Graham Stott <grahams@redhat.com>
8434
8435 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
8436
eab854f6
JDA
84372002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
8438
8439 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
8440
5b029315
TR
84412002-01-19 Tom Rix <trix@redhat.com>
8442
8443 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
8444
1d690052
AH
84452002-01-18 Aldy Hernandez <aldyh@redhat.com>
8446
d8086cbb 8447 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 8448
d8086cbb
RS
8449 * function.c (assign_stack_local_1): Adjust x_frame_offset with
8450 STARTING_FRAME_PHASE.
8451 (STARTING_FRAME_PHASE): New.
8452 (instantiate_virtual_regs): Check saneness of
8453 STARTING_FRAME_PHASE.
1d690052 8454
d8086cbb 8455 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 8456
4dd8c093
AO
84572002-01-19 Alexandre Oliva <aoliva@redhat.com>
8458
8459 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
8460
6f2a28d7
CR
84612002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
8462
8463 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
8464 be used for bootstrapping GCC 3.0.
8465
8763a465
KH
84662002-01-18 Kazu Hirata <kazu@hxi.com>
8467
8468 * config/h8300/h8300.md: Fix an insn length.
8469
3ef42a0c
KH
84702002-01-18 Kazu Hirata <kazu@hxi.com>
8471
8472 * bitmap.h: Fix comment formatting.
8473 * combine.c: Likewise.
8474 * cppfiles.c: Likewise.
8475 * c-pragma.h: Likewise.
8476 * c-typeck.c: Likewise.
8477 * df.c: Likewise.
8478 * dwarf2out.c: Likewise.
8479 * function.c: Likewise.
8480 * gcc.c: Likewise.
8481 * genattrtab.c: Likewise.
8482 * gthr-win32.h: Likewise.
8483 * haifa-sched.c: Likewise.
8484 * predict.c: Likewise.
8485 * rtlanal.c: Likewise.
8486 * rtl.h: Likewise.
8487 * unwind-dw2-fde.h: Likewise.
8488 * unwind-pe.h: Likewise.
8489 * vmsdbgout.c: Likewise.
8490
dd4dc3cd
RK
8491Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8492
8493 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
8494 if type_required and passed decl.
8495
5fb4cf24
AH
84962002-01-17 Aldy Hernandez <aldyh@redhat.com>
8497
d8086cbb
RS
8498 * config.gcc (cpu_type): Include altivec.h in powerpc
8499 extra_headers.
8500 Same for darwin.
5fb4cf24 8501
d8086cbb 8502 * config/rs6000/altivec.h: New.
5fb4cf24 8503
2705baf5
DE
85042002-01-17 David Edelsohn <edelsohn@gnu.org>
8505
8506 * doc/install.texi (*-ibm-aix*): Update assembler and exception
8507 handling information.
8508 * doc/trouble.texi (Interoperation): Add libstdc++ information
8509 for AIX.
8510 (Misunderstandings): Add template instantiation and static template
8511 member information for AIX.
8512
dbd680e1
JM
85132002-01-17 Jason Merrill <jason@redhat.com>
8514
821adc5e
JM
8515 * dbxout.c (dbxout_type): Support const and volatile.
8516
dbd680e1
JM
8517 * except.c (add_partial_entry): Remove backwards compatibility code.
8518 (end_protect_partials): Likewise.
8519
d0e82870
JJ
85202002-01-17 Jakub Jelinek <jakub@redhat.com>
8521
8522 * config/ia64/ia64.md (prologue_use): New.
8523 * config/ia64/ia64.c (ia64_expand_prologue): Use
8524 gen_prologue_use instead of gen_rtx_USE.
8525 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
8526 as CODE_FOR_pred_rel_mutex.
8527 (ia64_sched_reorder2): Likewise.
8528
f9f45c65
EC
85292002-01-16 Eric Christopher <echristo@redhat.com>
8530
8531 * config/mips/r3900.h: Reformat.
8532 (SUBTARGET_CPP_SIZE_SPEC): Remove.
8533 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
8534 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
8535 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
8536 * config/mips/t-elf: Remove mips3 multilib.
8537
c66c8b0e
L
85382002-01-16 H.J. Lu <hjl@gnu.org>
8539
8540 * config/mips/linux.h: Include "mips/abi64.h".
8541
5f083b72
L
85422002-01-16 H.J. Lu <hjl@gnu.org>
8543
8544 * config/mips/t-linux: New.
8545
8546 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
8547
8548 * config/mips/linux.h: Don't include "gofast.h".
8549 (INIT_SUBTARGET_OPTABS): Removed.
8550
af3c90a6
KH
85512002-01-16 Kazu Hirata <kazu@hxi.com>
8552
8553 * config/h8300/h8300-protos.h: Replace emit_a_shift with
8554 output_a_shift.
8555 * config/h8300/h8300.c: Likewise.
8556 * config/h8300/h8300.md: Likewise.
8557
a1bf0a16
KH
85582002-01-16 Kazu Hirata <kazu@hxi.com>
8559
8560 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
8561 spaces after an opcode name.
8562 (pushqi1_h8300hs): Likewise.
8563 (pushhi1_h8300hs): Likewise.
8564
88ab0d1c
KH
85652002-01-16 Kazu Hirata <kazu@hxi.com>
8566
8567 * doc/extend.texi: Replace "option" with "attribute"
8568 appropriately.
8569
51c561e3
JJ
85702002-01-16 Jakub Jelinek <jakub@redhat.com>
8571
8572 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
8573 (and:DI () (const_int -8)).
8574 (split_small_symbolic_mem_operand): Split
8575 (mem (and:DI () (const_int -8)).
8576
b8c1a6b8
JJ
85772002-01-16 Jakub Jelinek <jakub@redhat.com>
8578
8579 PR target/5309:
d8086cbb 8580 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
8581 same way as TYPE_IMUL.
8582 (ultrasparc_sched_reorder): Likewise.
8583 * config/sparc/sparc.md (type): Add comment to update
8584 ultrasparc_sched_reorder when making changes.
8585
1e4e4df2
KH
85862002-01-16 Kazu Hirata <kazu@hxi.com>
8587
8588 * doc/invoke.texi: Change the dump file name of block
8589 reordering pass from 28.bbro to 29.bbro.
8590 Mention -dk option.
8591
14d920c0
JH
8592Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
8593
8594 * i386.md (minsf splitter): Fix pasto.
8595
2e99323f
NC
85962002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
8597
8598 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
8599 to frame pointer initialisation instruction.
8600 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
8601 initialisation instruction.
ab8081c1
NC
8602 (soft_df_operand): Do not accept the IP register.
8603 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 8604
c4031a04
JJ
86052002-01-16 Jakub Jelinek <jakub@redhat.com>
8606
8607 PR target/5357:
8608 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
8609 MASK_V8 being both set.
8610
44b8152b
UW
86112002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
8612
8613 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
8614 insn for GOT register; add REG_MAYBE_DEAD notes instead.
8615 config/s390/s390.md (call, call_value): Add GOT register to
8616 CALL_INSN_FUNCTION_USAGE where needed.
8617 (call_exp, call_value_exp): New.
8618
1d6e90ac
NC
86192002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
8620
8621 * config/arm/arm.c: General formatting tidy up.
8622
86232002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
8624
8625 * calls.c (try_to_integrate): Use "(size_t)" intermediate
8626 cast and when casting an integer literal to "rtx" pointer.
8627 (expand_call): Likewise.
8628 * flow.c (try_pre_increment): Likewise.
8629 (find_use_as_address): Likewise.
8630 * integrate.c (expand_iline_function): Likewise.
8631 * regmove.c (try_auto_increment): Likewise.
8632
1d6e90ac 86332002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
8634
8635 * sched-rgn.c (passed): Use sbitmap_free.
8636 (header): Likewise.
8637 (inner): Likewise.
8638 (in_queue): Likewise.
8639 (in_stack): Likewise.
8640
31fce3c4
EC
86412002-01-15 Eric Christopher <echristo@redhat.com>
8642
8643 * flow.c (propagate_one_insn): Change to use fatal_insn.
8644
c99d986a
KH
86452002-01-15 Kazu Hirata <kazu@hxi.com>
8646
8647 * expmed.c (extract_fixed_bit_field): Remove unused code.
8648 * system.h: Poison SLOW_ZERO_EXTEND.
8649 * doc/tm.texi: Remove.
8650 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
8651 * config/arm/arm.h: Likewise.
8652 * config/avr/avr.h: Likewise.
8653 * config/clipper/clipper.h: Likewise.
8654 * config/convex/convex.h: Likewise.
8655 * config/d30v/d30v.h: Likewise.
8656 * config/dsp16xx/dsp16xx.h: Likewise.
8657 * config/elxsi/elxsi.h: Likewise.
8658 * config/fr30/fr30.h: Likewise.
8659 * config/h8300/h8300.h: Likewise.
8660 * config/i370/i370.h: Likewise.
8661 * config/i386/i386.h: Likewise.
8662 * config/m68k/m68k.h: Likewise.
8663 * config/mips/mips.h: Likewise.
8664 * config/ns32k/ns32k.h: Likewise.
8665 * config/pdp11/pdp11.h: Likewise.
8666 * config/pj/pj.h: Likewise.
8667 * config/s390/s390.h: Likewise.
8668 * config/sh/sh.h: Likewise.
8669 * config/stormy16/stormy16.h: Likewise.
8670 * config/v850/v850.h: Likewise.
8671 * config/vax/vax.h: Likewise.
8672 * config/we32k/we32k.h: Likewise.
8673
acfab996
AH
86742002-01-15 Aldy Hernandez <aldyh@redhat.com>
8675
d8086cbb
RS
8676 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
8677 (altivec_lvsl): Change constraint to b.
8678 (altivec_lvsr): Same.
8679 (altivec_lvebx): Same.
8680 (altivec_lvehx): Same.
8681 (altivec_lvewx): Same.
8682 (altivec_lvxl): Same.
8683 (altivec_lvx): Same.
8684 (altivec_stvx): Add parallel.
8685 (altivec_stvxl): Same.
8686 (altivec_stvehx): Same.
8687 (altivec_stvebx): Same.
8688 (altivec_stvebx): Same.
acfab996 8689
5e505bc9
AH
86902002-01-15 Aldy Hernandez <aldyh@redhat.com>
8691
d8086cbb 8692 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 8693
d8086cbb 8694 * config/rs6000/altivec.h: Delete.
5e505bc9 8695
d8086cbb 8696 * config/rs6000/altivec-defs.h: Add.
5e505bc9 8697
5c41fdfb
JDA
86982002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
8699
8700 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
8701 and UMOD modes.
8702
8703 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
8704 less than or equal to eight bytes.
8705
8706 * vax.md (andsi3): Remove constraints and change SET destination
8707 operand type to nonimmediate_operand.
8708 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
8709 when it is a CONST_INT.
8710
de097a2d
JM
87112002-01-15 Jason Merrill <jason@redhat.com>
8712
8713 * c-common.def (FILE_STMT): New code.
8714 * c-common.c (statement_code_p): It's a statement.
8715 * c-common.h (stmt_tree_s): Add x_last_filename.
8716 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
8717 (last_expr_filename): New macro.
8718 * c-semantics.c (begin_stmt_tree): Initialize it.
8719 (add_stmt): If the filename changed, also insert a
8720 FILE_STMT.
8721 (expand_stmt): Handle seeing one.
8722
4a913dd6
EC
87232002-01-15 Eric Christopher <echristo@redhat.com>
8724
8725 * flow.c (propagate_one_insn): Add error message and print out
8726 insn for debugging.
8727
006946e4
JM
87282002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
8729
8730 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
8731 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
8732 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
8733 TRAMPOLINE_ALIGNMENT.
8734 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
8735 to be in bits.
8736 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
8737 PCC_BITFIELD_TYPE_MATTERS.
8738 * config/interix.h (STDC_VALUE): Remove. Use
8739 STDC_0_IN_SYSTEM_HEADERS.
8740 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
8741 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
8742 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
8743
751a1458
CR
87442002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
8745
8746 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
8747 not work on this platform currently.
8748
57771fe8
JM
87492002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
8750
8751 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
8752 readonly_warning in _().
8753
0e83ceb1 87542002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 8755
0e83ceb1 8756 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 8757
8e2e89f7
KH
87582002-01-15 Kazu Hirata <kazu@hxi.com>
8759
0e83ceb1
DR
8760 * config/h8300/h8300.c (print_operand): Remove support for
8761 unused operand characters.
8762
8e2e89f7
KH
8763 * read-rtl.c: Fix formatting.
8764 * real.c: Likewise.
8765 * recog.c: Likewise.
8766 * regclass.c: Likewise.
8767 * regmove.c: Likewise.
8768 * reg-stack.c: Likewise.
8769 * reload1.c: Likewise.
8770 * rtlanal.c: Likewise.
8771
b531087a
KH
87722002-01-15 Kazu Hirata <kazu@hxi.com>
8773
8774 * config/i386/i386.c: Fix formatting.
8775
7c94ce7f
JJ
87762002-01-15 Jakub Jelinek <jakub@redhat.com>
8777
8778 * c-typeck.c (process_init_element): Don't save_expr
8779 COMPOUND_LITERAL_EXPR if just its initializer will be used.
8780
6041bf2f
DE
87812002-01-15 David Edelsohn <edelsohn@gnu.org>
8782
8783 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
8784 emit optional traceback table if optimize_size or TARGET_ELF.
8785 * config/rs6000/rs6000.md (prefetch): New.
8786
8559c8c0
AJ
87872002-01-15 Andreas Jaeger <aj@suse.de>
8788
8789 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
8790
70f122f2
KH
87912002-01-15 Kazu Hirata <kazu@hxi.com>
8792
8793 * mips-tfile.c: Fix formatting.
8794
6a7b4ca6
JH
8795Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
8796
8797 * unroll.c (final_reg_note_copy): Fix previous commit.
8798
e7afe229
KH
87992002-01-14 Kazu Hirata <kazu@hxi.com>
8800
8801 * config/h8300/h8300-protos.h: Remove the prototype for
8802 eq_operator.
8803 * config/h8300/h8300.c (eq_operator): Remove.
8804
7d378549
RH
88052002-01-14 Richard Henderson <rth@redhat.com>
8806
8807 * config/i386/i386.md (prefetch): Tidy.
8808 (prefetch_3dnow): Fix locality operand.
8809
ab093b81
RH
88102002-01-14 Richard Henderson <rth@redhat.com>
8811
8812 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
8813 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
8814
d300f51f
HPN
88152002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
8816
8817 * reload1.c (reload_combine): Pass reg_sum replacement through
8818 copy_rtx in loop performing multiple changes.
8819
655dd289
JJ
88202002-01-14 Jakub Jelinek <jakub@redhat.com>
8821
8822 * except.c (remove_unreachable_regions): New.
8823 (free_eh_status): Clear exception_handler_labels.
8824 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
8825 (find_exception_handler_labels): Don't add the same label more than
8826 once.
8827 (remove_exception_handler_label): Don't die if
8828 find_exception_handler_labels hasn't been called for the current
8829 function yet.
8830
1fba46a7
JH
8831Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
8832
8833 * toplev.c (rest_of_compilation): Rebuild jump labels after
8834 gcse.
8835
0975678f
JM
88362002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
8837
8838 * doc/extend.texi: Move documentation of X86 built-in functions
8839 here.
8840 * doc/invoke.texi: From here.
8841 * doc/sourcebuild.texi: Document location of documentation for
8842 machine built-in functions.
8843
969815c7
CF
88442002-01-13 Christopher Faylor <cgf@redhat.com>
8845
8846 * cppfiles.c (TEST_THRESHOLD): New macro.
8847 (SHOULD_MMAP): Ditto.
8848 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
8849 be used.
8850
494c950b
JH
8851Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
8852
8853 * unroll.c (final_reg_note_copy): Properly handle
8854 REG_LABEL
8855 (unroll_loops): Fix LOOP_CONDITION heuristics.
8856
69a0611f
GK
88572002-01-14 Geoffrey Keating <geoffk@redhat.com>
8858
8859 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
8860 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
8861
b90e45ae
JH
8862Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
8863
8864 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
8865 threaded loop.
8866
8377288b
TR
88672002-01-14 Tom Rix <trix@redhat.com>
8868
8869 * config/rs6000/rs6000.md: Fix typo with sradi.
8870
9f37ccb1
UW
88712002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
8872
8873 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
8874 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
8875 (clrstrdi, clrstrsi): Adapt callers.
8876
8877 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
8878
8559c8c0 8879 (movti splitter): Never use register 0 as base register.
9f37ccb1 8880
6c2d03d0
HP
88812002-01-14 Hartmut Penner <hpenner@de.ibm.com>
8882
8559c8c0
AJ
8883 * combine.c (simplify_shift_const): Always generate new rtx
8884 for shift expression instead of reusing given expression.
6c2d03d0 8885
d3e98208
RK
8886Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8887
8888 * config/alpha/alpha.c (alpha_expand_mov): Don't call
8889 alpha_legitimize_address unless mode is Pmode.
8890
9f339dde
GK
88912002-01-13 Geoffrey Keating <geoffk@redhat.com>
8892
8893 * doc/md.texi (Modifiers): Document the '*' constraint for the
8894 user.
8895
8896 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
8897 * doc/extend.texi (Function Attributes): 'interrupt' is valid
8898 for xstormy16 too.
8899
02a10130
RH
89002002-01-13 Richard Henderson <rth@redhat.com>
8901
8902 * reload.c (find_reloads): Use a hard reg destination as reload reg
8903 for an input reload of the source.
8904
61d47787
GP
89052002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8906
8907 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
8908 more generic.
8909
f0df8029
DR
8910Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
8911
8912 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
8913 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
8914
d2a37256
DR
8915 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
8916
a9e8a5ee
RK
8917Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8918
8919 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
8920
bc06712d
TR
89212002-01-12 Tom Rix <trix@redhat.com>
8922
8559c8c0 8923 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
8924 TARGET_POWERPC64.
8925
7cbe9bb7
RH
89262002-01-12 Richard Henderson <rth@redhat.com>
8927
38b29e64
RH
8928 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
8929
58605ba0
RH
8930 * doc/invoke.texi: Update Alpha options.
8931
7cbe9bb7
RH
8932 * doc/invoke.texi: Update i386 built-in function lists.
8933
9d560860
JH
8934Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
8935
8936 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
8937 referencing outside.
8938
bb93b973
RK
8939Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8940
8941 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
8942 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
8943 offsets, and change line folding.
8944 * optabs.c (expand_binop): Remove warnings.
8945 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 8946
f9f6b7df
GS
89472002-01-12 Graham Stott <grahams@redhat.com>
8948
8949 * attribs.c (handle_deprecated_attribute): constify WHAT.
8950 * diagnostic.c (warn_deprecated_use): Add braces, fixes
8951 dangling else warning and constify WHAT.
8952 * except.h (struct function, struct inline_remap): Move
8953 struct tag forward defs before all prototypes.
8954 (duplicate_eh_regions): Whitespace.
8955
4a692617
NC
89562002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
8957
8958 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
8959 MODE_BASE_REG_CLASS.
8960 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
8961
e37af218
RH
89622002-01-12 Richard Henderson <rth@redhat.com>
8963
8964 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
8965 (ix86_expand_vector_move): New.
8966 (bdesc_2arg): Remove andps, andnps, orps, xorps.
8967 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
8968 Remove old prefetch builtins. Special case the logicals removed above.
8969 (ix86_expand_builtin): Likewise.
8970 (safe_vector_operand): Use V4SFmode, not TImode.
8971 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
8972 (ix86_expand_timode_binop_builtin): New.
8973 * config/i386/i386-protos.h: Update.
8974 * config/i386/i386.h (enum ix86_builtins): Update.
8975 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
8976 Use ix86_expand_vector_move in vector move expanders.
8977 (movti_internal, movti_rex64): Add xorps alternative.
8978 (sse_clrv4sf): Rename and adjust from sse_clrti.
8979 (prefetch): Don't work so hard.
8980 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
8981 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
8982 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
8983
6f1a6c5b
RH
89842002-01-11 Richard Henderson <rth@redhat.com>
8985
8986 * config/i386/mmintrin.h: New file.
8987 * config/i386/xmmintrin.h: New file.
8988 * config.gcc (i?86-*-*): Add extra_headers.
8989 * simplify-rtx.c (simplify_unary_operation): Handle saturating
8990 truncation codes.
8991 (simplify_binary_operation): Handle saturating arithmetic codes.
8992 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
8993 not the lowpart subreg.
8994 (ix86_expand_builtin): Return a TImode dummy register instead of 0
8995 on error.
8996 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
8997
cdb574d3
MH
89982002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8999
9000 * conflict.c (conflict_graph_compute): Free regsets when finished.
9001 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 9002
cf11ac55
HB
90032002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9004
9005 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
9006 every where we allocate a register.
9007
76ac938b
MH
90082002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9009
9010 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
9011 * lcm.c (compute_earliest, compute_farthest): Likewise.
9012
a84b4898
JJ
90132002-01-11 Janis Johnson <janis187@us.ibm.com>
9014
9015 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
9016
aaef1c12
JJ
90172002-01-11 Janis Johnson <janis187@us.ibm.com>
9018
9019 * doc/rtl.texi (Insns): Fix 2 typos.
9020
5d22c1a5
JM
90212002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
9022
9023 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
9024 options. Use @table @gcctabopt for MMIX options. Add index
9025 entries for MMIX options. Start new paragraph with first
9026 heading of the machine-dependent options.
9027
3e92902c
CR
90282002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
9029
9030 PR other/5299
9031 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
9032 * combine.c (force_to_mode): Same.
9033 * reload1.c (clear_reload_reg_in_use): Same.
9034
96ae8197
NC
90352002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
9036
9037 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
9038 and 'subtargets'.
9039
9b780582
AJ
90402002-01-11 Andreas Jaeger <aj@suse.de>,
9041 Brad Lucier <lucier@math.purdue.edu>
9042
9043 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
9044 mcpu.
9045
12300dad
DR
9046Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
9047
9048 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
9049 Protect with IN_LIBGCC.
9050 (LINK_EH_SPEC): Add required trailing space.
9051
27511a9a
NP
9052Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
9053
9b780582 9054 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
9055 under the filename which contains them.
9056 (check_identifier, finish_decl_top_level,
9057 lookup_name_current_level_global, shadow_record_fields): Remove.
9058
4daeab16
AJ
90592002-01-11 Andreas Jaeger <aj@suse.de>
9060
9061 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
9062 march.
9063
40571d67
RH
90642002-01-10 Richard Henderson <rth@redhat.com>
9065
9066 * config/alpha/alpha.c (print_operand): Add 'J'.
9067 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
9068 new operand with the sequence number for the lituse. When splitting
9069 the insns, use gen_movdi_er_high_g and generate a sequence number.
9070 (gen_movdi_er_high_g): Print the sequence number if non-zero.
9071
6525c0e7
AH
90722002-01-10 Aldy Hernandez <aldyh@redhat.com>
9073
d8086cbb
RS
9074 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
9075 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
9076 stvxl.
9077 (altivec_expand_builtin): Same.
9078 (altivec_expand_stv_builtin): New.
9079
9080 * config/rs6000/rs6000.h (rs6000_builtins): Same.
9081
9082 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
9083 ("altivec_lvehx"): New.
9084 ("altivec_lvewx"): New.
9085 ("altivec_lvxl"): New.
9086 ("altivec_lvx"): New.
9087 ("altivec_stvx"): New.
9088 ("altivec_stvebx"): New.
9089 ("altivec_stvehx"): New.
9090 ("altivec_stvewx"): New.
9091 ("altivec_stvxl"): New.
6525c0e7 9092
cda94cbb
RH
90932002-01-10 Richard Henderson <rth@redhat.com>
9094
9095 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
9096 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
9097 care not to delete instructions twice.
9098
df2c9a44
ZW
90992002-01-10 Zack Weinberg <zack@codesourcery.com>
9100
9101 * toplev.c: Don't declare environ (it's not used anywhere).
9102 * configure.in: Don't check for declaration of environ.
9103 * config/i386/xm-mingw32.h: Don't #define environ.
9104 * config.in, configure: Regenerate.
9105
5dd8a9b1
ZW
91062002-01-10 Zack Weinberg <zack@codesourcery.com>
9107
9108 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
9109 * configure: Regenerate.
9110
9111 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
9112 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
9113 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
9114 alpha/xm-vms.h.
9115 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
9116 LIMITS_H_TEST here, not in m68k/x-next.
9117 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
9118 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
9119
9120 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
9121 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
9122 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
9123
9124 * config/i386/x-djgpp: Renamed i386/t-djgpp.
9125 * config/m88k/x-dolph: Renamed m88k/t-dolph.
9126 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
9127 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
9128 replacement of quadlib.asm with quadlib.c.
9129
9130 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
9131 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
9132 config/rs6000/xm-beos.h: Delete file.
9133
9134 * config.gcc: Update to match above changes.
9135
d10dd44c
KH
91362002-01-10 Kazu Hirata <kazu@hxi.com>
9137
9138 * config/h8300/h8300.h: Fix comment typos.
9139 * config/h8300/h8300.md: Likewise.
9140 * config/h8300/lib1funcs.asm: Likewise.
9141
04894c5a
DJ
91422002-01-10 Dale Johannesen <dalej@apple.com>
9143
9144 PR optimization/5269
9145 * unroll.c (precondition_loop_p): Make *increment be the correct
9146 sign when n_iterations known, to avoid confusing caller.
9147
adc9fe67
KH
91482002-01-10 Kazu Hirata <kazu@hxi.com>
9149
9150 * doc/extend.texi (deprecated): Fix a typo.
9151
b446e5a2
JH
9152Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
9153
9154 * basic-block.h (update_br_prob_note): Declare.
9155 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
9156 (try_forward_edges): Care negative frequencies and update note.
9157 (outgoing_edges_match): Tweek conditional merging heuristics.
9158 (try_crossjump_to_edge): use update_br_prob_note.
9159 * cfglayout.c (fixup_reorder_chain): Likewise.
9160 * cfrtl.c (update_br_prob_note): New.
9161 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
9162
9163 * i386.c (ix86_decompose_address): Return -1 if address contains
9164 shift.
9165 (legitimate_address_p): Require ix86_decompose_address to return 1.
9166
9167 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
9168 (cprop_insn): Likewise.
9169
a01da83b
KH
91702002-01-10 Kazu Hirata <kazu@hxi.com>
9171
9172 * toplev.c: Fix formatting.
9173 * tree.c: Likewise.
9174 * tree-dump.c: Likewise.
9175 * unroll.c: Likewise.
9176 * unwind-dw2.c: Likewise.
9177 * unwind-dw2-fde.c: Likewise.
9178 * unwind-dw2-fde-glibc.c: Likewise.
9179 * unwind-sjlj.c: Likewise.
9180
9f85bca7
JM
91812002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
9182
9183 * doc/invoke.texi: Document PDP-11 options.
9184
f48f56b1
KH
91852002-01-10 Kazu Hirata <kazu@hxi.com>
9186
9187 * config/h8300/h8300.h: Fix formatting.
9188
ead39bdf 91892002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
9190
9191 Add __attribute__ ((deprecated)).
9192 * extend.texi: Document __attribute__ ((deprecated)).
9193 * invoke.texi: Document -Wno-deprecated-declarations.
9194 * testsuite/g++.dg/other/deprecated.C: New C++ test.
9195 * testsuite/gcc.dg/deprecated.c: New C test.
9196 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
9197 (c_common_attribute_table): Add "deprecated" entry.
9198 (handle_deprecated_attribute): New function.
9199 * c-decl.c (deprecated_states): New enum.
9200 deprecated_state: State of "deprecated" handling.
9201 (start_decl): Set deprecated_state based on attributes.
9202 (grokdeclarator): Test for deprecated uses, propagate attribute.
9203 * c-typeck.c (build_component_ref): Test for deprecated fields.
9204 (build_external_ref): Test for deprecated primaries.
9205 * diagnostic.c (warn_deprecated_use) New function to issue
9206 warnings about __attribute__ ((depricated)) references.
9207 * flags.h (warn_deprecated_decl): Extern declared for
9208 -W[no-]deprecated-declarations option.
9209 * print-tree.c (print_node): Show deprecated flag status.
9210 * toplev.c (warn_deprecated_decl): Defined.
9211 (W_options): Added "deprecated-declaration".
9212 * toplev.h (warn_deprecated_use): Extern declared.
9213 * tree.h (struct tree_common): Define deprecated_flag.
9214 (TREE_DEPRECATED): New macro to access flag.
9215 * cp/call.c (build_call): Test for deprecated calls.
9216 * cp/class.c (add_implicitly_declared_members): Set global
9217 flag to tell grokdeclarator to not issue deprecated warnings.
9218 * cp/cp-tree.h: Add extern for adding_implicit_members.
9219 * cp/decl.c (deprecated_states): New enum.
9220 (start_decl): Set deprecated_state based on attributes.
9221 (grokdeclarator): Test for deprecated uses, propagate attribute.
9222 * cp/lex.c (do_identifier): Test for deprecated primaries.
9223 * cp/typeck.c (build_component_ref): Test for deprecated fields.
9224
ead39bdf 92252002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
9226
9227 Fix to assign attributes to inline member functions.
9228 * cp/decl.c (start_method): Handle attrlist.
9229
47073a38
KH
92302002-01-10 Kazu Hirata <kazu@hxi.com>
9231
9232 * combine.c (expand_field_assignment): Use subreg_lsb().
9233
d288e53d
DE
92342002-01-10 David Edelsohn <edelsohn@gnu.org>
9235
9236 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
9237 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
9238 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
9239 Recurse for any operand of AND as long as constant is non-zero.
9240
08a02ffa
KH
92412002-01-10 Kazu Hirata <kazu@hxi.com>
9242
9243 * config/h8300/h8300.md: Remove constraints from expanders.
9244
c203e7fe
KH
92452002-01-10 Kazu Hirata <kazu@hxi.com>
9246
9247 * varasm.c: Fix formatting.
9248 * varray.c: Likewise.
9249 * vmsdbgout.c: Likewise.
9250 * xcoffout.c: Likewise.
9251
bcb3bc6d
JH
9252Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
9253
9254 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 9255 update edge probabilities to match.
bcb3bc6d 9256
0a553c7e
JM
92572002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
9258
9259 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
9260 dependencies.
9261 * doc/languages.texi, doc/sourcebuild.texi: New files.
9262 * doc/configfiles.texi: Make a subsubsection. Update.
9263 * doc/configterms.texi: Add @node. Remove warning that this isn't
9264 instructions for building GCC.
9265 * doc/makefile.texi: Make a subsection.
9266 * doc/gccint.texi: Update.
9267
adc7fcb8
JH
9268Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
9269
9270 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
9271
5a4dd0b3
NP
9272Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
9273
9274 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
9275
3987b9db
JH
9276Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
9277
9278 * optabs.c (expand_fix): Look for wider integer modes first.
9279
9280 * i386.md (mov?f): Avoid the fake const double trick for medium
9281 memory model.
9282 (min?f*/max?f*): Prohibit memory operands for i387 variant.
9283 (fop_df_4): Disable for SSE compilation.
9284
ceb15948 92852002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
9286
9287 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 9288 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 9289
e1623399
RH
92902002-01-10 Richard Henderson <rth@redhat.com>
9291
9292 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
9293
c4abb293
RH
92942002-01-10 Richard Henderson <rth@redhat.com>
9295
9296 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
9297 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
9298
d2604ae9
KH
92992002-01-10 Kazu Hirata <kazu@hxi.com>
9300
9301 * combine.c (can_combine_p): Fix a comment typo.
9302
766c7ad1
ZW
93032002-01-09 Zack Weinberg <zack@codesourcery.com>
9304
9305 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
9306 empty list correctly. Change loop index $t to $f for
9307 consistency with rest of Makefile.
9308
95385cbb
AH
93092002-01-08 Aldy Hernandez <aldyh@redhat.com>
9310
9311 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
9312 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
9313
9314 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
9315 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
9316 (altivec_init_builtins): Same.
9317 (altivec_expand_unop_builtin): Return NULL_RTX on error.
9318 (altivec_expand_binop_builtin): Same.
9319 (altivec_expand_ternop_builtin): Same.
9320 (bdesc_dst): New.
9321
9322 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
9323 ("altivec_vctuxs"): Fix typo.
9324 ("altivec_vnmsubfp"): Same.
9325 ("altivec_dssall"): New.
9326 ("altivec_mfvscr"): New.
9327 ("altivec_dss"): New.
9328 ("altivec_lvsl"): New.
9329 ("altivec_lvsr"): New.
9330 ("altivec_dstt"): New.
9331 ("altivec_dstst"): New.
9332 ("altivec_dststt"): New.
9333 ("altivec_dst"): New.
9334
9335 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
9336 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
9337
e4ac76b4
RH
93382002-01-09 Richard Henderson <rth@redhat.com>
9339
9340 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
9341
c893e4a4
HPN
93422002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
9343
9344 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
9345 function.
9346 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
9347 prototype.
7387c700 9348 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 9349
f4f4d0f8
KH
93502002-01-09 Kazu Hirata <kazu@hxi.com>
9351
9352 * read-rtl.c: Fix formatting.
9353 * real.c: Likewise.
9354 * regclass.c: Likewise.
9355 * regrename.c: Likewise.
9356 * reg-stack.c: Likewise.
9357 * reload1.c: Likewise.
9358 * reload.c: Likewise.
9359 * rtl.c: Likewise.
9360
cc863bea
KH
93612002-01-09 Kazu Hirata <kazu@hxi.com>
9362
9363 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
9364 to extract items in the expr_list chain.
9365
7b4dfe3d
RH
93662002-01-09 Richard Henderson <rth@redhat.com>
9367
9368 * config/vax/vax.c (vax_rtx_cost): Never abort.
9369
1d969638
RH
9370 * config/vax/vax.h (REAL_ARITHMETIC): Define.
9371
7d5ab30e
JH
93722002-01-09 Jan Hubicka <jh@suse.cz>
9373
9374 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
9375
9503f3d1
RH
93762002-01-09 Richard Henderson <rth@redhat.com>
9377
9378 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
9379 Unify code from various alternatives.
9380
42bd17b7
RH
93812002-01-09 Richard Henderson <rth@redhat.com>
9382
9383 * regrename.c (copy_value): Ignore the copy if the source register
9384 is present in the value chain with a narrower mode.
9385
bdca3c33
HB
93862002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9387
cda94cbb
RH
9388 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
9389 for the c4x target. Also improve layout.
bdca3c33 9390
c73a5e94
RH
93912002-01-09 Richard Henderson <rth@redhat.com>
9392
9393 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
9394 * config/m32r/m32r.md (and ior xor splitters): Swap operands
9395 to match insn patterns.
9396
dd0a18c0
RH
93972002-01-09 Richard Henderson <rth@redhat.com>
9398
9399 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
9400 (copyprop_hardreg_forward_1): Likewise.
9401
1fd9ac1e
JDA
94022002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
9403
9404 * pa.md (decrement_and_branch_until_zero): Change predicate for
9405 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
9406
5cb265ec
BM
94072002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
9408
9409 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
9410 gets undefined. For Darwin.
9411
fcd8fa8b
HB
94122002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9413
9414 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
9415
bd3ab23a
MH
94162002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9417
9418 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
9419
21e16bd6
RH
94202002-01-08 Richard Henderson <rth@redhat.com>
9421
9422 * regrename.c (copy_value): Ignore overlapping copies.
9423
a5376276
RH
94242002-01-08 Richard Henderson <rth@redhat.com>
9425
9426 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
9427 as needed to avoid shared structure.
9428
18cf8dda
KH
94292002-01-08 Kazu Hirata <kazu@hxi.com>
9430
9431 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
9432 H8/300H and H8/S.
9433
16c484c7
JM
94342002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
9435
9436 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
9437 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
9438 documentation of obsolete macros.
9439 * system.h: Poison these macros.
9440 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
9441 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
9442 config/c4x/c4x.h, config/clipper/clipper.h,
9443 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
9444 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
9445 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
9446 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
9447 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
9448 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
9449 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
9450 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
9451 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
9452 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
9453 config/sparc/sparc.h, config/stormy16/stormy16.h,
9454 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
9455 definitions and commented out definitions of obsolete macros.
9456 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
9457 of MAX_INT_TYPE_SIZE.
9458
14b3e8ef
UW
94592002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
9460
9461 * config/s390/s390.c (s390_preferred_reload_class): Never
9462 return ADDR_REGS if it isn't a subset of the given class.
9463 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
9464 FP_REGS, but all superclasses as well.
9465
9466 * config/s390/s390.c (s390_function_profiler): Fix thinko.
9467
9468 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
9469 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
9470 must not be a const_int.
9471
a693284d
RH
94722002-01-08 Richard Henderson <rth@redhat.com>
9473
9474 * Makefile.in (toplev.o): Depend on options.h.
9475 (gcc.o): Depend on specs.h.
9476
b3ca30df
JJ
94772002-01-08 Jakub Jelinek <jakub@redhat.com>
9478
9479 * expr.c (store_expr): Convert VOIDmode constants back to target's
9480 mode.
9481
24dbb440
GP
94822002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9483
9484 * doc/invoke.texi: Markup gcc as @command. Refer to
9485 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
9486 of http://gcc.gnu.org/thanks.html.
9487
234e114c
DJ
94882002-01-08 Dale Johannesen <dalej@apple.com>
9489
9490 * config/rs6000/rs6000.md: Add missing int register
9491 target case to movdf_low.
9492
0d24f4d1
ZW
94932002-01-08 Zack Weinberg <zack@codesourcery.com>
9494
9495 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
9496 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
9497 (cppinit.o): Depend on except.h.
9498 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
9499 s-specs): New rules.
9500
9501 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
9502 Don't create specs.h/options.h/gencheck.h here. Remove
9503 unnecessary variable settings from last argument of AC_OUTPUT.
9504 * config.in, configure: Regenerate.
9505 * intl.c: Hardcode package name as "gcc".
9506
9507 * cppinit.c: Include except.h.
9508 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
9509 appropriate.
9510 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
9511 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
9512 (!)USING_SJLJ_EXCEPTIONS.
9513 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
9514
ed722f66
JM
95152002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
9516
9517 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
9518 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
9519 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
9520 documentation of obsolete macros.
9521 * system.h: Poison these macros.
9522 * config/d30v/d30v.h, config/ns32k/encore.h,
9523 config/stormy16/stormy16.h: Remove definitions and commented out
9524 definitions of obsolete macros.
9525
31e5e29a
NP
9526Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
9527
9528 * objc/objc-act.c (handle_class_ref): Mark the declaration of
9529 %sobjc_class_ref_%s as used - to prevent unwanted compiler
9530 warnings.
9531
bc1fa59c
UW
95322002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
9533
9534 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
9535 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
9536 to insn adjusting stack/frame pointer.
0d24f4d1 9537 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
9538 accept operands that cause the insn to be non-splittable.
9539
a8086abf
GS
95402002-01-08 Graham Stott <grahams@redhat.com>
9541
9542 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
9543 (C_TYPE_FIELDS_VOLATILE): Likewise.
9544 (C_TYPE_BEING_DEFINED): Likewise.
9545 (C_IS_RESERVED_WORD): Likewise.
9546 (C_TYPE_VARIABLE_SIZE): Likewise.
9547 (C_DECL_VARIABLE_SIZE): Likewise.
9548 (C_MISSING_PROTOTYPE_WARNED): Likewise.
9549 (C_SET_EXP_ORIGINAL_CODE): Likewise.
9550 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
9551 parenthesis.
9552 (C_DECL_ANTICIPATED): Likewise.
9553 (c_build_type_variant): Add parenthesis.
9554
3f595aa1
JM
95552002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
9556
9557 * gcc.c (option_map): Remove --version.
9558 (process_command): Handle -fversion following the GNU Coding
9559 Standards. Partially addresses PR other/704.
9560
5bc5a8f9
GS
95612002-01-08 Graham Stott <grahams@redhat.com>
9562
9563 * combine.c (combine_instructions): Fix typo.
9564
16ec4ebf
GS
95652002-01-08 Graham Stott <grahams@redhat.com>
9566
9567 * debug.h: Use "tree" and "rtx" throughout.
9568
9569 * debug.c: Likewise.
9570
4b69f385
NC
95712002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
9572
9573 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
9574 constant pool, use the pool's version of the symbol instead.
9575
57d1019b
RH
95762002-01-07 Richard Henderson <rth@redhat.com>
9577
9578 * regrename.c (find_oldest_value_reg): Ignore the value chain if
9579 the original register was copied in a mode with a fewer number of
9580 hard registers than the desired mode.
9581 (copyprop_hardreg_forward_1): Likewise.
9582 (debug_value_data): Fix loop test.
9583 * toplev.c (parse_options_and_default_flags): Reenable
9584 -fcprop-registers at -O1.
9585
95862002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 9587
0d24f4d1
ZW
9588 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
9589 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 9590
0d24f4d1
ZW
9591 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
9592 predicates.
fa066a23 9593
0d24f4d1 9594 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 9595
8f949e7e
JDA
95962002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
9597
9598 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
9599 (pa_output_function_prologue): Output local label at the beginning of
9600 the prologue when profiling.
9601 (hppa_profile_hook): Use the local label rather than the function label.
9602 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
9603
c62f2db5
AH
96042002-01-07 Aldy Hernandez <aldyh@redhat.com>
9605
0d24f4d1
ZW
9606 * config/rs6000/rs6000.c (print_operand): Remove extra space.
9607 (altivec_expand_unop_builtin): Fix thinko.
9608 (altivec_expand_binop_builtin): Same.
9609 (altivec_expand_ternop_builtin): Same.
9610 (altivec_expand_builtin): Same.
c62f2db5 9611
b5235ba7
RH
96122002-01-07 Richard Henderson <rth@redhat.com>
9613
9614 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
9615
7d8ac293
JM
96162002-01-07 Jason Merrill <jason@redhat.com>
9617
9618 * unwind-dw2.c (execute_cfa_program): Use < again.
9619
571a03b8
JJ
96202002-01-07 Jakub Jelinek <jakub@redhat.com>
9621
9622 * predict.c (combine_predictions_for_insn): Avoid division by zero.
9623
2e951384
JJ
96242002-01-07 Jakub Jelinek <jakub@redhat.com>
9625
9626 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
9627 Don't allow -1 - x -> ~x simplifications in the first pass.
9628
20e26713
AH
96292002-01-07 Aldy Hernandez <aldyh@redhat.com>
9630
0d24f4d1
ZW
9631 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
9632 arguments.
9633 (altivec_expand_binop_builtin): Same.
9634 (altivec_expand_unop_builtin): Same.
9635 (print_operand): Fix typo.
9636 (bdesc_1arg): Add vupk* variants.
20e26713 9637
0d24f4d1 9638 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 9639
0d24f4d1 9640 * rs6000.md: Add altivec_vupk* variants.
20e26713 9641
4dd57c18
JM
96422002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
9643
9644 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
9645 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
9646 and last update dates.
9647
0341c5d2
JJ
96482002-01-07 Janis Johnson <janis187@us.ibm.com>
9649
9650 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
9651
c7f3e0b0
MM
96522002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
9653
9654 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
9655 * config/avr/avr.h (CPP_SPEC): Likewise.
9656 (LINK_SPEC): Likewise.
9657 (CRT_BINUTILS_SPECS): Likewise.
9658 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
9659 * doc/invoke.texi (AVR Options): Document them.
9660
6ba4d630
JH
9661Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
9662
9663 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
9664 LABEL_NUSES.
9665
6253d571
GS
96662002-01-07 Graham Stott <grahams@redhat.com>
9667
0d24f4d1
ZW
9668 * config/i386/i386.h: Update copyright date.
9669 (HALF_PIC_PTR): Add parenthesis.
9670 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
9671 (CONSTANT_ALIGNMENT): Add parenthesis.
9672 (DATA_ALIGNMENT): Likewise.
9673 (LOCAL_ALIGNMENT): Likewise.
9674 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
9675 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
9676 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
9677 (HARD_REGNO_NREGS): Add paranethesis.
9678 (VALID_SSE_REG_MODE): Whitespace.
9679 (VALID_MMX_REG_MODE): Whitespace.
9680 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
9681 (ix86_hard_regno_mode_ok): Add parenthesis.
9682 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
9683 (RETURN_IN_MEMORY): Whitespace.
9684 (N_REG_CLASSES): Add parenthesis.
9685 (INTEGER_CLASS_P): Add parenthesis and wrap.
9686 (FLOAT_CLASS_P): Likewise.
9687 (SSE_CLASS_P): Likewise.
9688 (MMX_CLASS_P): Likewise.
9689 (MAYBE_INTEGER_CLASS_P): Likewise.
9690 (MAYBE_FLOAT_CLASS_P): Likewise.
9691 (MAYBE_SSE_CLASS_P): Likewise.
9692 (MAYBE_MMX_CLASS_P): Likewise.
9693 (Q_CLASS_P): Likewise.
9694 (GENERAL_REGNO_P): Uppercase macro parameter.
9695 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
9696 (FP_REGNO_P): Likewise.
9697 (ANY_FP_REGNO_P): Uppercase macro parameter.
9698 (SSE_REGNO_P): Likewise.
9699 (SSE_REGNO): Likewise.
9700 (SSE_REG_P): Likewise.
9701 (SSE_FLOAT_MODE_P): Likewise.
9702 (MMX_REGNO_P): Likewise.
9703 (MMX_REG_P):Likewise.
9704 (STACK_REG_P): Likewise.
9705 (NON_STACK_REG_P): Likewise.
9706 (STACK_TOP_P): Likewise.
9707 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
9708 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
9709 (SECONDARY_MEMORY_NEEDED): Likewise.
9710 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
9711 (MD_ASM_CLOBBERS): Whitespace and wrap.
9712 (MUST_PASS_IN_STACK): Whitespace and wrap.
9713 (RETURN_POPS_ARGS): Add parenthesis.
9714 (INIT_CUMULATIVE_ARGS): Likewise.
9715 (FUNCTION_ARG): Likewise.
9716 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
9717 (SETUP_INCOMING_VARARGS): Likewise.
9718 (BUILD_VA_LIST_TYPE): Add parenthesis.
9719 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
9720 parenthsis.
9721 (EXPAND_BUILTIN_VA_ARG): Likewise.
9722 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
9723 (INITIALIZE_TRAMPOLINE): Add parenthesis.
9724 (INITIAL_ELIMINATION_OFFSET): Likewise.
9725 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
9726 (REGNO_OK_FOR_BASE_P): Likewise.
9727 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
9728 (REGNO_OK_FOR_DIREG_P): Likewise.
9729 (REG_OK_FOR_INDEX_P): Whitespace.
9730 (REG_OK_FOR_BASE_P): Whitespace.
9731 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
9732 parenthesis.
9733 (FIND_BASE_TERM): Fix typo.
9734 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
9735 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
9736 (SYMBOLIC_CONST; Whitespace.
9737 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
9738 (ENCODE_SECTION_INFO): Whitespace.
9739 (FINALIZE_PIC): Remove do { ... } while (0).
9740 (PROMOTE_MODE): Wrap in do { ... } while (0).
9741 (CONST_COSTS): Whitespace.
9742 (RTX_COSTS): Add paramethesis, whitespace and wrap.
9743 (REGISTER_MOVE_COST): Add parenthesis.
9744 (MEMORY_MOVE_COST): Likewise.
9745 (EXTRA_CC_MODES): Whitespace.
9746 (SELECT_CC_MODE): Add parenthesis and whitespace.
9747 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
9748 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
9749 (ASM_OUTPUT_LABEL): Add paramethesis.
9750 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
9751 (ASM_OUTPUT_REG_POP): Likewise.
9752 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
9753 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 9754
07933f72
GS
9755 * config/i386/i386.c: Update copyright.
9756 (CHECK_STACK_LIMIT): Add parenthesis.
9757 (AT_BP): Uppercase macro parameter.
9758 (x86_64_int_parameter_registers): Constify.
9759 (x86_64_int_return_registers): Likewise.
9760 (ix86_compare_op0): Use rtx.
9761 (construct_container): Constify INTREG parameter.
9762 (function_arg): Use rtx.
9763
0b4d32c9
GS
9764 * diagnostic.h: Update copyright date.
9765 (output_buffer_state): Add parenthesis.
9766 (output_buffer_format_args): Likewise.
9767
6253d571
GS
9768 * combine.c (combine_instructions): Replace XEXP (links, 0)
9769 with link.
9770
68f3f6f1
L
97712002-01-06 H.J. Lu <hjl@gnu.org>
9772
9773 * cfgcleanup.c (thread_jump): Fix 2 typos.
9774
97752002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 9776
0d24f4d1 9777 * config.gcc: Add support for --enable-altivec.
480f7f3a 9778
13b8c631
CR
97792002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
9780
9781 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
9782
58ad89b1
JJ
97832002-01-06 Jakub Jelinek <jakub@redhat.com>
9784
9785 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
9786 __objc_class_name_*.
9787
e403b4bc
CR
97882002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
9789
9790 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
9791
e41c7831
RH
97922002-01-06 Richard Henderson <rth@redhat.com>
9793
9794 * reorg.c (emit_delay_sequence): Remove death notes, not merely
9795 nop them out. Increment label reference count for REG_LABEL.
9796 (fill_slots_from_thread): Frob label reference count around
9797 delete_related_insns.
9798
3b3b1e32
RH
97992002-01-05 Richard Henderson <rth@redhat.com>
9800
9801 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
9802 jump threading.
9803
c28abdf0
RH
98042002-01-05 Richard Henderson <rth@redhat.com>
9805
9806 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
9807 * integrate.c (output_inline_function): Likewise.
9808 * toplev.c (rest_of_compilation): Do it here instead. Move call
9809 to remove_unnecessary_notes after emitting abstract instance.
9810 Force an emitted nested function to have its parent emited as well.
9811 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
9812 for null.
9813 (rtl_for_decl_location): Do not look at reload data structures
9814 before reload has run.
9815
c4f2c499
KH
98162002-01-05 Kazu Hirata <kazu@hxi.com>
9817
9818 * cse.c: Fix formatting.
9819 * dwarf2asm.c: Likewise.
9820 * dwarf2out.c: Likewise.
9821 * explow.c: Likewise.
9822 * expmed.c: Likewise.
9823 * function.c: Likewise.
9824 * gcov.c: Likewise.
9825 * gencheck.c: Likewise.
9826 * genrecog.c: Likewise.
9827 * ggc-common.c: Likewise.
9828 * ggc-page.c: Likewise.
9829 * global.c: Likewise.
9830
cf0d9408
KH
98312002-01-05 Kazu Hirata <kazu@hxi.com>
9832
9833 * combine.c: Fix formatting.
9834
bedca03a
CR
98352002-01-05 Craig Rodrigues <crodrigu@bbn.com>
9836
9837 PR middle-end/1557
9838 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
9839
0134bf2d
DE
98402002-01-05 David Edelsohn <edelsohn@gnu.org>
9841
9842 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
9843 as 1 for __powerpc64__ as well.
9844
9845 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
9846
9847 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
9848 return it.
9849
9ca88d5a
DB
98502002-01-05 Daniel Berlin <dan@dberlin.org>
9851
9852 * lcm.c: Revert change, due to performance regression it causes on
9853 SPEC because it's slightly more conservative (sigh, I hate
9854 edge-based LCM).
0d24f4d1 9855
1c570418
JH
9856Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
9857
9858 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
9859
d83bb9f7
NB
98602002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
9861
9862 * doc/cppinternals.texi: Update.
9863
3e0f61ac
HPN
98642002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
9865
9866 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
9867 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
9868 negatives.
9869 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
9870 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
9871 kludge for pre-october-14th mmix versions to handle new-found bug
9872 with PUSHJ/PUSHGO and the register stack.
9873 * config/mmix/mmix.h (struct machine_function): Rename member
9874 has_call_value_without_parameters to has_call_without_parameters.
9875 All referers changed.
9876 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
9877 TARGET_MASK_BRANCH_PREDICT): New macros.
9878 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
9879 -mno-reg-stack-fill-bug-workaround.
9880 * config/mmix/mmix.md ("call"): Set struct machine member
9881 has_call_without_parameters.
9882
4deaa2f8
JH
9883Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
9884
9885 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
9886
9f16e871
JH
9887Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
9888
9889 * cfgcleanup.c: Include tm_p.h
9890 (mark_effect): Fix handling of hard register; fix handling of SET
9891
96eb1157
KH
98922002-01-04 Kazu Hirata <kazu@hxi.com>
9893
9894 * config/h8300/h8300.md (anonymous patterns): Check that
9895 operands are registers before using REGNO on them.
9896
48180d68
RM
98972002-01-03 Roland McGrath <roland@frob.com>
9898
9899 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
9900
b0832fe1
JJ
99012002-01-04 Jakub Jelinek <jakub@redhat.com>
9902
9903 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
9904 * c-common.h (genrtl_expr_stmt_value): Likewise.
9905 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
9906 (expand_expr_stmt_value): Add maybe_last argument.
9907 Don't warn about statement with no effect if it is the last statement
9908 in expression statement.
9909 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
9910 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
9911 expand_expr_stmt_value.
9912 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
9913 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
9914 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
9915 as maybe_last to expand_expr_stmt_value.
9916
c1e14513
JL
9917Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
9918
0d24f4d1
ZW
9919 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
9920 be passed in, do not build it.
9921 (c_begin_if_stmt): New function.
9922 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
9923 * c-common.h (c_expand_start_cond): Update prototype.
9924 (c_begin_if_stmt): Prototype new function.
9925 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
9926 * c-parse.in (if_prefix): Use c_begin_if_stmt,
9927 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 9928
b6ec437a
WC
99292002-01-04 William Cohen <wcohen@redhat.com>
9930
9931 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
9932 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
9933 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
9934 * config/pa/som.h (ASM_FILE_START): Likewise.
9935
ead39bdf 99362002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
9937
9938 * lcm.c: Include df.h.
9939 Add available_transfer_function prototype.
9940 (compute_available): Rework to use iterative dataflow framework.
9941 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
9942 with bb_info in df.h
9943 (available_transfer_function): New function.
9944
9945 * Makefile.in (lcm.o): add df.h to dependencies.
9946
551cc6fd
RH
99472002-01-04 Richard Henderson <rth@redhat.com>
9948
9949 * config/alpha/alpha.c (some_operand): Accept HIGH.
9950 (input_operand): Likewise; accept simple references to globals.
9951 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
9952 (alpha_const_double_ok_for_letter_p): Likewise.
9953 (alpha_extra_constraint): Likewise.
9954 (alpha_preferred_reload_class): Likewise. Do not force
9955 symbolic constants to memory.
9956 (alpha_legitimate_address_p): Accept simple references
9957 to small_symbolic_operand.
9958 (alpha_legitimize_address): New arg scratch. Be prepared to be
9959 called when no_new_pseudos. Emit simple symbolic references.
9960 Split integers into low, high, and rest.
9961 (alpha_expand_mov): Use alpha_legitimize_address.
9962 (some_small_symbolic_mem_operand): New.
9963 (split_small_symbolic_mem_operand): New.
9964 * config/alpha/alpha-protos.h: Update.
9965 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
9966 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
9967 (EXTRA_CONSTRAINT): Likewise.
9968 (PREFERRED_RELOAD_CLASS): Likewise.
9969 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
9970 (PREDICATE_CODES): Update.
9971 * config/alpha/alpha.md: New post-reload splitters to convert
9972 simplfied symbolic operands to the form that references $29.
9973 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
9974 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
9975
1eaea054
RH
99762002-01-03 Richard Henderson <rth@redhat.com>
9977
9978 * local-alloc.c (function_invariant_p): Update commentary.
9979
c4cc12b7
L
99802002-01-04 H.J. Lu <hjl@gnu.org>
9981
9982 * toplev.c (rest_of_compilation): Fix a typo when calling
9983 cleanup_cfg.
9984
173bf5be
KH
99852002-01-03 Kazu Hirata <kazu@hxi.com>
9986
9987 * c-common.c: Fix formatting.
9988 * diagnostic.c: Likewise.
9989 * doloop.c: Likewise.
9990 * dwarf2out.c: Likewise.
9991
187462ac
KH
99922002-01-03 Kazu Hirata <kazu@hxi.com>
9993
9994 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
9995 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
9996
5d8ebbd8
NB
99972002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
9998
9999 * cpperror.c: Update comments and copyright.
10000 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
10001 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
10002
518c1311
JDA
100032002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
10004
10005 * collect2.c (main): Use strcmp when testing for "-shared".
10006
d15a58c0
NB
100072002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
10008
10009 * cppmacro.c: Don't include intl.h. Update comments.
10010 (new_number_token): Allocate enough buffer for 64-bit unsigned
10011 integers; update prototype.
10012 * cppmain.c: Update comments.
10013
70f4f91c
WC
100142002-01-03 William Cohen <wcohen@redhat.com>
10015
10016 * function.h (struct function): Add profile.
10017 (current_function_profile): New.
10018 doc/extend.texi: Update documentation.
10019 * final.c (final_start_function): Use current_function_profile
10020 instead of profile_flag.
10021 (profile_after_prologue): Likewise.
10022 * function.c (expand_function_start): Likewise.
10023 (expand_function_start): Likewise.
c4cc12b7 10024 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
10025 (alpha_does_function_need_gp): Likewise.
10026 (alpha_expand_prologue): Likewise.
10027 * config/arm/arm.c (arm_expand_prologue): Likewise.
10028 thumb_expand_prologue: Likewise.
10029 * config/d30v/d30v.c (d30v_stack_info): Likewise.
10030 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
10031 (fr30_expand_prologue): Likewise.
10032 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
10033 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
10034 * config/i386/i386.h (FINALIZE_PIC): Likewise.
10035 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
10036 * config/i960/i960.c (i960_output_function_prologue): Likewise.
10037 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
10038 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
10039 (m32r_expand_prologue): Likewise.
10040 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
10041 (m88k_expand_prologue): Likewise.
10042 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
10043 * config/mips/mips.c (compute_frame_size): Likewise.
10044 (mips_expand_prologue): Likewise.
10045 (mips_can_use_return_insn): Likewise.
10046 * config/pa/elf.h (ASM_FILE_START): Likewise.
10047 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
10048 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
10049 * config/pa/som.h (ASM_FILE_START): Likewise.
10050 * config/romp/romp.c (romp_using_r14): Likewise.
10051 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
10052 (rs6000_stack_info): Likewise.
10053 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 10054 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
10055 * config/v850/v850.c (compute_register_save_size): Likewise.
10056
cb1ac742
JJ
100572002-01-03 Jakub Jelinek <jakub@redhat.com>
10058
10059 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
10060 gen_lowpart_common fails, use gen_lowpart_SUBREG.
10061
61d951df 100622002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 10063
61d951df
TC
10064 * darwin.c (machopic_output_possible_stub_label): Don't generate
10065 stub routines for pseudo-stubs which we've just defined.
10066
505ddab6
KH
100672002-01-03 Kazu Hirata <kazu@hxi.com>
10068
10069 * builtins.c: Fix formatting.
10070 * c-typeck.c: Likewise.
10071 * combine.c: Likewise.
10072 * expr.c: Likewise.
10073 * loop.c: Likewise.
10074
b7e30d8a
AS
100752002-01-03 Andreas Schwab <schwab@suse.de>
10076
10077 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
10078 and return true if _cpp_push_next_buffer pushed a new include
10079 file.
10080 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
10081 _cpp_pop_file_buffer did not push a new file.
10082 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
10083
ff81832f
EC
100842002-01-02 Eric Christopher <echristo@redhat.com>
10085
10086 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
10087 FIND_REG_INC_NOTE call. Update copyright.
10088 * loop.c (canonicalize_condition): Ditto.
10089 * reorg.c (delete_scheduled_jump): Ditto.
10090
8e42ace1
KH
100912002-01-03 Kazu Hirata <kazu@hxi.com>
10092
10093 * gcse.c: Fix formatting.
10094
fb2bf631
GS
100952002-01-03 Graham Stott <grahams@redhat.com>
10096
10097 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
10098 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 10099 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
10100
10101 * system.h: Move forward defs for struct tags rtx_def, union_tree,
10102 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 10103 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
10104
101052002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
10106
10107 * tree.h: Update copyright date.
10108 (IS_EXPR_CODE_CLASS): Add parenthesis.
10109 (TREE_SET_CODE): Add whitespace.
10110 (TREE_CHECK): Add parenthesis.
10111 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
10112 (CST_OR_CONSTRUCTOR_CHECK):
10113 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
10114 (TREE_SYMBOL_REFERENCED): Whitespace.
10115 (INT_CST_LT): Likewise.
10116 (INT_CST_LT_UNSIGNED): Likewise.
10117 (tree_real_cst): Unwrap comment.
10118 (tree_string): Likewise.
10119 (tree_complex): Likewise.
10120 (IDENTIFIER_POINTER): correct cast.
10121 (SAVE_EXPR_CONTEXT): Whitespace.
10122 (EXPR_WFL_FILENAME_NODE): Likewise.
10123 (EXPR_WFL_FILENAME): Remove parenthesis.
10124 (DECL_ORIGIN): Add parenthesis.
10125 (DECL_FROM_INLINE): Use NULL_TREE.
10126 (build_int_2): Whitespace.
10127 (build_type_variant): Add parenthesis.
10128
10129 * gcc/jcf-parse.c: Update copyright date.
10130 (yyparse): Constify resource_filename.
10131
f52eda29
GS
101322002-01-03 Graham Stott <grahams@redhat.com>
10133
10134 * rtl.h: Update copyright date.
10135 (RTL_CHECK1): Wrap long line.
10136 (RTL_CHECK2): Likewise.
10137 (RTL_CHECKC1): Wrap long line and whitespace.
10138 (RTL_CHECKC2): Likewise.
10139 (XWINT): Whitespace.
10140 (XINT): Likewise.
10141 (XSTR): Likewise.
10142 (XEXP): Likewise.
10143 (XVEC): Likewise.
10144 (XMODE): Likewise.
10145 (XBITMAP): Likewise.
10146 (XTREE): Likewise.
10147 (XBBDEF): Likewise.
10148 (XTMPL): Likewise.
10149 (X0WINT): Likewise.
10150 (X0INT):Likewise.
10151 (X0UINT): Likewise.
10152 (X0STR): Likewise.
10153 (X0EXP): Likewise.
10154 (X0VEC): Likewise.
10155 (X0MODE): Likewise.
10156 (X0BITMAP): Likewise.
10157 (X0TREE): Likewise.
10158 (X0BBDEF): Likewise.
10159 (X0ADVFLAGS): Likewise.
10160 (X0CSELIB): Likewise.
10161 (X0MEMATTR): Likewise.
10162 (XCWINT): Likewise.
10163 (XCINT): Likewise.
10164 (XCUINT): Likewise.
10165 (XCSTR): Likewise.
10166 (XCEXP): Likewise.
10167 (XCVEC): Likewise.
10168 (XCMODE): Likewise.
10169 (XCBITMAP): Likewise.
10170 (XCTREE): Likewise.
10171 (XCBBDEF): Likewise.
10172 (XCADVFLAGS): Likewise.
10173 (XCCSELIB): Likewise.
10174 (XC2EXP): Likewise.
10175 (INSN_UID): Likewise.
10176 (PREV_INSN): Likewise.
10177 (PATTERN): Likewise.
10178 (INSN_CODE): Likewise.
10179 (PUT_REG_NOTE_KIND): Likewise.
10180 (CODE_LABEL_NUMBER): Likewise.
10181 (NOTE_SOURCE_FILE): Likewise.
10182 (NOTE_BLOCK): Likewise.
10183 (NOTE_EH_HANDLER): Likewise.
10184 (NOTE_RANGE_INFO): Likewise.
10185 (NOTE_LIVE_INFO): Likewise.
10186 (NOTE_BASIC_BLOCK): Likewise.
10187 (NOTE_EXPECTED_VALUE): Likewise.
10188 (NOTE_LINE_NUMBER): Likewise.
10189 (LABEL_NAME): Likewise.
10190 (LABEL_NUSES): Likewise.
10191 (LABEL_ALTERNATE_NAME): Likewise.
10192 (ADDRESSOF_DECL): Likewise.
10193 (JUMP_LABEL): Likewise.
10194 (LABEL_NEXTREF): Likewise.
10195 (REGNO): Likewise.
10196 (ORIGINAL_REGNO: Likewise.
10197 (HARD_REGISTER_NUM_P): Add parenthesis.
10198 (SUBREG_REG): Whitespace.
10199 (SUBREG_BYTE): Likewise.
10200 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
10201 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
10202 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
10203 (ASM_OPERANDS_INPUT_VEC): Likewise.
10204 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
10205 (ASM_OPERANDS_INPUT): Likewise.
10206 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
10207 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
10208 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
10209 (ASM_OPERANDS_INPUT_MODE): Likewise.
10210 (ASM_OPERANDS_SOURCE_FILE): Likewise.
10211 (ASM_OPERANDS_SOURCE_LINE): Likewise.
10212 (MEM_SET_IN_STRUCT_P): Minor reformat.
10213 (TRAP_CONDITION): Whitespace.
10214 (TRAP_CODE): Likewise.
10215 (COND_EXEC_TEST): Likewise.
10216 (COND_EXEC_CODE): Likewise.
10217 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
10218 (PHI_NODE_P): Add parenthesis.
10219 (plus_constant): Whitespace and add parenthesis.
10220
e03f5d43
KH
102212002-01-03 Kazu Hirata <kazu@hxi.com>
10222
10223 * config/avr/avr.c: Fix comment typos.
10224 * config/c4x/c4x.md: Likewise.
10225 * config/dsp16xx/dsp16xx.h: Likewise.
10226 * config/dsp16xx/dsp16xx.md: Likewise.
10227 * config/i386/i386.md: Likewise.
10228 * config/ia64/ia64.c: Likewise.
10229 * config/m32r/m32r.h: Likewise.
10230 * config/m68hc11/m68hc11.md: Likewise.
10231 * config/mmix/mmix.c: Likewise.
10232 * config/mn10200/mn10200.c: Likewise.
10233 * config/romp/romp.c: Likewise.
10234 * config/sh/sh.c: Likewise.
10235 * config/stormy16/stormy16.c: Likewise.
10236 * config/stormy16/stormy16.h: Likewise.
10237 * config/stormy16/stormy16.md: Likewise.
10238
97e300e9
GS
102392002-01-03 Graham Stott <grahams@redhat.com>
10240
10241 * loop.h: Update copyright date.
0d24f4d1
ZW
10242 (LOOP_MOVABLES): Fix typo.
10243 (LOOP_REGS): Likewise.
10244 (LOOP_IVS): Likewise.
ff81832f 10245
745b26b3
GS
102462002-01-03 Graham Stott <grahams@redhat.com>
10247
10248 * cppinit.c: Update copyright date.
10249 Don't include output.h
10250 * Makefile.in: Update copyright date.
10251 Update dependency.
10252
0a379b7a
CR
102532002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
10254
10255 PR c/5226
10256 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
10257 (-pthread) Add to RS/6000 options.
10258
a8154559
KH
102592002-01-02 Kazu Hirata <kazu@hxi.com>
10260
10261 * except.c: Fix comment typos.
10262 * loop.c: Likewise.
10263 * varasm.c: Likewise.
10264 * doc/tm.texi: Fix a typo.
10265
e6ecc89b
JJ
102662002-01-02 Jakub Jelinek <jakub@redhat.com>
10267
10268 * c-typeck.c (output_init_element): Allow initializing static storage
10269 duration objects with compound literals.
10270
d1094b40
RH
102712002-01-02 Richard Henderson <rth@redhat.com>
10272
10273 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
10274 after abusing it.
10275
0c5d8c82
KG
102762002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10277
5e65297b
KG
10278 * gcc.c (default_compilers): Const-ify.
10279 * mips-tdump.c (stab_names): Likewise.
10280 * mips-tfile.c (map_coff_types, map_coff_storage,
10281 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
10282 pseudo_ops_t, pseudo_ops): Likewise.
10283 * protoize.c (default_include): Likewise
10284
0c5d8c82
KG
10285 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
10286 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
10287 Add array size in declaration.
10288 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
10289 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
10290 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
10291 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
10292 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
10293 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
10294 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
10295 emtens, make_nan): Const-ify.
10296 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
10297 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
10298
817e13c4
JM
102992002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
10300
10301 * config.gcc (ia64-*-*): Set extra_headers.
10302 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
10303 * config/alpha/t-osf: Remove.
10304 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
10305
98095e2b
DE
103062002-01-02 David Edelsohn <edelsohn@gnu.org>
10307
10308 * config/rs6000/t-aix43: Revert previous change.
10309
a4200657
JM
103102002-01-02 Jason Merrill <jason@redhat.com>
10311
10312 * c-decl.c (c_expand_body): Call outlining_inline_function when
10313 emitting an inline function out of line.
10314
54ba1f0d
RH
103152002-01-02 Richard Henderson <rth@redhat.com>
10316
10317 * dwarf2out.c (limbo_die_node): Add created_for member.
10318 (new_die): New argument created_for. Update all callers.
10319 (mark_limbo_die_list): New.
10320 (dwarf2out_init): Register limbo_die_list as a root.
10321 (dwarf2out_finish): Force insert limbo dies into their function
10322 context.
10323
323728aa
NS
103242002-01-02 Nathan Sidwell <nathan@codesourcery.com>
10325
10326 PR c++/5089
10327 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
10328
aefc5826
KH
103292002-01-02 Kazu Hirata <kazu@hxi.com>
10330
10331 * config/h8300/fixunssfsi.c: Update copyright.
10332 Fix comment typos.
10333 Fix formatting.
10334 * config/h8300/h8300.c: Update copyright.
10335 Eliminate warnings.
10336
b1c9bc51
KH
103372002-01-02 Kazu Hirata <kazu@hxi.com>
10338
10339 * config/romp/romp.c: Fix comment formatting.
10340 * config/romp/romp.h: Likewise.
10341 * config/romp/romp.md: Likewise.
10342 * config/s390/s390.c: Likewise.
10343 * config/stormy16/stormy16.c: Likewise.
10344 * config/stormy16/stormy16.h: Likewise.
10345
1574ef13
AO
103462002-01-02 Alexandre Oliva <aoliva@redhat.com>
10347
10348 * c-common.h (genrtl_expr_stmt_value): Declare.
10349 * c-semantics.c (genrtl_goto_stmt): Redirect to...
10350 (genrtl_goto_stmt_value): ... this new function. Pass new
10351 argument down to expand_expr_stmt_value, taking
10352 TREE_ADDRESSABLE into account.
10353 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
10354 STMT_EXPR as addressable, i.e., one whose result we want.
10355 * expr.c (expand_expr): Don't save expression statement value
10356 of labeled_blocks or loop_exprs.
10357 * stmt.c (expand_expr_stmt): Redirect to...
10358 (expand_expr_stmt_value): ... this new function. Use new
10359 argument to tell whether to save expression value.
10360 (expand_end_stmt_expr): Reset last_expr_type and
10361 last_expr_value if we don't have either.
10362 * tree-inline.c (declare_return_variable): Mark its use
10363 statement as addressable.
10364 * tree.h: Document new use of TREE_ADDRESSABLE.
10365 (expand_expr_stmt_value): Declare.
10366
252b88f7
TR
103672002-01-01 Tom Rix <trix@redhat.com>
10368
10369 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
10370 rs6000_emit_allocate_stack.
10371
29f7a208
JM
103722002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
10373
10374 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
10375 ${srcdir}/ginclude/ to every entry in extra_headers.
10376 * configure: Regenerate.
10377 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
10378 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
10379 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
10380 * ginclude/proto.h: Rename to config/convex/proto.h.
10381
2cc2d4bb
RK
10382Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10383
10384 * attribs.c (handle_vector_size_attribute): Use host_integerp
10385 and tree_int_cst; remove warnings.
10386 * caller-save.c (insert_restore): Add cast to get rid of warning.
10387 (insert_save): Likewise.
10388 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
10389 * regmove.c (find_matches): Add temporary var to kill a warning.
10390
f01c9bcd
DR
103912002-01-01 Douglas B Rupp <rupp@gnat.com>
10392
16b61764
DR
10393 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
10394 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
10395 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
10396 (vms-dwarf2eh.o): Add Makefile rule.
10397 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
10398 * config/alpha/vms-dwarf2eh.asm: New file.
10399
f01c9bcd
DR
10400 * gcc.c (delete_if_ordinary): Delete all versions.
10401
91312b81
HPN
104022002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
10403
10404 * config/mmix/mmix.md: Update FIXME to not mention
10405 define_constants.
10406 (MMIX_rJ_REGNUM): New define_constants constant.
10407 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
10408 "*movdicc_real"): Adjust contraints formatting.
10409 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
10410 for branch prediction.
10411 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
10412 output template.
10413 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
10414 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
10415 number. Delete related FIXMEs.
10416 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
10417 from number to MMIX_rJ_REGNUM.
10418 (TARGET_MASK_BRANCH_PREDICT): New.
10419 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
10420 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
10421 value. Add -mbranch-predict and -mno-branch-predict.
10422 (TARGET_VERSION): Drop date.
10423 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
10424 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
10425 for finding out global symbols.
10426 (mmix_asm_output_labelref): Revert condition for global symbol.
10427 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
10428 (mmix_print_operand_punct_valid_p): A '+' is valid.
10429
619acae7 10430See ChangeLog.6 for earlier changes.