]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
md.texi (Patterns): Note pattern condition pitfall for unnamed insn.
[gcc.git] / gcc / ChangeLog
CommitLineData
fde6d81f
HPN
12002-05-29 Hans-Peter Nilsson <hp@axis.com>
2
3 * doc/md.texi (Patterns): Note pattern condition pitfall
4 for unnamed insn.
5
92898235
AH
62002-05-29 Aldy Hernandez <aldyh@redhat.com>
7
8 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
9 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
10 ternary operations from here...
11 (rs6000_expand_builtin): ...to here.
12 New argument expandedp.
13 Change all instances of altivec_expand_binop_builtin to
14 rs6000_expand_binop_builtin.
15 (altivec_expand_unop_builtin): Rename to
16 rs6000_expand_unop_builtin.
17 (altivec_expand_binop_builtin): Rename to
18 rs6000_expand_binop_builtin.
19 (altivec_expand_ternop_builtin): Rename to
20 rs6000_expand_ternop_builtin.
21
67adf6a9
RH
222002-05-29 Richard Henderson <rth@redhat.com>
23
24 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
25 (TARGET_BI_ARCH): Likewise.
26 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
27 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
28 (TARGET_64BIT_DEFAULT): Default to 0.
29 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
30
145aacc2
RH
312002-05-29 Richard Henderson <rth@redhat.com>
32
33 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
34 (get_pc_thunk_name): New.
35 (output_set_got): Use it.
36 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
37 into linkonce sections.
38
a5b49bbc
JT
392002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
40
41 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
42 (CPP_PREDEFINES): Make sure this is undefined.
43 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
44 (CPP_SUBTARGET_SPEC): Don't provide different versions for
45 default-32 and default-64. Just always use %(netbsd_cpp_spec).
46 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
47 cpp_subtarget_spec64. Add netbsd_cpp_spec.
48 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
49 (CPP_PREDEFINES): Make sure this is undefined.
50 (SUBTARGET_EXTRA_SPECS): Define.
51 (CPP_SPEC): Use %(netbsd_cpp_spec).
52
54374491
JL
532002-05-29 Jeff Law <law@redhat.com>
54
b862c2aa
JL
55 * flow.c (propagate_one_insn): Do not remove a dead insn if it
56 contains a REG_RETVAL note.
57
d10791ba
JL
58 * haifa-sched (sched_analyze): Remove another useless clearing
59 of SCHED_GROUP_P I missed yesterday.
60
54374491
JL
61 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
62 * pa.c (pa_asm_output_mi_thunk): New function.
63 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
64
92c392e6
NB
652002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
66 Marek Michalkiewicz <marekm@amelek.gda.pl>
67
68 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
69 (avr_asm_only_p): Make non-static.
70 (enum avr_arch): Remove.
71 (avr_arch_types): New.
72 (avr_mcu_types): Update.
73 (avr_override_options): Use avr_arch_types table instead of switch.
74 * avr.h (CPP_PREDEFINES): Die.
75 (avr_base_arch_macro, avr_extra_arch_macro): New.
76 (TARGET_CPU_CPP_BUILTINS): New.
77 (CPP_SPEC, EXTRA_SPECS): Simplify.
78 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
79 CPP_AVR5_SPEC): Die.
80
4528173e
JT
812002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
82
83 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
84 NETBSD_OS_CPP_BUILTINS_AOUT.
85 (SUBTARGET_EXTRA_SPECS): Define.
86 (CPP_SPEC): Use %(netbsd_cpp_spec).
87
bd09bdeb
RH
882002-05-29 Richard Henderson <rth@redhat.com>
89
90 * config/i386/i386.c (ix86_output_function_epilogue): New.
91 (TARGET_ASM_FUNCTION_EPILOGUE): New.
92 (pic_label_name): Remove.
93 (pic_labels_used): New.
94 (ix86_asm_file_end): Emit one pc load stub for each register used.
95 (output_set_got): Generate deep pc load to any register.
96 (ix86_select_alt_pic_regnum): New.
97 (ix86_save_reg): Don't save pic register if we can find a valid
98 call-clobbered replacement.
99 (ix86_expand_prologue): If we found a valid replacement, renumber
100 pic_offset_table_rtx.
101 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
102 pic_offset_table_rtx after reload.
103 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
104 * config/i386/i386.md (set_got): Make insn, not expander.
105 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
106
002ff5bc
RH
1072002-05-29 Richard Henderson <rth@redhat.com>
108
109 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
110 alignment for alloca.
111
edfe8595
RH
1122002-05-29 Richard Henderson <rth@redhat.com>
113
114 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
115 (print_operand_address): Only add rip for symbolic addresses
116 for which we do not have another relocation type.
117
cd7714ee
JT
1182002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
119
120 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
121 (EXTRA_SPECS): Add netbsd_cpp_spec.
122 (CPP_SPEC): Use %(netbsd_cpp_spec).
123 (CPP_PREDEFINES): Remove.
124 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
125 (EXTRA_SPECS): Define.
126 (CPP_SPEC): Use %(netbsd_cpp_spec).
127 (CPP_PREDEFINES): Remove.
128
8dc901de
NB
1292002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
130
131 PR preprocessor/6844
132 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
133 NUL.
134
2274b31a
EC
1352002-05-29 Eric Christopher <echristo@redhat.com>
136
137 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
138 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
139
5c7666c1
NC
1402002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
141
142 * config/fr30/fr30.md: Remove previous restriction on splits.
143 Enforce conformance through gen_lowpart and cont_int_operand.
144 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
145 as the assembler does not support ".bss".
146
45beef47
JT
1472002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
148
149 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
150 (CPP_PREDEFINES): Remove.
151 (SUBTARGET_EXTRA_SPECS): Define.
152 (CPP_SPEC): Use %(netbsd_cpp_spec).
153 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
154 (CPP_PREDEFINES): Remove.
155 (SUBTARGET_EXTRA_SPECS): Define.
156 (CPP_SPEC): Use %(netbsd_cpp_spec).
157 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
158 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
159 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
160 Add netbsd_cpp_spec.
161 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
162
cd7ab83f
NB
1632002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
164 Zack Weinberg <zack@codesourcery.com>
165
166 * cppexp.c (cpp_num): Move to cpplib.h.
167 (CPP_ERROR): Remove.
168 (interpret_float_suffix, interpret_int_suffix): New.
169 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
170 (cpp_classify_number, cpp_interpret_integer): New.
171 (interpret_number): Remove.
172 (eval_token): Update to use new routines.
173 * cpphash.h (cpp_num_part): Move to cpplib.h.
174 * cppinit.c (cpp_post_options): Set warn_long_long.
175 * cpplib.h (struct cpp_options): Add warn_long_long.
176 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
177 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
178 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
179 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
180 cpp_interpret_integer): New.
181
61a8515c
JS
1822002-05-29 Joel Sherrill <joel@OARcorp.com>
183
184 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
185
53a428b5
JT
1862002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
187
188 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
2274b31a
EC
189 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
190 (CPP_SUBTARGET_SPEC): Define.
191 (SUBTARGET_EXTRA_SPECS): Define.
53a428b5
JT
192 (CPP_SPEC): Remove.
193
45b1f7c7
CL
1942002-05-29 Chris Lattner <sabre@nondot.org>
195
196 * ssa.c (rename_insn_1): Rename uses of undefined registers to
197 prevent confusion if/when the register is defined.
198
049746c2
HPN
1992002-05-29 Hans-Peter Nilsson <hp@axis.com>
200
201 PR target/6838
202 * config/cris/cris.md: Fix typos and thinkos in comments.
203 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
204 second alternative.
205 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
206 ("*mov_sideqi_mem"): Similar, but for operand 3.
207 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
208 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
209 Remove spurious mode specifier on operand 2.
210
4d4d89e2
KH
2112002-05-29 Kazu Hirata <kazu@cs.umass.edu>
212
213 * config/h8300/h8300-protos.h: Remove the prototype for
214 o_operand.
215 Add prototypes for single_one_operand and single_zero_operand.
216 * config/h8300/h8300.c (o_operand): Remove.
217 (single_one_operand): New.
218 (single_zero_operand): Likewise.
219 (print_operand): For 'V' operand, and the operand with 0xff.
220 For 'V' and 'W' operands, do not and the bit position with 7.
221 * config/h8300/h8300.md (various anonymous patterns): Replace
222 use of exact_log2 with single_one_operand/single_zero_operand.
223
abd6ddec
UW
2242002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
225
226 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
227
da06d85a
UW
2282002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
229
230 * config/s390/s390.c (legitimate_pic_operand_p): Do not
231 accept symbolic LARL operands.
2274b31a 232 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
da06d85a 233 epilogue insns.
2274b31a 234
f8766020
HP
2352002-05-29 Hartmut Penner <hpenner@de.ibm.com>
236
237 * config/s390/s390.md (cmpstr_64/31): Mark whole
2274b31a 238 input registers as used.
f8766020 239
66edd3b4
RH
2402002-05-28 Richard Henderson <rth@redhat.com>
241
242 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
243 not current_function_uses_pic_offset_table and
244 current_function_uses_const_pool; examine current_function_profile.
245 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
246 input to blockage if needed.
247 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
248 (legitimize_pic_address): Likewise. Set regs_ever_live for
249 pic_offset_table_rtx when invoked during reload.
250 * config/i386/i386.h (FINALIZE_PIC): Remove.
251 * config/i386/i386.md (tablejump): Reformat. Do not set
252 current_function_uses_pic_offset_table.
253 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
254 (blockage): Accept anything as operand 0.
255
52f4fff6
JT
2562002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
257
258 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
259 common CPP built-ins for all NetBSD a.out targets.
260 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
261 common CPP built-ins for all NetBSD ELF targets.
262 * config/netbsd.h: Add missing notice.
263 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
264 for all NetBSD targets.
265 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
266 for all NetBSD targets using an LP64 code model.
267 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
268 NetBSD targets.
269
e0e577a2
RH
2702002-05-28 Richard Henderson <rth@redhat.com>
271
272 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
273 update if UPDATE_LIFE_LOCAL.
274
2752002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
62526ec3
TM
276
277 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
278
f1a58d92
R
279Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
280 Jason R. Thorpe <thorpej@wasabisystems.com>
281
282 config/sh reorganization to factor out endianness and coff:
283
284 * config/sh/little.h: New file.
285 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
286 defined, define to 0 to select big-endian.
287 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
288 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
289 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
290 * config/sh/t-be: New file.
291 * config/sh/t-le: New file.
292
293 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
294 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
295 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
296 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
297 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
298 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
299 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
300 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
301 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
302 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
303 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
304 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
305 (LINK_SPEC): Define to SH_LINK_SPEC.
306 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
307 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
308 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
309 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
310 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
311 * config/sh/coff.h: New file.
312 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
313 (TARGET_OBJFMT_CPP_BUILTINS): Define.
314 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
315 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
316 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
317 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
318 (PTRDIFF_TYPE): Likewise.
319 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
320 (CPP_PREDEFINES): Don't define.
321 (TARGET_OBJFMT_CPP_BUILTINS): Define.
322 (LINK_SPEC): Define to SH_LINK_SPEC.
323 (LINK_EMUL_PREFIX): Redefine.
324 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
325 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
326 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
327 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
328 (TARGET_OS_CPP_BUILTINS): Define.
329 (TARGET_DEFAULT): Redefine.
330 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
331 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
332 (LINK_SPEC): Don't redefine.
333 (LINK_DEFAULT_CPU_EMUL): Redefine.
334 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
335 * sh.c (sh_asm_named_section): Don't declare / define.
336 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
337 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
338 (sh64-*-elf* tm_file): Likewise.
339 (sh-*-rtemself* tm_file): Likewise.
340 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
341 (sh-*-linux* tmake_file): Add sh/t-le.
342 (sh-*-rtems* tm_file): Add sh/coff.h
343 (sh-*-* tm_file): Likewise.
344
345Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
346
347 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
348 CONSTANT_POOL_ADDRESS_P.
349
350 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
351
d10791ba 3522002-05-28 David Edelsohn <edelsohn@gnu.org>
33a3dfc4
DE
353 Jeff Law <law@redhat.com>
354
64de6c0a
DE
355 * optabs.c (expand_binop): Fix nwords sign warnings.
356 generate pseudo for add_optab.
357
33a3dfc4
DE
358 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
359 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
360
972957ba 3612002-05-28 Marc Espie <espie@openbsd.org>
33a3dfc4 362
2274b31a 363 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
972957ba
ME
364 inherited from gas.h.
365 (ASM_QUAD): Undef. OpenBSD does not support it.
366
cc92b8ab
DS
3672002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
368
369 * doc/install.texi (binaries): Change mingw binaries
370 link to www.mingw.org.
371
f8088d55
ZD
3722002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
373
374 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
375
0b7ae565
RH
3762002-05-28 Richard Henderson <rth@redhat.com>
377
378 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
379 bottom alignment for leaf functions.
380
16069d69
ZW
3812002-05-28 Zack Weinberg <zack@codesourcery.com>
382
383 * config/pa/milli32.S, config/pa/lib1funcs.asm,
384 config/sparc/sol2-g1.asm: Delete unused files.
385
04653686
RH
3862002-05-28 Richard Henderson <rth@redhat.com>
387
388 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
389
f3ea5f6a
RH
390 * flow.c (calculate_global_regs_live): Rename call_used to
391 invalidated_by_call. Initialize from regs_invalidated_by_call
392 instead of call_used_regs.
393
923c7cdf
RH
394 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
395 DECL_EXTERNAL.
396
11ad4784
ZW
3972002-05-28 Zack Weinberg <zack@codesourcery.com>
398
399 * tree.h: Forward-declare struct realvaluetype.
400 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
401 contain it.
402 (TREE_REAL_CST_PTR): New accessor.
403 (TREE_REAL_CST): Update.
404 * real.h: Include machmode.h.
2274b31a 405 (realvaluetype): Make it struct realvaluetype, not a typedef.
11ad4784
ZW
406 (build_real): Prototype here.
407
408 * tree.c: Include real.h.
2274b31a
EC
409 (build_real): Allocate the REAL_VALUE_TYPE as a separate
410 object in GC memory, set TREE_REAL_CST_PTR to point to it.
11ad4784
ZW
411 (build_real_from_int_cst): Use build_real.
412 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
413 REAL_CST.
414
415 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
416 fold-const.c, print-tree.c, real.c: Include real.h.
417 * Makefile.in: Update dependency lists.
418
bf77398c
ZD
4192002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
420
421 * basic-block.h (last_basic_block): Declare.
422 (expunge_block_nocompact): Declaration removed.
423 (compact_blocks): Declare.
424 * cfg.c (last_basic_block): New variable.
425 (expunge_block_nocompact): Removed.
426 (expunge_block): Do not compact basic blocks.
427 (compact_blocks): New.
428 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
429 longer change.
430 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
431 last_basic_block.
432 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
433 real positions of blocks.
434 (delete_unreachable_blocks): Simplified -- quadratic behavior now
435 cannot occur.
436 (cleanup_cfg): Compact blocks.
437 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
438 basic_block_info varray.
439 (flow_delete_block): Comment update.
440 (back_edge_of_syntactic_loop_p): Modify position check code.
441 (verify_flow_info): Update checking.
442 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
443 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
444 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
445 indices no longer change.
446 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
447 last_basic_block.
448 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
449 * profile.c (branch_prob): Compact blocks.
450 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
451 last_basic_block.
452
ae12a094
KH
4532002-05-28 Kazu Hirata <kazu@cs.umass.edu>
454
455 * config/h8300/h8300.md (two anonymous patterns): New.
456
c6172f14
DM
4572002-05-28 David S. Miller <davem@redhat.com>
458
459 * config/sparc/sparc.md (cpu): Tidy.
460 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
461 'trap'.
462 (in_call_delay): Delete reference to 'return' type.
463 (eligible_for_return_delay, in_return_delay, define_delay
464 referencing those): Delete.
465 (rest of file): Use new type attributes as appropriate.
466 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
467 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
468 * config/sparc/ultra1_2.md (us1_single): New reservation.
469 (us1_ialuX): Likewise.
470 * config/sparc/ultra3.md (us3_single): Likewise.
471 (us3_ialuX): Likewise.
472 (us3_imul, us3_idiv): Tweak.
2274b31a 473
34a6c2ec
RH
4742002-05-28 Richard Henderson <rth@redhat.com>
475
476 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
477 STRING_CST.
478
9c075570
RH
4792002-05-28 Richard Henderson <rth@redhat.com>
480
481 * config.gcc: Obsolete mn10200.
482
359b0bec
NB
4832002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
484
485 * cppexp.c (interpret_number): Optimize for single-digit
486 and less-than-half-precision cases.
487 (num_trim, num_positive, num_div_op): Cast constants.
488
4075db8f
BT
4892002-05-27 Bo Thorsen <bo@suse.de>
490
491 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
492 3.1 branch. The file was made by Jakub Jelinek.
493 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
494 support so multilib doesn't break. And don't define this at all
495 when -Dinhibit_libc is used.
496 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
497 * config/i386/t-linux64: Implement full multilib support. Patch
498 originally done by Andreas Jaeger and Jakub Jelinek.
499
39f2f3c8
RS
5002002-05-27 Roger Sayle <roger@eyesopen.com>
501
502 * c-common.c: Add support for __attribute__((nothrow)) to specify
503 that a function cannot throw an exception (using TREE_NOTHROW).
504 (handle_nothrow_attribute): New function to process this attribute.
505
506 * doc/extend.texi: Document the new nothrow function attribute.
507
d51b0053
L
5082002-05-27 H.J. Lu (hjl@gnu.org)
509
510 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
511 (num_positive): Likewise.
512 (num_div_op): Likewise.
513
630363b4
NB
5142002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
515
516 * c-common.c (c_common_init): Always use intmax_t.
517
d94cde01
NB
5182002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
519
520 * c-common.c (c_common_init): Use intmax_t for now.
521
57f851a3
AH
5222002-05-24 Andrew Haley <aph@redhat.com>
523
524 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
525 if T is a boolean type.
526
d55bc081
ZD
5272002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
528
529 * basic-block.h (last_basic_block): Defined as synonym for
530 n_basic_blocks.
531 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
532 flow_depth_first_order_compute, flow_preorder_transversal_compute,
533 flow_dfs_compute_reverse_init): Replaced relevant occurences of
534 n_basic_blocks with last_basic_block.
535 * cfgbuild.c (make_edges): Likewise.
536 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
537 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
538 * combine.c (combine_instructions): Likewise.
539 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
540 iterative_dataflow_bitmap): Likewise.
541 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
542 calc_idoms, idoms_to_doms): Likewise.
543 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
544 Likewise.
545 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
546 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
547 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
548 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
549 delete_null_pointer_checks, compute_code_hoist_vbeinout,
550 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
551 compute_store_table, build_store_vectors): Likewise.
552 * haifa-sched.c (sched_init): Likewise.
553 * ifcvt.c (if_convert): Likewise.
554 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
555 pre_edge_lcm, compute_available, compute_nearerout,
556 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
557 Likewise.
558 * predict.c (estimate_probability, process_note_prediction,
559 note_prediction_to_br_prob): Likewise.
560 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
561 * recog.c (split_all_insns, peephole2_optimize): Likewise.
562 * regrename.c (copyprop_hardreg_forward): Likewise.
563 * resource.c (init_resource_info): Likewise.
564 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
565 init_regions, schedule_insns): Likewise.
566 * ssa-ccp.c (ssa_const_prop): Likewise.
567 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
568 * ssa.c (compute_dominance_frontiers,
569 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
570
571 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
572 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
573 sizes consistently.
574
71d2c5bd
JH
575Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
576
577 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
578 new.
579 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
580 hoist_insn_after, hoist_insn_to_edge): New.
581
5149f070
JH
582Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
583
584 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
585 (PROP_FINAL): Include.
586 * flow.c (life_analysis, update_life_info,
587 init_propagate_block_info, mark_set_1, mark_used_rgs):
588 Support SCAN_DEAD_STORE.
589
c9220e3a
NB
5902002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
591
592 * c-common.c (c_common_init): Set CPP arithmetic precision.
593 * cppexp.c (cpp_num_part): Move typedef ...
594 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
595 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
596 (sanity_checks): Update.
597
e34a3d31
GK
5982002-05-26 Geoffrey Keating <geoffk@redhat.com>
599
600 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
601 (mkheaders): New rule.
602 (install-mkheaders): New rule.
603 * configure.in (all_outputs): Add mkheaders.
604 * configure: Regenerate.
605 * mkheaders.in: New file.
606
9059e33c
JJ
6072002-05-26 Jakub Jelinek <jakub@redhat.com>
608
609 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
610
291cc0fe
AJ
6112002-05-26 Andreas Jaeger <aj@suse.de>
612
613 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
614
91318908
NB
6152002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
616
617 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
618 right_shift): Remove.
619 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
620 HIGH_PART): New.
621 (struct op): Use cpp_num.
622 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
623 num_part_mul, num_unary_op, num_binary_op, num_negate,
624 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
625 num_div_op, num_lshift, num_rshift, append_digit): New.
626 (interpret_number, parse_defined, eval_token, reduce): Update
627 for two-integer arithmetic.
628 (binary_handler): New typedef.
629 (optab): Update.
630 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
631 (_cpp_parse_expr, reduce): Update to handle two-integers.
632 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
633
331ca350
MM
6342002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
635
636 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
637 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
638 branch insn into account, do not assume 1.
639 (avr_out_sbxx_branch): New function. Optimize cases of skipping
640 over single word insn. Handle upper half of I/O space too.
641 * config/avr/avr.md (*sbrx_branch): Use it.
642 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
643 (*sbix_branch, *sbix_branch_bit7): Likewise.
644 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
645 Use RTL peepholes to optimize register operand sign tests.
646
bcb6a2be
MM
6472002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
648
649 * config/avr/avr.c (avr_asm_only_p): New variable.
650 (avr_override_options): Set it here if AVR1.
651 (asm_file_start): Test it here, report an error if set.
652
ca7fd9cd
KH
6532002-05-26 Kazu Hirata <kazu@cs.umass.edu>
654
655 * alias.c: Fix formatting.
656 * attribs.c: Likewise.
657 * bb-reorder.c: Likewise.
658 * bitmap.c: Likewise.
659 * bitmap.h: Likewise.
660 * builtins.c: Likewise.
661
a65dc37d
JH
662Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
663
664 * reload.c (find_valid_class): Accept new argument DEST,
665 choose class accordingly.
666 (push_reload): Update callers.
667
9b89393b
AJ
6682002-05-26 Andreas Jaeger <aj@suse.de>
669
670 * combine.c (combine_instructions): Do not indent #if for
671 traditional C.
672
b53bb376
RH
6732002-05-25 Richard Henderson <rth@redhat.com>
674
675 * c-pragma.c (apply_pragma_weak): Convert value identifier to
676 string for decl_attributes.
677 (handle_pragma_weak): Call assemble_alias if we're modifying
678 an existing decl.
679
e133041b
RH
6802002-05-25 Richard Henderson <rth@redhat.com>
681
682 PR target/6788
683 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
684 using rtl instead of fprintf.
685 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
686 * config/sparc/sparc-protos.h: Update.
687
81a75f0f
NB
6882002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
689
690 * Makefile.in (C_COMMON_H): Fix.
691 Update other targets.
692 * c-common.c: Don't include c-lex.h.
693 (builtin_define_with_value): Make static and prototype.
694 (builtin_define_std): Move from c-lex.h.
695 * c-common.h (init_c_lex): Move from c-lex.h.
696 * c-decl.c: Don't include c-lex.h.
697 (make_pointer_declarator): Move from c-parse.in.
698 * c-lex.c: Don't include c-lex.h.
699 * c-lex.h: Remove.
700 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
701 (make_pointer_declarator): Move to c-decl.c.
702 * c-pragma.c: Don't include c-lex.h.
703 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
704 * c-tree.h (make_pointer_declarator): New.
705doc:
706 * passes.texi, tm.texi: Update.
707objc:
708 * Make-lang.in: Update and correct.
709 * objc-act.c: Don't include c-lex.h or cpplib.h.
710treelang:
711 * treetree.c: Don't include c-lex.h.
712config:
713 * darwin-c.c: Don't include c-lex.h.
714 * c4x/c4x-c.c: Don't include c-lex.h.
715 * c4x/t-c4x: Update.
716 * i370/i370-c.c: Don't include c-lex.h.
717 * i370/t-i370: Update.
718 * i960/i960-c.c: Don't include c-lex.h.
719 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
720 * i960/t-960bare: Update.
721 * i960/t-vxworks: Update.
722 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
723 * rs6000/t-darwin: Update.
724 * rs6000/t-rs6000-c-rule: Update.
725 * v850/v850-c.c: Don't include c-lex.h.
726 * v850/v850.c: Don't include c-lex.h or cpplib.h.
727
728
04d2be8e
KH
7292002-05-25 Kazu Hirata <kazu@cs.umass.edu>
730
731 * tree.def: Fix typos.
732 * doc/install.texi: Likewise.
733
7b6e506e
RH
7342002-05-25 Richard Henderson <rth@redhat.com>
735
736 * configure.in (HAVE_AS_TLS): Add ia64 test.
737 * configure: Rebuild.
738 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
739 (override_options): Set it.
740 (TARGET_HAVE_TLS): New.
741 (sdata_symbolic_operand): Look for 's'.
742 (tls_symbolic_operand): New.
743 (ia64_expand_load_address): Abort for tls symbols.
744 (gen_tls_get_addr): New.
745 (gen_thread_pointer): New.
746 (ia64_expand_move): Split out from movdi. Handle tls symbols.
747 (rtx_needs_barrier): Add new unspecs.
748 (ia64_encode_section_info): Handle tls symbols.
749 (ia64_strip_name_encoding): Strip two encoding chars.
750 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
751 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
752 (TARGET_OPTIONS): Add tls-size.
753 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
754 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
755 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
756 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
757 (movsf, movdf): Likewise.
758 (movdi_symbolic): Use match_scratch. Don't split if we won't
759 have a scratch availiable.
760 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
761 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
762 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
763 * config/ia64/ia64-protos.h: Update.
764 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
765 sdata_symbolic_operand.
766 (ASM_OUTPUT_LABELREF): Strip two characters.
767
8c1d52a3
KH
7682002-05-25 Kazu Hirata <kazu@cs.umass.edu>
769
770 * combine.c (simplify_set): Remove an unnecessary subreg.
771
b47cae3d
MM
7722002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
773
774 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
775
776 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
777
ce9e3a6d
GDR
7782002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
779
780 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
781
fb2c6841
RS
7822002-05-25 Roger Sayle <roger@eyesopen.com>
783
784 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
785 (cond (compare x y) 0) into the equivalent (cond x y).
786
da7ac8f1
GDR
7872002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
788
789 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
790
c7bdf0a6
ZW
7912002-05-24 Zack Weinberg <zack@codesourcery.com>
792
793 * config.gcc: Remove all stanzas for previously obsoleted
794 systems. Where necessary, add explicit error stanzas to
795 prevent removed systems from being misidentified as something
796 else. Begin a fresh obsoletions list, with the systems that
797 were reprieved last round.
798 * doc/install.texi: Remove all mention of dead targets.
799 * fixinc/mkfixinc.sh: Likewise.
800
801 * config/arm/arm.h: Bit 31 of target_flags is no longer
802 reserved.
803
804 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
805 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
806 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
807 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
808 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
809 config/alpha/osf12.h, config/alpha/osf2or3.h,
810 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
811 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
812 config/clipper/clipper-protos.h, config/clipper/clipper.c,
813 config/clipper/clipper.h, config/clipper/clipper.md,
814 config/clipper/clix.h, config/convex/convex-protos.h,
815 config/convex/convex.c, config/convex/convex.h,
816 config/convex/convex.md, config/convex/fixinc.convex,
817 config/convex/proto.h, config/elxsi/elxsi-protos.h,
818 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
819 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
820 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
821 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
822 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
823 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
824 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
825 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
826 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
827 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
828 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
829 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
830 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
831 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
832 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
833 config/m68k/altos3068.h, config/m68k/apollo68.h,
834 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
835 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
836 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
837 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
838 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
839 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
840 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
841 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
842 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
843 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
844 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
845 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
846 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
847 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
848 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
849 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
850 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
851 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
852 config/mips/dec-osf1.h, config/mips/elflorion.h,
853 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
854 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
855 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
856 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
857 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
858 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
859 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
860 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
861 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
862 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
863 config/ns32k/sequent.h, config/ns32k/tek6000.h,
864 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
865 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
866 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
867 config/sparc/rtems.h, config/we32k/we32k-protos.h,
868 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
869 Delete file.
870
755ac5d4
RH
8712002-05-24 Richard Henderson <rth@redhat.com>
872
873 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
874 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
875 * config/i386/i386.c (tls_model_chars): Add leading space.
876 (tls_symbolic_operand): Don't bias by 1.
877 (legitimize_address): Don't unbias by 1.
878
c429f12e
TM
8792002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
880
881 * lcm.c (optimize_mode_switching): Change bb used as indices
882 to bb->index.
883
8beda321
RH
8842002-05-24 Richard Henderson <rth@redhat.com>
885
886 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
887 of update_life_info_in_dirty_blocks.
888
90442291
JJ
8892002-05-24 Jakub Jelinek <jakub@redhat.com>
890
891 PR other/6782
892 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
893
3620711b
NB
8942002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
895
896 PR preprocessor/6780
897 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
898
2f8d482e
JB
8992002-05-24 Jim Blandy <jimb@redhat.com>
900
901 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
902 entry with a type code of zero, marking the end of the compilation
903 unit's macro info.
904
95bfe95f
RH
9052002-05-24 Richard Henderson <rth@redhat.com>
906
c7bdf0a6
ZW
907 * varasm.c (asm_output_bss): Always output one byte.
908 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
95bfe95f 909
7efda054
BM
9102002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
911
912 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
913 namespace.
914
8a951190
AJ
9152002-05-24 Andreas Jaeger <aj@suse.de>
916
917 * ggc-page.c (alloc_page): Cast variables of type size_t to
918 unsigned long, adjust printf format string.
919 (ggc_alloc): Likewise.
920 (ggc_print_statistics): Likewise.
921 (ggc_print_statistics): Correct printf format string for SCALE to
922 use unsigned long.
923
f29e2ec0
DS
9242002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
925
926 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
927
211a0cbe 9282002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
c7bdf0a6 929 Zack Weinberg <zack@codesourcery.com>
211a0cbe
GDR
930
931 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
932 quoted strings.
933 * dwarf2out.c (lookup_filename): Properly quote filename in .file
8a951190 934 directive in assembly file.
211a0cbe
GDR
935 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
936 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
937 * config/pj/pj.h (ASM_FILE_START): Likewise.
938 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
939 * config/avr/avr.c (asm_file_end): Likewise.
940 * toplev.c (output_quoted_string): Handle possibly signed plain
8a951190 941 char.
211a0cbe
GDR
942 * toplev.h (output_clean_symbol_name): Declare
943 * toplev.c (output_clean_symbol_name): Define.
944 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
945 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
946
2f0552b6
AM
9472002-05-24 Alan Modra <amodra@bigpond.net.au>
948
949 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
950
b326b2c1
VM
9512002-05-23 Vladimir Makarov <vmakarov@redhat.com>
952
953 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
954 of size of unsigned.
955
f996902d
RH
9562002-05-23 Richard Henderson <rth@redhat.com>
957
958 * configure.in (HAVE_AS_TLS): New test.
959 * config.in, configure: Rebuild.
960 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
961 (ix86_tls_dialect_string, ix86_tls_dialect): New.
962 (override_options): Set it.
963 (tls_model_chars, tls_symbolic_operand): New.
964 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
965 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
966 (local_exec_symbolic_operand): New.
967 (get_pic_label_name): Merge into output_set_got.
968 (ix86_asm_file_end): Emit pic_label_name if defined.
969 (legitimate_constant_p, constant_address_p): New.
970 (legitimate_pic_operand_p): New.
971 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
972 (legitimate_address_p): Likewise.
973 (ix86_encode_section_info): Rename from i386_; handle tls decls.
974 (ix86_strip_name_encoding): New.
975 (get_thread_pointer): New.
976 (legitimize_address): Handle tls symbols.
977 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
978 Remove UNSPEC_PLT.
979 (struct machine_function): Add some_ld_name.
980 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
981 (print_operand) [&]: Use it. Handle UNSPEC_TP.
982 (output_addr_const_extra): New.
983 (maybe_get_pool_constant): New.
984 (ix86_split_to_parts): Use it.
985 (ix86_expand_move): Handle tls symbols.
986 (ix86_tls_get_addr): New.
987 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
988 (TARGET_OPTIONS): Add tls-dialect.
989 (CONSTANT_ADDRESS_P): Use new out-of-line function.
990 (LEGITIMATE_CONSTANT_P): Likewise.
991 (LEGITIMATE_PIC_OPERAND_P): Likewise.
992 (TARGET_STRIP_NAME_ENCODING): New.
993 (ASM_OUTPUT_LABELREF): New.
994 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
995 (OUTPUT_ADDR_CONST_EXTRA): New.
996 (PREDICATE_CODES): Update.
997 (ix86_tls_dialect, ix86_tls_dialect_string): New.
998 * config/i386/i386.md: Regroup and renumber unspec constants.
999 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
1000 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
1001 (tls_global_dynamic, tls_local_dynamic_base): New.
1002 (tls_local_dynamic_once): New.
1003 * config/i386/i386-protos.h: Update.
1004
821e35ba
RH
10052002-05-23 Richard Henderson <rth@redhat.com>
1006
1007 * genemit.c (gen_insn): Print file:lineno comment before function.
1008 (main): likewise.
1009 * gensupport.c (struct queue_elem): Add filename member.
1010 (queue_pattern): Initialize it; update all callers.
1011 (process_include): Don't free filename.
1012 (read_md_rtx): Set read_rtx_filename.
1013
0f1ffa23 10142002-05-23 Hans Boehm <Hans_Boehm@hp.com>
821e35ba
RH
1015
1016 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
0f1ffa23 1017
8e9fadc3
RH
10182002-05-23 Richard Henderson <rth@redhat.com>
1019
1020 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
1021
244c2241
RH
10222002-05-23 Richard Henderson <rth@redhat.com>
1023
1024 * doc/extend.texi (C++98 Thread-Local Edits): Update with
1025 commentary from Mark.
1026
e0082a72
ZD
10272002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1028
1029 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
1030 Use FOR_EACH_BB macros to iterate over basic block chain.
1031 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
1032 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
1033 Likewise.
1034 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
1035 find_unreachable_blocks, create_edge_list, verify_edge_list,
1036 remove_fake_edges, add_noreturn_fake_exit_edges,
1037 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
1038 Likewise.
1039 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
1040 find_sub_basic_blocks): Likewise.
1041 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
1042 Likewise.
1043 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
1044 Likewise.
1045 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
1046 Likewise.
1047 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
1048 commit_edge_insertions, commit_edge_insertions_watch_calls,
1049 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
1050 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
1051 * conflict.c (conflict_graph_compute): Likewise.
1052 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
1053 df_modified_p, df_refs_unlink, df_dump): Likewise.
1054 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
1055 * final.c (compute_alignments): Likewise.
1056 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
1057 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
1058 count_or_remove_death_notes): Likewise.
1059 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
1060 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
1061 classic_gcse, compute_transp, cprop, compute_pre_data,
1062 compute_transpout, invalidate_nonnull_info,
1063 delete_null_pointer_checks_1, delete_null_pointer_checks,
1064 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
1065 compute_store_table, build_store_vectors, store_motion): Likewise.
1066 * global.c (global_conflicts, mark_elimination): Likewise.
1067 * graph.c (print_rtl_graph_with_bb): Likewise.
1068 * haifa-sched.c (sched_init): Likewise.
1069 * ifcvt.c (if_convert): Likewise.
1070 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
1071 compute_available, compute_nearerout, compute_rev_insert_delete,
1072 optimize_mode_switching): Likewise.
1073 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
1074 * predict.c (estimate_probability, note_prediction_to_br_prob,
1075 propagate_freq, counts_to_freqs, expensive_function_p,
1076 estimate_bb_frequencies): Likewise.
1077 * profile.c (instrument_edges, get_exec_counts,
1078 compute_branch_probabilities, compute_checksum, branch_prob,
1079 find_spanning_tree): Likewise.
1080 * recog.c (split_all_insns, peephole2_optimize): Likewise.
1081 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
1082 Likewise.
1083 * regclass.c (scan_one_insn, regclass): Likewise.
1084 * regmove.c (mark_flags_life_zones, regmove_optimize,
1085 record_stack_memrefs): Likewise.
1086 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
1087 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
1088 * resource.c (find_basic_block): Likewise.
1089 * sched-ebb.c (schedule_ebbs): Likewise.
1090 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
1091 find_single_block_region, find_rgns, schedule_insns)
1092 * sibcall.c (optimize_sibling_and_tail_recursive_call)
1093 * ssa-ccp.c (optimize_unexecutable_edges,
1094 ssa_ccp_df_delete_unreachable_insns): Likewise.
1095 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
1096 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
1097 rename_block, convert_to_ssa, compute_conservative_reg_partition,
1098 compute_coalesced_reg_partition, rename_equivalent_regs,
1099 convert_from_ssa): Likewise.
1100 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
1101 process_for_unwind_directive): Likewise.
1102
1103 * df.c (FOR_ALL_BBS): Removed.
1104 * gcse.c (struct null_pointer_info): Type of current_block field
1105 changed.
1106 (struct reg_avail_info): Type of last_bb field changed.
1107 * config/ia64/ia64.c (block_num): Removed.
1108 (need_copy_state): Type changed.
1109 (last_block): New.
1110
17645b15
NB
11112002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
1112
1113 * cppinit.c (mark_named_operators): Split out from init_builtins.
1114 (cpp_finish_options): Call it from here instead.
1115
79ed7328
JT
11162002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
1117
1118 * builtin-attrs.def: Update copyright years.
1119 (ATTR_NONNULL): New attribute identifier.
1120 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
1121 attribute tree lists.
1122 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
1123 format operand.
1124 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
1125 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
1126 attribute lists. Chain the appropriate nonnull attribute.
1127 * c-format.c (check_format_arg): Remove null format string
1128 warning.
1129 * testsuite/gcc.dg/format/null-1.c: New test.
1130
7d600178
RO
11312002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1132
1133 * Makefile.in (ADAC): Define.
1134 (SYSLIBS): Define.
1135 (.SUFFIXES): Move before language makefile fragments.
1136 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
1137
5ff225fc
MM
11382002-05-23 Mark Mitchell <mark@codesourcery.com>
1139
1140 * varasm.c (make_decl_rtl): Don't allow weak variables to be
1141 placed in common.
1142
0f72964f
JH
1143Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
1144
1145 * cfg.c (dump_flow_info): Print results of
1146 maybe_hot/probably_never_executed predicates.
1147 * toplev.c (open_dump_file): Print function frequency.
1148
c863f8c2
DM
11492002-05-23 David S. Miller <davem@redhat.com>
1150
1151 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
1152 regsets.
1153
b34c7881
JT
11542002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
1155
1156 * c-common.c (warn_nonnull): Declare.
1157 (c_common_attribute_table): Add "nonnull" attribute.
1158 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
1159 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
1160 check_function_arguments_recurse): New functions.
1161 * c-common.h (warn_nonnull): Declare extern.
1162 (check_function_arguments, check_function_arguments_recurse): New
1163 prototypes.
1164 * c-decl.c (c_decode_option): Add -Wnonnull option.
1165 * c-format.c (set_Wformat): Set warn_nonnull if enabling
1166 format checking.
1167 (format_check_context): New structure.
1168 (check_format_info_recurse): Remove recursion and rename to...
1169 (check_format_arg): ...this. Update comment.
1170 (check_format_info): Use check_function_arguments_recurse.
1171 * c-typeck.c (build_function_call): Call check_function_arguments
1172 instead of check_function_format.
1173 * doc/extend.texi: Document "nonnull" attribute.
1174 * doc/invoke.texi: Docuemnt -Wnonnull option.
1175 * testsuite/gcc.dg/nonnull-1.c: New test.
1176 * testsuite/gcc.dg/nonnull-2.c: New test.
1177
95479831
DM
11782002-05-23 David S. Miller <davem@redhat.com>
1179
1180 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
1181 * cfgcleanup.c (cleanup_cfg): If it is set do not
1182 attempt to delete trivially dead insns.
1183 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
1184 * toplev.c (rest_of_compilation): Document non-trivial aspect
1185 the RTL before optimize_save_area_alloca is run.
1186
a97d1398
NB
11872002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
1188
1189 * c-lex.c (indent_level): Remove.
1190 (cb_file_change, c_lex): Remove indent level handling.
1191 * c-lex.h (indent_level): Remove.
1192 * input.h (struct file_stack): Remove indent_level.
1193 * toplev.c (push_srcloc): Remove indent_level handling.
1194
66b408f2
JJ
11952002-05-23 Jakub Jelinek <jakub@redhat.com>
1196
1197 PR target/6753
1198 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
1199 of x in constraints for clarity.
1200 (sse_mov?fcc split): abort if op2 == op3.
1201 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
1202 sse_movsfcc_const0_4): Add earlyclobber.
1203 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
1204 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
1205 Use Y instead of x in constraints.
1206
5bf0ebab
RH
12072002-05-23 Richard Henderson <rth@redhat.com>
1208
9217ef40
RH
1209 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
1210 (C++98 Thread-Local Edits): New subsection.
1211
5bf0ebab
RH
1212 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
1213 (ix86_arch): Set type to enum processor_type.
1214
8a951190 1215 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
5bf0ebab
RH
1216 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
1217
4832c9e1
JJ
12182002-05-23 Jakub Jelinek <jakub@redhat.com>
1219
1220 * configure.in: Fix as version test for binutils 2.12.1 releases
1221 (without dates).
1222 * configure: Rebuilt.
1223
c8c03509
RH
12242002-05-23 Richard Henderson <rth@redhat.com>
1225
1226 * config/i386/i386.c (get_pic_label_name): New.
1227 (load_pic_register): Remove.
1228 (output_set_got): New.
1229 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
1230 * config/i386/i386.md (UNSPEC_SET_GOT): New.
1231 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
1232 (prologue_set_got, prologue_get_pc): Remove.
1233 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
1234 (builtin_setjmp_receiver): Use gen_set_got.
1235 * config/i386/i386-protos.h: Update.
1236
d51f3632
JH
1237Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
1238
1239 * gcse.c (hash_expr): Do not use alias set for hashing.
1240
b0a93386
KB
12412002-05-22 Kevin Buettner <kevinb@redhat.com>
1242
1243 * dbxout.c (dbxout_class_name_qualifiers): New function.
1244 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
1245
bdee42b1
NB
12462002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
1247
1248 * cpperror.c (_cpp_begin_message): No special casing
1249 of CPP_FATAL_LIMIT.
1250 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
1251 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
1252 * cpplib.c (do_include_common): Use DL_ERROR.
1253 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
1254 (DL_ICE): Renumber.
1255 * fix-header.c (read_scan_file): Update.
1256
0e07aff3
RH
12572002-05-22 Richard Henderson <rth@redhat.com>
1258
1259 * config/i386/i386.c (ix86_expand_call): New function, extracted
1260 from md call patterns. Add pic_offset_table_rtx to
1261 CALL_INSN_FUNCTION_USAGE when needed.
1262 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
1263 (call_value_pop, call_value, untyped_call): Likewise.
1264 (call_exp, call_value_exp): Remove.
1265 * config/i386/i386-protos.h: Update.
1266
6f001fdf
RH
12672002-05-22 Richard Henderson <rth@redhat.com>
1268
1269 * varasm.c (default_section_type_flags): Check for VAR_DECL
1270 before using DECL_THREAD_LOCAL.
1271
cbaaba19
DE
12722002-05-22 David Edelsohn <edelsohn@gnu.org>
1273
1274 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
1275 (STARTFILE_SPEC): Delete PE crt0.o.
1276 * config/rs6000/aix51.h: Same.
1277 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
1278 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
1279 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
1280 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
1281 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
1282
c711ba8e
RH
12832002-05-22 Richard Henderson <rth@redhat.com>
1284
1285 * varasm.c (default_section_type_flags): Handle tls data and
1286 default sections.
1287 (default_unique_section): Handle tls sections.
1288
343f59d9
AM
12892002-05-23 Alan Modra <amodra@bigpond.net.au>
1290
1291 * configure.in (CROSS): Define NATIVE_CROSS.
1292 * configure: Regenerate.
1293 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
1294 (startfile_prefix_spec): New var.
1295 (static_specs): Add startfile_prefix_spec.
1296 (do_spec_2): Split out from..
1297 (do_spec): ..here.
1298 (main): Process startfile_prefix_spec.
1299 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
1300 dynamic linker.
1301 (STARTFILE_PREFIX_SPEC): Define.
1302 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
c7bdf0a6 1303 absolute paths.
343f59d9 1304
df383483
KH
13052002-05-22 Kazu Hirata <kazu@cs.umass.edu>
1306
1307 * cpperror.c: Fix formatting.
1308 * cppexp.c: Likewise.
1309 * cppfiles.c: Likewise.
1310 * cpphash.c: Likewise.
1311 * cpphash.h: Likewise.
1312 * cppinit.c: Likewise.
1313 * cpplex.c: Likewise.
1314 * cpplib.c: Likewise.
1315 * cppmacro.c: Likewise.
1316 * cppmain.c: Likewise.
1317 * cppspec.c: Likewise.
1318
2dd36f90
JJ
13192002-05-22 Jakub Jelinek <jakub@redhat.com>
1320
1321 * combine.c (force_to_mode): Use gen_int_mode.
1322 Don't clear CONST_INT bits outside of mode.
1323
8dc02d7f
RH
13242002-05-22 Richard Henderson <rth@redhat.com>
1325
1326 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
1327 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
1328
45f79783
JJ
13292002-05-22 Jakub Jelinek <jakub@redhat.com>
1330
1331 PR c/6643
1332 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
1333 if DECL_SIZE_UNIT is INTEGER_CST.
1334
19f71cd7
RH
13352002-05-22 Richard Henderson <rth@redhat.com>
1336
1337 * flow.c (life_analysis): Delete broken reg_label check.
1338
d5bcfcce
RH
13392002-05-22 Richard Henderson <rth@redhat.com>
1340
1341 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
1342 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
1343
985d311b 1344Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
1345
1346 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
1347 (embed-bb.c): New rule.
985d311b 1348 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
1349 * config/sh/embed_bb.c: Delete.
1350
985d311b
R
1351Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
1352
1353 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
1354
f6d45746
KH
13552002-05-22 Kazu Hirata <kazu@cs.umass.edu>
1356
1357 * config/h8300/h8300.md (*andorqi3): New.
1358
e5f3b786
NB
13592002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
1360
1361 PR preprocessor/6517
1362 * Makefile.in: Update.
1363 * c-common.c (c_common_post_options): Add preprocessor
1364 errors to the error count.
1365 * c-lang.c (c_post_options): Kill.
1366 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
1367 * hooks.h: Add header guards.
1368 * langhooks-def.h: Include hooks.h.
1369 (LANG_HOOKS_POST_OPTIONS): Update.
1370 * langhooks.h (struct lang_hooks): Update post_options.
1371 * toplev.c (parse_options_and_default_flags): Update.
1372objc:
1373 * objc-lang.c (objc_post_options): Kill.
1374 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
1375
4c526be3
BK
13762002-05-21 Bruce Korb <bkorb@gnu.org>
1377
1378 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
1379 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
1380 * fixinc/fixincl.x: regen.
4c526be3 1381
f87c27b4
KH
13822002-05-21 Kazu Hirata <kazu@cs.umass.edu>
1383
1384 * cfgbuild.c: Fix formatting.
1385 * cfg.c: Likewise.
1386 * cfgcleanup.c: Likewise.
1387 * cfglayout.c: Likewise.
1388 * cfgloop.c: Likewise.
1389 * cfgrtl.c: Likewise.
1390
3d78f2e9
RH
13912002-05-21 Richard Henderson <rth@redhat.com>
1392
1393 * c-common.h (enum rid): Add RID_THREAD.
1394 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
1395 (grokdeclarator): Grok __thread.
1396 * c-parse.in (reswords): Add __thread.
1397 (rid_to_yy): Add RID_THREAD.
1398
1399 * tree.h (DECL_THREAD_LOCAL): New.
1400 (struct tree_decl): Add thread_local_flag.
1401 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
1402 * tree.c (staticp): TLS variables are not static.
1403
1404 * target-def.h (TARGET_HAVE_TLS): New.
1405 * target.h (have_tls): New.
1406 * output.h (SECTION_TLS): New.
1407 * varasm.c (assemble_variable): TLS variables can't be common for now.
1408 (default_section_type_flags): Handle .tdata and .tbss.
1409 (default_elf_asm_named_section): Handle SECTION_TLS.
1410 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
1411
1412 * flags.h (flag_tls_default): Declare.
1413 * toplev.c (flag_tls_default): Define.
1414 (display_help): Display help for it.
1415 (decode_f_option): Set it.
1416
1417 * doc/extend.texi (Thread-Local): New node describing language-level
1418 thread-local storage.
1419 * doc/invoke.texi (-ftls-model): Document.
1420
1421 * fixinc/inclhack.def (thread_keyword): New.
1422 * fixinc/fixincl.x: Rebuild.
1423
a151daf0
JL
14242002-05-21 Jeffrey A Law <law@redhat.com>
1425
8a951190 1426 * optabs.c (expand_binop): For double-word integer multiplies,
c7539aa0
JL
1427 do not compute intermediate results into something that is
1428 not a register (such as a SUBREG or MEM).
1429
a151daf0
JL
1430 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
1431 (ix86_sched_reorder): Make sure to initialize scheduling
1432 data even when there's only one insn in the ready queue.
1433
96b1f73b
VM
14342002-05-21 Vladimir Makarov <vmakarov@redhat.com>
1435
1436 * genautomata.c (reserv_sets_hash_value): Fix a typo.
1437
dceb2b75
VM
14382002-05-21 Vladimir Makarov <vmakarov@redhat.com>
1439
1440 * genautomata.c (reserv_sets_hash_value): Define hash_value as
1441 set_el_t. Transform the hash value into unsigned.
1442 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
1443 (transform_3): Add code to process `(A,B)+(D,E)'.
1444
159d5964
NY
14452002-05-21 NIIBE Yutaka <gniibe@m17n.org>
1446
1447 * reload1.c (do_output_reload): Run delete_output_reload
1448 only if optimizing.
1449
cf5124f6
RS
14502002-05-21 Roger Sayle <roger@eyesopen.com>
1451
1452 PR middle-end/6600
1453 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
1454 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
1455 (can_store_by_pieces): ... and here to limit the largest mode used.
1456 Add a comment to document this function.
1457
380e6ade
RH
14582002-05-21 Richard Henderson <rth@redhat.com>
1459
1460 * flow.c (life_analysis): Fix test for deleted label.
1461
1f95326c
NB
14622002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
1463
1464 * doc/tm.texi: Fix typo.
1465
2a1dc0d8
ZW
14662002-05-21 Zack Weinberg <zack@codesourcery.com>
1467
1468 * c-common.c (c_common_init): Set options->unsigned_char from
1469 flag_signed_char.
1470 (cb_register_builtins): Define __STRICT_ANSI__ and
1471 __CHAR_UNSIGNED__ here...
1472 * cppinit.c (init_builtins): Not here.
1473 (cpp_create_reader): unsigned_char option defaults to 0, not
1474 !DEFAULT_SIGNED_CHAR.
1475 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
1476 and -funsigned-char.
1477
1478 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
1479 * cpphash.c (_cpp_init_hashtable): Don't set it.
1480 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
1481 directly. Clarify comment.
1482
d29146f2 14832002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 1484
f5eb2fc8
ZD
1485 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
1486 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
1487 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
1488 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 1489 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 1490 flow_preorder_transversal_compute): Too.
d29146f2 1491 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
1492 find_sub_basic_blocks): Too.
1493 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 1494 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
1495 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
1496 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
1497 * combine.c (this_basic_block): Type changed to basic_block.
1498 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
1499 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
1500 get_last_value, distribute_notes, distribute_links): Too.
1501 * final.c (compute_alignments): Too.
1502 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
1503 * function.c (thread_prologue_and_epilogue_insns): Too.
1504 * gcse.c (compute_code_hoist_vbeinout): Too.
1505 * global.c (build_insn_chain): Too.
1506 * ifcvt.c (find_if_block, find_cond_trap): Too.
1507 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
1508 * regmove.c (regmove_optimize): Too.
1509 * resource.c (find_basic_block): Too.
1510 * sched-ebb.c (schedule_ebbs): Too.
1511 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 1512
68bd6dd6
AJ
15132002-05-21 Andreas Jaeger <aj@suse.de>
1514
1515 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
1516
35a76aac
RH
15172002-05-21 Richard Henderson <rth@redhat.com>
1518
1519 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
1520 unspec names, not numbers.
1521
2870428f
JM
15222002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
1523
1524 * doc/sourcebuild.texi: Mention snapshot-README and
1525 snapshot-index.html as needing updating for new front ends.
1526
b0ad77d5
KG
15272002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1528
1529 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
1530 disabling checking, and avoid multiple evaluation of RTX.
1531
279be7c8
RE
15322002-05-21 Richard Earnshaw <rearnsha@arm.com>
1533
1534 * bitmap.c (bitmap_find_bit): Return early if we have the correct
1535 element cached.
1536
193a563a
JH
1537Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
1538
1539 * profile.c (gen_edge_profiler): Set alias set before the memory is
1540 used.
1541
31825e57
DM
15422002-05-20 David S. Miller <davem@redhat.com>
1543
1544 * cselib.c (max_value_regs): New.
1545 (cselib_lookup, cselib_invalidate_regno): Initialize it when
1546 adding new entries to the REG_VALUES table and we are dealing with
1547 a hard register.
1548 (clear_table): Initialize it.
1549 (cselib_invalidate_regno): Use it to determine which hard
1550 registers to scan when mode is not VOIDmode.
1551
68bd6dd6 15522002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
1553
1554 * tradcpp.c (fixup_newlines): Use old-style function header.
1555
e0a09fda
KW
15562002-05-20 Krister Walfridsson <cato@df.lth.se>
1557
1558 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
1559
e0c13c70
L
15602002-05-20 H.J. Lu (hjl@gnu.org)
1561
1562 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
1563
1564 * config/mips/mips.h (DFMODE_NAN): Defined.
1565 (SFMODE_NAN): Likewise.
1566
4c11675d 15672002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 1568
2a1dc0d8
ZW
1569 * combine.c (cant_combine_insn_p): Back out my
1570 previous patch.
4c11675d 1571
6a4d6760
KH
15722002-05-20 Kazu Hirata <kazu@cs.umass.edu>
1573
1574 * params.c: Fix formatting.
1575 * params.h: Likewise.
1576 * predict.c: Likewise.
1577 * prefix.c: Likewise.
1578 * print-rtl.c: Likewise.
1579 * print-tree.c: Likewise.
1580 * profile.c: Likewise.
1581
5715ca64
L
15822002-05-20 H.J. Lu (hjl@gnu.org)
1583
1584 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
1585
00b89f01
NC
15862002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
1587
1588 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
1589 switches straight on to the assembler, do not abbreviate them.
1590 * config/arm/elf.h (ASM_SPEC): As above.
1591 * config/arm/semi.h (ASM_SPEC): As above.
1592 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
1593 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
1594 -mcpu=xscale on to the assembler by default.
1595 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
1596
1441374b
RH
15972002-05-20 Richard Henderson <rth@redhat.com>
1598
1599 * cse.c (canon_hash): Reorder do_not_record test. Always
1600 allow pic_offset_table_rtx.
1601
c0fe508e
TM
16022002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
1603
1604 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
1605 (expand_binop): Ditto (3 times).
1606
f362c762
MM
16072002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
1608
1609 * Makefile.in (distclean): Remove QMTest stuff.
1610 (QMTEST_PATH): New variable.
1611 (QMTESTFLAGS): Likewise.
1612 (QMTESTRUNFLAGS): Likewise.
1613 (QMTEST): Likewise.
1614 (QMTEST_GPP_TESTS): Likewise.
1615 (QMTEST_DIR): Likewise.
1616 (QMTEST_DIR/context): New target.
1617 (qmtest-g++): Likeise.
1618 (qmtest-gui): Likewise.
1619 (QMTEST_DIR/gpp-expected.qmr): Likewise.
1620
16861f33
AH
16212002-05-19 Aldy Hernandez <aldyh@redhat.com>
1622
2a1dc0d8
ZW
1623 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
1624 an altivec register if TARGET_ALTIVEC.
16861f33 1625
2a1dc0d8
ZW
1626 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
1627 to ALTIVEC_VECTOR_MODE.
1628 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
1629 (rs6000_va_arg): Vectors may go in registers if they are not
1630 altivec vectors.
16861f33 1631
23459e15
KH
16322002-05-19 Kazu Hirata <kazu@cs.umass.edu>
1633
1634 * protoize.c: Fix formatting.
1635
174cc7d1
RH
16362002-05-19 Richard Henderson <rth@redhat.com>
1637
1638 * gensupport.c (init_include_reader): Merge into ...
1639 (process_include): ... here. Simplify composite path creation.
1640 Plug memory leaks. Fix file/line number tracking. Do not
1641 process_define_cond_exec. Return void.
1642 (process_rtx): Don't check process_include return value.
1643
918ed612
ZD
16442002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1645
1646 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
1647 fields.
1648 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
1649 traversing basic block chain.
1650 (create_basic_block_structure, create_basic_block): Declaration changed.
1651 (link_block, unlink_block): Declare.
1652 * cfg.c (entry_exit_blocks): Initialize new fields.
1653 (link_block, unlink_block): New.
1654 (expunge_block_nocompact): Unlink basic block.
1655 (dump_flow_info): Print prev_bb/next_bb fields.
1656 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
1657 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
1658 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
1659 * cfgrtl.c (create_basic_block_structure, create_basic_block,
1660 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
1661 (verify_flow_info): Check that list agrees with numbering.
1662
e0322d5c
NB
16632002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
1664
1665 * c-common.c (preprocessing_asm): New macro.
1666 * c-lex.h (builtin_define, builtin_assert): Use pfile.
1667doc:
1668 * tm.texi: Update.
1669config/alpha:
1670 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
1671 (CPP_SPEC): Simplify.
1672 (TARGET_CPU_CPP_BUILTINS): Update.
1673 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
1674 (CPP_SPEC): Simplify.
1675 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
1676 (TARGET_OS_CPP_BUILTINS): Update.
1677 * osf.h (CPP_XFLOAT_SPEC): Kill.
1678 (TARGET_OS_CPP_BUILTINS): Update.
1679 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
1680 * osf5.h (CPP_XFLOAT_SPEC): Kill.
1681 * vms.h (CPP_SUBTARGET_SPEC): Kill.
1682 (TARGET_OS_CPP_BUILTINS): Update.
1683
121f5c2c
RH
16842002-05-19 Richard Henderson <rth@redhat.com>
1685
1686 * varasm.c (default_binds_local_p): Fix typo.
1687
651c5ed9
MM
16882002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
1689
1690 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
1691 CONST_INT operand to the correct mode after adding 1 to it.
1692
bce0deb2
MM
16932002-05-19 Mark Mitchell <mark@codesourcery.com>
1694
1695 * config.gcc (powerpc-wrs-windiss*): New target.
1696
4aa74a4f
FS
16972002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1698
1699 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
1700 (ashrdi3): Use it.
1701
a15135c9
MM
17022002-05-18 Mark Mitchell <mark@codesourcery.com>
1703
1704 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
1705 alphasort.
1706 * config.in: Regenerated.
1707 * configure: Regenerated.
1708
47754fd5
RH
17092002-05-19 Richard Henderson <rth@redhat.com>
1710
1711 * target-def.h (TARGET_BINDS_LOCAL_P): New.
1712 * target.h (struct gcc_target): Move boolean fields to the end.
1713 Add binds_local_p.
1714 * varasm.c (default_binds_local_p): New.
1715 * output.h: Declare it.
1716
1717 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
1718 * config/cris/cris.c (cris_encode_section_info): Likewise.
1719 * config/i386/i386.c (i386_encode_section_info): Likewise.
1720 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
1721 * config/sh/sh.c (sh_encode_section_info): Likewise.
1722
1723 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
1724 (TARGET_BINDS_LOCAL_P): New.
1725
fc881338
RH
17262002-05-19 Richard Henderson <rth@redhat.com>
1727
1728 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
1729 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
1730 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
1731
1732 * toplev.c (display_help): Kill -a -ax help.
1733
68bd6dd6 1734 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
1735 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
1736 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
1737 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
1738 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
1739
1740 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
1741 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
1742
1743 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
1744 (ix86_output_function_block_profiler): Kill.
1745 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
1746 (m68hc11_function_block_profiler): Kill.
1747 * config/m68hc11/m68hc11-protos.h: Update.
1748 * config/m88k/m88k.c (output_block_profiler): Kill.
1749 (output_function_block_profiler): Kill.
1750 * config/m88k/m88k-protos.h: Update.
1751
772c5265
RH
17522002-05-19 Richard Henderson <rth@redhat.com>
1753
1754 * system.h (STRIP_NAME_ENCODING): Poison it.
1755 * output.h (STRIP_NAME_ENCODING): Remove.
1756 (default_strip_name_encoding): Declare.
1757 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
1758 * target.h (strip_name_encoding): New.
1759 * varasm.c (default_strip_name_encoding): New.
1760
1761 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
1762 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
1763 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
1764 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
1765 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
1766 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
1767 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
1768 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
1769 config/v850/v850.h: Use the hook, not the macro.
1770
1771 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
1772 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
1773 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
1774 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
1775 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
1776 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 1777 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
1778 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
1779 config/v850/v850.c, config/v850/v850.h:
1780 Move STRIP_NAME_ENCODING to out-of-line function and add
1781 TARGET_STRIP_NAME_ENCODING.
1782
1783 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
1784 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
1785 with TARGET_STRIP_NAME_ENCODING referencing existing function;
1786 make function static.
1787
1788 * xcoffout.c: Include target.h
1789 * Makefile.in (xcoffout.o): Update.
1790
1791 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
1792 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
1793 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
1794 reloc argument unused.
1795 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
1796
1797 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
1798 STRIP_NAME_ENCODING docs.
1799
8f9eb495
AJ
18002002-05-19 Andreas Jaeger <aj@suse.de>
1801
1802 * gengenrtl.c: Add prototype for excluded_rtx.
1803
1804 * real.h: Add prototype for exact_real_truncate.
1805
fb49053f
RH
18062002-05-18 Richard Henderson <rth@redhat.com>
1807
1808 * system.h (ENCODE_SECTION_INFO): Poison it.
1809 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
1810 * target.h (encode_section_info): New.
1811 * varasm.c (make_decl_rtl, output_constant_def): Use it.
1812 * hooks.c (hook_tree_int_void): New.
1813 * hooks.h: Declare it.
1814
1815 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
1816 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
1817 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
1818 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
1819 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
1820 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
1821 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
1822 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
1823 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
1824 config/mcore/mcore-protos.h, config/mcore/mcore.c,
1825 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
1826 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
1827 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
1828 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
1829 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
1830 referencing existing function. Make function static.
1831
1832 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 1833 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
1834 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
1835 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
1836 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 1837 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
1838 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
1839 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
1840 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
1841 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 1842 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
1843 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
1844 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
1845 Move ENCODE_SECTION_INFO to out-of-line function and add
1846 TARGET_ENCODE_SECTION_INFO.
1847
1848 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
1849 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
1850
1851 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
1852 from SUBTARGET_*
1853 (switch_to_section): Replace in_rdata case with in_readonly_data.
1854
1855 * config/h8300/h8300.c (h8300_encode_label): Make static.
1856 * config/h8300/h8300-protos.h: Update.
1857
1858 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
1859 from rs6000_encode_section_info; make static.
1860 (rs6000_xcoff_encode_section_info): New.
1861
1862 * config/v850/v850.c (v850_encode_data_area): Make static.
1863 * config/v850/v850-protos.h: Update.
1864
1865 * config/vax/vax.c: Include flags.h.
1866 (vms_select_section): Fix typo.
1867
1868 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
1869 ENCODE_SECTION_INFO docs.
1870
9fe08fd0
RH
18712002-05-18 Richard Henderson <rth@redhat.com>
1872
1873 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
1874 REGISTER_TARGET_PRAGMAS.
1875 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
1876
410b770f
RH
1877 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
1878
b64a1b53
RH
18792002-05-18 Richard Henderson <rth@redhat.com>
1880
1881 * system.h (SELECT_RTX_SECTION): Poison.
1882 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
1883 * target.h (select_rtx_section): New.
1884 * varasm.c (output_constant_pool): Use it.
1885 (default_select_rtx_section, default_elf_select_rtx_section): New.
1886 * output.h: Declare them.
1887
1888 * config/darwin.h (SELECT_RTX_SECTION): Move ...
1889 * config/darwin.c (machopic_select_rtx_section): ... here.
1890 * config/darwin-protos.h: Update.
1891
1892 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
1893 * config/nextstep.c (machopic_select_rtx_section): ... here.
1894 (nextstep_select_section): Rename variable to avoid macro clash.
1895 * config/nextstep-protos.h: Update.
1896
1897 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
1898 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
1899 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 1900 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
1901 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
1902 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 1903 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
1904 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
1905 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
1906 (SELECT_RTX_SECTION): Remove.
1907
1908 * config/darwin.h, config/elfos.h, config/nextstep.h,
1909 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
1910 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
1911 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
1912 config/sparc/lynx.h, config/xtensa/xtensa.c
1913 (TARGET_ASM_SELECT_RTX_SECTION): New.
1914
1915 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
1916 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
1917 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
1918 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
1919 (ia64_aix_select_rtx_section): New.
1920 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
1921 redefining.
1922 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 1923 Support ELF SHF_MERGE features.
b64a1b53
RH
1924 * config/mips/mips-protos.h: Update.
1925 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
1926 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
1927 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
1928 make static, fall back to default_elf_select_rtx_section.
1929 * config/rs6000/rs6000-protos.h: Update.
1930 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
1931 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
1932 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
1933 * config/romp/romp.c (romp_select_rtx_section): New.
1934 * config/s390/s390.c (s390_select_rtx_section): New.
1935 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
1936 declarations before target macro definition.
1937 (xtensa_emit_call): Use static buffer.
1938 (xtensa_select_rtx_section): New.
1939 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
1940 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
1941 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
1942
1943 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
1944 SELECT_RTX_SECTION docs.
1945
1946Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
1947
1948 * i386.md (movsi/movdi): Fix template.
1949 (sse2 patterns): Set attributes consistently.
1950
1951 * i386.md (pushqi2, ashrqi_*): Fix constraint.
1952
6835a09c
TM
19532002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
1954
1955 * optabs.c (complex_part_zero_p): New.
1956 * (expand_cmplxdiv_straight): Use it.
1957 * (expand_cmplxdiv_wide): Ditto.
1958 * (expand_binop): Ditto.
1959
d48bc59a
RH
19602002-05-18 Richard Henderson <rth@redhat.com>
1961
1962 * final.c (HAVE_READONLY_DATA_SECTION): New.
1963 (shorten_branches): Use it instead of ifdefs.
1964 * varasm.c (enum in_section): Add in_readonly_data.
1965 (text_section, data_section): Tidy.
1966 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
1967
1968 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
1969 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
1970 (READONLY_DATA_SECTION): Don't undef.
1971
1972 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
1973 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
1974 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
1975
1976 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
1977 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
1978 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
1979 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
1980
1981 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
1982 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
1983 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
1984 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
1985 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
1986 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
1987 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
1988 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
1989 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
1990
1991 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
1992 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
1993 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
1994 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
1995 config/pa/pa64-hpux.h, config/sparc/litecoff.h
1996 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
1997
1998 * config/elfos.h, config/netware.h, config/svr3.h,
1999 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
2000 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
2001 config/h8300/h8300.h, config/i386/i386-interix.h,
2002 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
2003 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
2004
2005 * config/elfos.h, config/netware.h, config/svr3.h,
2006 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
2007 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
2008 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
2009 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
2010
2011 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
2012 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
2013 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
2014 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
2015 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
2016 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
2017 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
2018 config/rs6000/sysv4.h, config/v850/v850.h
2019 (EXTRA_SECTIONS): Remove in_const/in_rdata.
2020 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
2021
2022 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
2023 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
2024 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
2025 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
2026 * config/alpha/alpha.c (alpha_start_function): Likewise.
2027 (alpha_write_linkage): Likewise.
2028 * config/m32r/m32r.c (m32r_select_section): Likewise.
2029 * config/m88k/m88k.c (m88k_select_section): Likewise.
2030 * config/mips/mips.c (mips_select_rtx_section): Likewise.
2031 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
2032 (rs6000_elf_select_section): Likewise.
2033 * config/v850/v850.c (v850_select_section): Likewise.
2034
2035 * config/1750a/1750a.h, config/i860/sysv3.h
2036 (READONLY_DATA_SECTION_ASM_OP): New.
2037 READONLY_DATA_SECTION_ASM_OP.
2038 * config/i386/interix.c, config/i386/winnt.c
2039 (i386_pe_unique_section): Always use .rdata prefix.
2040 * config/pa/som.h (readonly_data): Always switch to read-only section.
2041 (READONLY_DATA_SECTION): Predicate on flag_pic.
2042 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
2043 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
2044 (READONLY_DATA_SECTION): Update.
2045
e964a556
JT
20462002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
2047
2048 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 2049 is used without -Wformat.
e964a556
JT
2050 * c-common.h (warn_format_zero_length): Declare extern.
2051 * c-decl.c (warn_options): Add "format-zero-length".
2052 * c-format.c (warn_format_zero_length): Declare.
2053 (set_Wformat): Set warn_format_zero_length for -Wformat.
2054 (check_format_info): Only warn about zero-length formats if
2055 warn_format_zero_length is true. Include the format type
2056 name in the warning message.
2057 * doc/invoke.texi: Document -Wformat-zero-length.
2058 * testsuite/gcc.dg/format/zero-length-1.c: New test.
2059
d92b4486
KH
20602002-05-18 Kazu Hirata <kazu@cs.umass.edu>
2061
2062 * timevar.c: Fix formatting.
2063 * tlink.c: Likewise.
2064 * toplev.c: Likewise.
2065 * tree-dump.c: Likewise.
2066 * tree-inline.c: Likewise.
2067
43612ffb
NB
20682002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
2069
2070 * cppinit.c (cpp_post_options): If preprocessed, turn off
2071 traditional. If traditional, turn off column numbers.
2072 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
2073 * cpptrad.c (handle_newline): Update line_base.
2074 (skip_comment): Handle -Wcomment.
2075
f24a153a
ZW
20762002-05-17 Zack Weinberg <zack@codesourcery.com>
2077
2078 * cppinit.c (struct builtin): Remove unused fields.
2079 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
2080 (operator_array): New - was second half of builtin_array.
2081 (init_builtins): Simplify loop over builtin_array/operator_array.
2082
12403335
NB
20832002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
2084
2085 * defaults.h (UNIQUE_SECTION): Remove.
2086 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
2087
1f8c3c5b
RH
20882002-05-17 Richard Henderson <rth@redhat.com>
2089
2090 * expr.c (init_expr_once): Don't use start/end_sequence.
2091 Use rtx_alloc instead of emit_insn.
2092 * toplev.c (lang_dependent_init): Run init_expr_once here ...
2093 (lang_independent_init): ... not here.
2094
4664f4c4
JT
20952002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
2096
2097 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
2098
93febe68
MM
20992002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
2100
2101 * config/avr/avr.c (avr_regs_to_save): New function. Also check
2102 for fixed registers, possibly used for global register variables.
2103 (initial_elimination_offset, avr_output_function_prologue,
2104 avr_output_function_epilogue): Move common code to avr_regs_to_save.
2105
004cb263
NB
21062002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
2107
2108 * Makefile.in: Update for cpptrad.c.
2109 * cpphash.h (struct cpp_buffer): New members for buffer
2110 overlays.
2111 (struct cpp_reader): New members for traditional output.
2112 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
2113 * cppinit.c (cpp_create_reader): Set trad_line.
2114 (cpp_destroy): Free trad_out_base if used.
2115 (cpp_read_main_file): Overlay an empty buffer if traditional.
2116 (cpp_finish_options): Don't do builtins.
2117 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
2118 (cpp_handle_option): Handle it.
2119 * cpplex.c (continue_after_nul): New.
2120 (_cpp_lex_direct): Use handle_nul.
2121 * cpplib.h (struct cpp_options): New traditional option.
2122 * cpptrad.c: New file.
2123
bdcae02b
NB
21242002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
2125
2126 * c-common.c (c_common_init_options): Use C89 for Objective-C,
2127 and set the options flag.
2128 * cppinit.c (lang_flags): Remove objc.
2129 (lang_defaults): Remove OBJC and OBJCXX.
2130 (set_lang): Update.
2131 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
2132 (cpp_handle_option): Remove -+ and -lang-objc++.
2133 For ObjC, just set a flag.
2134 (print_help): Update.
2135 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
2136
0fca60ab
RO
21372002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2138
2139 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
2140 bootstrap with -mips3.
2141
dd3f0101
KH
21422002-05-17 Kazu Hirata <kazu@cs.umass.edu>
2143
2144 * final.c: Fix formatting.
2145 * fix-header.c: Likewise.
2146 * flow.c: Likewise.
2147 * fold-const.c: Likewise.
2148 * function.c: Likewise.
2149
5ca9299f
DM
21502002-05-17 David S. Miller <davem@redhat.com>
2151
2152 PR c/6689, PR optimization/6615
2153 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
2154 and make it a pointer to rtx. Update comments.
2155 (update_equiv_regs): When scanning for equivalences, record
2156 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
2157 it while making the equiv replacements.
2158
508bc172
RO
21592002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2160
2161 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
2162
5cd983a6
KK
21632002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
2164
2165 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
2166 when encoding visibility into SYMBOL_REF_FLAG.
2167
ce0f3925
RS
21682002-05-17 Richard Sandiford <rsandifo@redhat.com>
2169
2170 * expr.c (force_operand): Fix reversed move.
2171
06809951
GP
21722002-05-17 Kurt Wall <kwall@kurtwerks.com>
2173
2174 * doc/install.texi (Testing): Mention two common DejaGnu warnings
2175 that can be ignored.
2176
21772002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2178
2179 * doc/install.texi (Final install): Recommend to install into a
2180 "clean" target directory.
2181
1d5d7a21
RH
21822002-05-17 Richard Henderson <rth@redhat.com>
2183
2184 * config/ia64/ia64.md: Use braced strings instead of quoted strings
2185 for code blocks. Tidy whitespace.
2186
ae46c4e0
RH
21872002-05-17 Richard Henderson <rth@redhat.com>
2188
2189 * hooks.c (hook_tree_bool_false): New.
2190 * hooks.h: Declare it.
2191 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
2192 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
2193 * target.h (select_section, unique_section): New.
2194 (in_small_data_p): New.
2195 * varasm.c (resolve_unique_section): Use hooks instead of macros.
2196 (variable_section, output_constant_def_contents): Likewise.
2197 (default_select_section, default_unique_section): New.
2198 (categorize_decl_for_section, default_elf_select_section): New.
2199 * output.h: Declare them.
2200
2201 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
2202 (TARGET_ASM_SELECT_SECTION): New.
2203 (SELECT_SECTION): Move ...
2204 * config/darwin.c (machopic_select_section): ... here.
2205 * config/darwin-protos.h: Update.
2206
2207 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
2208 (SELECT_SECTION): Move ...
2209 * config/nextstep.c (nextstep_select_section): ... here.
2210 * config/nextstep-protos.h: Update.
2211
2212 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
2213 (TARGET_ASM_SELECT_SECTION): New.
2214 * config/svr3.h (SELECT_SECTION): Remove.
2215
2216 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
2217 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
2218 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
2219 (alpha_encode_section_info): Use it.
2220 * config/alpha/alpha-protos.h: Update.
2221 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
2222 (SELECT_SECTION, UNIQUE_SECTION): Remove.
2223 (TARGET_ASM_SELECT_SECTION): New.
2224 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
2225
2226 * config/arm/pe.h (UNIQUE_SECTION): Remove.
2227 (TARGET_ASM_UNIQUE_SECTION): New.
2228
2229 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
2230 (avr_unique_section): Rename from unique_section; make static.
2231 * config/avr/avr-protos.h: Update.
2232 * config/avr/avr.h (UNIQUE_SECTION): Remove.
2233
2234 * config/c4x/c4x.h (SELECT_SECTION): Remove.
2235
2236 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
2237 (TARGET_ASM_UNIQUE_SECTION): New.
2238 * config/i386/i386-interix.h: Likewise.
2239 * config/i386/win32.h: Likewise.
2240 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
2241 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
2242 * config/i386/sco5.h (SELECT_SECTION): Remove.
2243 (TARGET_ASM_SELECT_SECTION): New.
2244 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
2245
2246 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
2247 instead of SELECT_SECTION.
2248 * config/m68k/dpx2.h: Likewise.
2249 * config/rs6000/lynx.h: Likewise.
2250
2251 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
2252 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
2253 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
2254 (ia64_in_small_data_p): New.
2255 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
2256 (ia64_aix_select_section, ia64_aix_unique_section): New.
2257 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
2258 (SELECT_SECTION, UNIQUE_SECTION): Remove.
2259
2260 * config/m32r/m32r.h (SELECT_SECTION): Remove.
2261 (TARGET_ASM_SELECT_SECTION): New.
2262 * config/m32r/m32r.c (m32r_select_section): Take align argument.
2263 * config/m32r/m32r-protos.h: Update.
2264
2265 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
2266 (SELECT_SECTION): Move ...
2267 * config/m88k/m88k.c (m88k_select_section): ... here.
2268
2269 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
2270 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
2271 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
2272 (mcore_unique_section): Make static.
2273 * config/mcore/mcore-protos.h: Update.
2274
2275 * config/mips/elf.h (UNIQUE_SECTION): Remove.
2276 (TARGET_ASM_UNIQUE_SECTION): New.
2277 * config/mips/elf64.h: Likewise.
2278 * config/mips/iris6gld.h: Likewise.
2279 * config/mips/linux.h: Likewise.
2280 * config/mips/mips-protos.h: Update.
2281 * config/mips/mips.c (mips_select_section): Add align argument.
2282 * config/mips/mips.h (SELECT_SECTION): Remove.
2283 (TARGET_ASM_SELECT_SECTION): New.
2284
2285 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
2286 * config/mmix/mmix.c (mmix_select_section): Remove.
2287 (mmix_unique_section): Remove.
2288 * config/mmix/mmix-protos.h: Update.
2289
2290 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
2291 (SELECT_SECTION): Move ...
2292 * config/pa/pa.c (pa_select_section): ... here.
2293 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
2294
2295 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
2296 from rs6000_select_section and make static.
2297 (rs6000_elf_unique_section): Similarly.
2298 (rs6000_xcoff_select_section): From xcoff.h.
2299 (rs6000_xcoff_unique_section): Likewise.
2300 * config/rs6000/rs6000-protos.h: Update.
2301 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
2302 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
2303 * config/rs6000/xcoff.h: Likewise.
2304
2305 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
2306 (SELECT_SECTION): Move ...
2307 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
2308
2309 * config/v850/v850.h (SELECT_SECTION): Move ...
2310 * config/v850/v850.c (v850_select_section): ... here.
2311 (TARGET_ASM_SELECT_SECTION): New.
2312
2313 * config/vax/vms.h (SELECT_SECTION): Move ...
2314 * config/vax/vax.c (vms_select_section): ... here.
2315 (TARGET_ASM_SELECT_SECTION): New.
2316
2317 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
2318 for the target hooks.
2319
eaeb23a7
NC
23202002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
2321
2322 * config/arm/arm.c (emit_multi_reg_push): Do not set
2323 RTX_FRAME_RELATED_P on the SEQUENCE.
2324
a00fe19f
RH
23252002-05-16 Richard Henderson <rth@redhat.com>
2326
2327 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
2328 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
2329
5ccff482
RH
23302002-05-16 Richard Henderson <rth@redhat.com>
2331
2332 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
2333
068d7739
RH
2334 * config/ia64/ia64.c (saveable_obstack): Do not declare.
2335
0b17ab2f
RH
23362002-05-16 Richard Henderson <rth@redhat.com>
2337
2338 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
2339 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
2340 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
2341 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
2342 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
2343 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
2344 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
2345 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
2346 Revert "Basic block renumbering removal", and two followup patches.
2347
8ae86b3c
JT
23482002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
2349
2350 * lcm.c (optimize_mode_switching): Revert previous change.
2351
4e9f27af
ZD
23522002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2353
2354 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
2355 with only extant block numbers.
2356
3cdc1dbc
JT
23572002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
2358
2359 * lcm.c (optimize_mode_switching): Fix typo.
2360
fbfb3b09
ZD
23612002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2362
2363 * flow.c (calculate_global_regs_live): Queue blocks in program order.
2364
b4b0fb02
RO
23652002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2366
2367 * doc/install.texi (Configuration): Document PWDCMD.
2368
63b827c5
DJ
23692002-05-16 Dale Johannesen <dalej@apple.com>
2370
2371 * combine.c (cant_combine_insn_p): Reenable combinations
2372 involving hard regs unless CLASS_LIKELY_SPILLED_P.
2373
748d29c1
NB
23742002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
2375
2376 * c-common.c (cb_register_builtins): Handle more built-ins
2377 here rather than in gcc.c specs.
2378 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
2379 (cpp_options): Pass -O flags even when only preprocessing.
2380 * toplev.c (set_fast_math_flags): New prototype.
2381 (fast_math_flags_set_p): New.
2382 (set_no_fast_math_flags): Remove.
2383 (decode_f_option): Update.
2384 * toplev.h (set_fast_math_flags): Update.
2385 (fast_math_flags_set_p): New.
2386 (set_no_fast_math_flags): Remove.
2387config:
2388 * c4x/c4x.c (c4x_override_options): Update.
2389
5279d739
ZW
23902002-05-16 Zack Weinberg <zack@codesourcery.com>
2391
2392 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
2393 Default-define here.
2394 (builtin_define_with_value): Can now wrap the expansion in
2395 quotation marks if such is wanted.
a00fe19f 2396 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
2397 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
2398 here.
2399 (c_common_init): Set options->stdc_0_in_system_headers.
2400 * c-lex.h: Update prototype of builtin_define_with_value.
2401 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
2402 and REGISTER_PREFIX.
2403
2404 * cppinit.c (VERS, ULP, C, X): Kill.
2405 (builtin_array): Remove entries for __VERSION__,
2406 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
2407 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
2408 a constant.
2409 (init_builtins): Kill off a bunch of now-dead code.
2410 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
2411 -fno-leading-underscore.
2412 (cpp_handle_option): Remove code to set user_label_prefix.
2413 (cpp_post_options): Likewise.
2414
2415 * cpplib.h (struct cpp_options): Remove user_label_prefix.
2416 (stdc_0_in_system_headers): New.
2417 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
2418 stdc_0_in_system_headers) too to decide the value of __STDC__.
2419
2420 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 2421 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
2422 (initialize_builtins): Don't define __REGISTER_PREFIX__
2423 or __USER_LABEL_PREFIX__.
2424 (install_value): Wrap compound statement in dummy loop so the
2425 macro works properly in an if statement.
2426
2427
62e6ca55
JJ
24282002-05-16 Janis Johnson <janis187@us.ibm.com>
2429
2430 * loop.h (struct loop_info): Add member has_prefetch.
2431 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
2432 (prescan_loop): Initialize has_prefetch.
2433 (struct prefetch_info): Change prefetch_in_loop and
2434 prefetch_before_loop from bit fields to ints.
2435 (emit_prefetch_instructions): Several small fixes.
2436 (check_dbra_loop): Don't reverse loop that uses prefetch.
2437
1e6347d8
RO
24382002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2439
2440 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
2441 * configure.in: Likewise.
2442 * fixinc/check.tpl: Likewise.
2443 * fixinc/fixinc.dgux: Likewise.
2444 * fixinc/fixinc.svr4: Likewise.
2445 * fixinc/fixinc.winnt: Likewise.
2446 * fixinc/fixincl.sh: Likewise.
2447 * fixproto: Likewise.
2448 * configure: Regenerate.
2449
355e4ec4
ZD
24502002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2451
2452 Basic block renumbering removal:
2453 * basic_block.h (struct basic_block_def): Renamed index to sindex,
2454 added prev_bb and next_bb fields.
2455 (n_basic_blocks): Renamed to num_basic_blocks.
2456 (last_basic_block): New, index of last basic block.
2457 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
2458 traversing basic block chain.
2459 (BLOCK_NUM): index -> sindex.
2460 (create_basic_block_structure, create_basic_block): Declaration changed.
2461 (debug_num2bb): Declare.
2462 (expunge_block_nocompact): Declaration removed.
2463 (link_block, unlink_block, compact_blocks): Declare.
2464 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
2465 * cfg.c (entry_exit_blocks): Initialize new fields.
2466 (clear_edges, alloc_block, expunge_block, cached_make_edge,
2467 redirect_edge_pred, dump_flow_info, dump_edge_info,
2468 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
2469 free_aux_for_edges): Modified.
2470 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
2471 (expunge_block_nocompact): Removed.
2472 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
2473 find_unreachable_blocks, create_edge_list, print_edge_list,
2474 verify_edge_list, flow_edge_list_print, remove_fake_successors,
2475 remove_fake_edges, flow_reverse_top_sort_order_compute,
2476 flow_depth_first_order_compute, flow_preorder_transversal_compute,
2477 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
2478 flow_dfs_compute_reverse_execute): Modified.
2479 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
2480 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
2481 Modified.
2482 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
2483 merge_blocks_move_predecessor_nojumps,
2484 merge_blocks_move_successor_nojumps, merge_blocks,
2485 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
2486 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
2487 * cfglayout.c (skip_insns_after_block, label_for_bb,
2488 record_effective_endpoints, scope_to_insns_finalize,
2489 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
2490 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
2491 cfg_layout_duplicate_bb): Modified.
2492 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
2493 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
2494 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
2495 flow_loops_find, flow_loop_outside_edge_p): Modified.
2496 * cfgrtl.c (create_basic_block_structure, create_basic_block,
2497 flow_delete_block, compute_bb_for_insn, split_block,
2498 try_redirect_by_replacing_jump, redirect_edge_and_branch,
2499 force_nonfallthru_and_redirect, tidy_fallthru_edge,
2500 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
2501 commit_edge_insertions, commit_edge_insertions_watch_calls,
2502 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
2503 purge_all_dead_edges): Modified.
2504 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
2505 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
2506 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
2507 Modified.
2508 * conflict.c (conflict_graph_compute): Modified.
2509 * df.c (FOR_ALL_BBS): Removed.
2510 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
2511 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
2512 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
2513 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
2514 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
2515 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
2516 * final.c (compute_alignments, final_scan_insn): Modified.
2517 * flow.c (verify_local_live_at_start, update_life_info,
2518 update_life_info_in_dirty_blocks, free_basic_block_vars,
2519 delete_noop_moves, calculate_global_regs_live,
2520 initialize_uninitialized_subregs, allocate_bb_life_data,
2521 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
2522 mark_used_reg, count_or_remove_death_notes): Modified.
2523 * function.c (thread_prologue_and_epilogue_insns): Modified.
2524 * gcse.c (struct null_pointer_info): Change typo of current_block
2525 to basic_block.
2526 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
2527 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
2528 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
2529 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
2530 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
2531 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
2532 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
2533 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
2534 pre_delete, one_pre_gcse_pass, compute_transpout,
2535 invalidate_nonnull_info, delete_null_pointer_checks_1,
2536 free_code_hoist_mem, compute_code_hoist_vbeinout,
2537 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
2538 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
2539 compute_store_table, build_store_vectors, insert_insn_start_bb,
2540 insert_store, replace_store_insn, free_store_memory, store_motion):
2541 Modified.
2542 * global.c (global_alloc, global_conflicts, mark_elimination,
2543 build_insn_chain): Modified.
2544 * graph.c (print_rtl_graph_with_bb): Modified.
2545 * haifa-sched.c (sched_init): Modified.
2546 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
2547 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
2548 if_convert): Modified.
2549 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
2550 compute_insert_delete, pre_edge_lcm, compute_available,
2551 compute_farthest, compute_nearerout, compute_rev_insert_delete,
2552 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
2553 Modified.
2554 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
2555 * loop.c (loop_dump_aux): Modified.
2556 * predict.c (combine_predictions_for_insn, estimate_probability,
2557 last_basic_block_p, process_note_prediction, process_note_predictions,
2558 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
2559 expensive_function_p, estimate_bb_frequencies,
2560 compute_function_frequency): Modified.
2561 * print-rtl.c (print_rtx): Modified.
2562 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
2563 get_exec_counts, compute_branch_probabilities, compute_checksum,
2564 branch_prob, find_spanning_tree): Modified.
2565 * recog.c (split_all_insns, peephole2_optimize): Modified.
2566 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
2567 convert_regs_1, convert_regs_2, convert_regs): Modified.
2568 * regclass.c (scan_one_insn, regclass): Modified.
2569 * regmove.c (mark_flags_life_zones, regmove_optimize,
2570 combine_stack_adjustments): Modified.
2571 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
2572 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
2573 * reorg.c (dbr_schedule): Modified.
2574 * resource.c (find_basic_block, init_resource_info): Modified.
2575 * sbitmap.c (sbitmap_intersection_of_succs,
2576 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
2577 sbitmap_union_of_preds): Modified.
2578 * sched-deps.c (init_dependency_caches): Modified.
2579 * sched-ebb.c (schedule_ebbs): Modified.
2580 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
2581 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
2582 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
2583 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
2584 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
2585 ssa_const_prop): Modified.
2586 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
2587 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
2588 * ssa.c (remove_phi_alternative, find_evaluations,
2589 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
2590 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
2591 make_regs_equivalent_over_bad_edges,
2592 make_equivalent_phi_alternatives_equival,
2593 compute_conservative_reg_partition,
2594 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
2595 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
2596 Modified.
2597
5a566bed
MM
25982002-05-16 Mark Mitchell <mark@codesourcery.com>
2599
2600 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
2601
48f6efae
NC
26022002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
2603
2604 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
2605 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
2606 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
2607 calling CONSTANT_POOL_ADDRESS_P.
2608 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
2609 to decide whether to define __arm__ or __thumb.
355e4ec4 2610 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
2611 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
2612
b166fadd
NB
26132002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
2614
2615 * config/arc/arc.h (CPP_PREDEFINES): Remove.
2616 (CPP_SPEC): Update.
2617 (TARGET_CPU_CPP_BUILTINS): New.
2618
601328bb
NB
26192002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
2620
2621 * cpphash.h (cpp_macro): Move here, and make expansion a union.
2622 * cppmacro.c (cpp_macro): Remove.
2623 (enter_macro_context, replace_args, warn_of_redefinition,
2624 _cpp_create_definition, cpp_macro_definition): Update.
2625
ff48be5c
JM
26262002-05-16 Jason Merrill <jason@redhat.com>
2627
2628 * config/mips/mips.c (mips_output_external): Don't do sdata
2629 optimization for a variable with DECL_COMDAT set.
2630
805c42ba
AH
26312002-05-15 Aldy Hernandez <aldyh@redhat.com>
2632
355e4ec4
ZD
2633 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
2634 Cleanups for accepting modifiers on pointers.
2635 Fix predicate typos.
2636 Allow long pointers as well as int pointers.
805c42ba 2637
34fb9ba5
RH
26382002-05-15 Richard Henderson <rth@redhat.com>
2639
2640 * varasm.c (merge_weak): Remove special case for extern and common.
2641
62e118f5
MH
26422002-05-15 Matt Hiller <hiller@redhat.com>
2643
2644 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 2645 XFAILing.
62e118f5
MH
2646 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
2647 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
2648 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
2649 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
2650 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
2651 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
2652
fefac463
AH
26532002-05-15 Aldy Hernandez <aldyh@redhat.com>
2654
355e4ec4 2655 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 2656
5f004351
AH
26572002-05-15 Aldy Hernandez <aldyh@redhat.com>
2658
355e4ec4
ZD
2659 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
2660 ("altivec_mfvscr"): Read from VSCR.
2661
2662 Add vscr sets for the following insns: altivec_vctuxs,
2663 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
2664 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
2665 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
2666 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
2667 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
2668 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
2669 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
2670 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
2671 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
2672 altivec_vsum2sws, altivec_vsumsws.
2673
2674 * config/rs6000/rs6000.h: Add VSCR fixed register.
2675 (CALL_REALLY_USED_REGISTERS): Add vscr.
2676 (CALL_USED_REGISTERS): Same.
2677 (FIXED_REGISTERS): Same.
2678 (REG_ALLOC_ORDER): Same.
2679 (reg_class): Add VSCR_REGS.
2680 (REG_CLASS_NAMES): Same.
2681 (REG_CLASS_CONTENTS): Same.
2682 (VSCR_REGNO): New.
2683 (REGISTER_NAMES): Add vscr.
2684 (DEBUG_REGISTER_NAMES): Same.
2685 (ADDITIONAL_REGISTER_NAMES): Same.
2686 (FIRST_PSEUDO_REGISTER): Increment.
2687 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 2688
033afd11
RH
26892002-05-15 Jakub Jelinek <jakub@redhat.com>
2690
2691 * fold-const.c (fold): Fix a typo.
2692
26932002-05-15 Eric Botcazou <ebotcazou@multimania.com>
2694
2695 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
2696 comparison against the highest or lowest integer value before
2697 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
2698 transformation and that of an unsigned comparison against 0
2699 right after.
2700
14285ace
RH
27012002-05-15 Richard Henderson <rth@redhat.com>
2702
2703 * varasm.c (merge_weak): Error for any weakening after definition.
2704 Adjust weakening after use warning to catch more cases.
2705 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
2706 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
2707
194734e9
JH
2708Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
2709
2710 * invoke.texi (-malign-double): Re-add lost warning.
2711
2712 * i386-protos.h (x86_output_mi_thunk): Declare.
2713 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
2714 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
2715
2716 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
2717 when flag_asynchronous_unwind_tables is set.
2718
2719 * flags.h (flag_reorder_functions): Declare.
2720 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 2721 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
2722 * Makefile.in (predict.o): Add dependency on target.h and params.h
2723 * defaults.h (HOT_TEXT_SECTION_NAME,
2724 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
2725 * predict.c (choose_function_section): New function.
2726 (estimate_bb_frequencies): Use it.
2727 * toplev.c (flag_reorder_functions): New global variable.
2728 (lang_independent_options): New.
2729 (parse_options_and_default_flags): Set.
2730 * varasm.c (assemble_start_function): Bypass functdion alignment
2731 for never executed functions.
2732 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
2733 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
2734 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
2735 Document.
2736
2737 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
2738
2739 * predict.c: Inlude profile.h
2740 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
2741 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
2742 Use the information about maximal counter in the program.
2743
2744 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
2745
2746 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
2747 probably_never_executed_bb_p): New functions.
2748 * cfgcleanup.c (outgoing_edges_match): Use them.
2749 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
2750 (maybe_hot_bb_p, probably_cold_bb_p,
2751 probably_never_executed_bb_p): New functions.
2752
2753 * function.h (function): Add new field function_frequency.
2754 * predict.c (compute_function_frequency): New function.
2755 (estimate_probability): Call it.
2756
61ad9a34
JJ
27572002-03-09 Jakub Jelinek <jakub@redhat.com>
2758
2759 PR optimization/5172, optimization/5200
2760 * gcse.c (gcse_main): Disable store_motion.
2761
a11eba95
ZW
27622002-05-14 Zack Weinberg <zack@codesourcery.com>
2763
2764 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
2765 (c_common_nodes_and_builtins): Use it.
2766 (builtin_define_with_value): New function.
2767 (cb_register_builtins): Define __SIZE_TYPE__,
2768 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
2769 using builtin_define_with_value. Use consistent notation when
2770 defining __GXX_WEAK__.
2771 (WCHAR_TYPE_SIZE): Don't redefine.
2772 (combine_strings): Don't use WCHAR_TYPE_SIZE.
2773
2774 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
2775 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
2776 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
2777 * tradcpp.c (initialize_builtins): Likewise.
2778 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
2779
2780 * c-lex.h (builtin_define_with_value): Prototype.
2781 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
2782 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
2783 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
2784
2785 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
2786 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
2787 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
2788 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
2789 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
2790 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
2791 config/sparc/sol2-bi.h, config/sparc/sparc.h:
2792 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
2793 to __SIZE_TYPE__ etc from all spec strings. When this makes
2794 extra specs empty, delete them.
2795
1c31ecf6
JDA
27962002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
2797
2798 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
2799 for PA8000 or generating dwarf2 call frame information.
2800 (output_call): Remove DO_FRAME_NOTES check from return pointer
2801 optimization.
2802 (following_call): Return 0 when scheduling for PA8000 or generating
2803 dwarf2 call frame information. Revise comment.
2804
ac9cfada
NB
28052002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
2806
2807config/alpha:
2808 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
2809 and __IEEE_FP_INEXACT as appropriate.
2810 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
2811 (CPP_SPEC): Remove ieee defines.
2812 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
2813
9b690711
RH
28142002-05-14 Richard Henderson <rth@redhat.com>
2815
2816 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
2817 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
2818
e6471be6
NB
28192002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
2820
e6471be6
NB
2821 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
2822 (CPP_SPEC): Update.
2823 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
2824 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
2825 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
2826 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
2827 (EXTRA_SPECS): Update.
2828 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
2829 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
2830 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
2831 define TARGET_OS_CPP_BUILTINS if necessary.
2832
e5f5feea
NB
28332002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
2834
2835 * gcc.c (cpp_options): Must pass -m* and -f* options
2836 to the front end even when only preprocessing.
2837 (cc1_options): Remove redundant -lang-c.
2838 * tradcpp.c (main): Ignore -m options.
2839objc:
2840 * lang-specs.h: Similarly.
2841
317638a8
VM
28422002-05-14 Vladimir Makarov <vmakarov@redhat.com>
2843
2844 * genautomata.c (transform_3): Add code for transformation
2845 `(A,B,...)+C -> A+C,B,...'.
2846
4d604303
JH
2847Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
2848
2849 * final.c (end_final): Do not output profile_arcs constructor, when
2850 no functions are instrumented.
2851
b18b06ed
JH
2852Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
2853
2854 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
2855
a12f97f0
GP
28562002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2857
2858 * doc/install.texi: Remove special markup originally required for
2859 HTML generation with texi2html.
2860
c1ae3eb4
AS
28612002-05-14 Andreas Schwab <schwab@suse.de>
2862
2863 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
2864 SELECT_SECTION.
2865 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
2866
2867 * varasm.c (resolve_unique_section): Add third parameter
2868 flag_function_or_data_sections and use it instead of
2869 flag_function_sections.
2870 (assemble_start_function): Pass flag_function_sections.
2871 (asm_emit_uninitialised): Pass flag_data_sections.
2872 (assemble_variable): Likewise.
2873
8ee41eaf
RH
28742002-05-14 Richard Henderson <rth@redhat.com>
2875
2876 * config/i386/i386.md: Use define_constants for unspec numbers.
2877 * config/i386/i386.c: Likewise.
2878
e6471be6
NB
28792002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
2880
2881 * doc/contrib.texi: Update my entry.
2882
c297b764
MM
28832002-05-13 Mark Mitchell <mark@codesourcery.com>
2884
2885 * fixinc/inclhack.def (winidss_valist): Limit applicability.
2886 * fixinc/fixincl.x: Regenerated.
2887 * fixinc/tests/base/math.h: Update.
2888 * fixinc/tests/base/testing.h: Likewise.
2889
0b42c8f8
ZW
28902002-05-13 Zack Weinberg <zack@codesourcery.com>
2891
2892 * genattr.c (gen_attr): Don't emit a comma after the last
2893 enumerator.
2894
546c093e
RH
28952002-05-13 Richard Henderson <rth@redhat.com>
2896
2897 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
2898 by non-local gotos.
2899 * recog.c (peephole2_optimize): Likewise.
2900
85be8c2d
AP
29012002-05-13 Andris Pavenis <pavenis@lanet.lv>
2902
2903 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
2904 input to O_BINARY.
2905
765b8f90
JL
29062002-05-13 Jeffrey A Law (law@redhat.com)
2907
fe4b3c79
JL
2908 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
2909 Update prototype and callers.
2910 (propagate_one_insn): Stack pointer adjustments kill MEMs on
2911 the mem_set_list which reference the stack pointer, as do
2912 calls to constant functions as they may clobber outgoing
2913 argument space.
2914
16133d00
JL
2915 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
2916
765b8f90
JL
2917 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
2918 (ia32_multipass_dfa_lookahead): New function.
2919
63826d5b
NB
29202002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
2921
2922 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
2923 (translate_options): Remove 'V'.
2924 (process_command): Similarly.
2925doc:
2926 * invoke.texi: Remove documentation of 'V'.
2927
dcb41ced
UW
29282002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
2929
2930 * config/s390/linux.h: Revert 2002-04-22 changes.
2931
8dfea428
SM
29322002-05-13 Scott Marks <SMarks@mobile-mind.com>
2933
2934 * config/fr30/fr30.md: Only allow splits of immediate loads
2935 if the destination is a register.
2936
12a41c22
NB
29372002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
2938
2939 * Makefile.in (c-common.o, cppinit.o): Update.
2940 * c-common.c: Include except.h.
2941 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
2942 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
2943 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
2944 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
2945 CPP_PREDEFINES): Handle here.
2946config:
2947 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
2948 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
2949 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
2950 TARGET_OS_CPP_BUILTINS.
2951 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
2952 (CPP_SPEC, EXTRA_SPECS): Update.
2953 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
2954 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
2955 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
2956 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
2957 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
2958doc:
2959 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
2960 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
2961
5692c7bc
ZW
29622002-05-12 Zack Weinberg <zack@codesourcery.com>
2963
2964 * emit-rtl.c (global_rtl): Update comment.
2965 (const_double_htab, const_double_htab_hash,
2966 const_double_htab_hash, lookup_const_double): New.
2967 (const_int_htab_hash, const_int_htab_eq): Remove const
2968 qualifiers, which cause tons of warnings with RTL checking on.
2969 (gen_rtx_CONST_DOUBLE): Deleted.
2970 (const_double_from_real_value): New function - bears some
2971 resemblance to the former immed_real_const_1.
2972 (immed_double_const): Moved here from varasm.c and
2973 simplified.
2974 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
2975 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
2976 (gen_rtx): Use immed_double_const.
2977 (init_emit_once): Initialize the const_double_htab. Use
2978 REAL_VALUE_FROM_INT where possible. Can now use
2979 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
2980 * varasm.c (struct varasm_status): Remove x_const_double_chain.
2981 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
2982 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
2983 (init_varasm_status, mark_varasm_status): Don't touch
2984 x_const_double_chain.
2985
2986 * output.h: Delete prototype for clear_const_double_mem.
2987 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
2988 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
2989 const_double_from_real_value, not immed_real_const_1, and use
2990 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
2991 CONST_DOUBLE_ATOF.
2992 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
2993 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
2994 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
2995 (gen_rtx_REG): Second arg is unsigned.
2996
2997 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
2998 (excluded_rtx): New, return true for CONST_DOUBLE.
2999 (genmacro): Write nothing for excluded codes.
3000 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
3001 * expr.c (expand_expr): Likewise.
3002 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
3003 CONST_DOUBLE_CHAIN.
3004 * toplev.c (rest_of_compilation): Don't call
3005 clear_const_double_mem.
3006
3007 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
3008 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
3009 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
3010 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
3011 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
3012 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
3013 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
3014 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
3015
31397a7b
KG
30162002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3017
3018 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
3019
1b70d38a
TT
30202002-05-12 Tom Tromey <tromey@redhat.com>
3021
3022 * tree.h (copy_node): Don't mention TREE_PERMANENT.
3023
9a5834ae
ZW
30242002-05-12 Zack Weinberg <zack@codesourcery.com>
3025
3026 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
3027 (scan_comma_elt): New function. Accepts whitespace in comma lists.
3028 * gensupport.h: Prototype new routines.
3029 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
3030 use of printf.
3031 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
3032 (next_comma_elt): Use scan_comma_elt.
3033
3034 * config/i386/i386.md: Use new attribute notation to break up
3035 long lines in define_attr forms.
3036
51286de6
RH
30372002-05-12 Richard Henderson <rth@redhat.com>
3038
3039 * expr.c (compress_float_constant): New.
3040 (emit_move_insn): Use it.
3041 (float_extend_from_mem): New.
3042 (init_expr_once): Initialize it.
3043 * real.c (exact_real_truncate): New.
3044
3045 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
3046 dropped into memory; penalize for size.
3047 (RTX_COSTS): FLOAT_EXTEND is free.
3048 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
3049 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
3050
6412341e
RH
30512002-05-12 Richard Henderson <rth@redhat.com>
3052
3053 * profile.h (profile_info): Add missing extern to declaration.
3054 * profile.c (profile_info): Define it.
3055
12877f09
JDA
30562002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
3057
3058 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
3059 used for DImode and TImode.
3060
387f9e32
NB
30612002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
3062
3063 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
3064 fake a newline.
3065
e1a0f69c
ZW
30662002-05-11 Zack Weinberg <zack@codesourcery.com>
3067
3068 * config/rs6000/rs6000.c (rs6000_default_long_calls,
3069 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
3070 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
3071 (rs6000_override_options): Handle -m(no-)longcall.
3072 (init_cumulative_args, output_mi_thunk): Check for both
3073 longcall and shortcall attributes on the function.
3074 (rs6000_attribute_table): Add "shortcall".
3075 (rs6000_handle_longcall_attribute): Update comment.
3076 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
3077 altivec_expand_ternop_builtin): Add default clauses to switches
3078 to silence warnings.
3079
3080 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
3081 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
3082 (TARGET_OPTIONS): Add longcall and no-longcall.
3083
3084 * config/rs6000/rs6000.md (call_nonlocal_sysv,
3085 call_value_nonlocal_sysv): Split by alternatives. One pair
3086 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
3087 the call cookie. The other pair accepts only LR/CTR and has
3088 no restriction.
3089
3090 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
3091 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
3092 tmake_file.
3093 * config/rs6000/rs6000-c.c: New file.
3094 * config/rs6000/t-rs6000-c-rule: New file.
3095 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
3096 Prototype rs6000_pragma_longcall.
3097
3098 * doc/extend.texi: Document shortcall attribute.
3099 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
3100
9c64026d
JDA
31012002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
3102
3103 * reorg.c (dbr_schedule): Remove unnecessary test.
3104
6c81a490
JH
3105Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
3106
3107 * i386.md (testsi to testqi spliters): New.
3108
3109 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
3110
3111 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
3112
3113 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
3114
3115 * basic-block.h: New flag EDGE_CAN_FALLTHRU
3116 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
3117 that can be made fallthru.
3118
3119 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
3120
3121 * cfglayout.c (cleanup_unconditional_jumps): New static function.
3122 (cfg_layout_initialize): Use it.
4c476cf3 3123
e4447d94
MM
31242002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
3125
3126 * config/avr/avr.c (avr_mcu_types): Update supported devices.
3127 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
3128 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
3129
3a538a66
KH
31302002-05-11 Kazu Hirata <kazu@cs.umass.edu>
3131
3132 * dbxout.c: Fix formatting.
3133 * dependence.c: Likewise.
3134 * df.c: Likewise.
3135 * diagnostic.c: Likewise.
3136 * doloop.c: Likewise.
3137 * dominance.c: Likewise.
3138 * doschk.c: Likewise.
3139 * dwarf2asm.c: Likewise.
3140 * dwarf2out.c: Likewise.
3141 * dwarfout.c: Likewise.
3142
2292e8fc
RH
31432002-05-10 Richard Henderson <rth@redhat.com>
3144
3145 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
3146 Convert integers constants as needed. Replace "nwords" field with
3147 "sizeof_bb".
3148 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
3149 * function.h: Fix typo in comment.
3150 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
3151
dbfb1116
RS
31522002-05-10 Roger Sayle <roger@eyesopen.com>
3153
3154 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
3155 into the equivalent (signed char)c > 0.
3156
79a497cd
JJ
31572002-05-10 Janis Johnson <janis187@us.ibm.com>
3158
3159 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
3160 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
3161 (struct prefetch_info): Fix spelling of member bytes_accessed.
3162 (emit_prefetch_instructions): Make dump messages more regular;
3163 restructure code to add more dump messages; use new macros for
3164 heuristics. (There are no code generation changes in any of this).
3165
6c45cb0d
DM
31662002-05-10 David S. Miller <davem@redhat.com>
3167
7440af14
DM
3168 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
3169 (struct rtx_def): Update unchanging flag comment.
3170 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
3171 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
3172 to be handled to INSN too.
3173 (dbr_schedule): Likewise.
3174 * resource.c (next_insn_no_annul): Likewise.
3175
6c45cb0d
DM
3176 * cse.c (rtx_cost): Remove multiplication by power of 2 special
3177 casing.
3178
29f21e4f
GP
31792002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3180
3181 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
3182 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
3183 (possibly) work around broken /bin/sh.
3184
e4ba88da
RO
31852002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3186
3187 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
3188 . as N64/N32 libgcc_s.so subdirs.
3189
4f4778ee
DM
31902002-05-10 David S. Miller <davem@redhat.com>
3191
3192 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
3193
3194 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
3195 more accurately.
3196 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
3197 comment.
3198 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
3199 * doc/rtl.texi: Document these macros more accurately.
3200 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
3201 JUMP_INSNs and CALL_INSNs.
3202 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
3203 or INSN_FROM_TARGET_P if the code is appropriate.
3204
1a499b92
MM
32052002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
3206
3207 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
3208 before using SYMBOL_REF_FLAG (addr).
3209
3210 * config/avr/avr-protos.h (avr_io_address_p): Declare.
3211 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
3212 Make non-static. Update all callers.
3213 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
3214 New insns to clear/set/test a single bit in I/O address space.
3215
65212b66
KG
32162002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3217
3218 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
3219
3df89291
NB
32202002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
3221
3222 * Makefile.in: Update.
3223 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
3224 builtin_define_std): New.
3225 (c_common_init): Register CPP builtins callback.
3226 * c-common.h (flag_iso, flag_undef): New.
3227 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
3228 * c-lex.c: Don't include target.h.
3229 (cb_register_builtins): Move to c-common.c.
3230 (init_c_lex): Don't register hook here.
3231 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
3232 (cpp_define, cpp_assert): Remove.
3233 * gcc.c (cc1_options): Pass -undef to front end.
3234 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
3235 (TARGET_INITIALIZER): Update.
3236 * target.h (struct cpp_reader): Don't predeclare.
3237 (struct gcc_target): Remove cpp builtin hook.
3238 * tree.c (default_register_cpp_builtins): Remove.
3239doc:
3240 * tm.texi: Update.
3241
32fa4565
NB
32422002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
3243
3244 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
3245
23357c55
RO
32462002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3247
3248 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
3249 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
3250
5aa26af0
JJ
32512002-05-09 Jakub Jelinek <jakub@redhat.com>
3252
3253 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
3254 * config/sparc/libgcc-sparc-glibc.ver: New file.
3255 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
3256 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
3257
2937267b
JJ
32582002-05-09 Jakub Jelinek <jakub@redhat.com>
3259
3260 PR target/6429
3261 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
3262 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
3263 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
3264 base multilibs.
3265 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
3266 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
3267 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
3268 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
3269
086c0f96
RH
32702002-05-09 Richard Henderson <rth@redhat.com>
3271
3272 * config/ia64/ia64.md: Use define_constants for unspec numbers.
3273 * config/ia64/ia64.c: Likewise.
3274
a8b4881f
RS
32752002-05-09 Richard Sandiford <rsandifo@redhat.com>
3276
3277 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
3278 (save_restore_insns): Likewise.
3279 (mips_expand_prologue, mips_expand_epilogue): Update callers.
3280 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
3281
243e5500 3282Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
890d52e8 3283
af2728a4
JL
3284 * athlon.md, k6.md, pentium.md, ppro.md): New files.
3285 * i386.md: Move scheduling information into new files.
3286
890d52e8
JL
3287 * i386.md (type attribute): Add "rotate" for rotate insns.
3288 (rotate insns): Set type to "rotate".
3289 (various attributes and function units): Treat rotate like shift.
3290 (pent_pair attribute): Only rotates by one bit position are
3291 pairable.
3292 (sbb insns): Explicitly set pent_pair attribute on a couple
3293 that were missing it.
3294
f78ec36a
R
3295Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
3296
3297 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
3298 make sure that buffer starts on odd word address.
3299 (sh_va_arg): Skip odd fp registers when reading a double precision
3300 value.
3301
ff431459
NB
33022002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
3303
3304 * tree.h (preserve_data, object_permanent_p, type_precision):
3305 Remove.
3306
c3bf3e6e
NB
33072002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
3308
3309 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
3310 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
3311doc:
3312 * cpp.texi: Update for removal of obsolete features.
3313
02263a8a
JH
3314Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
3315 Jeffrey A Law (law@redhat.com)
3316
3317 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
3318 the DFA interface for Pentium processors.
3319 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
3320 (attr_pent_pair, ix86_pent_find_pair): Remove.
3321 (ix86_sched_reorder_pentium): Remove.
3322 (ix86_sched_reorder): Remove reordering for Pentium.
3323 * i386.md (Pentium scheduling): Rewrite using DFA description.
3324
3e638a90
JH
3325Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
3326
3327 * cfganal.c (can_fallthru): Fix fast path.
3328 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
3329 with edges to the next block.
3330
b7c9bf28
JH
3331Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
3332 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
3333
3334 * final.c (end_final): Use C trees to output data structures for profiling.
3335
3336 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
3337 (profile.o): New dependency profile.h
3338 (final.o): New dependency profile.h
3339 * profile.h: New file. New global structure profile_info.
3340 * final.h (count_edges_instrumented_now): Declare.
3341 (current_function_cfg_checksum): Declare.
3342 (function_list): New structure.
3343 (functions_head, functions_tail): New static variables.
3344 (end_final): Emits more data, removed some -ax stuff.
3345 (final): Stores function names and chcksums.
3346 * gcov-io.h (__write_gcov_string): New function.
3347 (__read_gcov_string): New function.
3348 * gcov.c (read_profile): New function.
3349 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 3350 da_file.
5692c7bc
ZW
3351 (read_files): Removed da_file checking, it's done by read_profile now.
3352 * libgcc2.c (bb_function_info): New structure.
3353 (bb): New field in structure, removed some -ax stuff.
3354 (__bb_exit_func): Changed structure of da_file.
3355 * profile.c (count_edges_instrumented_now): New global variable.
3356 (current_function_cfg_checksum): New global variable.
3357 (max_counter_in_program): New global variable.
3358 (get_exec_counts): New function.
3359 (compute_checksum): New function.
3360 (instrument_edges): Sets count_edges_instrumented_now.
3361 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 3362 reading da_file.
5692c7bc
ZW
3363 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
3364 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 3365 now.
5692c7bc 3366 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 3367 now.
5692c7bc 3368 * gcov.texi: Updated information about gcov file format.
b7c9bf28 3369
786de7eb
KH
33702002-05-09 Kazu Hirata <kazu@cs.umass.edu>
3371
3372 * sbitmap.c: Fix formatting.
3373 * scan.c: Likewise.
3374 * scan-decls.c: Likewise.
3375 * sched-deps.c: Likewise.
3376 * sched-ebb.c: Likewise.
3377 * sched-rgn.c: Likewise.
3378 * sched-vis.c: Likewise.
3379 * sdbout.c: Likewise.
3380 * sibcall.c: Likewise.
3381 * simplify-rtx.c: Likewise.
3382 * ssa.c: Likewise.
3383 * ssa-ccp.c: Likewise.
3384 * ssa-dce.c: Likewise.
3385 * stmt.c: Likewise.
3386 * stor-layout.c: Likewise.
3387 * stringpool.c: Likewise.
3388
b7764693
DM
33892002-05-09 David S. Miller <davem@redhat.com>
3390
3391 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
3392
4e7d5d27
DM
33932002-05-07 David S. Miller <davem@redhat.com>
3394
3395 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
3396 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
3397 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
3398 library implementation clobbers the output before the inputs
3399 are fully consumed, use stack temporary for the output.
3400
f979570e
JT
34012002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
3402
3403 * config/netbsd.h (CPP_SPEC): Remove.
3404 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
3405 * config/i386/netbsd.h (CPP_SPEC): Define.
3406 * config/ns32k/netbsd.h (CPP_SPEC): Define.
3407 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
3408 * config/sparc/netbsd.h (CPP_SPEC): Define.
3409 * config/vax/netbsd.h (CPP_SPEC): Define.
3410
a6a2274a
KH
34112002-05-08 Kazu Hirata <kazu@cs.umass.edu>
3412
3413 * read-rtl.c: Fix formatting.
3414 * real.c: Likewise.
3415 * recog.c: Likewise.
3416 * regclass.c: Likewise.
3417 * regmove.c: Likewise.
3418 * reg-stack.c: Likewise.
3419 * reload1.c: Likewise.
3420 * reload.c: Likewise.
3421 * resource.c: Likewise.
3422 * rtlanal.c: Likewise.
3423 * rtl.c: Likewise.
3424 * rtl-error.c: Likewise.
3425
461b48d5
JDA
34262002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
3427
3428 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
3429 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
3430
95d075ff
BS
34312002-05-08 Bernd Schmidt <bernds@redhat.com>
3432
3433 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
3434 use __SSE2__ macro instead.
3435 * config/i386/xmmintrin.h: Likewise.
3436
2d4cc6a7
JJ
34372002-05-08 Janis Johnson <janis187@us.ibm.com>
3438
3439 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
3440 and use it in all invocations of these macros. Clean up comments.
3441 * rtl.c (rtl_check_failed_flag): Add an argument for the name
3442 of the flag access macro whose check failed.
3443 * doc/rtl.texi (Flags): Document additional flag uses.
3444
3f8ffc7c
RS
34452002-05-08 Robert Spier <rspier@pobox.com>
3446 Neil Booth <neil@daikokuya.demon.co.uk>
3447
3448 PR preprocessor/6521
3449 * cppfiles.c (handle_missing_header): Don't do anything
3450 different for <> includes.
3451doc:
3452 * cppopts.texi: Update documentation for -MG.
3453
b9e2d17b
NB
34542002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
3455
3456 * cpplex.c (cpp_interpret_charconst): Truncate as well as
3457 sign-extend.
3458doc:
3459 * cpp.texi: Clarify multichar charconst valuation.
3460
8d8269fa
MM
34612002-05-08 Mark Mitchell <mark@codesourcery.com>
3462
3463 * doc/invoke.texi: Document -mwindiss option.
3464
29b91443
JM
34652002-05-08 Jason Merrill <jason@redhat.com>
3466
3467 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
3468
3469 * dwarf2out.c (gen_type_die): Abort on broken recursion.
3470
3471 PR c++/6381
3472 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
3473 REAL_CST.
3474
6c76b950
NC
34752002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
3476
3477 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
3478 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 3479 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
3480 multilibs for the Thumb.
3481
f90bf7ca
MM
34822002-05-08 Mark Mitchell <mark@codesourcery.com>
3483
3484 PR c/6569.
3485 * varasm.c (mark_weak): New function.
3486 (merge_weak): Use it. Do not call declare_weak.
3487 (declare_weak): Use merge_weak.
3488
1e150f2c
JH
3489Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
3490
3491 * cse.c (dead_libcall_p): Update counts.
3492 (delete_trivially_dead_insns): Update call of dead_libcall_p.
3493
969d70ca
JH
3494Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
3495
3496 * cfglayout.c (function_tail_eff_head): Rename to ...
3497 (function_footer): ... this one.
3498 (unlink_insn_chain): New functions.
3499 (label_for_bb): Only call block_label and emit debug message.
3500 (record_effective_endpoints): Actually unlink the headers and footers.
3501 (fixup_reorder_cahin): Re-insert the unlinked sequences.
3502 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
3503 * cfglayout.h (struct reorder_block_def): New fields footer/header;
3504 remove eff_head/eff_end.
3505 * rtl.h (set_first_insn): Declare.
3506 * emit-rtl.c (set_first_insn): New function.
3507
3508 * cfglayout.c (fixup_reorder_chain): Dump duplicated
3509 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
3510 cfg_layout_duplicate_bb): New global function.
3511 (duplicate_insn_chain): New static function.
3512 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
3513 cfg_layout_duplicate_bb): Declare.
3514 (struct reorder_block_def): Add "original" field.
3515 * emit-rtl.c (emit_copy_of_insn_after): New function.
3516 * rtl.h (emit_copy_of_insn_after): Declare.
3517
3518 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
3519 (fixup_reorder_chain): properly handle edges to exit block.
3520
3521Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3522 Jan Hubicka <jh@suse.cz>
3523
3524 * basic-block.h (note_prediction_to_br_prob): declare.
3525 * c-semantics.c: Inlucde predit.h
3526 (expand_stmt): predict GOTO_STMT as not taken.
3527 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
3528 (cleanup_cfg): Do not free tail_recursion_list.
3529 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
3530 (flow_delete_block): Kill predictions past end of basic block.
3531 * output.h (delete_unreachable_blocks): Declare.
3532 * predict.c (predicted_by_p, process_note_predictions,
3533 process_note_prediction, last_block_p): New function.
3534 (estimate_probability): Bypass loop on PRED_CONTINUE;
3535 do not handle noreturn heuristics; kill PRED_RETURN; add
3536 PRED_EARLY_RETURN.
3537 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
3538 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
3539 * predict.h (IS_TAKEN): New constant.
3540 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
3541 * rtl.c (NOTE_INSN_PREDICTION): New.
3542 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
3543 New macro.
3544 (insn_note): add NOTE_INSN_PREDICTION.
3545 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
3546 CFG; free tail_recursion_label_list.
3547 * stmt.c: Include predict.h;
3548 (return_prediction): New.
3549 (expand_value_return): Use it.
3550 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
3551
41f8d041
RS
35522002-05-08 Richard Sandiford <rsandifo@redhat.com>
3553
3554 * config/mips/mips.md: Name the unspecs with define_constant.
3555 (*HILO_delay): Rename to 'hilo_delay' (no star).
3556 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
3557 (reload_outdi, reload_outsi): Likewise.
3558
9cabb1d8
KH
35592002-05-07 Kazu Hirata <kazu@cs.umass.edu>
3560
3561 * toplev.c: Fix formatting.
3562
4c76f856
JJ
35632002-05-07 Janis Johnson <janis187@us.ibm.com>
3564
3565 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
3566 * configure.in (ac_rtlflag_checking): New.
3567 * doc/install.texi (--enable-checking): Document RTL flag checking.
3568
44a147ad
NB
35692002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
3570
3571 * c-common.c (c_common_init): Set options->unsigned_wchar.
3572 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
3573 group target dependencies.
3574 (init_builtins, cpp_handle_option): Update.
3575 * cpplex.c (cpp_interpret_charconst): Update.
3576 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
3577 signed_char to unsigned_char, group target dependencies.
3578 * defaults.h (WCHAR_UNSIGNED): Remove.
3579 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
3580config:
3581 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
3582 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
3583 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
3584 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
3585 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
3586doc:
3587 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
3588
cace4f93
MM
35892002-05-07 Mark Mitchell <mark@codesourcery.com>
3590
3591 * fixinc/inclhack.def (windiss_math1): New fix.
3592 (windiss_math2): Likewise.
3593 (windiss_valist): Likewise.
3594 * fixinc/fixincl.x: Regenerated.
3595
e2ff6cee
AJ
35962002-05-07 Andreas Jaeger <aj@suse.de>
3597
3598 * genautomata.c (output_internal_min_issue_delay_func): Add
3599 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
3600 (output_internal_trans_func): Likewise.
3601
bdad4be5
JL
3602Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
3603
3604 * pa.c (hppa_profile_hook): Use force_reg to get the address
3605 of the profile hook into an appropriate pseudo register.
3606
a1ffecd9
MM
36072002-05-07 Mark Mitchell <mark@codesourcery.com>
3608
3609 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
3610 (LINK_START_SPEC): Handle it.
3611 (LINK_OS_SPEC): Likewise.
3612 (CPP_SPEC): Likewise.
3613 (STARTFILE_SPEC): Likewise.
3614 (LIB_SPEC): Likewise.
3615 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
3616 all platforms.
3617 (CRTSAVRES_DEFAULT_SPEC): New macro.
3618 (LIB_WINDISS_SPEC): New macro.
3619 (CPP_OS_WINDISS_SPEC): Likewise.
3620 (STARTFILE_WINDISS_SPEC): Likewise.
3621 (ENDFILE_WINDISS_SPEC): Likewise.
3622 (LINK_START_WINDISS_SPEC): Likewise.
3623 (LINK_OS_WINDISS_SPEC): Likewise.
3624 * config/rs6000/windiss.h: New file.
e2ff6cee 3625
df966bff
AH
36262002-05-07 Aldy Hernandez <aldyh@redhat.com>
3627
a5c76ee6 3628 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 3629
db84f1bd
DM
36302002-05-06 David S. Miller <davem@redhat.com>
3631
3632 * config/sparc/sparc.md (shift insns): Do not mask off
3633 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
3634 take care of it.
3635
818c0c94
RH
36362002-05-06 Richard Henderson <rth@redhat.com>
3637
3638 PR c++/6212
3639 * expr.c (highest_pow2_factor_for_type): New.
3640 (expand_assignment): Use it.
3641
61e0b50f
AH
36422002-05-06 Aldy Hernandez <aldyh@redhat.com>
3643
818c0c94
RH
3644 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
3645 unspec_volatile.
3646 ("altivec_mfvscr"): Same.
61e0b50f 3647
5a63e069
JJ
36482002-05-06 Janis Johnson <janis187@us.ibm.com>
3649
3650 * rtl.h (struct rtx_def): Update comments.
3651 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
3652 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
3653 RTL_FLAG_CHECK macros with list of expected RTL codes.
3654 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
3655 (rtl_check_failed_flag): New.
3656 * reload1.c (reload): Use REG macro before changing rtx to MEM.
3657 (reload_cse_noop_set_p): Check rtx code before using access macro.
3658 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
3659 before using access macro.
3660
4afe3952
JJ
36612002-05-06 Janis Johnson <janis187@us.ibm.com>
3662
3663 * doc/rtl.texi (Flags): Update to reflect current usage.
3664
1f77b5da
RS
36652002-05-06 Roger Sayle <roger@eyesopen.com>
3666
3667 PR opt/3995
3668 * fold-const.c (sign_bit_p): New function.
3669 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 3670 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
3671 Reapply fold when converting (A & C) == C into (A & C) != 0.
3672 (fold_binary_op_with_conditional_arg): Fix typo in comment.
3673
a5a49440
NB
36742002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
3675
3676 * c-common.c (warn_multichar): New.
3677 (c_common_init): Set CPP's warn_multichar.
3678 * c-common.h (warn_multichar): New.
3679 * c-decl.c (warn_multichar): Remove.
3680 * c-lex.c (lex_charconst): Update.
3681 * c-tree.h (warn_multichar): Remove.
3682 * cppexp.c (eval_token): Sign-extend charconst value.
3683 * cppinit.c (cpp_create_reader): Set warn_multichar.
3684 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
3685 each character. Update prototype. Sign-extend the result.
3686 * cpplib.h: Fix conditions.
3687 (struct cpp_options): Add new warning flag.
3688 (cpp_interpret_charconst): Update prototype.
3689doc:
3690 * cpp.texi: Update documentation.
3691
83e0be55
VM
36922002-05-06 Vladimir Makarov <vmakarov@redhat.com>
3693
3694 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
3695 Fix typo in usage of allof instead of unit.
3696
688ec718
RH
36972002-05-06 Richard Henderson <rth@redhat.com>
3698
3699 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
3700 and any jump or call for IN.
3701
f6536266
BS
37022002-05-06 Bernd Schmidt <bernds@redhat.com>
3703
e2ff6cee 3704 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
3705 -msse2.
3706 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 3707
0316d49b
RS
37082002-05-06 Roger Sayle <roger@eyesopen.com>
3709
3710 * fold-const.c (lshift-double): Cast the high word to an unsigned
3711 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
3712 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
3713 avoid compiler warning. (fold): Remove redundant code from
3714 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
3715
5d50fab3
JL
37162002-05-06 Jeff Law <law@redhat.com>
3717
3718 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
3719 * pa.c (pa_adjust_cost): Remove all true dependency cost
3720 adjustments. Also remove support for non-DFA scheduling.
3721 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
3722 to adjust true dependency costs. Update various comments.
3723 (7100lc, 7200, 7300 scheduling): Simplify by combining the
3724 FP ALU & MPY units into a single unit.
3725
a17a104c
CM
37262002-05-06 Catherine Moore <clm@redhat.com>
3727
3728 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 3729 to count all of the registers that will be saved.
a17a104c 3730
7799175f
JH
3731Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
3732
3733 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
3734
0ac941a0
DM
37352002-05-06 David S. Miller <davem@redhat.com>
3736
3737 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
3738 allow result to overlap input operands in memory.
3739
95ff5d3f
NB
37402002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
3741
3742doc:
3743 * cpp.texi: Update multichar charconst docs.
3744
639e8b0c
NB
37452002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
3746
3747 * cpplex.c (cpp_interpret_charconst): Sign-extend each
3748 character. Don't ignore excess characters. Treat
3749 multicharacter character constants as signed.
3750 (cpp_parse_escape): Clarify diagnostic.
3751
84ea5bc1
JJ
37522002-05-05 Jakub Jelinek <jakub@redhat.com>
3753
3754 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
3755 use add instead of shift.
3756 (ashldi3_sp64): Likewise.
3757 (ashlsi3_const1, ashldi3_const1): Remove.
3758 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
3759 * config/sparc/sparc.c (const1_operand): New.
3760
40cd22f2
JT
37612002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
3762
3763 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
3764
cac01076
JJ
37652002-05-05 Jakub Jelinek <jakub@redhat.com>
3766
3767 PR target/6561
3768 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
3769
98791e3a
RH
37702002-05-05 Richard Henderson <rth@redhat.com>
3771
3772 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
3773 memory latency adjustments.
3774 (alpha_variable_issue): Remove.
3775 (alpha_use_dfa_pipeline_interface): New.
3776 (alpha_multipass_dfa_lookahead): New.
3777 * config/alpha/alpha.md: Remove define_function_unit scheduling;
3778 include new dfa scheduling.
3779 (attr type): Add none.
3780 (blockage): Use it.
3781 * config/alpha/ev4.md: New.
3782 * config/alpha/ev5.md: New.
3783 * config/alpha/ev6.md: New.
3784
309527ce
DM
37852002-05-05 David S. Miller <davem@redhat.com>
3786
3787 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
3788
68252e27
KH
37892002-05-05 Kazu Hirata <kazu@cs.umass.edu>
3790
3791 * cse.c: Fix formatting.
3792 * emit-rtl.c: Likewise.
3793
30cc9d00
VM
37942002-05-05 Vladimir Makarov <vmakarov@redhat.com>
3795
3796 * genautomata.c (initiate_states): Add additional guard to
3797 initialize `units_array'.
3798
deb09eff
VM
37992002-05-05 Vladimir Makarov <vmakarov@redhat.com>
3800
3801 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
3802 process_unit_to_form_the_same_automaton_unit_lists,
3803 form_the_same_automaton_unit_lists
3804 check_unit_distributions_to_automata): New prototypes and
3805 functions.
3806 (check_automata): Rename it into `check_automata_insn_issues'.
3807 (unit_decl): New fields `the_same_automaton_unit' and
3808 `the_same_automaton_message_reported_p'.
3809 (unit_decl_t): New typedef.
3810 (the_same_automaton_lists): New gloval variable.
3811 (unit_regexp, unit_set_el, units_array, units_cmp,
3812 output_get_cpu_unit_code_func): Use the typedef.
3813 (evaluate_max_reserv_cycles): Increment
3814 `description->max_insn_reserv_cycles'.
3815 (initiate_states): Don't increment `max_cycles_num'.
3816 (transform_insn_regexps): Move code around transformation of
3817 regexps from `generate'.
3818 (generate): Remove call of `transform_insn_regexps'.
3819 (expand_automata): Call `transform_insn_regexps' and
3820 `check_unit_distributions_to_automata'. Check errors before
3821 `generate'.
3822
3823 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
3824 automaton `ultrasparc3_1'.
e2ff6cee 3825
2443d4e1
NB
38262002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
3827
3828 * c-common.c (c_common_init): Set up CPP arithmetic.
3829 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
3830 something reasonable for the host.
3831 (sanity_checks): Add checks.
3832 (cpp_read_main_file): Call sanity_checks() from here...
3833 (cpp_post_options): ... not here.
3834 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
3835 * cpplib.h (struct cpp_options): New member int_precision.
3836
791a949f
FS
38372002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3838
3839 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
3840
091fb516
DM
38412002-05-04 David S. Miller <davem@redhat.com>
3842
f60ebeb7
DM
3843 * config/sparc/linux.h, config/sparc/linux64.h
3844 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
3845
214c6394
DM
3846 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
3847 more RTX codes.
3848 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
3849
091fb516
DM
3850 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
3851 of SETs.
3852
f2fdc802
TJ
38532002-05-05 Tim Josling <tej@melbpc.org.au>
3854
e2ff6cee 3855 * treelang; New directory for new sample language treelang.
f2fdc802 3856
3d90d290
NB
38572002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
3858
3859 * Makefile.in (c-lex.o): Update.
3860 * c-lex.c: Include target.h.
3861 (cb_register_builtins): New.
3862 (init_c_lex): Set builtins callback.
3863 * c-lex.h (cpp_define, cpp_assert): New prototypes.
3864 * cppinit.c (init_builtins): Use callback, including for
3865 GXX_WEAK.
3866 * cpplib.h (struct cpp_callbacks): New member.
3867 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
3868 (TARGET_INITIALIZER): Update.
3869 * target.h (struct gcc_target): New hook.
3870 * tree.c (default_register_cpp_builtins): New.
3871 * tree.h (default_register_cpp_builtins): New.
3872doc:
3873 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
3874
625458d0
NB
38752002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
3876
3877 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
3878 (cpp_post_options): Move sanity checks to...
3879 (sanity_checks): New.
3880 * cpplex.c (maybe_read_ucs): Fix prototype.
3881 (parse_string, cpp_parse_escape): Cast for %c format specifier.
3882 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
3883 if necessary.
3884
916b60b7
BS
38852002-05-04 Bernd Schmidt <bernds@redhat.com>
3886
3887 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
3888 builtins. Use V2DI patterns instead of TI for logical operations.
3889 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
3890 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
3891 (ix86_expand_builtins): Change the pattern used for movntdq.
3892 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
3893 sse2_nandv2di3): New patterns.
3894 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
3895 on operands.
3896 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
3897 (cvtdq2pd): Correct mode on operand 1.
3898 (sse2_umulsidi3): Describe without unspec.
3899 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
3900 machine modes.
3901 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
3902 (ashlv2di3): Likewise, from sse2_ashlv2di3.
3903 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
3904 ashlv4si3, ashlv2di3): Use SImode for shift count.
3905 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
3906 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
3907 New patterns.
3908 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
3909 New typedefs.
3910 (__m128i, __m128d): New macros.
3911 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
3912 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
3913 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
3914 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
3915 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 3916 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
3917 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
3918 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 3919 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
3920 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
3921 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
3922 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
3923 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
3924 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
3925 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
3926 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
3927 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
3928 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
3929 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
3930 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
3931 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
3932 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
3933 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
3934 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
3935 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
3936 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
3937 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
3938 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
3939 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
3940 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
3941 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
3942 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
3943 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
3944 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
3945 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
3946 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
3947 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
3948 functions.
e2ff6cee 3949 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
3950 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
3951
c26fbbca
KH
39522002-05-04 Kazu Hirata <kazu@cs.umass.edu>
3953
3954 * dwarf2out.c: Fix formatting.
3955 * varasm.c: Likewise.
3956
0387639b
DE
39572002-05-04 David Edelsohn <edelsohn@gnu.org>
3958
3959 PR c/6543
3960 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
3961 clobber and use result as temporary value.
3962
8a28dbcc
JH
3963Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
3964
3965 * expr.c (force_operand): Use expand_simple_* to handle more
3966 cases.
3967
4268e8bb
NB
39682002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
3969
3970 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
3971 and sign-extension.
3972 (lex_charconst): Update for change in prototype of
3973 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
3974 appropriately.
3975 * cpphash.h (BITS_PER_CPPCHAR_T): New.
3976 * cppinit.c (cpp_create_reader): Initialize them for no
3977 change in semantics.
3978 (cpp_post_options): Add sanity checks.
3979 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
3980 and truncation issues. Calculate in type cppchar_t.
3981 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
3982 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
3983 run-time dependent precision correctly. Return whether the
3984 result is signed or not.
3985 * cpplib.c (dequote_string): Use cppchar_t; update.
3986 * cpplib.h (cppchar_signed_t): New.
3987 struct cpp_options): New precision members.
3988 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 3989 * cppexp.c (eval_token): Update.
4268e8bb 3990
af54350e
DM
39912002-05-03 David S. Miller <davem@redhat.com>
3992
2ce04b6b
DM
3993 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
3994 * config/sparc/sparc.c (sparc_rtx_costs): New function
3995 implementing RTX_COSTS and CONST_COSTS.
3996 * config/sparc/sparc.h (CONST_COSTS): Delete.
3997 (RTX_COSTS_CASES): Define.
3998 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
3999 the work.
4000
a1d9bd0c
DM
4001 * config/sparc/sparc.md (DFA schedulers): Split out...
4002 * config/sparc/cypress.md, config/sparc/hypersparc.md,
4003 config/sparc/sparclet.md, config/sparc/supersparc.md,
4004 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
4005
e87bb82e
DM
4006 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
4007 checks on it, always defined for Sparc.
4008
af54350e
DM
4009 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
4010 Tweak, and add more detailed comments.
4011
935bfb44
ZW
40122002-05-03 Zack Weinberg <zack@codesourcery.com>
4013
4014 * Re-apply patch accidentally reverted with
4015 DFA scheduler merge: remove all rules and variables to slurp
4016 source files out of libiberty and rebuild them with HOST_CC.
4017 ($(HOST_PREFIX_1)varray.o): New rule.
4018 (genattrtab rule): Word wrap.
4019
fa7a0712
JT
40202002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
4021
4022 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
4023 (CPP_SUBTARGET_SPEC): Define.
4024 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
4025 cpp_subtarget specs.
4026 (CPP_SPEC): Redefine to include %(cpp_subtarget).
4027
14c93978
DM
40282002-05-03 David S. Miller <davem@redhat.com>
4029
4030 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
4031 * target.h (struct gcc_target): Delete cycle_display member.
4032
14d118d6
DM
4033 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
4034 (rtx_needs_barrier): Delete reference to cycle_display unspec.
4035 (ia64_sched_reorder2): Mention need for cycle display handling
4036 once such notes exist.
935bfb44 4037
b3ae1ccd
RH
40382002-05-03 Richard Henderson <rth@redhat.com>
4039
4040 * real.c (etoasc): Strip most trailing zeros for clarity.
4041 * sched-vis.c: Include real.h.
4042 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
4043 * Makefile.in (sched-vis.o): Add real.h.
4044
8f39865a
DM
40452002-05-03 David S. Miller <davem@redhat.com>
4046
4047 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
4048 no longer needed.
4049
b44140e7
AH
40502002-05-03 Aldy Hernandez <aldyh@redhat.com>
4051
935bfb44
ZW
4052 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
4053 when we get an out of range literal.
4054 (altivec_expand_ternop_builtin): Same.
4055 (altivec_expand_unop_builtin): Same.
4056 (altivec_expand_builtin): Same, for dss.
4057 (altivec_expand_builtin): Use trees instead of rtl when
4058 determining literal argument validity.
b44140e7 4059
aaaed752
DM
40602002-05-03 David S. Miller <davem@redhat.com>
4061
4062 Delete cycle display scheduling hook.
4063 * config/ia64/ia64.c (ia64_cycle_display,
4064 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
4065 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
4066 and use emit_insn_before instead of ia64_emit_insn_before.
4067 * config/ia64/ia64.md (unspec usage): Delete cycle display.
4068 (cycle_display): Delete insn pattern.
4069 * config/sparc/sparc.md (unspec usage): Delete cycle display.
4070 (cycle_display): Delete insn pattern.
4071 * config/sparc/sparc.c (sparc_cycle_display,
4072 TARGET_SCHED_CYCLE_DISPLAY): Delete.
4073 * doc/md.texi (cycle_display): Don't mention.
4074 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 4075
b37c2614
RH
40762002-05-03 Richard Henderson <rth@redhat.com>
4077
4078 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
4079 * recog.h: Declare them.
4080
4081 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
4082 * config/sparc/sparc.md: Use store_data_bypass_p instead.
4083 * config/sparc/sparc-protos.h: Update.
935bfb44 4084
e1c1132e
JT
40852002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
4086
4087 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
4088 -D__arch64__. Add -D_LP64.
4089 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
4090 from sparc.h.
4091 (CPP_ARCH64_SPEC): Likewise.
4092 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
4093 (NO_BUILTIN_SIZE_TYPE): Undef.
4094
0b2fb0d7
VM
40952002-05-03 Vladimir Makarov <vmakarov@redhat.com>
4096
4097 * genautomata.c (min_issue_delay_pass_states): Change return type
4098 in the prototype.
4099 (min_issue_delay_pass_states): Change the algorithm.
4100 (min_issue_delay): Set up min_insn_issue_delay for the state.
4101 (output_min_issue_delay_table): Interchange the nested loops and
4102 and initiate min_insn_issue_delay for states.
935bfb44 4103
3d4ce12a
JH
4104Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
4105
4106 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
4107 jump is simplejump.
4108
4109Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
4110
4111 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
4112 sequence.
4113
b5482208
RH
41142002-05-03 Richard Henderson <rth@redhat.com>
4115
4116 PR opt/6534
4117 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
4118 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
4119 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
4120 code before JUMP, not EARLIEST.
4121
5a3085c5
JM
41222002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
4123
4124 * c-format.c (check_format_info_main): Don't check for presence of
4125 parameter for * width until after operand number has been read,
4126 and only check for it if format parameters are available.
4127 Fixes PR c/6547.
4128
40039424
JT
41292002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
4130
4131 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
4132 (LINK_SPEC): Undef before defining.
4133
8157303b
JJ
41342002-05-03 Jakub Jelinek <jakub@redhat.com>
4135
4136 PR preprocessor/6489
4137 * tradcpp.c (fixup_newlines): New.
4138 (main, finclude): Use it.
4139
66319f5c
RS
41402002-05-03 Richard Sandiford <rsandifo@redhat.com>
4141
4142 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
4143 * config/mips/mips.c (mips_unique_section): Strip encoding from
4144 decl name.
4145
ce8076ad
JJ
41462002-05-03 Jakub Jelinek <jakub@redhat.com>
4147
4148 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
4149 mode.
4150
975c6e4e
RO
41512002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4152
4153 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
4154 (Specific): Removed buildstats references.
4155 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
4156 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
4157 Accomodate Solaris versions beyond 8.
4158 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
4159 (Specific, *-*-solaris2.8): Removed, obsolete.
4160
d70e94ec
JJ
41612002-05-03 Jakub Jelinek <jakub@redhat.com>
4162
4163 PR target/6542
4164 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
4165 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
4166 fill leaf_reg_remap with identity.
4167 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
4168
6b148bd9
KH
41692002-05-03 Kazu Hirata <kazu@cs.umass.edu>
4170
4171 * config/h8300/crti.asm: Remove trailing spaces.
4172 * config/h8300/h8300.c: Likewise.
4173 * config/h8300/lib1funcs.asm: Likewise.
4174
609688f3
JM
41752002-05-02 Jason Merrill <jason@redhat.com>
4176
4177 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
4178 * c-decl.c (c_init_decl_processing): Use it.
4179 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
4180 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
4181 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
4182
3b03c671
KH
41832002-05-03 Kazu Hirata <kazu@cs.umass.edu>
4184
4185 * regrename.c: Fix formatting.
4186 * tree.c: Likewise.
4187
3b4961bd
JH
4188Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
4189
4190 * i386.md (attribute memory): Handle compares properly.
4191
19cba4a0
JH
4192Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
4193
3b4961bd 4194 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
4195 to none.
4196
797a6ac1
KH
41972002-05-02 Kazu Hirata <kazu@cs.umass.edu>
4198
4199 * function.c: Fix formatting.
4200
6d0de005
JH
42012002-05-02 Jan Hubicka <jh@suse.cz>
4202
4203 * haifa-sched.c (schedule_insn): Print table of instructions and
4204 reservations.
4205 (sched_block): Do not print ready list at verbosity level 1.
4206 * sched-vis.c (print_insn): Make global.
4207 * sched-ebb.c (ebb_print_insn): Rename from...
4208 (print_insn): ... this one.
4209 * sched-int.h (print_insn): Declare
4210
0bfb9a69
RH
42112002-05-02 Richard Henderson <rth@redhat.com>
4212
4213 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
4214 emitted by cycle_display.
4215
6b976d99
LR
42162002-05-02 Loren J. Rittle <ljrittle@acm.org>
4217
4218 * doc/install.texi (*-*-freebsd*): Update to latest status.
4219
0a295052
JJ
42202002-05-02 Jakub Jelinek <jakub@redhat.com>
4221
4222 PR target/6540
4223 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
4224 * config/float-sparc.h: Assume 128-bit long double if
4225 __LONG_DOUBLE_128__ is defined.
4226
842d5d6c
VM
42272002-05-02 Vladimir Makarov <vmakarov@redhat.com>
4228
4229 * genattrtab.c (write_function_unit_info): Add a dummy element
4230 when num_units == 0.
4231
3d7a6309
HB
42322002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4233
4234 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
4235 TYPE_MODE (double_type_node) instead of DFmode.
4236
1b6763cf
JH
4237Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
4238
4239 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
4240 jumps post reload.
4241 * toplev.c (rest_of_compilation): Revert Richard's patch.
4242
b303008e
JDA
42432001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
4244
4245 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
4246
6ed7412a
CM
42472002-05-02 Catherine Moore <clm@redhat.com>
4248
4249 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
4250
e0a2f705
KH
42512002-05-02 Kazu Hirata <kazu@hxi.com>
4252
b32d6163 4253 * combine.c: Fix comment typos.
e0a2f705
KH
4254 * expr.c: Likewise.
4255 * genautomata.c: Likewise.
4256 * stmt.c: Likewise.
4257 * tree.h: Likewise.
4258
38e23049
JM
42592002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
4260
4261 * doc/install.texi: State GNAT version requirements.
4262
40f4a97d
NC
42632002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
4264
4265 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
4266 of the frame pointer or arg pointer register which strict register
4267 checking is not enabled.
4268
0d6d6892
AH
42692002-05-02 Aldy Hernandez <aldyh@redhat.com>
4270
b5482208 4271 * gcc.dg/altivec-8.c: New.
0d6d6892 4272
b5482208
RH
4273 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
4274 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 4275
abaa8559
BK
42762002-05-01 Bruce Korb <bkorb@gnu.org>
4277
4278 * fixinc/check.tpl(set-writable): make sure the function exists first
4279 * fixinc/inclhack.def(alpha_assert): fix test_text
4280 * fixinc/tests/base/assert.h: add in missing result
4281
ecab2143
JL
42822002-05-01 Jeff Law <law@redhat.com>
4283
4284 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
4285 'T' constraint.
4286
ea619b46
JB
42872002-05-01 Joel Brobecker <brobecker@gnat.com>
4288
4289 * dbxout.c (dbxout_type): Emit size information for range types,
4290 as well, but only when using GDB extensions.
4291
c72931a6
RH
42922002-05-01 Richard Henderson <rth@redhat.com>
4293
4294 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
4295 target-independent gnu binutils date test.
4296
2150ad33
RH
42972002-05-01 Richard Henderson <rth@redhat.com>
4298
4299 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
4300 info before expunging the block.
4301
1651cc96
JJ
43022002-05-01 Jakub Jelinek <jakub@redhat.com>
4303
4304 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
4305 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
4306 -M -or -MM is in effect.
4307
8998d5bf
ZW
43082002-05-01 Zack Weinberg <zack@codesourcery.com>
4309
4310 * config.gcc: Correct test of --enable-obsolete. Obsolete all
4311 A29k configurations.
4312 * doc/install.texi: Update to match.
4313
a81eed10
FS
43142002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4315
4316 PR bootstrap/6514
4317 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
4318 for duplicates. Always loop over whole list.
4319
8d53318f
RK
4320Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4321
4322 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
4323
4109b118
JS
43242002-05-01 Joel Sherrill <joel@OARcorp.com>
4325
4326 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
4327 support routines.
4328
c4a9c570
JS
43292002-05-01 Joel Sherrill <joel@OARcorp.com>
4330
4331 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
4332
ea112fc4
DE
43332002-05-01 David Edelsohn <edelsohn@gnu.org>
4334
4335 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
4336 (nabs_nopower): Same.
4337 (floatdisf2): New pattern.
4338 (absdi2): Convert to define_insn_and_split.
4339 (nabsdi2): Same.
4340 (trunctfsf2): Same.
4341 (floatditf2): Same.
4342 (floatsitf2): Same.
4343 (fix_trunctfdi2): Same.
4344 (fix_trunctfsi2): Same.
4345
dda78254
JM
43462002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
4347
4348 * doc/install.texi: Update Texinfo version requirement
4349 documentation.
4350
26aeede4
JJ
43512002-05-01 Jakub Jelinek <jakub@redhat.com>
4352
4353 PR target/6512, PR target/5628
4354 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
4355 when memory is not aligned.
4356 (movdf_insn_v9only_vis): Likewise.
4357 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
4358 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
4359 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
4360
9b7bc465
AH
43612002-05-01 Aldy Hernandez <aldyh@redhat.com>
4362
8998d5bf 4363 * gcc.dg/altivec-7.c: New.
9b7bc465 4364
8998d5bf 4365 * config/rs6000/altivec.h: Cleanup.
9b7bc465 4366
08b57fb3
AH
43672002-04-30 Aldy Hernandez <aldyh@redhat.com>
4368
8998d5bf
ZW
4369 * doc/invoke.texi (Option Summary): Add -mvrsave=.
4370 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 4371
8998d5bf
ZW
4372 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
4373 (rs6000_altivec_vrsave_string): Same.
4374 (rs6000_override_options): Call rs6000_parse_vrsave_option.
4375 (rs6000_parse_vrsave_option): New.
4376 (rs6000_stack_info): Only generate vrsave instructions when
4377 TARGET_ALTIVEC_VRSAVE.
08b57fb3 4378
8998d5bf
ZW
4379 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
4380 (rs6000_altivec_vrsave_string): Define extern.
4381 (rs6000_altivec_vrsave): Same.
4382 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 4383
8e8c38cd
RH
43842002-04-30 Richard Henderson <rth@redhat.com>
4385
4386 PR opt/6516
4387 * toplev.c (rest_of_compilation): Don't run cross-jump before
4388 bb-reorder.
4389
4be9e9cb
TR
43902002-04-30 Tom Rix <trix@redhat.com>
4391
8998d5bf 4392 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
4393 check which_alternative.
4394
1eeeb6a4
KH
43952002-04-30 Kazu Hirata <kazu@hxi.com>
4396
4397 * cpplex.c: Fix comment formatting.
4398 * function.c: Likewise.
4399 * integrate.c: Likewise.
4400 * regrename.c: Likewise.
4401 * sibcall.c: Likewise.
4402 * simplify-rtx.c: Likewise.
4403 * tree-inline.c: Likewise.
4404
ed9d6ff9
JDA
44052002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
4406
4407 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
4408 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
4409 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
4410 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
4411 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
4412 * pa/x-ada: New file. Define ADA_CFLAGS.
4413
1f2641b6
HPN
44142002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
4415
4416 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
4417 from MMIX_LAST_REGISTER_FILE_REGNUM.
4418 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
4419 (struct machine_function): New member highest_saved_stack_register
4420 previously static variable in mmix.c.
4421 (MACHINE_DEPENDENT_REORG): Define.
4422 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
4423 (MMIX_OUTPUT_REGNO): New.
4424 (mmix_target_asm_function_prologue): Move calculation of last used
4425 saved-stack-register into...
4426 (mmix_machine_dependent_reorg): New function. Update to also handle
4427 !TARGET_ABI_GNU.
4428 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
4429 register names, simplify somewhat by new variable regno.
4430 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
4431 register.
4432 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
4433 emitting register names.
4434 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
4435 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
4436 Remove fixed FIXME.
4437 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
4438 Declare.
4439
4440 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
4441
73985940
RH
44422002-04-30 Richard Henderson <rth@redhat.com>
4443
4444 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
4445 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
4446 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
4447 emit_tfmode_cvt): New.
4448 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
4449 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
4450 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
4451 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
4452 * config/sparc/sparc-protos.h: Update.
4453
2b46bc67
JJ
44542002-04-30 Janis Johnson <janis187@us.ibm.com>
4455
4456 * install.texi (Final install): Add to the list of info to include
4457 in a report of a successful bootstrap, and add link to 3.1 list.
4458
3d34cd91
JH
4459Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
4460
4461 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
4462 (mode): Add vector modes
4463 (i387): Kill attribute.
4464 (unit): New attribute.
4465 (length_immediate): Grok new types.
4466 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
4467 (modrm): Use "unit".
4468 (memory): Handle MMX/SSE properly.
4469 (scheduling descriptions): Kill uses of fop1.
4470 (sse, mmx, fp patterns): Set type and mode properly.
4471
243e5500 4472Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
3193c415 4473
30482eb0
JL
4474 * pa.c (override_options): Default to PA8000 scheduling.
4475 * doc/invoke.texi (HP-PA options): Mention newly added 7300
4476 scheduling parameter.
4477
3193c415
JL
4478 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
4479 handling of double precision multiplies.
4480
4481 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
4482 fpdiv and fpsqrt instructions.
4483 (7200 & 7300 scheduling): Fix typo in handling of
4484 store-load and store-store penalties.
4485
c0a34cb7
GP
44862002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4487
4488 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
4489 mips. Add two missing commas.
4490
8bce0628
PC
44912002-04-30 Paolo Carlini <pcarlini@unitus.it>
4492
4493 * doc/contrib.texi (Contributors): Update Paolo Carlini's
4494 and Benjamin Kosnik's entries.
4495
84643cbf
DM
44962002-04-29 David S. Miller <davem@redhat.com>
4497
4498 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
4499 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
4500 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
4501 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
4502
da6886f6
FS
45032002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4504
4505 * combine.c (find_split_point): Use gen_int_mode.
4506
fae15c93
VM
45072002-04-29 Vladimir Makarov <vmakarov@redhat.com>
4508
4509 Merging code from dfa-branch:
8998d5bf 4510
fae15c93
VM
4511 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
4512
4513 * genautomata.c (output_reserv_sets): Fix typo.
4514
4515 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
4516
4517 * genautomata.c (output_reserv_sets): Remove
4518 next_cycle_output_flag.
4519
4520 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
4521
8998d5bf
ZW
4522 * sched-rgn.c (init_ready_list): Make the DFA code handle
4523 USE/CLOBBER insns in the same way as the traditional
4524 scheduler.
4525 (new_ready): Similarly..
fae15c93
VM
4526
4527 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
4528
4529 * haifa-sched.c (schedule_block): Change the DFA state only after
4530 issuing insn.
4531
4532 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
4533
4534 * pa.c (hppa_use_dfa_pipeline_interface): New function.
4535 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
4536 (override_options): Add PA7300 scheduling support.
4537 (pa_adjust_cost): Update various comments. Properly
4538 handle anti and output dependencies when using the
4539 DFA scheduler.
4540 (pa_issue_rate): Add PA7300 scheduling support.
4541 (pa_can_combine_p): Call extract_insn before calling
4542 constrain_operands (taken from mainline tree).
4543 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
4544 * pa.md (cpu attr): Add 7300. Rewrite pipeline
4545 descriptions using DFA descriptions. Add PA7300
4546 scheduling support.
4547
4548 2002-03-30 David S. Miller <davem@redhat.com>
4549
4550 Add UltraSPARC-III DFA scheduling support.
4551 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
4552 Update FP conditional move on register insn patterns to use it, as
4553 appropriate.
4554 (define_attr cpu): Add ultrasparc3.
4555 (define_attr us3load_type): New, update integer load patterns to
4556 set it, as appropriate.
4557 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
4558 (rest): Add UltraSPARC3 scheduling description.
4559 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
4560 (PROCESSOR_ULTRASPARC3): New.
4561 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
4562 ({ASM,CPP}_CPU_SPEC): Likewise.
4563 (REGISTER_MOVE_COST): Likewise.
4564 (RTX_COSTS): Likewise.
4565 * config/sparc/sparc.c (sparc_override_options,
4566 sparc_initialize_trampoline, sparc64_initialize_trampoline,
4567 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
4568 sparc_issue_rate): Likewise.
4569 * config/sparc/sol2.h: Likewise.
4570 * config/sparc/sol2-sld-64.h: Likewise.
4571 * config/sparc/linux64.h: Likewise.
8998d5bf 4572
fae15c93
VM
4573 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
4574
4575 * doc/md.texi: Add comments about usage the latency time for the
4576 different dependencies and about case when two or more conditions
4577 in different define_insn_reservations returns TRUE for an insn.
4578
4579 * doc/md.texi: Add reference for automaton based pipeline
4580 description.
8998d5bf 4581
fae15c93
VM
4582 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
4583
4584 * doc/passes.texi: Add missed information about genattrtab.
4585
4586 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
4587
4588 * genautomata.c (output_automata_list_transition_code): Check
4589 automata_list on NULL.
4590
4591 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
4592
4593 * genautomata.c (output_insn_code_cases,
4594 output_automata_list_min_issue_delay_code,
4595 output_automata_list_transition_code,
4596 output_automata_list_state_alts_code): Comment the functions.
4597
4598 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
4599
4600 * genautomata.c (automata_list_el_t): New typedef.
4601 (get_free_automata_list_el,free_automata_list_el,
4602 free_automata_list, automata_list_hash, automata_list_eq_p,
4603 initiate_automata_lists, automata_list_start, automata_list_add,
4604 automata_list_finish, finish_automata_lists,
4605 output_insn_code_cases, output_automata_list_min_issue_delay_code,
4606 output_automata_list_transition_code,
4607 output_automata_list_state_alts_code, add_automaton_state,
4608 form_important_insn_automata_lists): New functions and prototypes.
4609 (insn_reserv_decl): Add members important_automata_list and
4610 processed_p.
4611 (ainsn): Add members important_p.
4612 (automata_list_el): New structure.
4613 (first_free_automata_list_el, current_automata_list,
4614 automata_list_table): New global variables.
4615 (create_ainsns): Initiate member important_p.
4616 (output_internal_min_issue_delay_func): Generate the switch and
4617 call output_insn_code_cases.
4618 (output_internal_trans_func, output_internal_state_alts_func):
4619 Ditto.
4620 (generate): Call initiate_automata_lists.
4621 (automaton_states): New global variable.
4622 (expand_automata): Call form_important_insn_automata_lists.
4623 (write_automata): Call finish_automata_lists.
8998d5bf 4624
fae15c93
VM
4625 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
4626
4627 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 4628 cpu units in the sets belong the same automaton.
fae15c93
VM
4629
4630 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
4631 about that cpu units in the sets belong the same automaton.
4632
4633 * doc/md.texi: Ditto.
8998d5bf 4634
2799d721
VM
4635 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
4636 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 4637
fae15c93
VM
4638 * config/sh/sh.c (sh_use_dfa_interface): New function.
4639
4640 (sh_issue_rate): New Function.
4641 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
4642 TARGET_SCHED_ISSUE_RATE: define.
4643
4644 * config/sh/sh.md: Add DFA based pipeline description for SH4.
4645
8998d5bf
ZW
4646 (define_attr insn_class): New attribute used for DFA
4647 scheduling.
fae15c93
VM
4648 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
4649 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
4650 cmpeqdi_t): Likewise.
4651
4652 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 4653 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
4654 ex_group.
4655 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 4656
fae15c93
VM
4657 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
4658
4659 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
4660 break.
4661
4662 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
4663
4664 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
4665 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
4666 necessary.
4667 (output_dfa_start_func): Initiate new variable insn_codes_length,
4668 (write_automata): Output definition of the new variable.
8998d5bf 4669
fae15c93
VM
4670 2001-10-02 David S. Miller <davem@redhat.com>
4671
4672 * haifa-sched.c (advance_one_cycle): New function.
4673 (schedule_block): Use it.
4674 (queue_to_ready): Use it, and also make sure to advance the DFA
4675 state on all stall cycles, not just those where insn_queue links
4676 are found.
4677
4678 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
4679
4680 * haifa-sched.c (max_issue): Remove last_p argument. Only return
4681 non-zero if the highest-priority instruction could be scheduled.
4682 (choose_ready): Remove last argument from max_issue call.
4683
4684 2001-09-28 David S. Miller <davem@redhat.com>
4685
4686 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
4687 ultrasparc and 3 for other multi-issue sparcs.
4688
4689 2001-09-27 David S. Miller <davem@redhat.com>
4690
4691 * config/sparc/sparc.md (cycle_display): New pattern.
4692 * config/sparc/sparc.c (sparc_cycle_display): New.
4693 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
4694
4695 2001-09-25 David S. Miller <davem@redhat.com>
4696
4697 Convert all of Sparc scheduling to DFA
4698 * config/sparc/sparc.md: Kill all define_function_unit
4699 directives and replace with DFA equivalent.
4700 * config/sparc/sparc.c (ultrasparc_adjust_cost,
4701 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
4702 ultra_fpmode_conflict_exists, ultra_find_type,
4703 ultra_build_types_avail, ultra_flush_pipeline,
4704 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
4705 ultrasparc_variable_issue, ultrasparc_sched_init,
4706 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
4707 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
4708 ultra_cur_hist, ultra_cycles_elapsed): Kill.
4709 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
4710 ultrasparc_store_bypass_p): New.
4711 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
4712 Declare.
4713
4714 2001-09-24 David S. Miller <davem@redhat.com>
4715
4716 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
4717 ready->vec[foo] not ready[foo].
4718
4719 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
4720
4721 * doc/md.texi: Correct examples for define_insn_reservations
4722 `mult' and `div'.
4723
4724 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
4725
4726 * genautomata.c (create_automata): Print message about creation of
4727 each automaton.
4728 (generate): Remove printing meease about creation of
4729 automata.
4730
4731 2001-09-05 David S. Miller <davem@redhat.com>
4732
4733 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
4734 * config/sparc/linux64.h: Likewise.
4735
4736 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
4737
4738 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
4739 schedule_block, sched_init, sched_finish): Add missed calls of
4740 use_dfa_pipeline_interface.
4741
4742 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
4743 Ditto.
4744
4745 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 4746
fae15c93
VM
4747 2001-08-27 Richard Henderson <rth@redhat.com>
4748
4749 * genattr.c (main): Emit state_t even when not doing scheduling.
4750
4751 2001-08-27 Richard Henderson <rth@redhat.com>
4752
4753 * genautomata.c (expand_automata): Always create a description.
4754
4755 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
4756
8998d5bf 4757 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
4758 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
4759 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
4760 RTL constructions.
4761
4762 * genattr.c (main): New variable num_insn_reservations. Increase
4763 it if there is DEFINE_INSN_RESERVATION. Output automaton based
4764 pipeline hazard recognizer interface.
4765
4766 * genattrtab.h: New file.
4767
4768 * genattrtab.c: Include genattrtab.h.
4769 (attr_printf, check_attr_test, make_internal_attr,
4770 make_numeric_value): Move protypes into genattrtab.h. Define them
4771 as external.
4772 (num_dfa_decls): New global variable.
4773 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
4774 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
4775 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
4776 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
4777
4778 * genautomata.c: New file.
4779
4780 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
4781
8998d5bf 4782 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
4783 automaton pipeline interface.
4784 (haifa_insn_data): Add comments for members blockage and units.
4785
4786 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
4787 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
4788 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
4789 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
4790 TARGET_SCHED_DFA_POST_CYCLE_INSN,
4791 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
4792 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
4793 macros.
4794 (TARGET_SCHED): Use the new macros.
4795
4796 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
4797 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
4798 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
4799 dfa_bubble): New members in gcc_target.sched.
4800
8998d5bf 4801 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
4802 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
4803 (insn_queue): Redefine it as pointer to array.
4804 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
4805 INSN_QUEUE_SIZE.
4806 (max_insn_queue_index_macro_value): New variable.
4807 (curr_state, dfa_state_size, ready_try): New varaibles for
4808 automaton interface.
4809 (ready_element, ready_remove, max_issue): New function prototypes
4810 for automaton interface.
4811 (choose_ready): New function prototype.
4812 (insn_unit, blockage_range): Add comments.
4813 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
4814 FUNCTION_UNITS_SIZE == 0.
4815 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
4816 actual_hazard, potential_hazard): Add comments.
4817 (insn_cost): Use cost -1 as undefined value. Remove
4818 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
4819 pipeline interface.
4820 (ready_element, ready_remove): New functions for automaton
4821 interface.
4822 (schedule_insn): Add new code for automaton pipeline interface.
4823 (queue_to_ready): Add new code for automaton pipeline interface.
4824 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
4825 (debug_ready_list): Print newline when the queue is empty.
4826 (max_issue): New function for automaton pipeline interface.
4827 (choose_ready): New function.
4828 (schedule_block): Add new code for automaton pipeline interface.
4829 Print ready list before scheduling each insn.
4830 (sched_init): Add new code for automaton pipeline interface.
4831 Initiate insn cost by -1.
4832 (sched_finish): Free the current automaton state and finalize
4833 automaton pipeline interface.
4834
4835 * sched-rgn.c: Include target.h.
4836 (init_ready_list, new_ready, debug_dependencies): Add new code for
4837 automaton pipeline interface.
4838
4839 * sched-vis.c: Include target.h.
4840 (get_visual_tbl_length): Add code for automaton interface.
4841 (target_units, print_block_visualization): Add comments.
4842
8998d5bf 4843 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
4844 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
4845 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
4846 (getruntime.o, genautomata.o): New entries.
4847 (genattrtab.o): Add new dependency file genattrtab.h.
4848 (genattrtab): Add new dependencies. Link it with `libm.a'.
4849 (getruntime.o, hashtab.o): New entries for canadian cross.
4850
4851 * doc/md.texi: Description of automaton based model.
4852
4853 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
4854 Add comments.
4855 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
4856 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
4857 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
4858 TARGET_SCHED_DFA_POST_CYCLE_INSN,
4859 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
4860 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
4861 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
4862 hook descriptions.
4863 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
4864 MAX_DFA_ISSUE_RATE): New macro descriptions.
4865
4866 * doc/contrib.texi: Add dfa based scheduler contribution.
4867
4868 * doc/gcc.texi: Add more information about genattrtab.
4869
a2ff290c
RK
4870Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4871
4872 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
4873 adjust_address_nv call.
4874
f97903cc
JJ
48752002-04-29 Janis Johnson <janis187@us.ibm.com>
4876
4877 * doc/install.texi (Testing): Provide additional information, and
4878 a stronger encouragement, for running the testsuites.
4879
f41a6bf1
DD
48802002-04-29 DJ Delorie <dj@redhat.com>
4881
4882 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
4883 given in upper case.
4884
d8af0868
RO
48852002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4886
4887 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
4888 Solaris 2 <widec.h> if missing.
4889 * fixinc/fixincl.x: Regenerate.
4890 * fixinc/tests/base/widec.h: New file.
4891
1034407f
NC
48922002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
4893
4894 * toplev.c (f_options): Add "profile" switch so that
4895 -fno-profile can be used to disable -p.
4896
fbe5eb6d
BS
48972002-04-29 Bernd Schmidt <bernds@redhat.com>
4898
4899 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
4900 UV2DImode.
4901 * tree.c (build_common_tree_nodes_2): Likewise.
4902 * tree.h (enum tree_index): Likewise.
4903 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
4904
4905 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
4906 entries.
4907 (init_mmx_sse_builtins): Initialize SSE2 builtins.
4908 (ix86_expand_builtin): Add support for SSE2 builtins.
4909 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
4910 (VALID_SSE_REG_MODE): Use it.
4911 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
4912 (enum ix86_builtins): Add SSE2 builtins.
4913 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
4914 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
4915 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
4916 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
4917 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
4918 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
4919 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
4920 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
4921 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
4922 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
4923 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
4924 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
4925 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
4926 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
4927 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
4928 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
4929 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
4930 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
4931 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
4932 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
4933 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
4934 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
4935 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
4936 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
4937 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
4938 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
4939 lfence_insn): New patterns.
4940 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
4941 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
4942
44aefada
JH
4943Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
4944
4945 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
4946
d5482cdc
GP
49472002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4948
4949 * doc/contrib.texi (Contributors): Add Paolo Carlini and
4950 Janis Johnson.
4951 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
4952 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
4953 and CPU instead of cpu.
4954
2c4b77f3
JH
4955Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
4956
4957 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
4958 variables.
4959 (lang_independent_options): Add -fif-conversion, -fif-conversion2
4960 (rest_of_compilation): Do if conversion only when asked for.
4961 (parse_options_and_default_flags): Set new variables to 1 for -O1
4962 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
4963
3de72741
JH
4964Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
4965
4966 * i386.c (dbx64_register_map): Fix typo.
4967
8aa18a7d
JH
4968Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
4969
4970 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
4971 real_one_half, real_bb_freq_max): New static variables.
4972 (debug_profile_bbauxs): Kill.
4973 (process_note_predictions): Kill unused variable.
4974 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
4975 volatile double.
4976 (propagate_freq): Use REAL_ARITHMETICS.
4977 (estimate_bb_frequencies): Likevise; init new static variables.
4978 * Makefile.in (predict.o): Add dependency on real.h
4979
1bbad4c6
DM
49802002-04-28 David S. Miller <davem@redhat.com>
4981
4982 PR target/6500
4983 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
4984 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
4985 several {reads,writes} instead.
4986 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
4987 Define.
4988
3ef3f384
DM
49892002-04-27 David S. Miller <davem@redhat.com>
4990
4991 PR target/6494
4992 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
4993 of the stack bias.
4994
4995 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
4996 including signal.h and sys/ucontext.h, not needed.
4997
ec493bcb
HPN
49982002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
4999
5000 * varasm.c (output_constant_def): Correct test for not calling
5001 ENCODE_SECTION_INFO for INTEGER_CST.
5002
60284a59
NB
50032002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
5004
5005 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
5006 keep most cases as function eval_token.
5007 (eval_token): New function.
5008 (_cpp_parse_expr): Read token here for improved diagnostics.
5009 Don't use op_as_text. Detect bad ':' here.
5010 (reduce): Don't detect bad ':' here.
5011 (op_as_text): Remove.
5012 * cpphash.h (_cpp_test_assertion): Change prototype.
5013 * cpplib.c (_cpp_test_assertion): Change prototype.
5014
349a4b40
RH
50152002-04-28 Richard Henderson <rth@redhat.com>
5016
5017 PR c/5154
8998d5bf 5018 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
5019 (ggc_mark_rtx_children): New.
5020
7a03f82f
JJ
50212002-04-28 Jakub Jelinek <jakub@redhat.com>
5022
5023 PR target/6496
5024 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
5025 after call peepholes for UltraSPARC.
5026 (call + jump 64-bit peepholes): Remove.
5027
80103f96
FS
50282002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5029
5030 PR c/6497
5031 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
5032 result as temporary value.
5033
06990986
JJ
50342002-04-28 Jakub Jelinek <jakub@redhat.com>
5035
5036 PR c++/6396
5037 * toplev.c (rest_of_compilation): Only run regrename and copy
5038 propagation if optimizing.
5039
a20fd5ac
JJ
50402002-04-28 Jakub Jelinek <jakub@redhat.com>
5041
5042 PR optimization/6475
5043 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
5044 register of REGNO_DECL (i).
5045 * Makefile.in (reload1.o): Add $(TREE_H).
5046
87ed109f
NB
50472002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
5048
5049 * cppexp.c (lex): Update to use state.skip_eval.
5050 (struct op): Remove prio and flags members.
5051 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
5052 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
5053 (LEFT_ASSOC): New macro.
5054 (optab): New table of operator priorities and flags.
5055 (SHIFT): Update.
5056 (_cpp_parse_expr): Clean up logic. Return bool. Use a
5057 malloc-ed parser stack.
5058 (reduce): New; reduce the operator stack.
5059 (_cpp_expand_op_stack): Expand the operator stack as necessary.
5060 * cpphash.h (struct op): Predeclare.
5061 (struct cpp_reader): New members op_stack, op_limit.
5062 (struct lexer_state): New member skip_eval.
5063 (_cpp_parse_expr): Update.
5064 (_cpp_expand_op_stack): New.
5065 * cpplib.c (do_if): Update.
5066 * cppinit.c (cpp_create_reader): Create op stack.
5067 (cpp_destroy): And destroy it.
5068 * cpplib.h (CPP_LAST_CPP_OP): Correct.
5069 (TTYPE_TABLE): Correct.
5070
45806a3f
FS
50712002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5072
5073 PR c/6343
5074 * c-decl.c (duplicate_decls): Call merge_weak.
5075 * c-pragma.c (apply_pragma_weak): Warn about misuse.
5076 * output.h (merge_weak): Prototype merge_weak.
5077 * varasm.c (merge_weak): New function.
5078 (declare_weak): Make sure we don't give an error on VAR_DECLs.
5079 Mark RTL with SYMBOL_REF_WEAK.
5080
a6227154
KG
50812002-04-27 Kurt Garloff <garloff@suse.de>
5082
5083 * tree-inline.c (inlinable_function_p): Improve heuristics
5084 by using a smoother function to cut down allowable inlinable size.
5085 * param.def: Add parameters max-inline-insns-single,
5086 max-inline-slope, min-inline-insns that determine the exact
5087 shape of the above function.
5088 * param.h: Likewise.
5089
94a50397
RH
50902002-04-26 Richard Henderson <rth@redhat.com>
5091
5092 * c-parse.in (malloced_yyss, malloced_yyvs): New.
5093 (yyoverflow): Re-add. Set them.
5094 (free_parser_stacks): New.
5095 * c-common.h: Declare it.
5096 * c-lex.c (c_common_parse_file): Call it.
5097
9c0a0632
RH
50982002-04-26 Richard Henderson <rth@redhat.com>
5099
5100 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
5101 for fallthru search.
5102
b875d2ee
EC
51032002-04-26 Eric Christopher <echristo@redhat.com>
5104
5105 PR optimization/3700
5106 * config/mips/mips.c (mips_issue_rate): Define. New function.
5107 (TARGET_SCHED_ISSUE_RATE): Use.
5108
1db828df
DM
51092002-04-25 David S. Miller <davem@redhat.com>
5110
5111 PR target/6422
5112 * reorg.c (optimize_skip): Do not allow exception causing
5113 instructions to be considered for delay slots.
5114 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
5115 (relax_delay_slots): Do not try to consider exception causing
5116 instructions as redundant.
5117
ae5d234e
RH
51182002-04-26 Richard Henderson <rth@redhat.com>
5119
5120 PR c/5225
5121 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
5122
7d793e9b
MM
51232002-04-26 Mark Mitchell <mark@codesourcery.com>
5124
5125 PR bootstrap/6445
5126 * config/i386/i386.md (untyped_call): Return the value in a float
5127 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
5128 TARGET_80387.
5129
b13ab42c
AO
51302002-04-26 Alexandre Oliva <aoliva@redhat.com>
5131
5132 * tree.c (tree_int_cst_lt): Compare constants whose types differ
5133 in unsigned-ness correctly.
5134
5e56f909
JDA
51352002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
5136
5137 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
5138 portable runtime model.
5139
bde3c0c0
RH
51402002-04-26 Richard Henderson <rth@redhat.com>
5141
a6227154 5142 * c-parse.in (yyoverflow): Revert.
bde3c0c0 5143
5276df18
DE
51442002-04-26 David Edelsohn <edelsohn@gnu.org>
5145 Richard Henderson <rth@redhat.com>
5146
5147 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
5148 result as temporary value.
5149
b84a3874
RH
51502002-04-26 Richard Henderson <rth@redhat.com>
5151
5152 PR c/3581
5153 * c-common.c (fix_string_type): Split out of ...
5154 (combine_strings): ... here. Take a varray, not a tree list.
5155 (c_expand_builtin_printf): Use fix_string_type.
5156 * c-common.h: Update decls.
5157 * c-parse.in (string): Remove. Update all uses to use STRING
5158 instead, and not call combine_strings.
5159 (yylexstring): New.
5160 (_yylex): Use it.
5161 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
5162 (build_asm_stmt): Likewise.
5163 * objc/objc-act.c (my_build_string): Use fix_string_type.
5164 (build_objc_string_object): Build varray for combine_strings.
5165
d8ae8cd4
BT
51662002-04-26 Bo Thorsen <bo@suse.co.uk>
5167
5168 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
5169 x86-64.
5170
f8b954fc
NB
51712002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
5172
5173 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
5174 (HAVE_NO_R_OPERAND): Remove.
5175 (HAVE_VALUE): Remove.
5176 (op_to_prio): Update.
5177 (UNARY): Don't alter flags.
5178 (_cpp_parse_expr): want_value used to indicate whether
5179 a number or unary operator is expected next. Distinguish
5180 unary and binary +/-.
5181 (op_as_text): Update for unary operators.
5182
6052bef0
RH
51832002-04-25 Richard Henderson <rth@redhat.com>
5184
5185 PR c/2161
5186 * c-parse.in (yyoverflow): New.
5187
5c5b2283
RH
51882002-04-25 Richard Henderson <rth@redhat.com>
5189
5190 PR c/2098
5191 * c-common.c (shorten_compare): Simplfy conditions leading to
5192 the generation of a warning.
5193
28ce94d4
RH
51942002-04-25 Richard Henderson <rth@redhat.com>
5195
5196 PR c/2035
5197 * expmed.c (extract_bit_field): Fall through to generic code rather
5198 than aborting on subreg special case.
5199
6bfd0c63
DM
52002002-04-25 David S. Miller <davem@redhat.com>
5201
5202 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
5203 for DECL being NULL.
5204
7a430e3b
SC
52052002-04-25 Steve Christiansen <smc@us.ibm.com>
5206
5207 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
5208
45c42d7d
EB
52092002-04-25 Eric Botcazou <ebotcazou@multimania.com>
5210
5211 * c-decl.c (grokdeclarator): Remove outdated ??? note
5212 on invalid declaration of flexible array members.
5213
eb7715a4
RH
52142002-04-25 Richard Henderson <rth@redhat.com>
5215
5216 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
5217
cf5ee720
UW
52182002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
5219
5220 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
5221 needed by the compiler, even if they are used as global regs.
5222
d604bca3
MH
52232002-04-25 Matt Hiller <hiller@redhat.com>
5224
5225 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
5226 functions.
5227 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
5228 of the corresponding functions.
5229 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
5230 New prototypes.
b875d2ee 5231
d604bca3
MH
52322002-04-25 Matt Hiller <hiller@redhat.com>
5233
5234 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
5235
5236 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
5237 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
5238 registers, adjust comment accordingly.
5239 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
5240 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
5241 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
5242 for coprocessor registers.
5243 (ADDITIONAL_REGISTER_NAMES): Include
5244 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 5245
d604bca3
MH
5246 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
5247 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
5248 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
5249 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
5250 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
5251
5252 (mips_char_to_class): Adjust comment to include coprocessor
5253 constraint letters.
5254
5255 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
5256 New functions.
5257 (mips_reg_names, mips_regno_to_class): Include coprocessor
5258 information.
5259 (mips_sw_reg_names): Ditto, make non-static.
5260 (mips_move_1word): Handle moves to and from coprocessor registers.
5261 (mips_move_2words): Handle moves to and from coprocessor
5262 registers.
5263 (mips_class_max_nregs, mips_register_move_cost): Handle
5264 coprocessor register classes.
5265 (override_options): Initialize mips_char_to_class and
5266 mips_hard_regno_mode_ok properly for coprocessor registers.
5267
5268 * config/mips/mips.md (movdi_internal, movdi_internal2,
5269 movsi_internal1, movsi_internal2): Add constraint-sets for
5270 coprocessor registers.
5271 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
5272 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
5273 isn't mips.
5274 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
5275 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
5276 isn't mips.
5277 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
5278 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
5279 isn't mips.
5280 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
5281 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
5282 isn't mips.
b875d2ee 5283
d604bca3
MH
5284 * doc/tm.texi: Document feature.
5285
b9a26d09
NB
52862002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
5287
5288 * integrate.c (function_attribute_inlinable_p): Simplify.
5289 Check the table pointer is not NULL.
5290
ab5973b7
SB
52912002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
5292
5293 * doc/c-tree.texi: Fix typo in introduction.
5294
ff45c01e
NB
52952002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
5296
5297 * c-common.h (c_common_parse_file): Update.
5298 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
5299 * c-lex.c (YYDEBUG): Get from c-lex.h.
5300 (c_common_parse_file): Update.
5301 * c-lex.h (YYDEBUG, yydebug): New.
5302 * c-parse.in (YYDEBUG): Get from c-lex.h.
5303 (c_set_yydebug): Remove.
5304 * c-tree.h (c_set_yydebug): Remove.
5305 * langhooks-def.h (lhd_do_nothing_i): New.
5306 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
5307 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
5308 * langhooks.c (lhd_do_nothing_i): New.
5309 (lhd_set_yydebug): Remove.
5310 * langhooks.h (struct lang_hooks): Update.
5311 * toplev.c (set_yydebug): New.
5312 (compile_file): Update call to parse_file hook.
5313 (decode_d_option): Update.
5314objc:
5315 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
5316
fcae219a
R
5317Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
5318
5319 * loop.c (load_mems): Don't change the interface of called functions.
5320
5321 * calls.c (expand_call): Take current_function_pretend_args_size
5322 into account when setting argblock for sibcalls.
5323
d0fea45a
MH
53242002-04-24 Matt Hiller <hiller@redhat.com>
5325
5326 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
5327 * c-lex.c: Ditto.
5328
5329 * cpplex.c (skip_line_comment): Process comment one multibyte
5330 character at a time rather than one char at a time, if
5331 appropriate.
5332 (parse_string): Process string one multibyte character at a time
5333 rather than one char at a time, if appropriate.
5334 * c-lex.c (lex_string): Lex and copy multibyte strings
5335 appropriately.
5336 * cpplib.h (cppchar_t): Change to unsigned.
5337
2d1b5436
RH
53382002-04-24 Richard Henderson <rth@redhat.com>
5339
5340 PR c/3467
5341 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
5342 for c99.
5343
5e039e6b
R
5344Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
5345
5346 * sh.c (sh_va_arg): If argument was passed by reference,
5347 dereference the pointer.
309d8365
R
5348
5349 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
5350
5351 * sh.md (divsi3_i4_media): Use match_operand for input values
5352 rather than hard registers.
5353 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
5354 unnecessarily through hard registers. Keep copies of pseudo
5355 registers outside of the libcall sequence.
5356
5357 * sh.md (casesi_shift_media): Add modes.
b700634a
R
5358
5359 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
5360 values in memory.
5361
349ae713
NB
53622002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
5363
5364 * attribs.c (c_common_attribute_table): Move table and handlers
5365 to c-common.c.
5366 (format_attribute_table, lang_attribute_table,
5367 lang_attribute_common): Remove.
5368 (init_attributes): Replace NULL pointers with pointers to the
5369 empty table.
5370 (handle_packed_attribute, handle_nocommon_attribute,
5371 handle_common_attribute, handle_noreturn_attribute,
5372 handle_noinline_attribute, handle_always_inline_attribute,
5373 handle_used_attribute, handle_unused_attribute,
5374 handle_const_attribute, handle_transparent_union_attribute,
5375 handle_constructor_attribute, handle_destructor_attribute,
5376 handle_mode_attribute, handle_section_attribute,
5377 handle_aligned_attribute, handle_weak_attribute,
5378 handle_alias_attribute, handle_visibility_attribute,
5379 handle_no_instrument_function_attribute, handle_malloc_attribute,
5380 handle_no_limit_stack_attribute, handle_pure_attribute,
5381 handle_deprecated_attribute, handle_vector_size_attribute,
5382 vector_size_helper): Move to c-common.c.
5383 * c-common.c (c_common_attribute_table,
5384 handle_packed_attribute, handle_nocommon_attribute,
5385 handle_common_attribute, handle_noreturn_attribute,
5386 handle_noinline_attribute, handle_always_inline_attribute,
5387 handle_used_attribute, handle_unused_attribute,
5388 handle_const_attribute, handle_transparent_union_attribute,
5389 handle_constructor_attribute, handle_destructor_attribute,
5390 handle_mode_attribute, handle_section_attribute,
5391 handle_aligned_attribute, handle_weak_attribute,
5392 handle_alias_attribute, handle_visibility_attribute,
5393 handle_no_instrument_function_attribute, handle_malloc_attribute,
5394 handle_no_limit_stack_attribute, handle_pure_attribute,
5395 handle_deprecated_attribute, handle_vector_size_attribute,
5396 vector_size_helper): Move from attribs.c.
5397 * c-common.h (c_common_attribute_table,
5398 c_common_format_attribute_table): New.
5399 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
5400 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
5401 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
5402 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
5403 (LANG_HOOKS_INITIALIZER): Update.
5404 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
5405 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
5406 * target.h: Update comment.
5407 * tree.c (default_target_attribute_table): Remove.
5408 * tree.h (default_target_attribute_table, format_attribute_table,
5409 lang_attribute_table, lang_attribute_common): Remove.
5410objc:
5411 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
5412 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
5413
84f0ace0
JM
54142002-04-24 Jason Merrill <jason@redhat.com>
5415
5416 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
5417 * dwarf2out.c (dwarf_attr_name): Support it.
5418 (gen_array_type_die): Emit it.
5419 (lookup_type_die): No special handling for VECTOR_TYPE.
5420 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
5421
120eaf28
RH
54222002-04-24 Richard Henderson <rth@redhat.com>
5423
5424 * config/mips/mips.md (movdi_usd): Renumber.
5425
e732178c
DM
54262002-04-24 David S. Miller <davem@redhat.com>
5427
5428 PR target/6420
5429 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
5430 32-bit Sparc and current_function_returns_struct is true.
5431
e879eb2f
JH
5432Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
5433
5434 * loop.c (canonicalize_condition): Use gen_int_mode.
5435
4287a893
AH
54362002-04-24 Aldy Hernandez <aldyh@redhat.com>
5437
5438 * config/rs6000/altivec.h: Cleanup file. Add non individual
5439 variants.
5440 (vec_vaddubm): New.
5441 (vec_vadduhm): New.
5442 (vec_vadduwm): New.
5443 (vec_vaddfp): New.
5444 (vec_vaddcuw): New.
5445 (vec_vaddubs): New.
5446 (vec_vaddsbs): New.
5447 (vec_vadduhs): New.
5448 (vec_vadduws): New.
5449 (vec_vaddsws): New.
5450 (vec_vand): New.
5451 (vec_vandc): New.
5452 (vec_vavgub): New.
5453 (vec_vavgsb): New.
5454 (vec_vavguh): New.
5455 (vec_vavgsh): New.
5456 (vec_vavguw): New.
5457 (vec_vavgsw): New.
5458 (vec_vrfip): New.
5459 (vec_vcmpbfp): New.
5460 (vec_vcmpequb): New.
5461 (vec_vcmpequh): New.
5462 (vec_vcmpequw): New.
5463 (vec_vcmpeqfp): New.
5464 (vec_vcmpgefp): New.
5465 (vec_vcmpgtub): New.
5466 (vec_vcmpgtsb): New.
5467 (vec_vcmpgtuh): New.
5468 (vec_vcmpgtsh): New.
5469 (vec_vcmpgtuw): New.
5470 (vec_vcmpgtsw): New.
5471 (vec_vcmpgtfp): New.
5472 (vec_vcmpgefp): New.
5473 (vec_vcfux): New.
5474 (vec_vcfsx): New.
5475 (vec_vctsxs): New.
5476 (vec_vctuxs): New.
5477 (vec_vexptefp): New.
5478 (vec_vrfim): New.
5479 (vec_lvx): New.
5480 (vec_lvebx): New.
5481 (vec_lvehx): New.
5482 (vec_lde): Add vector float variant.
5483 (vec_lvewx): New.
5484 (vec_lvxl): New.
5485 (vec_vlogefp): New.
5486 (vec_vmaddfp): New.
5487 (vec_vmhaddshs): New.
5488 (vec_vmaxub): New.
5489 (vec_vmaxsb): New.
5490 (vec_vmaxuh): New.
5491 (vec_vmaxsh): New.
5492 (vec_vmaxuw): New.
5493 (vec_vmaxsw): New.
5494 (vec_vmaxsw): New.
5495 (vec_vmaxfp): New.
5496 (vec_vmrghb): New.
5497 (vec_vmrghh): New.
5498 (vec_vmrghw): New.
5499 (vec_vmrglb): New.
5500 (vec_vmrglh): New.
5501 (vec_vmrglw): New.
5502 (vec_vminub): New.
5503 (vec_vminsb): New.
5504 (vec_vminuh): New.
5505 (vec_vminsh): New.
5506 (vec_vminuw): New.
5507 (vec_vminsw): New.
5508 (vec_vminfp): New.
5509 (vec_vmladduhm): New.
5510 (vec_vmhraddshs): New.
5511 (vec_msumubm): New.
5512 (vec_vmsummbm): New.
5513 (vec_vmsumuhm): New.
5514 (vec_vmsumshm): New.
5515 (vec_vmsumuhs): New.
5516 (vec_vmsumshs): New.
5517 (vec_vmuleub): New.
5518 (vec_vmulesb): New.
5519 (vec_vmuleuh): New.
5520 (vec_vmulesh): New.
5521 (vec_vmuloub): New.
5522 (vec_mulosb): New.
5523 (vec_vmulouh): New.
5524 (vec_vmulosh): New.
5525 (vec_vnmsubfp): New.
5526 (vec_vnor): New.
5527 (vec_vor): New.
5528 (vec_vpkuhum): New.
5529 (vec_vpkuwum): New.
5530 (vec_vpkpx): New.
5531 (vec_vpkuhus): New.
5532 (vec_vpkshss): New.
5533 (vec_vpkuwus): New.
5534 (vec_vpkswss): New.
5535 (vec_vpkshus): New.
5536 (vec_vpkswus): New.
5537 (vec_vperm): New.
5538 (vec_vrefp): New.
5539 (vec_vrlb): New.
5540 (vec_vrlh): New.
5541 (vec_vrlw): New.
5542 (vec_vrfin): New.
5543 (vec_vrsqrtefp): New.
5544 (vec_vsel): New.
5545 (vec_vslb): New.
5546 (vec_vslh): New.
5547 (vec_vslw): New.
5548 (vec_vsldoi): New.
5549 (vec_vsl): New.
5550 (vec_vslo): New.
5551 (vec_vspltb): New.
5552 (vec_vsplth): New.
5553 (vec_vspltw): New.
5554 (vec_vspltisb): New.
5555 (vec_vspltish): New.
5556 (vec_vspltisw): New.
5557 (vec_vsrb): New.
5558 (vec_vsrh): New.
5559 (vec_vsrw): New.
5560 (vec_vsrab): New.
5561 (vec_vsrah): New.
5562 (vec_vsraw): New.
5563 (vec_vsr): New.
5564 (vec_vsro): New.
5565 (vec_stvx): New.
5566 (vec_stvebx): New.
5567 (vec_stvehx): New.
5568 (vec_stvewx): New.
5569 (vec_stvxl): New.
5570 (vec_vsububm): New.
5571 (vec_vsubuhm): New.
5572 (vec_vsubuwm): New.
5573 (vec_vsubfp): New.
5574 (vec_vsubcuw): New.
5575 (vec_vsububs): New.
5576 (vec_vsubsbs): New.
5577 (vec_vsubuhs): New.
5578 (vec_vsubshs): New.
5579 (vec_vsubuws): New.
5580 (vec_vsubsws): New.
5581 (vec_vsum4ubs): New.
5582 (vec_vsum4sbs): New.
5583 (vec_vsum4shs): New.
5584 (vec_vsum2sws): New.
5585 (vec_vsumsws): New.
5586 (vec_vrfiz): New.
5587 (vec_vupkhsb): New.
5588 (vec_vupkhpx): New.
5589 (vec_vupkhsh): New.
5590 (vec_vupklsb): New.
5591 (vec_vupklpx): New.
5592 (vec_vupklsh): New.
5593 (vec_vxor): New.
5594
cff27795
EB
55952002-04-23 Eric Botcazou <ebotcazou@multimania.com>
5596
5597 PR c/5430
5598 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
5599 added literals from substracted literals.
5600 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
5601 (fold) [associate]: Preserve MINUS_EXPR if needed.
5602
952bca84
ZW
56032002-04-23 Zack Weinberg <zack@codesourcery.com>
5604
5605 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
5606 are obsoleted.
5607
50cb2154
TT
56082002-04-23 Tom Tromey <tromey@redhat.com>
5609
5610 * gcc.c: Added --resource. For PR java/6314.
5611
271f61fb
DB
56122002-04-23 David O'Brien <obrien@FreeBSD.org>
5613
9566d1e9 5614 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
5615 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
5616 these libraries.
5617
bdabbc80
DB
56182002-04-23 David O'Brien <obrien@FreeBSD.org>
5619
5620 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
5621
74411039
JH
5622Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
5623
5624 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
5625 workaround.
5626 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
5627 (ix86_expand_clrstr): Fix typo.
5628 * loop.c (gen_load_of_final_value): New.
5629 (loop_givs_rescan, strength_reduce, check_dbra_loop):
5630 Use it.
5631
1a887f86
RS
56322002-04-23 Roger Sayle <roger@eyesopen.com>
5633
5634 * builtins.c (builtin_memset_gen_str): New function.
5635 (expand_builtin_memset): Optimize the case of constant length, but
5636 unknown value.
5637
8d3441e0
AH
56382002-04-23 Aldy Hernandez <aldyh@redhat.com>
5639
cff27795
EB
5640 * config/rs6000/altivec.h (vec_step): Remove extraneous
5641 parentheses.
5642 (vec_ctu): Cast return.
8d3441e0 5643
f6f315fe
AM
56442002-04-23 Alan Modra <amodra@bigpond.net.au>
5645
5646 PR target/6413
5647 * function.h: (struct function): Add profile_label_no field.
5648 (current_function_profile_label_no): Define.
5649 * function.c: (profile_label_no): New static var.
5650 (expand_function_start): Increment it, and copy to
5651 current_function_profile_label_no.
5652 * output.h (profile_label_no): Delete.
5653 * final.c (profile_label_no): Delete.
5654 (profile_function): Use current_function_profile_label_no.
5655 (final_end_function): Don't increment profile_label_no here.
5656 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
5657 profile_label_no with current_function_profile_label_no.
5658 * config/pa/pa.c (current_function_number): Delete.
5659 (pa_output_function_prologue): Don't output profile label here.
5660 (hppa_profile_hook): Use label_no param rather than
5661 current_function_number.
5662 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
5663 * config/pa/pa.h: .. here.
5664 (FUNCTION_PROFILER): Output profile label here.
5665
d239cdc0
EC
56662002-04-22 Eric Christopher <echristo@redhat.com>
5667
5668 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
5669 patch of 2002-04-09 due to binutils issues.
5670 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
5671
04428ad4
AH
56722002-04-22 Aldy Hernandez <aldyh@redhat.com>
5673
cff27795
EB
5674 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
5675 constraint to 'o' for m=r and r=m alternatives.
5676 ("*movv8hi_internal1"): Same.
5677 ("*movv16qi_internal1"): Same.
5678 ("*movv4sf_internal1"): Same.
04428ad4 5679
2adc7f12
JJ
56802002-04-22 Janis Johnson <janis187@us.ibm.com>
5681
5682 * rtl.h (RTX_FLAG): New macro.
5683 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
5684 * final.c (alter_subreg): Use macro to access rtx flag.
5685 * integrate.c (copy_rtx_and_substitute): Use new access macro.
5686 * print-rtl.c (print_rtx): Use new access macro.
5687
5688 * cse.c (insert): Check rtx code before accessing flag.
5689
5690 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
5691 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
5692 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
5693 convert_const_symbol_ref, make_canonical, make_alternative_compare,
5694 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
5695 simplify_test_exp, optimize_attrs, simplify_by_exploding,
5696 find_and_mark_used_attributes, unmark_used_attributes,
5697 add_values_to_cover, simplify_with_current_value,
5698 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
5699 copy_rtx_unchanging, main): Use new access macros.
5700
b7c89afe
TR
57012002-04-22 Tom Rix <trix@redhat.com>
5702
5703 * expmed.c (init_expmed): Generate shifted constant once.
5704
9340544b
ZW
57052002-04-22 Zack Weinberg <zack@codesourcery.com>
5706
5707 * c-lex.c (lex_charconst): Call convert to get constant in
5708 proper type; don't just smash the type field.
5709 Fixes PR c/6300.
5710
5711 * config.gcc: Add list of obsolete configurations. Disallow
5712 building these without --enable-obsolete.
5713 * doc/install.texi: Document --enable-obsolete and obsoletion
5714 policy. Mention obsoletion of individual targets in
5715 appropriate places.
5716
f942d7a5
RH
57172002-04-22 Richard Henderson <rth@redhat.com>
5718
5719 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
5720
57212002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
5722
5723 PR f/6138.
5724 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
5725 (walk_fixup_memory_subreg): Likewise.
5726 (fixup_var_refs_insn): Adjust accordingly.
5727 (fixup_var_refs_1): Likewise.
5728
232b0b45
UW
57292002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
5730
5731 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
5732 LIBPATH_ARCH64_SPEC): Define.
5733 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
5734 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
5735 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
5736 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
5737
1b61552b
JS
57382002-04-22 Joel Sherrill <joel@OARcorp.com>
5739
5740 * gthr-rtems.h: Correct prototypes to remove warnings.
5741
0fe854a7
RH
57422002-04-22 Richard Henderson <rth@redhat.com>
5743
5744 PR c/6344
5745 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
5746
5747 * gcse.c (free_insn_expr_list_list): New.
5748 (clear_modify_mem_tables): Use it. Fix bit set usage.
5749 (canon_list_insert): Use EXPR_LISTs for expressions.
5750 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
5751
af0d16cd
NB
57522002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
5753
5754 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
5755 file change and include code to _cpp_pop_buffer.
5756 * cpphash.h (struct pending_option): Predeclare.
5757 (struct cpp_reader): New member next_include_file.
5758 (_cpp_pop_file_buffer): Update.
5759 (_cpp_push_next_buffer): Update, rename.
5760 * cppinit.c (cpp_destroy): Free include chain and pending here.
5761 (cpp_finish_options): Simplify.
5762 (_cpp_push_next_buffer): Rename and clean up.
5763 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
5764 Clarify.
5765 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
5766
0d918572
AH
57672002-04-22 Aldy Hernandez <aldyh@redhat.com>
5768
0fe854a7
RH
5769 * config/rs6000/altivec.h (vec_xor): Add variant for both args
5770 being vector signed int.
5771 (vec_andc): Same.
5772 (vec_xor): Add variant for both args being vector signed char.
5773 Remove redundant variant.
5774 (vec_andc): Same.
0d918572 5775
77e2c290
DM
57762002-04-21 David S. Miller <davem@redhat.com>
5777
5778 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
5779 compare mode in output RTL.
5780
ee2ca2a2
DE
57812002-04-22 David Edelsohn <edelsohn@gnu.org>
5782
5783 * config/rs6000/rs6000.c (rs6000_override_options): Correct
5784 style and formatting of previous patch.
5785
894bdff6
AM
57862002-04-22 Alan Modra <amodra@bigpond.net.au>
5787
5788 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
5789 flag_pic for ABI_AIX.
5790
562a5c27
NB
57912002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
5792
5793 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
5794 * cppfiles.c (read_include_file): Similarly.
5795 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
5796 uxstrdup ustrchr, ufputs): Similarly.
5797 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
5798 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
5799 cpp_ideq, parse_identifier, parse_number): Similarly.
5800 * cpplib.c (struct directive, dequote_string, D, run_directive,
5801 cpp_push_buffer): Similarly.
5802 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
5803 _cpp_create_definition, check_trad_stringification,
5804 cpp_macro_definition): Similarly.
5805
9ac3b1be
NB
58062002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
5807
5808 * cppmacro.c (funlike_invocation_p): Don't step back
5809 over CPP_EOF.
5810
9dda4cc8
DE
58112002-04-21 David Edelsohn <edelsohn@gnu.org>
5812
5813 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
5814 labelno.
5815
20764052
JM
58162002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
5817
5818 * doc/invoke.texi: Remove Chill references.
5819 * doc/gcc.texi: Update last modified date.
5820
26b29884
KH
58212002-04-20 Kazu Hirata <kazu@hxi.com>
5822
5823 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
5824 push and pop. Replace add.l with add.w.
5825
59184677
TM
58262002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
5827
5828 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
5829 multiply instructions for H8/300H case.
5830
b1113e0a
TM
58312002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
5832
5833 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
5834 Bum three instructions from each routine.
5835
b03e38e1
NB
58362002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
5837
5838 * Makefile.in: Update.
5839 * decl.c (push_c_function_context, pop_c_function_context,
5840 mark_c_function_context): Rename for consistency.
5841 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
5842 * c-tree.h (push_c_function_context, pop_c_function_context,
5843 mark_c_function_context): Rename for consistency.
5844 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
5845 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
5846 * function.c (init_lang_status, save_lang_status,
5847 restore_lang_status, mark_lang_status, free_lang_status):
5848 Move to langhooks.h.
5849 (push_function_context_to, pop_function_context_from,
5850 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
5851 Update.
5852 * function.h (init_lang_status, save_lang_status,
5853 restore_lang_status, mark_lang_status, free_lang_status):
5854 Move to langhooks.h.
5855 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
5856 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
5857 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
5858 LANG_HOOKS_FUNCTION_INITIALIZER): New.
5859 (LANG_HOOKS_INITIALIZER): Update.
5860 (lhd_do_nothing_f): New.
5861 * langhooks.h (struct lang_hooks_for_functions): New.
5862 (struct lang_hooks): New hooks.
5863 * langhooks.c (lhd_do_nothing_f): New.
5864objc:
5865 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
5866 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
5867
db430d26
DM
58682002-04-19 David S. Miller <davem@redhat.com>
5869
5870 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
5871 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
5872
0f2a3457
JJ
58732002-04-19 Jakub Jelinek <jakub@redhat.com>
5874
5875 PR optimization/3756
5876 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
5877 x = ((int) y < 0) ? cst1 : cst2.
5878
ce5e43d0
JJ
58792002-04-19 Jakub Jelinek <jakub@redhat.com>
5880
5881 PR c/6358
5882 * function.c: Reapply patch for c/6358.
5883 (expand_function_end): Copy decl_rtl's mode, not
5884 current_function_return_rtx mode.
5885
58862002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
5887
5888 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
5889 targets.
5890
40e7f8ea
TT
58912002-04-19 Tom Tromey <tromey@redhat.com>
5892
5893 * doc/install.texi (Specific): Update status of Solaris 2.8.
5894 For PR libgcj/6158.
5895
62a12b27
AS
58962002-04-19 Andreas Schwab <schwab@suse.de>
5897
5898 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
5899 (PUT_REAL): Restore old definition.
5900
1405141b
DN
59012002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
5902 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5903
5904 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
5905 binutils 2.11.2 and higher generate smaller binaries than Sun's
5906 native tools.
5907
303a3927
MM
59082002-04-19 Mark Mitchell <mark@codesourcery.com>
5909
5910 PR c++/6352
5911 * toplev.c (rest_of_compilation): Do not defer functions for which
5912 TREE_SYMBOL_REFERENCED has already been set.
5913
de80110b
JH
5914Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
5915
5916 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
5917 alternative.
5918
ab393bf1
NB
59192002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
5920
5921 * builtins.c: Include langhooks.h.
5922 (lang_type_promotes_to): Remove.
5923 (expand_builtin_va_arg): Use new hook.
5924 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
5925 (simple_type_promotes_to): Move to c-typeck.c.
5926 * c-common.h (simple_type_promotes_to): Remove.
5927 * c-decl.c (duplicate_decls, grokdeclarator): Update.
5928 * c-format.c: Include langhooks.h.
5929 (check_format_types): Update.
5930 * c-tree.h (c_type_promotes_to): New.
5931 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
5932 (type_lists_compatible_p): Update.
5933 * langhooks-def.h (lhd_type_promotes_to): New.
5934 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
5935 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
5936 * langhooks.c (lhd_type_promotes_to): New.
5937 * langhooks.h (struct lang_hooks_for_types): New hook.
5938 * tree.h (lang_type_promotes_to): Remove.
5939objc:
5940 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
5941
0cd3301b
RH
59422002-04-18 Richard Henderson <rth@redhat.com>
5943
58533fa2 5944 * function.c: Revert patch for c/6358.
0cd3301b
RH
5945
59462002-04-18 Richard Henderson <rth@redhat.com>
5947
58533fa2
RH
5948 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
5949 blocks. Handle multiple references to the TRAP block. Handle
5950 non-adjacent THEN and OTHER blocks.
0cd3301b 5951
58533fa2
RH
59522002-04-18 Richard Henderson <rth@redhat.com>
5953
5954 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
5955 crash with no type for by-mode libcalls.
5956
5957 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 5958
57174693
BW
59592002-04-18 Bob Wilson <bob.wilson@acm.org>
5960
5961 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
5962 __xtensa_nonlocal_goto): Use a syscall instructions to flush
5963 the register windows.
5964
46468cd9
ZW
59652002-04-18 Zack Weinberg <zack@codesourcery.com>
5966
5967 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
5968 appropriate. Document need for extended precision even when
5969 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
5970 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
5971 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
5972 instead of relying on later syntax error when REAL_WIDTH > 5.
5973 * real.c: Define NE based only on whether or not we have a
5974 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
5975 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
5976 define GET_REAL and PUT_REAL as simple memcpy operations; no
5977 need to byteswap or round.
5978 Use #error instead of #ifdef-ing out the entire file, for
5979 prompt error detection.
5980
5981 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
5982
2f82dbf8
DM
59832002-04-18 David S. Miller <davem@redhat.com>
5984
5985 * config/sparc/sparc.h (BRANCH_COST): Define.
5986
5987 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
5988 does it.
5989
566576e7
HPN
59902002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
5991
5992 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
5993 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
5994 propagate_block calls after relaxation loop using new variable
5995 stabilized_prop_flags.
5996
51dcde6f
RH
59972002-04-18 Richard Henderson <rth@redhat.com>
5998
5999 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
6000 (ia64_va_arg): Expect variable sized types by reference.
6001 * config/ia64/ia64-protos.h: Update.
46468cd9 6002 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
6003 ia64_function_arg_pass_by_reference.
6004
26406018
RH
60052002-04-18 Richard Henderson <rth@redhat.com>
6006
46468cd9
ZW
6007 * ifcvt.c: Include except.h.
6008 (block_has_only_trap): Break out from find_cond_trap.
6009 (find_cond_trap): Use it. Always delete the trap block.
6010 (merge_if_block): Allow then block null. Be less simplistic about
6011 what insns can end a block.
6012 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 6013
26406018
RH
6014 * config/ia64/ia64.md (trap, conditional_trap): New.
6015
a3acf46d
JJ
60162002-04-18 Jakub Jelinek <jakub@redhat.com>
6017
6018 PR c/6358
6019 * function.c (assign_parms): Assign hard current_function_return_rtx
6020 register here...
6021 (expand_function_end): ...not here.
6022
7a228918
NB
60232002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
6024
6025 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
6026 * c-tree.h (c_incomplete_type_error): New.
6027 * c-typeck.c (require_complete_type, build_component_ref): Update.
6028 (incomplete_type_error): Rename.
6029 * langhooks-def.h (lhd_incomplete_type_error): New.
6030 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
6031 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
6032 * langhooks.c (lhd_incomplete_type_error): New.
6033 * langhooks.h (struct lang_hooks_for_types): New hook.
6034 * tree.c (size_in_bytes): Use new hook.
6035 * tree.h (incomplete_type_error): Remove.
6036objc:
6037 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
6038
f18664c1
ZW
60392002-04-18 Zack Weinberg <zack@codesourcery.com>
6040
6041 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
6042 TARGET_FLOAT_FORMAT blocks.
6043
8ecab453
GP
60442002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6045
6046 * doc/install.texi (Downloading the source): Do not mention Chill
6047 any longer, but mention Ada.
6048 (Configuration): Do not mention Chill any longer.
6049
528d8489
HPN
60502002-04-18 Hans-Peter Nilsson <hp@axis.com>
6051
6052 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
6053
91da27c5
JH
6054Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
6055
6056 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
6057 in last patch.
6058
a32db605
JJ
60592002-04-18 Jakub Jelinek <jakub@redhat.com>
6060
6061 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
6062 instead of unsigned_type.
6063
5a28d8cc
JH
6064Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
6065
6066 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
6067 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
6068 later.
6069
3d980b9f
BS
60702002-04-18 Bernd Schmidt <bernds@redhat.com>
6071
6072 * attribs.c (vector_type_node_list): New static variable.
6073 (handle_vector_size_attribute): Use it to avoid generating a
6074 new type node each time we are called.
6075
2e676d78
BS
6076 * combine.c (subst): Avoid trying to make a vector mode subreg of
6077 an integer constant.
6078 (gen_lowpart_for_combine): Likewise.
46468cd9 6079
58c2956c
RS
60802002-04-18 Roger Sayle <roger@eyesopen.com>
6081 Jakub Jelinek <jakub@redhat.com>
6082
6083 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
6084 for integer constant c (if x has unsigned type or sign bit is not
6085 set in c). This folds the zero/sign extension into the bit-wise and
6086 operation.
6087
692efa8e
JJ
60882002-04-18 Jakub Jelinek <jakub@redhat.com>
6089
6090 PR middle-end/6205
6091 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
6092 otherwise xorps.
6093
1372d4ce
NY
60942002-04-17 NIIBE Yutaka <gniibe@m17n.org>
6095
6096 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
6097
169ce44d
NC
60982002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
6099
6100 * gcc.c (read_specs): Detect and fail if an attempt is made to
6101 rename a spec string to an already existing string.
6102
b30d2115
UW
61032002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
6104
6105 * config/s390/s390.c (legitimize_pic_address): Do not generate
6106 illegal address constant without CONST.
6107
d6964c30
KG
61082002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6109
6110 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
6111 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
6112
7c82a1ed
UW
61132002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
6114
6115 PR optimization/6305
6116 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
6117 to make sure previous reloads are taken into account. Generate
6118 better code if one operand is an in-range immediate constant.
6119
58db9d1a
AH
61202002-04-16 Andrew Haley <aph@cambridge.redhat.com>
6121
6122 * doc/install.texi (Building): libgcj requires GNU make.
6123
2a732575
JJ
61242002-04-17 Jakub Jelinek <jakub@redhat.com>
6125
6126 PR bootstrap/6315
6127 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
6128 even if hard quad and register is not floating.
6129 (movtf reg<-mem split): Disallow splitting if hard quad and
6130 register is floating.
6131 (movtf mem<-reg split): Likewise.
6132 * config/sparc/sparc.c (fp_register_operand): New predicate.
6133 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
6134
75a65e46
ZW
61352002-04-17 Zack Weinberg <zack@codesourcery.com>
6136
6137 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
6138 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
6139 (unprotoize.o): Ditto. Build from protoize.c. Define
6140 UNPROTOIZE on command line.
6141 * protoize.c: Include cppdefault.h. Delete include_defaults.
6142 (in_system_include_dir): Use cpp_include_defaults (defined in
6143 cppdefault.o).
6144 * unprotoize.c: Delete file.
6145
650f0e97
AH
61462002-04-17 Aldy Hernandez <aldyh@redhat.com>
6147
46468cd9
ZW
6148 * config/rs6000/altivec.h (vec_ld): Add array variants.
6149 (vec_lde): Same.
6150 (vec_ldl): Same.
650f0e97 6151
71a0ab0c 61522002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 6153 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 6154
46468cd9
ZW
6155 * config/rs6000/altivec.h: Define __ALTIVEC__.
6156 (bool): New.
6157 (__pixel): New.
6158 (pixel): New.
6159 (vec_cfux): New.
6160 (vec_vmaddfp): New.
6161 (vec_vsldoi): New.
6162 Add parentheses to all macro arguments.
71a0ab0c 6163
ff2c46ac
RH
61642002-04-16 Richard Henderson <rth@redhat.com>
6165
6166 PR c++/6320
6167 * except.c (remove_eh_handler): Insert inner regions at beginning
6168 of sibling chain. Refactor expressions.
6169
f1ba94dd
RH
61702002-04-16 Richard Henderson <rth@redhat.com>
6171
f0871dfe
RH
6172 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
6173 * config/sparc/sol2-gas-bi.h: New file.
6174 * config.gcc (sparc*-solaris): Add it as needed.
6175 * configure.in (AS_SPARC64_FLAG): Remove check.
6176 * config.in, configure: Regenerate.
6177
6178 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
6179
61802002-04-16 Richard Henderson <rth@redhat.com>
6181
6182 * config/mips/mips.c (override_options): Don't override N32 for
6183 a 64-bit ISA.
409d3c60 6184
f1ba94dd
RH
6185 PR 6202
6186 * config/mips/mips.md (can_delay): Split out of existing define_delays.
6187 (HILO_delay): Set can_delay false.
6188
178c3eff
DJ
61892002-04-16 Dale Johannesen <dalej@apple.com>
6190
6191 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
6192 instruction addresses.
6193 (rs6000_output_function_epilogue): Likewise.
6194
7d6f6369
PC
61952002-04-16 Paolo Carlini <pcarlini@unitus.it>
6196
6197 * c-parse.in (poplevel, compstmt_start,
6198 compstmt_primary_start): Add ending ';', in accordance
6199 with POSIX.
6200
8947df0c
RH
62012002-04-16 Richard Henderson <rth@redhat.com>
6202
6203 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
6204 Adjust tm_file order to get TARGET_DEFAULT set properly.
6205 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
6206 * doc/install.texi (sparc-solaris): Update.
6207
3148ad6d
DJ
62082002-04-16 Dale Johannesen <dalej@apple.com>
6209
6210 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
6211 comparison operands do not match each other or if modes of
6212 conditions do not match result.
6213
014cb9b6 62142002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 6215
014cb9b6
HP
6216 PR target/6305
6217 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 6218 multiword register.
562a69be 6219
014cb9b6 62202002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 6221
8947df0c 6222 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 6223
a9772b60
JJ
62242002-04-16 Jakub Jelinek <jakub@redhat.com>
6225
6226 PR middle-end/6279
6227 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
6228
6229 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
6230
861829ed
RH
62312002-04-15 Richard Henderson <rth@redhat.com>
6232
6233 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
6234 call_really_used_regs too.
6235
bcf2fe9c
RH
62362002-04-15 Richard Henderson <rth@redhat.com>
6237
6238 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
6239
629111c7
DM
62402002-04-15 David S. Miller <davem@redhat.com>
6241
6242 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
6243 as being CLOBBERed.
6244
98ef3137
JJ
62452002-04-16 Jakub Jelinek <jakub@redhat.com>
6246
6247 PR c/6290
6248 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
6249 CONST_VECTOR is { 0, ... 0 }.
6250
0aa911c5
LR
62512002-04-15 Loren J. Rittle <ljrittle@acm.org>
6252
6253 * doc/install.texi (Installing GCC: Configuration): Clarify
6254 the only supported ways to configure gcc.
6255
83248d49 62562002-04-15 Roland McGrath <roland@frob.com>
46468cd9 6257
83248d49
RM
6258 * config.gcc (alpha*-*-gnu*): New target configuration.
6259 * config/alpha/gnu.h: New file for it.
6260 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
6261
b2123dc0
MM
62622002-04-16 Mark Mitchell <mark@codesourcery.com>
6263
6264 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
6265 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
6266 * tree.h (expand_start_stmt_expr): Update prototype.
6267 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
6268 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
6269 on the STMT_EXPR created for the inline function.
46468cd9 6270
8fe2d853
RH
62712002-04-15 Richard Henderson <rth@redhat.com>
6272
6273 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
6274 config/i386/linux-aout.h, config/i386/linux-oldld.h,
6275 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
6276 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
6277 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
6278 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
6279 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
6280 Define __gnu_linux__, not gnu_linux.
6281 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
6282
07cdae91
MM
62832002-04-15 Mark Mitchell <mark@codesourcery.com>
6284
6285 Remove Chill front end.
6286 * gcc.c (default_compilers): Remove Chill entries.
6287 * ch: Remove directory.
6288 * doc/frontends.texi: Remove information about Chill.
6289 * doc/sourcebuild.texi: Likewise.
6290 * doc/standards.texi: Likewise.
6291
41823c5e
DR
62922002-04-15 Douglas B Rupp <rupp@gnat.com>
6293
6294 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
6295 (LONGLONG_STANDALONE): Define.
6296
eb29ddb6
DM
62972002-04-15 David S. Miller <davem@redhat.com>
6298
6299 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
6300 Call emit_library_call with LCT_NORMAL.
6301 (sparc_initialize_trampoline): Use LCT_foo instead of
6302 magic constant in emit_library_call invocations.
6303 (sparc64_initialize_trampoline): Likewise.
6304 (sparc_profile_hook): Likewise.
6305 * config/sparc/sparc.md: Likewise.
6306
6307 * config/sparc/sparc.c (sparc_extra_constraint_check):
6308 Fix type of argument 'c'.
6309 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
6310 Likewise.
6311
bd6bec6b
GDR
63122002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
6313
6314 * diagnostic.h (output_buffer_state): Redefine.
6315 (output_format_decoder): New macro.
6316 (output_prefixing_rule): Likewise.
6317 (output_line_cutoff): Likewise.
6318 (diagnostic_format_decoder): Adjust.
6319 (diagnostic_prefixing_rule): Likewise.
6320 (diagnostic_line_cutoff): Likewise.
6321 (diagnostic_state): Likewise.
6322 (diagnostic_kind_count): Likewise.
6323 (diagnostic_buffer): Now a macro.
6324
6325 * diagnostic.c (diagnostic_buffer): Remove definition.
6326 (output_is_line_wrapping): Adjust.
6327 (set_real_maximum_length): Likewise.
6328 (output_set_maximum_length): Likewise.
6329 (init_output_buffer): Likewise.
6330 (lhd_print_error_function): Likewise.
6331 (output_do_verbatim): Likewise.
6332
ebef4e8c
NB
63332002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
6334
6335 * cpperror.c (print_location): Don't print include chain
6336 if line == 0.
6337 (cpp_begin_message): Update to use DL_ macros.
6338 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
6339 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
6340 cpp_notice, cpp_notice_from_errno): Remove.
6341 (cpp_error, cpp_error_with_line): Update to take a diagnostic
6342 level.
6343 (cpp_errno): New.
6344 * cppexp.c (CPP_ICE): Remove.
6345 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
6346 lex, integer_overflow, _cpp_parse_expr): Update.
6347 * cppfiles.c (read_include_file, find_include_file,
6348 handle_missing_header, _cpp_read_file, remap_filename): Update.
6349 * cpphash.h (enum error_type): Remove.
6350 (_cpp_begin_message): Update.
6351 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
6352 cpp_handle_option, cpp_post_options): Update.
6353 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
6354 skip_whitespace, parse_identifier, parse_slow, parse_string,
6355 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
6356 cpp_interpret_charconst): Update.
6357 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
6358 lex_macro_node, do_undef, glue_header_name, parse_include,
6359 do_include_common, read_flag, do_line, do_linemarker, do_ident,
6360 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
6361 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
6362 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
6363 _cpp_pop_buffer, do_diagnostic): Update.
6364 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
6365 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
6366 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
6367 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
6368 cpp_notice, cpp_notice_from_errno): Remove.
6369 (cpp_error, cpp_error_with_line): Update to take a diagnostic
6370 level.
6371 (cpp_errno): New.
6372 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
6373 collect_args, enter_macro_context, save_parameter, parse_params,
6374 _cpp_create_definition, check_trad_stringification,
6375 cpp_macro_definition): Update.
6376 * cppmain.c (cpp_preprocess_file): Update.
6377 * fix-header.c (read_scan_file): Update.
6378
c19a3859
AS
63792002-04-14 Andreas Schwab <schwab@suse.de>
6380
6381 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
6382
10fdbed6
JD
63832002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
6384
6385 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
6386
77660a9a
MM
63872002-04-13 Mark Mitchell <mark@codesourcery.com>
6388
6389 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
6390 not gnu_hurd.
6391
e0ff1ded
HPN
63922002-04-13 Hans-Peter Nilsson <hp@axis.com>
6393
6394 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
6395
2341c7ea
JS
63962002-04-13 Joel Sherrill <joel@OARcorp.com>
6397
6398 * config/sparc/t-elf: Enable v8 multilibs. Impacts
6399 sparc-elf and sparc-rtems targets.
6400
d29350c0
MM
64012002-04-13 Mark Mitchell <mark@codesourcery.com>
6402
6403 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
6404 defined, and __gnu_hurd__ wherever __GNU__ is defined.
6405 * arm/linux-elf.h: Likewise.
6406 * cris/aout.h: Likewise.
6407 * cris/linux.h: Likewise.
6408 * i370/linux.h: Likewise.
6409 * i386/gnu.h: Likewise.
6410 * i386/linux-aout.h: Likewise.
6411 * i386/linux-oldld.h: Likewise.
6412 * i386/linux.h: Likewise.
6413 * i386/linux64.h: Likewise.
6414 * ia64/linux.h: Likewise.
6415 * m68k/linux-aout.h: Likewise.
6416 * m68k/linux.h: Likewise.
6417 * mips/linux.h: Likewise.
6418 * pa/pa-linux.h: Likewise.
6419 * pj/linux.h: Likewise.
6420 * rs6000/sysv4.h: Likewise.
6421 * s390/linux.h: Likewise.
6422 * sh/linux.h: Likewise.
6423 * sparc/linux-aout.h: Likewise.
6424 * sparc/linux.h: Likewise.
6425 * sparc/linux64.h: Likewise.
6426 * xtensa/linux.h: Likewise.
6427
fc552851
RS
64282002-04-13 Richard Sandiford <rsandifo@redhat.com>
6429
6430 * stmt.c (check_unique_operand_names): Expect operand names to
6431 be strings rather than identifiers. Use simple_cst_equal to
6432 compare them.
6433 (resolve_operand_name_1): Make same identifier to string change here.
6434 * c-parse.in (asm_operand): Convert a named operand into a string.
6435 * cp/parse.y (asm_operand): Likewise.
6436
1d405c5e
AS
64372002-04-13 Andreas Schwab <schwab@suse.de>
6438
6439 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
6440
c740732f
MM
64412002-04-12 Mark Mitchell <mark@codesourcery.com>
6442
6443 Revert these changes:
6444
6445 2002-04-06 Mark Mitchell <mark@codesourcery.com>
6446
6447 PR c++/5571
6448 * stor-layout.c (layout_decl): Reset the RTL for the decl.
6449
3fc602a0
RH
64502002-04-12 Richard Henderson <rth@redhat.com>
6451
6452 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
6453 (sparc*-*-solaris): Clean up header files.
6454 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
6455 and plan on generating 64-bit code.
6456 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
6457 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
6458 * config/sparc/sol2-sld-64.h: Rename ...
6459 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
6460 for AS_SPARC64_FLAG not defined.
6461 * config/sparc/sol2-gld-bi.h: New.
6462 * config/sparc/sol2-sld.h: Remove.
6463 * config/sparc/sol26-sld.h: New.
6464 * config/sparc/sol2.h: Tidy comments.
6465 * doc/install.texi: Document sparc-solaris configury changes.
6466
2f15e255
RH
64672002-04-12 Richard Henderson <rth@redhat.com>
6468
6469 * recog.c (offsettable_address_p): Match the logic in adjust_address.
6470
6471 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
6472 in 64-bit mode only. Use only for 32-bit or MEDLOW.
6473
cc8475cb
RO
64742002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6475
6476 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
6477
6f133a4a
JL
6478Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
6479
ef1b8858 6480 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
6481 constrain_operands.
6482
1329e600
DR
64832002-04-12 Douglas B Rupp <rupp@gnat.com>
6484
6485 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
6486 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
6487 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 6488 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
6489 * config/i386/t-interix (USER_H): Remove.
6490
0339d239
DD
64912002-04-12 DJ Delorie <dj@redhat.com>
6492
6493 * integrate.c (compare_blocks): Make comparisons safe for when
6494 sizeof(int) < sizeof(char *).
6495 (find_block): Likewise.
6496
cc4d5fec
JH
64972002-04-12 Jan Hubicka <jh@suse.cz>
6498 David Edelsohn <edelsohn@gnu.org>
6499
6500 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
6501 registers.
6502 (symbol_ref_operand): New.
6503 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
6504 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
6505
93215a1b
AS
65062002-04-12 Andreas Schwab <schwab@suse.de>
6507
6508 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
6509 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
6510 overrides the definition in config/svr4.h.
46468cd9 6511
1d80248e
EN
65122002-04-12 Eric Norum <eric.norum@usask.ca>
6513
6514 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
6515 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
6516 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
6517 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
6518 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
6519 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
6520 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
6521 definitions to config/rtems.h and make the targets more similar.
6522
fa1591cb
RK
6523Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6524
fa06ab5c
RK
6525 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
6526 POINTERS_EXTEND_UNSIGNED.
6527 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
6528 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
6529
fa1591cb
RK
6530 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
6531 not specified.
6532
12e85a0e
R
6533Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
6534
6535 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
6536 depends on TARGET_SHMEDIA, not TARGET_SH5.
6537
1ab3e58a
HPN
65382002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
6539
6540 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
6541 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
6542
18778292
R
6543Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
6544
6545 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
6546 no r0 clobber.
6547
9002507c
AS
65482002-04-12 Andreas Schwab <schwab@suse.de>
6549
6550 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
6551
9be40833
RH
65522002-04-12 Richard Henderson <rth@redhat.com>
6553
6554 PR bootstrap/4191
6555 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
6556
6557 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
6558 modes spanning multiple hard regs.
46468cd9 6559
9be40833
RH
6560 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
6561
3d9268b6
JDA
65622002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
6563
6564 * pa.c (pa_output_function_prologue): Don't accumulate the total
6565 number of code bytes when using TARGET_64BIT, or gas, SOM and not
6566 the portable runtime.
6567 (output_deferred_plabels): Handle 64bit plabels.
6568 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
6569 generating pic code using the GAS assembler for object formats that
6570 are not SOM (ie., ELF32 and ELF64).
6571 (output_millicode_call): Check attribute type if attribute length is 28.
6572 Likewise use $PIC_pcrel$0. Only call get_attr_length and
6573 dbr_sequence_length once.
6574 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
6575 dbr_sequence_length once.
6576 * pa.h (TARGET_SOM): Define if not defined.
6577 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
6578 with GAS and not SOM.
6579 (jump, call_internal_reg, call_value_internal_reg): Likewise.
6580 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
6581
d360fd18
DB
65822002-04-11 David O'Brien <obrien@FreeBSD.org>
6583
6584 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
6585 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
6586 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
6587 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
6588 elfos.h and dbxelf.h values are fine now.
6589 * config/i386/freebsd.h, config/alpha/freebsd.h
6590 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
6591
5b8fcab6
DB
65922002-04-11 David O'Brien <obrien@FreeBSD.org>
6593
6594 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
6595 or set Acpu or Amachine. Reformat.
6596 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
6597 define.
6598 (LINK_SPEC): Do not need to undef.
6599 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
6600 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
6601 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
6602 define.
6603 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
6604 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
6605 (LINK_SPEC): Do not need to undef.
6606 (DONT_USE_BUILTIN_SETJMP): Do not define.
6607 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
6608 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
6609 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
6610 Remove trailing spaces.
6611 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
6612 __ELF__, or set Acpu or Amachine. Reformat.
6613 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
6614 define.
6615
fee42cc1
DB
66162002-04-11 David O'Brien <obrien@FreeBSD.org>
6617
6618 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
6619 all other *-*-freebsd* targets.
6620
77a403e4
RH
66212002-04-11 Richard Henderson <rth@redhat.com>
6622
6623 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
6624
cf0005c6
DB
66252002-04-11 David O'Brien <obrien@FreeBSD.org>
6626
6627 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
6628 Include {cpu}/{cpu}.h thru tm_file.
6629 (alpha*-*-linux*ecoff): Remove target.
6630 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
6631 (LINK_SPEC): Remove, is not OS independent.
6632 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
6633 (LINK_SPEC): Do not need to #undef any longer.
6634 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
6635 any longer.
6636 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
6637 __ELF__.
6638 (LINK_SPEC): Moved here from alpha/elf.h.
6639 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
6640 SUB_CPP_PREDEFINES.
6641 * config/alpha/linux-ecoff.h: Remove.
6642 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
6643 (CPP_SPEC): Define _POSIX_SOURCE as needed.
6644 (CPP_SUBTARGET_SPEC): Do not define.
6645 (LINK_SPEC): Do not need to #undef any longer.
6646 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
6647 * config/alpha/vms.h: Likewise.
6648
9be40833 66492002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
6650
6651 * doc/extend.texi: Remove old claim that typedefs cannot have
6652 an alignment attribute.
6653
010f87c4
JJ
66542002-04-11 Jakub Jelinek <jakub@redhat.com>
6655
6656 PR optimization/6177
6657 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
6658 bitpos is 0 and bitsize CONCAT size.
6659
578fc63d
JJ
66602002-04-11 Jakub Jelinek <jakub@redhat.com>
6661
6662 PR c/6223
6663 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
6664
bf9b85ce
DB
66652002-04-10 David O'Brien <obrien@FreeBSD.org>
6666
6667 * config/alpha/freebsd.h: Minor reformatting.
6668 (CPP_SPEC): Define ELF and add cpp_subtarget.
6669 (ASM_SPEC): No longer needed.
6670
7425707d
RH
66712002-04-11 Richard Henderson <rth@redhat.com>
6672
6673 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
6674 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
6675 (dimode mem/zero splitter): New.
6676
1a05e874
HPN
66772002-04-11 Hans-Peter Nilsson <hp@axis.com>
6678
6679 * config/cris/cris.c (cris_override_options): Tweak error message
6680 for PIC not implemented.
6681
6682 * config/cris/cris.h: Tweak comments related to parameter-passing.
6683
6684 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
6685
6f3d0447
RH
66862002-04-10 Richard Henderson <rth@redhat.com>
6687
6688 * except.c (add_ehl_entry): Allow duplicates after landing pad
6689 creation.
6690
174bf2b1
DE
66912002-04-10 David Edelsohn <edelsohn@gnu.org>
6692
6693 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
6694
03f10472
TM
66952002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
6696
6697 * c-decl.c (c_init_decl_processing): Move generation of
6698 decls for g77_integer_type_node and friends from here ...
6699 * c-common.c (c_common_nodes_and_builtins): ... to here.
6700
2f460a0a
UW
67012002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
6702
6703 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
6704 is only used as frame pointer when frame_pointer_needed is true.
6705
0be5cf85
RE
67062002-04-10 Richard Earnshaw <rearnsha@arm.com>
6707
6708 PR target/817
6709 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
6710 for the fact that the pool entry uses two words.
6711 (movdf_hard_insn): Similarly. Also, ADR instruction can span
6712 1k bytes.
6713 (movdf_soft_insn): Similarly.
6714 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
6715 for the fact that the pool entry uses three words.
6716
bf6d4777
RS
67172002-04-10 Richard Sandiford <rsandifo@redhat.com>
6718
6719 * config/mips/mips.c (mips_va_arg): When using the struct version
6720 of the EABI va_list, allow arguments in the register save area to
6721 take up less room than a stack argument.
6722
c2e9dc85
RH
67232002-04-10 Richard Henderson <rth@redhat.com>
6724
6725 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
6726 if EXPAND_INITIALIZER.
6727
bc8e8e97
RH
67282002-04-09 Richard Henderson <rth@redhat.com>
6729
6730 * config/alpha/alpha.md (movdi_er_maybe_g): New.
6731 * config/alpha/alpha.c (alpha_expand_mov): Use it.
6732
a6a063b8
AM
67332002-04-10 Alan Modra <amodra@bigpond.net.au>
6734
6735 PR optimization/6233
6736 * rtlanal.c (pure_call_p): New function.
6737 * rtl.h (pure_call_p): Declare.
6738 * loop.c (prescan_loop): Use it to set has_nonconst_call.
6739 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
6740
7b2e1077
EC
67412002-04-09 Eric Christopher <echristo@redhat.com>
6742
6743 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
6744 information to .comm directive.
6745
d8a50944
RH
67462002-04-09 Richard Henderson <rth@redhat.com>
6747
6748 PR c/5078
6749 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
6750
6a58eee9
RH
67512002-04-09 Richard Henderson <rth@redhat.com>
6752
6753 * basic-block.h (flow_delete_block_noexpunge): Declare.
6754 (expunge_block_nocompact): Declare.
6755 * cfg.c (expunge_block_nocompact): Split out from ...
6756 (expunge_block): ... here.
6757 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
6758 (flow_delete_block_noexpunge): Split out from ...
6759 (flow_delete_block): ... here.
6760 * cfgcleanup.c (delete_unreachable_blocks): Compact while
6761 removing dead blocks.
6762 * except.c (exception_handler_labels): Remove.
6763 (exception_handler_label_map): New.
6764 (struct eh_region): Add aka member.
6765 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
6766 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
6767 (for_each_eh_label, for_each_eh_label_1): New.
6768 (init_eh): Register exception_handler_label_map.
6769 (free_eh_status): Use free_region.
6770 (find_exception_handler_labels): Use the map, not the list.
6771 (remove_exception_handler_label): Likewise.
6772 (maybe_remove_eh_handler): Likewise.
6773 (remove_eh_handler): Use the region aka bitmap.
6774 * except.h (exception_handler_labels): Remove.
6775 (for_each_eh_label): Declare.
6776 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
6777 * loop.c (invalidate_loops_containing_label): New.
6778 (find_and_verify_loops): Use it. Use for_each_eh_label.
6779 * sched-rgn.c (is_cfg_nonregular): Use
6780 current_function_has_exception_handlers.
6781
b47374fa
RH
67822002-04-09 Richard Henderson <rth@redhat.com>
6783
6784 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
6785 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
6786 Do not return changed status.
6787 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
6788 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
6789 New functions that do return changed status.
6790 * sbitmap.h: Update decls.
6791 * gcse.c, lcm.c: Use _cg functions as needed.
6792
1951818c
R
6793Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
6794
6795 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
6796 (sh64-*-elf*, sh-*-rtemself*): Likewise.
6797 * config/sh/embed_bb.c: New file.
6798 * config/sh/embed-elf.h: New file.
6799 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
6800 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
6801 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
6802 __PTRDIFF_TYPE__ .
6803 (SUBTARGET_CPP_PTR_SPEC): Don't define.
6804 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
6805 Add subtarget_asm_endian_spec.
6806 (ASM_SPEC): Use subtarget_asm_endian_spec.
6807 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
6808 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
6809 (WCHAR_UNSIGNED): Define.
6810 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
6811 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
6812 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
6813 Fix value.
6814 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
6815 (sh_adjust_cost): Likewise.
6816 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
6817 __PTRDIFF_TYPE__ .
6818 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
6819 (WCHAR_TYPE_SIZE): Likewise.
6820 (ASM_SPEC): Use subtarget_asm_endian_spec.
6821 (SH_ELF_WCHAR_TYPE): #undef/ #define.
6822 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
6823 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
6824 (MAX_WCHAR_TYPE_SIZE): Don't #define .
6825 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
6826 (USER_LABEL_PREFIX): Don't #undef /#define .
6827 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
6828 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
6829 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
6830 (ASM_SPEC): Likewise.
6831 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
6832 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
6833 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
6834 (LIB2FUNCS_EXTRA): Define.
6835 * t-sh64 (LIB2FUNCS_EXTRA): Define.
6836 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
6837 (LIB1ASMFUNCS_CACHE): Define.
6838 (LIB2FUNCS_EXTRA): Redefine empty.
6839
34295799
RH
68402002-04-08 Richard Henderson <rth@redhat.com>
6841
6842 * reorg.c (get_branch_condition): Use reversed_comparison_code.
6843
e8766a39
SC
68442002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6845
6846 * config/m68hc11/larith.asm (__map_data_section): Fix condition
6847 and optimize for size.
6848 (__do_global_ctors): Fix pointer comparison.
6849 (__do_global_dtors): Likewise.
6850
f451b552
DM
68512002-04-09 David S. Miller <davem@redhat.com>
6852
6853 * config/sparc/sparc.c (sparc_extra_constraint_check): New
6854 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
6855 allow reloading pseudos.
6856 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
6857 * config/sparc/sparc-protos.h: Declare it.
6858
6859 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
6860 unsigned comparison warning.
6861 (output_restore_regs): Mark leaf_function as unused.
6862
1ce7f3c2
RK
6863Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6864
6865 * expr.c (is_aligning_offset): New function.
6866 (expand_expr, case COMPONENT_EXPR): Call it.
6867
7a31a340
DM
68682002-04-08 David S. Miller <davem@redhat.com>
6869
6870 PR target/6082
6871 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
6872
6873 Make init_priority work on Sparc when using GNU ld.
6874 * config/sparc/linux.h, config/sparc/linux64.h,
6875 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
6876 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
6877 * config/sparc/sol2-gld.h: New file to do the same.
6878 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
6879 sparc/sol2-gld.h to tm_file.
6880
6881 PR optimization/4328
6882 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
6883 * doc/md.texi: Document it.
6884 * config/sparc/sparc.md (movdi_insn_sp64_novis,
6885 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
6886 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
6887 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
6888 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
6889
11579f33
AJ
68902002-04-08 Andreas Jaeger <aj@suse.de>
6891
6892 * stmt.c (expand_asm_operands): Revert last patch from Richard
6893 Henderson.
6894
b57215d9
GP
68952002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6896
6897 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
6898 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
6899
69002002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6901
6902 * doc/contrib.texi (Contributors): Add David O'Brien.
6903
534d0cc0
AM
69042002-04-08 Alan Modra <amodra@bigpond.net.au>
6905
6906 * configure.in (auto-build.h): Use target_alias and build_alias
6907 when running configure.
6908 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
6909 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
6910 * configure: Regenerate.
6911
19fe522a
DM
69122002-04-07 David S. Miller <davem@redhat.com>
6913
6914 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
6915
bf2d0b8e
JDA
69162002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
6917
6918 PR 5933
6919 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
6920 generating 32-bit pic code.
6921
477cdac7
JT
69222002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
6923
6924 * cppinit.c (cpp_create_reader): Initialize
6925 discard_comments_in_macro_exp.
6926 (COMMAND_LINE_OPTIONS): Add "-CC" option.
6927 (cpp_handle_option): Handle "-CC" option.
6928 * cpplex.c (save_comment): If saving a C++ comment in
6929 a directive, convert it to a C comment.
6930 (_cpp_lex_direct): Pass second comment start character to
6931 save_comment to indicate comment type.
6932 * cpplib.c (_cpp_handle_directive): If processing
6933 a "#define" directive and discard_comments_in_macro_exp
6934 is false, re-enable saving of comments.
6935 (lex_macro_node): If discard_comments_in_macro_exp is false,
6936 discard any comments before the macro identifier.
6937 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
6938 member.
6939 * cppmacro.c (cpp_get_token): If expanding a macro while
6940 processing a directive, discard any comments we might encounter.
6941 (parse_params): If discard_comments_in_macro_exp is false,
6942 ignore comments in the macro parameter list.
6943 * gcc.c (cpp_unique_options): Add "-CC" option.
6944 (option_map): Map "--comments-in-macros" to "-CC".
6945 * doc/cppopts.texi: Document "-CC" option.
6946 * f/lang-specs.h: Add "-CC" option.
6947 * testsuite/gcc.dg/cpp/maccom1.c: New test.
6948 * testsuite/gcc.dg/cpp/maccom2.c: New test.
6949 * testsuite/gcc.dg/cpp/maccom3.c: New test.
6950 * testsuite/gcc.dg/cpp/maccom4.c: New test.
6951 * testsuite/gcc.dg/cpp/maccom5.c: New test.
6952 * testsuite/gcc.dg/cpp/maccom6.c: New test.
6953
f1526122
JDA
69542002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
6955
6956 PR middle-end/6180
6957 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
6958
b1896e61
MM
69592002-04-06 Mark Mitchell <mark@codesourcery.com>
6960
0154eaa8
MM
6961 PR c++/5571
6962 * stor-layout.c (layout_decl): Reset the RTL for the decl.
6963
b1896e61
MM
6964 PR opt/5120
6965 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
6966 RTX_UNCHANGING_P for the functions arguments when a tail call
6967 is made.
6968
b0148884
JM
69692002-04-06 Jason Merrill <jason@redhat.com>
6970
6971 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
6972 (parse_options_and_default_flags): Set them appropriately.
6973 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
6974
392fc5b0
HPN
69752002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
6976
6977 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
6978 here.
6979
6980 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
6981 semicolon.
6982
6983 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
6984 types come in by-reference. Fix typo in comment.
6985
2d69e3cb
DM
69862002-04-05 David S. Miller <davem@redhat.com>
6987
6988 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
6989 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
6990 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
6991 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
6992
69932002-04-05 David S. Miller <davem@redhat.com>
6994
6995 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
6996 are not going to emit return instructions, emit at least a nop
6997 for the sake of sane backtraces.
6998
5f9fb0e3
RH
69992002-04-05 Richard Henderson <rth@redhat.com>
7000
7001 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
7002
49f37a0d
JJ
70032002-04-05 Jakub Jeilnek <jakub@redhat.com>
7004
7005 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
7006
974a3101
AO
70072002-04-05 Alexandre Oliva <aoliva@redhat.com>
7008
7009 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
7010 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
7011 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
7012
2e04a694
AS
70132002-04-05 Andreas Schwab <schwab@suse.de>
7014
a40179bd 7015 * c-convert.c: Include c-common.h.
2e04a694
AS
7016 * Makefile.in (c-convert.o): Updated.
7017
1f785b7c
JJ
70182002-04-05 Jakub Jelinek <jakub@redhat.com>
7019
7020 * mklibgcc.in: Use separate libgcc.map for each multilib.
7021 * Makefile.in (distclean): Don't remove libgcc.map here.
7022
4d2fb38b
JJ
70232002-04-05 Jakub Jelinek <jakub@redhat.com>
7024
7025 * Makefile.in (s-mlib): Handle --disable-multilib by separate
7026 genmultilib invocation.
7027
bb63e5a0
RS
70282002-04-04 Richard Sandiford <rsandifo@redhat.com>
7029
7030 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
7031 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
7032 to num_gprs for symmetry.
7033 * config/mips/mips.c: Adjust accordingly.
7034
8ab80eaa
NB
70352002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
7036
7037 * c-common.c (truthvalue_conversion): Rename, update.
7038 * c-common.h (c_common_truthvalue_conversion): New.
7039 * c-convert.c (convert): Update.
7040 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
7041 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
7042 * c-typeck.c (build_binary_op, build_unary_op,
7043 build_conditional_expr): Update.
7044 * fold-const.c (constant_boolean_node, fold): Use langhook.
7045 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
7046 * langhooks.h (struct lang_hooks): New hook.
7047 * stmt.c (expand_decl_cleanup): Use langhook.
7048 * tree.h (truthvalue_conversion): Remove.
7049objc:
7050 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
7051
a2e9374a
AM
70522002-04-05 Alan Modra <amodra@bigpond.net.au>
7053
7054 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
7055 Add rules to make null object file.
7056
64d08263
JB
70572002-04-04 Jim Blandy <jimb@redhat.com>
7058
7059 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
7060 macro formal parameter names.
7061
aa7634dd
DM
70622002-04-04 David S. Miller <davem@redhat.com>
7063
7064 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
7065
ecc114f7
RH
70662002-04-04 Richard Henderson <rth@redhat.com>
7067
7068 PR middle-end/5099
7069 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
7070 Support copies into and out of memory. Don't accept allows_reg
7071 and allows_mem as gospel.
7072
c4484b8f
RH
70732002-04-04 Richard Henderson <rth@redhat.com>
7074
7075 PR opt/6165
7076 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
7077 (write_dependence_p): Likewise.
7078
39002160
RH
70792002-04-04 Richard Henderson <rth@redhat.com>
7080
7081 * predict.c (estimate_bb_frequencies): Do frequency calculation
7082 with a volatile temporary.
7083
f53ebe71
UW
70842002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
7085
7086 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
7087
15e0ecab
JJ
70882002-04-04 Jakub Jelinek <jakub@redhat.com>
7089
7090 PR c++/6119
7091 * final.c (final_start_function): Don't bump profile_label_no here...
7092 (final_end_function): ...but here.
7093
ffd386b0
JJ
70942002-04-04 Jakub Jelinek <jakub@redhat.com>
7095
7096 * config/sparc/sparc.md (pic): New attribute.
7097 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
7098 into stack slots.
7099 (split after do_builtin_setjmp_setup): New.
7100
8b156b3e
JJ
71012002-04-04 Jakub Jelinek <jakub@redhat.com>
7102
7103 PR fortran/6106
7104 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
7105 change.
7106
014c0998
JJ
71072002-04-04 Jakub Jelinek <jakub@redhat.com>
7108
7109 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
7110 UNITS_PER_WORD for zero sized aggregates.
7111
4d8611d9
DM
71122002-04-03 David S. Miller <davem@redhat.com>
7113
7114 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
7115 one-character spec for this, just use %(link_gcc_c_sequence).
7116
b03ad99d
DM
71172002-04-03 David S. Miller <davem@redhat.com>
7118
7119 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
7120 handling.
7121
823fbbce
JDA
71222002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
7123
7124 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
7125 (DWARF_FRAME_RETURN_COLUMN): Move.
7126 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7127 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
7128 * pa.c (except.h, predict.h): Include.
7129 (FRP): Delete.
7130 (store_reg_modify, set_reg_plus_d): Revise prototypes.
7131 (output_ascii): Add cast.
7132 (store_reg_modify): Revise to add frame notes.
7133 (set_reg_plus_d): Likewise.
7134 (compute_frame_size): Include space for eh data registers in frame if
7135 the current function calls eh_return.
7136 (hppa_expand_prologue): Ensure register %r2 is saved if the current
7137 function calls eh_return. Save eh data registers if the current
7138 function calls eh_return. Fix code to add frame notes. Emit
7139 blockage to prevent insns with frame notes being scheduled in the
7140 delay slot of calls.
7141 (hppa_expand_epilogue): Restore eh data registers and do final stack
7142 adjustment if the current function calls eh_return. Don't add frame
7143 notes.
7144 (output_call): Revise for change in length of call insn. Don't do
7145 return pointer adjustment for an unconditional jump in the delay slot
7146 of a call when using frame notes.
7147 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
7148 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
7149 (ARG_POINTER_CFA_OFFSET): Define.
7150 * pa.md (return_external_pic): New pattern.
7151 (prologue): Correct formatting. Use return_external_pic if current
7152 function calls eh_return.
7153 (call_internal_symref, call_value_internal_symref,
7154 sibcall_internal_symref, sibcall_value_internal_symref): Change default
7155 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
7156 respectively.
7157 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
7158
7159 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
7160 list of targets to check using "nop" insn.
7161 * configure: Rebuilt.
7162
4078e224
AM
71632002-04-04 Alan Modra <amodra@bigpond.net.au>
7164
7165 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
7166
bbd7687d
DM
71672002-04-03 David S. Miller <davem@redhat.com>
7168
7169 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
7170 library sequence passed to the linker.
7171 (LINK_COMMAND_SPEC): Use it.
7172 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
7173 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
7174 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7175
659e5a7a
JM
71762002-04-03 Jason Merrill <jason@redhat.com>
7177
7178 * except.c (struct eh_status): Remove protect_list.
7179 (begin_protect_partials, end_protect_partials): Remove.
7180 (add_partial_entry): Remove.
7181 * except.h: Remove prototypes.
7182
7183 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
7184 expand_decl_cleanup_eh.
7185
7186 PR c++/5636
7187 * tree.h (CLEANUP_EH_ONLY): New macro.
7188 * stmt.c (expand_decl_cleanup_eh): New fn.
7189 (expand_cleanups): Check CLEANUP_EH_ONLY.
7190 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
7191 Use expand_decl_cleanup_eh.
7192 (expand_stmt): Adjust.
7193 * c-common.h: Adjust prototype.
7194
053d3344
HPN
71952002-04-04 Hans-Peter Nilsson <hp@axis.com>
7196
7197 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
7198 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
7199 (cris_target_asm_function_epilogue): Ditto.
7200 (cris_initial_frame_pointer_offset): Ditto.
7201 (cris_simple_epilogue): Ditto.
7202 (cris_expand_builtin_va_arg): Variable-size types come in
7203 by-reference.
7204
61ab5260
DM
72052002-04-03 David S. Miller <davem@redhat.com>
7206
7207 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
7208 little-endian.
7209 (set_fast_math): Correct 'fsr' type.
7210
ef4f94ac
RH
72112002-04-03 Richard Henderson <rth@redhat.com>
7212
36c2272c 7213 PR opt/3569
ef4f94ac
RH
7214 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
7215 * toplev.c (check_global_declarations): Use it.
7216 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
7217 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
7218 (LANG_HOOKS_DECLS): Add it.
7219 * langhooks.c (lhd_warn_unused_global_decl): New.
7220 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
7221 * c-objc-common.c (c_warn_unused_global_decl): New.
7222 * c-tree.h (c_warn_unused_global_decl): Declare.
7223 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
7224
599bba86
NB
72252002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
7226
7227 * langhooks-def.h (lhd_set_decl_assembler_name,
7228 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
7229 (LANG_HOOKS_INITIALIZER): Update.
7230 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
7231 * langhooks.h (struct lang_hooks): New hook.
7232 * tree.c (set_decl_assembler_name): Move to langhooks.c.
7233 (lang_set_decl_assembler_name): Remove.
7234 (init_obstacks): Don't set hook.
7235 (decl_assembler_name): New function.
7236 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
7237 (decl_assembler_name): New.
7238 (lang_set_decl_assembler_name): Remove.
7239
cf7b8b0d
JJ
72402002-04-03 Jakub Jelinek <jakub@redhat.com>
7241
7242 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
7243 works properly with .hidden symbols.
7244 * configure: Rebuilt.
7245 * config.in: Rebuilt.
7246 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
7247 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
7248 properly with .hidden symbols.
7249
faf6db38
JJ
72502002-04-03 Jakub Jelinek <jakub@redhat.com>
7251
7252 PR middle-end/6102
7253 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
7254 USE argument.
7255
68c17f30
RH
72562002-04-03 Richard Henderson <rth@redhat.com>
7257
7258 PR opt/4120
7259 * sched-rgn.c (sets_likely_spilled): New.
7260 (sets_likely_spilled_1): New.
7261 (add_branch_dependences): Use it.
7262
6584b4aa
RH
72632002-04-02 Richard Henderson <rth@redhat.com>
7264
7265 PR opt/4311
7266 * loop.h (LOOP_FIRST_PASS): New.
7267 * loop.c (strength_reduce): Mind it when deciding to unroll.
7268 * toplev.c (rest_of_compilation): Set it.
7269
0acf409f
DM
72702002-04-02 David S. Miller <davem@redhat.com>
7271
7272 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
7273 mems_ok_for_ldd_peep when the order of the loads being examined
7274 is reversed.
7275 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
7276 existing comment to increase comprehension of this situation.
7277
85654444
ZW
72782002-04-02 Zack Weinberg <zack@codesourcery.com>
7279
7280 * config/sh/sh.md: Don't use union real_extract.
7281
543828ca
RH
72822002-04-02 Richard Henderson <rth@redhat.com>
7283
7284 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
7285
39ed301b
DB
72862002-04-02 David O'Brien <obrien@FreeBSD.org>
7287
7288 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
7289 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
7290 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
7291 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
7292 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
7293 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
7294 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
7295 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
7296 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
7297 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
7298 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
7299 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
7300 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
7301 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
7302 Include as many configury headers via tm_file as possible. This
7303 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
7304 * config/openbsd-oldgas.h: New file.
7305 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
7306 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
7307 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
7308 config/i386/i386-coff.h, config/i386/i386-interix.h,
7309 config/i386/iscdbx.h, config/i386/linux-aout.h,
7310 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
7311 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
7312 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
7313 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
7314 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
7315 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
7316 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
7317 config/i386/vxi386.h: Do not directly include configury headers.
7318 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
7319 Directly include configury headers that are no longer automatically
7320 included by the above headers.
7321 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
7322 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
7323 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
7324 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
7325 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
7326 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
7327 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
7328 (TARGET_VERSION): Define.
7329 * config/i386/beos-elf.h, config/i386/freebsd.h,
7330 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
7331 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
7332 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
7333 config/i386/sco5.h, config/i386/sysv4.h
7334 (TARGET_VERSION): Do not need to protect.
7335 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
7336 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
7337 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
7338 config/i386/i386-interix.h, config/i386/linux-aout.h,
7339 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
7340 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
7341 (YES_UNDERSCORES): Do not define - not needed.
7342 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
7343 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
7344 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
7345 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
7346 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
7347 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
7348 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
7349 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
7350
9432c136
EB
73512002-04-02 Eric Botcazou <ebotcazou@multimania.com>
7352 Richard Henderson <rth@redhat.com>
7353
7354 PR c/5484
7355 * function.c (assign_temp): Accept either type or decl argument.
7356 Detect variables whose size is too large to fit into an integer.
7357 * stmt.c (expand_decl): Pass the decl, not the type.
7358
058b1275
DB
73592002-04-02 David O'Brien <obrien@FreeBSD.org>
7360
7361 * protoize.c: Match include directory usage with cppdefault.c.
7362
5add6d1a 73632002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 7364 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
7365
7366 * combine.c (simplify_comparison): Avoid narrowing a comparison
7367 with a paradoxical subreg when doing so would drop signficant bits.
7368
1e533e4b
SE
73692002-04-02 Steve Ellcey <sje@cup.hp.com>
7370
7371 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
7372 if POINTERS_EXTEND_UNSIGNED is defined.
7373
7a145e92
RH
73742002-04-02 Richard Henderson <rth@redhat.com>
7375
7376 PR opt/3967
7377 * local-alloc.c (contains_replace_regs): LO_SUM may contain
7378 replace regs.
7379
3a079822
RH
73802002-04-02 Richard Henderson <rth@redhat.com>
7381
7382 * doc/standards.texi: Document required freestanding libc entry points.
7383
c94ccb87
AM
73842002-04-02 Alan Modra <amodra@bigpond.net.au>
7385
7386 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
7387 associated splitter. Remove MQ constraint.
7388 (ctrdi_internal4): Correct CCmode clobber.
7389
fe660a1a
JDA
73902002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
7391
7392 * milli64.S ($$dyncall): New function.
7393 * t-linux (LIB1ASMFUNCS): Revise module list.
7394 (LIB1ASMSRC): Use pa/milli64.S.
7395
eadc0202
RH
73962002-04-02 Richard Henderson <rth@redhat.com>
7397
7398 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
7399 rename solaris_sys_varargs_h.
7400
a1471322
RK
7401Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7402
7403 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
7404 the same mode as its component.
7405
c8b94768
RH
74062002-04-02 Richard Henderson <rth@redhat.com>
7407
7408 PR opt/190
7409 * final.c (this_is_asm_operands): Export.
7410 * output.h (this_is_asm_operands): Declare.
7411 * config/i386/i386.c (print_operand): Error odd asm operands.
7412
161eb4fc
RH
74132002-04-02 Richard Henderson <rth@redhat.com>
7414
7415 PR opt/420
7416 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
7417
b88a94c6
RH
74182002-04-01 Richard Henderson <rth@redhat.com>
7419
7420 PR target/1538
7421 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
7422 * fixinc/fixincl.x: Rebuild.
7423
72e32876
RH
74242002-04-01 Richard Henderson <rth@redhat.com>
7425
7426 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
7427 (atomic_alloc, atomic_free): New.
7428 (SIZE, MASK_FOR, PTR_IN): New.
7429 (emergency_reg_state, emergency_reg_state_free): New.
7430 (emergency_labeled_state, emergency_labeled_state_free): New.
7431 (reg_state_alloced, labeled_state_alloced): New.
7432 (alloc_reg_state, free_reg_state): New.
7433 (alloc_label_state, free_label_state, free_label_states): New.
7434 (push, pop, dup_state_stack, free_state_stack): Use them.
7435 (desc_label_state): Likewise.
7436 (uw_frame_state_for): Free label states and state stack.
7437 (uw_update_reg_address): Eliminate warnings.
7438
84d76074
VM
74392002-04-01 Vladimir Makarov <vmakarov@redhat.com>
7440
7441 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 7442 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 7443
dffd7eb6
NB
74442002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
7445
7446 * c-decl.c (grokdeclarator): Update.
7447 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
7448 * c-tree.h (c_mark_addressable): New.
7449 * c-typeck.c (default_function_array_conversion, build_unary_op,
7450 build_array_ref, convert_for_assignment): Update.
7451 (mark_addressable): Rename.
7452 * calls.c (try_to_integrate, expand_call): Use langhook.
7453 * expr.c (expand_expr): Use langhook.
7454 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
7455 * langhooks.h (struct lang_hooks): New hook.
7456 * stmt.c (expand_asm_operands): Use langhook.
7457 * tree.h (mark_addressable): Remove.
7458objc:
7459 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
7460
544ef5b5
BW
74612002-04-01 Bob Wilson <bob.wilson@acm.org>
7462
9be40833
RH
7463 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
7464 in previous change.
544ef5b5 7465
bcf88f9b
BW
74662002-04-01 Bob Wilson <bob.wilson@acm.org>
7467
7468 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
7469 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
7470
ceef8ce4
NB
74712002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
7472
7473 * c-common.c (unsigned_conversion_warning, convert_and_check,
7474 unsigned_type, signed_type, shorten_compare,
7475 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
7476 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
7477 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
7478 New.
7479 * c-decl.c (grokdeclarator): Update.
7480 * c-format.c (check_format_types): Update.
7481 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
7482 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
7483 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
7484 * convert.c (convert_to_integer): Use new hooks.
7485 * expmed.c (make_tree): Use new hooks.
7486 * expr.c (store_expr): Use new hooks.
7487 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
7488 all_ones_mask_p, unextend, fold): Use new hooks.
7489 * langhooks.h (struct lang_hooks_for_types): New hooks.
7490 * tree.h (signed_or_unsigned_type, signed_type,
7491 unsigned_type): Remove.
7492objc:
7493 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
7494 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
7495
1d9ad0e0
RH
74962002-03-31 Richard Henderson <rth@redhat.com>
7497
7498 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
7499 (desc_frgr_mem): Fix reference to f16-f31.
7500
d544bc39
KG
75012002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7502
7503 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
7504 RTVEC_ELT): Const-ify.
d8750784
KG
7505 * varray.h (VARRAY_CHECK): Const-ify.
7506 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
7507 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 7508
b18101c7
NB
75092002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
7510
7511 * diagnostic.c: Include langhooks-def.h.
7512 * Makefile.in (diagnostic.o): Update.
7513
48a7a235
NB
75142002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
7515
7516 * c-common.c (c_unsafe_for_reeval): Rename.
7517 * c-common.h (c_unsafe_for_reeval): Rename.
7518 * c-decl.c (finish_incomplete_decl): Rename.
7519 (c_init_decl_processing): Don't set langhook.
7520 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
7521 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
7522 * c-objc-common.c (c_objc_common_init): Don't set langhook.
7523 * c-tree.h (finish_incomplete_decl): Rename.
7524 * langhooks-def.h (lhd_unsafe_for_reeval): New.
7525 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
7526 (LANG_HOOKS_INITIALIZER): Update.
7527 * langhooks.c (lhd_unsafe_For_reeval): New.
7528 * langhooks.h (struct langhooks): New hooks.
7529 * toplev.c (incomplete_decl_finalize_hook): Remove.
7530 (wrapup_global_declarations): Update.
7531 * tree.c (lang_unsafe_for_reeval): Remove.
7532 (unsafe_for_reeval): Update.
7533 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
7534 Remove.
7535objc:
7536 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
7537 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
7538
7cb32822
NB
75392002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
7540
7541 * diagnostic.c (print_error_function): Remove.
7542 (default_print_error_function): Rename.
7543 (report_error_function): Update.
7544 * diagnostic.h (print_error_function): Remove.
7545 (default_print_error_function): Remove.
7546 * langhooks-def.h (struct diagnostic_context): Predeclare.
7547 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
7548 (LANG_HOOKS_INITIALIZER): Update.
7549 * langhooks.h (struct diagnostic context): Predeclare.
7550 (struct lang_hooks): New hook.
7551
1db02437
FS
75522002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7553
7554 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
7555 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
7556 !flag_pic.
7557 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
7558 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
7559 of PIC_OFFSET_TABLE_REGNUM thruout.
7560 * config/rs6000/rs6000.md: Likewise.
7561 * config/rs6000/darwin.h: Likewise.
7562
3bf1e984
RK
7563Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7564
7565 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
7566 unsigned HOST_WIDE_INT, not unsigned int.
7567
0864c526
JJ
75682002-03-31 Jakub Jelinek <jakub@redhat.com>
7569
7570 PR middle-end/6096, middle-end/6098, middle-end/6099
7571 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
7572 CODE_LABELs.
7573 (fill_slots_from_thread): Likewise.
7574
105b2084
JJ
75752002-03-31 Jakub Jelinek <jakub@redhat.com>
7576
7577 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
7578 floating fields in float regs.
7579 (function_arg_record_value_2): Likewise.
7580
db08fddf
HPN
75812002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
7582
7583 * config/mmix/mmix.md (define_constants): Remove misleading
7584 FIXME. Add MMIX_fp_rO_OFFSET.
7585 ("nonlocal_goto_receiver"): Don't have stack-frame address of
7586 saved rO as part of the pattern. Remove FIXME.
7587 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
7588 here, at output-time.
7589
4f31cce8
JJ
75902002-03-31 Jakub Jelinek <jakub@redhat.com>
7591
7592 PR middle-end/6100
7593 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
7594 REG_BR_PRED.
7595 (output_v9branch): Likewise.
7596
ba2b7435
AO
75972002-03-31 Alexandre Oliva <aoliva@redhat.com>
7598
7599 * gcc.c: Revert previous patch for now.
7600 * config/i386/djgpp.h: Likewise.
7601
aa66aa5f 76022002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
7603
7604 * config/mmix/crti.asm (_init): Register _fini with atexit.
7605 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
7606
41ba8a20
RH
76072002-03-31 Richard Henderson <rth@redhat.com>
7608
7609 PR target/3997
7610 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
7611 (ASM_OUTPUT_DEF_FROM_DECLS): New.
7612
adc186ef
RH
76132002-03-31 Richard Henderson <rth@redhat.com>
7614
7615 * libgcc2.c (__bb_exit_func): Make static.
7616
9be40833 7617 * config/alpha/alpha.md (trap): New.
a7648399 7618
9602f5a0
RH
76192002-03-31 Richard Henderson <rth@redhat.com>
7620
7621 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
7622 promoted argument types; build trap.
7623 (expand_builtin_trap): New.
7624 (expand_builtin): Use it.
7625 * stmt.c (expand_nl_goto_receivers): Likewise.
7626 * expr.h (expand_builtin_trap): Declare.
7627 * libfuncs.h (LTI_abort, abort_libfunc): New.
7628 * optabs.c (init_optabs): Init abort_libfunc.
7629
1a0a7539
AO
76302002-03-31 Alexandre Oliva <aoliva@redhat.com>
7631
7632 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
7633 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 7634 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
7635 shared_name in the second copy.
7636 (init_spec): Test for duplicate
7637 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
7638
b5de1a27
DM
76392002-03-30 David S. Miller <davem@redhat.com>
7640
7641 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
7642 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
7643
78414d74 76442002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 7645 Richard Henderson <rth@redhat.com>
78414d74 7646
9be40833
RH
7647 * regmove.c (combine_stack_adjustments_for_block): Avoid
7648 emitting a stack adjustment of zero bytes. Let delete_insn
7649 update bb->head.
78414d74 7650
33074e5f
RH
76512002-03-30 Richard Henderson <rth@redhat.com>
7652
7653 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
7654 (sparc_emitting_epilogue): New.
7655 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
7656 * config/sparc/sparc-protos.h: Update.
7657 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
7658 (TARGET_SWITCHES): Update.
7659 * config/sparc/sparc.md (return): Remove.
7660 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
7661 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
7662 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
7663 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
7664 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
7665 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
7666 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
7667 Remove MASK_EPILOGUE.
7668 * doc/invoke.texi: Update.
7669
606cc056
DB
76702002-03-30 Daniel Berlin <dan@dberlin.org>
7671
7672 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
7673 CPP will start the file for us.
7b2e1077 7674
bdbe5b8d
RH
76752002-03-30 Richard Henderson <rth@redhat.com>
7676
7677 PR target/5446
7678 * config/ia64/ia64.c (group_barrier_needed_p): Special case
7679 prologue_allocate_stack.
7680 (ia64_single_set): Use insn codes for recognition of special
7681 cases, not rtl matching.
7682 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
7683
4ab95d82
JH
7684Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
7685
7686 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
7687
89a8b315
RH
76882002-03-30 Richard Henderson <rth@redhat.com>
7689
7690 PR target/6032
7691 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
7692 or -fomit-frame-pointer with profiling.
7693 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7694 (FUNCTION_PROFILER): Do nothing.
7695 (PROFILE_HOOK): New.
7696 * config/sparc/sparc.c (sparc_override_options): Don't check
7697 code models for profiling.
7698 (sparc_function_profiler): Remove.
7699 (sparc_profile_hook): New.
7700 * config/sparc/sparc-protos.h: Update.
7701
30984c57
JJ
77022002-03-30 Jakub Jelinek <jakub@redhat.com>
7703
7704 PR optimization/6086
7705 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
7706 of SUBREG of volatile MEM or because the MEM was mode dependent,
7707 return CLOBBER instead of unmodified SUBREG.
7708
1540f9eb
JH
7709Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
7710
89a8b315
RH
7711 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
7712 when not optimizing.
1540f9eb
JH
7713
7714 * toplev.c (rest_of_compilation): Cann mark_constant_function
7715 only when optimizing.
7716
89a8b315
RH
7717 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
7718 are NULL.
1540f9eb
JH
7719
7720 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
7721 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
7722 (try_optimize_cfg): clear all AUX fields.
7723
7724 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
7725 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
7726 (ix86_address_cost): Be prepared for SUBREGed registers.
7727 (legitimate_address_p): Accept SUBREGed registers.
7728
70d95bac
RH
77292002-03-29 Richard Henderson <rth@redhat.com>
7730
7731 PR target/5672
7732 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
7733
d3294cd9
FS
77342002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7735
7736 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
7737 for aggregate and TFmode types.
7738
a106c875
HPN
77392002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
7740
7741 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
7742
7d7a5d6f
RH
77432002-03-29 Richard Henderson <rth@redhat.com>
7744
6e2d670b 7745 PR target/5886
7d7a5d6f
RH
7746 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
7747 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
7748
30c99a84
RH
77492002-03-29 Richard Henderson <rth@redhat.com>
7750
6e2d670b 7751 PR target/6041
30c99a84
RH
7752 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
7753 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
7754 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
7755 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
7756 conditional.
7757 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
7758
02a566dc
DJ
77592002-03-29 Dale Johannesen <dalej@apple.com>
7760
7761 * loop.c (combine_movables): Do allow combination of pseudos.
7762
bc3a44db
LR
77632002-03-29 Loren J. Rittle <ljrittle@acm.org>
7764
7765 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
7766 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
7767 No functional change except ...
7768 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
7769 * doc/install.texi (*-*-freebsd*): Document port configuration.
7770
b0c48229
NB
77712002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
7772
7773 * Makefile.in (convert.o, calls.o, expmed.o): Update.
7774 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
7775 Use new hooks.
7776 * builtin-types.def (BT_PTRMODE): Update.
7777 * c-common.c (type_for_size): Rename c_common_type_for_size.
7778 (type_for_mode): Similarly.
7779 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
7780 Use new hook.
7781 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
7782 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
7783 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
7784 Redefine.
7785 * c-typeck.c (common_type, comptypes, default_conversion):
7786 Use new hooks.
7787 * calls.c: Include langhooks.h.
7788 (emit_library_call_value_1): Use new hooks. Avoid redundant
7789 calls.
7790 * convert.c: Include langhooks.h
7791 (convert_to_pointer, convert_to_integer): Use new hooks.
7792 * except.c (init_eh): Similarly.
7793 * expmed.c: Include langhooks.h.
7794 (expand_mult_add): Use new hooks.
7795 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
7796 try_casesi): Similarly.
7797 * fold-const.c (optimize_bit_field_compare, make_range,
7798 decode_field_reference, fold_truthop, fold): Similarly.
7799 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
7800 put_var_into_stack): Similarly.
7801 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
7802 LANG_HOOKS_TYPE_FOR_SIZE): New.
7803 (LANG_HOOKS_TYPES_INITIALIZER): Update.
7804 * langhooks.h (lang_hooks_for_types): New hooks.
7805 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
7806 * tree.c (get_unwidened, get_narrower): Similarly.
7807 * tree.h (type_for_mode, type_for_size): Remove.
7808 * varasm.c (force_const_mem): Use new hooks.
7809 * utils2.c (nonbinary_modular_operation): Update.
7810objc:
7811 * objc-act.c (handle_impent): Update.
7812 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
7813 Redefine.
7814
e206a74f
SE
78152002-03-29 Steve Ellcey <sje@cup.hp.com>
7816
7817 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
7818 * config/ia64/ia64.c (basereg_operand): New.
7819 * config/ia64/ia64-protos.h (basereg_operand): Declare.
7820 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
7821
7d9b6378
HPN
78222002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
7823
7824 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
7825 unwind information when frame_pointer_needed.
7826 (mmix_assemble_integer): Tweak wording in comment.
7827
f1e639b1
NB
78282002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
7829
7830 * Makefile.in (except.o): Update.
7831 * except.c: Include langhooks.h.
7832 (init_eh): Use langhook.
7833 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
7834 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
7835 (LANG_HOOKS_INITIALIZER): Update.
7836 * langhooks.h (lang_hooks_for_types): New.
7837 (struct lang_hooks): Add it.
7838 * tree.c (make_lang_type_fn, make_lang_type): Remove.
7839 * tree.h (make_lang_type_fn, make_lang_type): Remove.
7840config:
7841 * alpha/alpha.c: Include langhooks.h.
7842 (alpha_build_va_list): Use langhook.
7843 * d30v/d30v.c: Include langhooks.h.
7844 (d30v_build_va_list): Use langhook.
7845 * i386/i386.c: Include langhooks.h.
7846 (ix86_build_va_list): Use langhook.
7847 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
7848 * s390/s390.c: Include langhooks.h.
7849 (s390_build_va_list): Use langhook.
7850 * stormy16/stormy16.c: Include langhooks.h.
7851 (stormy16_build_va_list): Use langhook.
7852
f17f9332
JJ
78532002-03-29 Jakub Jelinek <jakub@redhat.com>
7854
7855 PR c++/5964
7856 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
7857 attributes.
7858 (length): Compute variable length for branches/calls/jumps here.
7859 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
7860 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
7861 define branch_type attribute.
7862 (divsi3_sp32): Maximum length is 6 not 7.
7863 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
7864 call_address_untyped_struct_value_sp32,
7865 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
7866 * config/sparc/sparc.c (empty_delay_slot): New function.
7867 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
7868 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
7869
0a0440c9
JJ
78702002-03-29 Jakub Jelinek <jakub@redhat.com>
7871
7872 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
7873 nonzero_bits if not needed.
7874 (nonzero_bits) [XOR]: Likewise.
7875 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
7876 reg_last_set_mode and mode are both MODE_INT, but not equal.
7877 (record_value_for_reg): Compute reg_last_set_nonzero_bits
7878 in nonzero_bits_mode for MODE_INT modes.
7879
c9045f47
RH
78802002-03-28 Richard Henderson <rth@redhat.com>
7881
7882 PR target/5715
7883 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
7884 to GAS. Correct drift between alternatives.
7885
f8ed1958
RH
78862002-03-28 Richard Henderson <rth@redhat.com>
7887
7888 PR target/6087
7889 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
7890
54e20385
LR
78912002-03-28 Alexandre Oliva <aoliva@redhat.com>
7892
7893 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
7894 emulation to the linker.
7895
78962002-03-28 Loren J. Rittle <ljrittle@acm.org>
7897
7898 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
7899 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
7900
8bc52806
JL
7901Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
7902
7903 * combine.c (simplify_and_const_int): Make sure to apply mask
7904 when force_to_mode returns a constant integer. PR3311.
7905
279dccc5
JDA
79062002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
7907
7908 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
7909
62aaa62c
GP
79102002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7911
7912 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
7913 and Objective-C Dialect Options.
7914
b8de5050
RH
79152002-03-28 Richard Henderson <rth@redhat.com>
7916
7917 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
7918 comparison should be done vs !=0 not >0 return code. Tidy cases.
7919
619708cc
RH
79202002-03-28 Richard Henderson <rth@redhat.com>
7921
7922 * c-decl.c (finish_function): New arg can_defer_p. Pass it
7923 on to c_expand_body.
7924 * c-tree.h (finish_function): Update decl.
7925 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
7926
b1d874d7
JH
7927Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
7928
7929 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
7930
f5eb5fd0
JH
7931Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
7932
7933 * rtlanal.c: Include flags.h
7934 (may_trap_p): Do not mark FP operations if trapping
7935 if !flag_trapping_math
7936 * Makefile.in (rtlanal.o): Add dependency on flag.h
7937 * ifcvt.c (noce_operand_ok): Avoid the lameness.
7938
81b4c798
ZW
79392002-03-27 Zack Weinberg <zack@codesourcery.com>
7940
7941 * mips.md: Use dconst1, not 1.0, as first argument of
7942 REAL_VALUE_LDEXP. Don't use union real_extract.
7943
55a2ea2a
AM
79442002-03-28 Alan Modra <amodra@bigpond.net.au>
7945
7946 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
7947 rather than $target. Heed program_prefix and
7948 program_transform_name. Search for gas in cross-compiler case too.
7949 "test -x" rather than "test -f".
7950 (gcc_cv_ld): Likewise.
7951 (gcc_cv_nm): Heed program_prefix and program_transform_name.
7952 (gcc_cv_objdump): Likewise.
7953 * configure: Regenerate.
7954
7ffb4fd2
NB
79552002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
7956
7957 * Makefile.in (attribs.o): Update.
7958 * attribs.c: Include langhooks.h.
7959 (decl_attributes): Use langhook.
7960 * c-decl.c (insert_default_attributes): Rename.
7961 * c-tree.h (c_insert_default_attributes): New.
7962 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
7963 (LANG_HOOKS_INITIALIZER): Update.
7964 * langhooks.h (struct lang_hooks): New hook.
7965 * tree.h (insert_default_attributes): Remove.
7966objc:
7967 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
7968
e4dbaed5
AS
79692002-03-27 Andreas Schwab <schwab@suse.de>
7970
7971 * config/i386/i386.c (classify_argument): Also check for
7972 QUAL_UNION_TYPE.
7973
18b467f1
RO
79742002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7975
7976 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
7977 any more.
7978
d337d653
JH
7979Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
7980
7981 * i960.md (ret): Set PC.
7982 (nonlocal_goto): Fix expander.
7983 * builtins.c (epxand_builin_longjmp): Check that we've emitted
7984 some jump or call.
7985
218aa620
JH
7986Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
7987
7988 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
7989 of libcall regions.
7990
e27a4eaf
ZD
7991Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7992
7993 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
7994 assigning to BLOCK_FOR_INSN directly.
7995
8a12f34c
JH
7996Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
7997
7998 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
7999
c9d892a8
NB
80002002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
8001
8002 * c-common.c (c_expand_expr): Fix prototype.
8003 * c-common.h (c_expand_expr): Always declare, update.
8004 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
8005 * c-objc-common.c (c_objc_common_init): No global hook.
8006 * expr.c (expand_expr): Use langhook.
8007 * expr.h (enum expand_modifier): Conditionally declare.
8008 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
8009 (LANG_HOOKS_INITIALIZER): Update.
8010 * langhooks.c (lhd_expand_expr): New.
8011 * langhooks.h (struct lang_hooks): New hook.
8012 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
8013 (lang_independent_init): Don't default hook.
8014objc:
8015 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
8016
6dad5a56
RH
80172002-03-27 Richard Henderson <rth@redhat.com>
8018
8019 PR target/6054
8020 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
8021 TARGET_CONST_GP. Simplify conditions.
8022
59f96879
RH
80232002-03-27 Richard Henderson <rth@redhat.com>
8024
8025 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
8026 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
8027 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
8028
f3f1190d
DS
80292002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
8030
8031 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
8032 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
8033 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
8034 Remove unnecessary masks.
8035 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
8036 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
8037 -mwindows, -mdll switches and their negations.
8038
31c816cf
NB
80392002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
8040
8041 * gcc-common.c (lang_mark_false_label_stack): Remove.
8042 * ggc.h (lang_mark_false_label_stack): Similarly.
8043
7b2e1077 80442002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
8045
8046 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
8047
8048 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
8049 or __rtems_ is defined.
8050
1ef9531b
RH
80512002-03-26 Richard Henderson <rth@redhat.com>
8052
8053 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
8054 if a non-trivial load was emitted.
8055 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
8056 in high+extra+low case.
8057
300d4093
RH
80582002-03-26 Richard Henderson <rth@redhat.com>
8059
8060 * config.gcc (sparc*-solaris): Use float_format=sparc.
8061
b3689904
RH
80622002-03-26 Richard Henderson <rth@redhat.com>
8063
8064 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
8065 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
8066 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
8067 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
8068 (WINT_TYPE_SIZE): Fix at 32.
8069
1eefb6c1
RH
80702002-03-26 Richard Henderson <rth@redhat.com>
8071
8072 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
8073 until after eh landing pad generation.
8074 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
8075 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
8076
361ea006
RH
80772002-03-26 Richard Henderson <rth@redhat.com>
8078
8079 * expr.h (ADD_PARM_SIZE): One more convert for INC.
8080
1de38a88
PE
80812002-03-26 Phil Edwards <pme@gcc.gnu.org>
8082
8083 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
8084 and warning switches.
8085 (cc1_options): Likewise.
8086
d7e60e95 80872002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 8088
d7e60e95
HB
8089 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
8090 Restore more of the signal context. Set no_reg_stack_frame.
8091 * config/ia64/unwind-ia64.c (unw_state_record):
8092 Add no_reg_stack_frame, comments.
8093 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
8094 (uw_update_context): Adjust bsp when unwinding from leaf,
8095 but not signal frame.
8096
7032923b
DE
80972002-03-26 David Edelsohn <edelsohn@gnu.org>
8098
8099 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
8100
8be56275
BW
81012002-03-26 Bob Wilson <bob.wilson@acm.org>
8102
8103 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
8104
56fbb855
RE
81052002-03-26 Richard Earnshaw <rearnsha@arm.com>
8106
8107 PR target/5621
8108 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
8109 "Add a pool_range attribute", which was lost during the ARM/Thumb
8110 merge.
8111
3437320b
BW
81122002-03-26 Bob Wilson <bob.wilson@acm.org>
8113
8114 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
8115 a register into the MAC16 accumulator.
8116
173028e5
AC
81172002-03-26 Andrew Cagney <ac131313@redhat.com>
8118
8119 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
8120 (Warning Options): Document -Wswitch-enum.
8121 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
8122 -Wswitch.
8123 (warn_switch_enum): Define variables.
8124 * flags.h (warn_switch_enum): Declare variables.
8125 * stmt.c (expand_end_case_type): When warn_switch_enum /
8126 -Wswitch-enum, perform switch checks.
8127 Fix PR c/5044.
7b2e1077 8128
e14365a7
RE
81292002-03-26 Richard Earnshaw <rearnsha@arm.com>
8130
8131 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
8132 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
8133 (reload_muladdsi_compare0_scratch): Delete.
8134
46fc709d
LR
81352002-03-26 Loren J. Rittle <ljrittle@acm.org>
8136
8137 * doc/install.texi (*-*-freebsd*): Update.
8138
f36dea3c
RH
81392002-03-26 Richard Henderson <rth@redhat.com>
8140
8e5fe23f
RH
8141 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
8142 (SUB_PARM_SIZE): Cast DEC to ssizetype.
8143
8144 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
8145 types from the normal argument frame.
8146
f36dea3c
RH
8147 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
8148 variable sized objects by reference.
8149 (sparc_va_arg): Receive them by reference too.
8150
1447dc69
HP
81512002-03-26 Hartmut Penner <hpenner@de.ibm.com>
8152
8153 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 8154 code to not restoring global registers.
1447dc69 8155
4f0ade92
NB
81562002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
8157
8158 * Makefile.in (ggc-common.o): Update.
8159 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
8160 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
8161 * c-tree.h (c_mark_tree): New.
8162 * ggc-common.c: Include langhooks.h.
8163 (gcc_mark_trees): Use new langhook.
8164 * ggc-callbacks.c: Delete file.
8165 * ggc.h (lang_mark_tree): Remove.
8166 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
8167 (LANG_HOOKS_INITIALIZER): Update.
8168 * langhooks.h (struct lang_hooks): New hook.
8169objc:
8170 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
8171
caba570b
ZW
81722002-03-25 Zack Weinberg <zack@codesourcery.com>
8173
8174 * doc/cpp.texi: Exclude entire Top node from printed manual.
8175 Move option index after directive index. Insert page breaks
8176 before GFDL and concept index. Index environment variables
8177 with command line options.
8178 * doc/cppenv.texi: Use @vtable for environment variable list.
8179 Add paragraph explaining semantics of empty elements in path
8180 variables. Exclude a cross-reference to Fishkill from the
8181 manpage. Remove an unnecessary cross-reference of the entry
8182 right above the referer. Don't use @anchor in text that goes
8183 into manpage.
8184 * doc/cppopts.texi: Cross-reference the environment variables
8185 section, not the specific environment variable, for consistency.
8186
6b2e80b7
RH
81872002-03-25 Richard Henderson <rth@redhat.com>
8188
8189 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
8190 anywhere in the block. Don't refer to insns that have been
8191 removed from the chain. Iterate backward through the new insns.
8192 Don't refer to edges that have been removed.
8193
67e469d7
AM
81942002-03-26 Alan Modra <amodra@bigpond.net.au>
8195
8196 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
8197 test for overflow of constant.
8198
f2356393
RE
81992002-03-25 Richard Earnshaw <rearnsha@arm.com>
8200
8201 PR target/2623
8202 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
8203 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
8204 these patterns on arm_archv4.
8205
355426ab
DS
82062002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
8207
8208 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
8209 int".
8210
15e5ad76
ZW
82112002-03-25 Zack Weinberg <zack@codesourcery.com>
8212
8213 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
8214 float_handled, float_handler, float_signal, set_float_handler,
8215 and do_float_handler. Set handler for SIGFPE to crash_signal.
8216 * toplev.h: Don't prototype do_float_handler.
8217
8218 * c-lex.c: Fold parse_float into lex_number. Make warning
8219 about portability of hex float constants more informative, and
8220 don't issue it on top of a syntax error.
8221 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
8222 their callers.
8223 * real.h: Define REAL_VALUE_ABS here...
8224 * simplify-rtx.c: ... not here. Fold check_fold_consts,
8225 simplify_unary_real, simplify_binary_real, and
8226 simplify_binary_is2orm1 into their callers.
8227 * tree.c: Fold build_real_from_int_cst_1 into caller.
8228
8229 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
8230
8231 * tsystem.h: Include float.h here...
8232 * libgcc2.c: ... not here.
8233
56ae9405
NC
82342002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
8235
8236 Fixes for: PR bootstrap/3591, target/5676
8237 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
8238 defined. Do not disable exceptions or rtti.
8239 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
8240 mcore.h. Disable exceptions and rtti, since they are not
8241 supported by EPOC.
8242
c88770e9
NB
82432002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
8244
8245 * c-decl.c (maybe_build_cleanup): Remove.
8246 * expr.c (expand_expr): Use langhook.
8247 * langhooks-def.h (lhd_return_null_tree,
8248 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
8249 (LANGHOOKS_INITIALIZER): Update.
8250 * langhooks.c (lhd_return_null_tree): New.
8251 * langhooks.h (struct lang_hooks): New hook.
8252 * tree-inline.c (initialize_inlined_parameters): Use langhook.
8253 * tree.h (maybe_build_cleanup): Remove.
8254
2ed1f154
JJ
82552002-03-25 Jakub Jelinek <jakub@redhat.com>
8256
8257 * regrename.c (build_def_use): Move recog_memoized
8258 before extract_insn.
8259
6ddae612
JJ
82602002-03-25 Jakub Jelinek <jakub@redhat.com>
8261
8262 PR target/6043
8263 * expr.c (emit_group_store): Handle storing into CONCAT.
8264
ea475b23
JJ
82652002-03-25 Jakub Jelinek <jakub@redhat.com>
8266
8267 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
8268 corresponding MATCH_DUP.
8269
e7d482b9
RH
82702002-03-24 Richard Henderson <rth@redhat.com>
8271
cd39fc13
RH
8272 * unroll.c (unroll_loop): Zero label_map.
8273
e7d482b9
RH
8274 * gcse.c: Include except.h.
8275 * Makefile.in (gcse.o): Update.
8276
1bd6476f
RH
82772002-03-24 Richard Henderson <rth@redhat.com>
8278
8279 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
8280 Do resolve_unique_section before shared data clause.
8281
2e6c150a
RH
82822002-03-24 Richard Henderson <rth@redhat.com>
8283
8284 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
8285
b29afcf8
RH
82862002-03-24 Richard Henderson <rth@redhat.com>
8287
15e5ad76 8288 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
8289 generated in the middle of a block. Do global life update if
8290 zapped EH edges.
8291
05ed1296
RH
82922002-03-24 Richard Henderson <rth@redhat.com>
8293
8294 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
8295
3ddbb8a9
NB
82962002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
8297
8298 preprocessor/3951
15e5ad76 8299 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
8300 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
8301 (init_dependency_output): Don't make no_output decision here.
8302
740b77b6
AC
83032002-03-24 Andrew Cagney <ac131313@redhat.com>
8304
8305 * stmt.c (check_for_full_enumeration_handling): Remove tests of
8306 warn_switch. Update description.
8307 (expand_end_case_type): Call check_for_full_enumeration_handling
8308 when warn_switch.
8309
7590cfd0
SC
83102002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8311
8312 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
8313 (m68hc11_split_move): Call it to see if the source and destination
8314 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 8315 source an offsetable memory operand and generate an add.
7590cfd0 8316
2e3d3481
SC
83172002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8318
8319 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
8320 register for operand 2.
8321 ("*subsi3_zero_extendqi"): Likewise.
8322 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
8323 bits so that it is compatible with a pop.
8324 ("*andhi3_gen"): Likewise.
8325 ("xorhi3"): Likewise.
8326
2784528c
NB
83272002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
8328
8329 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
8330 -pedantic here...
8331 (cpp_post_options): ... not here.
8332
aaf93206
NB
83332002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
8334 Aldy Hernandez <aldyh@redhat.com>
8335
8336 Removal of separate preprocessor cpp0.
8337
8338 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
8339 cpp0, install-common): Update.
8340 * c-common.c (flag_preprocess_only): New.
8341 (c_common_init): Preprocess for -E.
8342 * c-common.h (flag_preprocess_only): New.
8343 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
8344 * c-objc-common.c (c_init_decl_processing): Exit quickly
8345 for NULL return from c_common_init.
8346 * cpplib.h (cpp_preprocess_file): New.
8347 * cppmain.c (main, general_init, pfile, progname): Remove.
8348 (do_preprocessing): Rename cpp_preprocess_file, don't call
8349 cpp_finish. Don't close stdout here.
8350 (setup_callbacks): Update prototype.
8351 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
8352 Update.
8353 * tradcpp.c (main): Ignore -quiet.
8354objc:
8355 * lang-specs.h (default_compilers): Preprocess with cc1obj.
8356
c6e6f5c1
RH
83572002-03-24 Richard Henderson <rth@redhat.com>
8358
8359 PR optimization/5742
8360 * machmode.def: Add inner mode field to complex modes.
8361 * config/mips/mips.c (mips_function_value): Always define. Add
8362 new argument to handle libcalls.
8363 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
8364 (FUNCTION_VALUE): Likewise.
8365 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
8366 * config/mips/mips-protos.h: Update.
8367
d88e57d1
RH
83682002-03-23 Richard Henderson <rth@redhat.com>
8369
8370 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
8371 * config/sparc/sparc-protos.h: Update.
8372 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
8373
6dfaf9ba
RH
83742002-03-23 Richard Henderson <rth@redhat.com>
8375
8376 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
8377 _start or _init begins the text segment.
8378
0c769cf8
DE
83792002-03-23 David Edelsohn <edelsohn@gnu.org>
8380
8381 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
8382 not HOST_WIDEST_INT.
8383 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
8384
64e92a26
RE
83852002-03-23 Richard Earnshaw <rearnsha@arm.com>
8386
8387 PR java/5489
8388 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
8389 operand argument to output_return_instruction.
15e5ad76 8390 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
8391 const_true_rtx then just return.
8392 (arm_print_operand, case 'D'): If the operand is const_true_rtx
8393 then abort.
8394
d6961341
AC
83952002-03-23 Andrew Cagney <ac131313@redhat.com>
8396
8397 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
8398 (Warning Options): Document -Wswitch-default.
8399 * toplev.c (W_options): Add -Wswitch-default. Update comment on
8400 -Wswitch.
8401 (warn_switch_default): Define variable.
8402 (warn_switch): Update comment.
8403 * flags.h (warn_switch_default): Declare variable.
8404 (warn_switch): Update comment.
8405 * stmt.c (expand_end_case): Check for and, when
8406 warn_switch_no_default, warn of a missing default case.
15e5ad76 8407
d4c5ac1f
AM
84082002-03-23 Alan Modra <amodra@bigpond.net.au>
8409
bbaa9790
AM
8410 * real.h (N): Special case 128 bit doubles.
8411
d4c5ac1f
AM
8412 * combine.c (simplify_comparison): When widening modes, ignore
8413 sign extension on CONST_INTs.
8414
84bf8c2c
BW
84152002-03-22 Bob Wilson <bob.wilson@acm.org>
8416
8417 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
8418 passed to adjust_address. Fix comment formatting.
8419
8420
b216cd4a
ZW
84212002-03-22 Zack Weinberg <zack@codesourcery.com>
8422
8423 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
8424 Always make REAL_VALUE_TYPE a struct containing an array of
8425 HOST_WIDE_INT, not a double. Tidy up the code deciding how
8426 big it is. Don't declare or use union real_extract.
8427
8428 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
8429 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
8430 (print_operand), config/arm/arm.c (output_move_double),
8431 config/arm/arm.md (consttable_4, consttable_8),
8432 config/romp/romp.c (output_fpops), config/s390/s390.h
8433 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
8434 (xtensa_output_literal): Don't use union real_extract.
8435
8436 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
8437 (sfmode_constant_to_ulong), config/ns32k/merlin.h
8438 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
8439 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
8440 (PRINT_OPERAND): Don't use local version of union
8441 real_extract.
8442
8443 * config/convex/convex.c (check_float_value), config/vax/vax.c
8444 (vax_float_literal), config/m88k/m88k.md (divdf3),
8445 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
8446 config/pdp11/pdp11.c (output_move_quad): Don't do host
8447 arithmetic on target floating point quantities.
8448
8449 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
8450 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
8451
8452 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
8453 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
8454
8455 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
8456 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
8457 INFINITY.
8458 * print-rtl.c (print_rtx): Disable code which needs
8459 floating-point emulator.
8460 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
8461 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
8462 depending on HOST_FLOAT_FORMAT to be defined properly.
8463
8464 * config/1750a/1750a.c (get_double, float_label): Delete.
8465 (print_operand): Delete huge commented-out chunk. Use
8466 REAL_VALUE_TO_DECIMAL.
8467 * config/1750a/1750a-protos.h: Delete prototypes of deleted
8468 functions.
8469 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
8470 IEEE_FLOAT_FORMAT.
8471 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
8472 Use REAL_VALUE_TO_DECIMAL as ELF version does.
8473 * config/m88k/m88k.c (real_power_of_2_operand,
8474 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
8475 real_extract out of the union; run the input through
8476 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
8477 from that into the union.
8478 * config/pdp11/pdp11.c (output_move_double): Rearrange
8479 parentheses to make automatic indenter happy.
8480
8481 * doc/tm.texi (Cross-compilation): Rename node to "Floating
8482 Point" and rewrite to describe current situation. Also adjust
8483 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
8484 match code.
8485 * doc/rtl.texi: Adjust cross reference.
8486
a8cacfd2
BW
84872002-03-22 Bob Wilson <bob.wilson@acm.org>
8488
8489 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
8490 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
8491 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
8492 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
8493 prevent use of sp as a reload register.
8494 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
8495 non_acc_reg_operand.
8496 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
8497 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
8498 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
8499 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
8500
d4e6133f
NB
85012002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
8502
b216cd4a
ZW
8503 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
8504 * cpplex.c (unterminated): Delete.
8505 (parse_string): No string literal may extend over multiple
8506 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
8507 * cppmain.c (scan_translation_unit): Strings are single-line.
8508
b216cd4a 8509 * doc/cpp.texi: Update to match.
d4e6133f 8510
65e6c005
JJ
85112002-03-22 Jakub Jelinek <jakub@redhat.com>
8512
8513 PR optimization/5854
8514 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
8515 Shut up warnings.
8516 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
8517 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
8518 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
8519 const0 if scratch register was not allocated.
8520 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
8521 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
8522 with GEN_INT (...).
8523 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
8524 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
8525 with GEN_INT (...) everywhere. Remove constraints in define_split
8526 patterns.
8527 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
8528 require scratch register for setting 0 into regs/non-pushable memory.
8529
7f48c9e1
AO
85302002-03-22 Alexandre Oliva <aoliva@redhat.com>
8531
8532 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
8533 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
8534
909de5da
PE
85352002-03-22 Phil Edwards <pme@gcc.gnu.org>
8536
8537 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
8538 * cppinit.c (cpp_create_reader): On by default.
8539 (cpp_handle_option): Handle -W[no-]endif-labels.
8540 (cpp_post_options): Also enable if -pedantic.
8541 * cpplib.c (do_else): Use it.
8542 (do_endif): Likewise.
8543 * doc/cppopts.texi: Document new option.
8544 * doc/invoke.texi: Document new option.
8545
d8bf17f9
LB
85462002-03-22 Lars Brinkhoff <lars@nocrew.org>
8547
8548 * config/i386/i386.c, config/i386/i386.md: Change all occurences
8549 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
8550
70e0ccd0
AO
85512002-03-22 Alexandre Oliva <aoliva@redhat.com>
8552
8553 * flow.c (calculate_global_regs_live): Clear aux fields of
8554 ENTRY and EXIT.
8555
68882f0f
JJ
85562002-03-22 Jakub Jelinek <jakub@redhat.com>
8557
8558 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
8559 REG or MEM subregs, pass rtx * instead of rtx to it.
8560 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
8561 rtx * instead of rtx to alter_subreg.
8562 * config/m32r/m32r.c (gen_split_move_double): Likewise.
8563 * config/pj/pj.c (pj_output_rval): Likewise.
8564
648fe28b
RH
85652002-03-22 Richard Henderson <rth@redhat.com>
8566
8567 PR target/3177
8568 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
8569 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
8570 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
8571 (ia64_expand_prologue): Look at int_regs, not words, for number
8572 of incomming int regs.
8573
e8dcd824
AM
85742002-03-22 Andrew MacLeod <amacleod@redhat.com>
8575
8576 * expr.c (expand_expr): A RESULT_DECL is part of a call.
8577
96327cdc
JH
8578Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
8579
8580 * toplev.c (flag_loop_optimize, flag_crossjumping):
8581 New static variables.
8582 (rest_of_compilation): Conditionalize crossjumping and
8583 loop optimizer.
8584 (parse_options_and_default_flags): Default loop_optimize and
8585 crossjumping.
8586 (lang_independent_options): Add -fcrossjumping and -floop-optimize
8587 * invoke.texi (crossjumping, loop-optimize): Document.
8588
bc185257
RS
85892002-03-22 Richard Sandiford <rsandifo@redhat.com>
8590
8591 * real.c (eiisneg): Move outside #ifdef NANS.
8592
0a2ed1f1
JH
8593Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
8594
8595 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
8596 frequencies match; avoid match on different loop depths.
8597 (try_crossjump_to_bb): Kill tests that no longer brings time
8598 savings.
8599 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
8600 updating code.
8601 (split_edge): Likewise.
8602
8603 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
8604 variable.
8605
8606 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
8607 * cfgrtl.c: Include insn-config.h
8608 (split_block) Dirtify block in presence of conditional execution
8609
4d72536e
RS
86102002-03-22 Richard Sandiford <rsandifo@redhat.com>
8611
8612 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
8613 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
8614 (function_arg): Constify CUMULATIVE_ARGS.
8615 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
8616 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
8617 (UNITS_PER_DOUBLE): New macro.
8618 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
8619 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
8620 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
8621 fp_regs and stack_words.
8622 (EABI_FLOAT_VARARGS_P): New macro.
8623 * config/mips/mips.c (struct mips_arg_info): New.
8624 (mips_arg_info): New function.
8625 (function_arg_advance): Use it. Add adjustment instructions here
8626 rather than in function_arg.
8627 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
8628 for VOIDmode at the beginning of the function.
8629 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
8630 (function_arg_pass_by_reference): Likewise.
8631 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
8632 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
8633 (mips_va_start): Likewise. Use the new stack_words field of
8634 CUMULATIVE_ARGS to set up overflow area. Reformat.
8635 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
8636 doubles and other types, aligning the overflow pointer for non-doubles
8637 too. Remove some code duplication. Replace hard-coded constants.
8638
e6f884cd
RS
86392002-03-22 Richard Sandiford <rsandifo@redhat.com>
8640
8641 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
8642 (CLASS_UNITS): Undefine.
8643 (CLASS_MAX_NREGS): Use FP_INC.
8644 * config/mips/mips.c (compute_frame_size): Likewise.
8645 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
8646
10cf9bde
NB
86472002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
8648
8649 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
8650 prototype, and handle lexing numbers and identifiers.
8651 (parse_identifier): Update to new form of parse_slow.
8652 (parse_number): Fast path only, use parse_slow otherwise.
8653 (_cpp_lex_direct): Update calls to parse_number.
8654
fbc2782e
DD
86552002-03-21 DJ Delorie <dj@redhat.com>
8656
8657 * bb-reorder.c (make_reorder_chain_1): Protect against
8658 when redundant edges are omitted.
8659 * predict.c (dump_prediction): Likewise.
8660
fba39eaf
RH
86612002-03-21 Richard Henderson <rth@redhat.com>
8662
8663 PR target/5996
8664 * fixinc/inclhack.def (solaris_stdio_tag): New.
8665 * fixinc/fixincl.x: Regenerate.
8666
eba80994
EB
86672002-03-21 Eric Botcazou <ebotcazou@multimania.com>
8668
8669 PR c/5597
8670 * c-typeck.c (process_init_element): Flag non-static
8671 initialization of a flexible array member as illegal.
8672
2a78758b
AM
86732002-03-22 Alan Modra <amodra@bigpond.net.au>
8674
8675 * config/rs6000/t-linux64: New.
8676 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
8677 t-ppccomm. Use t-rs6000 and t-linux64.
8678 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
8679 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
8680 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
8681 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 8682
2cb921f4
AH
86832002-03-21 Aldy Hernandez <aldyh@redhat.com>
8684
eba80994
EB
8685 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
8686 flag_really_no_inline instead of optimize == 0.
2cb921f4 8687
eba80994 8688 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 8689
eba80994 8690 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 8691
eba80994 8692 * flags.h (flag_really_no_inline): New.
2cb921f4 8693
659e5a7a 8694 * c-common.c (c_common_post_options): Initialize
eba80994 8695 flag_really_no_inline.
2cb921f4 8696
eba80994 8697 * toplev.c (flag_really_no_inline): New.
2cb921f4 8698
239b8b9d
JJ
86992002-03-21 Jakub Jelinek <jakub@redhat.com>
8700
8701 * config/avr/avr.md (length): Fix length computation for
8702 conditional branches.
8703
43577e6b
NB
87042002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
8705
8706 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
8707 sdbout.o, profile.o): Update.
8708 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
8709 langhook.
8710 * c-common.h (gettags): Move here from tree.h.
8711 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
8712 insert_block, getdecls, kept_level_p, global_bindings_p): New.
8713 * dbxout.c (dbxout_init): Use getdecls langhook.
8714 * expr.c (expand_expr): Use insert_block langhook.
8715 * fold-const.c: Include langhooks.h.
8716 (fold_range_test, fold_binary_op_with_conditional_arg,
8717 fold): Use global_bindings_p langhook.
8718 * integrate.c (expand_inline_function): Use insert_block langhook.
8719 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
8720 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
8721 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
8722 LANG_HOOKS_GETDECLS): New.
8723 (LANG_HOOKS_INITIALIZER): Update.
8724 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
8725 langhook.
8726 * langhooks.h (struct lang_hooks_for_decls): New.
8727 (struct lang_hooks): Update.
8728 * profile.c: Include langhooks.h.
8729 (output_func_start_profiler): Use new langhooks.
8730 * sdbout.c: Include langhooks.h.
8731 (sdbout_init, sdbout_finish): Use getdecls langhook.
8732 * stmt.c: Include langhooks.h.
8733 (expand_fixup, fixup_gotos): Use new langhooks.
8734 * stor-layout.c: Include langhooks.h.
8735 (variable_size): Use global_bindings_p langhook.
8736 * toplev.c (compile_file): Use getdecls langhook.
8737 * tree-inline.c (remap_block): Use insert_block langhook.
8738 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
8739 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
8740
5b19b10c
RH
87412002-03-21 Richard Henderson <rth@redhat.com>
8742
8743 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
8744 constants in .data when -fpic.
8745
e05af335
GP
87462002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8747
8748 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
8749 where appropriate.
8750
60ffc997
TT
87512002-03-21 Tom Tromey <tromey@redhat.com>
8752
8753 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
8754
75897075
RK
8755Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8756
a73afd69 8757 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 8758
75897075
RK
8759 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
8760
312687cf
EB
87612002-03-21 Eric Botcazou <ebotcazou@multimania.com>
8762 Richard Henderson <rth@redhat.com>
8763
8764 PR c/5354
8765 * c-common.c (c_expand_expr): Preserve result of a statement
8766 expression if needed.
8767
f0e1f482
JJ
87682002-03-21 Jakub Jelinek <jakub@redhat.com>
8769
8770 PR bootstrap/4195
8771 * genrecog.c (maybe_both_true_mode): Remove.
8772 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
8773 * machmode.def (Pmode): Likewise.
8774
c14b9960
JW
8775Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
8776
8777 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
8778 (nonlocal_mentioned_p_1): New function.
8779 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
8780 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
8781 (mark_constant_function): Recognize pure functions.
8782 * rtl.h (global_reg_mentioned_p): New prototype.
8783 * rtlanal.c (global_reg_mentioned_p,
8784 global_reg_mentioned_p_1): New function.
8785
aaa4d130
RO
87862002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8787
8788 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
8789 UNIX assert.h.
8790 * fixinc/fixincl.x: Regenerate.
8791
e5c4bd1b
JM
87922002-03-20 Jason Merrill <jason@redhat.com>
8793
8794 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
8795
852b81bb
MM
87962002-03-20 Michael Meissner <meissner@redhat.com>
8797
8798 * doc/invoke.texi (Optimize Options): Document that -O2 sets
8799 -fstrict-aliasing.
8800
86d8c251
BW
88012002-03-20 Bob Wilson <bob.wilson@acm.org>
8802
8803 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
8804 ".literal_position" directive before the constant pool.
8805
0a39c350
GP
88062002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8807
8808 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
8809 Add Craig Rodrigues.
8810 Add Brad Lucier to testers.
8811
71a83373
JJ
88122002-03-20 Jakub Jelinek <jakub@redhat.com>
8813
8814 PR target/4792
8815 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
8816 to if_then_else.
8817 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
8818 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
8819 instead of insn_extract.
8820
a29b099d
JJ
88212002-03-20 Jakub Jelinek <jakub@redhat.com>
8822
8823 PR bootstrap/4192
71a83373 8824 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
8825
8826 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
8827 stmt if some case has been output.
8828
048b1c95
JJ
88292002-03-20 Jakub Jelinek <jakub@redhat.com>
8830
8831 PR c/5972
8832 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
8833 movsfcc_1, movdfcc_1): Add %O2.
8834 * config/i386/i386.c (print_operand): Handle %ON.
8835 Print . before float condition codes in Sun as cmov syntax.
8836 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
8837 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
8838 no longer true.
8839
f4864588
PB
88402002-03-20 Philip Blundell <pb@nexus.co.uk>
8841
8842 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
8843 return instruction if PC was popped.
8844
3a307de4
BW
88452002-03-20 Bob Wilson <bob.wilson@acm.org>
8846
8847 * config/xtensa/xtensa.md: Remove unused type attributes.
8848 (adddi_carry, subddi_carry): Change type attribute to "multi".
8849
048b1c95 88502002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
8851
8852 PR optimization/5999, middle-end/5731
8853 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
8854 multiplications by reciprocals.
8855
7afff7cf
NB
88562002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
8857
8858 * Makefile.in: Update.
8859 * c-common.c: Include langhooks.h.
8860 (inline_forbidden_p): Use new hook.
8861 * diagnostic.c: Include langhooks.h.
8862 (format_with_decl, announce_function,
8863 default_print_error_function): Use new hook.
8864 * dwarf2out.c (dwarf2_name): Use new hook.
8865 * function.c: Include langhooks.h.
8866 (init_function_start): Use new hook.
8867 * langhooks-def.h (lhd_decl_printable_name): New.
8868 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
8869 (LANGHOOKS_INITIALIZER): Update.
8870 * langhooks.c (lhd_decl_printable_name): New.
8871 * langhooks.h (struct lang_hooks): New hook.
8872 * toplev.c (decl_name, decl_printable_name): Remove.
8873 (open_dump_file): Use new hook.
8874 (process_options): Remove old hook.
8875 * tree.h (decl_printable_name): Remove.
8876objc:
8877 * objc-act.c (objc_init): Remove old hook.
8878 (objc_printable_name): Export.
8879 * objc-act.h (objc_printable_name): New.
8880 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
8881
f78ce0b7
JB
88822002-03-19 Jim Blandy <jimb@redhat.com>
8883
8884 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
8885 the start_source_file debug hook, not the current line number.
8886
15b5aef3
RH
88872002-03-19 Richard Henderson <rth@redhat.com>
8888
8889 * flow.c (EH_USES): Provide default.
8890 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
8891 * doc/tm.texi (EH_USES): New.
8892
8893 * config/ia64/ia64.c (ia64_eh_uses): New.
8894 * config/ia64/ia64-protos.h: Update.
8895 * config/ia64/ia64.h (EH_USES): New.
8896
02a7a3fd
RH
88972002-03-19 Richard Henderson <rth@redhat.com>
8898
8899 * varasm.c (output_constant_def): Fix stupid typo.
8900
93f82d60
RH
89012002-03-19 Richard Henderson <rth@redhat.com>
8902
2842be05 8903 PR 5879
93f82d60
RH
8904 * except.c (current_function_has_exception_handlers): New.
8905 * except.h: Declare it.
8906 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
8907 Combine tests that disable all sibcalls for the function.
8908
ed4fbfa0
OH
89092002-03-19 Olivier Hainque <hainque@act-europe.fr>
8910
8911 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
8912 for INTEGER_CST.
8913
ebf0e888
RH
89142002-03-19 Richard Henderson <rth@redhat.com>
8915
1e82682b 8916 PR 5977, 5991
ebf0e888
RH
8917 * config/ia64/ia64.c: Revert 2002-03-01 patch.
8918 * config/ia64/ia64.h (INIT_EXPANDERS): New.
8919
e37b38d7
JB
89202002-03-19 Jim Blandy <jimb@redhat.com>
8921
8922 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
8923 name, even if the replacement list contains no tokens, as required
8924 by Dwarf.
8925
2a4ea326
JM
89262002-03-19 Jason Merrill <jason@redhat.com>
8927
f9d09ae5
JM
8928 * varasm.c (globalize_decl): Get the name from the RTL, not
8929 DECL_ASSEMBLER_NAME.
8930
2a4ea326
JM
8931 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
8932
99b96edb
BW
89332002-03-19 Bob Wilson <bob.wilson@acm.org>
8934
8935 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
8936 subdi_carry): Define.
8937
3774b567
DE
89382002-03-19 David Edelsohn <edelsohn@gnu.org>
8939
8940 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
8941 about -fpic/-fPIC if extra_warnings set.
8942
21ef78aa
DE
89432002-03-19 David Edelsohn <edelsohn@gnu.org>
8944
8945 * expr.c (expand_expr): Sign-extend CONST_INT generated from
8946 TREE_STRING_POINTER.
0c2fdcdf 8947 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 8948
91d4b3fd
RK
8949Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8950
8951 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
8952 in favor of SP if FRAME_POINTER_REQUIRED is false.
8953
2496c7bd
LB
89542002-03-19 Lars Brinkhoff <lars@nocrew.org>
8955
8956 * emit-rtl.c (gen_int_mode): New function.
8957 * rtl.h: Prototype for it.
8958 * combine.c (make_extraction, simplify_comparison), expmed.c
8959 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
8960 (convert_modes, store_field), optabs.c (expand_fix),
8961 simplify-rtx.c (neg_const_int, simplify_unary_real),
8962
8963 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
8964 Use it instead of GEN_INT (trunc_int_for_mode (...)).
8965
f735a153
JJ
89662002-03-19 Jakub Jelinek <jakub@redhat.com>
8967
8968 PR c/5656
8969 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
8970 convert_parm_for_inlining.
8971 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
8972 Define.
8973 * langhooks-def.h: Likewise.
8974 * objc/objc-lang.c: Likewise.
8975 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
8976 function.
8977 * tree-inline.c (initialize_inlined_parameters):
8978 Call convert_parm_for_inlining lang hook if needed.
8979 * c-typeck.c (c_convert_parm_for_inlining): New function.
8980 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
8981
1929c971
MM
89822002-03-18 Mark Mitchell <mark@codesourcery.com>
8983
b216cd4a 8984 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
8985 can be destroyed after expanding the argument.
8986 (expand_call): Likewise.
8987
c79ca0ac
EC
89882002-03-15 Eric Christopher <echristo@redhat.com>
8989
8990 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
8991 Fix register preference on last change.
8992 * config/mips/mips.c (mips_return_in_memory): New function.
8993 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
8994 * config/mips/mips-protos.h: Declare.
8995 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
8996 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
8997
07e2e444
AO
89982002-03-18 Alexandre Oliva <aoliva@redhat.com>
8999
1bfbbbcf
AO
9000 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
9001 a register too.
9002 (anddi3, iorsi3): Likewise.
9003
c066429e
AO
9004 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
9005 use %gprel for symbols that are going to be placed in linkonce
9006 sections.
9007
07e2e444
AO
9008 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
9009 RETURN_ADDRESS_POINTER_REGNUM to $ra.
9010 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
9011 not needed. Disregard leaf_function_p().
9012 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
9013 mips16 frame pointer.
9014 * config/mips/mips.md (store ra): Only to small SP offsets.
9015 2001-08-22 Graham Stott <grahams@redhat.com>
9016 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
9017 return a REG rtx for the return address register.
9018
eb8e00ea
BW
90192002-03-18 Bob Wilson <bob.wilson@acm.org>
9020
9021 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
9022 constant-pool addresses as "mode-dependent".
9023 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
9024
cbb92744
JJ
90252002-03-18 Jakub Jelinek <jakub@redhat.com>
9026
9027 PR target/5740
9028 * expr.c (emit_group_load): Use extract_bit_field if
9029 needed for CONCAT arguments.
9030
657d9449
RE
90312002-03-18 Richard Earnshaw <rearnsha@arm.com>
9032
91f3a802 9033 PR target/4863
657d9449
RE
9034 * arm.md (tablejump): Make this a define_expand. For PIC add the
9035 offset to the base of the table.
9036 (thumb_tablejump): Matcher for Thumb tablejump insn.
9037 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
9038 as the difference of two labels.
9039 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
9040 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
9041 tables in the code.
9042 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
9043 * arm.c (get_jump_table_size): If the table is not in the text
9044 section, return zero.
c79ca0ac 9045
5d5603e2
BS
90462002-03-18 Bernd Schmidt <bernds@redhat.com>
9047
9048 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
9049 of gen_rtx_SUBREG.
9050 (arm_reload_out_hi): Use gen_lowpart instead of
9051 gen_rtx_SUBREG to access QImode components.
9052 * config/arm/arm.md: Disable zero_extend split for QImode
9053 subregs in BIG_ENDIAN mode.
9054 (storehi_bigend): Match use of least significant byte.
9055 (storeinthi): Remove extraneous SUBREG.
66c17b64 9056 Add missing construction of operands[2].
5d5603e2
BS
9057 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
9058 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
9059 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
9060
df15fbc7
AH
90612002-03-18 Aldy Hernandez <aldyh@redhat.com>
9062
2496c7bd
LB
9063 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
9064 any_operand.
df15fbc7 9065
b83b7fa3
RH
90662002-03-17 Richard Henderson <rth@redhat.com>
9067
9068 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
9069 explicitly.
9070
6f7c00fe
HPN
90712002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
9072
9073 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
9074 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
9075
155038f2
KG
90762002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9077
720d42fa
KG
9078 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
9079
155038f2
KG
9080 * predict.c (estimate_bb_frequencies): Delete unused variables.
9081
e6542f4e
RH
90822002-03-17 Richard Henderson <rth@redhat.com>
9083
9084 * config/ia64/ia64.c (ia64_attribute_table): Move before
9085 targetm definition. Make static.
9086
52dabb6c
NB
90872002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
9088
9089 * c-common.h (yyparse, c_common_parse_file): New.
9090 * c-lang.c: Include c-common.h.
9091 (LANG_HOOKS_PARSE_FILE): Redefine.
9092 * c-lex.c: Include c-common.h.
9093 (yyparse): Rename c_common_parse_file. Call yyparse.
9094 * c-parse.in (yyparse): Remove macro.
9095 * c-tree.h (yyparse_1): Remove.
9096 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
9097 (LANG_HOOKS_INITIALIZER): Update.
9098 * langhooks.h (struct lang_hoooks): New hook parse_file.
9099 * toplev.c (compile_file): Use parse_file hook.
9100 * tree.h (yyparse): Remove.
e6542f4e 9101 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 9102
b5ffe606
HPN
91032002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
9104
ba82f58b
HPN
9105 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
9106 float_truncate, not fix.
9107 ("*truncdfsf2_real"): Ditto.
9108 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
9109
b5ffe606
HPN
9110 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
9111
c8d1b2b7
AO
91122002-03-16 Alexandre Oliva <aoliva@redhat.com>
9113
cfb773f9
AO
9114 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
9115 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
9116 where appropriate. Make the second reference to
9117 leaf_function_p a function call, as intended. Reindented.
9118
4dffef52
AO
9119 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
9120 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
9121
4f5bd6d7
AO
9122 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
9123 add register to non-constant into sp.
9124
c8d1b2b7
AO
9125 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
9126 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
9127 (mips16_gp_pseudo_rtx): Lose.
9128 (INIT_EXPANDERS): Deleted.
9129 * config/mips/mips.c (mips_init_machine_status): New.
9130 (mips_free_machine_status): New.
9131 (mips_mark_machine_status): New.
9132 (override_options): Set them.
9133 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
9134 (struct machine_function): ... new. Replaced all references.
9135 (mips_add_gc_roots): Don't mark them.
9136 (embedded_pic_fnaddr_reg): New, extracted from...
9137 (embedded_pic_offset): ... here.
9138 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
9139 (movsi): Likewise.
9140
b3124fac
NB
91412002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
9142
9143 * cppinit.c: Revert -MD removal.
9144
121449b6
SC
91452002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9146
9147 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
9148 soft registers by default for 68HC12.
9149 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
9150 when compiling with -fomit-frame-pointer.
9151 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
9152 (expand_epilogue): Likewise.
9153 (m68hc11_gen_rotate): Use exg when rotating by 8.
9154
840e2ff1
SC
91552002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9156
9157 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
9158 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
9159 (splits): Remove unused add splits.
9160 ("*addhi3_68hc12"): Tune constraints.
9161 ("addhi_sp"): Try to use X instead of Y in all cases and if the
9162 constant fits in 8-bits and D is dead use abx/aby instructions.
9163 ("*addhi3"): Remove extern declaration of ix_reg.
9164 ("*subsi3"): Optimize and provide new split.
9165 ("subhi3"): Cleanup.
9166 ("*subhi3_sp"): Avoid saving X if we know it is dead.
9167 (arith splits): For 68hc12 save the address register on the stack
9168 and do the arithmetic operation with a pop.
9169
3c9a5efe
SC
91702002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9171
9172 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
9173 allocating QImode in address registers.
9174 ("*movqi_m68hc11"): Likewise.
9175
e41f3392
JH
9176Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
9177
9178 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
9179
576786b0
NB
91802002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
9181
9182 * cppinit.c (print_help): Display -MD and -MMD.
9183 Don't display usage string. Update assertion syntax and
9184 typo.
9185 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
9186 (cpp_handle_option): Update.
9187
1ac458d4
CD
91882002-03-15 Chris Demetriou <cgd@broadcom.com>
9189
9190 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
9191 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
9192 and define it so that regardless of target CPU size,
9193 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
9194 of "int" rather than "long."
9195
1fcd592b
RH
91962002-03-15 Richard Henderson <rth@redhat.com>
9197
9198 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
9199 size as a tree.
9200
a0df6910
SC
92012002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9202
9203 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
9204 ("tstqi" split): Avoid using memory for tstqi on address register.
9205 (splits): Remove constraints.
9206 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
9207 ("cmpdf", "cmpsf"): Remove since not used.
9208 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
9209 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
9210
015a2e59
SC
92112002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9212
9213 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
9214 ("neghi2"): Tighten constraints.
9215 ("one_cmplsi2"): Optimize and simplify split.
9216 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
9217
cd28557c
SC
92182002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9219
9220 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
9221 and split of AND operation to clear the upper bits.
9222 ("*logicalsi3_zextqi"): Likewise.
9223 ("*logicallhi3_zexthi_ashift8"): Likewise.
9224 ("*logicalsi3_silshr16"): Likewise.
9225 ("logicalsi3_silshl16"): Likewise.
9226 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
9227
932657df
SC
92282002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9229
9230 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
9231 (m68hc11_indirect_p): New function.
9232 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
9233 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
9234 TARGET_M6812.
9235 (asm_print_register): Likewise.
9236 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
9237 (m68hc11_indirect_p): Declare.
9238 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
9239 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
9240 (TARGET_SWITCHES): New option -mrelax.
9241 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
9242 destination.
9243 ("iorsi3", "xorsi3"): Likewise.
9244 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
9245 ("*andhi3_mem"): New to handle destination in memory with bclr
9246 and a scratch register.
9247 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
9248 ("*andhi3_const"): New when operand2 is constant.
9249 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
9250 ("*andhi3_gen"): Cleanup of the old "andhi3".
9251 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
9252 ("xorqi3"): Update constraints.
9253
fdffea1a
SC
92542002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9255
9256 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
9257 for reg_equiv_memory_loc when the operand is a register that does
9258 not get a hard register (stack location).
9259 (tst_operand): After reload, accept all memory operand.
9260 (symbolic_memory_operand): Fix detection of symbolic references.
9261 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
9262 accept symbols and any constant.
9263
6272bc68
SC
92642002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9265
9266 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
9267 note on the insn that sets the soft frame register.
9268 (must_parenthesize): ix and iy are also reserved names.
9269 (print_operand_address): One more place where parenthesis are required
9270 to avoid confusion with register names.
9271 (m68hc11_gen_movhi): Allow push of stack pointer.
9272 (m68hc11_check_z_replacement): Fix handling of parallel with a
9273 clobber.
9274 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
9275 the replacement register is.
9276 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
9277 and D8_REGS classes.
9278 (MODES_TIEABLE_P): All modes are tieable except QImode.
9279
1d2d9def
SC
92802002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9281
9282 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
9283 (___subdi3): Likewise.
9284 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
9285 (__map_data_section): Optimize 68hc11 case.
9286
a0ccf503
SC
92872002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9288
9289 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
9290 than a shift to avoid adding a register with itself.
9291 (m68hc11_memory_move_cost): Take into account NO_REGS.
9292 (m68hc11_register_move_cost): Update and use memory move cost
9293 for soft registers.
9294 (m68hc11_address_cost): Make cost of valid offset not 0 so that
9295 it gives more opportunities to cse to optimize.
9296 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
9297 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
9298
6e4ae815
MM
92992002-03-15 Mark Mitchell <mark@codesourcery.com>
9300
9301 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
9302 * c-common.def (CLEANUP_STMT): New tree node.
9303 * c-common.h (CLEANUP_DECL): New macro.
9304 (CLEANUP_EXPR): Likewise.
9305 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
9306 * expr.c (expand_expr): Tidy.
9307 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
9308 * tree-inline.c (initialize_inlined_parameters): Clean up
9309 new local variables.
9310
a42519be
JJ
93112002-03-15 Jakub Jelinek <jakub@redhat.com>
9312
9313 PR bootstrap/4128
9314 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
9315 before movrXX only, use reg_overlap_mentioned_p.
9316 Only special case NE if just one insn can be generated.
9317
15409448
JM
93182002-03-15 Jason Merrill <jason@redhat.com>
9319
9320 * varasm.c (assemble_variable): Call resolve_unique_section before
9321 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
9322 of error_mark_node.
9323
3a4edb44
RE
93242002-03-15 Richard Earnshaw <rearnsha@arm.com>
9325
9326 PR target/5170
9327 * arm.md (split pattern for thumb shiftable immediates): Add comment
9328 explaining non-obvious test.
9329
32defa36
RE
93302002-03-15 Richard Earnshaw <rearnsha@arm.com>
9331
9332 PR target/5712
9333 * arm.md (movaddr, movaddr_insn): Delete.
9334
5cc90635
JM
93352002-03-15 Jason Merrill <jason@redhat.com>
9336
9337 * toplev.c (wrapup_global_declarations): Clarify variable handling.
9338 -fkeep-static-consts doesn't apply to comdats.
9339
ecb0eece
RH
93402002-03-14 Richard Henderson <rth@redhat.com>
9341
9342 * c-decl.c: Include c-pragma.h.
9343 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
9344 (finish_function): Tidy.
9345 * c-pragma.c: Include c-common.h.
9346 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
9347 (handle_pragma_weak): Use them.
9348 (init_pragma): Register pending_weaks.
9349 * c-pragma.h (maybe_apply_pragma_weak): Declare.
9350 * print-tree.c (print_node): Print DECL_WEAK.
9351 * varasm.c (mark_weak_decls): Remove.
9352 (remove_from_pending_weak_list): Remove.
9353 (add_weak): Remove.
9354 (asm_emit_uninitialised): Call globalize_decl for weak commons.
9355 (weak_decls): Make a tree_list.
9356 (declare_weak): Cons weak_decls directly.
9357 (globalize_decl): Remove weak_decls elements directly.
9358 (weak_finish): Simplify weak_decls walk. Don't weaken unused
9359 symbols. Don't pretend to handle aliases.
9360 (init_varasm_once): Update weak_decls registry.
9361 * Makefile.in: Update dependencies.
9362
98d2b17e
RH
93632002-03-14 Richard Henderson <rth@redhat.com>
9364
9365 PR target/5312
9366 * config/ia64/ia64.c: Include tm_p.h last.
9367 (gen_nop_type): Remove duplicate definition.
9368 (cycle_end_fill_slots): Set sched_data for second L slot.
9369 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
9370 (nop_cycles_until): Fix typos.
9371
f2f4927e
JJ
93722002-03-15 Jakub Jelinek <jakub@redhat.com>
9373
9374 PR optimization/5891
9375 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
9376
5025a549
DM
93772002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
9378
9379 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
9380 descriptors correctly.
9381
03e9dbc9
MM
93822002-03-14 Michael Meissner <meissner@redhat.com>
9383
9384 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
9385 100, allowing MAX_UNROLLED_INSNS to be overridden.
9386
9387 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
9388 --param.
9389
9390 * unroll.c (params.h): Include.
9391 (MAX_UNROLLED_INSNS): Delete, now in params.h.
9392
9393 * doc/invoke.texi (--param max-unroll-insns): Document.
9394
9395 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
9396
12249385
RE
93972002-03-14 Richard Earnshaw <rearnsha@arm.com>
9398
9399 * arm.md: Fix warnings about constraints in peepholes and splits.
9400
f0cce04a
ZW
94012002-03-14 Zack Weinberg <zack@codesourcery.com>
9402
9403 * cpphash.h (struct lexer_state): Remove line_extension member.
9404 * cpplib.c (dequote_string, do_linemarker): New functions.
9405 (linemarker_dir): New data object.
9406 (DIRECTIVE_TABLE): No longer need to interpret #line in
9407 preprocessed source. Delete obsolete comment about return
9408 values of handlers.
9409 (end_directive, directive_diagnostics, _cpp_handle_directive):
9410 Don't muck with line_extension.
9411 (directive_diagnostics): No need to issue warnings for
9412 linemarkers here.
9413 (_cpp_handle_directive): Issue warnings for linemarkers here,
9414 when appropriate. Dispatch linemarkers to do_linemarker, not
9415 do_line.
9416 (do_line): Code to handle linemarkers split out to do_linemarker.
9417 Convert escape sequences in filename argument, both places.
9418
9419 * cppmacro.c (quote_string): Rename cpp_quote_string and
9420 export. All callers changed.
9421 * cpplib.h (cpp_quote_string): Prototype.
9422 * cppmain.c (print_line): Call cpp_quote_string on to_file
9423 before printing it.
9424
9425 * doc/cpp.texi: Document that escapes are now interpreted in
9426 #line and in linemarkers, and that non-printing characters are
9427 converted to octal escapes when linemarkers are generated.
9428
9429Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
9430
9431 * emit-rtl.c (try_split): Use delete_insns.
9432 * recog.c (split_all_insns): Fix terminating condition.
9433
c882c7ac
RE
94342002-03-14 Richard Earnshaw <rearnsha@arm.com>
9435 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
9436
9437 PR target/5828
9438 * arm.c (arm_output_epilogue): Fix floating-point register save
9439 adjustment when using a frame pointer.
9440
3f26edaa
RS
94412002-03-14 Richard Sandiford <rsandifo@redhat.com>
9442
9443 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
9444 * config/mips/mips.c (compute_frame_size): Retrofit them here.
9445 (save_restore_insns, mips_expand_epilogue): And here.
9446 (build_mips16_call_stub): And here.
9447 (mips_function_value): Use the new macros to decide whether a single
9448 or complex float can be returned in floating-point registers. Return
9449 a parallel rtx in the complex case.
9450
1e3881c2
JH
9451Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
9452
9453 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
9454 call after liveness analysis.
9455
9456 * recog.c (split_insn): Use delete_insn_and_edges.
9457
9458 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
9459 instructions to have branch prediction notes.
9460 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
9461
200ef634
GK
94622002-03-14 Geoffrey Keating <geoffk@redhat.com>
9463
9464 * configure.in: Don't pass -Wno-long-long to a ADA compiler
9465 that doesn't support it.
9466 * configure: Regenerate.
9467
0b82d204
JJ
94682002-03-13 Jakub Jelinek <jakub@redhat.com>
9469
9470 PR target/5626
9471 * config/sparc/sparc.md (normal_branch, inverted_branch,
9472 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
9473 inverted_fp_branch): Adjust calls to output_cbranch.
9474 Set length attribute.
9475 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
9476 output_v9branch. Set length attribute.
9477 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
9478 predicates.
9479 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
9480 (output_cbranch): Likewise. Handle far branches.
9481 (output_v9branch): Handle far branches.
9482 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
9483 Adjust prototypes.
9484 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
9485 noov_compare64_op predicates.
9486
7a8de19b
JM
94872002-03-13 Jason Merrill <jason@redhat.com>
9488
9489 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
9490 into the function and constify it.
9491 * gthr-dce.h, gthr-solaris.h: Likewise.
9492
2a55fd42
DE
94932002-03-13 David Edelsohn <edelsohn@gnu.org>
9494
9495 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
9496 * config/rs6000/rs6000.c (rs6000_va_arg): Use
9497 std_expand_builtin_va_arg if not ABI_V4.
9498
19c5b1cf
JM
94992002-03-13 Jason Merrill <jason@redhat.com>
9500
9501 * varasm.c (globalize_decl): New fn.
9502 (assemble_start_function): Use it.
9503 (asm_emit_uninitialized): Use it.
9504 (assemble_alias): Use it.
9505 (assemble_variable): Use it.
9506
2a15f5e1
HPN
95072002-03-13 Hans-Peter Nilsson <hp@axis.com>
9508
9509 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 9510 2002-03-12 internal visibility change.
2a15f5e1
HPN
9511 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
9512 visibility into SYMBOL_REF_FLAG.
9513
c0a3eeac
UW
95142002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
9515
9516 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
9517 VOIDmode operand. Add compile-time optimization for constant results.
9518
a1652cee
JM
95192002-03-12 Jason Merrill <jason@redhat.com>
9520
9521 * c-typeck.c (convert_for_assignment): Don't allow conversions
9522 between pointers and references. Only allow lvalues to convert to
9523 reference.
9524
c52a375d
HP
95252002-03-13 Hartmut Penner <hpenner@de.ibm.com>
9526
f0cce04a
ZW
9527 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
9528 before prologue, to avoid scheduling problems.
c52a375d 9529
e387e99b
JJ
95302002-03-13 Jakub Jelinek <jakub@redhat.com>
9531
9532 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
9533 (ELIMINABLE_REGS): Add sfp->sp.
9534 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
9535
95362002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
9537
9538 PR optimization/5892
9539 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
9540
4061c1a3
JJ
95412002-03-13 Jakub Jelinek <jakub@redhat.com>
9542
9543 * loop.c (basic_induction_var): Don't call convert_modes if mode
9544 classes are different.
9545
5b43fed1
RH
95462002-03-12 Richard Henderson <rth@redhat.com>
9547
9f53e965
RH
9548 PR optimization/5901
9549 * function.c (reposition_prologue_and_epilogue_notes): Position
9550 the markers after/before the last/first insn not deleted.
9551
95522002-03-12 Richard Henderson <rth@redhat.com>
9553
9554 PR optimization/5878
5b43fed1
RH
9555 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
9556 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
9557 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
9558
9559 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
9560 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
9561 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
9562
9563 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
9564 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
9565 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
9566 also. Don't set it if not flag_pic.
9567 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
9568 to be INVALID_REGNUM when not used.
9569
4e9bb42b
AH
95702002-03-13 Aldy Hernandez <aldyh@redhat.com>
9571
5b43fed1
RH
9572 * expmed.c (store_bit_field): Reset alias set for memory.
9573 (extract_bit_field): Same.
4e9bb42b 9574
2f9834e8
KG
95752002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9576
9577 * c-common.c (c_tree_code_type, c_tree_code_length,
9578 c_tree_code_name, add_c_tree_codes): Delete.
9579 * c-common.h (add_c_tree_codes): Delete.
9580 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
9581 Define.
9582 * c-objc-common.c (c_objc_common_init): Don't call
9583 add_c_tree_codes, instead set lang_unsafe_for_reeval.
9584 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
9585 objc_tree_code_name, add_objc_tree_codes): Delete.
9586 (objc_init): Don't call add_objc_tree_codes.
9587 * objc/objc-lang.c (tree_code_type, tree_code_length,
9588 tree_code_name): Define.
9589 * toplev.c (lang_independent_init): Don't set
9590 tree_code_length[IDENTIFIER_NODE].
9591 * tree.c (tree_code_type, tree_code_length, tree_code_name):
9592 Delete definitions, moved to language front-ends.
9593 * tree.def (IDENTIFIER_NODE): Hardwire the length.
9594 * tree.h (tree_code_type, tree_code_length, tree_code_name):
9595 Const-ify.
9596 (tree_code_length): Change type to unsigned char.
9597
36ad2436
RH
95982002-03-12 Richard Henderson <rth@redhat.com>
9599
9600 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
9601 internal visibility change.
9602
0ae02efa
BW
96032002-03-12 Bob Wilson <bob.wilson@acm.org>
9604
9605 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
9606 validize_mem() instead of change_address to avoid clobbering
9607 memory attributes.
9608
35bb2bee
NB
96092002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
9610
9611 * c-lex.h (position_after_whitespace): Remove.
9612
62ae2529
JJ
96132002-03-12 Jakub Jelinek <jakub@redhat.com>
9614
9615 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
9616 (lex_string): Use unsigned char pointers.
9617
6a45951f
UW
96182002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
9619
9620 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
9621 is not a valid memory_operand.
9622
e2fb85da
BW
96232002-03-12 Bob Wilson <bob.wilson@acm.org>
9624
9625 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
9626 * config/xtensa/lib1funcs.asm: Fix copyright to include
9627 special case for libgcc files.
9628 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
9629 (__divsi3): Likewise.
9630 (__umodsi3): Likewise.
9631 (__modsi3): Likewise.
9632 * config/xtensa/lib2funcs.S: Fix copyright to include
9633 special case for libgcc files.
9634
5b8619f8
TR
96352002-03-12 Tom Rix <trix@redhat.com>
9636
9637 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 9638 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
9639 (ignore_library): Same.
9640
089c8f97
BW
96412002-03-12 Bob Wilson <bob.wilson@acm.org>
9642
9643 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
9644
958c70ff
BW
96452002-03-12 Bob Wilson <bob.wilson@acm.org>
9646
9647 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
9648 to function_section before writing out the constant pool.
9649
a65c591c
DE
96502002-03-12 David Edelsohn <edelsohn@gnu.org>
9651
9652 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
9653 zero_constant.
9654 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
9655
96562002-03-12 Alan Modra <amodra@bigpond.net.au>
9657
9658 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
9659 (adddi3): Likewise.
9660 (movdf): Likewise.
9661 (movdi): Likewise.
9662 (cmpsi splitter): Likewise.
9663 (modsi3): Fail if <= 0.
9664 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
9665 redundant test when HOST_BITS_PER_WIDE_INT != 32.
9666 (reg_or_sub_cint64_operand): Likewise.
9667 (num_insns_constant_wide): Optimize sign extension.
9668 (rs6000_legitimize_address): Likewise.
9669
17720332
AM
96702002-03-12 Andrew MacLeod <amacleod@redhat.com>
9671
9672 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
9673 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
9674
cd49f073
AM
96752002-03-12 Andrew MacLeod <amacleod@redhat.com>
9676
9677 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
9678 address calculation.
9679
6a4e49c1
UW
96802002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
9681
9682 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
9683 scratch register to DImode / TImode.
9684 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
9685 register used does not overlap the target.
9686
54b6670a
KG
96872002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9688
9689 * Makefile.in (debug.o): Depend on debug.h.
9690 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
9691 * debug.c (do_nothing_debug_hooks): Likewise.
9692 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
9693 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
9694 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
9695 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
9696 * dwarfout.c (dwarf_debug_hooks): Likewise.
9697 * integrate.c (output_inline_function): Likewise.
9698 * objc/objc-act.c (synth_module_prologue): Likewise.
9699 * sdbout.c (sdb_debug_hooks): Likewise.
9700 * toplev.c (debug_hooks): Likewise.
9701 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
9702
2465bf76
KG
97032002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9704
9705 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
9706 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
9707 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
9708 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
9709 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
9710 * defaults.h (POINTER_SIZE): Define.
9711 * doc/tm.texi (POINTER_SIZE): Document default.
9712
53f3e9ca
KG
97132002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9714
9715 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
9716
44d3eb5b
RH
97172002-03-11 Richard Henderson <rth@redhat.com>
9718
9719 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
9720 if rebuild_label_notes_after_reload.
9721
4a085d2e
HPN
97222002-03-12 Hans-Peter Nilsson <hp@axis.com>
9723
9724 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
9725 emit pic register load if "internal" visibility.
9726 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
9727 (cris_expand_builtin_va_arg): Do all computations on trees.
9728
bc204393
RH
97292002-03-11 Richard Henderson <rth@redhat.com>
9730
9731 * rtlanal.c: Include recog.h.
9732 (keep_with_call_p): Fix thinko.
9733 * Makefile.in (rtlanal.o): Update dependencies.
9734
6b8b9d7b
CM
97352002-03-11 Chris Meyer <cmeyer@gatan.com>
9736
9737 * genflags.c (gen_insn): Use IS_VSPACE.
9738 * genoutput.c (output_insn_data): Likewise.
9739 (process_template): Likewise.
9740
6c40858f
RH
97412002-03-11 Richard Henderson <rth@redhat.com>
9742
9743 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
9744
40adaa27
NB
97452002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
9746
9747 * Makefile.in: Update.
6c40858f 9748 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 9749 Update documentation.
6c40858f
RH
9750 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
9751 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 9752
049b03f4
ZW
97532002-03-11 Zack Weinberg <zack@codesourcery.com>
9754
9755 * Makefile.in: Give texi2pod its input file as a command line
9756 argument, not on stdin.
9757
61eece67
DN
97582002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
9759 Daniel Berlin <dan@dberlin.org>
9760
9761 C++ alias analysis improvement.
f0cce04a 9762 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
9763 classes too.
9764
a65c591c
DE
97652002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
9766
ff080aba
UW
9767 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
9768
1682dbb1
DR
97692002-03-11 Douglas B Rupp <rupp@gnat.com>
9770
fa2d765a
DR
9771 * toplev.c (vms_fopen): Remove, not needed.
9772
6f1fd286
DR
9773 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
9774
b230e057
DR
9775 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
9776
cb9a8e97
DR
9777 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
9778 for FP, already done later.
9779
1682dbb1
DR
9780 * toplev.c (debug_args): Add entry for VMS_DEBUG.
9781 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
9782
3fcaac1d
RS
97832002-03-11 Richard Sandiford <rsandifo@redhat.com>
9784
9785 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
9786 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
9787 LARGEST_EXPONENT_IS_NORMAL for the given mode.
9788 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
9789 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
9790 (ediv, emul, eldexp, esqrt): Likewise.
9791 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
9792 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
9793 (saturate): New function.
9794 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
9795 (make_nan): Use a saturation value instead of a NaN if
9796 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
9797 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
9798 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
9799 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
9800 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
9801 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
9802 !ROUND_TOWARDS_ZERO.
9803 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
9804 (ROUND_TOWARDS_ZERO): Document.
9805
d25558be
AJ
98062002-03-11 Andreas Jaeger <aj@suse.de>
9807
9808 * cfg.c (dump_flow_info): Remove unused variable.
9809
c71f9ae7
HPN
98102002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
9811
9812 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
9813 computations on trees.
9814
561c9153
RH
98152002-03-10 Richard Henderson <rth@redhat.com>
9816
932b4e3e 9817 PR 5693:
561c9153
RH
9818 * reload.c (copy_replacements_1): New.
9819 (copy_replacements): Use it to recurse through the rtx.
9820
26b738be
RH
98212002-03-10 Richard Henderson <rth@redhat.com>
9822
9823 * loop.c (strength_reduce): Compute number of iterations as
9824 unsigned HOST_WIDE_INT.
9825
8d8a083e
RH
98262002-03-10 Richard Henderson <rth@redhat.com>
9827
9828 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
9829 to move away from the end of the block.
9830
32810ba3
NB
98312002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
9832
9833 PR preprocessor/5899
9834 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 9835
2b03d201
KG
98362002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9837
f90c544c
KG
9838 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
9839
2b03d201
KG
9840 * attribs.c (decl_attributes): Fix signed/unsigned warning.
9841
3ec1b4cb
HPN
98422002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
9843
9844 * config/mmix/mmix.c: Improve comments.
9845 (mmix_target_asm_function_prologue): Drop variable
9846 empty_stack_frame. Don't allocate unused slot above fp.
9847 (mmix_target_asm_function_epilogue): Mirror prologue changes.
9848 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
9849 brace in first column.
9850 (enum reg_class): Ditto.
9851 (FIRST_PARM_OFFSET): Now 0.
9852 (USER_LABEL_PREFIX): Remove #if 0:d definition.
9853
27e486c5
KG
98542002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9855
9856 * combine.c (make_extraction): Fix error in last change.
9857
0139adca
KG
98582002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9859
9860 * c4x.c (c4x_fp_reglist): Const-ify.
9861 * cris.c (cris_print_operand): Likewise.
9862 * i386.c (ix86_va_arg): Likewise.
9863 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
9864 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
9865 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
9866 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
9867 * mcore.h (regno_reg_class): Likewise.
9868 * mips.c (gen_int_relational): Likewise.
9869 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
9870 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 9871 * pdp11.c (move_costs): Likewise.
0139adca
KG
9872 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
9873 * s390.c (s390_branch_condition_mnemonic, regclass_map):
9874 Likewise.
9875 * s390.h (regclass_map): Likewise.
9876 * sh.c (shift_amounts): Likewise.
a4334c36 9877 * sh.md (rotlsi3): Likewise.
0139adca 9878
889b90a1
GK
98792002-03-09 Geoffrey Keating <geoffk@redhat.com>
9880
9881 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
9882 (ne0+5): Use new clobber to generate proper shift pattern.
9883 Patch by Michael Matz <matz@kde.org>.
9884
2877e0ae
AS
98852002-03-09 Andreas Schwab <schwab@suse.de>
9886
9887 * gcc.c (validate_all_switches): Also handle `%W{...}'.
9888
79b51cd7
GK
98892002-03-09 Geoffrey Keating <geoffk@redhat.com>
9890
9891 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
9892
e0f1be5c
JJ
98932002-03-09 Jakub Jelinek <jakub@redhat.com>
9894
9895 PR middle-end/5877
9896 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
9897 even for non-representable constants.
9898
0a7ec763
RK
9899Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9900
93fe8e92
RK
9901 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
9902 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
9903 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
9904 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
9905 (pop_function_context): Compute MAY_SHARE parameter for
9906 fixup_var_refs.
9907 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
9908 (gen_mem_addressof): Call fixup_var_refs with new parm.
9909
0a7ec763
RK
9910 * combine.c (make_extraction): Don't make extension of CONST_INT.
9911
a85cd407
AO
99122002-03-09 Alexandre Oliva <aoliva@redhat.com>
9913
9445b814
AO
9914 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
9915 in o32 and o64 ABIs.
9916 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
9917 but getting fixed-size structs passed in registers regardless of
9918 padding in o32 and o64 ABIs.
9919
a85cd407
AO
9920 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
9921 offset before loading address of argument passed by transparent
9922 reference.
9923
c51fbe40
JDA
99242002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
9925
9926 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
9927
918e70dd
AO
99282002-03-09 Alexandre Oliva <aoliva@redhat.com>
9929
9930 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
9931 marker such that registers after it are saved.
9932
3070dd00
KG
99332002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9934
9935 * sparc.c (arith_4096_operand): Fix error in last change.
9936
e25d11b0
AO
99372002-03-08 Alexandre Oliva <aoliva@redhat.com>
9938
9939 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
9940 defaults for MEABI.
9941
41daaf0e
AH
99422002-03-08 Aldy Hernandez <aldyh@redhat.com>
9943
5b43fed1
RH
9944 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
9945 vectors.
41daaf0e 9946
fa139b00
AH
99472002-03-08 Aldy Hernandez <aldyh@redhat.com>
9948
5b43fed1 9949 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 9950
c51d95ec
JH
9951Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
9952
9953 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
9954 removed; fix return value.
9955 * combine.c (combine_instructions): Dirtify blocks where we failed to
9956 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
9957 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
9958
3b25fbfe
KG
99592002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9960
9961 * gcse.c (insert_insn_end_bb): Fix typo in last change.
9962
189ae0f4
JH
9963Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
9964
9965 * recog.c (peephole2_optimize): Re-distribute EH edges.
9966
24965e7a
NB
99672002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
9968
9969 * expr.c (expand_expr): Use unsave lang hook.
9970 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
9971 (LANG_HOOKS_INITIALIZER): Update.
9972 * langhooks.h (struct lang_hooks): New hook unsave.
9973 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
9974 (unsave_expr_1): Remove unused lang_unsave_expr_now.
9975 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
9976 (unsave_expr_now): Remove.
9977 * tree.h (unsave_expr_now, lang_unsave,
9978 lang_unsave_expr_now): Remove.
9979 (lhd_unsave): New.
9980
1e4e95d6
AJ
99812002-03-08 Andreas Jaeger <aj@suse.de>
9982
9983 * flow.c (propagate_block_delete_insn): Remove unused variable.
9984
054ef905
KH
99852002-03-08 Kazu Hirata <kazu@hxi.com>
9986
9987 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
9988 insn length for memory load/store.
9989
5304400d 99902002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 9991
5304400d
CR
9992 * doc/install.texi (--with-libiconv-prefix): Document.
9993
81034129
MB
99942002-03-08 Michael Y. Brukman <myb2@cornell.edu>
9995
9996 * doc/sourcebuild.texi: Fix typo.
9997
71db7d03
JJ
99982002-03-08 Jakub Jelinek <jakub@redhat.com>
9999
10000 PR c/3711
10001 * builtins.c (std_expand_builtin_va_arg): Do all computations on
10002 trees.
10003
127c1ba5
RK
10004Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10005
10006 * rtl.c (copy_most_rtx): Move from here ...
10007 * emit-rtl.c (copy_most_rtx): ... to here.
10008
8a13c092
AO
100092002-03-08 Alexandre Oliva <aoliva@redhat.com>
10010
5faae4f7
AO
10011 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
10012 SUBTARGET_CPP_SIZE_SPEC.
10013 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
10014
8a13c092
AO
10015 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
10016
4ec59de2
MH
100172002-03-07 Matt Hiller <hiller@redhat.com>
10018
10019 * gensupport.c (first_dir_md_include): Renamed from include;
10020 change all references.
10021 (last_dir_md_include): Renamed from last_include; change all
10022 references.
10023 (init_md_reader): Unconditionally initialize base_dir whether or
10024 not filename is a relative path.
10025
12f61e77
AO
100262002-03-07 Alexandre Oliva <aoliva@redhat.com>
10027
95356058
AO
10028 * config/fp-bit.c (_unord_f2): Compile it in even if
10029 US_SOFTWARE_GOFAST is enabled.
10030
12f61e77
AO
10031 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
10032 NULL_RTX. Set all HFmode operations as NULL_RTX.
10033 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
10034 NULL_RTX, try reversing the comparison and the operands.
10035
6d7a1c4c
UW
100362002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
10037
10038 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
10039 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
10040 and MATCH_OP_DUP.
10041
66d54344
JH
10042Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
10043
10044 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
10045
068473ec
JH
10046Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
10047
10048 * basic-block.h (fixup_abnormal_edges): Declare.
10049 * reload1.c (fixup_abnormal_edges): New function.
10050 * reg-stack.c (convert_regs): Use it.
10051
10052 * gcse.c (insert_insn_end_bb): Handle trapping insns.
10053
10054 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
10055
71925bc0
RS
100562002-03-07 Richard Sandiford <rsandifo@redhat.com>
10057
10058 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
10059 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
10060 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
10061 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
10062 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
10063 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
10064 unless x and y could be infinite.
10065 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
10066 Check that the common type of both arguments is a real, even for
10067 targets without unordered comparisons. Allow an integer argument
10068 to be compared against a real.
10069 (expand_tree_builtin): Use expand_unordered_cmp.
10070 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
10071 * cse.c (fold_rtx): Likewise. Fix indentation.
10072 * fold-const.c (fold_real_zero_addition_p): New.
10073 (fold): Use it, and the new HONOR_... macros.
10074 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
10075 * jump.c (reversed_comparison_code_parts): After searching for
10076 the true comparison mode, use HONOR_NANS to decide whether it
10077 can be safely reversed.
10078 (reverse_condition_maybe_unordered): Remove IEEE check.
10079 * simplify-rtx.c (simplify_binary_operation): Use the new macros
10080 to decide which simplifications are valid. Allow the following
10081 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
10082 and (a - -b) to (a + b).
10083 (simplify_relational_operation): Use HONOR_NANS.
10084 * doc/tm.texi: Document the MODE_HAS_... macros.
10085
145d3bf2
RE
100862002-03-07 Richard Earnshaw <rearnsha@arm.com>
10087
10088 * combine.c (simplify_comparison): If simplifying a logical shift
10089 right and compare with constant, force the comparison to unsigned.
10090
76a773f3
AH
100912002-03-07 Aldy Hernandez <aldyh@redhat.com>
10092
5b43fed1 10093 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 10094
5b43fed1
RH
10095 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
10096 -mabi=no-altivec
10097 (alt_reg_names): Remove % for vrsave.
76a773f3 10098
ab55f58c
RH
100992002-03-06 Richard Henderson <rth@redhat.com>
10100
5ddec02e 10101 PR optimization/5844
ab55f58c
RH
10102 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
10103 if used indicates we've already emitted one copy of an operand.
10104 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
10105 (gen_split): Supply a non-null used.
10106
e16e3291
UW
101072002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
10108
5b43fed1 10109 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 10110
1e4e95d6 10111 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
10112 but simply fail if the expression is too complex to simplify.
10113 (simplify_gen_binary): Handle simplify_plus_minus failures.
10114
2ca6672b
JH
10115Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
10116
10117 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
10118 consistently call delete_trivially_dead_insns after CSE and GCSE;
10119 fix DFI_life dumping; do jump threading after liveness; do crossjumping
10120 after liveness2; update comment in last crossjumping.
10121 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
10122
31d0dd4f
JL
10123Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
10124
d094b0b3
JL
10125 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
10126 after completing fast dead code elimination.
10127
31d0dd4f
JL
10128 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
10129 COMPARE operator.
1e4e95d6 10130
f2b958b1
PE
101312002-03-06 Phil Edwards <pme@gcc.gnu.org>
10132
10133 * version.c: Fix misplaced leading blanks on first line.
10134
a2877a09
JH
10135Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
10136
10137 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
10138
fe477d8b
JH
10139Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
10140
10141 * cfgcleanup.c (mentions_nonequal_regs): New function.
10142 (thread_jump): Use it.
10143 * toplev.c (rest_of_compilation): Run jump threading after
10144 liveness.
10145
2041cde4
JJ
101462002-03-06 Jakub Jelinek <jakub@redhat.com>
10147
10148 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
10149 patch.
10150
82d68d46
JH
10151Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
10152
10153 * predict.c (estimate_bb_frequencies): Do not reload the
10154 frequencies from notes.
10155
3dec4024
JH
10156Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
10157
10158 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
10159 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
10160
10161 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
10162 delete_noop_moves): Return indeger.
10163 * flow.c (ndead): New variable.
10164 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
10165 BB argument; update callers.
10166 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
10167 (life_analysis): Do not call purge_all_dead_edges.
10168 (update_life_info): Return number of deleted insns; print statistics.
10169 (update_life_info_in_dirty_blocks): likewise.
10170 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
10171 return number of insns deleted.
10172
10173 * cse.c: Include timevar.h
10174 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
10175 iterate until stabilizes; print statistics; return number of killed
10176 insns.
10177 * Makefile.in: (cse.o): Add timevar.h dependency
10178 * rtl.h (delete_trivially_dead_insns): New.
10179 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
10180 * toplev.c (rest_of_compilation): Update callers.
10181
10182 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
10183 (try_optimize_cfg): Do not update liveness.
10184 (cleanup-cfg): Loop until try_optimize_cfg and dead code
10185 removal stabilizes; use delete_trivially_dead_insns.
10186
10187 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
10188
c7544dd8
ZW
101892002-03-05 Zack Weinberg <zack@codesourcery.com>
10190
10191 * cppmain.c (setup_callbacks): Disable #pragma and #ident
10192 callbacks when processing assembly language.
10193
50b424a9
JDA
101942002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
10195
10196 * pa.h (ASM_FILE_END): Define.
10197 * som.h (ASM_FILE_END): Delete.
10198
10199 * pa.c (function_arg): Don't pass floats in general registers in
10200 indirect calls if TARGET_ELF32.
10201
6185f217
RH
102022002-03-05 Richard Henderson <rth@redhat.com>
10203
10204 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
10205
3020a4b2
DS
102062002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
10207
10208 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
10209
65649daa
JJ
102102002-03-05 Jakub Jelinek <jakub@redhat.com>
10211
10212 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
10213 -r command line. Don't hide any symbols if not building
10214 shared libgcc.
10215
5a1a3e5e
JH
10216Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
10217
10218 * cfg.c (dump_flow_info): Warn about profile mismatches.
10219 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
10220 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
10221
170c56da
JJ
102222002-03-05 Jakub Jelinek <jakub@redhat.com>
10223
10224 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
10225 wide volatile memory by parts.
10226
6d051694
JJ
102272002-03-05 Jakub Jelinek <jakub@redhat.com>
10228
10229 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
10230 is NULL.
10231
28bcfd4d
RH
102322002-03-05 Richard Henderson <rth@redhat.com>
10233
5b43fed1 10234 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 10235
75227a33
GK
102362002-03-04 Geoffrey Keating <geoffk@redhat.com>
10237
10238 * toplev.c (documented_lang_options): Document more
10239 language-specific options.
10240 * doc/invoke.texi (Warning Options): Correct documentation for
10241 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
10242 * c-decl.c (c_decode_option): Use a table to handle warning options.
10243
4f1aac42
HPN
102442002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
10245
10246 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
10247 parameter to mmix_encode_section_info.
10248 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
10249 relocatably. Always produce ELF, not mmo if linking relocatably.
10250 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
10251 first is non-zero, don't add symbol prefix.
10252 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
10253 prototype accordingly.
10254
12345543
KW
102552002-03-04 Krister Walfridsson <cato@df.lth.se>
10256
10257 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
10258
8e97db8f
JM
102592002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
10260
10261 * configure.in: Increase required makeinfo version to 4.1.
10262 * configure: Regenerate.
10263
06487868
GK
102642002-03-04 Geoffrey Keating <geoffk@redhat.com>
10265
10266 * .cvsignore: Remove *.info* and genrtl*; these files are generated
10267 elsewhere now.
10268
cff42170
JM
102692002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
10270
10271 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
10272 * doc/invoke.texi: Fix @math uses.
10273
974a7f56
JH
10274Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
10275
10276 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
10277 removal
10278
3b7d0e98
AH
102792002-03-03 Aldy Hernandez <aldyh@redhat.com>
10280
5b43fed1
RH
10281 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
10282 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 10283
5b43fed1 10284 * config/rs6000/t-ppcendian: New.
3b7d0e98 10285
65f2f288
HB
102862002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10287
10288 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
10289 nonimmediate_src_operand and nonimmediate_lsrc_operand to
10290 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
10291
8ce0a8a5
RH
102922002-03-03 Richard Henderson <rth@redhat.com>
10293
10294 * toplev.c (rest_of_decl_compilation): Revert last two changes.
10295
ba31d94e
ZW
102962002-03-03 Zack Weinberg <zack@codesourcery.com>
10297
10298 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
10299 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
10300 tree.c, config/m68k/m68k.c:
10301 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
10302 REAL_ARITHMETIC blocks unconditional. Delete some further
10303 #ifdef blocks predicated on REAL_ARITHMETIC.
10304 * flags.h, toplev.c: Delete remaining references to
10305 flag_pretend_float.
10306
10307 * doc/invoke.texi: Remove documentation of -fpretend-float.
10308 * doc/tm.texi: Describe the various REAL_* macros as provided by
10309 real.h, not by the target configuration files.
10310
10311 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
10312 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
10313 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
10314 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
10315 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
10316 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
10317 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
10318 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
10319 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
10320 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
10321 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
10322 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
10323 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
10324 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
10325 config/xtensa/xtensa.h:
10326 Do not define, undefine, or mention in comments any of
10327 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
10328 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
10329 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
10330 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
10331 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
10332 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
10333 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
10334 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
10335 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
10336
9a571cfd
KG
103372002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10338
e81dd381
KG
10339 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
10340 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
10341 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
10342 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
10343 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
10344 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
10345 Delete.
10346 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 10347 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 10348
9a571cfd
KG
10349 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
10350 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
10351 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
10352
ca7558fc
KG
103532002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10354
10355 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
10356 lieu of explicit sizeof/sizeof.
10357 * i386.c (override_options, ix86_init_mmx_sse_builtins,
10358 ix86_expand_builtin): Likewise.
10359 * mips.c (mips_add_gc_roots): Likewise.
10360 * mmix.c (mmix_output_condition): Likewise.
10361 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
10362 altivec_init_builtins): Likewise.
10363 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
10364 * cppexp.c (Nsuff, parse_number): Likewise.
10365 * cppinit.c (builtin_array_end): Likewise.
10366 * gcc.c (n_default_compilers, process_command): Likewise.
10367 * genpreds.c (output_predicate_decls): Likewise.
10368 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
10369 * lcm.c (N_ENTITIES): Likewise.
10370 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 10371
41c78c88
RH
103722002-03-03 Richard Henderson <rth@redhat.com>
10373
10374 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
10375 for types or labels.
10376
9e9b71e6
RH
103772002-03-03 Richard Henderson <rth@redhat.com>
10378
10379 * c-decl.c (start_decl): Initialized variables are not common.
10380
c26a6db8
PB
103812002-03-02 Per Bothner <per@bothner.com>
10382
10383 * gcc.c (option_map): Suport new --bootclasspath option.
10384 --CLASSPATH is now just an alias for --classpath.
10385
9e8aab55
RH
103862002-03-02 Richard Henderson <rth@redhat.com>
10387
10388 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
10389 load if "internal" visibility.
10390 * doc/extend.texi: Document visibility meanings.
10391
b3bbd220
RH
103922002-03-02 Richard Henderson <rth@redhat.com>
10393
10394 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
10395 to functions as well.
10396
b14707c3
RH
103972002-03-02 Richard Henderson <rth@redhat.com>
10398
10399 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
10400 (handle_visibility_attribute): Don't call assemble_visibility.
10401 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
10402 without asmspec. Invoke assemble_alias when needed.
10403 * varasm.c (maybe_assemble_visibility): New.
10404 (assemble_start_function, assemble_variable, assemble_alias): Use it.
10405
b2003250
RH
104062002-03-02 Richard Henderson <rth@redhat.com>
10407
10408 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
10409 invoke ENCODE_SECTION_INFO with first call flag.
10410
10411 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
10412 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 10413 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
10414 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
10415 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
10416 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
10417 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
10418 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
10419 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
10420 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
10421 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
10422 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
10423 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
10424 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
10425 config/mcore/mcore-protos.h, config/mcore/mcore.c,
10426 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
10427 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 10428 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
10429 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
10430 config/sh/sh.h, config/sparc/sparc.h,
10431 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
10432 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
10433 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
10434 FIRST argument. As needed, examine it and do nothing.
10435
ba31d94e 10436 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
10437 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
10438 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
10439
10440 * config/arm/t-pe (pe.o): Add dependencies.
10441
5c60f03d
KG
104422002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10443
10444 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
10445 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
10446 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
10447 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
10448 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
10449 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
10450 * defaults.h (BITS_PER_UNIT): Define.
10451 * doc/tm.texi (BITS_PER_UNIT): Document default value.
10452
86855e8c
KH
104532002-03-02 Kazu Hirata <kazu@hxi.com>
10454
10455 * config/h8300/h8300-protos.h: Add a prototype for
10456 compute_a_shift_length.
10457 * config/h8300/h8300.c (h8300_asm_insn_count): New.
10458 (compute_a_shift_length): Likewise.
10459 (h8300_adjust_insn_length): Do not adjust insn length of shift
10460 insns.
10461 * config/h8300/h8300.md (anonymous shift patterns): Use
10462 compute_a_shift_length.
10463
f6041ed8
RK
10464Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10465
35aa3c1c
RK
10466 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
10467 trunc_int_for_mode.
10468
f6041ed8
RK
10469 * emit-rtl.c (offset_address): Call update_temp_slot_address.
10470
27b41650
KG
104712002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10472
10473 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
10474 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
10475 * flags.h (flag_zero_initialized_in_bss): Declare.
10476 * toplev.c (flag_zero_initialized_in_bss): New flag.
10477 (lang_independent_options): Add flag_zero_initialized_in_bss.
10478 * tree.c (initializer_zerop): New function.
10479 * tree.h (initializer_zerop): Declare.
10480 * varasm.c (assemble_variable): If we can emit bss, put zero
10481 initializers in the bss section.
10482
ca734b39
AM
104832002-03-02 Alan Modra <amodra@bigpond.net.au>
10484
10485 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
10486 like more than one symbol per .weak directive.
10487
49b72306
RH
104882002-03-01 Richard Henderson <rth@redhat.com>
10489
10490 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
10491 adjust argument_pointer by pretend_args_size.
10492 (ia64_va_start): Adjust va_start address by -pretend_args_size.
10493
fbf0fe41
KH
104942002-03-01 Kazu Hirata <kazu@hxi.com>
10495
10496 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
10497
0010687d
JH
10498Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
10499
10500 * toplev.c (rest_of_compilation): Delete dead jumptables before
10501 loop.
10502 * flow.c (delete_dead_jumptables): Make global.
10503 * rtl.h (delete_dead_jumptables): Declare.
10504
9429c84c
DE
105052002-03-01 David Edelsohn <edelsohn@gnu.org>
10506
10507 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
10508 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 10509 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 10510
f0b6f9a6
KH
105112002-03-01 Kazu Hirata <kazu@hxi.com>
10512
10513 * config/h8300/h8300-protos.h: Fix formatting.
10514 * config/h8300/h8300.c: Likewise.
10515 * config/h8300/h8300.h: Likewise.
10516
bc8db8a1
KH
105172002-03-01 Kazu Hirata <kazu@hxi.com>
10518
10519 * config/h8300/h8300.c (print_operand): Support 16-bit
10520 constant addresses.
10521 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
10522
32b069d3
RH
105232002-02-28 Richard Henderson <rth@redhat.com>
10524
10525 * expmed.c (store_bit_field): Prevent generation of CONCATs;
10526 pun complex values as integers; use gen_lowpart instead of
10527 gen_rtx_SUBREG.
10528 (extract_bit_field): Likewise.
10529
79c4e63f
AM
105302002-03-01 Alan Modra <amodra@bigpond.net.au>
10531 David Edelsohn <edelsohn@gnu.org>
10532
10533 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
10534 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
10535 (SUPPORTS_WEAK): Likewise.
10536 * output.h (add_weak): Add tree param.
10537 * varasm.c (add_weak): Likewise. Save decl.
10538 (struct weak_syms): Add decl field.
10539 (mark_weak_decls): New function.
10540 (init_varasm_once): ggc_add_root mark_weak_decls.
10541 (assemble_start_function): Use ASM_WEAKEN_DECL.
10542 (assemble_variable): Likewise.
10543 (assemble_alias): Likewise.
10544 (declare_weak): Pass decl to add_weak.
10545 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
10546 (remove_from_pending_weak_list): Declare and define for
10547 ASM_WEAKEN_DECL.
10548 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
10549 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
10550 * defaults.h (SUPPORTS_WEAK): Likewise.
10551 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
10552 .weak for code sym. Do emit .size for descriptor sym.
10553 (ASM_DECLARE_FUNCTION_SIZE): Define.
10554 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
10555 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
10556 .lglobl unless TARGET_XCOFF. Formatting fixes.
10557 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
10558 .weak for code sym.
10559 (HANDLE_PRAGMA_WEAK): Remove.
10560 (ASM_WEAKEN_LABEL): Remove.
10561 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
10562
6f30f1f1
JM
105632002-03-01 Jason Merrill <jason@redhat.com>
10564
10565 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
10566 (TARGET_EXPR_CLEANUP): New macro.
10567
7879b81e
SE
105682002-02-28 Steve Ellcey <sje@cup.hp.com>
10569
10570 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
10571 to take ptr_extend into account as third type of extension.
10572 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
10573 fields used by SUBREG_PROMOTED_UNSIGNED_P.
10574 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
10575 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
10576 * calls.c (precompute_arguments): Use new macro.
10577 (expand_call): Ditto.
10578 * combine.c (nonzero_bits): Ditto.
10579 (record_promoted_value): Ditto.
10580 * expr.c (store_expr): Ditto.
10581 (expand_expr): Ditto.
10582 * function.c (assign_parms): Ditto.
10583
42d579d8
AO
105842002-02-28 Alexandre Oliva <aoliva@redhat.com>
10585
10586 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
10587 override -shared and -shared-libgcc.
10588
e0054185
DB
105892002-02-28 David O'Brien <obrien@FreeBSD.org>
10590
10591 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
10592 of "ultrasparc".
10593 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
10594 to be broken.
10595
abda4f1c
RH
105962002-02-28 Richard Henderson <rth@redhat.com>
10597
10598 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
10599 4 cycle latency from MM producers.
10600 (ia64_internal_sched_reorder): Likewise with pipeline flush.
10601
c0f08649
JJ
106022002-02-28 Jakub Jelinek <jakub@redhat.com>
10603
10604 * mklibgcc.in: Don't use GNU make extension.
10605
f79f2651
NB
106062002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
10607
10608 * c-parse.in (STATIC): New terminal.
10609 (scspec): New non-terminal. Update productions accordingly.
10610 (program): Remove bogus ifc / end ifc.
10611 (array_declarator): Simplify production using STATIC.
10612
001e3fee
JM
106132002-02-28 Jim Meyering <meyering@lucent.com>
10614
10615 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
10616 \a still means TARGET_BELL.
10617
89076bb3
RH
106182002-02-28 Richard Henderson <rth@redhat.com>
10619
10620 * haifa-sched.c (sched_emit_insn): New.
10621 (schedule_block): Use last_scheduled_insn to track last insn.
10622 * sched-int.h (sched_emit_insn): Prototype.
10623 * config/ia64/ia64.c (last_issued): Remove.
10624 (ia64_variable_issue): Don't set it.
10625 (nop_cycles_until): Use sched_emit_insn.
10626
e3aaacf4
AM
106272002-02-28 Andrew MacLeod <amacleod@redhat.com>
10628
10629 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
10630 extended constants.
10631
7f473594
KH
106322002-02-28 Kazu Hirata <kazu@hxi.com>
10633
10634 * config/h8300/h8300.c: Fix formatting.
10635 * config/h8300/h8300.h: Likewise.
10636
b96c434c
MM
106372002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
10638
10639 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
10640 which may overwrite the high byte of the frame pointer.
10641
9b420a6a
BT
106422002-02-28 Bo Thorsen <bo@suse.de>
10643
10644 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
10645 (STARTFILE_SPEC): Add 64 bit files.
10646 (ENDFILE_SPEC): Likewise.
10647
6f30f1f1 106482002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
10649
10650 * c-decl.c (finish_function): Only warn about missing return
10651 statement with -Wreturn-type.
10652
70da1d03
JH
10653Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
10654
10655 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
10656
10657 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
10658 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
10659
38c1593d
JH
10660Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
10661
10662 * basic-block.h (BB_REACHABLE): Renumber.
10663 (BB_DIRTY, BB_NEW): New flags.
10664 (clear_bb_flags): Declare.
10665 (update_life_info_in_dirty_blocks): Declare.
10666 * cfg.c (clear_bb_flags): New function.
10667 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
10668 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
10669 reorder_insns, emit_insn_after): Mark block as dirty.
10670 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
10671 (update_life_info_in_dirty_blocks): New function.
10672 * recog.c (apply_change_group): Dirtify block.
10673
10674 * cse.c (cse_insn): Reorder emitting of jump insn to keep
10675 cfg consistent.
10676 * gcse.c (delete_null_pointer_checks): Likewise.
10677
10678 * toplev.c (dump_file_index): Move cse2 after bp,
10679 add DFI_null
10680 (dump_file_info): Similary.
10681 (rest_of_compilation): Avoid most of CFG rebuilds;
10682 do first if converision after null pointer checks, do cse2
10683 after branch prediction; avoid full liveness rebuild after
10684 initializing subregs.
10685 * invoke.texi (-d options): Document -du, renumber.
10686
10687 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
10688 (notice_new_block): Do not set BB_UPDATE_LIFE.
10689 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
10690 merge_blocks_move_successor_nojumps, merge_blocks,
10691 try_crossjump_to_edge): Likewise.
10692 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
10693 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
10694 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
10695 (merge_of_block): Do not use life_data_ok.
10696 (find_if_case_1): Do not use SET_UPDATE_LIFE.
10697 (if_convert): Use BB_DIRTY mechanizm to update life.
10698 * lcm.c (optimize_mode_switching): Update
10699 update_life_info_in_dirty_blocks
10700
63e1b1c4
NB
107012002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
10702
10703 * Makefile.in (integrate.o): Update.
10704 * c-decl.c (copy_lang_decl): Rename.
10705 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
10706 * integrate.c: Include langhooks.h.
10707 (copy_decl_for_inlining): Update to use langhook.
10708 * langhooks-def.h (lhd_do_nothing_t,
10709 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
10710 (LANG_HOOKS_INITIALIZER): Update.
10711 * langhooks.c (lhd_do_nothing_t): New.
10712 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
10713 * tree.h (copy_lang_decl): Remove.
10714objc:
10715 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
10716
f472fa29
AM
107172002-02-27 Andrew MacLeod <amacleod@redhat.com>
10718
ba31d94e 10719 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
10720 POST_DEC, and POST_MODIFY.
10721
273cf2e4
ZW
107222002-02-27 Zack Weinberg <zack@codesourcery.com>
10723
10724 * c-typeck.c (digest_init): Remove unused parameter; all
10725 callers changed.
10726
4e07d762
GK
107272002-02-27 Geoffrey Keating <geoffk@redhat.com>
10728
10729 * expmed.c (expand_shift): Correctly test for low part of a
10730 subreg.
10731
6bc627b3
UW
107322002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
10733
10734 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
10735 insn UIDs with insn addresses.
10736
f458d1d5
ZW
107372002-02-27 Zack Weinberg <zack@codesourcery.com>
10738
10739 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
10740 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
10741 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
10742 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
10743 gcc.c, toplev.c: Delete code implementing -traditional mode.
10744
10745 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
10746 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
10747 Document removal of -traditional mode for compilation, and
10748 remove documentation only relevant to that mode.
10749
10750 * config/nextstep.h, config/ptx4.h, config/svr4.h,
10751 config/convex/convex.h, config/d30v/d30v.h,
10752 config/i386/dgux.h, config/i386/osf1elf.h,
10753 config/i386/osfelf.h, config/i386/osfrose.h,
10754 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
10755 config/m68k/hp310.h, config/m88k/dgux.h,
10756 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
10757 config/m88k/m88k.h, config/m88k/openbsd.h,
10758 config/mips/abi64.h, config/mips/osfrose.h,
10759 config/mips/svr4-5.h, config/mips/svr4-t.h,
10760 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
10761 config/stormy16/stormy16.h: Remove all references to
10762 -traditional from target specs. Delete all mention of the
10763 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
10764 delete a couple of commented-out definitions of
10765 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
10766 to -traditional.
10767
10768 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
10769 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
10770
e0b3a8ff
ZW
107712002-02-27 Zack Weinberg <zack@codesourcery.com>
10772
10773 * mklibgcc.in: Don't use \n in a line subject to
10774 interpretation by echo.
10775
5c6a85b7
GS
107762002-02-27 Graham Stott <grahams@redhat.com>
10777
72b05af1
GS
10778 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
10779 Constify NAME.
10780
7d104885
GS
10781 * loop.c (prescan_loop): Handle PARALLEL.
10782
8ed805d2
GS
10783 * unroll.c (loop_iterations): Return 0 if the add_val for
10784 a BIV is REG.
10785
fd478a0a
GS
10786 * final.c (output_operand_lossage): Constify PFX_STR.
10787
5c6a85b7
GS
10788 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
10789
cd98ad03
JH
10790Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
10791
10792 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
10793 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
10794
639ae55b
JH
10795Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
10796
10797 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
10798
e808ec9c
NB
107992002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
10800
10801 * cpplex.c (_cpp_lex_token): Handle directives in macro
10802 arguments.
10803 * cpplib.c (_cpp_handle_directive): Save and restore state
10804 if parsing macro args when entering a directive.
10805 * cppmacro.c (collect_args): No need to handle directives
10806 in macro arguments.
10807 (enter_macro_context, replace_args): Use the original macro
10808 definition in case it was redefined whilst collecting arguments.
10809doc:
10810 * cpp.texi: Update.
10811
f585a356
DE
108122002-02-26 David Edelsohn <edelsohn@gnu.org>
10813
10814 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
10815 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
10816 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
10817 method on AIX.
10818 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
10819 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
10820 (load_toc_v4_PIC_2): Same.
10821
108222002-02-26 Alan Modra <amodra@bigpond.net.au>
10823
10824 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
10825
d699058e
RH
108262002-02-26 Richard Henderson <rth@redhat.com>
10827
10828 * config/alpha/alpha.md (ashldi_se): Re-enable.
10829
eadccfbb
RH
108302002-02-26 Richard Henderson <rth@redhat.com>
10831
10832 * config/alpha/alpha.c (alpha_encode_section_info): Examine
10833 MODULE_LOCAL_P; improve commentary.
10834
7080ada1
ZW
108352002-02-26 Zack Weinberg <zack@codesourcery.com>
10836
10837 * doc/cpp.texi: Clarify documentation of relationship between
10838 #line and #include.
10839
b42cff6b
KH
108402002-02-26 Kazu Hirata <kazu@hxi.com>
10841
10842 * config/h8300/h8300-protos.h: Update the prototype for
10843 compute_logical_op_length. Add the prototype for
10844 compute_logical_op_cc.
10845 * config/h8300/h8300.c (compute_logical_op_length): Figure out
10846 code from operands.
10847 (compute_logical_op_cc): New.
10848 * config/h8300/h8300.md: Combine all the logical op patterns
10849 in HImode and SImode. Use compute_logical_op_cc.
10850
831c4e87
KC
108512002-02-26 Kelley Cook <kelleycook@comcast.net>
10852
10853 * config/i386/i386.c (print_operand): Don't append ATT-style
10854 length suffixs to x87 opcodes when in Intel mode.
10855
ff88fe10
RS
108562002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
10857
10858 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
10859 (init_emit_once): Update calls.
10860 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
10861 (init_syntax_once): Prototype.
10862
d4108589
JDA
108632002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
10864
10865 * pa-linux.h (LIB_SPEC): Update definition.
10866 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
10867
e013f3c7
RH
108682002-02-26 Richard Henderson <rth@redhat.com>
10869
10870 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
10871 if we emitted a stop bit.
10872
9e944a16
JJ
108732002-02-26 Jakub Jelinek <jakub@redhat.com>
10874
10875 * configure.in (libgcc_visibility): Substitute.
10876 * configure: Rebuilt.
10877 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
10878 defined symbols .hidden.
10879
47bd70b5
JJ
108802002-02-26 Jakub Jelinek <jakub@redhat.com>
10881
10882 * attribs.c (c_common_attribute_table): Add visibility.
10883 (handle_visibility_attribute): New function.
10884 * varasm.c (assemble_visibility): New function.
10885 * output.h (assemble_visibility): Add prototype.
10886 * tree.h (MODULE_LOCAL_P): Define.
10887 * crtstuff.c (__dso_handle): Use visibility attribute.
10888 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
10889 for MODULE_LOCAL_P symbols too.
10890 * config/ia64/ia64.c (ia64_encode_section_info): Handle
10891 MODULE_LOCAL_P symbols the same way as local symbols.
10892 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
10893 into .sdata/.sbss by the user.
10894 * doc/extend.texi (Function Attributes): Document visibility
10895 attribute.
10896
6d73371a
JJ
108972002-02-26 Jakub Jelinek <jakub@redhat.com>
10898
10899 PR debug/5770
10900 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
10901 STRING_CST initializer spanning the whole variable without
10902 embedded zeros.
10903 If expand_expr returned MEM, don't use it.
10904
06e224f7
AO
109052002-02-26 Alexandre Oliva <aoliva@redhat.com>
10906
10907 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
10908 generate a die for the lexical block.
10909
40367e2d
KH
109102002-02-26 Kazu Hirata <kazu@hxi.com>
10911
10912 * config/h8300/h8300-protos.h: Add a prototype for
10913 compute_logical_op_length.
10914 * config/h8300/h8300.c (compute_logical_op_length): New.
10915 * config/h8300/h8300.md (anonymous logical patterns): Use
10916 compute_logical_op_length for length.
10917
0e98f924
AH
109182002-02-26 Aldy Hernandez <aldyh@redhat.com>
10919
831c4e87
KC
10920 * dwarf2out.c (modified_type_die): Do not call type_main_variant
10921 for vectors.
10922 (gen_type_die): Same.
0e98f924 10923
831c4e87 10924 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 10925
a50cfd52
DE
109262002-02-26 Daniel Egger <degger@fhm.edu>
10927
831c4e87
KC
10928 * config/rs6000/rs6000.md: Swap define_insn attributes to
10929 fix incorrect generation of merge high instructions instead
10930 of merge low.
a50cfd52 10931
b7997284
AH
109322002-02-26 Aldy Hernandez <aldyh@redhat.com>
10933
831c4e87
KC
10934 * c-typeck.c (really_start_incremental_init): Use
10935 bitsize_zero_node for vectors.
b7997284 10936
376aec5d
AH
109372002-02-26 Aldy Hernandez <aldyh@redhat.com>
10938
831c4e87
KC
10939 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
10940 ("*set_vrsave_internal"): Same.
376aec5d 10941
3b40e71b
RH
109422002-02-25 Richard Henderson <rth@redhat.com>
10943
10944 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
10945 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
10946
232b8f52
JJ
109472002-02-25 Jakub Jelinek <jakub@redhat.com>
10948
10949 PR target/5755
10950 * config/i386/i386.c (ix86_return_pops_args): Only pop
10951 fake structure return argument if it was passed on the stack.
10952
67282790
JM
109532002-02-25 Jason Merrill <jason@redhat.com>
10954
10955 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
10956 RESULT_DECL.
10957
5c181756
AO
109582002-02-25 Alexandre Oliva <aoliva@redhat.com>
10959
10960 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
10961 link with shared_name only.
10962 * doc/invoke.texi (Link Options): Document new behavior.
10963
6786d201
AH
109642002-02-25 Aldy Hernandez <aldyh@redhat.com>
10965
831c4e87 10966 * c-typeck.c (push_init_level): Handle vectors.
6786d201 10967
7d6040e8
AO
109682002-02-25 Alexandre Oliva <aoliva@redhat.com>
10969
10970 * config/sparc/sparc.c (const64_high_operand): Zero-extend
10971 operands of SPARC_SETHI_P.
10972 (input_operand): Likewise.
10973 (sparc_emit_set_const32): Likewise.
10974 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
10975 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
10976 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
10977 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
10978 (movdi_insn_sp64_vis): Likewise.
10979 (movdi split, movdf split): Use SETHI32.
10980 * doc/md.texi: Document SPARC constraints L, M and N.
10981
b188f760
AH
109822002-02-25 Aldy Hernandez <aldyh@redhat.com>
10983
831c4e87
KC
10984 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
10985 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 10986
831c4e87
KC
10987 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
10988 gen_get_vrsave_internal.
b188f760 10989
8041889f
RK
10990Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10991
10992 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
10993
a47ed310
NB
109942002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
10995
10996 * cpplex.c (cpp_interpret_charconst): Get signedness or
10997 otherwise of wide character constants correct.
10998 * cppexp.c (lex): Get signedness of wide charconsts correct.
10999
cb8f73be
RK
11000Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11001
11002 * optabs.c (widen_operand): Only call convert_modes for
11003 promoted SUBREG if signedness matches.
11004 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
11005
2450e0b8
NB
110062002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
11007
11008 * cpplib.c (glue_header_name): Use local buffer to build up
11009 header name.
11010
70b6aaed
NB
110112002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
11012
11013 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
11014
6be580c7
KH
110152002-02-23 Kazu Hirata <kazu@hxi.com>
11016
11017 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
11018 H8/300[HS] separately.
11019 * config/h8300/h8300.md: Remove the early clobber constraint
11020 from bit field patterns.
11021
35dad9f1
KH
110222002-02-23 Kazu Hirata <kazu@hxi.com>
11023
11024 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
11025 register_operand.
11026 (mulhisi3): Likewise.
11027 (umulqisi3): Likewise.
11028 (umulhisi3): Likewise.
11029
ab8e2228
NB
110302002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
11031
11032 * cppinit.c (output_deps): Correct test for stdout output.
11033 (init_dependency_output): Cure warning.
11034
ac6f8a15
RK
11035Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11036
11037 * expr.c (store_expr): When converting expression to promoted
11038 equivalent type, allow using SUBREG_REG of TARGET as the target
11039 of the expansion of EXP.
11040 * loop.c (basic_induction_var, case SUBREG): Always look inside.
11041 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
11042 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
11043 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
11044 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
11045
f282ffb3
JM
110462002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
11047
11048 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
11049 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
11050 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
11051
44c5edc0
JJ
110522002-02-23 Jakub Jelinek <jakub@redhat.com>
11053
11054 PR optimization/5747
11055 * loop.c (scan_loop): Update reg info if move_movables created new
11056 pseudos.
11057
f98e43c0
DE
110582002-02-23 David Edelsohn <edelsohn@gnu.org>
11059
11060 * gcc.c (init_gcc_spec): Revert last change.
11061
e72247f4
DE
110622002-02-23 David Edelsohn <edelsohn@gnu.org>
11063
11064 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
11065 gpc_reg_operand constraint.
11066
110672002-02-23 Alan Modra <amodra@bigpond.net.au>
11068
11069 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
11070 Simplify comparison of `low'.
11071 (add_operand): Fix formatting.
11072 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 11073 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
11074 (rs6000_stack_info): Remove redundant test setting push_p.
11075 (output_toc): Fix formatting.
11076 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
11077 cc_reg_not_cr0_operand constraint.
11078 (booldi3, boolcdi3 splitters): Same.
11079
a5c30531
AH
110802002-02-23 Aldy Hernandez <aldyh@redhat.com>
11081
831c4e87 11082 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 11083
43710f9f
DE
110842002-02-22 David Edelsohn <edelsohn@gnu.org>
11085
11086 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
11087 gcc invoked with -shared-libgcc.
11088
3256b817
JJ
110892002-02-22 Jakub Jelinek <jakub@redhat.com>
11090
11091 PR c++/5748
11092 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
11093 decl if any of elements was TREE_USED.
11094
9e0625a3
AO
110952002-02-22 Alexandre Oliva <aoliva@redhat.com>
11096
11097 * config/sparc/sol2.h: Don't include sys/mman.h.
11098 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
11099 (arith_4096_operand): Don't throw high bits away.
11100 (const64_operand): Take sign extension of CONST_INTs into account.
11101 (const64_high_operand, sparc_emit_set_const32): Likewise.
11102 (GEN_HIGHINT64): Likewise.
11103 (sparc_emit_set_const64_quick1): Likewise.
11104 (const64_is_2insns): Likewise.
11105 (print_operand): Use trunc_int_for_mode for sign extension.
11106 * config/sparc/sparc.h (SMALL_INT32): Likewise.
11107 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
11108 chars. Assume CONST_INT is already properly sign-extended.
11109 (movdi split): Sign-extend each SImode part.
11110 (andsi3 split): Don't mask high bits off, so that result
11111 remains properly sign-extend.
11112 (iorsi3 split): Likewise.
11113 (xorsi3 split): Likewise.
11114
54fec3d5
RS
111152002-02-22 Richard Sandiford <rsandifo@redhat.com>
11116
11117 * fold-const.c (fold): Fix typo in comments.
11118
667ada9b
DN
111192002-02-21 Diego Novillo <dnovillo@redhat.com>
11120
11121 * Makefile.in (langhooks.o): Update dependencies.
11122
29ac78d5
DN
111232002-02-21 Diego Novillo <dnovillo@redhat.com>
11124
11125 * langhooks.c: Include flags.h.
11126
6aa77e6c
AH
111272002-02-21 Aldy Hernandez <aldyh@redhat.com>
11128
11129 * testsuite/gcc.dg/attr-alwaysinline.c: New.
11130
11131 * c-common.c (c_common_post_options): Set inline trees by
11132 default.
11133
11134 * doc/extend.texi (Function Attributes): Document always_inline
11135 attribute.
11136 Update documentation about inlining when not optimizing.
11137
11138 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
11139
11140 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
11141 unless DECL_ALWAYS_INLINE.
11142
11143 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
11144 unless DECL_ALWAYS_INLINE.
11145 (c_disregard_inline_limits): Disregard if always_inline set.
11146
11147 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
11148 Disregard if always_inline set.
11149 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
11150 unless DECL_ALWAYS_INLINE.
11151
11152 * attribs.c (handle_always_inline_attribute): New.
11153 (c_common_attribute_table): Add always_inline.
11154
11155 * config/rs6000/altivec.h: Add prototypes for builtins
11156 requiring the always_inline attribute.
11157
c410d49e
EC
111582002-02-21 Eric Christopher <echristo@redhat.com>
11159
11160 * expmed.c (store_bit_field): Try to simplify the subreg
11161 before generating a new one when when the mode size of
11162 value is less than maxmode.
11163
e3c8ea67
RH
111642002-02-21 Richard Henderson <rth@redhat.com>
11165
11166 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
11167 than gen_rtx_PLUS to form the sum.
11168 * explow.c (force_reg): Rearrange to not allocate new pseudo
11169 when force_operand returns a register.
11170 * expr.c (expand_assignment): Allow offset_rtx expansion to
11171 return a sum. Do not force addresses into registers.
11172 (expand_expr): Likewise.
11173 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
11174 to canonicalize arithmetic that didn't simpify.
11175 (simplify_plus_minus): New argument force; update
11176 all callers. Don't split CONST unless we can do something with it,
11177 and wouldn't lose the constness of the operands.
11178
11179 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
11180 that we generated earlier.
11181
c1a046e5
TT
111822002-02-21 Tom Tromey <tromey@redhat.com>
11183
11184 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
11185 (output_line_info): Use constant `1', with a long explanatory
11186 comment.
11187 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
11188
31fbaad4
R
11189Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
11190
11191 * jump.c (redirect_jump): If old label has no UID, don't try to
11192 delete it.
11193
a7f52356
R
11194Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
11195
11196 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
11197 If input is constant, do shifts at compile time.
11198
924fcc4e
JM
111992002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
11200
11201 * doc/extend.texi: Fix some more overfull hboxes.
11202
e5a20888
JJ
112032002-02-21 Jakub Jelinek <jakub@redhat.com>
11204
11205 PR optimization/4994
11206 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
11207 register moves.
11208
112092002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
11210
11211 PR c++/4574
11212 * expr.h (expand_and): Add mode argument.
11213 * expmed.c (expand_and): Add mode argument.
11214 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
11215 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
11216 * except.c (expand_builtin_extract_return_addr): Likewise.
11217 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
11218 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
11219 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
11220 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
11221 * config/c4x/c4x.md: Use GEN_INT (x) instead of
11222 gen_rtx (CONST_INT, VOIDmode, x).
11223
7133e992
JJ
112242002-02-21 Jakub Jelinek <jakub@redhat.com>
11225
11226 PR c/4697:
11227 * stmt.c (warn_if_unused_value): Move side effects test once more.
11228
e2ec05a6
TG
112292002-02-20 Torbjorn Granlund <tege@swox.com>
11230
11231 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 11232 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 11233
9dd791c8
AO
11234Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
11235
11236 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
11237 SUBREG or ZERO_EXTEND.
11238
7ab56274
R
11239Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
11240
11241 * sh.h (current_function_anonymous_args): Remove.
11242 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
11243 of current_function_varargs and current_function_stdarg is set.
11244 * sh.c (sh_expand_prologue): Check current_function_varargs /
11245 current_function_stdarg / TARGET_SH5 instead of
11246 current_function_anonymous_args.
11247
11248 * sh64.h (TARGET_VERSION): Define.
11249
b1765bde
DE
112502002-02-20 David Edelsohn <edelsohn@gnu.org>
11251
11252 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
11253 VRSAVE_REGNO on TARGET_ALTIVEC.
11254
112552002-02-20 Alan Modra <amodra@bigpond.net.au>
11256
11257 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
11258 bits of SImode const_int.
11259 (includes_rshift_p): Likewise.
11260 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 11261 mode.
b1765bde
DE
11262 (rs6000_output_function_epilogue): Pad traceback table to word.
11263 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
11264 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
11265 mask64_operand with correct mode.
b1765bde
DE
11266 (FUNCTION_ARG_REGNO_P): Correct parentheses.
11267
149d6f9e
JJ
112682002-02-20 Jakub Jelinek <jakub@redhat.com>
11269
11270 PR debug/4461
11271 * varasm.c (get_pool_constant_mark): New.
11272 * rtl.h (get_pool_constant_mark): Add prototype.
11273 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
11274 be represented if it has not been output.
11275
4161da12
AO
112762002-02-20 Alexandre Oliva <aoliva@redhat.com>
11277
11278 * combine.c (do_SUBST): Sanity check substitutions of
11279 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
11280 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
11281 CONST_INT into its operand.
11282 (known_cond): Likewise, for ZERO_EXTEND.
11283 * simplify-rtx.c (simplify_unary_operation): Fix condition to
11284 allow for simplification of wide modes. Reject CONST_INTs in
11285 ZERO_EXTEND when their actual mode is not given.
11286
3704ef74
AO
112872002-02-20 Alexandre Oliva <aoliva@redhat.com>
11288
11289 * c-decl.c (pushdecl): If no global declaration is found for an
11290 extern declaration in block scope, try a limbo one.
11291
7552da58
JJ
112922002-02-20 Jakub Jelinek <jakub@redhat.com>
11293
11294 PR c++/4401
11295 * c-common.c (pointer_int_sum): Moved from...
11296 * c-typeck.c (pointer_int_sum): ...here.
11297 * c-common.h (pointer_int_sum): Add prototype.
11298
00fae85d
JJ
112992002-02-20 Jakub Jelinek <jakub@redhat.com>
11300
11301 PR c++/5713
11302 * c-decl.c (duplicate_decls): Return 0 if issued error about
11303 redeclaration.
11304
4636c87e
JJ
113052002-02-20 Roger Sayle <roger@eyesopen.com>
11306 Jakub Jelinek <jakub@redhat.com>
11307
11308 PR c/4389
11309 * tree.c (host_integerp): Ensure that the constant integer is
11310 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
11311 when pos is zero or non-zero respectively. Clarify comment.
11312 * c-format.c (check_format_info_recurse): Fix host_integerp
11313 usage; the pos argument should be zero when assigning to a
11314 signed HOST_WIDE_INT.
11315
59bef189
RH
113162002-02-20 Richard Henderson <rth@redhat.com>
11317
11318 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
11319 of the operand, rather than assuming TImode.
11320 (ix86_expand_binop_builtin): Cope with commutative patterns
11321 using nonimmediate_operand for both operands.
11322 (ix86_expand_timode_binop_builtin): Likewise.
11323 (ix86_expand_store_builtin): Validate operand 1.
11324 (ix86_expand_unop1_builtin): Likewise.
11325
9338ffe6 113262002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 11327
9338ffe6
PB
11328 PR 5705
11329 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
11330
f322b423
RH
113312002-02-20 Richard Henderson <rth@redhat.com>
11332
11333 PR c/5615
11334 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
11335
d94084f7
TT
113362002-02-20 Tom Tromey <tromey@redhat.com>
11337
11338 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
11339 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
11340 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
11341 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
11342 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
11343 unconditionally.
11344
37fa124a
AM
11345Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
11346
11347 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
11348 for (const_int 0) in X not just INTVAL.
11349
6e5bb5ad
JM
113502002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
11351
11352 * doc/extend.texi: Avoid or reduce overfull hboxes.
11353
420e7dfa
DN
113542002-02-20 Diego Novillo <dnovillo@redhat.com>
11355
11356 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
11357 operations if the field does not start at a mode boundary.
11358
1b7a2af6
JS
113592001-02-20 Joel Sherrill <joel@OARcorp.com>
11360
11361 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
11362 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
11363 Also done for -Acpu and -Amachine.
11364
56cd5b95
NB
113652002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
11366
11367 * cppinit.c (init_dependency_output): Take deps output file
11368 from -o if none given with -MF. Suppress normal output.
c410d49e 11369 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
11370 * doc/cpp.texi, doc/invoke.texi: Update.
11371
042cdf71
ZW
113722002-02-19 Zack Weinberg <zack@codesourcery.com>
11373
11374 * toplev.c (output_quoted_string): Write unprintable
11375 characters with octal escapes.
11376
c1f11548
DE
113772002-02-19 David Edelsohn <edelsohn@gnu.org>
11378
11379 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
11380 really_call_used[VRSAVE_REGNO] if not Altivec.
11381
113822002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 11383
c1f11548
DE
11384 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
11385 MODE_MASK.
11386 (constant_pool_expr_1): Fix formatting.
11387 (rs6000_legitimize_reload_address): Likewise.
11388
c964d90e
RK
11389Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11390
11391 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
11392 now that we have one.
11393
ae34ac46
ZW
113942002-02-19 Zack Weinberg <zack@codesourcery.com>
11395
11396 * tree.h (struct tree_common): Remove aux. Add unused_0 at
11397 end of first block of bitfields (which was only seven bits);
11398 rename dummy to unused_1; remove comment which is no longer true.
11399
293c28ee
GS
114002002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
11401
11402 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
11403
7b8781c8
PB
114042002-02-19 Philip Blundell <pb@nexus.co.uk>
11405
0cb6c58d 11406 PR 5399
7b8781c8
PB
11407 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
11408 if generating PIC.
11409
11410 PR 5054
11411 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
11412 arm_is_longcall_p rather than inspecting call-type cookie
11413 directly.
11414 (call_value_insn) [TARGET_THUMB]: Likewise.
11415
5c464583
GS
114162002-02-19 Graham Stott <grahams@redhat.com>
11417
11418 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
11419
71c061e6
DE
114202002-02-19 David Edelsohn <edelsohn@gnu.org>
11421
11422 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
11423 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 11424 (FP_SAVE_INLINE): Delete.
71c061e6
DE
11425
11426 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
11427 * config/rs6000/eabi.asm: Remove ABI save restore routines.
11428 * config/rs6000/t-ppccomm: Build crtsavres.o.
11429 * config/rs6000/crtsavres.asm: New file.
11430
3a7731fd
PB
114312002-02-19 Philip Blundell <philb@gnu.org>
11432
11433 * config/arm/arm.c (use_return_insn): Don't reject interrupt
11434 functions.
11435 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
11436 (output_return_instruction): Allow interrupt functions to return with
11437 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
11438 (arm_expand_prologue): Subtract 4 before stacking LR in an
11439 interrupt function.
11440
14f583b8
PB
114412002-02-19 Philip Blundell <pb@nexus.co.uk>
11442
11443 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
11444 decl, not just FUNCTION_DECL.
11445 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
11446 (arm_assemble_integer): Likewise.
11447 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
11448 marked local.
c410d49e 11449
4cb7482c
MG
114502002-02-19 matthew green <mrg@eterna.com.au>
11451
11452 * config.gcc (sparc-*-netbsdelf*): Enable target.
11453 (sparc64-*-netbsd*): New target.
11454 * config/sparc/netbsd-elf.h: New file.
11455 * config/sparc/t-netbsd64: New file.
11456
2df3a718
GS
114572002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
11458
11459 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
11460
77f6c1eb
RS
114612002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
11462
11463 * doc/invoke.texi: explicitly list the style guidelines that
11464 -Weffc++ checks for.
11465
fd973d56
JH
11466Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
11467
11468 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
11469
30518e45
NB
114702002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
11471
11472 PR other/5718
11473 * gcc.c (cpp_unique_options): Treat -o as indicating object file
11474 only if not -E. If -E, pass -o through to the preprocessor.
11475
39ea5704
KH
114762002-02-19 Kazu Hirata <kazu@hxi.com>
11477
11478 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
11479 register number with an appropriate macro.
11480
7355dba7
BM
114812002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
11482
11483 * doc/rtl.texi (Constants): Close @code tag.
11484
91c8aa9e
AH
114852002-02-19 Aldy Hernandez <aldyh@redhat.com>
11486
11487 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
11488 ("mmx_uavgv4hi3"): Same.
11489 ("pmulhrwv4hi3"): Same.
11490
11491 * tree-inline.c (walk_tree): Handle vectors.
11492
11493 * c-common.c (constant_expression_warning): Handle vectors.
11494 (overflow_warning): Same.
11495
11496 * sched-deps.c (sched_analyze_2): Handle vectors.
11497
11498 * rtlanal.c (rtx_unstable_p): Handle vectors.
11499 (rtx_varies_p): Same.
11500 (count_occurrences): Same.
11501 (regs_set_between_p): Same.
11502 (modified_between_p): Same.
11503 (modified_in_p): Same.
11504 (volatile_insn_p): Same.
11505 (volatile_refs_p): Same.
11506 (side_effects_p): Same.
11507 (may_trap_p): Same.
11508 (inequality_comparisons_p): Same.
11509 (replace_regs): Same.
11510 (computed_jump_p_1): Same.
11511
11512 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
11513 argument.
11514 (inner_mode_array): New.
11515 (copy_rtx): Handle vectors.
11516 (copy_most_rtx): Same.
11517 (rtx_equal_p): Same.
11518 (get_mode_alignment): Adjust for vectors.
11519
11520 * resource.c (mark_referenced_resources): Handle vectors.
11521 (mark_set_resources): Same.
11522
11523 * reload1.c (eliminate_regs): Handle vectors.
11524 (elimination_effects): Same.
11525 (scan_paradoxical_subregs): Same.
11526
11527 * reload.c (subst_reg_equivs): Handle vectors.
11528
11529 * regrename.c (scan_rtx): Handle vectors.
11530
11531 * regclass.c (reg_scan_mark_refs): Handle vectors.
11532
11533 * recog.c (find_single_use_1): Handle vectors.
11534
11535 * local-alloc.c (equiv_init_varies_p): Handle vectors.
11536 (contains_replace_regs): Same.
11537 (memref_referenced_p): Same.
11538
11539 * integrate.c (copy_rtx_and_substitute): Handle vectors.
11540 (subst_constants): Same.
11541
11542 * genattrtab.c (attr_copy_rtx): Handle vectors.
11543 (encode_units_mask): Same.
11544 (clear_struct_flag): Same.
11545 (count_sub_rtxs): Same.
11546
11547 * gcse.c (want_to_gcse_p): Handle vectors.
11548 (oprs_unchanged_p): Same.
11549 (hash_expr_1): Same.
11550 (oprs_not_set_p): Same.
11551 (expr_killed_p): Same.
11552 (compute_transp): Same.
11553 (store_ops_ok): Same.
11554
11555 * function.c (purge_addressof_1): Do not allow paradoxical subregs
11556 of vectors.
11557 (fixup_var_refs_1): Same.
11558 (instantiate_virtual_regs_1): Same.
11559
11560 * fold-const.c (operand_equal_p): Handle vectors.
11561 (fold): Same.
11562 (rtl_expr_nonnegative_p): Same.
11563
11564 * flow.c (mark_used_regs): Handle vectors.
11565
11566 * df.c (df_uses_record): Handle vectors.
11567
11568 * cselib.c (cselib_subst_to_values): Handle vectors.
11569 (cselib_mem_conflict_p): Same.
11570 (hash_rtx): Same.
11571
11572 * cse.c (canon_reg): Handle vectors.
11573 (fold_rt): Same.
11574 (cse_process_notes): Same.
11575 (count_reg_usage): Same.
11576 (canon_hash): Same.
11577
11578 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
11579
11580 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
11581
11582 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
11583 (gen_rtx): Handle CONST_VECTOR.
11584 (gen_const_vector_0): New.
11585 (copy_rtx_if_shared): CONST_VECTORs can be shared.
11586 (reset_used_flags): Same.
11587 (copy_insn_1): Same.
11588 (initializer_constant_valid_p): Handle VECTOR_CST.
11589
11590 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
11591
11592 * doc/rtl.texi (Constants): Document const_vector.
11593 (CONST0_RTX): Update for vectors.
11594 (RTL sharing): Same.
11595
11596 * print-tree.c (print_node): Add case for VECTOR_CST.
11597
11598 * tree.h (TREE_VECTOR_CST_ELTS): New.
11599 (struct tree_vector): New.
11600 (union tree_node): Add vector node.
11601 (build_vector): Add prototype.
11602
11603 * tree.def (VECTOR_CST): New.
11604
11605 * tree.c (build_vector): New.
11606
11607 * expmed.c (make_tree): Handle CONST_VECTOR.
11608
11609 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
11610 (CONST_VECTOR_ELT): New.
11611 (CONST_VECTOR_NUNITS): New.
11612
11613 * machmode.h (GET_MODE_INNER): New.
11614 (DEF_MACHMODE): Accept 8th arg.
11615
11616 * machmode.def: Add 8th argument for vector inner mode.
11617 Add inner vector modes for vectors.
11618
11619 * rtl.def (VEC_CONST): Remove.
11620 (CONST_VECTOR): New.
11621
11622 * expr.c (clear_storage): Allow vectors.
11623 (is_zeros_p): Handle VECTOR_CST.
11624
11625 * varasm.c (output_constant_pool): Handle vectors.
11626 (rtx_const): Add veclo and vechi fields.
11627 (kind): Add RTX_VECTOR.
11628 (decode_rtx_const): Add case for vector.
11629
11630 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 11631
91c8aa9e
AH
11632 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
11633 constants. Force easy vector constants into memory.
11634 (easy_vector_constant): New.
11635 (emit_easy_vector_constant): New.
11636 (rs6000_legitimize_reload_address): Do not generate bad reloads on
11637 darwin.
11638
11639 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
11640 instruction does.
11641 ("altivec_lvxl"): Same.
11642 (altivec_lvebx): Same.
11643 (altivec_lvehx): Same.
11644 (altivec_lvewx): Same.
11645 ("*movv4si_const0"): New.
11646 ("*movv4sf_const0"): New.
11647 ("*movv8hi_const0"): New.
11648 ("*movv16qi_const0"): New.
11649
d4d6d0ce
KH
116502002-02-18 Kazu Hirata <kazu@hxi.com>
11651
11652 * config/h8300/h8300.c (notice_update_cc): Use
11653 cc_status.value2.
11654
4915d3aa
KH
116552002-02-18 Kazu Hirata <kazu@hxi.com>
11656
11657 * config/h8300/h8300.md (divmod patterns): Change the
11658 constraints for operands[1] to register_operand.
11659
82be00ee
KH
116602002-02-18 Kazu Hirata <kazu@hxi.com>
11661
11662 * config/h8300/h8300-protos.h: Remove the prototype for
11663 p_operand.
11664 * config/h8300/h8300.c (p_operand): Remove.
11665 * config/h8300/h8300.md: Replace p_operand with
11666 const_int_operand.
11667
1768c26f
PB
116682002-02-18 Philip Blundell <pb@nexus.co.uk>
11669
11670 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
11671 comment.
11672 (output_return_instruction): Allow use of LDR to unstack
11673 return addresss even for interrupt handlers or when
11674 interworking. If compiling for ARMv5, use interworking-safe
11675 return instructions by default. Remove duplicated code and
11676 lengthy "strcat" sequences.
11677
ccd84f51
FS
116782002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11679
11680 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
11681 (LINK_EH_SPEC): Define.
11682 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
11683
2c153108
UW
116842002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
11685
11686 * config/s390/s390.c (s390_emit_prologue): Do not set the
11687 frame_related flag for call-clobbered registers.
11688
e95d6b23
JH
11689Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
11690
11691 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
11692 (construct_container): Fix handling of SSE operands.
11693 (ix86_expand_builtin): Fix handling of 64bit pointers.
11694 (mmx_maskmovq_rex): New pattern.
11695
c43a12b5
JH
11696Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
11697
11698 * regrename.c (kill_set_value): Handle subregs properly.
11699
aeb85a15
DB
117002002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
11701
11702 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 11703 from objc_class_name.
aeb85a15 11704
a615ca3e
RH
117052002-02-17 Richard Henderson <rth@redhat.com>
11706
11707 * config/alpha/alpha.c (some_small_symbolic_operand,
11708 some_small_symbolic_operand_1, split_small_symbolic_operand,
11709 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
11710 Handle small SYMBOL_REFs anywhere, not just inside memories.
11711 * config/alpha/alpha-protos.h: Update.
11712 * config/alpha/alpha.h (PREDICATE_CODES): Update.
11713 * config/alpha/alpha.md (small symbolic operand splitter): Update.
11714
ddb28441
RM
117152002-02-17 Roland McGrath <roland@frob.com>
11716
11717 * config.gcc (powerpc-*-gnu-gnualtivec*,
11718 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
11719 * config/rs6000/gnu.h: New file.
11720 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
11721 Grok "gnu" in rs6000_abi_name.
11722 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
11723 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
11724 Grok -mcall-gnu analogous to -mcall-linux et al.
11725 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
11726 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
11727 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
11728
f6f8ada3
JJ
117292002-02-17 Jakub Jelinek <jakub@redhat.com>
11730
11731 PR c/3444:
11732 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
11733 shortening.
11734
e16b32fc
PT
117352002-02-17 Philipp Thomas <pthomas@suse.de>
11736
11737 * config/cris/cris.h: Undefine STARTFILE_SPEC and
11738 ENDFILE_SPEC before (re)defining them.
11739
f9477efd
KH
117402002-02-17 Kazu Hirata <kazu@hxi.com>
11741
11742 * config/h8300/h8300.c: Fix formatting.
11743 * config/h8300/h8300.h: Likewise.
11744
404ae494
PT
117452002-02-17 Philipp Thomas <pthomas@suse.de>
11746
11747 * doc/tm.texi: Explain why empty strings should not be
11748 marked for translation.
11749
a52453cc
PT
117502002-02-17 Philipp Thomas <pthomas@suse.de>
11751
11752 * final.c (output_operand_lossage): Changed to accept
11753 printf style arguments. Change calls where necessary.
11754 * output.h (output_operand_lossage): Change declaration
11755 accordingly. Update copyright.
11756 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
11757 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
11758 Update copyright date where necessary.
c410d49e 11759
a52453cc
PT
11760 * config/i386/i386.c (print_operand): Likewise. Remove use of
11761 sprintf.
11762
11763 * config/cris/cris.c (cris_operand_lossage): Likewise.
11764 Rename parameter so that exgettext recognizes it as
11765 translatable message.
11766 (LOSE_AND_RETURN): Rename parameter to msgid.
11767
1c11abc4
KH
117682002-02-17 Kazu Hirata <kazu@hxi.com>
11769
11770 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
11771 hard coded register number with an appropriate macro.
11772 (HARD_REGNO_MODE_OK): Likewise.
11773 (ARG_POINTER_REGNUM): Likewise.
11774 (STATIC_CHAIN_REGNUM): Likewise.
11775 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
11776 * config/h8300/h8300.md (define_constants): Define more
11777 register numbers.
11778
a5d17ff3
PT
117792002-02-17 Philipp Thomas <pthomas@suse.de>
11780
11781 * config/i386/i386.h: Don't mark empty strings for translation.
11782
1a7289c4
L
117832002-02-16 H.J. Lu <hjl@gnu.org>
11784
11785 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
11786
afb58288
ZW
117872002-02-16 Zack Weinberg <zack@codesourcery.com>
11788
11789 * cppinit.c (merge_include_chains): Check for brack being
11790 NULL before attempting to merge it with qtail.
11791
d2af4dbd
AC
117922002-02-16 Andrew Cagney <ac131313@redhat.com>
11793
11794 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
11795 DBX_DEBUG.
11796
2e1ed1e3
JDA
117972002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
11798
11799 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
11800
604c75b2
JDA
118012002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
11802
11803 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
11804 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
11805 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
11806
1a42b072
RK
11807Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11808
7303604f 11809 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
11810 now only if !TARGET_FIX.
11811 (*movsi_nt_vms_fix): New pattern.
11812
c2ea1ac6
DR
118132002-02-16 Douglas B Rupp <rupp@gnat.com>
11814
11815 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
11816 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
11817 (alpha_sa_mask, alpha_sa_size): Reflect above change.
11818 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
11819 (alpha_start_function, alpha_expand_epilogue): Likewise.
11820 (unicosmk_gen_dsib): Likewise.
11821
725e58b1
RK
11822Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11823
11824 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
11825
13e58269
UW
118262002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
11827
c410d49e 11828 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
11829 check_and_change_labels, s390_final_chunkify): Delete.
11830 (s390_split_branches, s390_chunkify_pool): New functions.
11831 (s390_function_prologue): Call them.
c410d49e 11832
13e58269
UW
11833 * config/s390/s390.h (S390_REL_MAX): Delete.
11834 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
11835
c410d49e 11836 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
11837 attribute calculation.
11838
11839
34d1b01d
DE
118402002-02-15 David Edelsohn <edelsohn@gnu.org>
11841
11842 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
11843 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
11844
be5cc51a
JDA
118452002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
11846
11847 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
11848 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
11849 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
11850
ee96ce90
RS
118512002-02-15 Richard Sandiford <rsandifo@redhat.com>
11852
11853 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
11854
05fa709d
RS
118552002-02-15 Richard Sandiford <rsandifo@redhat.com>
11856
11857 * reload.c (find_dummy_reload): Check that an output register
11858 is valid for its mode.
11859
4606272b
AO
118602002-02-14 Alexandre Oliva <aoliva@redhat.com>
11861
9a360704
AO
11862 * combine.c (known_cond): After replacing the REG of a SUBREG, try
11863 to simplify it.
11864
4606272b
AO
11865 * function.c (assign_parms): Demote promoted argument passed by
11866 transparent reference.
11867
e62d89a1
JS
118682001-02-14 Joel Sherrill <joel@OARcorp.com>
11869
11870 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
11871 -Acpu() and -Amachine() to eliminate warnings.
11872
6c4cf695
UW
118732002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
11874
11875 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
11876
037f11ef
KH
118772002-02-14 Kazu Hirata <kazu@hxi.com>
11878
11879 * config/h8300/h8300-protos.h: Update the prototype for
11880 const_costs.
11881 * config/h8300/h8300.c (const_costs): Treat SET as a little
11882 more expensive operation.
11883 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
11884 reference to const_costs.
11885
fdc76b09
HPN
118862002-02-14 Hans-Peter Nilsson <hp@axis.com>
11887
11888 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
11889
d76e6800
JJ
118902002-02-14 Jakub Jelinek <jakub@redhat.com>
11891
11892 PR c/5503:
11893 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
11894 use arguments from newtype.
11895
5ae590d7
EC
118962002-02-13 Eric Christopher <echristo@redhat.com>
11897
11898 * config/mips/mips.c (override_options): Add check for march/mipsX
11899 on the same command line. Fix error message in cpu processing.
11900 Remove architecture and ISA checks.
11901
b8513691
AH
119022002-02-14 Aldy Hernandez <aldyh@redhat.com>
11903
831c4e87 11904 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 11905
831c4e87 11906 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 11907
78c875e8
AH
119082002-02-14 Aldy Hernandez <aldyh@redhat.com>
11909
831c4e87
KC
11910 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
11911 alternatives.
11912 ("*movv8hi_internal1"): Same.
11913 ("*movv16qi_internal1"): Same.
11914 ("*movv4sf_internal1"): Same.
78c875e8 11915
831c4e87
KC
11916 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
11917 not push_reload for altivec modes.
78c875e8 11918
d76e6800 119192002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
11920
11921 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
11922 all RTEMS targets including removal of #includes from config/*/rtems*.h
11923 file and adding them to tm_file setting. Added xm_defines=POSIX to
11924 many targets.
11925 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
11926 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
11927 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
11928 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
11929 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
11930 config/m68k/rtemself.h: Ditto.
11931 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
11932 config/mips/rtems64.h: Ditto.
11933 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
11934 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
11935 Ditto.
11936 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
11937 config/sparc/rtemself.h: Ditto.
11938 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
11939 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
11940 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
11941 more like arm-elf.
11942 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
11943 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
11944 target made more similar to i386-elf.
11945 * config/i386/t-rtems-i386: Added soft float support and multilibs.
11946 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
11947 be similar to config/m68k/t-m68kelf.
11948 * gthr-rtems.h: Encapsulate with extern "C" for C++.
11949
8686336f
JH
11950Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
11951
11952 * regmove.c (kill_value): Handle subregs.
11953
558740bf
JH
11954Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
11955
11956 * i386.md (mul patterns): Allow memory operand to be first;
11957 add expanders where needed; fix constraints.
11958 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
11959 Allow memory operand to be the first.
11960
11961 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
11962 operands.
11963
21117a17
JJ
119642002-02-13 Jakub Jelinek <jakub@redhat.com>
11965
11966 PR c/5681:
11967 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
11968 GET_MODE (x).
11969
ec65b2e3
JJ
119702002-02-13 Jakub Jelinek <jakub@redhat.com>
11971
11972 PR optimization/5547:
11973 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
11974 all valid IA-32 address modes involving non-scaled %ebx and
11975 GOT/GOTOFF as displacement.
11976
ce50cae8
UW
119772002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
11978
11979 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
11980 after emitting ltorg insns.
11981
11982 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
11983 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
11984 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
11985 *abssf2): Fix "op_type" attribute.
11986
09eb789b
DR
119872002-02-13 Douglas B Rupp <rupp@gnat.com>
11988
2dbe67bb
DR
11989 * mkconfig.sh: Avoid using a subshell redirect.
11990 ($output.T): Change to $(output)T.
11991 (ENABLE_NLS): Remove unneeded undef.
11992
ea5b9a1f
DR
11993 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
11994 * config/alpha/x-vms (libsubdir): Define.
11995
3deb00ce
DR
11996 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
11997 register frame procedures. Optimize retrieving context.
11998
09eb789b
DR
11999 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
12000 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
12001 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
12002
1abade85
RK
12003Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12004
12005 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
12006 Make same change as for find_base_value.
12007
c283e63f
KH
120082002-02-13 Kazu Hirata <kazu@hxi.com>
12009
12010 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
12011 of QImode and SImode.
12012
86039100
KH
120132002-02-13 Kazu Hirata <kazu@hxi.com>
12014
12015 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
12016 length computation of movsi.
12017 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
12018
e1429da0
KH
120192002-02-13 Kazu Hirata <kazu@hxi.com>
12020
12021 * config/h8300/h8300.md (subqi3): Tighten the predicate for
12022 operands[2] to register_operand.
12023
aebfea10
JH
12024Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
12025
12026 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
12027
0ec4e2a8
AH
120282002-02-12 Aldy Hernandez <aldyh@redhat.com>
12029
831c4e87
KC
12030 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
12031 for altivec_lvx* and altivec_stvx*.
12032 ("*movv4si_internal"): Add constraint for loading from GPRs.
12033 ("*movv8hi_internal1"): Same.
12034 ("*movv16qi_internal1"): Same.
12035 ("*movv4sf_internal1"): Same.
0ec4e2a8 12036
831c4e87 12037 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 12038
831c4e87
KC
12039 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
12040 altivec_register_operand.
0ec4e2a8 12041
b007569d
HPN
120422002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
12043
12044 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
12045 handle SYMBOL_REF.
12046
e6834654
SS
120472002-02-13 Stan Shebs <shebs@apple.com>
12048
831c4e87
KC
12049 * c-typeck.c (digest_init): Handle vectors.
12050 (really_start_incremental_init): Same.
12051 (pop_init_level): Same.
12052 (process_init_element): Same.
e6834654 12053
831c4e87 12054 * varasm.c (output_constant): Same.
e6834654 12055
831c4e87
KC
12056 * expr.c (clear_storage): Same.
12057 (store_constructor): Same.
e6834654 12058
d9b3eb63
EC
120592002-02-12 Eric Christopher <echristo@redhat.com>
12060
12061 * explow.c (hard_function_value): Add comment explaining
12062 signed/unsigned comparison.
12063
56d44285
JJ
120642002-02-12 Jakub Jelinek <jakub@redhat.com>
12065
12066 * jump.c (never_reached_warning): Add finish argument.
12067 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
12068 real insn after end.
12069 * rtl.h (never_reached_warning): Adjust prototype.
12070 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
12071 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
12072 never_reached_warning.
12073
fc209487
GS
120742002-02-12 Graham Stott <grahams@redhat.com>
12075
12076 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
12077
1e41e866
KH
120782002-02-12 Kazu Hirata <kazu@hxi.com>
12079
12080 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
12081 logical shifts on H8/300.
12082 (shift_alg_si): Improve several shifts on H8/300.
12083 (get_shift_alg): Likewise.
12084
a36a47ad
GS
120852002-02-12 Graham Stott <grahams@redhat.com>
12086
12087 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
12088
0aacc8ed
RK
12089Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12090
12091 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
12092 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
12093
a02ac966
HPN
120942002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
12095
12096 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
12097 non-CONST_INT through default_assemble_integer.
12098 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
12099 <case 8>: Abort for CONST_DOUBLE.
12100
d6e06ddc
JDA
121012002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
12102
12103 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
12104 is specified.
12105 * config/pa/pa-linux.h (LIB_SPEC): Delete.
12106 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
12107
515342a8
AH
121082002-02-11 Andrew Haley <aph@cambridge.redhat.com>
12109
12110 * config/stormy16/stormy16.md (zero_extendqihi2): New.
12111
cddd8b72
AO
121122002-02-11 Alexandre Oliva <aoliva@redhat.com>
12113
66df7a98
AO
12114 * regrename.c (regrename_optimize): Don't accept a
12115 part-clobbered register if the replaced register is not part
12116 clobbered.
12117
841404cd
AO
12118 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
12119 take padding into account when computing the argument value.
12120
1d1ade42
AO
12121 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
12122
cddd8b72
AO
12123 * combine.c (try_combine): Apply substitutions in
12124 CALL_INSN_FUNCTION_USAGE too.
12125
5c665b88
AH
121262002-02-11 Aldy Hernandez <aldyh@redhat.com>
12127
77f6c1eb
RS
12128 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
12129 __builtin_altivec_abs*.
12130 (bdesc_abs): New.
5c665b88 12131
77f6c1eb
RS
12132 * config/rs6000/rs6000.h (rs6000_builtins): Add
12133 ALTIVEC_BUILTIN_ABS*.
5c665b88 12134
77f6c1eb
RS
12135 * config/rs6000/altivec.h: Use const char for builtins expecting
12136 literals.
12137 (vec_abs): New versions for C and C++.
12138 (vec_abss): Same.
5c665b88 12139
3494f1b4
KH
121402002-02-10 Kazu Hirata <kazu@hxi.com>
12141
12142 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
12143 using Pmode.
12144
72431aef
KH
121452002-02-10 Kazu Hirata <kazu@hxi.com>
12146
12147 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
12148 constant definition from h8300.md.
12149 (FRAME_POINTER_REGNUM): Likewise.
12150 * config/h8300/h8300.md (define_constants): Add FP_REG.
12151
87e4ee91
KH
121522002-02-10 Kazu Hirata <kazu@hxi.com>
12153
12154 * config/h8300/h8300.c (print_operand): Remove redundant code.
12155
9c188705
KH
121562002-02-10 Kazu Hirata <kazu@hxi.com>
12157
12158 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
12159 * config/h8300/h8300.c (byte_reg): Make it static.
12160
fba78abb
RH
121612002-02-10 Richard Henderson <rth@redhat.com>
12162
12163 PR c/5623
12164 * c-typeck.c (incomplete_type_error): Handle flexible array members.
12165
65739e62
RH
121662002-02-10 Richard Henderson <rth@redhat.com>
12167
12168 PR c++/5624
12169 * tree.c (append_random_chars): Don't abort if main_input_filename
12170 does not exist.
12171
247cb9df
HPN
121722002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
12173
12174 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
12175
232bd029
KH
121762002-02-10 Kazu Hirata <kazu@hxi.com>
12177
65739e62 12178 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
12179 (pushhi1): Likewise.
12180
276ef573
JDA
121812002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
12182
12183 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
12184 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
12185
617e9ee5
DB
121862002-02-09 David O'Brien <obrien@FreeBSD.org>
12187
12188 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
12189 remove MASK_VIS.
12190 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
12191
6dfa4005
KH
121922002-02-09 Kazu Hirata <kazu@hxi.com>
12193
12194 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
12195 a half of an SImode register on H8/300.
12196
749e7b80
JH
12197Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
12198
12199 * i386.md (movdi_2): Add missing '!'.
12200
ca77d87c
KH
122012002-02-09 Kazu Hirata <kazu@hxi.com>
12202
12203 * config/h8300/h8300.h: Fix formatting. Remove commented-out
12204 definitions.
12205
16c96304
KH
122062002-02-09 Kazu Hirata <kazu@hxi.com>
12207
12208 * config/h8300/h8300.md (length): Correct the distance valid
12209 for the short branch.
12210
a364bc90
KH
122112002-02-09 Kazu Hirata <kazu@hxi.com>
12212
12213 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
12214
e4ec2cac
AO
122152002-02-09 Alexandre Oliva <aoliva@redhat.com>
12216
a138247b
AO
12217 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
12218 registers in SImode.
12219 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
12220 part-clobbered.
12221
2b1fd83f
AO
12222 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
12223 patch.
d9b3eb63 12224
fa5322fa
AO
12225 Contribute sh64-elf.
12226 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
12227 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
12228 (sh_cannot_modify_jumps_p): New function.
12229 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
12230 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
12231 (sh_ms_bitfield_layout_p): New function.
12232 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
12233 Zack Weinberg <zack@codesourcery.com>
12234 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
12235 expand_simple_binop instead of expand_binop.
12236 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
12237 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
12238 use of .quad and .uaquad.
12239 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
12240 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
12241 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
12242 * config/sh/sh.md (movdi_const, movdi_const_32bit,
12243 movdi_const_16bit): Make sure all CONSTs have modes.
12244 (sym2PIC): Ditto, but by adjusting all callers.
12245 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
12246 if the prologue calls the SHmedia argument decoder or register
12247 saver.
12248 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
12249 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
12250 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
12251 (sh_expand_epilogue): Don't emit USE of return target register.
12252 (prepare_move_operands): Legitimize DImode PIC addresses.
12253 (sh_media_register_for_return): Skip tr0, used to initialize the
12254 PIC register.
12255 (sh_expand_prologue): Remove explicit USE of return register.
12256 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
12257 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
12258 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
12259 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
12260 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
12261 EXTRA_CONSTRAINT_T.
12262 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
12263 (MOVI_SHORI_BASE_OPERAND_P): New.
12264 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
12265 (EXTRA_CONSTRAINT_T): Define in terms of them.
12266 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
12267 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
12268 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
12269 alternatives supporting TARGET_REGS.
12270 (UNSPEC_GOTPLT): New constant.
12271 (movdi split): Move incrementing of LABEL_NUSES...
12272 (movdi_const, movdi_const_32bit): Here. Use
12273 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
12274 (movdi_const_16bit): New.
12275 (call, call_value) [flag_pic]: Use GOTPLT.
12276 (call_pop, call_value_pop): New expands.
12277 (call_pop_compact, call_pop_rettramp): New insns.
12278 (call_value_pop_compact, call_value_pop_rettramp): New insns.
12279 (sibcall) [flag_pic]: Use GOT.
12280 (builtint_setjmp_receiver): Remove bogus, unused expand.
12281 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
12282 (*pt, *ptb, ptrel): New insns.
12283 (sym2GOT): Handle DImode GOT.
12284 (sym2GOTPLT, symGOTPLT2reg): New expands.
12285 (sym2PIC): New expand.
12286 (shcompact_return_tramp): Use GOTPLT to return trampoline.
12287 (shcompact_return_tramp_i): Use return register explicitly.
12288 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
12289 disable flag_reorder_blocks.
12290 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
12291 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
12292 clobbers, for clarity.
12293 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
12294 restoring of r0 in macl as MAYBE_DEAD.
12295 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
12296 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
12297 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
12298 alter_subreg all over.
12299 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
12300 reload, instead of emitting instructions that would require
12301 reloading.
12302 (casesi_load_media): Add missing modes.
12303 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
12304 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
12305 as used if the argument decoder is called.
12306 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
12307 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
12308 Pmode, then extend it to DImode if necessary.
12309 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
12310 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
12311 constants in FPU-enabled SHmedia, let them be loaded from memory.
12312 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
12313 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
12314 Adjust whitespace in assembly output templates.
12315 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
12316 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
12317 mode of if_then_else.
12318 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
12319 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
12320 sh.h.
12321 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
12322 Joern Rennecke <amylaar@redhat.com>
12323 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
12324 (SUBTARGET_CPP_PTR_SPEC): New.
12325 (SUBTARGET_CPP_SPEC): Remove.
12326 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
12327 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
12328 Fix typo in previous checkin.
12329 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
12330 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
12331 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
12332 Alexandre Oliva <aoliva@redhat.com>
12333 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
12334 what single FP register can hold for SHmedia target.
12335 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
12336 Alexandre Oliva <aoliva@redhat.com>
12337 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
12338 Do not split into SUBREG.
12339 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
12340 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
12341 and added new functions as specified in SH5 ABI r9.
12342 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
12343 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
12344 8-byte boundary.
12345 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
12346 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
12347 gen_consttable_4 and gen_consttable_8. Emit multiple labels
12348 and consttable_window_ends.
12349 2001-06-03 Graham Stott <grahams@redhat,com>
12350 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
12351 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
12352 * config/sh/sh.c (print_operand): Handle floating-point pair,
12353 vector and matrix registers.
12354 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
12355 vector modes into account.
12356 * config/sh/sh.md (movv2sf): Split move between registers into
12357 movdf.
12358 (movv4sf, movv16sf): Introduce insns that get split only after
12359 reload.
12360 * config/sh/shmedia.h: Fix Copyright dates.
12361 * config/sh/ushmedia.h: Likewise. Move loop counter
12362 declarations into conditionals that uses them.
12363 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
12364 loop boundary.
12365 * config/sh/sshmedia.h: Fix Copyright dates.
12366 (sh_media_PUTCFG): Fix constraints.
12367 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
12368 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
12369 ptrmemfunc_vbit_in_delta for SH5.
12370 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
12371 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
12372 * invoke.texi: Likewise.
12373 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
12374 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
12375 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
12376 GCC_pop_shmedia_regs_nofpu): New global symbols.
12377 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
12378 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
12379 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
12380 compact function with nonlocal labels.
12381 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
12382 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
12383 (initial_elimination_offset): Account for their stack space.
12384 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
12385 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
12386 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
12387 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
12388 least one of the operands to be a register.
12389 (movv2sf): Likewise. Renamed to movv2sf_i.
12390 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
12391 prepare_move_operands() before emitting SHmedia insns.
12392 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
12393 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
12394 Don't save nor initialize r12. Don't mis-align the stack.
12395 Pad the code with a nop.
12396 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
12397 stack.
12398 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
12399 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
12400 [__SHMEDIA__]: Implement.
12401 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
12402 * config/sh/sh.md: Set latency of `pt' closer to reality.
12403 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
12404 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
12405 Set move, load and store type attributes.
12406 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
12407 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
12408 profiling.
12409 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
12410 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
12411 * config/sh/sh.c (sh_media_register_for_return): New function.
12412 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
12413 branch-target register.
12414 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
12415 * config/sh/sh.md (return_media_i): Use any call-clobbered
12416 branch-target register.
12417 (return_media): If r18 wasn't copied in the prologue, copy it
12418 here.
12419 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
12420 Clear class FP0_REGS.
12421 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
12422 from elf.h.
12423 2001-03-08 DJ Delorie <dj@redhat.com>
12424 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
12425 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
12426 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
12427 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
12428 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
12429 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
12430 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
12431 return value correctly for call_cookie.
12432 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
12433 * config/sh/crt1.asm (start): Modified so as to call
12434 ___setup_argv_and_call_main.
12435 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
12436 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
12437 SHmedia mode.
12438 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
12439 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
12440 (STRIP_NAME_ENCODING): Use it.
12441 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
12442 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
12443 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
12444 prepare_scc_operands().
12445 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
12446 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
12447 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
12448 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
12449 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
12450 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
12451 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
12452 used in shcompact_incoming_args.
12453 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
12454 change.
12455 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
12456 mode.
12457 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
12458 Adjust accordingly.
12459 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
12460 Simplify. Adjust. Add sanity check.
12461 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
12462 FPU_SINGLE_BIT.
12463 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
12464 TARGET_SHCOMPACT.
12465 (udivsi3, divsi3): Use them.
12466 (force_mode_for_call): New insn.
12467 (call, call_value, sibcall_value): Emit it before SHcompact
12468 calls.
12469 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
12470 * config/sh/sh.md (call, call_value, sibcall): Make sure the
12471 call cookie is non-NULL before taking its value.
12472 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
12473 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
12474 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
12475 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
12476 block.
12477 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
12478 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
12479 temporary for stack adjusts. Use MACL and MACH to pass
12480 arguments to shcompact_incoming_args.
12481 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
12482 clobber r1.
12483 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
12484 (nested_trampoline): Load static chain address into r1.
12485 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
12486 2001-01-07 Alexandre Oliva <aoliva@redhat.com
12487 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
12488 fp_arith_reg_operand().
12489 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
12490 * config/sh/sh.md (casesi): Sign-extend the first two operands,
12491 and use signed compares for them.
12492 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
12493 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
12494 ones properly aligned.
12495 (find_barrier): Account for extra alignment needed for 8-byte wide
12496 constants.
12497 (machine_dependent_reorg): Require a label for the second 4-byte
12498 constant after an 8-byte one.
12499 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
12500 change.
12501 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
12502 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
12503 last_float when switching float modes.
12504 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
12505 auto-increment for general-purpose registers.
12506 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
12507 result.
12508 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
12509 for stack adjust.
12510 * config/sh/sh.c (sh_builtin_saveregs): Support using all
12511 registers for varargs.
12512 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
12513 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
12514 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
12515 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
12516 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
12517 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
12518 call_cookie accordingly.
12519 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
12520 (SHCOMPACT_BYREF): Likewise.
12521 (SHCOMPACT_FORCE_ON_STACK): New macro.
12522 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
12523 (sh_builtin_saveregs): Likewise.
12524 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
12525 shcompact_incoming_args): Use new shift values. Support
12526 sequences of consecutive and non-consecutive pushes/pops.
12527 * config/sh/sh.md (return): Don't explicitly use PR_REG.
12528 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
12529 * config/sh/sh.h (TEXT_SECTION): Define.
12530 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
12531 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
12532 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
12533 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
12534 return values on FPU-enabled SHmedia.
12535 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
12536 FPU-enabled SHmedia.
12537 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
12538 value is returned in a non-FP reg and is not returned by
12539 reference.
12540 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
12541 jump_ind.
12542 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
12543 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
12544 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
12545 quad-aligned to be passed by callee-copy reference.
12546 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
12547 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
12548 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
12549 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
12550 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
12551 copying low-numbered FP regs to r7 and r8.
12552 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
12553 FP regs to general-purpose regs only if the copy was passed on the
12554 stack.
12555 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
12556 copying FP reg to r9.
12557 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
12558 copy FP regs to general-purpose regs only in outgoing calls.
12559 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 12560 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
12561 HOST_WIDE_INT.
12562 * config/sh/sh.h (struct sh_args): Document all fields.
12563 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
12564 passed partially on the stack should not consider making
12565 sibcalls.
12566 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
12567 stack_regs only for incoming calls. When passing FP args,
12568 make sure there are FP regs available before modifying
12569 call_cookie.
12570 (SHCOMPACT_BYREF): Pass double args in general-purpose
12571 registers by reference.
12572 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
12573 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
12574 attempt to generate sibcalls if the caller got any arguments
12575 by reference.
12576 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
12577 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
12578 to 8-byte boundaries.
12579 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
12580 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
12581 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
12582 stored in the stack.
12583 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
12584 for the offsets to have the ISA bit set.
12585 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
12586 invocation. Use beq instead of bgt to mark end of sequence of
12587 loads.
12588 (shcompact_incoming_args): Fix store of r2. Use beq instead of
12589 bgt to mark end of sequence of stores.
12590 * config/sh/sh.c (arith_operand): Don't check whether
12591 CONST_OK_FOR_J for now.
12592 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
12593 instead of long for conversion.
12594 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
12595 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
12596 before passing it to fprintf.
12597 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
12598 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
12599 Call set_fpscr before reading/writing SR.
12600 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
12601 Call set_fpscr.
12602 * config/sh/lib1funcs.asm: Add `.align 2' directives before
12603 SHmedia code.
12604 (FMOVD_WORKS): Define on SH5 with FPU.
12605 (set_fpscr): Define on SH5. Remove separate _fpscr_values
12606 setting.
12607 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
12608 _fpscr_values.
12609 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
12610 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
12611 address.
12612 (ia_main_table): Ditto.
12613 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
12614 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
12615 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
12616 the definitions from sh.h.
12617 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
12618 TARGET_SH5.
12619 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
12620 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
12621 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
12622 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
12623 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
12624 Increment LABEL_NUSES.
d9b3eb63 12625
fa5322fa
AO
12626 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
12627 TARGET_SH5.
12628 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
12629 defined.
12630 * config/sh/elf.h (SIZE_TYPE): Likewise.
12631 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
12632 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
12633 shcompact_incoming_args): Load switch table addresses using
12634 datalabel.
12635 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
12636 (NO_BUILTIN_SIZE_TYPE): Define.
12637 (SIZE_TYPE): Don't define.
12638 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
12639 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
12640 definition of __SH5__=32 for -m5-compact-nofpu.
12641 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
12642 ADDR_DIFF_VEC.
12643 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
12644 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
12645 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
12646 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
12647 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
12648 (INSN_LENGTH_ALIGNMENT): Likewise.
12649 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
12650 * config/sh/sh.md (call, call_value, sibcall): Simplify
12651 copying of non-branch-target register.
12652 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 12653 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
12654 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
12655 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
12656 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
12657 floating-point values as structs.
12658 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
12659 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
12660 general-purpose register.
12661 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
12662 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
12663 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
12664 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
12665 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
12666 (ENCODE_SECTION_INFO): Enclose variables and constants in
12667 DATALABEL unspecs.
12668 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
12669 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
12670 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
12671 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
12672 only for LABEL_REFs. For SYMBOL_REFs, prepend
12673 SH_DATALABEL_ENCODING to the symbol name.
12674 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
12675 convert_mode().
12676 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
12677 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
12678 UNSPEC_DATALABEL.
12679 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
12680 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
12681 (DATALABEL_REF_P): Don't require CONST.
12682 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
12683 REL label.
12684 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
12685 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
12686 right.
12687 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
12688 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
12689 Use shallow_copy_rtx and PUT_MODE to change the mode of
12690 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
12691 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
12692 on SHmedia using GENERAL_REGs.
12693 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
12694 bltu_media_i): Fix reversion of conditions.
12695 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
12696 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
12697 * config/sh/sh.c (output_far_jump): Save r13 in macl.
12698 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
12699 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
12700 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
12701 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
12702 (GCC_nested_trampoline): Likewise.
12703 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
12704 * config/sh/sh.c (gen_datalabel_ref): Define.
12705 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
12706 (INITIALIZE_TRAMPOLINE): Likewise.
12707 (TRAMPOLINE_ADJUST_ADDRESS): Define.
12708 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
12709 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
12710 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
12711 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
12712 (ic_invalidate): Adjust for SH5.
12713 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
12714 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
12715 _nested_trampoline.
12716 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
12717 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
12718 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
12719 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
12720 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
12721 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
12722 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
12723 * config/sh/sh.c (target_reg_operand): Match only target-branch
12724 registers and pseudos that aren't virtual registers.
12725 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
12726 Copy operands that don't match target_reg_operand to pseudos.
12727 (call_media, call_value_media, sibcall_media): Use
12728 target_reg_operand instead of target_operand.
12729 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 12730 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
12731 * config/sh/sh.c (target_reg_operand): Match hardware registers
12732 other than branch-target registers.
12733 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
12734 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
12735 (fpscr_values) [SH5 == 32]: Define.
12736 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
12737 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
12738 Handle function addresses coming in SUBREGs.
12739 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
12740 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
12741 shcompact_return_trampoline): Use datalabel where appropriate.
12742 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
12743 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
12744 general-purpose register to copy one branch-target register to
12745 another.
12746 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
12747 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
12748 SYMBOL_REFs with VOIDmode.
12749 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
12750 bltu_media_i): New insns.
12751 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
12752 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
12753 (INIT_CUMULATIVE_ARGS): Likewise.
12754 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
12755 * machmode.def (V16SFmode): New mode.
12756 * c-common.c (type_for_mode): Support V2SF and V16SF.
12757 * tree.c (build_common_tree_nodes_2): Likewise.
12758 * tree.h (tree_index): Likewise.
12759 * calls.c (emit_call_1): Take args_so_far. Adjust all
12760 callers. Introduce CALL_POPS_ARGS.
12761 * tm.texi (CALL_POPS_ARGS): Document.
12762 * config/sh/crt1.asm: Implement in SHmedia mode.
12763 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
12764 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
12765 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
12766 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
12767 Implement divsi and udivsi in SHmedia mode. Introduce
12768 SHcompact trampolines.
12769 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
12770 only in SHmedia64.
12771 (regno_reg_class): Rewrite.
12772 (fp_reg_names): Remove.
12773 (sh_register_names, sh_additional_register_names): New.
12774 (print_operand): Added `u'. Support SUBREGs in addresses.
12775 Add parentheses around shifted CONSTs.
12776 (output_file_start): Output .mode and .abi directives.
12777 (shiftcosts, addsubcosts, multcosts): Adjust.
12778 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
12779 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
12780 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
12781 bytes, not registers. Take into account the need for the
12782 SHcompact incoming args trampoline. Adjust all callers.
12783 (sh_expand_prologue): Take stack_regs into account. Call
12784 incoming args trampoline. Keep stack aligned as per SH5 ABI.
12785 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
12786 stack aligned as per SH5 ABI.
12787 (sh_builtin_saveregs): Support SH5 ABI.
12788 (sh_build_va_list, sh_va_start): Likewise.
12789 (initial_elimination_offset): Take alignment into account.
12790 Compute location of PR according to the SH5 stack frame.
12791 (arith_reg_operand): Reject branch-target registers.
12792 (shmedia_6bit_operand): New.
12793 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
12794 (target_reg_operand): Match DImode only. Accept SUBREGs.
12795 (target_operand): New.
12796 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
12797 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
12798 SIBCALL_REGS for SHmedia.
12799 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
12800 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
12801 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
12802 (TARGET_SWITCHES): New SH5 flags.
12803 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
12804 VALID_REGISTER_P to disable unsupported registers.
12805 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
12806 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
12807 (FUNCTION_ARG_PADDING): Define.
12808 (FASTEST_ALIGNMENT): Adjust.
12809 (SH_REGISTER_NAMES_INITIALIZER): New.
12810 (sh_register_names): Declare.
12811 (DEBUG_REGISTER_NAMES): Define.
12812 (REGISTER_NAMES): Define based on sh_register_names.
12813 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
12814 (sh_additional_register_names): Declare.
12815 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
12816 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
12817 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
12818 (REGISTER_NATURAL_MODE): Define.
12819 (FIRST_PSEUDO_REGISTER): Adjust.
12820 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
12821 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
12822 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
12823 (VECTOR_MODE_SUPPORTED_P): Define.
12824 (REG_CLASS_CONTENTS): Adjust.
12825 (SMALL_REGISTER_CLASSES): Adjust.
12826 (REG_ALLOC_ORDER): Adjust.
12827 (INDEX_REG_CLASS): Adjust.
12828 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
12829 (CONST_OK_FOR_LETTER_P): Adjust.
12830 (PREFERRED_RELOAD_CLASS): Adjust.
12831 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
12832 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
12833 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
12834 (FIRST_FP_PARM_REG): Adjust.
12835 (CALL_POPS_ARGS): Define.
12836 (FUNCTION_ARG_REGNO_P): Adjust.
12837 (struct sh_args): New fields.
12838 (GET_SH_ARG_CLASS): Adjust.
12839 (INIT_CUMULATIVE_ARGS): Adjust.
12840 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
12841 (FUNCTION_ARG_ADVANCE): Adjust.
12842 (FUNCTION_ARG): Adjust.
12843 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
12844 (FUNCTION_ARG_CALLEE_COPIES): Define.
12845 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
12846 (STRICT_ARGUMENT_NAMING): Define.
12847 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
12848 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
12849 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
12850 (SETUP_INCOMING_VARARGS): Adjust.
12851 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
12852 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
12853 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
12854 (SUBREG_OK_FOR_INDEX_P): Adjust.
12855 (EXTRA_CONSTRAINT_S): Update.
12856 (EXTRA_CONSTRAINT_T): New.
12857 (EXTRA_CONSTRAINT): Adjust.
12858 (GO_IF_LEGITIMATE_INDEX): Adjust.
12859 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
12860 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
12861 (MOVE_MAX): Adjust.
12862 (MAX_MOVE_MAX): Define.
12863 (Pmode): Adjust.
12864 (CONST_COSTS): Adjust.
12865 (REGISTER_MOVE_COST): Adjust.
12866 (BRANCH_COST): Adjust.
12867 (TEXT_SECTION_ASM_OP): Adjust.
12868 (DBX_REGISTER_NUMBER): Adjust.
12869 (ASM_OUTPUT_DOUBLE_INT): New.
12870 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
12871 (PREDICATE_CODES): Adjust.
12872 (PROMOTE_MODE): Adjust.
12873 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
12874 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
12875 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
12876 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
12877 (DR0_REG, DR2_REG, DR4_REG): Renumber.
12878 (TR0_REG, TR1_REG, TR2_REG): New.
12879 (XD0_REG): Renumber.
12880 (UNSPEC_COMPACT_ARGS): New.
12881 (type): Added pt and ptabs.
12882 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 12883 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
12884 (pt): New function unit.
12885 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
12886 Add whitespace between operands of SHmedia instructions.
12887 (movdicc): Fix.
12888 (adddi3_media, addsi3_media): Adjust constraints.
12889 (subsi3) [SHmedia]: Force operand 1 into a register.
12890 (udivsi3_i1_media, udivsi3_i4_media): New.
12891 (udivsi3): Support SHmedia.
12892 (divsi3_i1_media, divsi3_i4_media): New.
12893 (divsi3): Support SHmedia.
12894 (anddi3, iordi3, xordi3): Adjust constraints.
12895 (zero_extendhidi2, zero_extendqidi2): New.
12896 (extendsidi2, extendhidi2, extendqidi2): New.
12897 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
12898 (pop_e, pop_fpul, pop_4): Likewise.
12899 (movsi_media): Support FP and BT registers.
12900 (movsi_media_nofpu): New. Adjust splits to DImode.
12901 (lduw, ldub): Renamed to zero_extend* above.
12902 (movqi_media): Fix typo.
12903 (movdi_media): Support FP and BT registers.
12904 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
12905 (movdi_const_32bit): New.
12906 (shori_media): Require immediate operand. Use `u' for output.
12907 (movdf_media, movsf_media): Simplified.
12908 (movdf_media_nofpu, movsf_media_nofpu): New.
12909 (movdf, movsf): Adjust
12910 (movv2sf, movv2sf, movv16sf): New.
12911 (beq_media, beq_media_i): Adjust constraints. Don't use
12912 scratch BT register.
12913 (bne_media, bne_media_i): Likewise.
12914 (bgt_media, bgt_media_i): Likewise.
12915 (bge_media, bge_media_i): Likewise.
12916 (bgtu_media, bgtu_media_i): Likewise.
12917 (bgeu_media, bgeu_media_i): Likewise.
12918 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
12919 bunordered): Emit jump insn. Force operands to registers when
12920 needed.
12921 (jump_media, jump): Simplify.
12922 (call_compact, call_compact_rettramp): New.
12923 (call_value_compact, call_value_compact_rettramp): New.
12924 (call_media, call_value_media): Simplify.
12925 (sibcall_compact, sibcall_media): New.
12926 (call, call_value): Adjust for SHmedia and SHcompact.
12927 (sibcall, sibcall_value, untyped_call): Likewise.
12928 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
12929 (indirect_jump): Adjust for SHmedia.
12930 (casesi_jump_media): New.
12931 (nop): Re-enable for SHmedia.
12932 (call_site): Restrict to SH1.
12933 (casesi): Adjust for SHmedia.
12934 (casesi_shift_media, casesi_load_media): New.
12935 (return): Explicitly use PR register. Call return trampoline
12936 on SHcompact.
12937 (return_i): Explicitly use PR register.
12938 (shcompact_return_tramp, shcompact_return_tramp_i): New.
12939 (return_media): Adjust.
12940 (shcompact_incoming_args): New.
12941 (epilogue): Adjust.
12942 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
12943 (movstrsi): Disable on SH5.
12944 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
12945 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
12946 (subsf3, subsf3_media): Likewise.
12947 (mulsf3, mulsf3_media, mac_media): Likewise.
12948 (divsf3, divsf3_media): Likewise.
12949 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
12950 (floatsisf2, fux_truncsfsi2): Likewise.
12951 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
12952 constraints.
12953 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
12954 (cmpunsf_media, cmpsf): Likewise.
12955 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
12956 (abssf2, abssf2_media): Likewise.
12957 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
12958 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
12959 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
12960 (floatsidf2, fix_truncdfsi2): Likewise.
12961 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
12962 constraints.
12963 (cmpeqdf_media, cmpgtdf_media): Likewise.
12964 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
12965 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
12966 (absdf2, absdf2_media): Likewise.
12967 (extendsfdf2, extendsfdf2_media): Likewise.
12968 (truncsfdf2, truncsfdf2_media): Likewise.
12969 * config/sh/sh64.h: New file.
12970 * config/sh/t-sh64: New file.
12971 * config/sh/shmedia.h: New file.
12972 * config/sh/ushmedia.h: New file.
12973 * config/sh/sshmedia.h: New file.
12974 * configure.in: Added sh64-*-elf.
12975 * configure: Rebuilt.
12976 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
12977 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
12978 (reg_class_from_letter): Use `b' for TARGET_REGS.
12979 (print_operand): Support `%M', `%m', `AND' and
12980 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
12981 (andcosts): Adjust for SHmedia.
12982 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
12983 Likewise.
12984 (target_reg_operand): New function.
12985 * config/sh/sh-protos.h (target_reg_operand): Declare.
12986 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
12987 FP registers on SH5.
12988 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
12989 on SH4.
12990 (TARGET_REGISTER_P): New macro.
12991 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
12992 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
12993 (EXTRA_CONSTRAINT_S): New macro.
12994 (EXTRA_CONSTRAINT): Adjust.
12995 (FLOAT_TYPE_SIZE): Define to 32.
12996 (Pmode): DImode on SHmedia.
12997 (CONST_COSTS): Adjust for SHmedia literals.
12998 (PREDICATE_CODES): Added target_reg_operand.
12999 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
13000 * config/sh/sh.md: Remove all attrs from SHmedia insns.
13001 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
13002 (cmpdi): Accept SHmedia.
13003 (movdicc_false, movdicc_true): New insns.
13004 (movdicc): New expand.
13005 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
13006 no_new_pseudos.
13007 (addsi3_media): Match `S' constraint.
13008 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
13009 (negdi2): Expand for SHmedia.
13010 (one_cmpldi2): New expand.
13011 (zero_extendsidi2): Change from expand to insn.
13012 (extendsidi2): Add constraints.
13013 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
13014 LD/ST address. Fix SI immediate loading split.
13015 (movhi_media, movqi_media, lduw, ldub): New insns.
13016 (movhi, movqi): Accept SHmedia.
13017 (shori_media, movdi_media): Relax input constraints. Split
13018 symbolic constants.
13019 (movdf_media, movsf_media): New insn. New split to movdi.
13020 (movdf, movsf): Match on SHmedia.
13021 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
13022 bgeu_media): New insns and splits. New insns with `_i' suffix.
13023 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
13024 (bunordered): New expand.
13025 (jump_compact): Renamed from `jump'.
13026 (jump_media): New insn.
13027 (jump): New expand.
13028 (call_media, call_value_media): New insns.
13029 (call, call_value): Adjust.
13030 (indirect_jump_compact): Renamed from `indirect_jump'.
13031 (indirect_jump_media): New insn.
13032 (indirect_jump): New expand.
13033 (untyped_call, return): Accept SHmedia.
13034 (return_media): New insn.
13035 (prologue, epilogue, blockage): Accept SHmedia.
13036 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
13037 (sunordered): New expand.
13038 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
13039 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
13040 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
13041 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
13042 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
13043 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
13044 abssf2_media): New insns.
13045 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
13046 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
13047 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
13048 floatdidf2, floatsidf2_media, fix_truncdfdi2,
13049 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
13050 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
13051 absdf2_media): New insns.
13052 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
13053 (extendsfdf2_media, truncdfsf2_media): New insns.
13054 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
13055 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
13056 * config/sh/sh.h (CONST_OK_FOR_J): Document.
13057 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
13058 * config/sh/sh.md (adddi3): New expand.
13059 (adddi3_media, adddi3z_media): New insns.
13060 (adddi3_compact): Renamed from adddi3.
13061 (addsi3_media): Use add.l r63 to add constant zero.
13062 (subdi3): New expand.
13063 (subdi3_media): New insn.
13064 (subdi3_compact): Renamed from subdi3.
13065 (mulsidi3): New expand.
13066 (mulsidi3_media): New insn.
13067 (mulsidi3_compact): Renamed from mulsidi3.
13068 (umulsidi3): New expand.
13069 (umulsidi3_media): New insn.
13070 (umulsidi3_compact): Renamed from umulsidi3.
13071 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
13072 (ashlsi3, ashrsi3, lshrsi3): Use them.
13073 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
13074 (ashldi3, ashrdi3, lshrdi3): Use them.
13075 (zero_extendsidi2): New expand.
13076 (extendsidi2): New insn.
13077 (movsi_media): New insn. Split to movdi to load constants.
13078 (movsi): Enable for shmedia.
13079 (movdi_media): New insn. Use shori_media to load wide constants.
13080 (short_media): New insn.
13081 (movdi): Enable for shmedia.
13082 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
13083 * config/sh/sh.h (CPP_SPEC): Added `m5'.
13084 (SUBTARGET_CPP_SPEC): Added `!m5'.
13085 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
13086 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
13087 to all other SH variants.
13088 (TARGET_DEFAULT): Set to SH1_BIT.
13089 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
13090 (BITS_PER_WORD): Raise to 64 on shmedia.
13091 (MAX_BITS_PER_WORD): Change to 64.
13092 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
13093 (INT_TYPE_SIZE): Keep as 32.
13094 (UNITS_PER_WORD): Raise to 8 on shmedia.
13095 (MIN_UNITS_PER_WORD): Keep as 4.
13096 (POINTER_SIZE): Raise to 64 on shmedia.
13097 (CONST_OK_FOR_J): New macro.
13098 (CONST_OK_FOR_LETTER_P): Use it.
13099 (processor_type): Add PROCESSOR_SH5.
13100 * config/sh/sh.md: Conditionalize all expands, insns and
13101 splits to TARGET_SH1.
13102 (cpu): Added sh5.
13103 (addsi3_compact): Renamed from...
13104 (addsi3): Now an expand.
13105 (addsi3_media, subsi3_media): New insns.
13106 (subsi3): Don't negate constants with SHmedia.
13107
e4ec2cac
AO
13108 * hooks.c: New file.
13109 * hooks.h: New file.
13110 * Makefile.in (HOOKS_H): New.
13111 (TARGET_DEF_H): Added $(HOOKS_H).
13112 (OBJS): Added hooks.o.
13113 (cfgcleanup.o, bb-reorder.o): Added target.h.
13114 (hooks.o): Added dependencies.
13115 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
13116 (TARGET_INITIALIZER): this.
13117 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
13118 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
13119 * bb-reorder.c: Include target.h.
13120 (reorder_basic_blocks): Skip if cannot modify jumps.
13121 * cfgcleanup.c: Include target.h.
13122 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
13123
246a46e0
CD
131242002-02-08 Chris Demetriou <cgd@broadcom.com>
13125
831c4e87
KC
13126 * config/mips/mips.md (casesi_internal, casesi_internal_di):
13127 Protect jump delay slot instructions with .set noreorder and
13128 .set nomacro.
246a46e0
CD
13129
131302002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
13131
13132 * config/mips/mips.md (casesi_internal_di): Calculate
13133 the index into the target offset table correctly.
13134
fdf473ae
RH
131352002-02-08 Richard Henderson <rth@redhat.com>
13136
13137 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
13138 * final.c (output_addr_const): Accept and discard SUBREG.
13139 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
13140 mark them unknown instead.
13141 (simplify_subtraction): Handle RTX_UNKNOWN.
13142 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
13143
c50503ac
DE
131442002-02-08 David Edelsohn <edelsohn@gnu.org>
13145
13146 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
13147
3660d217
RH
131482002-02-08 Richard Henderson <rth@redhat.com>
13149
13150 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
13151
56547299
AJ
131522002-02-08 Andreas Jaeger <aj@suse.de>
13153
13154 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
13155 * config/i386/t-linux64: New file.
13156
1cf537c5
JJ
131572002-02-08 Jakub Jelinek <jakub@redhat.com>
13158
13159 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
13160 * c-parse.in (compstmt): Clear last_expr_type.
13161
5c7f5a5f
RH
131622002-02-07 Richard Henderson <rth@redhat.com>
13163
13164 * loop.c (strength_reduce): Sink final_value when not
13165 eliminating a biv.
13166
b1138bf3
DB
131672002-02-07 David O'Brien <obrien@FreeBSD.org>
13168
13169 * config/sparc/freebsd.h: Fix mismatched spec {.
13170
b6878a45
RH
131712002-02-07 Richard Henderson <rth@redhat.com>
13172
13173 * cfgrtl.c: Include recog.h and insn-config.h.
13174 (keep_with_call_p): Fix general_operand invocation.
13175 * Makefile.in (cfgrtl.o): Update dependencies.
13176
ae19f5ef
KH
131772002-02-07 Kazu Hirata <kazu@hxi.com>
13178
13179 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
13180 comment. Accept HImode only if TARGET_H8300.
13181
b137f9fc
EC
131822002-02-07 Eric Christopher <echristo@redhat.com>
13183
13184 * config/mips/crtn.asm: Cleanup #ifdefs.
13185
131862002-02-07 Eric Christopher <echristo@redhat.com>
13187
13188 * config/mips/crti.asm: Add changes for mips16. mips16 uses
13189 register 7 as RA instead of $31.
13190 * config/mips/crtn.asm: Ditto.
13191 * config/mips/mips.c (mips_move_2words): Add case for
13192 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
13193 (compute_frame_size): Fix typo.
13194 (save_restore_insns): Ditto. Make documentation about using
13195 register $7 as return register more precise.
13196 (mips_expand_epilogue): Fix comment. Add code to work around not
13197 being able to add to the stack pointer directly.
13198 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
13199 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
13200 epilogue.
13201
768070a0
TR
132022002-02-07 Tom Rix <trix@redhat.com>
13203
b137f9fc 13204 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
13205 immediates in ldu and stdu DS opcode field.
13206 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
13207 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
13208 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
13209
225909c3
JS
132102002-02-07 Jeff Sturm <jsturm@one-point.com>
13211
13212 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
13213 offset for stack bias.
13214
15fae023
L
132152002-02-07 H.J. Lu <hjl@gnu.org>
13216
13217 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
13218
fde5badd
UW
132192002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
13220
13221 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
13222
162f023b
JH
13223Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
13224
13225 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
13226 * i386.c (x86_order_regs_for_local_alloc): New global function.
13227 * i386.h (REG_ALLOC_ORDER): CLeanup.
13228 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
13229
9b462c42
RH
132302002-02-07 Richard Henderson <rth@redhat.com>
13231
85aa876c 13232 PR optimization/2463
9b462c42
RH
13233 * alias.c (find_base_value): Recall base values for fixed hard regs.
13234 * loop.c (loop_regs_update): Don't use single_set on non-insns.
13235
06e455a9
AO
132362002-02-07 Alexandre Oliva <aoliva@redhat.com>
13237
13238 * config/mips/mips.md (define_delay) [mips16]: Adjust required
13239 length.
13240
edd1967d
RH
132412002-02-06 Richard Henderson <rth@redhat.com>
13242
13243 PR c/5609
13244 * stmt.c (resolve_operand_name_1): Take more care with mixed
13245 named and unnamed operands.
13246
a2cd028f
JJ
132472002-02-06 Janis Johnson <janis187@us.ibm.com>
13248 Jan Hubicka <jh@suse.cz>
13249
13250 * loop.c (remove_constant_addition): Avoid clobbering a shared
13251 CONST expression.
13252
e8487c04
UW
132532002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
13254
13255 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
13256 * config/s390/t-linux64: New file.
13257 * config/s390/libgcc-glibc.ver: New file.
13258
58d10f89
UW
132592002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
13260
13261 * config/s390/linux64.h: Delete file.
13262 * config/s390/s390x.h: New file.
13263 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
13264 as target header file.
13265 * config/s390/linux.h (TARGET_VERSION): Define depending on
13266 DEFAULT_TARGET_64BIT.
13267 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
13268 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
13269 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
13270 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
13271 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
13272 (EXTRA_SPEC): New define.
13273 * config/s390/s390.h (TARGET_VERSION): Define depending on
13274 DEFAULT_TARGET_64BIT.
13275 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
13276
5ce89b2e
JM
132772002-02-06 Jason Merrill <jason@redhat.com>
13278
13279 * c-decl.c (finish_function): Warn about a non-void function with
13280 no return statement and no abnormal exit.
13281 (current_function_returns_abnormally): New variable.
13282 (start_function): Clear it.
13283 (struct c_language_function): Add returns_abnormally.
13284 (push_c_function_context): Save it.
13285 (pop_c_function_context): Restore it.
13286 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
13287 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
13288 an explicit return type.
13289 * c-tree.h: Declare current_function_returns_abnormally.
13290 (C_FUNCTION_IMPLICIT_INT): New macro.
13291 * c-typeck.c (build_function_call): Set it.
13292 (c_expand_return): Set current_function_returns_value even if the
13293 value is erroneous.
13294
caaf2272
JJ
132952002-02-06 Jakub Jelinek <jakub@redhat.com>
13296
13297 PR c/5420:
13298 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
13299 unsafe for reevaluation.
13300
d5129288
JJ
133012002-02-06 Jakub Jelinek <jakub@redhat.com>
13302
13303 PR c/5482:
13304 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
13305 EXPR_STMT, but COMPOUND_STMT, recurse into it.
13306
7fb75099
RH
133072002-02-06 Richard Henderson <rth@redhat.com>
13308
13309 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
13310 be a general_operand. Dest for function value must be a pseudo.
13311
d3a8b6a6
NC
133122002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
13313
13314 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
13315 as SYMBOL_REFs from the constant pool.
13316
3c1299c5
AO
133172002-02-06 Alexandre Oliva <aoliva@redhat.com>
13318
13319 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
13320 passed by invisible reference.
13321
c2c9f6c9
RH
133222002-02-05 Richard Henderson <rth@redhat.com>
13323
13324 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
13325
a824924d
HPN
133262002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
13327
13328 Implement using "base addresses" in insn operands as default.
13329 * config/mmix/mmix.c (mmix_conditional_register_usage): if
13330 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
13331 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
13332 used to read the rtx value.
13333 (mmix_target_asm_function_epilogue): Fix spacing.
13334 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
13335 (mmix_legitimate_address): Ditto.
13336 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
13337 should be loaded with a GETA insn. Don't allocate needless extra
13338 char for nul termination and fix misleading comment.
13339 (mmix_print_operand_address): Handle constants if
13340 TARGET_BASE_ADDRESSES.
13341 (mmix_output_register_setting): Use base addressing if
13342 TARGET_BASE_ADDRESSES and the number of insns is 3.
13343 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
13344 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
13345 to use R as constraint, add LDA to match s.
13346 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
13347 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
13348 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
13349 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
13350 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
13351 order with other fixed registers.
13352 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
13353 other parameter/call-clobbered registers.
13354 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
13355 -mbase-addresses, -mno-base-addresses.
13356 (MMIX Options): Ditto.
13357
73c342b9
JDA
133582002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
13359
13360 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
13361
ef238c58
AH
133622002-02-06 Aldy Hernandez <aldyh@redhat.com>
13363
831c4e87 13364 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 13365
ad08e60e
JT
133662002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
13367
13368 * config/netbsd.h (WCHAR_TYPE): Define.
13369 (WCHAR_TYPE_SIZE): Ditto.
13370 (WINT_TYPE): Ditto.
13371 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
13372 (WCHAR_UNSIGNED): Ditto.
13373 (WCHAR_TYPE_SIZE): Ditto.
13374 (WINT_TYPE): Ditto.
13375 * config/arm/netbsd.h: Likewise.
13376 * config/i386/netbsd-elf.h: Likewise.
13377 * config/i386/netbsd.h: Likewise.
13378 * config/m68k/netbsd-elf.h: Likewise.
13379 * config/m68k/netbsd.h: Likewise.
13380 * config/ns32k/netbsd.h: Likewise.
13381 * config/sparc/netbsd.h: Likewise.
13382 * config/vax/netbsd.: Likewise.
13383
f913c102
AO
133842002-02-05 Alexandre Oliva <aoliva@redhat.com>
13385
13386 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
13387 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
13388 (TARGET_INITIALIZER): this.
13389 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
13390 (BITFIELD_NBYTES_LIMITED): Markup fix.
13391 * tree.h (default_ms_bitfield_layout_p): Declare.
13392 (record_layout_info): Added prev_field.
13393 * tree.c (default_ms_bitfield_layout_p): New fn.
13394 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
13395 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
13396 * stor-layout.c: Include target.h.
13397 (start_record_layout): Initialize prev_field.
13398 (place_field): Handle MS bit-field layout, and disregard
13399 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
13400 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
13401 * Makefile.in (stor-layout.o): Adjust dependencies.
13402
c13db5d1
JM
134032002-02-05 Jason Merrill <jason@redhat.com>
13404
c13db5d1
JM
13405 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
13406
4505024e
AJ
134072002-02-05 Andreas Jaeger <aj@suse.de>
13408
13409 * crtstuff.c: Fix comments.
13410
794ad79d
RH
134112002-02-05 Richard Henderson <rth@redhat.com>
13412
2e279a9b
RH
13413 PR fortran/3393
13414 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
13415 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
13416
794ad79d
RH
13417 PR fortran/3392
13418 * config/mips/mips.c (function_arg): Handle TImode.
13419 (function_arg_advance): Likewise.
13420
8f909017
AH
134212002-02-05 Aldy Hernandez <aldyh@redhat.com>
13422
c13db5d1
JM
13423 * config/rs6000/altivec.h (vec_step_help): Rename to
13424 __vec_step_help.
8f909017 13425
66daa9e3
AH
134262002-02-05 Aldy Hernandez <aldyh@redhat.com>
13427
c13db5d1 13428 * config/rs6000/altivec.h: Fix typos.
66daa9e3 13429
2696e97b
JT
134302002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
13431
13432 * config/arm/netbsd.h: Correct a comment.
13433
3deb2758
AH
134342002-02-05 Aldy Hernandez <aldyh@redhat.com>
13435
c13db5d1
JM
13436 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
13437 building void typed builtins.
3deb2758 13438
c13db5d1
JM
13439 * config/rs6000/altivec.h (vec_ld*): Fix typos.
13440 (vec_step): Implement for C++.
3deb2758 13441
c13db5d1 13442Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
13443
13444 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
13445
ebbb0a63
RH
134462002-02-04 Richard Henderson <rth@redhat.com>
13447
13448 * combine.c (nonzero_bits): Re-introduce special case for
13449 sp/fp/ap wrt REGNO_POINTER_ALIGN.
13450
ae4b4a02
AH
134512002-02-05 Aldy Hernandez <aldyh@redhat.com>
13452
c13db5d1
JM
13453 * doc/extend.texi: Warn about unsupported usage of altivec
13454 builtins.
ae4b4a02 13455
c13db5d1
JM
13456 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
13457 (altivec_predicate_*): New.
ae4b4a02 13458
c13db5d1
JM
13459 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
13460 Add C++ version of vec_*() functions.
ae4b4a02 13461
c13db5d1
JM
13462 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
13463 (bdesc_2arg): Remove altivec predicates.
13464 (altivec_expand_builtin): Handle predicates.
13465 (altivec_init_builtins): Handle predicates.
13466 (altivec_expand_predicate_builtin): New.
ae4b4a02 13467
f6bcf44c
JDA
134682002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
13469
13470 * pa.c (DO_FRAME_NOTES): Move forward.
13471 (store_reg): Revise handling of frame notes.
13472 (load_reg): Likewise.
13473 (set_reg_plus_d): Likewise.
13474 (hppa_expand_prologue): Likewise.
13475 (hppa_expand_epilogue): Likewise.
b137f9fc 13476
703b0080
JDA
134772002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
13478
13479 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
13480
6f9fdf4d
JJ
134812002-02-04 Jakub Jelinek <jakub@redhat.com>
13482
13483 PR c/4475, c++/3780:
13484 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
13485 * c-common.h (SWITCH_TYPE): Define.
13486 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
13487 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
13488 Rename spareness variable to sparseness.
13489 (expand_end_case_type): Renamed from expand_end_case, use orig_type
13490 if non-NULL instead of TREE_TYPE (orig_index).
13491 * tree.h (expand_end_case_type): Renamed from expand_end_case.
13492 (expand_end_case): Define using expand_end_case_type.
13493 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
13494 to expand_end_case_type.
13495 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
13496
79109502
JDA
134972002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
13498
13499 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
13500 (BIGGEST_ALIGNMENT): Change to 128.
13501
e62a5987
JDA
135022002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
13503
13504 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
13505
219f24a4
JDA
135062002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
13507
13508 * pa.md (call_internal_reg_64bit): Remove unused variable.
13509
3cb66fd7
NC
135102002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
13511
13512 * config/arm/arm.h (machine_function): Add uses_anonymous_args
13513 field.
831c4e87 13514 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 13515 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
13516 replace uses with cfun->machine->uses_anonymous_args.
13517 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
13518
13519 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
13520 any geenral register.
b137f9fc 13521
5d5603e2 135222001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
13523
13524 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
13525 the entry block.
13526
563c12b0
RH
135272002-02-04 Richard Henderson <rth@redhat.com>
13528
13529 * combine.c (force_to_mode): Remove STACK_BIAS code.
13530 (nonzero_bits): Likewise. Replace sp/fp special case with
13531 REGNO_POINTER_ALIGN.
13532
13533 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
13534 (HARD_FRAME_POINTER_REGNUM): New.
13535 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
13536 (FIXED_REGS, CALL_USED_REGS): Update.
13537 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
13538 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
13539 (HARD_REGNO_NREGS): Update for SFP.
13540 (STACK_POINTER_OFFSET): Include bias here ...
13541 (FIRST_PARM_OFFSET): ... not here.
13542 (STACK_BIAS): Remove.
13543 (INIT_EXPANDERS): New.
13544 (STARTING_FRAME_OFFSET): Do not include bias.
13545 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
13546 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
13547 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
13548 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
13549 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
13550 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
13551 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
13552 (MUST_SAVE_REGISTER): Likewise.
13553 (sparc_flat_function_prologue): Likewise.
13554 (sparc_flat_function_epilogue): Likewise.
13555 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
13556 (sparc_init_modes): SFP is GENERAL_REGS.
13557 (sparc_builtin_saveregs): SFP does not have bias applied.
13558
14691f8d
RH
135592002-02-04 Richard Henderson <rth@redhat.com>
13560
13561 * config/alpha/alpha.c (current_function_is_thunk): Don't check
13562 current_function_is_thunk.
13563 (alpha_sa_mask): Distinguish between current_function_is_thunk
13564 called from ASM_OUTPUT_MI_THUNK and not.
13565 (alpha_does_function_need_gp): Thunks always need gp.
13566 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
13567 (alpha_output_mi_thunk_osf): New.
13568 * config/alpha/alpha-protos.h: Update.
13569 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
13570
af702de8
RS
135712002-02-04 Richard Sandiford <rsandifo@redhat.com>
13572
13573 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
13574 function types, not when they're taken away.
13575
5b1cacd8
JL
13576Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
13577
13578 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
13579 CODE_LABEL and jump table when replacing a table jump with a
13580 simple jump.
13581
f3e9edff
UW
135822002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
13583
13584 * config/s390/s390-protos.h (legitimize_la_operand,
13585 s390_secondary_input_reload_class, s390_plus_operand,
13586 s390_expand_plus_operand): Add prototypes.
13587
13588 config/s390/s390.c (s390_secondary_input_reload_class,
13589 s390_plus_operand, s390_expand_plus_operand): New functions.
13590
13591 (struct s390_address): New member 'pointer'.
13592 (s390_decompose_address): Compute it.
13593 (legitimate_la_operand_p): Use it.
13594 (legitimize_la_operand): New function.
13595 (movti, movdi, movdf splitters): Call it.
13596
13597 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
13598 (PREDICATE_CODES): Add s390_plus_operand.
13599
13600 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
13601 (la_ccclobber): Allow GENERAL_REGS as output operand.
13602
13603 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
13604 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
13605 (*la_64, *la_31, reload_indi, reload_insi): ... these.
13606
3c9a08ec
UW
136072002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
13608
13609 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
13610 register names for regular asm () construct.
13611
ac300a45
JJ
136122002-02-04 Jakub Jelinek <jakub@redhat.com>
13613
13614 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
13615 registers.
13616
fa852403
JJ
136172002-02-04 Jakub Jelinek <jakub@redhat.com>
13618
13619 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
13620 pat for recog.
13621
fecaac37
HP
136222002-02-04 Hartmut Penner <hpenner@de.ibm.com>
13623
831c4e87
KC
13624 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
13625 constant pool to be identical by string address and index.
fecaac37 13626
10c45943
AG
136272002-02-04 Anthony Green <green@redhat.com>
13628
13629 * output.h (SECTION_OVERRIDE): Define.
13630 * varasm.c (named_section): Obey SECTION_OVERRIDE.
13631
69474c3c
JT
136322002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
13633
13634 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
13635 by existing arm*-*-netbsd* (a.out) target.
13636 (ns32k-*-netbsdelf*): Likewise.
13637 (sparc-*-netbsdelf*): Likewise.
13638 (vax-*-netbsdelf*): Likewise.
13639
939a46f6 136402002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
13641
13642 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
13643 headers and libobjc headers.
13644
136452002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
13646
13647 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
13648 (_mingw.h): Remove duplicate include.
13649
2fd95d71
JT
136502002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
13651
13652 * config.gcc: Set cpu_type to m68k for 68010, as well.
13653 (m68010-*-netbsdelf*): New...
13654 (m68k*-*-netbsdelf*): ...targets.
13655 * config/m68k/netbsd-elf.h: New file.
13656
0ea6f6a0
KH
136572002-02-02 Kazu Hirata <kazu@hxi.com>
13658
13659 * config/h8300/h8300.c (hand_list): Move inside function_arg.
13660
cbf1b2da
KH
136612002-02-02 Kazu Hirata <kazu@hxi.com>
13662
13663 * config/h8300/h8300.c (h8_push_ops): Move inside
13664 h8300_init_once.
13665 (h8_pop_ops): Likewise.
13666 (h8_move_ops): Likewise.
13667
0869f126
KH
136682002-02-02 Kazu Hirata <kazu@hxi.com>
13669
13670 * config/h8300/h8300.c (os_task): Make it static.
13671 (monitor): Likewise.
13672 (pragma_saveall): Likewise.
13673
90e65b70
AO
136742002-02-02 Alexandre Oliva <aoliva@redhat.com>
13675
13676 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
13677 constant is a valid sign-extension for Pmode.
13678
9cbcd983
KH
136792002-02-02 Kazu Hirata <kazu@hxi.com>
13680
13681 * config/h8300/h8300.c: Fix formatting.
13682
7a27efc4
KH
136832002-02-02 Kazu Hirata <kazu@hxi.com>
13684
13685 * config/h8300/h8300.md: Fix formatting.
13686
54175a44
KH
136872002-02-02 Kazu Hirata <kazu@hxi.com>
13688
13689 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
13690 predicates of operands[1]. Split the patterns for each
13691 processor variant.
13692
eceb1755
KH
136932002-02-02 Kazu Hirata <kazu@hxi.com>
13694
13695 * config/h8300/h8300.md (xor patterns): Tighten the predicates
13696 of operands[1] to register_operand.
13697
0fef3fd0
NB
136982002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
13699
13700 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
13701 * cpphash.c (_cpp_init_hashtable): Similarly.
13702 * cppinit.c (cpp_create_reader): Default the signed_char flag.
13703 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
13704 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
13705 (cpp_handle_option): Handle the new options.
13706 * cpplex.c (cpp_interpret_charconst): Use new flag.
13707 * cpplib.h (struct cpp_options): New member signed_char.
13708 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
13709 (cpp_options): Handle -fsigned-char and -funsigned-char.
13710 (static_specs): Remove signed_char_spec.
13711 (do_spec1): Don't handle %c.
13712 * system.h: Poison SIGNED_CHAR_SPEC.
13713 * tradcif.y (yylex): Use flag_signed_char.
13714 * tradcpp.h (flag_signed_char): New.
13715 * tradcpp.c (flag_signed_char): New.
13716 (main): Handle new command-line options.
13717 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
13718config:
13719 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
13720 * avr/avr.h: Remove old comments.
13721 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
13722 (CC1_SPEC): Pass -fsigned-char if -mic*.
13723 (SIGNED_CHAR_SPEC): Remove.
13724doc:
13725 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
13726
0617ed52
EC
137272002-02-01 Eric Christopher <echristo@redhat.com>
13728
13729 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
13730 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
13731 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
13732 (ASM_OUTPUT_REG_POP): Ditto.
13733
dfd48d76
NB
137342002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
13735
13736 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
13737 patch.
13738
4a23409e
JJ
137392002-02-02 Jakub Jelinek <jakub@redhat.com>
13740
13741 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
13742
d3c52658
JJ
137432002-02-02 Jakub Jelinek <jakub@redhat.com>
13744
13745 PR c/5304:
13746 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
13747 unconditionally.
13748
02c5a3bd
JJ
137492002-02-01 Janis Johnson <janis187@us.ibm.com>
13750
13751 * cfganal.c: Include tm_p.h.
13752 (keep_with_call_p): Fix the test that determines if a register holds
13753 the return value of a call.
13754
3968de80
DD
137552002-02-01 DJ Delorie <dj@redhat.com>
13756
13757 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
13758 we are given conflicting registers, switch to the other one we
13759 had allocated for us.
13760 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
13761 as TImode so we know when the "other" register is available.
13762
1338ea6c
DB
137632002-02-01 David O'Brien <obrien@FreeBSD.org>
13764
13765 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
13766 sparc/sparc_bi.h.
13767
f015be23
JJ
137682002-02-01 Janis Johnson <janis187@us.ibm.com>
13769
13770 * cfganal.c (keep_with_call_p): New function.
13771 (flow_call_edges_add): Prevent splitting a block between a call and
13772 a single-set instruction that should be kept in the same block.
13773
63708ffc
CR
137742002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
13775
13776 * doc/install.texi (avr): Update outdated URL.
13777
5ee4950e
AH
137782002-01-30 Andrew Haley <aph@cambridge.redhat.com>
13779
831c4e87
KC
13780 * config/stormy16/stormy16.md (pushqi): New.
13781 (popqi): New.
13782 (pushhi): New.
13783 (pophi): New.
13784 (movhi): Remove stack operands.
13785 (movqi): Likewise.
13786 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
13787 nonimmediate_nonstack_operand.
13788 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
13789 New.
13790 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
13791 New.
5ee4950e 13792
b88c0704
JM
137932002-01-31 Jason Merrill <jason@redhat.com>
13794
13795 * Makefile.in (c-parse.c): Handle .output file.
13796 * objc/Make-lang.in (objc-parse.c): Likewise.
13797
ac282977
AO
137982002-02-01 Alexandre Oliva <aoliva@redhat.com>
13799
13800 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
13801 the -me[lb] option is given. Don't output the default flag
13802 twice.
13803
bebc7e8b
ZW
138042002-01-31 Zack Weinberg <zack@codesourcery.com>
13805
13806 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
13807 the primary source file; this has not been done yet.
13808 * c-decl.c (c_expand_body): Reset input_filename from
13809 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
13810
5809eb5f
KH
138112002-01-31 Kazu Hirata <kazu@hxi.com>
13812
13813 * rtlanal.c (subreg_regno_offset): Do not use
13814 SUBREG_REGNO_OFFSET.
13815 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
13816 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
13817
8512bbd7
JM
138182002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
13819
13820 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
13821 version rather than GNATS version in --version output.
13822
74cb3cc8
RS
138232002-01-31 Richard Sandiford <rsandifo@redhat.com>
13824
13825 * ifcvt.c (noce_process_if_block): Make a copy of the destination
13826 when copying back from a temporary.
13827
874b5b14
RH
138282002-01-30 Richard Henderson <rth@redhat.com>
13829
13830 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
13831 and new_dest are the same.
13832
e803a64b
RH
138332002-01-30 Richard Henderson <rth@redhat.com>
13834
89cf7be5 13835 PR opt/5076
e803a64b
RH
13836 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
13837 * rtl.c (note_insn_name): Update.
13838 * emit-rtl.c (remove_unnecessary_notes): Kill it.
13839 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
13840 to perform loop rotation.
13841 (expand_exit_loop_top_cond): New.
13842 * tree.h (expand_exit_loop_top_cond): Declare it.
13843 * c-semantics.c (genrtl_while_stmt): Use it.
13844 (genrtl_for_stmt): Likewise.
13845
0b51254d
AO
138462002-01-30 Alexandre Oliva <aoliva@redhat.com>
13847
13848 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
13849 arguments to 64-bit boundaries on 64-bit ABIs.
13850
71cef493
SE
138512002-01-30 Steve Ellcey <sje@cup.hp.com>
13852
13853 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
13854
6169e5fd
JM
138552002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
13856
13857 * c-decl.c (grokdeclarator): Handle type being a typedef for an
13858 invalid type.
13859
86f808dc
DB
138602002-01-30 David O'Brien <obrien@FreeBSD.org>
13861
13862 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
13863 * config/sparc/sparc_bi.h: Remove file.
13864 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
13865
5748ebeb
RH
138662002-01-30 Richard Henderson <rth@redhat.com>
13867
13868 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
13869
20d32cc2
ZW
138702002-01-30 Zack Weinberg <zack@codesourcery.com>
13871
13872 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
13873
b88c0704 138742002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
13875
13876 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
13877 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
13878 (reg_save): Use DW_CFA_offset_extended_sf instead.
13879
13880 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
13881
37060e78
JJ
138822002-01-29 Jakub Jelinek <jakub@redhat.com>
13883
13884 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
13885 in cselib_lookup.
13886
d18dba68
AH
138872002-01-29 Aldy Hernandez <aldyh@redhat.com>
13888
bebc7e8b
ZW
13889 * rs6000.md ("*call_value_local32"): Remove constraints.
13890 ("*call_value_local64"): Same.
13891 ("*call_value_indirect_nonlocal_aix32"): Same.
13892 ("*call_value_nonlocal_aix32"): Same.
13893 ("*call_value_indirect_nonlocal_aix64"): Same.
13894 ("*call_value_nonlocal_aix64"): Same.
13895 ("*call_value_nonlocal_sysv"): Same.
d18dba68 13896
80a8aac6
RH
138972002-01-29 Richard Henderson <rth@redhat.com>
13898
13899 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
13900
12beba6f
RH
139012002-01-29 Richard Henderson <rth@redhat.com>
13902
13903 * expr.c (force_operand): Ignore flag_pic for detecting pic
13904 address loads.
13905 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
13906 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
13907 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
13908 instead of open-coded loop.
13909 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
13910 be fixed when in use.
13911
2583081e
RH
139122002-01-29 Richard Henderson <rth@redhat.com>
13913
13914 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
13915 * sched-rgn.c (propagate_deps): Update them.
13916 * sched-deps.c (sched_analyze_insn): Update them. Flush the
13917 clobbers list when either gets too long.
13918
3b8d200e
JJ
139192002-01-29 Jakub Jelinek <jakub@redhat.com>
13920
13921 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
13922 and INDEX_REGS the same as GENERAL_REGS.
13923 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
13924
2d3115eb
NB
139252002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
13926
bebc7e8b 13927 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 13928
ecbe845e
UW
139292002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
13930
bebc7e8b 13931 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 13932 movstrsix_31): Remove, replace by ...
bebc7e8b 13933 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
13934 movstrsi_long): ... these. New.
13935 (movstrdi, movstrsi): Adapt.
13936
13937 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 13938 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
13939 Remove unnecessary CC clobber.
13940 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
13941 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
13942
13943 (divmoddi4): Don't partially initialize TImode register.
13944
0b32fca5
GK
139452002-01-29 Geoffrey Keating <geoffk@redhat.com>
13946
13947 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
13948
08ef5437
RH
139492002-01-29 Richard Henderson <rth@redhat.com>
13950
13951 * flow.c (print_rtl_and_abort): Remove.
13952 (print_rtl_and_abort_fcn): Remove.
13953 (verify_local_live_at_start): Use dump_bb instead.
13954 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
13955 (verify_wide_reg_1): Return 2 on mode test failure.
13956
8469e54e
NB
139572002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
13958
13959 PR c/3325, c/3326, c/2511, c/3347
13960 * c-decl.c (enum_decl_context): Remove BITFIELD.
13961 (grokdeclarator): Take bitfield width as an input.
13962 Ensure bitfields are given the correct type. Perform
13963 bitfield width validation with build_bitfield_integer_type
13964 rather than waiting for finish_struct.
13965 (grok_typename, grok_typename_in_parm_context, start_decl,
13966 push_parmdecl, grokfield, start_function): Update calls to
13967 grokdeclarator.
13968 (build_bitfield_integer_type): New function.
13969 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 13970 and build_bitfield_integer_type.
8469e54e
NB
13971 * tree.c (build_nonstandard_integer_type): New function.
13972 * tree.h (build_nonstandard_integer_type): New prototype.
13973objc:
13974 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
13975
ffdeea47
JJ
139762002-01-29 Jakub Jelinek <jakub@redhat.com>
13977
13978 PR other/1502:
13979 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
13980 don't ignore unrecognized -W* options.
13981 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
13982 * cpplib.h (cpp_handle_option): Adjust prototype.
13983 * c-decl.c (c_decode_options): Pass 0 as last argument to
13984 cpp_handle_option.
13985
13986 PR c/2896:
13987 * gcc.c (cpp_unique_options): Split from cpp_options.
13988 (cpp_options): Source cpp_unique_options.
13989 (default_compilers): Use cpp_unique_options instead of cpp_options
13990 when used together with cc1_options.
13991 (static_specs): Add cpp_unique_options.
13992 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
13993 when used together with cc1_options.
13994
1a275226
KH
139952002-01-29 Kazu Hirata <kazu@hxi.com>
13996
13997 * config/h8300/h8300-protos.h: Update the prototype of
13998 output_a_shift.
13999 * config/h8300/h8300.c (output_a_shift): Remove an unused
14000 argument 'insn'. Remove redundant code.
14001 * config/h8300/h8300.md: Adust to the new prototype of
14002 output_a_shift.
14003
a11d9dfc
KH
140042002-01-29 Kazu Hirata <kazu@hxi.com>
14005
14006 * config/h8300/h8300-protos.h: Update the prototypes of
14007 emit_a_rotate and expand_a_rotate.
14008 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
14009 first argument to 'enum rtx_code'.
14010 (expand_a_rotate): Likewise.
14011
871f73e3
KH
140122002-01-28 Kazu Hirata <kazu@hxi.com>
14013
14014 * config/h8300/h8300-protos.h: Update the prototype of
14015 output_simode_bld.
14016 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
14017 'log2'.
14018 * config/h8300/h8300.md: Adjust to the new prototype.
14019
5fc4b751
KH
140202002-01-28 Kazu Hirata <kazu@hxi.com>
14021
14022 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
14023 redundant code.
14024
2d67bd7b
JDA
140252002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
14026
14027 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
14028 is a fixed register before returning pic_offset_table_rtx.
14029 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
14030 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
14031
5a852b3e
JM
140322002-01-28 Jason Merrill <jason@redhat.com>
14033
6bb28965 14034 * dwarf2.h: Sync with src version.
5a852b3e 14035
3bca17dd
PK
140362002-01-28 Paul Koning <pkoning@equallogic.com>
14037
14038 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
14039 BT_FN_VOID_PTR_VAR.
14040 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
14041 * doc/extend.texi (__builtin_prefetch): Update documentation:
14042 first argument is now const void ptr.
14043
7dc3f8c0
KH
140442002-01-28 Kazu Hirata <kazu@hxi.com>
14045
14046 * config/h8300/h8300-protos.h: Remove an unused prototype.
14047
e83cb5f0
RZ
140482002-01-28 Roman Zippel <zippel@linux-m68k.org>
14049
14050 * toplev.c (lang_independent_init): Round up identifier size.
14051
5721cd84
RE
140522002-01-28 Richard Earnshaw <rearnsha@arm.com>
14053
14054 * config.gcc: Revert previous change.
14055
d534119e
AP
140562002-01-28 Andris Pavenis <pavenis@latnet.lv>
14057
14058 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
14059
5a721dab
RE
140602002-01-28 Richard Earnshaw <rearnsha@arm.com>
14061
14062 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
14063 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
14064 other non-elf netbsd config frags.
14065 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
14066 collect2 will does that.
14067 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
14068 shared-lib frobbing will work.
14069
da1775d6
KH
140702002-01-28 Kazu Hirata <kazu@hxi.com>
14071
14072 * config/h8300/h8300.h: Fix formatting.
14073 * config/h8300/h8300.md: Likewise.
14074
8f2e963b
LR
140752002-01-28 Loren J. Rittle <ljrittle@acm.org>
14076
14077 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
14078 the old, removed AAA_standards fix.
14079 * fixinc/fixincl.x: Rebuilt.
14080
fdae5767
HPN
140812002-01-28 Hans-Peter Nilsson <hp@axis.com>
14082
14083 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
14084 atexit call in crtbegin, hooked in after call to frame_dummy;
14085 register EH before registering __fini__start.
14086
2a2ecb63
AH
140872002-01-28 Aldy Hernandez <aldyh@redhat.com>
14088
14089 * config/rs6000/altivec.h: Remove spurious semicolons.
14090
8ed43adf
KH
140912002-01-27 Kazu Hirata <kazu@hxi.com>
14092
14093 * config/h8300/h8300.md: Replace dead bit extraction patterns
14094 with ones that work.
14095
917afb0c
RK
14096Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14097
14098 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
14099 if not STRICT_ALIGNMENT.
14100 * rtl.h (MEM_ALIGN): Likewise.
14101
f70a54cb
CR
141022002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
14103
14104 * doc/invoke.texi (-fdump-translation-unit): Revert this
14105 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
14106
d8fd4914
KH
141072002-01-27 Kazu Hirata <kazu@hxi.com>
14108
14109 * config/h8300/h8300.md (define_constants): New.
14110 (anonymous patterns) Use defined constants appropriately.
14111
15e0e275
KH
141122002-01-27 Kazu Hirata <kazu@hxi.com>
14113
14114 * config/h8300/h8300.c (function_arg): Remove redundant code.
14115
37a0f8a5
RH
141162002-01-26 Richard Henderson <rth@redhat.com>
14117
14118 * sched-deps.c (reg_pending_uses_head): New.
14119 (reg_pending_barrier): Rename from reg_pending_sets_all.
14120 (find_insn_list): Don't mark inline.
14121 (find_insn_mem_list): Remove.
14122 (add_dependence_list, add_dependence_list_and_free): New.
14123 (flush_pending_lists): Replace only_write param with separate
14124 for_read and for_write parameters. Update all callers. Use
14125 add_dependence_list_and_free.
14126 (sched_analyze_1): Do not add reg dependencies here; just set
14127 the pending bits. Use add_dependence_list.
14128 (sched_analyze_2): Likewise.
14129 (sched_analyze_insn): Replace schedule_barrier_found with
14130 reg_pending_barrier. Add all dependencies for pending reg
14131 uses, sets, and clobbers.
14132 (sched_analyze): Don't add reg dependencies for calls, just
14133 set pending bits. Use regs_invalidated_by_call. Treat
14134 sched_before_next_call as a normal list, not a fake insn.
14135 (init_deps): No funny init for sched_before_next_call.
14136 (free_deps): Free pending mems lists. Don't zero reg_last.
14137 (init_deps_global): Init reg_pending_uses.
14138 (finish_deps_global): Free it.
14139 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
14140 (find_insn_mem_list): Remove.
14141 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
14142 (propagate_deps): Use them. Zero temp mem lists.
14143
cea3bd3e
RH
141442002-01-26 Richard Henderson <rth@redhat.com>
14145
14146 * Makefile.in (CRTSTUFF_CFLAGS): New.
14147 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
14148 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
14149 crtstuff.c instead of alpha assembly version.
14150 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
14151 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
14152 not FORCE_{INIT,FINI}_SECTION_ALIGN.
14153 (__do_global_dtors_aux): Mark used.
14154 (frame_dummy, __do_global_ctors_aux): Mark used.
14155 (fini_dummy, init_dummy): Remove.
14156
14157 * config/alpha/crtbegin.asm: Remove file.
14158 * config/alpha/crtend.asm: Remove file.
14159 * config/alpha/t-crtbe: Remove file.
14160 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
14161 (LINK_EH_SPEC): New.
14162
14163 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
14164 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
14165 calling constructors.
14166 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
14167
14168 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
14169 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
14170 CRT_END_INIT_DUMMY hack.
14171 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
14172 FORCE_{INIT,FINI}_SECTION_ALIGN.
14173
14174 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
14175 FORCE_{INIT,FINI}_SECTION_ALIGN.
14176
14177 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
14178 invocation sequence.
14179 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
14180
14181 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
14182 (FORCE_CODE_SECTION_ALIGN): New.
14183
60ffa0e5
RH
141842002-01-26 Richard Henderson <rth@redhat.com>
14185
14186 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
14187
61334ebe
RH
141882002-01-26 Richard Henderson <rth@redhat.com>
14189
14190 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
14191 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
14192
1d788fb6
KH
141932002-01-26 Kazu Hirata <kazu@hxi.com>
14194
14195 * config/h8300/h8300.md: Remove bit extraction patterns that
14196 cannot be triggered.
14197 Restrict each bit extraction pattern to a variant on which the
14198 pattern is tested.
14199
87611f88
JM
142002002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
14201
14202 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
14203
cd74ec59
KH
142042002-01-26 Kazu Hirata <kazu@hxi.com>
14205
14206 * config/h8300/h8300.md: Remove bit test patterns that cannot
14207 be triggered.
14208 Restrict each bit test pattern to a variant on which the
14209 pattern is tested.
14210
93051e0f
KG
142112002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14212
14213 * builtins.c (expand_builtin_strncat): Remove redundant check for
14214 INTEGER_CST.
14215
216c995f
DB
142162002-01-25 David O'Brien <obrien@FreeBSD.org>
14217
14218 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
14219 default setting.
14220 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
14221 existing setting.
14222
33c7f925
GK
142232002-01-25 Geoffrey Keating <geoffk@redhat.com>
14224
14225 * dbxout.c (dbxout_init): Use assemble_name rather than just
14226 stripping off the first character.
14227 (dbxout_source_file): Likewise.
14228
6cd444b4
DD
142292002-01-25 DJ Delorie <dj@redhat.com>
14230
14231 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
14232 using rtx_equal_p, not by comparing pointers.
14233
751551d5
SE
142342002-01-25 Steve Ellcey <sje@cup.hp.com>
14235
14236 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
14237 for PIC_OFFSET_TABLE_REGNUM.
14238 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
14239
e564e618
DB
142402002-01-25 David O'Brien <obrien@FreeBSD.org>
14241
14242 * config.gcc (x86_64-*-freebsd*): New target.
14243 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
14244 value.
14245 (i[34567]86-*-freebsd*): Don't include svr4.h.
14246 * config/i386/freebsd64.h: New file.
14247
ff3aaf17
DR
142482002-01-25 Douglas B Rupp <rupp@gnat.com>
14249
4857d29d
DR
14250 * config/alpha/x-vms (version): Make static.
14251
14252 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
14253 in previous checkin.
14254
ff3aaf17
DR
14255 * Makefile.in (install-headers-cp): New target.
14256 * config.gcc (alpha-dec-*vms*): Install headers with
14257 install-headers-cp
14258
48d79c43
JH
14259Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
14260
14261 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
14262 avoid it's copies.
14263
995b5904
RK
14264Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14265
14266 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
14267 of compare_tree_int.
14268 (expand_builtin_strncat): Likewise.
14269 * c-decl.c (finish_struct): Use tree_low_cst.
14270 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
14271 * tree.c (compare_tree_int): Likewise.
14272
75eefe3f
UW
142732002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
14274
14275 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
14276 adjustments even if they are implemented by more than two insns.
14277
5a133afd
JH
14278Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
14279
995b5904 14280 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
14281 * df.h (struct ref): Kill B.
14282 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
14283
14284 * basic-block.h (PROP_EQUAL_NOTES): New flag.
14285 * flow.c (propagate_one_insn): Use it.
14286 (mark_used_regs): Handle NIL.
14287
ead39bdf 142882002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
14289
14290 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
14291 to help folding.
14292
01a2ccd0
DE
142932002-01-25 David Edelsohn <edelsohn@gnu.org>
14294
14295 * rs6000.md (prefetch): Make address V4SI mode so that the address
14296 is restricted to legitimate form for instruction.
14297
fd29f6ea
BW
142982002-01-25 Bob Wilson <bob.wilson@acm.org>
14299
14300 * doc/install.texi (xtensa-*-elf): New target.
14301 (xtensa-*-linux*): New target.
14302 * doc/contrib.texi: Add myself.
14303
55492b32
NC
143042002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
14305
14306 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
14307 purpose register to hold an SImode (or smaller) value.
14308
72c7c913
JJ
143092002-01-25 Jakub Jelinek <jakub@redhat.com>
14310
14311 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
14312 registry only.
14313 * crtstuff.c: Likewise.
14314
c4df4ceb
KH
143152002-01-25 Kazu Hirata <kazu@hxi.com>
14316
14317 * config/h8300/h8300.md (negation patterns): Tighten
14318 predicates to register_operand.
14319
70e531f5
AH
143202002-01-24 Aldy Hernandez <aldyh@redhat.com>
14321
3bca17dd
PK
14322 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
14323 mode, not Pmode.
70e531f5 14324
3bca17dd 14325 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 14326
a4f76ef9
AO
143272002-01-24 Alexandre Oliva <aoliva@redhat.com>
14328
14329 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
14330 modes.
14331
9bf25b09
KH
143322002-01-24 Kazu Hirata <kazu@hxi.com>
14333
14334 * config/h8300/h8300.c (print_operand): Remove support for
14335 operand character 'A'.
14336 * config/h8300/h8300.md (three anonymous patterns): Replace
14337 operand character 'A' with either 'T' or 'S'.
14338
974af6a5
KH
143392002-01-24 Kazu Hirata <kazu@hxi.com>
14340
14341 * config/h8300/h8300.c (print_operand): Remove support for
14342 operand character 'U'.
14343
7a5bb7b8
AP
143442002-01-24 Andris Pavenis <pavenis@latnet.lv>
14345
3bca17dd 14346 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 14347
92a4639e
NC
143482002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
14349
14350 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
14351 values to be assigned to the stack pointer.
14352
467cb2da
HP
143532002-01-14 Hartmut Penner <hpenner@de.ibm.com>
14354
bebc7e8b 14355 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
14356 to const_double needs to be done right for big-endian systems.
14357
3b6cb920
JM
143582002-01-24 Jason Merrill <jason@redhat.com>
14359
b08dd119 14360 PR c++/2432
3b6cb920
JM
14361 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
14362 to can_throw_internal.
14363
f3077311
RH
143642002-01-23 Richard Henderson <rth@redhat.com>
14365
14366 * fold-const.c (fold): Change UINT_MAX test to check vs precision
14367 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
14368
e1d71275
AO
143692002-01-24 Alexandre Oliva <aoliva@redhat.com>
14370
14371 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
14372 (symGOT2reg): Use them, then set as GOT value as unchanging.
14373 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
14374 as a temporary, if possible.
14375 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
14376 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
14377
dc271dbe
KH
143782002-01-23 Kazu Hirata <kazu@hxi.com>
14379
14380 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
14381 accept to accept 0x80 as operands[2].
14382
1a9017f9
AO
143832002-01-24 Alexandre Oliva <aoliva@redhat.com>
14384
14385 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
14386
6932f033
RH
143872002-01-23 Richard Henderson <rth@redhat.com>
14388
14389 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
14390
709619d9
AH
143912002-01-23 Aldy Hernandez <aldyh@redhat.com>
14392
3bca17dd
PK
14393 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
14394 (parmlist_or_identifiers_1): Verify that only a parmlist follows
14395 an attribute.
709619d9 14396
3d709fd3
RH
143972002-01-23 Richard Henderson <rth@redhat.com>
14398
14399 * expr.c (move_by_pieces_1): Extend size before negation.
14400
88a446c0
RH
14401 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
14402 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
14403 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
14404 * config/m68k/t-m68kelf: Likewise.
14405
03984308
BW
144062002-01-23 Bob Wilson <bob.wilson@acm.org>
14407
14408 * config/xtensa/elf.h: New file.
14409 * config/xtensa/lib1funcs.asm: New file.
14410 * config/xtensa/lib2funcs.S: New file.
14411 * config/xtensa/linux.h: New file.
14412 * config/xtensa/t-xtensa: New file.
14413 * config/xtensa/xtensa-config.h: New file.
14414 * config/xtensa/xtensa-protos.h: New file.
14415 * config/xtensa/xtensa.c: New file.
14416 * config/xtensa/xtensa.h: New file.
14417 * config/xtensa/xtensa.md: New file.
14418 * config.gcc (xtensa-*-elf*): New target.
14419 (xtensa-*-linux*): New target.
14420 * cse.c (canon_hash): Compare rtx pointers instead of register
14421 numbers. This is required for the Xtensa port.
14422 * integrate.c (copy_insn_list): Handle case where the static
14423 chain is in memory and the memory address has to be copied to
14424 a register.
14425 * doc/invoke.texi (Option Summary): Add Xtensa options.
14426 (Xtensa Options): New node.
14427 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
14428
c3d5c3fa
ZW
144292002-01-23 Zack Weinberg <zack@codesourcery.com>
14430
a63bea75
ZW
14431 * diagnostic.c (internal_error): Do ICE suppression only
14432 when ENABLE_CHECKING is not defined.
14433
c3d5c3fa
ZW
14434 * c-typeck.c (require_complete_type): Return error_mark_node
14435 if type is error_mark_node.
14436
1398974c
JJ
144372002-01-23 Janis Johnson <janis187@us.ibm.com>
14438
14439 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
14440 -Os and issue a warning.
14441
807633e5
ZW
144422002-01-23 Zack Weinberg <zack@codesourcery.com>
14443
14444 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
14445 current (lack of) need for host configuration by hand.
14446
14447 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
14448 references. Documentation of some target macros moved from
14449 hostconfig.texi to tm.texi.
14450
cf8002d0
WC
144512002-01-23 Will Cohen <wcohen@redhat.com>
14452
14453 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
14454 defined.
14455
d1e76310
KH
144562002-01-23 Kazu Hirata <kazu@hxi.com>
14457
14458 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
14459 operand[3].
14460
b2115575
JM
144612002-01-23 Jason Merrill <jason@redhat.com>
14462
f893c16e
JM
14463 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
14464
b2115575
JM
14465 * function.c (assign_parms): Don't put args of inline functions
14466 into registers when not optimizing.
14467
6bacc7b0
NC
144682002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
14469
14470 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
14471 (prologue_use): New pattern.
14472 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
14473 preference to gen_rtx_USE.
14474 (thumb_expand_prologue): Use gen_prologue_use in preference to
14475 gen_rtx_USE.
14476 (thumb_expand_epilogue): Use gen_prologue_use in preference to
14477 gen_rtx_USE.
14478
a415f7bc
HPN
144792002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
14480
14481 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
14482
5372b3fb
NB
144832002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
14484
14485 PR c/3504
14486 * doc/extend.texi: Correct documentation of __alignof__.
14487
bd571ffc
ZW
144882002-01-22 Zack Weinberg <zack@codesourcery.com>
14489
14490 * params.h: Rename arguments of DEFPARAM so that it will be
14491 recognized as a translation keyword.
14492
333c8841
AH
144932002-01-22 Aldy Hernandez <aldyh@redhat.com>
14494
bd571ffc
ZW
14495 * extend.texi: Document altivec functions.
14496 Fix N-bit adjectives in X86 builtin documentation.
333c8841 14497
38979c65
AO
144982002-01-22 Alexandre Oliva <aoliva@redhat.com>
14499
14500 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
14501 auto_inc_dec values.
14502
7458a9f0
RE
145032002-01-22 Richard Earnshaw <rearnsha@arm.com>
14504
14505 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
14506 after backslash.
14507 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
14508
129bd0c4
AO
145092002-01-22 Alexandre Oliva <aoliva@redhat.com>
14510
14511 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
14512
8b9b74a9
RH
145132002-01-22 Richard Henderson <rth@redhat.com>
14514
14515 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
14516 copy_insn not copy_rtx.
14517
d0c9db30
AM
145182002-01-23 Alan Modra <amodra@bigpond.net.au>
14519
14520 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
14521 "nonzero" as that might add "1" bits. Ensure "constop" is
14522 properly sign extened.
14523 (force_to_mode): Tweak for sign extended constop.
14524
1e7e480e
RH
145252002-01-22 Richard Henderson <rth@redhat.com>
14526
14527 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
14528 for_each_rtx instead of assuming we're already looking at the MEM.
14529 (split_small_symbolic_mem_operand): Likewise.
14530 * config/alpha/alpha.h (PREDICATE_CODES): Update.
14531 * config/alpha/alpha.md (small symbolic memory splitters): Update.
14532
145332002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
14534
14535 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
14536 sequence number for the literal.
14537 (divmoddi_internal_er): Likewise.
14538
b7f2fb96
CR
145392002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
14540
14541 PR java/4972
14542 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
14543 in LIBICONV variable.
14544 * configure: Regenerated.
14545
f66a0046
KW
145462002-01-22 Krister Walfridsson <cato@df.lth.se>
14547
14548 * dependence.c (build_def_use): Remove array_idx.
14549
e3b0efd1
KW
14550 * dwarfout.c (last_filename): Remove.
14551 (output_compile_unit_die): Remove last_filename.
14552
d8086cbb
RS
145532002-01-22 Roger Sayle <roger@eyesopen.com>
14554 Richard Henderson <rth@redhat.com>
14555
14556 PR opt/3640
14557 * fold-const.c (fold): Optimize unsigned comparisons against
14558 UINT_MAX (and similar unsigned constants).
14559
e8d52ba0
JJ
145602002-01-22 Janis Johnson <janis187@us.ibm.com>
14561
d8086cbb 14562 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 14563 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 14564 against the predicate.
11303d15 14565
e8d52ba0
JJ
14566 PR target/5379
14567 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
14568 for the address operand.
14569
cc7b420e
RH
145702002-01-22 Richard Henderson <rth@redhat.com>
14571
14572 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
14573
816e265a
CR
145742002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
14575
14576 PR other/5450
cc7b420e
RH
14577 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
14578 preprocessor flags.
816e265a 14579
7c884404
JT
145802002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
14581
14582 * config.gcc (x86_64-*-netbsd*): New target.
14583 * config/i386/netbsd64.h: New file.
14584
2b672c08
AH
145852002-01-22 Aldy Hernandez <aldyh@redhat.com>
14586
d8086cbb 14587 * regrename.c (kill_value): Fix typo.
2b672c08
AH
14588
145892002-01-22 Aldy Hernandez <aldyh@redhat.com>
14590
d8086cbb 14591 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 14592
d8086cbb 14593 * config/rs6000/rs6000.h: Same.
2b672c08 14594
d8086cbb
RS
14595 * function.c (instantiate_virtual_regs): Remove
14596 STARTING_FRAME_PHASE.
14597 (assign_stack_local_1): Same.
14598 Calculate frame phase.
2b672c08 14599
4b02997f
NC
146002002-01-22 Nick Clifton <nickc@redhat.com>
14601
14602 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
14603 variable declaration to outer scope in order to simplify
14604 future extensions.
14605 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
14606 arm_hard_regno_mode_ok.
14607 * config/arm/arm-protos.h: Add a prototype for
14608 arm_hard_regno_mode_ok.
14609 * config/arm/arm.c (soft_df_operand): Remove now redundant
14610 check for DImode values using IP_REGNUM.
14611 (nonimmediate_soft_df_operand): Remove now redundant check for
14612 DImode values using IP_REGNUM.
14613 (arm_hard_regno_mode_ok): New function. New check: make sure
14614 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
14615
14616 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
14617 note with a USE.
14618 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
14619
8a827ab2
JM
146202002-01-22 Jason Merrill <jason@redhat.com>
14621
14622 * c-semantics.c (genrtl_compound_stmt): Only check nesting
14623 consistency if this COMPOUND_STMT is scoped.
14624
cf403648
KH
146252002-01-22 Kazu Hirata <kazu@hxi.com>
14626
14627 * predict.c: Fix formatting.
14628 * print-tree.c: Likewise.
14629 * protoize.c: Likewise.
14630 * real.h: Likewise.
14631 * rtl.h: Likewise.
14632 * sbitmap.h: Likewise.
14633 * scan.c: Likewise.
14634 * sched-deps.c: Likewise.
14635 * sched-vis.c: Likewise.
14636 * sdbout.c: Likewise.
14637 * sibcall.c: Likewise.
14638 * ssa.c: Likewise.
14639 * ssa-ccp.c: Likewise.
14640 * ssa-dce.c: Likewise.
14641 * stmt.c: Likewise.
14642 * stor-layout.c: Likewise.
14643 * system.h: Likewise.
14644
aea9695c
RK
14645Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14646
a8765ae7
RK
14647 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
14648 if fits in bounds of base type.
14649
aea9695c
RK
14650 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
14651 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
14652 (add_bound_info, default): If can't find a context, make a
14653 SAVE_EXPR.
14654 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
14655
58bf601b
HPN
146562002-01-22 Hans-Peter Nilsson <hp@axis.com>
14657
14658 * c-typeck.c (parser_build_binary_op): If result from
14659 build_binary_op is ERROR_MARK just return error_mark_node without
14660 further processing.
14661
f982f805
JT
146622002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
14663
14664 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
14665 Split a.out-specific bits into...
14666 * config/netbsd-aout.h: ...this.
14667 * config/netbsd-elf.h: New file.
14668 * config/alpha/netbsd-elf.h: Remove.
14669 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
14670 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 14671 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
14672 (ENDFILE_SPEC): Likewise.
14673 (LINK_SPEC): Likewise.
14674 (CPP_SPEC): Likewise.
14675 (ASM_SPEC): Likewise.
14676 (LIB_SPEC): Likewise.
14677 (SWITCH_TAKES_ARG): Likewise.
14678 (TARGET_MEM_FUNCTIONS): Likewise.
14679 (CPP_PREDEFINES): Redefine.
14680 (ASM_FINAL_SPEC): Remove redefinition.
14681 (ASM_COMMENT_START): Redefine.
14682 (FUNCTION_PROFILER): Define.
14683 (TARGET_VERSION): Redefine.
14684 Comment and formatting cleanup.
14685 * config/i386/netbsd.h: Include <netbsd-aout.h>.
14686 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
14687 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
14688 big- or little-endian.
14689 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
14690 * config.gcc (*-*-netbsd*): Add definitions common to all
14691 NetBSD configs.
14692 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
14693 gnu_ld definitions. Add netbsd-elf.h to and remove
14694 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
14695 tmake_file, and don't lose previous tmake_file contents.
14696 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
14697 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
14698 gnu_ld definitions. Add netbsd-elf.h to tm_file.
14699 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
14700 (mipsel-*-netbsd*): Rename this to...
14701 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
14702 mips/little.h to tm_file for mips*el-*.
14703 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
14704 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
14705 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
14706
2e396476
JDA
147072002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
14708
14709 * pa-protos.h (reg_before_reload_operand): New function prototype.
14710 * pa.c (reg_before_reload_operand): New function implementation.
14711 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
14712 contraints to "*m".
14713
3b5708e7
FS
147142002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14715
14716 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
14717
85e79f96
JDA
147182002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
14719
14720 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
14721 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
14722 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
14723 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
14724 (ENDFILE_SPEC): Undefine.
14725 (STARTFILE_SPEC): Redefine for PA.
14726
38abadee
FS
147272002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14728
14729 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
14730
94f1d97c
DJ
147312002-01-21 Daniel Jacobowitz <drow@mvista.com>
14732
14733 * config.gcc: Add entries to supported PowerPC --with-cpu
14734 types.
14735
0333394e
JJ
147362002-01-21 Jakub Jelinek <jakub@redhat.com>
14737
14738 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
14739 true for 64-bit mode only SSE registers in 32-bit mode.
14740
e9d1b155
KH
147412002-01-21 Kazu Hirata <kazu@hxi.com>
14742
14743 * unwind-dw2.c: Fix formatting.
14744 * unwind-dw2-fde.c: Likewise.
14745 * unwind-dw2-fde.h: Likewise.
14746 * unwind-pe.h: Likewise.
14747 * varasm.c: Likewise.
14748 * varray.h: Likewise.
14749
07338cf8
HPN
147502002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
14751
14752 Remove workaround for register stack overwrite bug in mmix.
14753 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
14754 support for TARGET_REG_STACK_FILL_BUG.
14755 * config/mmix/mmix.h: Remove member has_call_without_parameters.
14756 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
14757 Delete.
14758 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
14759 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
14760 -mno-reg-stack-fill-bug-workaround.
14761 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
14762 machine member has_call_without_parameters.
14763 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
14764 -mreg-stack-fill-bug-workaround and
14765 -mno-reg-stack-fill-bug-workaround.
14766 (MMIX Options): Ditto.
14767
7192cbf1
KH
147682002-01-21 Kazu Hirata <kazu@hxi.com>
14769
14770 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
14771 as appropriate.
14772 Remove redundant code.
14773
d1552d7b
JM
147742002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
14775
14776 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
14777 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
14778 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
14779 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
14780 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
14781 out target macro definitions and non-target-specific comments
14782 mostly taken from old versions of the manual.
14783
ed168e45
KH
147842002-01-20 Kazu Hirata <kazu@hxi.com>
14785
14786 * config/h8300/h8300.h: Fix comment formatting.
14787 * config/ia64/aix.h: Likewise.
14788 * config/ia64/ia64-protos.h: Likewise.
14789 * config/ia64/ia64.c: Likewise.
14790 * config/ia64/ia64.h: Likewise.
14791 * config/ia64/ia64intrin.h: Likewise.
14792 * config/ia64/linux.h: Likewise.
14793 * config/ia64/unwind-aix.c: Likewise.
14794 * config/ia64/unwind-ia64.c: Likewise.
14795
005e3e05
KH
147962002-01-20 Kazu Hirata <kazu@hxi.com>
14797
14798 * config/h8300/h8300.c: Revise comments about shift code.
14799
64bead4c
KH
148002002-01-20 Kazu Hirata <kazu@hxi.com>
14801
14802 * config/h8300/h8300.c (function_arg): Update a comment.
14803
ed863595
KH
148042002-01-20 Kazu Hirata <kazu@hxi.com>
14805
14806 * config/h8300/h8300.md: Update the comments at the beginning
14807 of the file.
14808
5904dc87
KH
148092002-01-20 Kazu Hirata <kazu@hxi.com>
14810
14811 * config/i370/i370.c: Fix comment formatting.
14812 * config/i370/i370.h: Likewise.
14813 * config/i370/i370.md: Likewise.
14814 * config/i370/linux.h: Likewise.
14815
9702143f
RK
14816Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14817
cbafacd1
RK
14818 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
14819
9702143f
RK
14820 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
14821 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
14822 in incomplete case.
14823
6b6996b8
GS
148242002-01-20 Graham Stott <grahams@redhat.com>
14825
14826 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
14827
eab854f6
JDA
148282002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
14829
14830 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
14831
5b029315
TR
148322002-01-19 Tom Rix <trix@redhat.com>
14833
14834 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
14835
1d690052
AH
148362002-01-18 Aldy Hernandez <aldyh@redhat.com>
14837
d8086cbb 14838 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 14839
d8086cbb
RS
14840 * function.c (assign_stack_local_1): Adjust x_frame_offset with
14841 STARTING_FRAME_PHASE.
14842 (STARTING_FRAME_PHASE): New.
14843 (instantiate_virtual_regs): Check saneness of
14844 STARTING_FRAME_PHASE.
1d690052 14845
d8086cbb 14846 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 14847
4dd8c093
AO
148482002-01-19 Alexandre Oliva <aoliva@redhat.com>
14849
14850 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
14851
6f2a28d7
CR
148522002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
14853
14854 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
14855 be used for bootstrapping GCC 3.0.
14856
8763a465
KH
148572002-01-18 Kazu Hirata <kazu@hxi.com>
14858
14859 * config/h8300/h8300.md: Fix an insn length.
14860
3ef42a0c
KH
148612002-01-18 Kazu Hirata <kazu@hxi.com>
14862
14863 * bitmap.h: Fix comment formatting.
14864 * combine.c: Likewise.
14865 * cppfiles.c: Likewise.
14866 * c-pragma.h: Likewise.
14867 * c-typeck.c: Likewise.
14868 * df.c: Likewise.
14869 * dwarf2out.c: Likewise.
14870 * function.c: Likewise.
14871 * gcc.c: Likewise.
14872 * genattrtab.c: Likewise.
14873 * gthr-win32.h: Likewise.
14874 * haifa-sched.c: Likewise.
14875 * predict.c: Likewise.
14876 * rtlanal.c: Likewise.
14877 * rtl.h: Likewise.
14878 * unwind-dw2-fde.h: Likewise.
14879 * unwind-pe.h: Likewise.
14880 * vmsdbgout.c: Likewise.
14881
dd4dc3cd
RK
14882Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14883
14884 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
14885 if type_required and passed decl.
14886
5fb4cf24
AH
148872002-01-17 Aldy Hernandez <aldyh@redhat.com>
14888
d8086cbb
RS
14889 * config.gcc (cpu_type): Include altivec.h in powerpc
14890 extra_headers.
14891 Same for darwin.
5fb4cf24 14892
d8086cbb 14893 * config/rs6000/altivec.h: New.
5fb4cf24 14894
2705baf5
DE
148952002-01-17 David Edelsohn <edelsohn@gnu.org>
14896
14897 * doc/install.texi (*-ibm-aix*): Update assembler and exception
14898 handling information.
14899 * doc/trouble.texi (Interoperation): Add libstdc++ information
14900 for AIX.
14901 (Misunderstandings): Add template instantiation and static template
14902 member information for AIX.
14903
dbd680e1
JM
149042002-01-17 Jason Merrill <jason@redhat.com>
14905
821adc5e
JM
14906 * dbxout.c (dbxout_type): Support const and volatile.
14907
dbd680e1
JM
14908 * except.c (add_partial_entry): Remove backwards compatibility code.
14909 (end_protect_partials): Likewise.
14910
d0e82870
JJ
149112002-01-17 Jakub Jelinek <jakub@redhat.com>
14912
14913 * config/ia64/ia64.md (prologue_use): New.
14914 * config/ia64/ia64.c (ia64_expand_prologue): Use
14915 gen_prologue_use instead of gen_rtx_USE.
14916 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
14917 as CODE_FOR_pred_rel_mutex.
14918 (ia64_sched_reorder2): Likewise.
14919
f9f45c65
EC
149202002-01-16 Eric Christopher <echristo@redhat.com>
14921
14922 * config/mips/r3900.h: Reformat.
14923 (SUBTARGET_CPP_SIZE_SPEC): Remove.
14924 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
14925 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
14926 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
14927 * config/mips/t-elf: Remove mips3 multilib.
14928
c66c8b0e
L
149292002-01-16 H.J. Lu <hjl@gnu.org>
14930
14931 * config/mips/linux.h: Include "mips/abi64.h".
14932
5f083b72
L
149332002-01-16 H.J. Lu <hjl@gnu.org>
14934
14935 * config/mips/t-linux: New.
14936
14937 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
14938
14939 * config/mips/linux.h: Don't include "gofast.h".
14940 (INIT_SUBTARGET_OPTABS): Removed.
14941
af3c90a6
KH
149422002-01-16 Kazu Hirata <kazu@hxi.com>
14943
14944 * config/h8300/h8300-protos.h: Replace emit_a_shift with
14945 output_a_shift.
14946 * config/h8300/h8300.c: Likewise.
14947 * config/h8300/h8300.md: Likewise.
14948
a1bf0a16
KH
149492002-01-16 Kazu Hirata <kazu@hxi.com>
14950
14951 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
14952 spaces after an opcode name.
14953 (pushqi1_h8300hs): Likewise.
14954 (pushhi1_h8300hs): Likewise.
14955
88ab0d1c
KH
149562002-01-16 Kazu Hirata <kazu@hxi.com>
14957
14958 * doc/extend.texi: Replace "option" with "attribute"
14959 appropriately.
14960
51c561e3
JJ
149612002-01-16 Jakub Jelinek <jakub@redhat.com>
14962
14963 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
14964 (and:DI () (const_int -8)).
14965 (split_small_symbolic_mem_operand): Split
14966 (mem (and:DI () (const_int -8)).
14967
b8c1a6b8
JJ
149682002-01-16 Jakub Jelinek <jakub@redhat.com>
14969
14970 PR target/5309:
d8086cbb 14971 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
14972 same way as TYPE_IMUL.
14973 (ultrasparc_sched_reorder): Likewise.
14974 * config/sparc/sparc.md (type): Add comment to update
14975 ultrasparc_sched_reorder when making changes.
14976
1e4e4df2
KH
149772002-01-16 Kazu Hirata <kazu@hxi.com>
14978
14979 * doc/invoke.texi: Change the dump file name of block
14980 reordering pass from 28.bbro to 29.bbro.
14981 Mention -dk option.
14982
14d920c0
JH
14983Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
14984
14985 * i386.md (minsf splitter): Fix pasto.
14986
2e99323f
NC
149872002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
14988
14989 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
14990 to frame pointer initialisation instruction.
14991 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
14992 initialisation instruction.
ab8081c1
NC
14993 (soft_df_operand): Do not accept the IP register.
14994 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 14995
c4031a04
JJ
149962002-01-16 Jakub Jelinek <jakub@redhat.com>
14997
14998 PR target/5357:
14999 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
15000 MASK_V8 being both set.
15001
44b8152b
UW
150022002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
15003
15004 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
15005 insn for GOT register; add REG_MAYBE_DEAD notes instead.
15006 config/s390/s390.md (call, call_value): Add GOT register to
15007 CALL_INSN_FUNCTION_USAGE where needed.
15008 (call_exp, call_value_exp): New.
15009
1d6e90ac
NC
150102002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
15011
15012 * config/arm/arm.c: General formatting tidy up.
15013
150142002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
15015
15016 * calls.c (try_to_integrate): Use "(size_t)" intermediate
15017 cast and when casting an integer literal to "rtx" pointer.
15018 (expand_call): Likewise.
15019 * flow.c (try_pre_increment): Likewise.
15020 (find_use_as_address): Likewise.
15021 * integrate.c (expand_iline_function): Likewise.
15022 * regmove.c (try_auto_increment): Likewise.
15023
1d6e90ac 150242002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
15025
15026 * sched-rgn.c (passed): Use sbitmap_free.
15027 (header): Likewise.
15028 (inner): Likewise.
15029 (in_queue): Likewise.
15030 (in_stack): Likewise.
15031
31fce3c4
EC
150322002-01-15 Eric Christopher <echristo@redhat.com>
15033
15034 * flow.c (propagate_one_insn): Change to use fatal_insn.
15035
c99d986a
KH
150362002-01-15 Kazu Hirata <kazu@hxi.com>
15037
15038 * expmed.c (extract_fixed_bit_field): Remove unused code.
15039 * system.h: Poison SLOW_ZERO_EXTEND.
15040 * doc/tm.texi: Remove.
15041 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
15042 * config/arm/arm.h: Likewise.
15043 * config/avr/avr.h: Likewise.
15044 * config/clipper/clipper.h: Likewise.
15045 * config/convex/convex.h: Likewise.
15046 * config/d30v/d30v.h: Likewise.
15047 * config/dsp16xx/dsp16xx.h: Likewise.
15048 * config/elxsi/elxsi.h: Likewise.
15049 * config/fr30/fr30.h: Likewise.
15050 * config/h8300/h8300.h: Likewise.
15051 * config/i370/i370.h: Likewise.
15052 * config/i386/i386.h: Likewise.
15053 * config/m68k/m68k.h: Likewise.
15054 * config/mips/mips.h: Likewise.
15055 * config/ns32k/ns32k.h: Likewise.
15056 * config/pdp11/pdp11.h: Likewise.
15057 * config/pj/pj.h: Likewise.
15058 * config/s390/s390.h: Likewise.
15059 * config/sh/sh.h: Likewise.
15060 * config/stormy16/stormy16.h: Likewise.
15061 * config/v850/v850.h: Likewise.
15062 * config/vax/vax.h: Likewise.
15063 * config/we32k/we32k.h: Likewise.
15064
acfab996
AH
150652002-01-15 Aldy Hernandez <aldyh@redhat.com>
15066
d8086cbb
RS
15067 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
15068 (altivec_lvsl): Change constraint to b.
15069 (altivec_lvsr): Same.
15070 (altivec_lvebx): Same.
15071 (altivec_lvehx): Same.
15072 (altivec_lvewx): Same.
15073 (altivec_lvxl): Same.
15074 (altivec_lvx): Same.
15075 (altivec_stvx): Add parallel.
15076 (altivec_stvxl): Same.
15077 (altivec_stvehx): Same.
15078 (altivec_stvebx): Same.
15079 (altivec_stvebx): Same.
acfab996 15080
5e505bc9
AH
150812002-01-15 Aldy Hernandez <aldyh@redhat.com>
15082
d8086cbb 15083 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 15084
d8086cbb 15085 * config/rs6000/altivec.h: Delete.
5e505bc9 15086
d8086cbb 15087 * config/rs6000/altivec-defs.h: Add.
5e505bc9 15088
5c41fdfb
JDA
150892002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
15090
15091 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
15092 and UMOD modes.
15093
15094 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
15095 less than or equal to eight bytes.
15096
15097 * vax.md (andsi3): Remove constraints and change SET destination
15098 operand type to nonimmediate_operand.
15099 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
15100 when it is a CONST_INT.
15101
de097a2d
JM
151022002-01-15 Jason Merrill <jason@redhat.com>
15103
15104 * c-common.def (FILE_STMT): New code.
15105 * c-common.c (statement_code_p): It's a statement.
15106 * c-common.h (stmt_tree_s): Add x_last_filename.
15107 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
15108 (last_expr_filename): New macro.
15109 * c-semantics.c (begin_stmt_tree): Initialize it.
15110 (add_stmt): If the filename changed, also insert a
15111 FILE_STMT.
15112 (expand_stmt): Handle seeing one.
15113
4a913dd6
EC
151142002-01-15 Eric Christopher <echristo@redhat.com>
15115
15116 * flow.c (propagate_one_insn): Add error message and print out
15117 insn for debugging.
15118
006946e4
JM
151192002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
15120
15121 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
15122 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
15123 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
15124 TRAMPOLINE_ALIGNMENT.
15125 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
15126 to be in bits.
15127 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
15128 PCC_BITFIELD_TYPE_MATTERS.
15129 * config/interix.h (STDC_VALUE): Remove. Use
15130 STDC_0_IN_SYSTEM_HEADERS.
15131 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
15132 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
15133 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
15134
751a1458
CR
151352002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
15136
15137 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
15138 not work on this platform currently.
15139
57771fe8
JM
151402002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
15141
15142 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
15143 readonly_warning in _().
15144
0e83ceb1 151452002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 15146
0e83ceb1 15147 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 15148
8e2e89f7
KH
151492002-01-15 Kazu Hirata <kazu@hxi.com>
15150
0e83ceb1
DR
15151 * config/h8300/h8300.c (print_operand): Remove support for
15152 unused operand characters.
15153
8e2e89f7
KH
15154 * read-rtl.c: Fix formatting.
15155 * real.c: Likewise.
15156 * recog.c: Likewise.
15157 * regclass.c: Likewise.
15158 * regmove.c: Likewise.
15159 * reg-stack.c: Likewise.
15160 * reload1.c: Likewise.
15161 * rtlanal.c: Likewise.
15162
b531087a
KH
151632002-01-15 Kazu Hirata <kazu@hxi.com>
15164
15165 * config/i386/i386.c: Fix formatting.
15166
7c94ce7f
JJ
151672002-01-15 Jakub Jelinek <jakub@redhat.com>
15168
15169 * c-typeck.c (process_init_element): Don't save_expr
15170 COMPOUND_LITERAL_EXPR if just its initializer will be used.
15171
6041bf2f
DE
151722002-01-15 David Edelsohn <edelsohn@gnu.org>
15173
15174 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
15175 emit optional traceback table if optimize_size or TARGET_ELF.
15176 * config/rs6000/rs6000.md (prefetch): New.
15177
8559c8c0
AJ
151782002-01-15 Andreas Jaeger <aj@suse.de>
15179
15180 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
15181
70f122f2
KH
151822002-01-15 Kazu Hirata <kazu@hxi.com>
15183
15184 * mips-tfile.c: Fix formatting.
15185
6a7b4ca6
JH
15186Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
15187
15188 * unroll.c (final_reg_note_copy): Fix previous commit.
15189
e7afe229
KH
151902002-01-14 Kazu Hirata <kazu@hxi.com>
15191
15192 * config/h8300/h8300-protos.h: Remove the prototype for
15193 eq_operator.
15194 * config/h8300/h8300.c (eq_operator): Remove.
15195
7d378549
RH
151962002-01-14 Richard Henderson <rth@redhat.com>
15197
15198 * config/i386/i386.md (prefetch): Tidy.
15199 (prefetch_3dnow): Fix locality operand.
15200
ab093b81
RH
152012002-01-14 Richard Henderson <rth@redhat.com>
15202
15203 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
15204 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
15205
d300f51f
HPN
152062002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
15207
15208 * reload1.c (reload_combine): Pass reg_sum replacement through
15209 copy_rtx in loop performing multiple changes.
15210
655dd289
JJ
152112002-01-14 Jakub Jelinek <jakub@redhat.com>
15212
15213 * except.c (remove_unreachable_regions): New.
15214 (free_eh_status): Clear exception_handler_labels.
15215 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
15216 (find_exception_handler_labels): Don't add the same label more than
15217 once.
15218 (remove_exception_handler_label): Don't die if
15219 find_exception_handler_labels hasn't been called for the current
15220 function yet.
15221
1fba46a7
JH
15222Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
15223
15224 * toplev.c (rest_of_compilation): Rebuild jump labels after
15225 gcse.
15226
0975678f
JM
152272002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
15228
15229 * doc/extend.texi: Move documentation of X86 built-in functions
15230 here.
15231 * doc/invoke.texi: From here.
15232 * doc/sourcebuild.texi: Document location of documentation for
15233 machine built-in functions.
15234
969815c7
CF
152352002-01-13 Christopher Faylor <cgf@redhat.com>
15236
15237 * cppfiles.c (TEST_THRESHOLD): New macro.
15238 (SHOULD_MMAP): Ditto.
15239 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
15240 be used.
15241
494c950b
JH
15242Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
15243
15244 * unroll.c (final_reg_note_copy): Properly handle
15245 REG_LABEL
15246 (unroll_loops): Fix LOOP_CONDITION heuristics.
15247
69a0611f
GK
152482002-01-14 Geoffrey Keating <geoffk@redhat.com>
15249
15250 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
15251 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
15252
b90e45ae
JH
15253Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
15254
15255 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
15256 threaded loop.
15257
8377288b
TR
152582002-01-14 Tom Rix <trix@redhat.com>
15259
15260 * config/rs6000/rs6000.md: Fix typo with sradi.
15261
9f37ccb1
UW
152622002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
15263
15264 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
15265 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
15266 (clrstrdi, clrstrsi): Adapt callers.
15267
15268 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
15269
8559c8c0 15270 (movti splitter): Never use register 0 as base register.
9f37ccb1 15271
6c2d03d0
HP
152722002-01-14 Hartmut Penner <hpenner@de.ibm.com>
15273
8559c8c0
AJ
15274 * combine.c (simplify_shift_const): Always generate new rtx
15275 for shift expression instead of reusing given expression.
6c2d03d0 15276
d3e98208
RK
15277Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15278
15279 * config/alpha/alpha.c (alpha_expand_mov): Don't call
15280 alpha_legitimize_address unless mode is Pmode.
15281
9f339dde
GK
152822002-01-13 Geoffrey Keating <geoffk@redhat.com>
15283
15284 * doc/md.texi (Modifiers): Document the '*' constraint for the
15285 user.
15286
15287 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
15288 * doc/extend.texi (Function Attributes): 'interrupt' is valid
15289 for xstormy16 too.
15290
02a10130
RH
152912002-01-13 Richard Henderson <rth@redhat.com>
15292
15293 * reload.c (find_reloads): Use a hard reg destination as reload reg
15294 for an input reload of the source.
15295
61d47787
GP
152962002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15297
15298 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
15299 more generic.
15300
f0df8029
DR
15301Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
15302
15303 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
15304 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
15305
d2a37256
DR
15306 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
15307
a9e8a5ee
RK
15308Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15309
15310 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
15311
bc06712d
TR
153122002-01-12 Tom Rix <trix@redhat.com>
15313
8559c8c0 15314 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
15315 TARGET_POWERPC64.
15316
7cbe9bb7
RH
153172002-01-12 Richard Henderson <rth@redhat.com>
15318
38b29e64
RH
15319 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
15320
58605ba0
RH
15321 * doc/invoke.texi: Update Alpha options.
15322
7cbe9bb7
RH
15323 * doc/invoke.texi: Update i386 built-in function lists.
15324
9d560860
JH
15325Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
15326
15327 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
15328 referencing outside.
15329
bb93b973
RK
15330Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15331
15332 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
15333 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
15334 offsets, and change line folding.
15335 * optabs.c (expand_binop): Remove warnings.
15336 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 15337
f9f6b7df
GS
153382002-01-12 Graham Stott <grahams@redhat.com>
15339
15340 * attribs.c (handle_deprecated_attribute): constify WHAT.
15341 * diagnostic.c (warn_deprecated_use): Add braces, fixes
15342 dangling else warning and constify WHAT.
15343 * except.h (struct function, struct inline_remap): Move
15344 struct tag forward defs before all prototypes.
15345 (duplicate_eh_regions): Whitespace.
15346
4a692617
NC
153472002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
15348
15349 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
15350 MODE_BASE_REG_CLASS.
15351 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
15352
e37af218
RH
153532002-01-12 Richard Henderson <rth@redhat.com>
15354
15355 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
15356 (ix86_expand_vector_move): New.
15357 (bdesc_2arg): Remove andps, andnps, orps, xorps.
15358 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
15359 Remove old prefetch builtins. Special case the logicals removed above.
15360 (ix86_expand_builtin): Likewise.
15361 (safe_vector_operand): Use V4SFmode, not TImode.
15362 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
15363 (ix86_expand_timode_binop_builtin): New.
15364 * config/i386/i386-protos.h: Update.
15365 * config/i386/i386.h (enum ix86_builtins): Update.
15366 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
15367 Use ix86_expand_vector_move in vector move expanders.
15368 (movti_internal, movti_rex64): Add xorps alternative.
15369 (sse_clrv4sf): Rename and adjust from sse_clrti.
15370 (prefetch): Don't work so hard.
15371 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
15372 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
15373 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
15374
6f1a6c5b
RH
153752002-01-11 Richard Henderson <rth@redhat.com>
15376
15377 * config/i386/mmintrin.h: New file.
15378 * config/i386/xmmintrin.h: New file.
15379 * config.gcc (i?86-*-*): Add extra_headers.
15380 * simplify-rtx.c (simplify_unary_operation): Handle saturating
15381 truncation codes.
15382 (simplify_binary_operation): Handle saturating arithmetic codes.
15383 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
15384 not the lowpart subreg.
15385 (ix86_expand_builtin): Return a TImode dummy register instead of 0
15386 on error.
15387 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
15388
cdb574d3
MH
153892002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15390
15391 * conflict.c (conflict_graph_compute): Free regsets when finished.
15392 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 15393
cf11ac55
HB
153942002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
15395
15396 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
15397 every where we allocate a register.
15398
76ac938b
MH
153992002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15400
15401 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
15402 * lcm.c (compute_earliest, compute_farthest): Likewise.
15403
a84b4898
JJ
154042002-01-11 Janis Johnson <janis187@us.ibm.com>
15405
15406 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
15407
aaef1c12
JJ
154082002-01-11 Janis Johnson <janis187@us.ibm.com>
15409
15410 * doc/rtl.texi (Insns): Fix 2 typos.
15411
5d22c1a5
JM
154122002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
15413
15414 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
15415 options. Use @table @gcctabopt for MMIX options. Add index
15416 entries for MMIX options. Start new paragraph with first
15417 heading of the machine-dependent options.
15418
3e92902c
CR
154192002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
15420
15421 PR other/5299
15422 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
15423 * combine.c (force_to_mode): Same.
15424 * reload1.c (clear_reload_reg_in_use): Same.
15425
96ae8197
NC
154262002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
15427
15428 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
15429 and 'subtargets'.
15430
9b780582
AJ
154312002-01-11 Andreas Jaeger <aj@suse.de>,
15432 Brad Lucier <lucier@math.purdue.edu>
15433
15434 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
15435 mcpu.
15436
12300dad
DR
15437Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
15438
15439 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
15440 Protect with IN_LIBGCC.
15441 (LINK_EH_SPEC): Add required trailing space.
15442
27511a9a
NP
15443Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
15444
9b780582 15445 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
15446 under the filename which contains them.
15447 (check_identifier, finish_decl_top_level,
15448 lookup_name_current_level_global, shadow_record_fields): Remove.
15449
4daeab16
AJ
154502002-01-11 Andreas Jaeger <aj@suse.de>
15451
15452 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
15453 march.
15454
40571d67
RH
154552002-01-10 Richard Henderson <rth@redhat.com>
15456
15457 * config/alpha/alpha.c (print_operand): Add 'J'.
15458 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
15459 new operand with the sequence number for the lituse. When splitting
15460 the insns, use gen_movdi_er_high_g and generate a sequence number.
15461 (gen_movdi_er_high_g): Print the sequence number if non-zero.
15462
6525c0e7
AH
154632002-01-10 Aldy Hernandez <aldyh@redhat.com>
15464
d8086cbb
RS
15465 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
15466 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
15467 stvxl.
15468 (altivec_expand_builtin): Same.
15469 (altivec_expand_stv_builtin): New.
15470
15471 * config/rs6000/rs6000.h (rs6000_builtins): Same.
15472
15473 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
15474 ("altivec_lvehx"): New.
15475 ("altivec_lvewx"): New.
15476 ("altivec_lvxl"): New.
15477 ("altivec_lvx"): New.
15478 ("altivec_stvx"): New.
15479 ("altivec_stvebx"): New.
15480 ("altivec_stvehx"): New.
15481 ("altivec_stvewx"): New.
15482 ("altivec_stvxl"): New.
6525c0e7 15483
cda94cbb
RH
154842002-01-10 Richard Henderson <rth@redhat.com>
15485
15486 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
15487 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
15488 care not to delete instructions twice.
15489
df2c9a44
ZW
154902002-01-10 Zack Weinberg <zack@codesourcery.com>
15491
15492 * toplev.c: Don't declare environ (it's not used anywhere).
15493 * configure.in: Don't check for declaration of environ.
15494 * config/i386/xm-mingw32.h: Don't #define environ.
15495 * config.in, configure: Regenerate.
15496
5dd8a9b1
ZW
154972002-01-10 Zack Weinberg <zack@codesourcery.com>
15498
15499 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
15500 * configure: Regenerate.
15501
15502 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
15503 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
15504 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
15505 alpha/xm-vms.h.
15506 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
15507 LIMITS_H_TEST here, not in m68k/x-next.
15508 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
15509 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
15510
15511 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
15512 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
15513 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
15514
15515 * config/i386/x-djgpp: Renamed i386/t-djgpp.
15516 * config/m88k/x-dolph: Renamed m88k/t-dolph.
15517 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
15518 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
15519 replacement of quadlib.asm with quadlib.c.
15520
15521 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
15522 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
15523 config/rs6000/xm-beos.h: Delete file.
15524
15525 * config.gcc: Update to match above changes.
15526
d10dd44c
KH
155272002-01-10 Kazu Hirata <kazu@hxi.com>
15528
15529 * config/h8300/h8300.h: Fix comment typos.
15530 * config/h8300/h8300.md: Likewise.
15531 * config/h8300/lib1funcs.asm: Likewise.
15532
04894c5a
DJ
155332002-01-10 Dale Johannesen <dalej@apple.com>
15534
15535 PR optimization/5269
15536 * unroll.c (precondition_loop_p): Make *increment be the correct
15537 sign when n_iterations known, to avoid confusing caller.
15538
adc9fe67
KH
155392002-01-10 Kazu Hirata <kazu@hxi.com>
15540
15541 * doc/extend.texi (deprecated): Fix a typo.
15542
b446e5a2
JH
15543Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
15544
15545 * basic-block.h (update_br_prob_note): Declare.
15546 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
15547 (try_forward_edges): Care negative frequencies and update note.
15548 (outgoing_edges_match): Tweek conditional merging heuristics.
15549 (try_crossjump_to_edge): use update_br_prob_note.
15550 * cfglayout.c (fixup_reorder_chain): Likewise.
15551 * cfrtl.c (update_br_prob_note): New.
15552 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
15553
15554 * i386.c (ix86_decompose_address): Return -1 if address contains
15555 shift.
15556 (legitimate_address_p): Require ix86_decompose_address to return 1.
15557
15558 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
15559 (cprop_insn): Likewise.
15560
a01da83b
KH
155612002-01-10 Kazu Hirata <kazu@hxi.com>
15562
15563 * toplev.c: Fix formatting.
15564 * tree.c: Likewise.
15565 * tree-dump.c: Likewise.
15566 * unroll.c: Likewise.
15567 * unwind-dw2.c: Likewise.
15568 * unwind-dw2-fde.c: Likewise.
15569 * unwind-dw2-fde-glibc.c: Likewise.
15570 * unwind-sjlj.c: Likewise.
15571
9f85bca7
JM
155722002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
15573
15574 * doc/invoke.texi: Document PDP-11 options.
15575
f48f56b1
KH
155762002-01-10 Kazu Hirata <kazu@hxi.com>
15577
15578 * config/h8300/h8300.h: Fix formatting.
15579
ead39bdf 155802002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
15581
15582 Add __attribute__ ((deprecated)).
15583 * extend.texi: Document __attribute__ ((deprecated)).
15584 * invoke.texi: Document -Wno-deprecated-declarations.
15585 * testsuite/g++.dg/other/deprecated.C: New C++ test.
15586 * testsuite/gcc.dg/deprecated.c: New C test.
15587 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
15588 (c_common_attribute_table): Add "deprecated" entry.
15589 (handle_deprecated_attribute): New function.
15590 * c-decl.c (deprecated_states): New enum.
15591 deprecated_state: State of "deprecated" handling.
15592 (start_decl): Set deprecated_state based on attributes.
15593 (grokdeclarator): Test for deprecated uses, propagate attribute.
15594 * c-typeck.c (build_component_ref): Test for deprecated fields.
15595 (build_external_ref): Test for deprecated primaries.
15596 * diagnostic.c (warn_deprecated_use) New function to issue
15597 warnings about __attribute__ ((depricated)) references.
15598 * flags.h (warn_deprecated_decl): Extern declared for
15599 -W[no-]deprecated-declarations option.
15600 * print-tree.c (print_node): Show deprecated flag status.
15601 * toplev.c (warn_deprecated_decl): Defined.
15602 (W_options): Added "deprecated-declaration".
15603 * toplev.h (warn_deprecated_use): Extern declared.
15604 * tree.h (struct tree_common): Define deprecated_flag.
15605 (TREE_DEPRECATED): New macro to access flag.
15606 * cp/call.c (build_call): Test for deprecated calls.
15607 * cp/class.c (add_implicitly_declared_members): Set global
15608 flag to tell grokdeclarator to not issue deprecated warnings.
15609 * cp/cp-tree.h: Add extern for adding_implicit_members.
15610 * cp/decl.c (deprecated_states): New enum.
15611 (start_decl): Set deprecated_state based on attributes.
15612 (grokdeclarator): Test for deprecated uses, propagate attribute.
15613 * cp/lex.c (do_identifier): Test for deprecated primaries.
15614 * cp/typeck.c (build_component_ref): Test for deprecated fields.
15615
ead39bdf 156162002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
15617
15618 Fix to assign attributes to inline member functions.
15619 * cp/decl.c (start_method): Handle attrlist.
15620
47073a38
KH
156212002-01-10 Kazu Hirata <kazu@hxi.com>
15622
15623 * combine.c (expand_field_assignment): Use subreg_lsb().
15624
d288e53d
DE
156252002-01-10 David Edelsohn <edelsohn@gnu.org>
15626
15627 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
15628 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
15629 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
15630 Recurse for any operand of AND as long as constant is non-zero.
15631
08a02ffa
KH
156322002-01-10 Kazu Hirata <kazu@hxi.com>
15633
15634 * config/h8300/h8300.md: Remove constraints from expanders.
15635
c203e7fe
KH
156362002-01-10 Kazu Hirata <kazu@hxi.com>
15637
15638 * varasm.c: Fix formatting.
15639 * varray.c: Likewise.
15640 * vmsdbgout.c: Likewise.
15641 * xcoffout.c: Likewise.
15642
bcb3bc6d
JH
15643Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
15644
15645 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 15646 update edge probabilities to match.
bcb3bc6d 15647
0a553c7e
JM
156482002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
15649
15650 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
15651 dependencies.
15652 * doc/languages.texi, doc/sourcebuild.texi: New files.
15653 * doc/configfiles.texi: Make a subsubsection. Update.
15654 * doc/configterms.texi: Add @node. Remove warning that this isn't
15655 instructions for building GCC.
15656 * doc/makefile.texi: Make a subsection.
15657 * doc/gccint.texi: Update.
15658
adc7fcb8
JH
15659Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
15660
15661 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
15662
5a4dd0b3
NP
15663Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
15664
15665 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
15666
3987b9db
JH
15667Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
15668
15669 * optabs.c (expand_fix): Look for wider integer modes first.
15670
15671 * i386.md (mov?f): Avoid the fake const double trick for medium
15672 memory model.
15673 (min?f*/max?f*): Prohibit memory operands for i387 variant.
15674 (fop_df_4): Disable for SSE compilation.
15675
ceb15948 156762002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
15677
15678 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 15679 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 15680
e1623399
RH
156812002-01-10 Richard Henderson <rth@redhat.com>
15682
15683 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
15684
c4abb293
RH
156852002-01-10 Richard Henderson <rth@redhat.com>
15686
15687 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
15688 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
15689
d2604ae9
KH
156902002-01-10 Kazu Hirata <kazu@hxi.com>
15691
15692 * combine.c (can_combine_p): Fix a comment typo.
15693
766c7ad1
ZW
156942002-01-09 Zack Weinberg <zack@codesourcery.com>
15695
15696 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
15697 empty list correctly. Change loop index $t to $f for
15698 consistency with rest of Makefile.
15699
95385cbb
AH
157002002-01-08 Aldy Hernandez <aldyh@redhat.com>
15701
15702 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
15703 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
15704
15705 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
15706 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
15707 (altivec_init_builtins): Same.
15708 (altivec_expand_unop_builtin): Return NULL_RTX on error.
15709 (altivec_expand_binop_builtin): Same.
15710 (altivec_expand_ternop_builtin): Same.
15711 (bdesc_dst): New.
15712
15713 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
15714 ("altivec_vctuxs"): Fix typo.
15715 ("altivec_vnmsubfp"): Same.
15716 ("altivec_dssall"): New.
15717 ("altivec_mfvscr"): New.
15718 ("altivec_dss"): New.
15719 ("altivec_lvsl"): New.
15720 ("altivec_lvsr"): New.
15721 ("altivec_dstt"): New.
15722 ("altivec_dstst"): New.
15723 ("altivec_dststt"): New.
15724 ("altivec_dst"): New.
15725
15726 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
15727 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
15728
e4ac76b4
RH
157292002-01-09 Richard Henderson <rth@redhat.com>
15730
15731 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
15732
c893e4a4
HPN
157332002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
15734
15735 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
15736 function.
15737 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
15738 prototype.
7387c700 15739 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 15740
f4f4d0f8
KH
157412002-01-09 Kazu Hirata <kazu@hxi.com>
15742
15743 * read-rtl.c: Fix formatting.
15744 * real.c: Likewise.
15745 * regclass.c: Likewise.
15746 * regrename.c: Likewise.
15747 * reg-stack.c: Likewise.
15748 * reload1.c: Likewise.
15749 * reload.c: Likewise.
15750 * rtl.c: Likewise.
15751
cc863bea
KH
157522002-01-09 Kazu Hirata <kazu@hxi.com>
15753
15754 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
15755 to extract items in the expr_list chain.
15756
7b4dfe3d
RH
157572002-01-09 Richard Henderson <rth@redhat.com>
15758
15759 * config/vax/vax.c (vax_rtx_cost): Never abort.
15760
1d969638
RH
15761 * config/vax/vax.h (REAL_ARITHMETIC): Define.
15762
7d5ab30e
JH
157632002-01-09 Jan Hubicka <jh@suse.cz>
15764
15765 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
15766
9503f3d1
RH
157672002-01-09 Richard Henderson <rth@redhat.com>
15768
15769 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
15770 Unify code from various alternatives.
15771
42bd17b7
RH
157722002-01-09 Richard Henderson <rth@redhat.com>
15773
15774 * regrename.c (copy_value): Ignore the copy if the source register
15775 is present in the value chain with a narrower mode.
15776
bdca3c33
HB
157772002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
15778
cda94cbb
RH
15779 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
15780 for the c4x target. Also improve layout.
bdca3c33 15781
c73a5e94
RH
157822002-01-09 Richard Henderson <rth@redhat.com>
15783
15784 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
15785 * config/m32r/m32r.md (and ior xor splitters): Swap operands
15786 to match insn patterns.
15787
dd0a18c0
RH
157882002-01-09 Richard Henderson <rth@redhat.com>
15789
15790 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
15791 (copyprop_hardreg_forward_1): Likewise.
15792
1fd9ac1e
JDA
157932002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
15794
15795 * pa.md (decrement_and_branch_until_zero): Change predicate for
15796 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
15797
5cb265ec
BM
157982002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
15799
15800 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
15801 gets undefined. For Darwin.
15802
fcd8fa8b
HB
158032002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
15804
15805 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
15806
bd3ab23a
MH
158072002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15808
15809 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
15810
21e16bd6
RH
158112002-01-08 Richard Henderson <rth@redhat.com>
15812
15813 * regrename.c (copy_value): Ignore overlapping copies.
15814
a5376276
RH
158152002-01-08 Richard Henderson <rth@redhat.com>
15816
15817 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
15818 as needed to avoid shared structure.
15819
18cf8dda
KH
158202002-01-08 Kazu Hirata <kazu@hxi.com>
15821
15822 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
15823 H8/300H and H8/S.
15824
16c484c7
JM
158252002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
15826
15827 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
15828 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
15829 documentation of obsolete macros.
15830 * system.h: Poison these macros.
15831 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
15832 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
15833 config/c4x/c4x.h, config/clipper/clipper.h,
15834 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
15835 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
15836 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
15837 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
15838 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
15839 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
15840 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
15841 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
15842 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
15843 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
15844 config/sparc/sparc.h, config/stormy16/stormy16.h,
15845 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
15846 definitions and commented out definitions of obsolete macros.
15847 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
15848 of MAX_INT_TYPE_SIZE.
15849
14b3e8ef
UW
158502002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
15851
15852 * config/s390/s390.c (s390_preferred_reload_class): Never
15853 return ADDR_REGS if it isn't a subset of the given class.
15854 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
15855 FP_REGS, but all superclasses as well.
15856
15857 * config/s390/s390.c (s390_function_profiler): Fix thinko.
15858
15859 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
15860 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
15861 must not be a const_int.
15862
a693284d
RH
158632002-01-08 Richard Henderson <rth@redhat.com>
15864
15865 * Makefile.in (toplev.o): Depend on options.h.
15866 (gcc.o): Depend on specs.h.
15867
b3ca30df
JJ
158682002-01-08 Jakub Jelinek <jakub@redhat.com>
15869
15870 * expr.c (store_expr): Convert VOIDmode constants back to target's
15871 mode.
15872
24dbb440
GP
158732002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15874
15875 * doc/invoke.texi: Markup gcc as @command. Refer to
15876 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
15877 of http://gcc.gnu.org/thanks.html.
15878
234e114c
DJ
158792002-01-08 Dale Johannesen <dalej@apple.com>
15880
15881 * config/rs6000/rs6000.md: Add missing int register
15882 target case to movdf_low.
15883
0d24f4d1
ZW
158842002-01-08 Zack Weinberg <zack@codesourcery.com>
15885
15886 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
15887 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
15888 (cppinit.o): Depend on except.h.
15889 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
15890 s-specs): New rules.
15891
15892 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
15893 Don't create specs.h/options.h/gencheck.h here. Remove
15894 unnecessary variable settings from last argument of AC_OUTPUT.
15895 * config.in, configure: Regenerate.
15896 * intl.c: Hardcode package name as "gcc".
15897
15898 * cppinit.c: Include except.h.
15899 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
15900 appropriate.
15901 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
15902 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
15903 (!)USING_SJLJ_EXCEPTIONS.
15904 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
15905
ed722f66
JM
159062002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
15907
15908 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
15909 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
15910 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
15911 documentation of obsolete macros.
15912 * system.h: Poison these macros.
15913 * config/d30v/d30v.h, config/ns32k/encore.h,
15914 config/stormy16/stormy16.h: Remove definitions and commented out
15915 definitions of obsolete macros.
15916
31e5e29a
NP
15917Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
15918
15919 * objc/objc-act.c (handle_class_ref): Mark the declaration of
15920 %sobjc_class_ref_%s as used - to prevent unwanted compiler
15921 warnings.
15922
bc1fa59c
UW
159232002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
15924
15925 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
15926 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
15927 to insn adjusting stack/frame pointer.
0d24f4d1 15928 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
15929 accept operands that cause the insn to be non-splittable.
15930
a8086abf
GS
159312002-01-08 Graham Stott <grahams@redhat.com>
15932
15933 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
15934 (C_TYPE_FIELDS_VOLATILE): Likewise.
15935 (C_TYPE_BEING_DEFINED): Likewise.
15936 (C_IS_RESERVED_WORD): Likewise.
15937 (C_TYPE_VARIABLE_SIZE): Likewise.
15938 (C_DECL_VARIABLE_SIZE): Likewise.
15939 (C_MISSING_PROTOTYPE_WARNED): Likewise.
15940 (C_SET_EXP_ORIGINAL_CODE): Likewise.
15941 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
15942 parenthesis.
15943 (C_DECL_ANTICIPATED): Likewise.
15944 (c_build_type_variant): Add parenthesis.
15945
3f595aa1
JM
159462002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
15947
15948 * gcc.c (option_map): Remove --version.
15949 (process_command): Handle -fversion following the GNU Coding
15950 Standards. Partially addresses PR other/704.
15951
5bc5a8f9
GS
159522002-01-08 Graham Stott <grahams@redhat.com>
15953
15954 * combine.c (combine_instructions): Fix typo.
15955
16ec4ebf
GS
159562002-01-08 Graham Stott <grahams@redhat.com>
15957
15958 * debug.h: Use "tree" and "rtx" throughout.
15959
15960 * debug.c: Likewise.
15961
4b69f385
NC
159622002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
15963
15964 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
15965 constant pool, use the pool's version of the symbol instead.
15966
57d1019b
RH
159672002-01-07 Richard Henderson <rth@redhat.com>
15968
15969 * regrename.c (find_oldest_value_reg): Ignore the value chain if
15970 the original register was copied in a mode with a fewer number of
15971 hard registers than the desired mode.
15972 (copyprop_hardreg_forward_1): Likewise.
15973 (debug_value_data): Fix loop test.
15974 * toplev.c (parse_options_and_default_flags): Reenable
15975 -fcprop-registers at -O1.
15976
159772002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 15978
0d24f4d1
ZW
15979 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
15980 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 15981
0d24f4d1
ZW
15982 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
15983 predicates.
fa066a23 15984
0d24f4d1 15985 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 15986
8f949e7e
JDA
159872002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
15988
15989 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
15990 (pa_output_function_prologue): Output local label at the beginning of
15991 the prologue when profiling.
15992 (hppa_profile_hook): Use the local label rather than the function label.
15993 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
15994
c62f2db5
AH
159952002-01-07 Aldy Hernandez <aldyh@redhat.com>
15996
0d24f4d1
ZW
15997 * config/rs6000/rs6000.c (print_operand): Remove extra space.
15998 (altivec_expand_unop_builtin): Fix thinko.
15999 (altivec_expand_binop_builtin): Same.
16000 (altivec_expand_ternop_builtin): Same.
16001 (altivec_expand_builtin): Same.
c62f2db5 16002
b5235ba7
RH
160032002-01-07 Richard Henderson <rth@redhat.com>
16004
16005 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
16006
7d8ac293
JM
160072002-01-07 Jason Merrill <jason@redhat.com>
16008
16009 * unwind-dw2.c (execute_cfa_program): Use < again.
16010
571a03b8
JJ
160112002-01-07 Jakub Jelinek <jakub@redhat.com>
16012
16013 * predict.c (combine_predictions_for_insn): Avoid division by zero.
16014
2e951384
JJ
160152002-01-07 Jakub Jelinek <jakub@redhat.com>
16016
16017 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
16018 Don't allow -1 - x -> ~x simplifications in the first pass.
16019
20e26713
AH
160202002-01-07 Aldy Hernandez <aldyh@redhat.com>
16021
0d24f4d1
ZW
16022 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
16023 arguments.
16024 (altivec_expand_binop_builtin): Same.
16025 (altivec_expand_unop_builtin): Same.
16026 (print_operand): Fix typo.
16027 (bdesc_1arg): Add vupk* variants.
20e26713 16028
0d24f4d1 16029 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 16030
0d24f4d1 16031 * rs6000.md: Add altivec_vupk* variants.
20e26713 16032
4dd57c18
JM
160332002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
16034
16035 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
16036 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
16037 and last update dates.
16038
0341c5d2
JJ
160392002-01-07 Janis Johnson <janis187@us.ibm.com>
16040
16041 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
16042
c7f3e0b0
MM
160432002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
16044
16045 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
16046 * config/avr/avr.h (CPP_SPEC): Likewise.
16047 (LINK_SPEC): Likewise.
16048 (CRT_BINUTILS_SPECS): Likewise.
16049 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
16050 * doc/invoke.texi (AVR Options): Document them.
16051
6ba4d630
JH
16052Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
16053
16054 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
16055 LABEL_NUSES.
16056
6253d571
GS
160572002-01-07 Graham Stott <grahams@redhat.com>
16058
0d24f4d1
ZW
16059 * config/i386/i386.h: Update copyright date.
16060 (HALF_PIC_PTR): Add parenthesis.
16061 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
16062 (CONSTANT_ALIGNMENT): Add parenthesis.
16063 (DATA_ALIGNMENT): Likewise.
16064 (LOCAL_ALIGNMENT): Likewise.
16065 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
16066 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
16067 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
16068 (HARD_REGNO_NREGS): Add paranethesis.
16069 (VALID_SSE_REG_MODE): Whitespace.
16070 (VALID_MMX_REG_MODE): Whitespace.
16071 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
16072 (ix86_hard_regno_mode_ok): Add parenthesis.
16073 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
16074 (RETURN_IN_MEMORY): Whitespace.
16075 (N_REG_CLASSES): Add parenthesis.
16076 (INTEGER_CLASS_P): Add parenthesis and wrap.
16077 (FLOAT_CLASS_P): Likewise.
16078 (SSE_CLASS_P): Likewise.
16079 (MMX_CLASS_P): Likewise.
16080 (MAYBE_INTEGER_CLASS_P): Likewise.
16081 (MAYBE_FLOAT_CLASS_P): Likewise.
16082 (MAYBE_SSE_CLASS_P): Likewise.
16083 (MAYBE_MMX_CLASS_P): Likewise.
16084 (Q_CLASS_P): Likewise.
16085 (GENERAL_REGNO_P): Uppercase macro parameter.
16086 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
16087 (FP_REGNO_P): Likewise.
16088 (ANY_FP_REGNO_P): Uppercase macro parameter.
16089 (SSE_REGNO_P): Likewise.
16090 (SSE_REGNO): Likewise.
16091 (SSE_REG_P): Likewise.
16092 (SSE_FLOAT_MODE_P): Likewise.
16093 (MMX_REGNO_P): Likewise.
16094 (MMX_REG_P):Likewise.
16095 (STACK_REG_P): Likewise.
16096 (NON_STACK_REG_P): Likewise.
16097 (STACK_TOP_P): Likewise.
16098 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
16099 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
16100 (SECONDARY_MEMORY_NEEDED): Likewise.
16101 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
16102 (MD_ASM_CLOBBERS): Whitespace and wrap.
16103 (MUST_PASS_IN_STACK): Whitespace and wrap.
16104 (RETURN_POPS_ARGS): Add parenthesis.
16105 (INIT_CUMULATIVE_ARGS): Likewise.
16106 (FUNCTION_ARG): Likewise.
16107 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
16108 (SETUP_INCOMING_VARARGS): Likewise.
16109 (BUILD_VA_LIST_TYPE): Add parenthesis.
16110 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
16111 parenthsis.
16112 (EXPAND_BUILTIN_VA_ARG): Likewise.
16113 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
16114 (INITIALIZE_TRAMPOLINE): Add parenthesis.
16115 (INITIAL_ELIMINATION_OFFSET): Likewise.
16116 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
16117 (REGNO_OK_FOR_BASE_P): Likewise.
16118 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
16119 (REGNO_OK_FOR_DIREG_P): Likewise.
16120 (REG_OK_FOR_INDEX_P): Whitespace.
16121 (REG_OK_FOR_BASE_P): Whitespace.
16122 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
16123 parenthesis.
16124 (FIND_BASE_TERM): Fix typo.
16125 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
16126 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
16127 (SYMBOLIC_CONST; Whitespace.
16128 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
16129 (ENCODE_SECTION_INFO): Whitespace.
16130 (FINALIZE_PIC): Remove do { ... } while (0).
16131 (PROMOTE_MODE): Wrap in do { ... } while (0).
16132 (CONST_COSTS): Whitespace.
16133 (RTX_COSTS): Add paramethesis, whitespace and wrap.
16134 (REGISTER_MOVE_COST): Add parenthesis.
16135 (MEMORY_MOVE_COST): Likewise.
16136 (EXTRA_CC_MODES): Whitespace.
16137 (SELECT_CC_MODE): Add parenthesis and whitespace.
16138 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
16139 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
16140 (ASM_OUTPUT_LABEL): Add paramethesis.
16141 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
16142 (ASM_OUTPUT_REG_POP): Likewise.
16143 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
16144 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 16145
07933f72
GS
16146 * config/i386/i386.c: Update copyright.
16147 (CHECK_STACK_LIMIT): Add parenthesis.
16148 (AT_BP): Uppercase macro parameter.
16149 (x86_64_int_parameter_registers): Constify.
16150 (x86_64_int_return_registers): Likewise.
16151 (ix86_compare_op0): Use rtx.
16152 (construct_container): Constify INTREG parameter.
16153 (function_arg): Use rtx.
16154
0b4d32c9
GS
16155 * diagnostic.h: Update copyright date.
16156 (output_buffer_state): Add parenthesis.
16157 (output_buffer_format_args): Likewise.
16158
6253d571
GS
16159 * combine.c (combine_instructions): Replace XEXP (links, 0)
16160 with link.
16161
68f3f6f1
L
161622002-01-06 H.J. Lu <hjl@gnu.org>
16163
16164 * cfgcleanup.c (thread_jump): Fix 2 typos.
16165
161662002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 16167
0d24f4d1 16168 * config.gcc: Add support for --enable-altivec.
480f7f3a 16169
13b8c631
CR
161702002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
16171
16172 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
16173
58ad89b1
JJ
161742002-01-06 Jakub Jelinek <jakub@redhat.com>
16175
16176 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
16177 __objc_class_name_*.
16178
e403b4bc
CR
161792002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
16180
16181 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
16182
e41c7831
RH
161832002-01-06 Richard Henderson <rth@redhat.com>
16184
16185 * reorg.c (emit_delay_sequence): Remove death notes, not merely
16186 nop them out. Increment label reference count for REG_LABEL.
16187 (fill_slots_from_thread): Frob label reference count around
16188 delete_related_insns.
16189
3b3b1e32
RH
161902002-01-05 Richard Henderson <rth@redhat.com>
16191
16192 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
16193 jump threading.
16194
c28abdf0
RH
161952002-01-05 Richard Henderson <rth@redhat.com>
16196
16197 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
16198 * integrate.c (output_inline_function): Likewise.
16199 * toplev.c (rest_of_compilation): Do it here instead. Move call
16200 to remove_unnecessary_notes after emitting abstract instance.
16201 Force an emitted nested function to have its parent emited as well.
16202 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
16203 for null.
16204 (rtl_for_decl_location): Do not look at reload data structures
16205 before reload has run.
16206
c4f2c499
KH
162072002-01-05 Kazu Hirata <kazu@hxi.com>
16208
16209 * cse.c: Fix formatting.
16210 * dwarf2asm.c: Likewise.
16211 * dwarf2out.c: Likewise.
16212 * explow.c: Likewise.
16213 * expmed.c: Likewise.
16214 * function.c: Likewise.
16215 * gcov.c: Likewise.
16216 * gencheck.c: Likewise.
16217 * genrecog.c: Likewise.
16218 * ggc-common.c: Likewise.
16219 * ggc-page.c: Likewise.
16220 * global.c: Likewise.
16221
cf0d9408
KH
162222002-01-05 Kazu Hirata <kazu@hxi.com>
16223
16224 * combine.c: Fix formatting.
16225
bedca03a
CR
162262002-01-05 Craig Rodrigues <crodrigu@bbn.com>
16227
16228 PR middle-end/1557
16229 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
16230
0134bf2d
DE
162312002-01-05 David Edelsohn <edelsohn@gnu.org>
16232
16233 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
16234 as 1 for __powerpc64__ as well.
16235
16236 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
16237
16238 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
16239 return it.
16240
9ca88d5a
DB
162412002-01-05 Daniel Berlin <dan@dberlin.org>
16242
16243 * lcm.c: Revert change, due to performance regression it causes on
16244 SPEC because it's slightly more conservative (sigh, I hate
16245 edge-based LCM).
0d24f4d1 16246
1c570418
JH
16247Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
16248
16249 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
16250
d83bb9f7
NB
162512002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
16252
16253 * doc/cppinternals.texi: Update.
16254
3e0f61ac
HPN
162552002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
16256
16257 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
16258 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
16259 negatives.
16260 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
16261 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
16262 kludge for pre-october-14th mmix versions to handle new-found bug
16263 with PUSHJ/PUSHGO and the register stack.
16264 * config/mmix/mmix.h (struct machine_function): Rename member
16265 has_call_value_without_parameters to has_call_without_parameters.
16266 All referers changed.
16267 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
16268 TARGET_MASK_BRANCH_PREDICT): New macros.
16269 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
16270 -mno-reg-stack-fill-bug-workaround.
16271 * config/mmix/mmix.md ("call"): Set struct machine member
16272 has_call_without_parameters.
16273
4deaa2f8
JH
16274Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
16275
16276 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
16277
9f16e871
JH
16278Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
16279
16280 * cfgcleanup.c: Include tm_p.h
16281 (mark_effect): Fix handling of hard register; fix handling of SET
16282
96eb1157
KH
162832002-01-04 Kazu Hirata <kazu@hxi.com>
16284
16285 * config/h8300/h8300.md (anonymous patterns): Check that
16286 operands are registers before using REGNO on them.
16287
48180d68
RM
162882002-01-03 Roland McGrath <roland@frob.com>
16289
16290 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
16291
b0832fe1
JJ
162922002-01-04 Jakub Jelinek <jakub@redhat.com>
16293
16294 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
16295 * c-common.h (genrtl_expr_stmt_value): Likewise.
16296 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
16297 (expand_expr_stmt_value): Add maybe_last argument.
16298 Don't warn about statement with no effect if it is the last statement
16299 in expression statement.
16300 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
16301 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
16302 expand_expr_stmt_value.
16303 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
16304 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
16305 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
16306 as maybe_last to expand_expr_stmt_value.
16307
c1e14513
JL
16308Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
16309
0d24f4d1
ZW
16310 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
16311 be passed in, do not build it.
16312 (c_begin_if_stmt): New function.
16313 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
16314 * c-common.h (c_expand_start_cond): Update prototype.
16315 (c_begin_if_stmt): Prototype new function.
16316 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
16317 * c-parse.in (if_prefix): Use c_begin_if_stmt,
16318 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 16319
b6ec437a
WC
163202002-01-04 William Cohen <wcohen@redhat.com>
16321
16322 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
16323 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
16324 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
16325 * config/pa/som.h (ASM_FILE_START): Likewise.
16326
ead39bdf 163272002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
16328
16329 * lcm.c: Include df.h.
16330 Add available_transfer_function prototype.
16331 (compute_available): Rework to use iterative dataflow framework.
16332 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
16333 with bb_info in df.h
16334 (available_transfer_function): New function.
16335
16336 * Makefile.in (lcm.o): add df.h to dependencies.
16337
551cc6fd
RH
163382002-01-04 Richard Henderson <rth@redhat.com>
16339
16340 * config/alpha/alpha.c (some_operand): Accept HIGH.
16341 (input_operand): Likewise; accept simple references to globals.
16342 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
16343 (alpha_const_double_ok_for_letter_p): Likewise.
16344 (alpha_extra_constraint): Likewise.
16345 (alpha_preferred_reload_class): Likewise. Do not force
16346 symbolic constants to memory.
16347 (alpha_legitimate_address_p): Accept simple references
16348 to small_symbolic_operand.
16349 (alpha_legitimize_address): New arg scratch. Be prepared to be
16350 called when no_new_pseudos. Emit simple symbolic references.
16351 Split integers into low, high, and rest.
16352 (alpha_expand_mov): Use alpha_legitimize_address.
16353 (some_small_symbolic_mem_operand): New.
16354 (split_small_symbolic_mem_operand): New.
16355 * config/alpha/alpha-protos.h: Update.
16356 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
16357 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
16358 (EXTRA_CONSTRAINT): Likewise.
16359 (PREFERRED_RELOAD_CLASS): Likewise.
16360 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
16361 (PREDICATE_CODES): Update.
16362 * config/alpha/alpha.md: New post-reload splitters to convert
16363 simplfied symbolic operands to the form that references $29.
16364 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
16365 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
16366
1eaea054
RH
163672002-01-03 Richard Henderson <rth@redhat.com>
16368
16369 * local-alloc.c (function_invariant_p): Update commentary.
16370
c4cc12b7
L
163712002-01-04 H.J. Lu <hjl@gnu.org>
16372
16373 * toplev.c (rest_of_compilation): Fix a typo when calling
16374 cleanup_cfg.
16375
173bf5be
KH
163762002-01-03 Kazu Hirata <kazu@hxi.com>
16377
16378 * c-common.c: Fix formatting.
16379 * diagnostic.c: Likewise.
16380 * doloop.c: Likewise.
16381 * dwarf2out.c: Likewise.
16382
187462ac
KH
163832002-01-03 Kazu Hirata <kazu@hxi.com>
16384
16385 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
16386 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
16387
5d8ebbd8
NB
163882002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
16389
16390 * cpperror.c: Update comments and copyright.
16391 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
16392 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
16393
518c1311
JDA
163942002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
16395
16396 * collect2.c (main): Use strcmp when testing for "-shared".
16397
d15a58c0
NB
163982002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
16399
16400 * cppmacro.c: Don't include intl.h. Update comments.
16401 (new_number_token): Allocate enough buffer for 64-bit unsigned
16402 integers; update prototype.
16403 * cppmain.c: Update comments.
16404
70f4f91c
WC
164052002-01-03 William Cohen <wcohen@redhat.com>
16406
16407 * function.h (struct function): Add profile.
16408 (current_function_profile): New.
16409 doc/extend.texi: Update documentation.
16410 * final.c (final_start_function): Use current_function_profile
16411 instead of profile_flag.
16412 (profile_after_prologue): Likewise.
16413 * function.c (expand_function_start): Likewise.
16414 (expand_function_start): Likewise.
c4cc12b7 16415 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
16416 (alpha_does_function_need_gp): Likewise.
16417 (alpha_expand_prologue): Likewise.
16418 * config/arm/arm.c (arm_expand_prologue): Likewise.
16419 thumb_expand_prologue: Likewise.
16420 * config/d30v/d30v.c (d30v_stack_info): Likewise.
16421 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
16422 (fr30_expand_prologue): Likewise.
16423 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
16424 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
16425 * config/i386/i386.h (FINALIZE_PIC): Likewise.
16426 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
16427 * config/i960/i960.c (i960_output_function_prologue): Likewise.
16428 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
16429 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
16430 (m32r_expand_prologue): Likewise.
16431 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
16432 (m88k_expand_prologue): Likewise.
16433 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
16434 * config/mips/mips.c (compute_frame_size): Likewise.
16435 (mips_expand_prologue): Likewise.
16436 (mips_can_use_return_insn): Likewise.
16437 * config/pa/elf.h (ASM_FILE_START): Likewise.
16438 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
16439 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
16440 * config/pa/som.h (ASM_FILE_START): Likewise.
16441 * config/romp/romp.c (romp_using_r14): Likewise.
16442 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
16443 (rs6000_stack_info): Likewise.
16444 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 16445 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
16446 * config/v850/v850.c (compute_register_save_size): Likewise.
16447
cb1ac742
JJ
164482002-01-03 Jakub Jelinek <jakub@redhat.com>
16449
16450 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
16451 gen_lowpart_common fails, use gen_lowpart_SUBREG.
16452
61d951df 164532002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 16454
61d951df
TC
16455 * darwin.c (machopic_output_possible_stub_label): Don't generate
16456 stub routines for pseudo-stubs which we've just defined.
16457
505ddab6
KH
164582002-01-03 Kazu Hirata <kazu@hxi.com>
16459
16460 * builtins.c: Fix formatting.
16461 * c-typeck.c: Likewise.
16462 * combine.c: Likewise.
16463 * expr.c: Likewise.
16464 * loop.c: Likewise.
16465
b7e30d8a
AS
164662002-01-03 Andreas Schwab <schwab@suse.de>
16467
16468 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
16469 and return true if _cpp_push_next_buffer pushed a new include
16470 file.
16471 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
16472 _cpp_pop_file_buffer did not push a new file.
16473 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
16474
ff81832f
EC
164752002-01-02 Eric Christopher <echristo@redhat.com>
16476
16477 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
16478 FIND_REG_INC_NOTE call. Update copyright.
16479 * loop.c (canonicalize_condition): Ditto.
16480 * reorg.c (delete_scheduled_jump): Ditto.
16481
8e42ace1
KH
164822002-01-03 Kazu Hirata <kazu@hxi.com>
16483
16484 * gcse.c: Fix formatting.
16485
fb2bf631
GS
164862002-01-03 Graham Stott <grahams@redhat.com>
16487
16488 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
16489 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 16490 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
16491
16492 * system.h: Move forward defs for struct tags rtx_def, union_tree,
16493 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 16494 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
16495
164962002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
16497
16498 * tree.h: Update copyright date.
16499 (IS_EXPR_CODE_CLASS): Add parenthesis.
16500 (TREE_SET_CODE): Add whitespace.
16501 (TREE_CHECK): Add parenthesis.
16502 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
16503 (CST_OR_CONSTRUCTOR_CHECK):
16504 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
16505 (TREE_SYMBOL_REFERENCED): Whitespace.
16506 (INT_CST_LT): Likewise.
16507 (INT_CST_LT_UNSIGNED): Likewise.
16508 (tree_real_cst): Unwrap comment.
16509 (tree_string): Likewise.
16510 (tree_complex): Likewise.
16511 (IDENTIFIER_POINTER): correct cast.
16512 (SAVE_EXPR_CONTEXT): Whitespace.
16513 (EXPR_WFL_FILENAME_NODE): Likewise.
16514 (EXPR_WFL_FILENAME): Remove parenthesis.
16515 (DECL_ORIGIN): Add parenthesis.
16516 (DECL_FROM_INLINE): Use NULL_TREE.
16517 (build_int_2): Whitespace.
16518 (build_type_variant): Add parenthesis.
16519
16520 * gcc/jcf-parse.c: Update copyright date.
16521 (yyparse): Constify resource_filename.
16522
f52eda29
GS
165232002-01-03 Graham Stott <grahams@redhat.com>
16524
16525 * rtl.h: Update copyright date.
16526 (RTL_CHECK1): Wrap long line.
16527 (RTL_CHECK2): Likewise.
16528 (RTL_CHECKC1): Wrap long line and whitespace.
16529 (RTL_CHECKC2): Likewise.
16530 (XWINT): Whitespace.
16531 (XINT): Likewise.
16532 (XSTR): Likewise.
16533 (XEXP): Likewise.
16534 (XVEC): Likewise.
16535 (XMODE): Likewise.
16536 (XBITMAP): Likewise.
16537 (XTREE): Likewise.
16538 (XBBDEF): Likewise.
16539 (XTMPL): Likewise.
16540 (X0WINT): Likewise.
16541 (X0INT):Likewise.
16542 (X0UINT): Likewise.
16543 (X0STR): Likewise.
16544 (X0EXP): Likewise.
16545 (X0VEC): Likewise.
16546 (X0MODE): Likewise.
16547 (X0BITMAP): Likewise.
16548 (X0TREE): Likewise.
16549 (X0BBDEF): Likewise.
16550 (X0ADVFLAGS): Likewise.
16551 (X0CSELIB): Likewise.
16552 (X0MEMATTR): Likewise.
16553 (XCWINT): Likewise.
16554 (XCINT): Likewise.
16555 (XCUINT): Likewise.
16556 (XCSTR): Likewise.
16557 (XCEXP): Likewise.
16558 (XCVEC): Likewise.
16559 (XCMODE): Likewise.
16560 (XCBITMAP): Likewise.
16561 (XCTREE): Likewise.
16562 (XCBBDEF): Likewise.
16563 (XCADVFLAGS): Likewise.
16564 (XCCSELIB): Likewise.
16565 (XC2EXP): Likewise.
16566 (INSN_UID): Likewise.
16567 (PREV_INSN): Likewise.
16568 (PATTERN): Likewise.
16569 (INSN_CODE): Likewise.
16570 (PUT_REG_NOTE_KIND): Likewise.
16571 (CODE_LABEL_NUMBER): Likewise.
16572 (NOTE_SOURCE_FILE): Likewise.
16573 (NOTE_BLOCK): Likewise.
16574 (NOTE_EH_HANDLER): Likewise.
16575 (NOTE_RANGE_INFO): Likewise.
16576 (NOTE_LIVE_INFO): Likewise.
16577 (NOTE_BASIC_BLOCK): Likewise.
16578 (NOTE_EXPECTED_VALUE): Likewise.
16579 (NOTE_LINE_NUMBER): Likewise.
16580 (LABEL_NAME): Likewise.
16581 (LABEL_NUSES): Likewise.
16582 (LABEL_ALTERNATE_NAME): Likewise.
16583 (ADDRESSOF_DECL): Likewise.
16584 (JUMP_LABEL): Likewise.
16585 (LABEL_NEXTREF): Likewise.
16586 (REGNO): Likewise.
16587 (ORIGINAL_REGNO: Likewise.
16588 (HARD_REGISTER_NUM_P): Add parenthesis.
16589 (SUBREG_REG): Whitespace.
16590 (SUBREG_BYTE): Likewise.
16591 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
16592 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
16593 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
16594 (ASM_OPERANDS_INPUT_VEC): Likewise.
16595 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
16596 (ASM_OPERANDS_INPUT): Likewise.
16597 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
16598 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
16599 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
16600 (ASM_OPERANDS_INPUT_MODE): Likewise.
16601 (ASM_OPERANDS_SOURCE_FILE): Likewise.
16602 (ASM_OPERANDS_SOURCE_LINE): Likewise.
16603 (MEM_SET_IN_STRUCT_P): Minor reformat.
16604 (TRAP_CONDITION): Whitespace.
16605 (TRAP_CODE): Likewise.
16606 (COND_EXEC_TEST): Likewise.
16607 (COND_EXEC_CODE): Likewise.
16608 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
16609 (PHI_NODE_P): Add parenthesis.
16610 (plus_constant): Whitespace and add parenthesis.
16611
e03f5d43
KH
166122002-01-03 Kazu Hirata <kazu@hxi.com>
16613
16614 * config/avr/avr.c: Fix comment typos.
16615 * config/c4x/c4x.md: Likewise.
16616 * config/dsp16xx/dsp16xx.h: Likewise.
16617 * config/dsp16xx/dsp16xx.md: Likewise.
16618 * config/i386/i386.md: Likewise.
16619 * config/ia64/ia64.c: Likewise.
16620 * config/m32r/m32r.h: Likewise.
16621 * config/m68hc11/m68hc11.md: Likewise.
16622 * config/mmix/mmix.c: Likewise.
16623 * config/mn10200/mn10200.c: Likewise.
16624 * config/romp/romp.c: Likewise.
16625 * config/sh/sh.c: Likewise.
16626 * config/stormy16/stormy16.c: Likewise.
16627 * config/stormy16/stormy16.h: Likewise.
16628 * config/stormy16/stormy16.md: Likewise.
16629
97e300e9
GS
166302002-01-03 Graham Stott <grahams@redhat.com>
16631
16632 * loop.h: Update copyright date.
0d24f4d1
ZW
16633 (LOOP_MOVABLES): Fix typo.
16634 (LOOP_REGS): Likewise.
16635 (LOOP_IVS): Likewise.
ff81832f 16636
745b26b3
GS
166372002-01-03 Graham Stott <grahams@redhat.com>
16638
16639 * cppinit.c: Update copyright date.
16640 Don't include output.h
16641 * Makefile.in: Update copyright date.
16642 Update dependency.
16643
0a379b7a
CR
166442002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
16645
16646 PR c/5226
16647 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
16648 (-pthread) Add to RS/6000 options.
16649
a8154559
KH
166502002-01-02 Kazu Hirata <kazu@hxi.com>
16651
16652 * except.c: Fix comment typos.
16653 * loop.c: Likewise.
16654 * varasm.c: Likewise.
16655 * doc/tm.texi: Fix a typo.
16656
e6ecc89b
JJ
166572002-01-02 Jakub Jelinek <jakub@redhat.com>
16658
16659 * c-typeck.c (output_init_element): Allow initializing static storage
16660 duration objects with compound literals.
16661
d1094b40
RH
166622002-01-02 Richard Henderson <rth@redhat.com>
16663
16664 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
16665 after abusing it.
16666
0c5d8c82
KG
166672002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16668
5e65297b
KG
16669 * gcc.c (default_compilers): Const-ify.
16670 * mips-tdump.c (stab_names): Likewise.
16671 * mips-tfile.c (map_coff_types, map_coff_storage,
16672 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
16673 pseudo_ops_t, pseudo_ops): Likewise.
16674 * protoize.c (default_include): Likewise
16675
0c5d8c82
KG
16676 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
16677 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
16678 Add array size in declaration.
16679 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
16680 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
16681 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
16682 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
16683 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
16684 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
16685 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
16686 emtens, make_nan): Const-ify.
16687 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
16688 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
16689
817e13c4
JM
166902002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
16691
16692 * config.gcc (ia64-*-*): Set extra_headers.
16693 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
16694 * config/alpha/t-osf: Remove.
16695 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
16696
98095e2b
DE
166972002-01-02 David Edelsohn <edelsohn@gnu.org>
16698
16699 * config/rs6000/t-aix43: Revert previous change.
16700
a4200657
JM
167012002-01-02 Jason Merrill <jason@redhat.com>
16702
16703 * c-decl.c (c_expand_body): Call outlining_inline_function when
16704 emitting an inline function out of line.
16705
54ba1f0d
RH
167062002-01-02 Richard Henderson <rth@redhat.com>
16707
16708 * dwarf2out.c (limbo_die_node): Add created_for member.
16709 (new_die): New argument created_for. Update all callers.
16710 (mark_limbo_die_list): New.
16711 (dwarf2out_init): Register limbo_die_list as a root.
16712 (dwarf2out_finish): Force insert limbo dies into their function
16713 context.
16714
323728aa
NS
167152002-01-02 Nathan Sidwell <nathan@codesourcery.com>
16716
16717 PR c++/5089
16718 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
16719
aefc5826
KH
167202002-01-02 Kazu Hirata <kazu@hxi.com>
16721
16722 * config/h8300/fixunssfsi.c: Update copyright.
16723 Fix comment typos.
16724 Fix formatting.
16725 * config/h8300/h8300.c: Update copyright.
16726 Eliminate warnings.
16727
b1c9bc51
KH
167282002-01-02 Kazu Hirata <kazu@hxi.com>
16729
16730 * config/romp/romp.c: Fix comment formatting.
16731 * config/romp/romp.h: Likewise.
16732 * config/romp/romp.md: Likewise.
16733 * config/s390/s390.c: Likewise.
16734 * config/stormy16/stormy16.c: Likewise.
16735 * config/stormy16/stormy16.h: Likewise.
16736
1574ef13
AO
167372002-01-02 Alexandre Oliva <aoliva@redhat.com>
16738
16739 * c-common.h (genrtl_expr_stmt_value): Declare.
16740 * c-semantics.c (genrtl_goto_stmt): Redirect to...
16741 (genrtl_goto_stmt_value): ... this new function. Pass new
16742 argument down to expand_expr_stmt_value, taking
16743 TREE_ADDRESSABLE into account.
16744 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
16745 STMT_EXPR as addressable, i.e., one whose result we want.
16746 * expr.c (expand_expr): Don't save expression statement value
16747 of labeled_blocks or loop_exprs.
16748 * stmt.c (expand_expr_stmt): Redirect to...
16749 (expand_expr_stmt_value): ... this new function. Use new
16750 argument to tell whether to save expression value.
16751 (expand_end_stmt_expr): Reset last_expr_type and
16752 last_expr_value if we don't have either.
16753 * tree-inline.c (declare_return_variable): Mark its use
16754 statement as addressable.
16755 * tree.h: Document new use of TREE_ADDRESSABLE.
16756 (expand_expr_stmt_value): Declare.
16757
252b88f7
TR
167582002-01-01 Tom Rix <trix@redhat.com>
16759
16760 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
16761 rs6000_emit_allocate_stack.
16762
29f7a208
JM
167632002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
16764
16765 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
16766 ${srcdir}/ginclude/ to every entry in extra_headers.
16767 * configure: Regenerate.
16768 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
16769 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
16770 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
16771 * ginclude/proto.h: Rename to config/convex/proto.h.
16772
2cc2d4bb
RK
16773Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16774
16775 * attribs.c (handle_vector_size_attribute): Use host_integerp
16776 and tree_int_cst; remove warnings.
16777 * caller-save.c (insert_restore): Add cast to get rid of warning.
16778 (insert_save): Likewise.
16779 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
16780 * regmove.c (find_matches): Add temporary var to kill a warning.
16781
f01c9bcd
DR
167822002-01-01 Douglas B Rupp <rupp@gnat.com>
16783
16b61764
DR
16784 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
16785 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
16786 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
16787 (vms-dwarf2eh.o): Add Makefile rule.
16788 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
16789 * config/alpha/vms-dwarf2eh.asm: New file.
16790
f01c9bcd
DR
16791 * gcc.c (delete_if_ordinary): Delete all versions.
16792
91312b81
HPN
167932002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
16794
16795 * config/mmix/mmix.md: Update FIXME to not mention
16796 define_constants.
16797 (MMIX_rJ_REGNUM): New define_constants constant.
16798 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
16799 "*movdicc_real"): Adjust contraints formatting.
16800 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
16801 for branch prediction.
16802 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
16803 output template.
16804 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
16805 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
16806 number. Delete related FIXMEs.
16807 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
16808 from number to MMIX_rJ_REGNUM.
16809 (TARGET_MASK_BRANCH_PREDICT): New.
16810 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
16811 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
16812 value. Add -mbranch-predict and -mno-branch-predict.
16813 (TARGET_VERSION): Drop date.
16814 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
16815 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
16816 for finding out global symbols.
16817 (mmix_asm_output_labelref): Revert condition for global symbol.
16818 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
16819 (mmix_print_operand_punct_valid_p): A '+' is valid.
16820
619acae7 16821See ChangeLog.6 for earlier changes.
This page took 2.166177 seconds and 5 git commands to generate.