]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
re PR libstdc++/6795 (stringbuf failure)
[gcc.git] / gcc / ChangeLog
CommitLineData
5149f070
JH
1Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
2
3 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
4 (PROP_FINAL): Include.
5 * flow.c (life_analysis, update_life_info,
6 init_propagate_block_info, mark_set_1, mark_used_rgs):
7 Support SCAN_DEAD_STORE.
8
c9220e3a
NB
92002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
10
11 * c-common.c (c_common_init): Set CPP arithmetic precision.
12 * cppexp.c (cpp_num_part): Move typedef ...
13 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
14 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
15 (sanity_checks): Update.
16
e34a3d31
GK
172002-05-26 Geoffrey Keating <geoffk@redhat.com>
18
19 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
20 (mkheaders): New rule.
21 (install-mkheaders): New rule.
22 * configure.in (all_outputs): Add mkheaders.
23 * configure: Regenerate.
24 * mkheaders.in: New file.
25
9059e33c
JJ
262002-05-26 Jakub Jelinek <jakub@redhat.com>
27
28 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
29
291cc0fe
AJ
302002-05-26 Andreas Jaeger <aj@suse.de>
31
32 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
33
91318908
NB
342002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
35
36 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
37 right_shift): Remove.
38 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
39 HIGH_PART): New.
40 (struct op): Use cpp_num.
41 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
42 num_part_mul, num_unary_op, num_binary_op, num_negate,
43 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
44 num_div_op, num_lshift, num_rshift, append_digit): New.
45 (interpret_number, parse_defined, eval_token, reduce): Update
46 for two-integer arithmetic.
47 (binary_handler): New typedef.
48 (optab): Update.
49 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
50 (_cpp_parse_expr, reduce): Update to handle two-integers.
51 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
52
331ca350
MM
532002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
54
55 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
56 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
57 branch insn into account, do not assume 1.
58 (avr_out_sbxx_branch): New function. Optimize cases of skipping
59 over single word insn. Handle upper half of I/O space too.
60 * config/avr/avr.md (*sbrx_branch): Use it.
61 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
62 (*sbix_branch, *sbix_branch_bit7): Likewise.
63 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
64 Use RTL peepholes to optimize register operand sign tests.
65
bcb6a2be
MM
662002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
67
68 * config/avr/avr.c (avr_asm_only_p): New variable.
69 (avr_override_options): Set it here if AVR1.
70 (asm_file_start): Test it here, report an error if set.
71
ca7fd9cd
KH
722002-05-26 Kazu Hirata <kazu@cs.umass.edu>
73
74 * alias.c: Fix formatting.
75 * attribs.c: Likewise.
76 * bb-reorder.c: Likewise.
77 * bitmap.c: Likewise.
78 * bitmap.h: Likewise.
79 * builtins.c: Likewise.
80
a65dc37d
JH
81Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
82
83 * reload.c (find_valid_class): Accept new argument DEST,
84 choose class accordingly.
85 (push_reload): Update callers.
86
9b89393b
AJ
872002-05-26 Andreas Jaeger <aj@suse.de>
88
89 * combine.c (combine_instructions): Do not indent #if for
90 traditional C.
91
b53bb376
RH
922002-05-25 Richard Henderson <rth@redhat.com>
93
94 * c-pragma.c (apply_pragma_weak): Convert value identifier to
95 string for decl_attributes.
96 (handle_pragma_weak): Call assemble_alias if we're modifying
97 an existing decl.
98
e133041b
RH
992002-05-25 Richard Henderson <rth@redhat.com>
100
101 PR target/6788
102 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
103 using rtl instead of fprintf.
104 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
105 * config/sparc/sparc-protos.h: Update.
106
81a75f0f
NB
1072002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
108
109 * Makefile.in (C_COMMON_H): Fix.
110 Update other targets.
111 * c-common.c: Don't include c-lex.h.
112 (builtin_define_with_value): Make static and prototype.
113 (builtin_define_std): Move from c-lex.h.
114 * c-common.h (init_c_lex): Move from c-lex.h.
115 * c-decl.c: Don't include c-lex.h.
116 (make_pointer_declarator): Move from c-parse.in.
117 * c-lex.c: Don't include c-lex.h.
118 * c-lex.h: Remove.
119 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
120 (make_pointer_declarator): Move to c-decl.c.
121 * c-pragma.c: Don't include c-lex.h.
122 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
123 * c-tree.h (make_pointer_declarator): New.
124doc:
125 * passes.texi, tm.texi: Update.
126objc:
127 * Make-lang.in: Update and correct.
128 * objc-act.c: Don't include c-lex.h or cpplib.h.
129treelang:
130 * treetree.c: Don't include c-lex.h.
131config:
132 * darwin-c.c: Don't include c-lex.h.
133 * c4x/c4x-c.c: Don't include c-lex.h.
134 * c4x/t-c4x: Update.
135 * i370/i370-c.c: Don't include c-lex.h.
136 * i370/t-i370: Update.
137 * i960/i960-c.c: Don't include c-lex.h.
138 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
139 * i960/t-960bare: Update.
140 * i960/t-vxworks: Update.
141 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
142 * rs6000/t-darwin: Update.
143 * rs6000/t-rs6000-c-rule: Update.
144 * v850/v850-c.c: Don't include c-lex.h.
145 * v850/v850.c: Don't include c-lex.h or cpplib.h.
146
147
04d2be8e
KH
1482002-05-25 Kazu Hirata <kazu@cs.umass.edu>
149
150 * tree.def: Fix typos.
151 * doc/install.texi: Likewise.
152
7b6e506e
RH
1532002-05-25 Richard Henderson <rth@redhat.com>
154
155 * configure.in (HAVE_AS_TLS): Add ia64 test.
156 * configure: Rebuild.
157 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
158 (override_options): Set it.
159 (TARGET_HAVE_TLS): New.
160 (sdata_symbolic_operand): Look for 's'.
161 (tls_symbolic_operand): New.
162 (ia64_expand_load_address): Abort for tls symbols.
163 (gen_tls_get_addr): New.
164 (gen_thread_pointer): New.
165 (ia64_expand_move): Split out from movdi. Handle tls symbols.
166 (rtx_needs_barrier): Add new unspecs.
167 (ia64_encode_section_info): Handle tls symbols.
168 (ia64_strip_name_encoding): Strip two encoding chars.
169 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
170 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
171 (TARGET_OPTIONS): Add tls-size.
172 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
173 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
174 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
175 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
176 (movsf, movdf): Likewise.
177 (movdi_symbolic): Use match_scratch. Don't split if we won't
178 have a scratch availiable.
179 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
180 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
181 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
182 * config/ia64/ia64-protos.h: Update.
183 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
184 sdata_symbolic_operand.
185 (ASM_OUTPUT_LABELREF): Strip two characters.
186
8c1d52a3
KH
1872002-05-25 Kazu Hirata <kazu@cs.umass.edu>
188
189 * combine.c (simplify_set): Remove an unnecessary subreg.
190
b47cae3d
MM
1912002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
192
193 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
194
195 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
196
ce9e3a6d
GDR
1972002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
198
199 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
200
fb2c6841
RS
2012002-05-25 Roger Sayle <roger@eyesopen.com>
202
203 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
204 (cond (compare x y) 0) into the equivalent (cond x y).
205
da7ac8f1
GDR
2062002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
207
208 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
209
c7bdf0a6
ZW
2102002-05-24 Zack Weinberg <zack@codesourcery.com>
211
212 * config.gcc: Remove all stanzas for previously obsoleted
213 systems. Where necessary, add explicit error stanzas to
214 prevent removed systems from being misidentified as something
215 else. Begin a fresh obsoletions list, with the systems that
216 were reprieved last round.
217 * doc/install.texi: Remove all mention of dead targets.
218 * fixinc/mkfixinc.sh: Likewise.
219
220 * config/arm/arm.h: Bit 31 of target_flags is no longer
221 reserved.
222
223 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
224 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
225 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
226 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
227 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
228 config/alpha/osf12.h, config/alpha/osf2or3.h,
229 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
230 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
231 config/clipper/clipper-protos.h, config/clipper/clipper.c,
232 config/clipper/clipper.h, config/clipper/clipper.md,
233 config/clipper/clix.h, config/convex/convex-protos.h,
234 config/convex/convex.c, config/convex/convex.h,
235 config/convex/convex.md, config/convex/fixinc.convex,
236 config/convex/proto.h, config/elxsi/elxsi-protos.h,
237 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
238 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
239 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
240 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
241 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
242 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
243 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
244 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
245 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
246 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
247 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
248 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
249 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
250 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
251 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
252 config/m68k/altos3068.h, config/m68k/apollo68.h,
253 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
254 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
255 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
256 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
257 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
258 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
259 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
260 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
261 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
262 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
263 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
264 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
265 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
266 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
267 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
268 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
269 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
270 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
271 config/mips/dec-osf1.h, config/mips/elflorion.h,
272 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
273 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
274 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
275 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
276 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
277 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
278 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
279 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
280 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
281 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
282 config/ns32k/sequent.h, config/ns32k/tek6000.h,
283 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
284 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
285 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
286 config/sparc/rtems.h, config/we32k/we32k-protos.h,
287 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
288 Delete file.
289
755ac5d4
RH
2902002-05-24 Richard Henderson <rth@redhat.com>
291
292 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
293 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
294 * config/i386/i386.c (tls_model_chars): Add leading space.
295 (tls_symbolic_operand): Don't bias by 1.
296 (legitimize_address): Don't unbias by 1.
297
c429f12e
TM
2982002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
299
300 * lcm.c (optimize_mode_switching): Change bb used as indices
301 to bb->index.
302
8beda321
RH
3032002-05-24 Richard Henderson <rth@redhat.com>
304
305 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
306 of update_life_info_in_dirty_blocks.
307
90442291
JJ
3082002-05-24 Jakub Jelinek <jakub@redhat.com>
309
310 PR other/6782
311 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
312
3620711b
NB
3132002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
314
315 PR preprocessor/6780
316 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
317
2f8d482e
JB
3182002-05-24 Jim Blandy <jimb@redhat.com>
319
320 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
321 entry with a type code of zero, marking the end of the compilation
322 unit's macro info.
323
95bfe95f
RH
3242002-05-24 Richard Henderson <rth@redhat.com>
325
c7bdf0a6
ZW
326 * varasm.c (asm_output_bss): Always output one byte.
327 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
95bfe95f 328
7efda054
BM
3292002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
330
331 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
332 namespace.
333
8a951190
AJ
3342002-05-24 Andreas Jaeger <aj@suse.de>
335
336 * ggc-page.c (alloc_page): Cast variables of type size_t to
337 unsigned long, adjust printf format string.
338 (ggc_alloc): Likewise.
339 (ggc_print_statistics): Likewise.
340 (ggc_print_statistics): Correct printf format string for SCALE to
341 use unsigned long.
342
f29e2ec0
DS
3432002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
344
345 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
346
211a0cbe 3472002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
c7bdf0a6 348 Zack Weinberg <zack@codesourcery.com>
211a0cbe
GDR
349
350 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
351 quoted strings.
352 * dwarf2out.c (lookup_filename): Properly quote filename in .file
8a951190 353 directive in assembly file.
211a0cbe
GDR
354 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
355 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
356 * config/pj/pj.h (ASM_FILE_START): Likewise.
357 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
358 * config/avr/avr.c (asm_file_end): Likewise.
359 * toplev.c (output_quoted_string): Handle possibly signed plain
8a951190 360 char.
211a0cbe
GDR
361 * toplev.h (output_clean_symbol_name): Declare
362 * toplev.c (output_clean_symbol_name): Define.
363 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
364 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
365
2f0552b6
AM
3662002-05-24 Alan Modra <amodra@bigpond.net.au>
367
368 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
369
b326b2c1
VM
3702002-05-23 Vladimir Makarov <vmakarov@redhat.com>
371
372 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
373 of size of unsigned.
374
f996902d
RH
3752002-05-23 Richard Henderson <rth@redhat.com>
376
377 * configure.in (HAVE_AS_TLS): New test.
378 * config.in, configure: Rebuild.
379 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
380 (ix86_tls_dialect_string, ix86_tls_dialect): New.
381 (override_options): Set it.
382 (tls_model_chars, tls_symbolic_operand): New.
383 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
384 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
385 (local_exec_symbolic_operand): New.
386 (get_pic_label_name): Merge into output_set_got.
387 (ix86_asm_file_end): Emit pic_label_name if defined.
388 (legitimate_constant_p, constant_address_p): New.
389 (legitimate_pic_operand_p): New.
390 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
391 (legitimate_address_p): Likewise.
392 (ix86_encode_section_info): Rename from i386_; handle tls decls.
393 (ix86_strip_name_encoding): New.
394 (get_thread_pointer): New.
395 (legitimize_address): Handle tls symbols.
396 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
397 Remove UNSPEC_PLT.
398 (struct machine_function): Add some_ld_name.
399 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
400 (print_operand) [&]: Use it. Handle UNSPEC_TP.
401 (output_addr_const_extra): New.
402 (maybe_get_pool_constant): New.
403 (ix86_split_to_parts): Use it.
404 (ix86_expand_move): Handle tls symbols.
405 (ix86_tls_get_addr): New.
406 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
407 (TARGET_OPTIONS): Add tls-dialect.
408 (CONSTANT_ADDRESS_P): Use new out-of-line function.
409 (LEGITIMATE_CONSTANT_P): Likewise.
410 (LEGITIMATE_PIC_OPERAND_P): Likewise.
411 (TARGET_STRIP_NAME_ENCODING): New.
412 (ASM_OUTPUT_LABELREF): New.
413 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
414 (OUTPUT_ADDR_CONST_EXTRA): New.
415 (PREDICATE_CODES): Update.
416 (ix86_tls_dialect, ix86_tls_dialect_string): New.
417 * config/i386/i386.md: Regroup and renumber unspec constants.
418 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
419 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
420 (tls_global_dynamic, tls_local_dynamic_base): New.
421 (tls_local_dynamic_once): New.
422 * config/i386/i386-protos.h: Update.
423
821e35ba
RH
4242002-05-23 Richard Henderson <rth@redhat.com>
425
426 * genemit.c (gen_insn): Print file:lineno comment before function.
427 (main): likewise.
428 * gensupport.c (struct queue_elem): Add filename member.
429 (queue_pattern): Initialize it; update all callers.
430 (process_include): Don't free filename.
431 (read_md_rtx): Set read_rtx_filename.
432
0f1ffa23 4332002-05-23 Hans Boehm <Hans_Boehm@hp.com>
821e35ba
RH
434
435 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
0f1ffa23 436
8e9fadc3
RH
4372002-05-23 Richard Henderson <rth@redhat.com>
438
439 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
440
244c2241
RH
4412002-05-23 Richard Henderson <rth@redhat.com>
442
443 * doc/extend.texi (C++98 Thread-Local Edits): Update with
444 commentary from Mark.
445
e0082a72
ZD
4462002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
447
448 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
449 Use FOR_EACH_BB macros to iterate over basic block chain.
450 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
451 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
452 Likewise.
453 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
454 find_unreachable_blocks, create_edge_list, verify_edge_list,
455 remove_fake_edges, add_noreturn_fake_exit_edges,
456 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
457 Likewise.
458 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
459 find_sub_basic_blocks): Likewise.
460 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
461 Likewise.
462 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
463 Likewise.
464 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
465 Likewise.
466 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
467 commit_edge_insertions, commit_edge_insertions_watch_calls,
468 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
469 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
470 * conflict.c (conflict_graph_compute): Likewise.
471 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
472 df_modified_p, df_refs_unlink, df_dump): Likewise.
473 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
474 * final.c (compute_alignments): Likewise.
475 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
476 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
477 count_or_remove_death_notes): Likewise.
478 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
479 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
480 classic_gcse, compute_transp, cprop, compute_pre_data,
481 compute_transpout, invalidate_nonnull_info,
482 delete_null_pointer_checks_1, delete_null_pointer_checks,
483 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
484 compute_store_table, build_store_vectors, store_motion): Likewise.
485 * global.c (global_conflicts, mark_elimination): Likewise.
486 * graph.c (print_rtl_graph_with_bb): Likewise.
487 * haifa-sched.c (sched_init): Likewise.
488 * ifcvt.c (if_convert): Likewise.
489 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
490 compute_available, compute_nearerout, compute_rev_insert_delete,
491 optimize_mode_switching): Likewise.
492 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
493 * predict.c (estimate_probability, note_prediction_to_br_prob,
494 propagate_freq, counts_to_freqs, expensive_function_p,
495 estimate_bb_frequencies): Likewise.
496 * profile.c (instrument_edges, get_exec_counts,
497 compute_branch_probabilities, compute_checksum, branch_prob,
498 find_spanning_tree): Likewise.
499 * recog.c (split_all_insns, peephole2_optimize): Likewise.
500 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
501 Likewise.
502 * regclass.c (scan_one_insn, regclass): Likewise.
503 * regmove.c (mark_flags_life_zones, regmove_optimize,
504 record_stack_memrefs): Likewise.
505 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
506 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
507 * resource.c (find_basic_block): Likewise.
508 * sched-ebb.c (schedule_ebbs): Likewise.
509 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
510 find_single_block_region, find_rgns, schedule_insns)
511 * sibcall.c (optimize_sibling_and_tail_recursive_call)
512 * ssa-ccp.c (optimize_unexecutable_edges,
513 ssa_ccp_df_delete_unreachable_insns): Likewise.
514 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
515 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
516 rename_block, convert_to_ssa, compute_conservative_reg_partition,
517 compute_coalesced_reg_partition, rename_equivalent_regs,
518 convert_from_ssa): Likewise.
519 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
520 process_for_unwind_directive): Likewise.
521
522 * df.c (FOR_ALL_BBS): Removed.
523 * gcse.c (struct null_pointer_info): Type of current_block field
524 changed.
525 (struct reg_avail_info): Type of last_bb field changed.
526 * config/ia64/ia64.c (block_num): Removed.
527 (need_copy_state): Type changed.
528 (last_block): New.
529
17645b15
NB
5302002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
531
532 * cppinit.c (mark_named_operators): Split out from init_builtins.
533 (cpp_finish_options): Call it from here instead.
534
79ed7328
JT
5352002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
536
537 * builtin-attrs.def: Update copyright years.
538 (ATTR_NONNULL): New attribute identifier.
539 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
540 attribute tree lists.
541 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
542 format operand.
543 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
544 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
545 attribute lists. Chain the appropriate nonnull attribute.
546 * c-format.c (check_format_arg): Remove null format string
547 warning.
548 * testsuite/gcc.dg/format/null-1.c: New test.
549
7d600178
RO
5502002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
551
552 * Makefile.in (ADAC): Define.
553 (SYSLIBS): Define.
554 (.SUFFIXES): Move before language makefile fragments.
555 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
556
5ff225fc
MM
5572002-05-23 Mark Mitchell <mark@codesourcery.com>
558
559 * varasm.c (make_decl_rtl): Don't allow weak variables to be
560 placed in common.
561
0f72964f
JH
562Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
563
564 * cfg.c (dump_flow_info): Print results of
565 maybe_hot/probably_never_executed predicates.
566 * toplev.c (open_dump_file): Print function frequency.
567
c863f8c2
DM
5682002-05-23 David S. Miller <davem@redhat.com>
569
570 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
571 regsets.
572
b34c7881
JT
5732002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
574
575 * c-common.c (warn_nonnull): Declare.
576 (c_common_attribute_table): Add "nonnull" attribute.
577 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
578 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
579 check_function_arguments_recurse): New functions.
580 * c-common.h (warn_nonnull): Declare extern.
581 (check_function_arguments, check_function_arguments_recurse): New
582 prototypes.
583 * c-decl.c (c_decode_option): Add -Wnonnull option.
584 * c-format.c (set_Wformat): Set warn_nonnull if enabling
585 format checking.
586 (format_check_context): New structure.
587 (check_format_info_recurse): Remove recursion and rename to...
588 (check_format_arg): ...this. Update comment.
589 (check_format_info): Use check_function_arguments_recurse.
590 * c-typeck.c (build_function_call): Call check_function_arguments
591 instead of check_function_format.
592 * doc/extend.texi: Document "nonnull" attribute.
593 * doc/invoke.texi: Docuemnt -Wnonnull option.
594 * testsuite/gcc.dg/nonnull-1.c: New test.
595 * testsuite/gcc.dg/nonnull-2.c: New test.
596
95479831
DM
5972002-05-23 David S. Miller <davem@redhat.com>
598
599 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
600 * cfgcleanup.c (cleanup_cfg): If it is set do not
601 attempt to delete trivially dead insns.
602 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
603 * toplev.c (rest_of_compilation): Document non-trivial aspect
604 the RTL before optimize_save_area_alloca is run.
605
a97d1398
NB
6062002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
607
608 * c-lex.c (indent_level): Remove.
609 (cb_file_change, c_lex): Remove indent level handling.
610 * c-lex.h (indent_level): Remove.
611 * input.h (struct file_stack): Remove indent_level.
612 * toplev.c (push_srcloc): Remove indent_level handling.
613
66b408f2
JJ
6142002-05-23 Jakub Jelinek <jakub@redhat.com>
615
616 PR target/6753
617 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
618 of x in constraints for clarity.
619 (sse_mov?fcc split): abort if op2 == op3.
620 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
621 sse_movsfcc_const0_4): Add earlyclobber.
622 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
623 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
624 Use Y instead of x in constraints.
625
5bf0ebab
RH
6262002-05-23 Richard Henderson <rth@redhat.com>
627
9217ef40
RH
628 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
629 (C++98 Thread-Local Edits): New subsection.
630
5bf0ebab
RH
631 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
632 (ix86_arch): Set type to enum processor_type.
633
8a951190 634 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
5bf0ebab
RH
635 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
636
4832c9e1
JJ
6372002-05-23 Jakub Jelinek <jakub@redhat.com>
638
639 * configure.in: Fix as version test for binutils 2.12.1 releases
640 (without dates).
641 * configure: Rebuilt.
642
c8c03509
RH
6432002-05-23 Richard Henderson <rth@redhat.com>
644
645 * config/i386/i386.c (get_pic_label_name): New.
646 (load_pic_register): Remove.
647 (output_set_got): New.
648 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
649 * config/i386/i386.md (UNSPEC_SET_GOT): New.
650 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
651 (prologue_set_got, prologue_get_pc): Remove.
652 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
653 (builtin_setjmp_receiver): Use gen_set_got.
654 * config/i386/i386-protos.h: Update.
655
d51f3632
JH
656Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
657
658 * gcse.c (hash_expr): Do not use alias set for hashing.
659
b0a93386
KB
6602002-05-22 Kevin Buettner <kevinb@redhat.com>
661
662 * dbxout.c (dbxout_class_name_qualifiers): New function.
663 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
664
bdee42b1
NB
6652002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
666
667 * cpperror.c (_cpp_begin_message): No special casing
668 of CPP_FATAL_LIMIT.
669 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
670 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
671 * cpplib.c (do_include_common): Use DL_ERROR.
672 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
673 (DL_ICE): Renumber.
674 * fix-header.c (read_scan_file): Update.
675
0e07aff3
RH
6762002-05-22 Richard Henderson <rth@redhat.com>
677
678 * config/i386/i386.c (ix86_expand_call): New function, extracted
679 from md call patterns. Add pic_offset_table_rtx to
680 CALL_INSN_FUNCTION_USAGE when needed.
681 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
682 (call_value_pop, call_value, untyped_call): Likewise.
683 (call_exp, call_value_exp): Remove.
684 * config/i386/i386-protos.h: Update.
685
6f001fdf
RH
6862002-05-22 Richard Henderson <rth@redhat.com>
687
688 * varasm.c (default_section_type_flags): Check for VAR_DECL
689 before using DECL_THREAD_LOCAL.
690
cbaaba19
DE
6912002-05-22 David Edelsohn <edelsohn@gnu.org>
692
693 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
694 (STARTFILE_SPEC): Delete PE crt0.o.
695 * config/rs6000/aix51.h: Same.
696 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
697 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
698 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
699 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
700 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
701
c711ba8e
RH
7022002-05-22 Richard Henderson <rth@redhat.com>
703
704 * varasm.c (default_section_type_flags): Handle tls data and
705 default sections.
706 (default_unique_section): Handle tls sections.
707
343f59d9
AM
7082002-05-23 Alan Modra <amodra@bigpond.net.au>
709
710 * configure.in (CROSS): Define NATIVE_CROSS.
711 * configure: Regenerate.
712 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
713 (startfile_prefix_spec): New var.
714 (static_specs): Add startfile_prefix_spec.
715 (do_spec_2): Split out from..
716 (do_spec): ..here.
717 (main): Process startfile_prefix_spec.
718 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
719 dynamic linker.
720 (STARTFILE_PREFIX_SPEC): Define.
721 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
c7bdf0a6 722 absolute paths.
343f59d9 723
df383483
KH
7242002-05-22 Kazu Hirata <kazu@cs.umass.edu>
725
726 * cpperror.c: Fix formatting.
727 * cppexp.c: Likewise.
728 * cppfiles.c: Likewise.
729 * cpphash.c: Likewise.
730 * cpphash.h: Likewise.
731 * cppinit.c: Likewise.
732 * cpplex.c: Likewise.
733 * cpplib.c: Likewise.
734 * cppmacro.c: Likewise.
735 * cppmain.c: Likewise.
736 * cppspec.c: Likewise.
737
2dd36f90
JJ
7382002-05-22 Jakub Jelinek <jakub@redhat.com>
739
740 * combine.c (force_to_mode): Use gen_int_mode.
741 Don't clear CONST_INT bits outside of mode.
742
8dc02d7f
RH
7432002-05-22 Richard Henderson <rth@redhat.com>
744
745 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
746 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
747
45f79783
JJ
7482002-05-22 Jakub Jelinek <jakub@redhat.com>
749
750 PR c/6643
751 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
752 if DECL_SIZE_UNIT is INTEGER_CST.
753
19f71cd7
RH
7542002-05-22 Richard Henderson <rth@redhat.com>
755
756 * flow.c (life_analysis): Delete broken reg_label check.
757
d5bcfcce
RH
7582002-05-22 Richard Henderson <rth@redhat.com>
759
760 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
761 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
762
985d311b 763Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
764
765 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
766 (embed-bb.c): New rule.
985d311b 767 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
768 * config/sh/embed_bb.c: Delete.
769
985d311b
R
770Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
771
772 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
773
f6d45746
KH
7742002-05-22 Kazu Hirata <kazu@cs.umass.edu>
775
776 * config/h8300/h8300.md (*andorqi3): New.
777
e5f3b786
NB
7782002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
779
780 PR preprocessor/6517
781 * Makefile.in: Update.
782 * c-common.c (c_common_post_options): Add preprocessor
783 errors to the error count.
784 * c-lang.c (c_post_options): Kill.
785 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
786 * hooks.h: Add header guards.
787 * langhooks-def.h: Include hooks.h.
788 (LANG_HOOKS_POST_OPTIONS): Update.
789 * langhooks.h (struct lang_hooks): Update post_options.
790 * toplev.c (parse_options_and_default_flags): Update.
791objc:
792 * objc-lang.c (objc_post_options): Kill.
793 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
794
4c526be3
BK
7952002-05-21 Bruce Korb <bkorb@gnu.org>
796
797 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
798 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
799 * fixinc/fixincl.x: regen.
4c526be3 800
f87c27b4
KH
8012002-05-21 Kazu Hirata <kazu@cs.umass.edu>
802
803 * cfgbuild.c: Fix formatting.
804 * cfg.c: Likewise.
805 * cfgcleanup.c: Likewise.
806 * cfglayout.c: Likewise.
807 * cfgloop.c: Likewise.
808 * cfgrtl.c: Likewise.
809
3d78f2e9
RH
8102002-05-21 Richard Henderson <rth@redhat.com>
811
812 * c-common.h (enum rid): Add RID_THREAD.
813 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
814 (grokdeclarator): Grok __thread.
815 * c-parse.in (reswords): Add __thread.
816 (rid_to_yy): Add RID_THREAD.
817
818 * tree.h (DECL_THREAD_LOCAL): New.
819 (struct tree_decl): Add thread_local_flag.
820 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
821 * tree.c (staticp): TLS variables are not static.
822
823 * target-def.h (TARGET_HAVE_TLS): New.
824 * target.h (have_tls): New.
825 * output.h (SECTION_TLS): New.
826 * varasm.c (assemble_variable): TLS variables can't be common for now.
827 (default_section_type_flags): Handle .tdata and .tbss.
828 (default_elf_asm_named_section): Handle SECTION_TLS.
829 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
830
831 * flags.h (flag_tls_default): Declare.
832 * toplev.c (flag_tls_default): Define.
833 (display_help): Display help for it.
834 (decode_f_option): Set it.
835
836 * doc/extend.texi (Thread-Local): New node describing language-level
837 thread-local storage.
838 * doc/invoke.texi (-ftls-model): Document.
839
840 * fixinc/inclhack.def (thread_keyword): New.
841 * fixinc/fixincl.x: Rebuild.
842
a151daf0
JL
8432002-05-21 Jeffrey A Law <law@redhat.com>
844
8a951190 845 * optabs.c (expand_binop): For double-word integer multiplies,
c7539aa0
JL
846 do not compute intermediate results into something that is
847 not a register (such as a SUBREG or MEM).
848
a151daf0
JL
849 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
850 (ix86_sched_reorder): Make sure to initialize scheduling
851 data even when there's only one insn in the ready queue.
852
96b1f73b
VM
8532002-05-21 Vladimir Makarov <vmakarov@redhat.com>
854
855 * genautomata.c (reserv_sets_hash_value): Fix a typo.
856
dceb2b75
VM
8572002-05-21 Vladimir Makarov <vmakarov@redhat.com>
858
859 * genautomata.c (reserv_sets_hash_value): Define hash_value as
860 set_el_t. Transform the hash value into unsigned.
861 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
862 (transform_3): Add code to process `(A,B)+(D,E)'.
863
159d5964
NY
8642002-05-21 NIIBE Yutaka <gniibe@m17n.org>
865
866 * reload1.c (do_output_reload): Run delete_output_reload
867 only if optimizing.
868
cf5124f6
RS
8692002-05-21 Roger Sayle <roger@eyesopen.com>
870
871 PR middle-end/6600
872 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
873 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
874 (can_store_by_pieces): ... and here to limit the largest mode used.
875 Add a comment to document this function.
876
380e6ade
RH
8772002-05-21 Richard Henderson <rth@redhat.com>
878
879 * flow.c (life_analysis): Fix test for deleted label.
880
1f95326c
NB
8812002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
882
883 * doc/tm.texi: Fix typo.
884
2a1dc0d8
ZW
8852002-05-21 Zack Weinberg <zack@codesourcery.com>
886
887 * c-common.c (c_common_init): Set options->unsigned_char from
888 flag_signed_char.
889 (cb_register_builtins): Define __STRICT_ANSI__ and
890 __CHAR_UNSIGNED__ here...
891 * cppinit.c (init_builtins): Not here.
892 (cpp_create_reader): unsigned_char option defaults to 0, not
893 !DEFAULT_SIGNED_CHAR.
894 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
895 and -funsigned-char.
896
897 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
898 * cpphash.c (_cpp_init_hashtable): Don't set it.
899 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
900 directly. Clarify comment.
901
d29146f2 9022002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 903
f5eb2fc8
ZD
904 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
905 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
906 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
907 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 908 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 909 flow_preorder_transversal_compute): Too.
d29146f2 910 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
911 find_sub_basic_blocks): Too.
912 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 913 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
914 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
915 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
916 * combine.c (this_basic_block): Type changed to basic_block.
917 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
918 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
919 get_last_value, distribute_notes, distribute_links): Too.
920 * final.c (compute_alignments): Too.
921 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
922 * function.c (thread_prologue_and_epilogue_insns): Too.
923 * gcse.c (compute_code_hoist_vbeinout): Too.
924 * global.c (build_insn_chain): Too.
925 * ifcvt.c (find_if_block, find_cond_trap): Too.
926 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
927 * regmove.c (regmove_optimize): Too.
928 * resource.c (find_basic_block): Too.
929 * sched-ebb.c (schedule_ebbs): Too.
930 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 931
68bd6dd6
AJ
9322002-05-21 Andreas Jaeger <aj@suse.de>
933
934 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
935
35a76aac
RH
9362002-05-21 Richard Henderson <rth@redhat.com>
937
938 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
939 unspec names, not numbers.
940
2870428f
JM
9412002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
942
943 * doc/sourcebuild.texi: Mention snapshot-README and
944 snapshot-index.html as needing updating for new front ends.
945
b0ad77d5
KG
9462002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
947
948 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
949 disabling checking, and avoid multiple evaluation of RTX.
950
279be7c8
RE
9512002-05-21 Richard Earnshaw <rearnsha@arm.com>
952
953 * bitmap.c (bitmap_find_bit): Return early if we have the correct
954 element cached.
955
193a563a
JH
956Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
957
958 * profile.c (gen_edge_profiler): Set alias set before the memory is
959 used.
960
31825e57
DM
9612002-05-20 David S. Miller <davem@redhat.com>
962
963 * cselib.c (max_value_regs): New.
964 (cselib_lookup, cselib_invalidate_regno): Initialize it when
965 adding new entries to the REG_VALUES table and we are dealing with
966 a hard register.
967 (clear_table): Initialize it.
968 (cselib_invalidate_regno): Use it to determine which hard
969 registers to scan when mode is not VOIDmode.
970
68bd6dd6 9712002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
972
973 * tradcpp.c (fixup_newlines): Use old-style function header.
974
e0a09fda
KW
9752002-05-20 Krister Walfridsson <cato@df.lth.se>
976
977 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
978
e0c13c70
L
9792002-05-20 H.J. Lu (hjl@gnu.org)
980
981 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
982
983 * config/mips/mips.h (DFMODE_NAN): Defined.
984 (SFMODE_NAN): Likewise.
985
4c11675d 9862002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 987
2a1dc0d8
ZW
988 * combine.c (cant_combine_insn_p): Back out my
989 previous patch.
4c11675d 990
6a4d6760
KH
9912002-05-20 Kazu Hirata <kazu@cs.umass.edu>
992
993 * params.c: Fix formatting.
994 * params.h: Likewise.
995 * predict.c: Likewise.
996 * prefix.c: Likewise.
997 * print-rtl.c: Likewise.
998 * print-tree.c: Likewise.
999 * profile.c: Likewise.
1000
5715ca64
L
10012002-05-20 H.J. Lu (hjl@gnu.org)
1002
1003 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
1004
00b89f01
NC
10052002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
1006
1007 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
1008 switches straight on to the assembler, do not abbreviate them.
1009 * config/arm/elf.h (ASM_SPEC): As above.
1010 * config/arm/semi.h (ASM_SPEC): As above.
1011 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
1012 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
1013 -mcpu=xscale on to the assembler by default.
1014 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
1015
1441374b
RH
10162002-05-20 Richard Henderson <rth@redhat.com>
1017
1018 * cse.c (canon_hash): Reorder do_not_record test. Always
1019 allow pic_offset_table_rtx.
1020
c0fe508e
TM
10212002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
1022
1023 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
1024 (expand_binop): Ditto (3 times).
1025
f362c762
MM
10262002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
1027
1028 * Makefile.in (distclean): Remove QMTest stuff.
1029 (QMTEST_PATH): New variable.
1030 (QMTESTFLAGS): Likewise.
1031 (QMTESTRUNFLAGS): Likewise.
1032 (QMTEST): Likewise.
1033 (QMTEST_GPP_TESTS): Likewise.
1034 (QMTEST_DIR): Likewise.
1035 (QMTEST_DIR/context): New target.
1036 (qmtest-g++): Likeise.
1037 (qmtest-gui): Likewise.
1038 (QMTEST_DIR/gpp-expected.qmr): Likewise.
1039
16861f33
AH
10402002-05-19 Aldy Hernandez <aldyh@redhat.com>
1041
2a1dc0d8
ZW
1042 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
1043 an altivec register if TARGET_ALTIVEC.
16861f33 1044
2a1dc0d8
ZW
1045 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
1046 to ALTIVEC_VECTOR_MODE.
1047 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
1048 (rs6000_va_arg): Vectors may go in registers if they are not
1049 altivec vectors.
16861f33 1050
23459e15
KH
10512002-05-19 Kazu Hirata <kazu@cs.umass.edu>
1052
1053 * protoize.c: Fix formatting.
1054
174cc7d1
RH
10552002-05-19 Richard Henderson <rth@redhat.com>
1056
1057 * gensupport.c (init_include_reader): Merge into ...
1058 (process_include): ... here. Simplify composite path creation.
1059 Plug memory leaks. Fix file/line number tracking. Do not
1060 process_define_cond_exec. Return void.
1061 (process_rtx): Don't check process_include return value.
1062
918ed612
ZD
10632002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1064
1065 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
1066 fields.
1067 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
1068 traversing basic block chain.
1069 (create_basic_block_structure, create_basic_block): Declaration changed.
1070 (link_block, unlink_block): Declare.
1071 * cfg.c (entry_exit_blocks): Initialize new fields.
1072 (link_block, unlink_block): New.
1073 (expunge_block_nocompact): Unlink basic block.
1074 (dump_flow_info): Print prev_bb/next_bb fields.
1075 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
1076 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
1077 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
1078 * cfgrtl.c (create_basic_block_structure, create_basic_block,
1079 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
1080 (verify_flow_info): Check that list agrees with numbering.
1081
e0322d5c
NB
10822002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
1083
1084 * c-common.c (preprocessing_asm): New macro.
1085 * c-lex.h (builtin_define, builtin_assert): Use pfile.
1086doc:
1087 * tm.texi: Update.
1088config/alpha:
1089 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
1090 (CPP_SPEC): Simplify.
1091 (TARGET_CPU_CPP_BUILTINS): Update.
1092 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
1093 (CPP_SPEC): Simplify.
1094 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
1095 (TARGET_OS_CPP_BUILTINS): Update.
1096 * osf.h (CPP_XFLOAT_SPEC): Kill.
1097 (TARGET_OS_CPP_BUILTINS): Update.
1098 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
1099 * osf5.h (CPP_XFLOAT_SPEC): Kill.
1100 * vms.h (CPP_SUBTARGET_SPEC): Kill.
1101 (TARGET_OS_CPP_BUILTINS): Update.
1102
121f5c2c
RH
11032002-05-19 Richard Henderson <rth@redhat.com>
1104
1105 * varasm.c (default_binds_local_p): Fix typo.
1106
651c5ed9
MM
11072002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
1108
1109 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
1110 CONST_INT operand to the correct mode after adding 1 to it.
1111
bce0deb2
MM
11122002-05-19 Mark Mitchell <mark@codesourcery.com>
1113
1114 * config.gcc (powerpc-wrs-windiss*): New target.
1115
4aa74a4f
FS
11162002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1117
1118 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
1119 (ashrdi3): Use it.
1120
a15135c9
MM
11212002-05-18 Mark Mitchell <mark@codesourcery.com>
1122
1123 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
1124 alphasort.
1125 * config.in: Regenerated.
1126 * configure: Regenerated.
1127
47754fd5
RH
11282002-05-19 Richard Henderson <rth@redhat.com>
1129
1130 * target-def.h (TARGET_BINDS_LOCAL_P): New.
1131 * target.h (struct gcc_target): Move boolean fields to the end.
1132 Add binds_local_p.
1133 * varasm.c (default_binds_local_p): New.
1134 * output.h: Declare it.
1135
1136 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
1137 * config/cris/cris.c (cris_encode_section_info): Likewise.
1138 * config/i386/i386.c (i386_encode_section_info): Likewise.
1139 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
1140 * config/sh/sh.c (sh_encode_section_info): Likewise.
1141
1142 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
1143 (TARGET_BINDS_LOCAL_P): New.
1144
fc881338
RH
11452002-05-19 Richard Henderson <rth@redhat.com>
1146
1147 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
1148 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
1149 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
1150
1151 * toplev.c (display_help): Kill -a -ax help.
1152
68bd6dd6 1153 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
1154 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
1155 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
1156 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
1157 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
1158
1159 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
1160 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
1161
1162 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
1163 (ix86_output_function_block_profiler): Kill.
1164 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
1165 (m68hc11_function_block_profiler): Kill.
1166 * config/m68hc11/m68hc11-protos.h: Update.
1167 * config/m88k/m88k.c (output_block_profiler): Kill.
1168 (output_function_block_profiler): Kill.
1169 * config/m88k/m88k-protos.h: Update.
1170
772c5265
RH
11712002-05-19 Richard Henderson <rth@redhat.com>
1172
1173 * system.h (STRIP_NAME_ENCODING): Poison it.
1174 * output.h (STRIP_NAME_ENCODING): Remove.
1175 (default_strip_name_encoding): Declare.
1176 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
1177 * target.h (strip_name_encoding): New.
1178 * varasm.c (default_strip_name_encoding): New.
1179
1180 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
1181 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
1182 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
1183 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
1184 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
1185 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
1186 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
1187 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
1188 config/v850/v850.h: Use the hook, not the macro.
1189
1190 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
1191 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
1192 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
1193 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
1194 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
1195 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 1196 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
1197 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
1198 config/v850/v850.c, config/v850/v850.h:
1199 Move STRIP_NAME_ENCODING to out-of-line function and add
1200 TARGET_STRIP_NAME_ENCODING.
1201
1202 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
1203 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
1204 with TARGET_STRIP_NAME_ENCODING referencing existing function;
1205 make function static.
1206
1207 * xcoffout.c: Include target.h
1208 * Makefile.in (xcoffout.o): Update.
1209
1210 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
1211 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
1212 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
1213 reloc argument unused.
1214 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
1215
1216 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
1217 STRIP_NAME_ENCODING docs.
1218
8f9eb495
AJ
12192002-05-19 Andreas Jaeger <aj@suse.de>
1220
1221 * gengenrtl.c: Add prototype for excluded_rtx.
1222
1223 * real.h: Add prototype for exact_real_truncate.
1224
fb49053f
RH
12252002-05-18 Richard Henderson <rth@redhat.com>
1226
1227 * system.h (ENCODE_SECTION_INFO): Poison it.
1228 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
1229 * target.h (encode_section_info): New.
1230 * varasm.c (make_decl_rtl, output_constant_def): Use it.
1231 * hooks.c (hook_tree_int_void): New.
1232 * hooks.h: Declare it.
1233
1234 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
1235 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
1236 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
1237 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
1238 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
1239 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
1240 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
1241 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
1242 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
1243 config/mcore/mcore-protos.h, config/mcore/mcore.c,
1244 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
1245 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
1246 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
1247 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
1248 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
1249 referencing existing function. Make function static.
1250
1251 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 1252 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
1253 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
1254 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
1255 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 1256 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
1257 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
1258 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
1259 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
1260 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 1261 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
1262 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
1263 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
1264 Move ENCODE_SECTION_INFO to out-of-line function and add
1265 TARGET_ENCODE_SECTION_INFO.
1266
1267 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
1268 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
1269
1270 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
1271 from SUBTARGET_*
1272 (switch_to_section): Replace in_rdata case with in_readonly_data.
1273
1274 * config/h8300/h8300.c (h8300_encode_label): Make static.
1275 * config/h8300/h8300-protos.h: Update.
1276
1277 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
1278 from rs6000_encode_section_info; make static.
1279 (rs6000_xcoff_encode_section_info): New.
1280
1281 * config/v850/v850.c (v850_encode_data_area): Make static.
1282 * config/v850/v850-protos.h: Update.
1283
1284 * config/vax/vax.c: Include flags.h.
1285 (vms_select_section): Fix typo.
1286
1287 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
1288 ENCODE_SECTION_INFO docs.
1289
9fe08fd0
RH
12902002-05-18 Richard Henderson <rth@redhat.com>
1291
1292 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
1293 REGISTER_TARGET_PRAGMAS.
1294 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
1295
410b770f
RH
1296 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
1297
b64a1b53
RH
12982002-05-18 Richard Henderson <rth@redhat.com>
1299
1300 * system.h (SELECT_RTX_SECTION): Poison.
1301 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
1302 * target.h (select_rtx_section): New.
1303 * varasm.c (output_constant_pool): Use it.
1304 (default_select_rtx_section, default_elf_select_rtx_section): New.
1305 * output.h: Declare them.
1306
1307 * config/darwin.h (SELECT_RTX_SECTION): Move ...
1308 * config/darwin.c (machopic_select_rtx_section): ... here.
1309 * config/darwin-protos.h: Update.
1310
1311 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
1312 * config/nextstep.c (machopic_select_rtx_section): ... here.
1313 (nextstep_select_section): Rename variable to avoid macro clash.
1314 * config/nextstep-protos.h: Update.
1315
1316 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
1317 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
1318 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 1319 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
1320 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
1321 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 1322 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
1323 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
1324 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
1325 (SELECT_RTX_SECTION): Remove.
1326
1327 * config/darwin.h, config/elfos.h, config/nextstep.h,
1328 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
1329 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
1330 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
1331 config/sparc/lynx.h, config/xtensa/xtensa.c
1332 (TARGET_ASM_SELECT_RTX_SECTION): New.
1333
1334 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
1335 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
1336 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
1337 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
1338 (ia64_aix_select_rtx_section): New.
1339 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
1340 redefining.
1341 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 1342 Support ELF SHF_MERGE features.
b64a1b53
RH
1343 * config/mips/mips-protos.h: Update.
1344 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
1345 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
1346 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
1347 make static, fall back to default_elf_select_rtx_section.
1348 * config/rs6000/rs6000-protos.h: Update.
1349 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
1350 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
1351 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
1352 * config/romp/romp.c (romp_select_rtx_section): New.
1353 * config/s390/s390.c (s390_select_rtx_section): New.
1354 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
1355 declarations before target macro definition.
1356 (xtensa_emit_call): Use static buffer.
1357 (xtensa_select_rtx_section): New.
1358 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
1359 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
1360 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
1361
1362 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
1363 SELECT_RTX_SECTION docs.
1364
1365Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
1366
1367 * i386.md (movsi/movdi): Fix template.
1368 (sse2 patterns): Set attributes consistently.
1369
1370 * i386.md (pushqi2, ashrqi_*): Fix constraint.
1371
6835a09c
TM
13722002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
1373
1374 * optabs.c (complex_part_zero_p): New.
1375 * (expand_cmplxdiv_straight): Use it.
1376 * (expand_cmplxdiv_wide): Ditto.
1377 * (expand_binop): Ditto.
1378
d48bc59a
RH
13792002-05-18 Richard Henderson <rth@redhat.com>
1380
1381 * final.c (HAVE_READONLY_DATA_SECTION): New.
1382 (shorten_branches): Use it instead of ifdefs.
1383 * varasm.c (enum in_section): Add in_readonly_data.
1384 (text_section, data_section): Tidy.
1385 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
1386
1387 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
1388 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
1389 (READONLY_DATA_SECTION): Don't undef.
1390
1391 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
1392 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
1393 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
1394
1395 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
1396 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
1397 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
1398 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
1399
1400 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
1401 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
1402 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
1403 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
1404 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
1405 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
1406 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
1407 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
1408 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
1409
1410 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
1411 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
1412 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
1413 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
1414 config/pa/pa64-hpux.h, config/sparc/litecoff.h
1415 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
1416
1417 * config/elfos.h, config/netware.h, config/svr3.h,
1418 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
1419 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
1420 config/h8300/h8300.h, config/i386/i386-interix.h,
1421 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
1422 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
1423
1424 * config/elfos.h, config/netware.h, config/svr3.h,
1425 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
1426 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
1427 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
1428 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
1429
1430 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
1431 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
1432 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
1433 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
1434 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
1435 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
1436 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
1437 config/rs6000/sysv4.h, config/v850/v850.h
1438 (EXTRA_SECTIONS): Remove in_const/in_rdata.
1439 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
1440
1441 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
1442 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
1443 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
1444 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
1445 * config/alpha/alpha.c (alpha_start_function): Likewise.
1446 (alpha_write_linkage): Likewise.
1447 * config/m32r/m32r.c (m32r_select_section): Likewise.
1448 * config/m88k/m88k.c (m88k_select_section): Likewise.
1449 * config/mips/mips.c (mips_select_rtx_section): Likewise.
1450 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
1451 (rs6000_elf_select_section): Likewise.
1452 * config/v850/v850.c (v850_select_section): Likewise.
1453
1454 * config/1750a/1750a.h, config/i860/sysv3.h
1455 (READONLY_DATA_SECTION_ASM_OP): New.
1456 READONLY_DATA_SECTION_ASM_OP.
1457 * config/i386/interix.c, config/i386/winnt.c
1458 (i386_pe_unique_section): Always use .rdata prefix.
1459 * config/pa/som.h (readonly_data): Always switch to read-only section.
1460 (READONLY_DATA_SECTION): Predicate on flag_pic.
1461 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
1462 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
1463 (READONLY_DATA_SECTION): Update.
1464
e964a556
JT
14652002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
1466
1467 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 1468 is used without -Wformat.
e964a556
JT
1469 * c-common.h (warn_format_zero_length): Declare extern.
1470 * c-decl.c (warn_options): Add "format-zero-length".
1471 * c-format.c (warn_format_zero_length): Declare.
1472 (set_Wformat): Set warn_format_zero_length for -Wformat.
1473 (check_format_info): Only warn about zero-length formats if
1474 warn_format_zero_length is true. Include the format type
1475 name in the warning message.
1476 * doc/invoke.texi: Document -Wformat-zero-length.
1477 * testsuite/gcc.dg/format/zero-length-1.c: New test.
1478
d92b4486
KH
14792002-05-18 Kazu Hirata <kazu@cs.umass.edu>
1480
1481 * timevar.c: Fix formatting.
1482 * tlink.c: Likewise.
1483 * toplev.c: Likewise.
1484 * tree-dump.c: Likewise.
1485 * tree-inline.c: Likewise.
1486
43612ffb
NB
14872002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
1488
1489 * cppinit.c (cpp_post_options): If preprocessed, turn off
1490 traditional. If traditional, turn off column numbers.
1491 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
1492 * cpptrad.c (handle_newline): Update line_base.
1493 (skip_comment): Handle -Wcomment.
1494
f24a153a
ZW
14952002-05-17 Zack Weinberg <zack@codesourcery.com>
1496
1497 * cppinit.c (struct builtin): Remove unused fields.
1498 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
1499 (operator_array): New - was second half of builtin_array.
1500 (init_builtins): Simplify loop over builtin_array/operator_array.
1501
12403335
NB
15022002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
1503
1504 * defaults.h (UNIQUE_SECTION): Remove.
1505 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
1506
1f8c3c5b
RH
15072002-05-17 Richard Henderson <rth@redhat.com>
1508
1509 * expr.c (init_expr_once): Don't use start/end_sequence.
1510 Use rtx_alloc instead of emit_insn.
1511 * toplev.c (lang_dependent_init): Run init_expr_once here ...
1512 (lang_independent_init): ... not here.
1513
4664f4c4
JT
15142002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
1515
1516 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
1517
93febe68
MM
15182002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
1519
1520 * config/avr/avr.c (avr_regs_to_save): New function. Also check
1521 for fixed registers, possibly used for global register variables.
1522 (initial_elimination_offset, avr_output_function_prologue,
1523 avr_output_function_epilogue): Move common code to avr_regs_to_save.
1524
004cb263
NB
15252002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
1526
1527 * Makefile.in: Update for cpptrad.c.
1528 * cpphash.h (struct cpp_buffer): New members for buffer
1529 overlays.
1530 (struct cpp_reader): New members for traditional output.
1531 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
1532 * cppinit.c (cpp_create_reader): Set trad_line.
1533 (cpp_destroy): Free trad_out_base if used.
1534 (cpp_read_main_file): Overlay an empty buffer if traditional.
1535 (cpp_finish_options): Don't do builtins.
1536 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
1537 (cpp_handle_option): Handle it.
1538 * cpplex.c (continue_after_nul): New.
1539 (_cpp_lex_direct): Use handle_nul.
1540 * cpplib.h (struct cpp_options): New traditional option.
1541 * cpptrad.c: New file.
1542
bdcae02b
NB
15432002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
1544
1545 * c-common.c (c_common_init_options): Use C89 for Objective-C,
1546 and set the options flag.
1547 * cppinit.c (lang_flags): Remove objc.
1548 (lang_defaults): Remove OBJC and OBJCXX.
1549 (set_lang): Update.
1550 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
1551 (cpp_handle_option): Remove -+ and -lang-objc++.
1552 For ObjC, just set a flag.
1553 (print_help): Update.
1554 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
1555
0fca60ab
RO
15562002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1557
1558 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
1559 bootstrap with -mips3.
1560
dd3f0101
KH
15612002-05-17 Kazu Hirata <kazu@cs.umass.edu>
1562
1563 * final.c: Fix formatting.
1564 * fix-header.c: Likewise.
1565 * flow.c: Likewise.
1566 * fold-const.c: Likewise.
1567 * function.c: Likewise.
1568
5ca9299f
DM
15692002-05-17 David S. Miller <davem@redhat.com>
1570
1571 PR c/6689, PR optimization/6615
1572 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
1573 and make it a pointer to rtx. Update comments.
1574 (update_equiv_regs): When scanning for equivalences, record
1575 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
1576 it while making the equiv replacements.
1577
508bc172
RO
15782002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1579
1580 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
1581
5cd983a6
KK
15822002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
1583
1584 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
1585 when encoding visibility into SYMBOL_REF_FLAG.
1586
ce0f3925
RS
15872002-05-17 Richard Sandiford <rsandifo@redhat.com>
1588
1589 * expr.c (force_operand): Fix reversed move.
1590
06809951
GP
15912002-05-17 Kurt Wall <kwall@kurtwerks.com>
1592
1593 * doc/install.texi (Testing): Mention two common DejaGnu warnings
1594 that can be ignored.
1595
15962002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1597
1598 * doc/install.texi (Final install): Recommend to install into a
1599 "clean" target directory.
1600
1d5d7a21
RH
16012002-05-17 Richard Henderson <rth@redhat.com>
1602
1603 * config/ia64/ia64.md: Use braced strings instead of quoted strings
1604 for code blocks. Tidy whitespace.
1605
ae46c4e0
RH
16062002-05-17 Richard Henderson <rth@redhat.com>
1607
1608 * hooks.c (hook_tree_bool_false): New.
1609 * hooks.h: Declare it.
1610 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
1611 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
1612 * target.h (select_section, unique_section): New.
1613 (in_small_data_p): New.
1614 * varasm.c (resolve_unique_section): Use hooks instead of macros.
1615 (variable_section, output_constant_def_contents): Likewise.
1616 (default_select_section, default_unique_section): New.
1617 (categorize_decl_for_section, default_elf_select_section): New.
1618 * output.h: Declare them.
1619
1620 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
1621 (TARGET_ASM_SELECT_SECTION): New.
1622 (SELECT_SECTION): Move ...
1623 * config/darwin.c (machopic_select_section): ... here.
1624 * config/darwin-protos.h: Update.
1625
1626 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
1627 (SELECT_SECTION): Move ...
1628 * config/nextstep.c (nextstep_select_section): ... here.
1629 * config/nextstep-protos.h: Update.
1630
1631 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
1632 (TARGET_ASM_SELECT_SECTION): New.
1633 * config/svr3.h (SELECT_SECTION): Remove.
1634
1635 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
1636 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
1637 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
1638 (alpha_encode_section_info): Use it.
1639 * config/alpha/alpha-protos.h: Update.
1640 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
1641 (SELECT_SECTION, UNIQUE_SECTION): Remove.
1642 (TARGET_ASM_SELECT_SECTION): New.
1643 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
1644
1645 * config/arm/pe.h (UNIQUE_SECTION): Remove.
1646 (TARGET_ASM_UNIQUE_SECTION): New.
1647
1648 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
1649 (avr_unique_section): Rename from unique_section; make static.
1650 * config/avr/avr-protos.h: Update.
1651 * config/avr/avr.h (UNIQUE_SECTION): Remove.
1652
1653 * config/c4x/c4x.h (SELECT_SECTION): Remove.
1654
1655 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
1656 (TARGET_ASM_UNIQUE_SECTION): New.
1657 * config/i386/i386-interix.h: Likewise.
1658 * config/i386/win32.h: Likewise.
1659 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
1660 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
1661 * config/i386/sco5.h (SELECT_SECTION): Remove.
1662 (TARGET_ASM_SELECT_SECTION): New.
1663 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
1664
1665 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
1666 instead of SELECT_SECTION.
1667 * config/m68k/dpx2.h: Likewise.
1668 * config/rs6000/lynx.h: Likewise.
1669
1670 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
1671 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
1672 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
1673 (ia64_in_small_data_p): New.
1674 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
1675 (ia64_aix_select_section, ia64_aix_unique_section): New.
1676 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
1677 (SELECT_SECTION, UNIQUE_SECTION): Remove.
1678
1679 * config/m32r/m32r.h (SELECT_SECTION): Remove.
1680 (TARGET_ASM_SELECT_SECTION): New.
1681 * config/m32r/m32r.c (m32r_select_section): Take align argument.
1682 * config/m32r/m32r-protos.h: Update.
1683
1684 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
1685 (SELECT_SECTION): Move ...
1686 * config/m88k/m88k.c (m88k_select_section): ... here.
1687
1688 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
1689 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
1690 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
1691 (mcore_unique_section): Make static.
1692 * config/mcore/mcore-protos.h: Update.
1693
1694 * config/mips/elf.h (UNIQUE_SECTION): Remove.
1695 (TARGET_ASM_UNIQUE_SECTION): New.
1696 * config/mips/elf64.h: Likewise.
1697 * config/mips/iris6gld.h: Likewise.
1698 * config/mips/linux.h: Likewise.
1699 * config/mips/mips-protos.h: Update.
1700 * config/mips/mips.c (mips_select_section): Add align argument.
1701 * config/mips/mips.h (SELECT_SECTION): Remove.
1702 (TARGET_ASM_SELECT_SECTION): New.
1703
1704 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
1705 * config/mmix/mmix.c (mmix_select_section): Remove.
1706 (mmix_unique_section): Remove.
1707 * config/mmix/mmix-protos.h: Update.
1708
1709 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
1710 (SELECT_SECTION): Move ...
1711 * config/pa/pa.c (pa_select_section): ... here.
1712 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
1713
1714 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
1715 from rs6000_select_section and make static.
1716 (rs6000_elf_unique_section): Similarly.
1717 (rs6000_xcoff_select_section): From xcoff.h.
1718 (rs6000_xcoff_unique_section): Likewise.
1719 * config/rs6000/rs6000-protos.h: Update.
1720 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
1721 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
1722 * config/rs6000/xcoff.h: Likewise.
1723
1724 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
1725 (SELECT_SECTION): Move ...
1726 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
1727
1728 * config/v850/v850.h (SELECT_SECTION): Move ...
1729 * config/v850/v850.c (v850_select_section): ... here.
1730 (TARGET_ASM_SELECT_SECTION): New.
1731
1732 * config/vax/vms.h (SELECT_SECTION): Move ...
1733 * config/vax/vax.c (vms_select_section): ... here.
1734 (TARGET_ASM_SELECT_SECTION): New.
1735
1736 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
1737 for the target hooks.
1738
eaeb23a7
NC
17392002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
1740
1741 * config/arm/arm.c (emit_multi_reg_push): Do not set
1742 RTX_FRAME_RELATED_P on the SEQUENCE.
1743
a00fe19f
RH
17442002-05-16 Richard Henderson <rth@redhat.com>
1745
1746 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
1747 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
1748
5ccff482
RH
17492002-05-16 Richard Henderson <rth@redhat.com>
1750
1751 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
1752
068d7739
RH
1753 * config/ia64/ia64.c (saveable_obstack): Do not declare.
1754
0b17ab2f
RH
17552002-05-16 Richard Henderson <rth@redhat.com>
1756
1757 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
1758 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
1759 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
1760 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
1761 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
1762 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
1763 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
1764 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
1765 Revert "Basic block renumbering removal", and two followup patches.
1766
8ae86b3c
JT
17672002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
1768
1769 * lcm.c (optimize_mode_switching): Revert previous change.
1770
4e9f27af
ZD
17712002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1772
1773 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
1774 with only extant block numbers.
1775
3cdc1dbc
JT
17762002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
1777
1778 * lcm.c (optimize_mode_switching): Fix typo.
1779
fbfb3b09
ZD
17802002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1781
1782 * flow.c (calculate_global_regs_live): Queue blocks in program order.
1783
b4b0fb02
RO
17842002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1785
1786 * doc/install.texi (Configuration): Document PWDCMD.
1787
63b827c5
DJ
17882002-05-16 Dale Johannesen <dalej@apple.com>
1789
1790 * combine.c (cant_combine_insn_p): Reenable combinations
1791 involving hard regs unless CLASS_LIKELY_SPILLED_P.
1792
748d29c1
NB
17932002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
1794
1795 * c-common.c (cb_register_builtins): Handle more built-ins
1796 here rather than in gcc.c specs.
1797 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
1798 (cpp_options): Pass -O flags even when only preprocessing.
1799 * toplev.c (set_fast_math_flags): New prototype.
1800 (fast_math_flags_set_p): New.
1801 (set_no_fast_math_flags): Remove.
1802 (decode_f_option): Update.
1803 * toplev.h (set_fast_math_flags): Update.
1804 (fast_math_flags_set_p): New.
1805 (set_no_fast_math_flags): Remove.
1806config:
1807 * c4x/c4x.c (c4x_override_options): Update.
1808
5279d739
ZW
18092002-05-16 Zack Weinberg <zack@codesourcery.com>
1810
1811 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
1812 Default-define here.
1813 (builtin_define_with_value): Can now wrap the expansion in
1814 quotation marks if such is wanted.
a00fe19f 1815 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
1816 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
1817 here.
1818 (c_common_init): Set options->stdc_0_in_system_headers.
1819 * c-lex.h: Update prototype of builtin_define_with_value.
1820 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
1821 and REGISTER_PREFIX.
1822
1823 * cppinit.c (VERS, ULP, C, X): Kill.
1824 (builtin_array): Remove entries for __VERSION__,
1825 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
1826 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
1827 a constant.
1828 (init_builtins): Kill off a bunch of now-dead code.
1829 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
1830 -fno-leading-underscore.
1831 (cpp_handle_option): Remove code to set user_label_prefix.
1832 (cpp_post_options): Likewise.
1833
1834 * cpplib.h (struct cpp_options): Remove user_label_prefix.
1835 (stdc_0_in_system_headers): New.
1836 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
1837 stdc_0_in_system_headers) too to decide the value of __STDC__.
1838
1839 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 1840 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
1841 (initialize_builtins): Don't define __REGISTER_PREFIX__
1842 or __USER_LABEL_PREFIX__.
1843 (install_value): Wrap compound statement in dummy loop so the
1844 macro works properly in an if statement.
1845
1846
62e6ca55
JJ
18472002-05-16 Janis Johnson <janis187@us.ibm.com>
1848
1849 * loop.h (struct loop_info): Add member has_prefetch.
1850 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
1851 (prescan_loop): Initialize has_prefetch.
1852 (struct prefetch_info): Change prefetch_in_loop and
1853 prefetch_before_loop from bit fields to ints.
1854 (emit_prefetch_instructions): Several small fixes.
1855 (check_dbra_loop): Don't reverse loop that uses prefetch.
1856
1e6347d8
RO
18572002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1858
1859 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
1860 * configure.in: Likewise.
1861 * fixinc/check.tpl: Likewise.
1862 * fixinc/fixinc.dgux: Likewise.
1863 * fixinc/fixinc.svr4: Likewise.
1864 * fixinc/fixinc.winnt: Likewise.
1865 * fixinc/fixincl.sh: Likewise.
1866 * fixproto: Likewise.
1867 * configure: Regenerate.
1868
355e4ec4
ZD
18692002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1870
1871 Basic block renumbering removal:
1872 * basic_block.h (struct basic_block_def): Renamed index to sindex,
1873 added prev_bb and next_bb fields.
1874 (n_basic_blocks): Renamed to num_basic_blocks.
1875 (last_basic_block): New, index of last basic block.
1876 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
1877 traversing basic block chain.
1878 (BLOCK_NUM): index -> sindex.
1879 (create_basic_block_structure, create_basic_block): Declaration changed.
1880 (debug_num2bb): Declare.
1881 (expunge_block_nocompact): Declaration removed.
1882 (link_block, unlink_block, compact_blocks): Declare.
1883 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
1884 * cfg.c (entry_exit_blocks): Initialize new fields.
1885 (clear_edges, alloc_block, expunge_block, cached_make_edge,
1886 redirect_edge_pred, dump_flow_info, dump_edge_info,
1887 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
1888 free_aux_for_edges): Modified.
1889 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
1890 (expunge_block_nocompact): Removed.
1891 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
1892 find_unreachable_blocks, create_edge_list, print_edge_list,
1893 verify_edge_list, flow_edge_list_print, remove_fake_successors,
1894 remove_fake_edges, flow_reverse_top_sort_order_compute,
1895 flow_depth_first_order_compute, flow_preorder_transversal_compute,
1896 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
1897 flow_dfs_compute_reverse_execute): Modified.
1898 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
1899 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
1900 Modified.
1901 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
1902 merge_blocks_move_predecessor_nojumps,
1903 merge_blocks_move_successor_nojumps, merge_blocks,
1904 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
1905 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
1906 * cfglayout.c (skip_insns_after_block, label_for_bb,
1907 record_effective_endpoints, scope_to_insns_finalize,
1908 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
1909 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
1910 cfg_layout_duplicate_bb): Modified.
1911 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
1912 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
1913 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
1914 flow_loops_find, flow_loop_outside_edge_p): Modified.
1915 * cfgrtl.c (create_basic_block_structure, create_basic_block,
1916 flow_delete_block, compute_bb_for_insn, split_block,
1917 try_redirect_by_replacing_jump, redirect_edge_and_branch,
1918 force_nonfallthru_and_redirect, tidy_fallthru_edge,
1919 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
1920 commit_edge_insertions, commit_edge_insertions_watch_calls,
1921 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
1922 purge_all_dead_edges): Modified.
1923 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
1924 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
1925 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
1926 Modified.
1927 * conflict.c (conflict_graph_compute): Modified.
1928 * df.c (FOR_ALL_BBS): Removed.
1929 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
1930 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
1931 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
1932 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
1933 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
1934 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
1935 * final.c (compute_alignments, final_scan_insn): Modified.
1936 * flow.c (verify_local_live_at_start, update_life_info,
1937 update_life_info_in_dirty_blocks, free_basic_block_vars,
1938 delete_noop_moves, calculate_global_regs_live,
1939 initialize_uninitialized_subregs, allocate_bb_life_data,
1940 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
1941 mark_used_reg, count_or_remove_death_notes): Modified.
1942 * function.c (thread_prologue_and_epilogue_insns): Modified.
1943 * gcse.c (struct null_pointer_info): Change typo of current_block
1944 to basic_block.
1945 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
1946 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
1947 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
1948 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
1949 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
1950 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
1951 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
1952 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
1953 pre_delete, one_pre_gcse_pass, compute_transpout,
1954 invalidate_nonnull_info, delete_null_pointer_checks_1,
1955 free_code_hoist_mem, compute_code_hoist_vbeinout,
1956 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
1957 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
1958 compute_store_table, build_store_vectors, insert_insn_start_bb,
1959 insert_store, replace_store_insn, free_store_memory, store_motion):
1960 Modified.
1961 * global.c (global_alloc, global_conflicts, mark_elimination,
1962 build_insn_chain): Modified.
1963 * graph.c (print_rtl_graph_with_bb): Modified.
1964 * haifa-sched.c (sched_init): Modified.
1965 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
1966 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
1967 if_convert): Modified.
1968 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
1969 compute_insert_delete, pre_edge_lcm, compute_available,
1970 compute_farthest, compute_nearerout, compute_rev_insert_delete,
1971 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
1972 Modified.
1973 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
1974 * loop.c (loop_dump_aux): Modified.
1975 * predict.c (combine_predictions_for_insn, estimate_probability,
1976 last_basic_block_p, process_note_prediction, process_note_predictions,
1977 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
1978 expensive_function_p, estimate_bb_frequencies,
1979 compute_function_frequency): Modified.
1980 * print-rtl.c (print_rtx): Modified.
1981 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
1982 get_exec_counts, compute_branch_probabilities, compute_checksum,
1983 branch_prob, find_spanning_tree): Modified.
1984 * recog.c (split_all_insns, peephole2_optimize): Modified.
1985 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
1986 convert_regs_1, convert_regs_2, convert_regs): Modified.
1987 * regclass.c (scan_one_insn, regclass): Modified.
1988 * regmove.c (mark_flags_life_zones, regmove_optimize,
1989 combine_stack_adjustments): Modified.
1990 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
1991 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
1992 * reorg.c (dbr_schedule): Modified.
1993 * resource.c (find_basic_block, init_resource_info): Modified.
1994 * sbitmap.c (sbitmap_intersection_of_succs,
1995 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
1996 sbitmap_union_of_preds): Modified.
1997 * sched-deps.c (init_dependency_caches): Modified.
1998 * sched-ebb.c (schedule_ebbs): Modified.
1999 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
2000 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
2001 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
2002 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
2003 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
2004 ssa_const_prop): Modified.
2005 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
2006 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
2007 * ssa.c (remove_phi_alternative, find_evaluations,
2008 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
2009 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
2010 make_regs_equivalent_over_bad_edges,
2011 make_equivalent_phi_alternatives_equival,
2012 compute_conservative_reg_partition,
2013 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
2014 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
2015 Modified.
2016
5a566bed
MM
20172002-05-16 Mark Mitchell <mark@codesourcery.com>
2018
2019 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
2020
48f6efae
NC
20212002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
2022
2023 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
2024 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
2025 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
2026 calling CONSTANT_POOL_ADDRESS_P.
2027 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
2028 to decide whether to define __arm__ or __thumb.
355e4ec4 2029 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
2030 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
2031
b166fadd
NB
20322002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
2033
2034 * config/arc/arc.h (CPP_PREDEFINES): Remove.
2035 (CPP_SPEC): Update.
2036 (TARGET_CPU_CPP_BUILTINS): New.
2037
601328bb
NB
20382002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
2039
2040 * cpphash.h (cpp_macro): Move here, and make expansion a union.
2041 * cppmacro.c (cpp_macro): Remove.
2042 (enter_macro_context, replace_args, warn_of_redefinition,
2043 _cpp_create_definition, cpp_macro_definition): Update.
2044
ff48be5c
JM
20452002-05-16 Jason Merrill <jason@redhat.com>
2046
2047 * config/mips/mips.c (mips_output_external): Don't do sdata
2048 optimization for a variable with DECL_COMDAT set.
2049
805c42ba
AH
20502002-05-15 Aldy Hernandez <aldyh@redhat.com>
2051
355e4ec4
ZD
2052 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
2053 Cleanups for accepting modifiers on pointers.
2054 Fix predicate typos.
2055 Allow long pointers as well as int pointers.
805c42ba 2056
34fb9ba5
RH
20572002-05-15 Richard Henderson <rth@redhat.com>
2058
2059 * varasm.c (merge_weak): Remove special case for extern and common.
2060
62e118f5
MH
20612002-05-15 Matt Hiller <hiller@redhat.com>
2062
2063 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 2064 XFAILing.
62e118f5
MH
2065 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
2066 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
2067 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
2068 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
2069 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
2070 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
2071
fefac463
AH
20722002-05-15 Aldy Hernandez <aldyh@redhat.com>
2073
355e4ec4 2074 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 2075
5f004351
AH
20762002-05-15 Aldy Hernandez <aldyh@redhat.com>
2077
355e4ec4
ZD
2078 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
2079 ("altivec_mfvscr"): Read from VSCR.
2080
2081 Add vscr sets for the following insns: altivec_vctuxs,
2082 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
2083 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
2084 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
2085 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
2086 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
2087 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
2088 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
2089 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
2090 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
2091 altivec_vsum2sws, altivec_vsumsws.
2092
2093 * config/rs6000/rs6000.h: Add VSCR fixed register.
2094 (CALL_REALLY_USED_REGISTERS): Add vscr.
2095 (CALL_USED_REGISTERS): Same.
2096 (FIXED_REGISTERS): Same.
2097 (REG_ALLOC_ORDER): Same.
2098 (reg_class): Add VSCR_REGS.
2099 (REG_CLASS_NAMES): Same.
2100 (REG_CLASS_CONTENTS): Same.
2101 (VSCR_REGNO): New.
2102 (REGISTER_NAMES): Add vscr.
2103 (DEBUG_REGISTER_NAMES): Same.
2104 (ADDITIONAL_REGISTER_NAMES): Same.
2105 (FIRST_PSEUDO_REGISTER): Increment.
2106 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 2107
033afd11
RH
21082002-05-15 Jakub Jelinek <jakub@redhat.com>
2109
2110 * fold-const.c (fold): Fix a typo.
2111
21122002-05-15 Eric Botcazou <ebotcazou@multimania.com>
2113
2114 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
2115 comparison against the highest or lowest integer value before
2116 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
2117 transformation and that of an unsigned comparison against 0
2118 right after.
2119
14285ace
RH
21202002-05-15 Richard Henderson <rth@redhat.com>
2121
2122 * varasm.c (merge_weak): Error for any weakening after definition.
2123 Adjust weakening after use warning to catch more cases.
2124 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
2125 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
2126
194734e9
JH
2127Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
2128
2129 * invoke.texi (-malign-double): Re-add lost warning.
2130
2131 * i386-protos.h (x86_output_mi_thunk): Declare.
2132 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
2133 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
2134
2135 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
2136 when flag_asynchronous_unwind_tables is set.
2137
2138 * flags.h (flag_reorder_functions): Declare.
2139 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 2140 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
2141 * Makefile.in (predict.o): Add dependency on target.h and params.h
2142 * defaults.h (HOT_TEXT_SECTION_NAME,
2143 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
2144 * predict.c (choose_function_section): New function.
2145 (estimate_bb_frequencies): Use it.
2146 * toplev.c (flag_reorder_functions): New global variable.
2147 (lang_independent_options): New.
2148 (parse_options_and_default_flags): Set.
2149 * varasm.c (assemble_start_function): Bypass functdion alignment
2150 for never executed functions.
2151 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
2152 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
2153 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
2154 Document.
2155
2156 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
2157
2158 * predict.c: Inlude profile.h
2159 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
2160 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
2161 Use the information about maximal counter in the program.
2162
2163 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
2164
2165 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
2166 probably_never_executed_bb_p): New functions.
2167 * cfgcleanup.c (outgoing_edges_match): Use them.
2168 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
2169 (maybe_hot_bb_p, probably_cold_bb_p,
2170 probably_never_executed_bb_p): New functions.
2171
2172 * function.h (function): Add new field function_frequency.
2173 * predict.c (compute_function_frequency): New function.
2174 (estimate_probability): Call it.
2175
61ad9a34
JJ
21762002-03-09 Jakub Jelinek <jakub@redhat.com>
2177
2178 PR optimization/5172, optimization/5200
2179 * gcse.c (gcse_main): Disable store_motion.
2180
a11eba95
ZW
21812002-05-14 Zack Weinberg <zack@codesourcery.com>
2182
2183 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
2184 (c_common_nodes_and_builtins): Use it.
2185 (builtin_define_with_value): New function.
2186 (cb_register_builtins): Define __SIZE_TYPE__,
2187 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
2188 using builtin_define_with_value. Use consistent notation when
2189 defining __GXX_WEAK__.
2190 (WCHAR_TYPE_SIZE): Don't redefine.
2191 (combine_strings): Don't use WCHAR_TYPE_SIZE.
2192
2193 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
2194 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
2195 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
2196 * tradcpp.c (initialize_builtins): Likewise.
2197 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
2198
2199 * c-lex.h (builtin_define_with_value): Prototype.
2200 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
2201 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
2202 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
2203
2204 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
2205 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
2206 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
2207 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
2208 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
2209 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
2210 config/sparc/sol2-bi.h, config/sparc/sparc.h:
2211 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
2212 to __SIZE_TYPE__ etc from all spec strings. When this makes
2213 extra specs empty, delete them.
2214
1c31ecf6
JDA
22152002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
2216
2217 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
2218 for PA8000 or generating dwarf2 call frame information.
2219 (output_call): Remove DO_FRAME_NOTES check from return pointer
2220 optimization.
2221 (following_call): Return 0 when scheduling for PA8000 or generating
2222 dwarf2 call frame information. Revise comment.
2223
ac9cfada
NB
22242002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
2225
2226config/alpha:
2227 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
2228 and __IEEE_FP_INEXACT as appropriate.
2229 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
2230 (CPP_SPEC): Remove ieee defines.
2231 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
2232
9b690711
RH
22332002-05-14 Richard Henderson <rth@redhat.com>
2234
2235 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
2236 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
2237
e6471be6
NB
22382002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
2239
e6471be6
NB
2240 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
2241 (CPP_SPEC): Update.
2242 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
2243 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
2244 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
2245 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
2246 (EXTRA_SPECS): Update.
2247 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
2248 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
2249 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
2250 define TARGET_OS_CPP_BUILTINS if necessary.
2251
e5f5feea
NB
22522002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
2253
2254 * gcc.c (cpp_options): Must pass -m* and -f* options
2255 to the front end even when only preprocessing.
2256 (cc1_options): Remove redundant -lang-c.
2257 * tradcpp.c (main): Ignore -m options.
2258objc:
2259 * lang-specs.h: Similarly.
2260
317638a8
VM
22612002-05-14 Vladimir Makarov <vmakarov@redhat.com>
2262
2263 * genautomata.c (transform_3): Add code for transformation
2264 `(A,B,...)+C -> A+C,B,...'.
2265
4d604303
JH
2266Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
2267
2268 * final.c (end_final): Do not output profile_arcs constructor, when
2269 no functions are instrumented.
2270
b18b06ed
JH
2271Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
2272
2273 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
2274
a12f97f0
GP
22752002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2276
2277 * doc/install.texi: Remove special markup originally required for
2278 HTML generation with texi2html.
2279
c1ae3eb4
AS
22802002-05-14 Andreas Schwab <schwab@suse.de>
2281
2282 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
2283 SELECT_SECTION.
2284 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
2285
2286 * varasm.c (resolve_unique_section): Add third parameter
2287 flag_function_or_data_sections and use it instead of
2288 flag_function_sections.
2289 (assemble_start_function): Pass flag_function_sections.
2290 (asm_emit_uninitialised): Pass flag_data_sections.
2291 (assemble_variable): Likewise.
2292
8ee41eaf
RH
22932002-05-14 Richard Henderson <rth@redhat.com>
2294
2295 * config/i386/i386.md: Use define_constants for unspec numbers.
2296 * config/i386/i386.c: Likewise.
2297
e6471be6
NB
22982002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
2299
2300 * doc/contrib.texi: Update my entry.
2301
c297b764
MM
23022002-05-13 Mark Mitchell <mark@codesourcery.com>
2303
2304 * fixinc/inclhack.def (winidss_valist): Limit applicability.
2305 * fixinc/fixincl.x: Regenerated.
2306 * fixinc/tests/base/math.h: Update.
2307 * fixinc/tests/base/testing.h: Likewise.
2308
0b42c8f8
ZW
23092002-05-13 Zack Weinberg <zack@codesourcery.com>
2310
2311 * genattr.c (gen_attr): Don't emit a comma after the last
2312 enumerator.
2313
546c093e
RH
23142002-05-13 Richard Henderson <rth@redhat.com>
2315
2316 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
2317 by non-local gotos.
2318 * recog.c (peephole2_optimize): Likewise.
2319
85be8c2d
AP
23202002-05-13 Andris Pavenis <pavenis@lanet.lv>
2321
2322 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
2323 input to O_BINARY.
2324
765b8f90
JL
23252002-05-13 Jeffrey A Law (law@redhat.com)
2326
fe4b3c79
JL
2327 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
2328 Update prototype and callers.
2329 (propagate_one_insn): Stack pointer adjustments kill MEMs on
2330 the mem_set_list which reference the stack pointer, as do
2331 calls to constant functions as they may clobber outgoing
2332 argument space.
2333
16133d00
JL
2334 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
2335
765b8f90
JL
2336 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
2337 (ia32_multipass_dfa_lookahead): New function.
2338
63826d5b
NB
23392002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
2340
2341 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
2342 (translate_options): Remove 'V'.
2343 (process_command): Similarly.
2344doc:
2345 * invoke.texi: Remove documentation of 'V'.
2346
dcb41ced
UW
23472002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
2348
2349 * config/s390/linux.h: Revert 2002-04-22 changes.
2350
8dfea428
SM
23512002-05-13 Scott Marks <SMarks@mobile-mind.com>
2352
2353 * config/fr30/fr30.md: Only allow splits of immediate loads
2354 if the destination is a register.
2355
12a41c22
NB
23562002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
2357
2358 * Makefile.in (c-common.o, cppinit.o): Update.
2359 * c-common.c: Include except.h.
2360 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
2361 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
2362 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
2363 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
2364 CPP_PREDEFINES): Handle here.
2365config:
2366 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
2367 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
2368 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
2369 TARGET_OS_CPP_BUILTINS.
2370 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
2371 (CPP_SPEC, EXTRA_SPECS): Update.
2372 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
2373 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
2374 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
2375 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
2376 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
2377doc:
2378 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
2379 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
2380
5692c7bc
ZW
23812002-05-12 Zack Weinberg <zack@codesourcery.com>
2382
2383 * emit-rtl.c (global_rtl): Update comment.
2384 (const_double_htab, const_double_htab_hash,
2385 const_double_htab_hash, lookup_const_double): New.
2386 (const_int_htab_hash, const_int_htab_eq): Remove const
2387 qualifiers, which cause tons of warnings with RTL checking on.
2388 (gen_rtx_CONST_DOUBLE): Deleted.
2389 (const_double_from_real_value): New function - bears some
2390 resemblance to the former immed_real_const_1.
2391 (immed_double_const): Moved here from varasm.c and
2392 simplified.
2393 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
2394 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
2395 (gen_rtx): Use immed_double_const.
2396 (init_emit_once): Initialize the const_double_htab. Use
2397 REAL_VALUE_FROM_INT where possible. Can now use
2398 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
2399 * varasm.c (struct varasm_status): Remove x_const_double_chain.
2400 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
2401 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
2402 (init_varasm_status, mark_varasm_status): Don't touch
2403 x_const_double_chain.
2404
2405 * output.h: Delete prototype for clear_const_double_mem.
2406 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
2407 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
2408 const_double_from_real_value, not immed_real_const_1, and use
2409 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
2410 CONST_DOUBLE_ATOF.
2411 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
2412 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
2413 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
2414 (gen_rtx_REG): Second arg is unsigned.
2415
2416 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
2417 (excluded_rtx): New, return true for CONST_DOUBLE.
2418 (genmacro): Write nothing for excluded codes.
2419 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
2420 * expr.c (expand_expr): Likewise.
2421 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
2422 CONST_DOUBLE_CHAIN.
2423 * toplev.c (rest_of_compilation): Don't call
2424 clear_const_double_mem.
2425
2426 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
2427 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
2428 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
2429 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
2430 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
2431 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
2432 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
2433 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
2434
31397a7b
KG
24352002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2436
2437 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
2438
1b70d38a
TT
24392002-05-12 Tom Tromey <tromey@redhat.com>
2440
2441 * tree.h (copy_node): Don't mention TREE_PERMANENT.
2442
9a5834ae
ZW
24432002-05-12 Zack Weinberg <zack@codesourcery.com>
2444
2445 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
2446 (scan_comma_elt): New function. Accepts whitespace in comma lists.
2447 * gensupport.h: Prototype new routines.
2448 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
2449 use of printf.
2450 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
2451 (next_comma_elt): Use scan_comma_elt.
2452
2453 * config/i386/i386.md: Use new attribute notation to break up
2454 long lines in define_attr forms.
2455
51286de6
RH
24562002-05-12 Richard Henderson <rth@redhat.com>
2457
2458 * expr.c (compress_float_constant): New.
2459 (emit_move_insn): Use it.
2460 (float_extend_from_mem): New.
2461 (init_expr_once): Initialize it.
2462 * real.c (exact_real_truncate): New.
2463
2464 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
2465 dropped into memory; penalize for size.
2466 (RTX_COSTS): FLOAT_EXTEND is free.
2467 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
2468 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
2469
6412341e
RH
24702002-05-12 Richard Henderson <rth@redhat.com>
2471
2472 * profile.h (profile_info): Add missing extern to declaration.
2473 * profile.c (profile_info): Define it.
2474
12877f09
JDA
24752002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
2476
2477 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
2478 used for DImode and TImode.
2479
387f9e32
NB
24802002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
2481
2482 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
2483 fake a newline.
2484
e1a0f69c
ZW
24852002-05-11 Zack Weinberg <zack@codesourcery.com>
2486
2487 * config/rs6000/rs6000.c (rs6000_default_long_calls,
2488 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
2489 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
2490 (rs6000_override_options): Handle -m(no-)longcall.
2491 (init_cumulative_args, output_mi_thunk): Check for both
2492 longcall and shortcall attributes on the function.
2493 (rs6000_attribute_table): Add "shortcall".
2494 (rs6000_handle_longcall_attribute): Update comment.
2495 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
2496 altivec_expand_ternop_builtin): Add default clauses to switches
2497 to silence warnings.
2498
2499 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
2500 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
2501 (TARGET_OPTIONS): Add longcall and no-longcall.
2502
2503 * config/rs6000/rs6000.md (call_nonlocal_sysv,
2504 call_value_nonlocal_sysv): Split by alternatives. One pair
2505 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
2506 the call cookie. The other pair accepts only LR/CTR and has
2507 no restriction.
2508
2509 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
2510 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
2511 tmake_file.
2512 * config/rs6000/rs6000-c.c: New file.
2513 * config/rs6000/t-rs6000-c-rule: New file.
2514 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
2515 Prototype rs6000_pragma_longcall.
2516
2517 * doc/extend.texi: Document shortcall attribute.
2518 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
2519
9c64026d
JDA
25202002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
2521
2522 * reorg.c (dbr_schedule): Remove unnecessary test.
2523
6c81a490
JH
2524Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
2525
2526 * i386.md (testsi to testqi spliters): New.
2527
2528 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
2529
2530 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
2531
2532 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
2533
2534 * basic-block.h: New flag EDGE_CAN_FALLTHRU
2535 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
2536 that can be made fallthru.
2537
2538 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
2539
2540 * cfglayout.c (cleanup_unconditional_jumps): New static function.
2541 (cfg_layout_initialize): Use it.
4c476cf3 2542
e4447d94
MM
25432002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
2544
2545 * config/avr/avr.c (avr_mcu_types): Update supported devices.
2546 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
2547 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
2548
3a538a66
KH
25492002-05-11 Kazu Hirata <kazu@cs.umass.edu>
2550
2551 * dbxout.c: Fix formatting.
2552 * dependence.c: Likewise.
2553 * df.c: Likewise.
2554 * diagnostic.c: Likewise.
2555 * doloop.c: Likewise.
2556 * dominance.c: Likewise.
2557 * doschk.c: Likewise.
2558 * dwarf2asm.c: Likewise.
2559 * dwarf2out.c: Likewise.
2560 * dwarfout.c: Likewise.
2561
2292e8fc
RH
25622002-05-10 Richard Henderson <rth@redhat.com>
2563
2564 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
2565 Convert integers constants as needed. Replace "nwords" field with
2566 "sizeof_bb".
2567 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
2568 * function.h: Fix typo in comment.
2569 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
2570
dbfb1116
RS
25712002-05-10 Roger Sayle <roger@eyesopen.com>
2572
2573 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
2574 into the equivalent (signed char)c > 0.
2575
79a497cd
JJ
25762002-05-10 Janis Johnson <janis187@us.ibm.com>
2577
2578 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
2579 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
2580 (struct prefetch_info): Fix spelling of member bytes_accessed.
2581 (emit_prefetch_instructions): Make dump messages more regular;
2582 restructure code to add more dump messages; use new macros for
2583 heuristics. (There are no code generation changes in any of this).
2584
6c45cb0d
DM
25852002-05-10 David S. Miller <davem@redhat.com>
2586
7440af14
DM
2587 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
2588 (struct rtx_def): Update unchanging flag comment.
2589 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
2590 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
2591 to be handled to INSN too.
2592 (dbr_schedule): Likewise.
2593 * resource.c (next_insn_no_annul): Likewise.
2594
6c45cb0d
DM
2595 * cse.c (rtx_cost): Remove multiplication by power of 2 special
2596 casing.
2597
29f21e4f
GP
25982002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2599
2600 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
2601 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
2602 (possibly) work around broken /bin/sh.
2603
e4ba88da
RO
26042002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2605
2606 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
2607 . as N64/N32 libgcc_s.so subdirs.
2608
4f4778ee
DM
26092002-05-10 David S. Miller <davem@redhat.com>
2610
2611 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
2612
2613 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
2614 more accurately.
2615 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
2616 comment.
2617 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
2618 * doc/rtl.texi: Document these macros more accurately.
2619 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
2620 JUMP_INSNs and CALL_INSNs.
2621 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
2622 or INSN_FROM_TARGET_P if the code is appropriate.
2623
1a499b92
MM
26242002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
2625
2626 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
2627 before using SYMBOL_REF_FLAG (addr).
2628
2629 * config/avr/avr-protos.h (avr_io_address_p): Declare.
2630 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
2631 Make non-static. Update all callers.
2632 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
2633 New insns to clear/set/test a single bit in I/O address space.
2634
65212b66
KG
26352002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2636
2637 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
2638
3df89291
NB
26392002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
2640
2641 * Makefile.in: Update.
2642 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
2643 builtin_define_std): New.
2644 (c_common_init): Register CPP builtins callback.
2645 * c-common.h (flag_iso, flag_undef): New.
2646 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
2647 * c-lex.c: Don't include target.h.
2648 (cb_register_builtins): Move to c-common.c.
2649 (init_c_lex): Don't register hook here.
2650 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
2651 (cpp_define, cpp_assert): Remove.
2652 * gcc.c (cc1_options): Pass -undef to front end.
2653 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
2654 (TARGET_INITIALIZER): Update.
2655 * target.h (struct cpp_reader): Don't predeclare.
2656 (struct gcc_target): Remove cpp builtin hook.
2657 * tree.c (default_register_cpp_builtins): Remove.
2658doc:
2659 * tm.texi: Update.
2660
32fa4565
NB
26612002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
2662
2663 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
2664
23357c55
RO
26652002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2666
2667 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
2668 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
2669
5aa26af0
JJ
26702002-05-09 Jakub Jelinek <jakub@redhat.com>
2671
2672 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
2673 * config/sparc/libgcc-sparc-glibc.ver: New file.
2674 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
2675 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
2676
2937267b
JJ
26772002-05-09 Jakub Jelinek <jakub@redhat.com>
2678
2679 PR target/6429
2680 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
2681 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
2682 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
2683 base multilibs.
2684 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
2685 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
2686 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
2687 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
2688
086c0f96
RH
26892002-05-09 Richard Henderson <rth@redhat.com>
2690
2691 * config/ia64/ia64.md: Use define_constants for unspec numbers.
2692 * config/ia64/ia64.c: Likewise.
2693
a8b4881f
RS
26942002-05-09 Richard Sandiford <rsandifo@redhat.com>
2695
2696 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
2697 (save_restore_insns): Likewise.
2698 (mips_expand_prologue, mips_expand_epilogue): Update callers.
2699 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
2700
890d52e8
JL
2701Thu May 9 11:50:09 2002 Jeffrey A Law (law@cygnus.com)
2702
af2728a4
JL
2703 * athlon.md, k6.md, pentium.md, ppro.md): New files.
2704 * i386.md: Move scheduling information into new files.
2705
890d52e8
JL
2706 * i386.md (type attribute): Add "rotate" for rotate insns.
2707 (rotate insns): Set type to "rotate".
2708 (various attributes and function units): Treat rotate like shift.
2709 (pent_pair attribute): Only rotates by one bit position are
2710 pairable.
2711 (sbb insns): Explicitly set pent_pair attribute on a couple
2712 that were missing it.
2713
f78ec36a
R
2714Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
2715
2716 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
2717 make sure that buffer starts on odd word address.
2718 (sh_va_arg): Skip odd fp registers when reading a double precision
2719 value.
2720
ff431459
NB
27212002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
2722
2723 * tree.h (preserve_data, object_permanent_p, type_precision):
2724 Remove.
2725
c3bf3e6e
NB
27262002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
2727
2728 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
2729 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
2730doc:
2731 * cpp.texi: Update for removal of obsolete features.
2732
02263a8a
JH
2733Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
2734 Jeffrey A Law (law@redhat.com)
2735
2736 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
2737 the DFA interface for Pentium processors.
2738 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
2739 (attr_pent_pair, ix86_pent_find_pair): Remove.
2740 (ix86_sched_reorder_pentium): Remove.
2741 (ix86_sched_reorder): Remove reordering for Pentium.
2742 * i386.md (Pentium scheduling): Rewrite using DFA description.
2743
3e638a90
JH
2744Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
2745
2746 * cfganal.c (can_fallthru): Fix fast path.
2747 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
2748 with edges to the next block.
2749
b7c9bf28
JH
2750Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
2751 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
2752
2753 * final.c (end_final): Use C trees to output data structures for profiling.
2754
2755 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
2756 (profile.o): New dependency profile.h
2757 (final.o): New dependency profile.h
2758 * profile.h: New file. New global structure profile_info.
2759 * final.h (count_edges_instrumented_now): Declare.
2760 (current_function_cfg_checksum): Declare.
2761 (function_list): New structure.
2762 (functions_head, functions_tail): New static variables.
2763 (end_final): Emits more data, removed some -ax stuff.
2764 (final): Stores function names and chcksums.
2765 * gcov-io.h (__write_gcov_string): New function.
2766 (__read_gcov_string): New function.
2767 * gcov.c (read_profile): New function.
2768 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 2769 da_file.
5692c7bc
ZW
2770 (read_files): Removed da_file checking, it's done by read_profile now.
2771 * libgcc2.c (bb_function_info): New structure.
2772 (bb): New field in structure, removed some -ax stuff.
2773 (__bb_exit_func): Changed structure of da_file.
2774 * profile.c (count_edges_instrumented_now): New global variable.
2775 (current_function_cfg_checksum): New global variable.
2776 (max_counter_in_program): New global variable.
2777 (get_exec_counts): New function.
2778 (compute_checksum): New function.
2779 (instrument_edges): Sets count_edges_instrumented_now.
2780 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 2781 reading da_file.
5692c7bc
ZW
2782 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
2783 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 2784 now.
5692c7bc 2785 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 2786 now.
5692c7bc 2787 * gcov.texi: Updated information about gcov file format.
b7c9bf28 2788
786de7eb
KH
27892002-05-09 Kazu Hirata <kazu@cs.umass.edu>
2790
2791 * sbitmap.c: Fix formatting.
2792 * scan.c: Likewise.
2793 * scan-decls.c: Likewise.
2794 * sched-deps.c: Likewise.
2795 * sched-ebb.c: Likewise.
2796 * sched-rgn.c: Likewise.
2797 * sched-vis.c: Likewise.
2798 * sdbout.c: Likewise.
2799 * sibcall.c: Likewise.
2800 * simplify-rtx.c: Likewise.
2801 * ssa.c: Likewise.
2802 * ssa-ccp.c: Likewise.
2803 * ssa-dce.c: Likewise.
2804 * stmt.c: Likewise.
2805 * stor-layout.c: Likewise.
2806 * stringpool.c: Likewise.
2807
b7764693
DM
28082002-05-09 David S. Miller <davem@redhat.com>
2809
2810 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
2811
4e7d5d27
DM
28122002-05-07 David S. Miller <davem@redhat.com>
2813
2814 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
2815 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
2816 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
2817 library implementation clobbers the output before the inputs
2818 are fully consumed, use stack temporary for the output.
2819
f979570e
JT
28202002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
2821
2822 * config/netbsd.h (CPP_SPEC): Remove.
2823 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
2824 * config/i386/netbsd.h (CPP_SPEC): Define.
2825 * config/ns32k/netbsd.h (CPP_SPEC): Define.
2826 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
2827 * config/sparc/netbsd.h (CPP_SPEC): Define.
2828 * config/vax/netbsd.h (CPP_SPEC): Define.
2829
a6a2274a
KH
28302002-05-08 Kazu Hirata <kazu@cs.umass.edu>
2831
2832 * read-rtl.c: Fix formatting.
2833 * real.c: Likewise.
2834 * recog.c: Likewise.
2835 * regclass.c: Likewise.
2836 * regmove.c: Likewise.
2837 * reg-stack.c: Likewise.
2838 * reload1.c: Likewise.
2839 * reload.c: Likewise.
2840 * resource.c: Likewise.
2841 * rtlanal.c: Likewise.
2842 * rtl.c: Likewise.
2843 * rtl-error.c: Likewise.
2844
461b48d5
JDA
28452002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
2846
2847 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
2848 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
2849
95d075ff
BS
28502002-05-08 Bernd Schmidt <bernds@redhat.com>
2851
2852 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
2853 use __SSE2__ macro instead.
2854 * config/i386/xmmintrin.h: Likewise.
2855
2d4cc6a7
JJ
28562002-05-08 Janis Johnson <janis187@us.ibm.com>
2857
2858 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
2859 and use it in all invocations of these macros. Clean up comments.
2860 * rtl.c (rtl_check_failed_flag): Add an argument for the name
2861 of the flag access macro whose check failed.
2862 * doc/rtl.texi (Flags): Document additional flag uses.
2863
3f8ffc7c
RS
28642002-05-08 Robert Spier <rspier@pobox.com>
2865 Neil Booth <neil@daikokuya.demon.co.uk>
2866
2867 PR preprocessor/6521
2868 * cppfiles.c (handle_missing_header): Don't do anything
2869 different for <> includes.
2870doc:
2871 * cppopts.texi: Update documentation for -MG.
2872
b9e2d17b
NB
28732002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
2874
2875 * cpplex.c (cpp_interpret_charconst): Truncate as well as
2876 sign-extend.
2877doc:
2878 * cpp.texi: Clarify multichar charconst valuation.
2879
8d8269fa
MM
28802002-05-08 Mark Mitchell <mark@codesourcery.com>
2881
2882 * doc/invoke.texi: Document -mwindiss option.
2883
29b91443
JM
28842002-05-08 Jason Merrill <jason@redhat.com>
2885
2886 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
2887
2888 * dwarf2out.c (gen_type_die): Abort on broken recursion.
2889
2890 PR c++/6381
2891 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
2892 REAL_CST.
2893
6c76b950
NC
28942002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
2895
2896 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
2897 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 2898 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
2899 multilibs for the Thumb.
2900
f90bf7ca
MM
29012002-05-08 Mark Mitchell <mark@codesourcery.com>
2902
2903 PR c/6569.
2904 * varasm.c (mark_weak): New function.
2905 (merge_weak): Use it. Do not call declare_weak.
2906 (declare_weak): Use merge_weak.
2907
1e150f2c
JH
2908Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
2909
2910 * cse.c (dead_libcall_p): Update counts.
2911 (delete_trivially_dead_insns): Update call of dead_libcall_p.
2912
969d70ca
JH
2913Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
2914
2915 * cfglayout.c (function_tail_eff_head): Rename to ...
2916 (function_footer): ... this one.
2917 (unlink_insn_chain): New functions.
2918 (label_for_bb): Only call block_label and emit debug message.
2919 (record_effective_endpoints): Actually unlink the headers and footers.
2920 (fixup_reorder_cahin): Re-insert the unlinked sequences.
2921 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
2922 * cfglayout.h (struct reorder_block_def): New fields footer/header;
2923 remove eff_head/eff_end.
2924 * rtl.h (set_first_insn): Declare.
2925 * emit-rtl.c (set_first_insn): New function.
2926
2927 * cfglayout.c (fixup_reorder_chain): Dump duplicated
2928 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
2929 cfg_layout_duplicate_bb): New global function.
2930 (duplicate_insn_chain): New static function.
2931 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
2932 cfg_layout_duplicate_bb): Declare.
2933 (struct reorder_block_def): Add "original" field.
2934 * emit-rtl.c (emit_copy_of_insn_after): New function.
2935 * rtl.h (emit_copy_of_insn_after): Declare.
2936
2937 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
2938 (fixup_reorder_chain): properly handle edges to exit block.
2939
2940Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2941 Jan Hubicka <jh@suse.cz>
2942
2943 * basic-block.h (note_prediction_to_br_prob): declare.
2944 * c-semantics.c: Inlucde predit.h
2945 (expand_stmt): predict GOTO_STMT as not taken.
2946 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
2947 (cleanup_cfg): Do not free tail_recursion_list.
2948 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
2949 (flow_delete_block): Kill predictions past end of basic block.
2950 * output.h (delete_unreachable_blocks): Declare.
2951 * predict.c (predicted_by_p, process_note_predictions,
2952 process_note_prediction, last_block_p): New function.
2953 (estimate_probability): Bypass loop on PRED_CONTINUE;
2954 do not handle noreturn heuristics; kill PRED_RETURN; add
2955 PRED_EARLY_RETURN.
2956 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
2957 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
2958 * predict.h (IS_TAKEN): New constant.
2959 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
2960 * rtl.c (NOTE_INSN_PREDICTION): New.
2961 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
2962 New macro.
2963 (insn_note): add NOTE_INSN_PREDICTION.
2964 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
2965 CFG; free tail_recursion_label_list.
2966 * stmt.c: Include predict.h;
2967 (return_prediction): New.
2968 (expand_value_return): Use it.
2969 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
2970
41f8d041
RS
29712002-05-08 Richard Sandiford <rsandifo@redhat.com>
2972
2973 * config/mips/mips.md: Name the unspecs with define_constant.
2974 (*HILO_delay): Rename to 'hilo_delay' (no star).
2975 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
2976 (reload_outdi, reload_outsi): Likewise.
2977
9cabb1d8
KH
29782002-05-07 Kazu Hirata <kazu@cs.umass.edu>
2979
2980 * toplev.c: Fix formatting.
2981
4c76f856
JJ
29822002-05-07 Janis Johnson <janis187@us.ibm.com>
2983
2984 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
2985 * configure.in (ac_rtlflag_checking): New.
2986 * doc/install.texi (--enable-checking): Document RTL flag checking.
2987
44a147ad
NB
29882002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
2989
2990 * c-common.c (c_common_init): Set options->unsigned_wchar.
2991 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
2992 group target dependencies.
2993 (init_builtins, cpp_handle_option): Update.
2994 * cpplex.c (cpp_interpret_charconst): Update.
2995 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
2996 signed_char to unsigned_char, group target dependencies.
2997 * defaults.h (WCHAR_UNSIGNED): Remove.
2998 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
2999config:
3000 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
3001 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
3002 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
3003 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
3004 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
3005doc:
3006 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
3007
cace4f93
MM
30082002-05-07 Mark Mitchell <mark@codesourcery.com>
3009
3010 * fixinc/inclhack.def (windiss_math1): New fix.
3011 (windiss_math2): Likewise.
3012 (windiss_valist): Likewise.
3013 * fixinc/fixincl.x: Regenerated.
3014
e2ff6cee
AJ
30152002-05-07 Andreas Jaeger <aj@suse.de>
3016
3017 * genautomata.c (output_internal_min_issue_delay_func): Add
3018 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
3019 (output_internal_trans_func): Likewise.
3020
bdad4be5
JL
3021Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
3022
3023 * pa.c (hppa_profile_hook): Use force_reg to get the address
3024 of the profile hook into an appropriate pseudo register.
3025
a1ffecd9
MM
30262002-05-07 Mark Mitchell <mark@codesourcery.com>
3027
3028 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
3029 (LINK_START_SPEC): Handle it.
3030 (LINK_OS_SPEC): Likewise.
3031 (CPP_SPEC): Likewise.
3032 (STARTFILE_SPEC): Likewise.
3033 (LIB_SPEC): Likewise.
3034 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
3035 all platforms.
3036 (CRTSAVRES_DEFAULT_SPEC): New macro.
3037 (LIB_WINDISS_SPEC): New macro.
3038 (CPP_OS_WINDISS_SPEC): Likewise.
3039 (STARTFILE_WINDISS_SPEC): Likewise.
3040 (ENDFILE_WINDISS_SPEC): Likewise.
3041 (LINK_START_WINDISS_SPEC): Likewise.
3042 (LINK_OS_WINDISS_SPEC): Likewise.
3043 * config/rs6000/windiss.h: New file.
e2ff6cee 3044
df966bff
AH
30452002-05-07 Aldy Hernandez <aldyh@redhat.com>
3046
a5c76ee6 3047 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 3048
db84f1bd
DM
30492002-05-06 David S. Miller <davem@redhat.com>
3050
3051 * config/sparc/sparc.md (shift insns): Do not mask off
3052 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
3053 take care of it.
3054
818c0c94
RH
30552002-05-06 Richard Henderson <rth@redhat.com>
3056
3057 PR c++/6212
3058 * expr.c (highest_pow2_factor_for_type): New.
3059 (expand_assignment): Use it.
3060
61e0b50f
AH
30612002-05-06 Aldy Hernandez <aldyh@redhat.com>
3062
818c0c94
RH
3063 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
3064 unspec_volatile.
3065 ("altivec_mfvscr"): Same.
61e0b50f 3066
5a63e069
JJ
30672002-05-06 Janis Johnson <janis187@us.ibm.com>
3068
3069 * rtl.h (struct rtx_def): Update comments.
3070 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
3071 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
3072 RTL_FLAG_CHECK macros with list of expected RTL codes.
3073 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
3074 (rtl_check_failed_flag): New.
3075 * reload1.c (reload): Use REG macro before changing rtx to MEM.
3076 (reload_cse_noop_set_p): Check rtx code before using access macro.
3077 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
3078 before using access macro.
3079
4afe3952
JJ
30802002-05-06 Janis Johnson <janis187@us.ibm.com>
3081
3082 * doc/rtl.texi (Flags): Update to reflect current usage.
3083
1f77b5da
RS
30842002-05-06 Roger Sayle <roger@eyesopen.com>
3085
3086 PR opt/3995
3087 * fold-const.c (sign_bit_p): New function.
3088 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 3089 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
3090 Reapply fold when converting (A & C) == C into (A & C) != 0.
3091 (fold_binary_op_with_conditional_arg): Fix typo in comment.
3092
a5a49440
NB
30932002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
3094
3095 * c-common.c (warn_multichar): New.
3096 (c_common_init): Set CPP's warn_multichar.
3097 * c-common.h (warn_multichar): New.
3098 * c-decl.c (warn_multichar): Remove.
3099 * c-lex.c (lex_charconst): Update.
3100 * c-tree.h (warn_multichar): Remove.
3101 * cppexp.c (eval_token): Sign-extend charconst value.
3102 * cppinit.c (cpp_create_reader): Set warn_multichar.
3103 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
3104 each character. Update prototype. Sign-extend the result.
3105 * cpplib.h: Fix conditions.
3106 (struct cpp_options): Add new warning flag.
3107 (cpp_interpret_charconst): Update prototype.
3108doc:
3109 * cpp.texi: Update documentation.
3110
83e0be55
VM
31112002-05-06 Vladimir Makarov <vmakarov@redhat.com>
3112
3113 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
3114 Fix typo in usage of allof instead of unit.
3115
688ec718
RH
31162002-05-06 Richard Henderson <rth@redhat.com>
3117
3118 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
3119 and any jump or call for IN.
3120
f6536266
BS
31212002-05-06 Bernd Schmidt <bernds@redhat.com>
3122
e2ff6cee 3123 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
3124 -msse2.
3125 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 3126
0316d49b
RS
31272002-05-06 Roger Sayle <roger@eyesopen.com>
3128
3129 * fold-const.c (lshift-double): Cast the high word to an unsigned
3130 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
3131 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
3132 avoid compiler warning. (fold): Remove redundant code from
3133 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
3134
5d50fab3
JL
31352002-05-06 Jeff Law <law@redhat.com>
3136
3137 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
3138 * pa.c (pa_adjust_cost): Remove all true dependency cost
3139 adjustments. Also remove support for non-DFA scheduling.
3140 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
3141 to adjust true dependency costs. Update various comments.
3142 (7100lc, 7200, 7300 scheduling): Simplify by combining the
3143 FP ALU & MPY units into a single unit.
3144
a17a104c
CM
31452002-05-06 Catherine Moore <clm@redhat.com>
3146
3147 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 3148 to count all of the registers that will be saved.
a17a104c 3149
7799175f
JH
3150Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
3151
3152 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
3153
0ac941a0
DM
31542002-05-06 David S. Miller <davem@redhat.com>
3155
3156 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
3157 allow result to overlap input operands in memory.
3158
95ff5d3f
NB
31592002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
3160
3161doc:
3162 * cpp.texi: Update multichar charconst docs.
3163
639e8b0c
NB
31642002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
3165
3166 * cpplex.c (cpp_interpret_charconst): Sign-extend each
3167 character. Don't ignore excess characters. Treat
3168 multicharacter character constants as signed.
3169 (cpp_parse_escape): Clarify diagnostic.
3170
84ea5bc1
JJ
31712002-05-05 Jakub Jelinek <jakub@redhat.com>
3172
3173 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
3174 use add instead of shift.
3175 (ashldi3_sp64): Likewise.
3176 (ashlsi3_const1, ashldi3_const1): Remove.
3177 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
3178 * config/sparc/sparc.c (const1_operand): New.
3179
40cd22f2
JT
31802002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
3181
3182 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
3183
cac01076
JJ
31842002-05-05 Jakub Jelinek <jakub@redhat.com>
3185
3186 PR target/6561
3187 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
3188
98791e3a
RH
31892002-05-05 Richard Henderson <rth@redhat.com>
3190
3191 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
3192 memory latency adjustments.
3193 (alpha_variable_issue): Remove.
3194 (alpha_use_dfa_pipeline_interface): New.
3195 (alpha_multipass_dfa_lookahead): New.
3196 * config/alpha/alpha.md: Remove define_function_unit scheduling;
3197 include new dfa scheduling.
3198 (attr type): Add none.
3199 (blockage): Use it.
3200 * config/alpha/ev4.md: New.
3201 * config/alpha/ev5.md: New.
3202 * config/alpha/ev6.md: New.
3203
309527ce
DM
32042002-05-05 David S. Miller <davem@redhat.com>
3205
3206 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
3207
68252e27
KH
32082002-05-05 Kazu Hirata <kazu@cs.umass.edu>
3209
3210 * cse.c: Fix formatting.
3211 * emit-rtl.c: Likewise.
3212
30cc9d00
VM
32132002-05-05 Vladimir Makarov <vmakarov@redhat.com>
3214
3215 * genautomata.c (initiate_states): Add additional guard to
3216 initialize `units_array'.
3217
deb09eff
VM
32182002-05-05 Vladimir Makarov <vmakarov@redhat.com>
3219
3220 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
3221 process_unit_to_form_the_same_automaton_unit_lists,
3222 form_the_same_automaton_unit_lists
3223 check_unit_distributions_to_automata): New prototypes and
3224 functions.
3225 (check_automata): Rename it into `check_automata_insn_issues'.
3226 (unit_decl): New fields `the_same_automaton_unit' and
3227 `the_same_automaton_message_reported_p'.
3228 (unit_decl_t): New typedef.
3229 (the_same_automaton_lists): New gloval variable.
3230 (unit_regexp, unit_set_el, units_array, units_cmp,
3231 output_get_cpu_unit_code_func): Use the typedef.
3232 (evaluate_max_reserv_cycles): Increment
3233 `description->max_insn_reserv_cycles'.
3234 (initiate_states): Don't increment `max_cycles_num'.
3235 (transform_insn_regexps): Move code around transformation of
3236 regexps from `generate'.
3237 (generate): Remove call of `transform_insn_regexps'.
3238 (expand_automata): Call `transform_insn_regexps' and
3239 `check_unit_distributions_to_automata'. Check errors before
3240 `generate'.
3241
3242 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
3243 automaton `ultrasparc3_1'.
e2ff6cee 3244
2443d4e1
NB
32452002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
3246
3247 * c-common.c (c_common_init): Set up CPP arithmetic.
3248 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
3249 something reasonable for the host.
3250 (sanity_checks): Add checks.
3251 (cpp_read_main_file): Call sanity_checks() from here...
3252 (cpp_post_options): ... not here.
3253 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
3254 * cpplib.h (struct cpp_options): New member int_precision.
3255
791a949f
FS
32562002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3257
3258 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
3259
091fb516
DM
32602002-05-04 David S. Miller <davem@redhat.com>
3261
f60ebeb7
DM
3262 * config/sparc/linux.h, config/sparc/linux64.h
3263 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
3264
214c6394
DM
3265 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
3266 more RTX codes.
3267 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
3268
091fb516
DM
3269 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
3270 of SETs.
3271
f2fdc802
TJ
32722002-05-05 Tim Josling <tej@melbpc.org.au>
3273
e2ff6cee 3274 * treelang; New directory for new sample language treelang.
f2fdc802 3275
3d90d290
NB
32762002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
3277
3278 * Makefile.in (c-lex.o): Update.
3279 * c-lex.c: Include target.h.
3280 (cb_register_builtins): New.
3281 (init_c_lex): Set builtins callback.
3282 * c-lex.h (cpp_define, cpp_assert): New prototypes.
3283 * cppinit.c (init_builtins): Use callback, including for
3284 GXX_WEAK.
3285 * cpplib.h (struct cpp_callbacks): New member.
3286 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
3287 (TARGET_INITIALIZER): Update.
3288 * target.h (struct gcc_target): New hook.
3289 * tree.c (default_register_cpp_builtins): New.
3290 * tree.h (default_register_cpp_builtins): New.
3291doc:
3292 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
3293
625458d0
NB
32942002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
3295
3296 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
3297 (cpp_post_options): Move sanity checks to...
3298 (sanity_checks): New.
3299 * cpplex.c (maybe_read_ucs): Fix prototype.
3300 (parse_string, cpp_parse_escape): Cast for %c format specifier.
3301 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
3302 if necessary.
3303
916b60b7
BS
33042002-05-04 Bernd Schmidt <bernds@redhat.com>
3305
3306 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
3307 builtins. Use V2DI patterns instead of TI for logical operations.
3308 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
3309 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
3310 (ix86_expand_builtins): Change the pattern used for movntdq.
3311 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
3312 sse2_nandv2di3): New patterns.
3313 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
3314 on operands.
3315 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
3316 (cvtdq2pd): Correct mode on operand 1.
3317 (sse2_umulsidi3): Describe without unspec.
3318 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
3319 machine modes.
3320 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
3321 (ashlv2di3): Likewise, from sse2_ashlv2di3.
3322 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
3323 ashlv4si3, ashlv2di3): Use SImode for shift count.
3324 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
3325 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
3326 New patterns.
3327 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
3328 New typedefs.
3329 (__m128i, __m128d): New macros.
3330 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
3331 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
3332 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
3333 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
3334 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 3335 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
3336 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
3337 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 3338 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
3339 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
3340 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
3341 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
3342 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
3343 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
3344 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
3345 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
3346 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
3347 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
3348 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
3349 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
3350 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
3351 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
3352 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
3353 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
3354 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
3355 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
3356 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
3357 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
3358 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
3359 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
3360 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
3361 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
3362 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
3363 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
3364 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
3365 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
3366 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
3367 functions.
e2ff6cee 3368 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
3369 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
3370
c26fbbca
KH
33712002-05-04 Kazu Hirata <kazu@cs.umass.edu>
3372
3373 * dwarf2out.c: Fix formatting.
3374 * varasm.c: Likewise.
3375
0387639b
DE
33762002-05-04 David Edelsohn <edelsohn@gnu.org>
3377
3378 PR c/6543
3379 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
3380 clobber and use result as temporary value.
3381
8a28dbcc
JH
3382Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
3383
3384 * expr.c (force_operand): Use expand_simple_* to handle more
3385 cases.
3386
4268e8bb
NB
33872002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
3388
3389 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
3390 and sign-extension.
3391 (lex_charconst): Update for change in prototype of
3392 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
3393 appropriately.
3394 * cpphash.h (BITS_PER_CPPCHAR_T): New.
3395 * cppinit.c (cpp_create_reader): Initialize them for no
3396 change in semantics.
3397 (cpp_post_options): Add sanity checks.
3398 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
3399 and truncation issues. Calculate in type cppchar_t.
3400 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
3401 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
3402 run-time dependent precision correctly. Return whether the
3403 result is signed or not.
3404 * cpplib.c (dequote_string): Use cppchar_t; update.
3405 * cpplib.h (cppchar_signed_t): New.
3406 struct cpp_options): New precision members.
3407 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 3408 * cppexp.c (eval_token): Update.
4268e8bb 3409
af54350e
DM
34102002-05-03 David S. Miller <davem@redhat.com>
3411
2ce04b6b
DM
3412 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
3413 * config/sparc/sparc.c (sparc_rtx_costs): New function
3414 implementing RTX_COSTS and CONST_COSTS.
3415 * config/sparc/sparc.h (CONST_COSTS): Delete.
3416 (RTX_COSTS_CASES): Define.
3417 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
3418 the work.
3419
a1d9bd0c
DM
3420 * config/sparc/sparc.md (DFA schedulers): Split out...
3421 * config/sparc/cypress.md, config/sparc/hypersparc.md,
3422 config/sparc/sparclet.md, config/sparc/supersparc.md,
3423 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
3424
e87bb82e
DM
3425 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
3426 checks on it, always defined for Sparc.
3427
af54350e
DM
3428 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
3429 Tweak, and add more detailed comments.
3430
935bfb44
ZW
34312002-05-03 Zack Weinberg <zack@codesourcery.com>
3432
3433 * Re-apply patch accidentally reverted with
3434 DFA scheduler merge: remove all rules and variables to slurp
3435 source files out of libiberty and rebuild them with HOST_CC.
3436 ($(HOST_PREFIX_1)varray.o): New rule.
3437 (genattrtab rule): Word wrap.
3438
fa7a0712
JT
34392002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
3440
3441 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
3442 (CPP_SUBTARGET_SPEC): Define.
3443 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
3444 cpp_subtarget specs.
3445 (CPP_SPEC): Redefine to include %(cpp_subtarget).
3446
14c93978
DM
34472002-05-03 David S. Miller <davem@redhat.com>
3448
3449 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
3450 * target.h (struct gcc_target): Delete cycle_display member.
3451
14d118d6
DM
3452 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
3453 (rtx_needs_barrier): Delete reference to cycle_display unspec.
3454 (ia64_sched_reorder2): Mention need for cycle display handling
3455 once such notes exist.
935bfb44 3456
b3ae1ccd
RH
34572002-05-03 Richard Henderson <rth@redhat.com>
3458
3459 * real.c (etoasc): Strip most trailing zeros for clarity.
3460 * sched-vis.c: Include real.h.
3461 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
3462 * Makefile.in (sched-vis.o): Add real.h.
3463
8f39865a
DM
34642002-05-03 David S. Miller <davem@redhat.com>
3465
3466 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
3467 no longer needed.
3468
b44140e7
AH
34692002-05-03 Aldy Hernandez <aldyh@redhat.com>
3470
935bfb44
ZW
3471 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
3472 when we get an out of range literal.
3473 (altivec_expand_ternop_builtin): Same.
3474 (altivec_expand_unop_builtin): Same.
3475 (altivec_expand_builtin): Same, for dss.
3476 (altivec_expand_builtin): Use trees instead of rtl when
3477 determining literal argument validity.
b44140e7 3478
aaaed752
DM
34792002-05-03 David S. Miller <davem@redhat.com>
3480
3481 Delete cycle display scheduling hook.
3482 * config/ia64/ia64.c (ia64_cycle_display,
3483 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
3484 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
3485 and use emit_insn_before instead of ia64_emit_insn_before.
3486 * config/ia64/ia64.md (unspec usage): Delete cycle display.
3487 (cycle_display): Delete insn pattern.
3488 * config/sparc/sparc.md (unspec usage): Delete cycle display.
3489 (cycle_display): Delete insn pattern.
3490 * config/sparc/sparc.c (sparc_cycle_display,
3491 TARGET_SCHED_CYCLE_DISPLAY): Delete.
3492 * doc/md.texi (cycle_display): Don't mention.
3493 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 3494
b37c2614
RH
34952002-05-03 Richard Henderson <rth@redhat.com>
3496
3497 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
3498 * recog.h: Declare them.
3499
3500 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
3501 * config/sparc/sparc.md: Use store_data_bypass_p instead.
3502 * config/sparc/sparc-protos.h: Update.
935bfb44 3503
e1c1132e
JT
35042002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
3505
3506 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
3507 -D__arch64__. Add -D_LP64.
3508 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
3509 from sparc.h.
3510 (CPP_ARCH64_SPEC): Likewise.
3511 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
3512 (NO_BUILTIN_SIZE_TYPE): Undef.
3513
0b2fb0d7
VM
35142002-05-03 Vladimir Makarov <vmakarov@redhat.com>
3515
3516 * genautomata.c (min_issue_delay_pass_states): Change return type
3517 in the prototype.
3518 (min_issue_delay_pass_states): Change the algorithm.
3519 (min_issue_delay): Set up min_insn_issue_delay for the state.
3520 (output_min_issue_delay_table): Interchange the nested loops and
3521 and initiate min_insn_issue_delay for states.
935bfb44 3522
3d4ce12a
JH
3523Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
3524
3525 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
3526 jump is simplejump.
3527
3528Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
3529
3530 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
3531 sequence.
3532
b5482208
RH
35332002-05-03 Richard Henderson <rth@redhat.com>
3534
3535 PR opt/6534
3536 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
3537 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
3538 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
3539 code before JUMP, not EARLIEST.
3540
5a3085c5
JM
35412002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
3542
3543 * c-format.c (check_format_info_main): Don't check for presence of
3544 parameter for * width until after operand number has been read,
3545 and only check for it if format parameters are available.
3546 Fixes PR c/6547.
3547
40039424
JT
35482002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
3549
3550 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
3551 (LINK_SPEC): Undef before defining.
3552
8157303b
JJ
35532002-05-03 Jakub Jelinek <jakub@redhat.com>
3554
3555 PR preprocessor/6489
3556 * tradcpp.c (fixup_newlines): New.
3557 (main, finclude): Use it.
3558
66319f5c
RS
35592002-05-03 Richard Sandiford <rsandifo@redhat.com>
3560
3561 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
3562 * config/mips/mips.c (mips_unique_section): Strip encoding from
3563 decl name.
3564
ce8076ad
JJ
35652002-05-03 Jakub Jelinek <jakub@redhat.com>
3566
3567 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
3568 mode.
3569
975c6e4e
RO
35702002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3571
3572 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
3573 (Specific): Removed buildstats references.
3574 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
3575 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
3576 Accomodate Solaris versions beyond 8.
3577 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
3578 (Specific, *-*-solaris2.8): Removed, obsolete.
3579
d70e94ec
JJ
35802002-05-03 Jakub Jelinek <jakub@redhat.com>
3581
3582 PR target/6542
3583 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
3584 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
3585 fill leaf_reg_remap with identity.
3586 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
3587
6b148bd9
KH
35882002-05-03 Kazu Hirata <kazu@cs.umass.edu>
3589
3590 * config/h8300/crti.asm: Remove trailing spaces.
3591 * config/h8300/h8300.c: Likewise.
3592 * config/h8300/lib1funcs.asm: Likewise.
3593
609688f3
JM
35942002-05-02 Jason Merrill <jason@redhat.com>
3595
3596 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
3597 * c-decl.c (c_init_decl_processing): Use it.
3598 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
3599 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
3600 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
3601
3b03c671
KH
36022002-05-03 Kazu Hirata <kazu@cs.umass.edu>
3603
3604 * regrename.c: Fix formatting.
3605 * tree.c: Likewise.
3606
3b4961bd
JH
3607Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
3608
3609 * i386.md (attribute memory): Handle compares properly.
3610
19cba4a0
JH
3611Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
3612
3b4961bd 3613 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
3614 to none.
3615
797a6ac1
KH
36162002-05-02 Kazu Hirata <kazu@cs.umass.edu>
3617
3618 * function.c: Fix formatting.
3619
6d0de005
JH
36202002-05-02 Jan Hubicka <jh@suse.cz>
3621
3622 * haifa-sched.c (schedule_insn): Print table of instructions and
3623 reservations.
3624 (sched_block): Do not print ready list at verbosity level 1.
3625 * sched-vis.c (print_insn): Make global.
3626 * sched-ebb.c (ebb_print_insn): Rename from...
3627 (print_insn): ... this one.
3628 * sched-int.h (print_insn): Declare
3629
0bfb9a69
RH
36302002-05-02 Richard Henderson <rth@redhat.com>
3631
3632 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
3633 emitted by cycle_display.
3634
6b976d99
LR
36352002-05-02 Loren J. Rittle <ljrittle@acm.org>
3636
3637 * doc/install.texi (*-*-freebsd*): Update to latest status.
3638
0a295052
JJ
36392002-05-02 Jakub Jelinek <jakub@redhat.com>
3640
3641 PR target/6540
3642 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
3643 * config/float-sparc.h: Assume 128-bit long double if
3644 __LONG_DOUBLE_128__ is defined.
3645
842d5d6c
VM
36462002-05-02 Vladimir Makarov <vmakarov@redhat.com>
3647
3648 * genattrtab.c (write_function_unit_info): Add a dummy element
3649 when num_units == 0.
3650
3d7a6309
HB
36512002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3652
3653 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
3654 TYPE_MODE (double_type_node) instead of DFmode.
3655
1b6763cf
JH
3656Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
3657
3658 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
3659 jumps post reload.
3660 * toplev.c (rest_of_compilation): Revert Richard's patch.
3661
b303008e
JDA
36622001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
3663
3664 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
3665
6ed7412a
CM
36662002-05-02 Catherine Moore <clm@redhat.com>
3667
3668 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
3669
e0a2f705
KH
36702002-05-02 Kazu Hirata <kazu@hxi.com>
3671
b32d6163 3672 * combine.c: Fix comment typos.
e0a2f705
KH
3673 * expr.c: Likewise.
3674 * genautomata.c: Likewise.
3675 * stmt.c: Likewise.
3676 * tree.h: Likewise.
3677
38e23049
JM
36782002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
3679
3680 * doc/install.texi: State GNAT version requirements.
3681
40f4a97d
NC
36822002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
3683
3684 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
3685 of the frame pointer or arg pointer register which strict register
3686 checking is not enabled.
3687
0d6d6892
AH
36882002-05-02 Aldy Hernandez <aldyh@redhat.com>
3689
b5482208 3690 * gcc.dg/altivec-8.c: New.
0d6d6892 3691
b5482208
RH
3692 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
3693 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 3694
abaa8559
BK
36952002-05-01 Bruce Korb <bkorb@gnu.org>
3696
3697 * fixinc/check.tpl(set-writable): make sure the function exists first
3698 * fixinc/inclhack.def(alpha_assert): fix test_text
3699 * fixinc/tests/base/assert.h: add in missing result
3700
ecab2143
JL
37012002-05-01 Jeff Law <law@redhat.com>
3702
3703 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
3704 'T' constraint.
3705
ea619b46
JB
37062002-05-01 Joel Brobecker <brobecker@gnat.com>
3707
3708 * dbxout.c (dbxout_type): Emit size information for range types,
3709 as well, but only when using GDB extensions.
3710
c72931a6
RH
37112002-05-01 Richard Henderson <rth@redhat.com>
3712
3713 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
3714 target-independent gnu binutils date test.
3715
2150ad33
RH
37162002-05-01 Richard Henderson <rth@redhat.com>
3717
3718 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
3719 info before expunging the block.
3720
1651cc96
JJ
37212002-05-01 Jakub Jelinek <jakub@redhat.com>
3722
3723 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
3724 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
3725 -M -or -MM is in effect.
3726
8998d5bf
ZW
37272002-05-01 Zack Weinberg <zack@codesourcery.com>
3728
3729 * config.gcc: Correct test of --enable-obsolete. Obsolete all
3730 A29k configurations.
3731 * doc/install.texi: Update to match.
3732
a81eed10
FS
37332002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3734
3735 PR bootstrap/6514
3736 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
3737 for duplicates. Always loop over whole list.
3738
8d53318f
RK
3739Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3740
3741 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
3742
4109b118
JS
37432002-05-01 Joel Sherrill <joel@OARcorp.com>
3744
3745 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
3746 support routines.
3747
c4a9c570
JS
37482002-05-01 Joel Sherrill <joel@OARcorp.com>
3749
3750 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
3751
ea112fc4
DE
37522002-05-01 David Edelsohn <edelsohn@gnu.org>
3753
3754 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
3755 (nabs_nopower): Same.
3756 (floatdisf2): New pattern.
3757 (absdi2): Convert to define_insn_and_split.
3758 (nabsdi2): Same.
3759 (trunctfsf2): Same.
3760 (floatditf2): Same.
3761 (floatsitf2): Same.
3762 (fix_trunctfdi2): Same.
3763 (fix_trunctfsi2): Same.
3764
dda78254
JM
37652002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
3766
3767 * doc/install.texi: Update Texinfo version requirement
3768 documentation.
3769
26aeede4
JJ
37702002-05-01 Jakub Jelinek <jakub@redhat.com>
3771
3772 PR target/6512, PR target/5628
3773 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
3774 when memory is not aligned.
3775 (movdf_insn_v9only_vis): Likewise.
3776 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
3777 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
3778 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
3779
9b7bc465
AH
37802002-05-01 Aldy Hernandez <aldyh@redhat.com>
3781
8998d5bf 3782 * gcc.dg/altivec-7.c: New.
9b7bc465 3783
8998d5bf 3784 * config/rs6000/altivec.h: Cleanup.
9b7bc465 3785
08b57fb3
AH
37862002-04-30 Aldy Hernandez <aldyh@redhat.com>
3787
8998d5bf
ZW
3788 * doc/invoke.texi (Option Summary): Add -mvrsave=.
3789 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 3790
8998d5bf
ZW
3791 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
3792 (rs6000_altivec_vrsave_string): Same.
3793 (rs6000_override_options): Call rs6000_parse_vrsave_option.
3794 (rs6000_parse_vrsave_option): New.
3795 (rs6000_stack_info): Only generate vrsave instructions when
3796 TARGET_ALTIVEC_VRSAVE.
08b57fb3 3797
8998d5bf
ZW
3798 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
3799 (rs6000_altivec_vrsave_string): Define extern.
3800 (rs6000_altivec_vrsave): Same.
3801 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 3802
8e8c38cd
RH
38032002-04-30 Richard Henderson <rth@redhat.com>
3804
3805 PR opt/6516
3806 * toplev.c (rest_of_compilation): Don't run cross-jump before
3807 bb-reorder.
3808
4be9e9cb
TR
38092002-04-30 Tom Rix <trix@redhat.com>
3810
8998d5bf 3811 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
3812 check which_alternative.
3813
1eeeb6a4
KH
38142002-04-30 Kazu Hirata <kazu@hxi.com>
3815
3816 * cpplex.c: Fix comment formatting.
3817 * function.c: Likewise.
3818 * integrate.c: Likewise.
3819 * regrename.c: Likewise.
3820 * sibcall.c: Likewise.
3821 * simplify-rtx.c: Likewise.
3822 * tree-inline.c: Likewise.
3823
ed9d6ff9
JDA
38242002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
3825
3826 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
3827 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
3828 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
3829 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
3830 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
3831 * pa/x-ada: New file. Define ADA_CFLAGS.
3832
1f2641b6
HPN
38332002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
3834
3835 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
3836 from MMIX_LAST_REGISTER_FILE_REGNUM.
3837 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
3838 (struct machine_function): New member highest_saved_stack_register
3839 previously static variable in mmix.c.
3840 (MACHINE_DEPENDENT_REORG): Define.
3841 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
3842 (MMIX_OUTPUT_REGNO): New.
3843 (mmix_target_asm_function_prologue): Move calculation of last used
3844 saved-stack-register into...
3845 (mmix_machine_dependent_reorg): New function. Update to also handle
3846 !TARGET_ABI_GNU.
3847 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
3848 register names, simplify somewhat by new variable regno.
3849 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
3850 register.
3851 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
3852 emitting register names.
3853 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
3854 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
3855 Remove fixed FIXME.
3856 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
3857 Declare.
3858
3859 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
3860
73985940
RH
38612002-04-30 Richard Henderson <rth@redhat.com>
3862
3863 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
3864 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
3865 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
3866 emit_tfmode_cvt): New.
3867 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
3868 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
3869 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
3870 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
3871 * config/sparc/sparc-protos.h: Update.
3872
2b46bc67
JJ
38732002-04-30 Janis Johnson <janis187@us.ibm.com>
3874
3875 * install.texi (Final install): Add to the list of info to include
3876 in a report of a successful bootstrap, and add link to 3.1 list.
3877
3d34cd91
JH
3878Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
3879
3880 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
3881 (mode): Add vector modes
3882 (i387): Kill attribute.
3883 (unit): New attribute.
3884 (length_immediate): Grok new types.
3885 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
3886 (modrm): Use "unit".
3887 (memory): Handle MMX/SSE properly.
3888 (scheduling descriptions): Kill uses of fop1.
3889 (sse, mmx, fp patterns): Set type and mode properly.
3890
3193c415
JL
3891Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@cygnus.com)
3892
30482eb0
JL
3893 * pa.c (override_options): Default to PA8000 scheduling.
3894 * doc/invoke.texi (HP-PA options): Mention newly added 7300
3895 scheduling parameter.
3896
3193c415
JL
3897 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
3898 handling of double precision multiplies.
3899
3900 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
3901 fpdiv and fpsqrt instructions.
3902 (7200 & 7300 scheduling): Fix typo in handling of
3903 store-load and store-store penalties.
3904
c0a34cb7
GP
39052002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3906
3907 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
3908 mips. Add two missing commas.
3909
8bce0628
PC
39102002-04-30 Paolo Carlini <pcarlini@unitus.it>
3911
3912 * doc/contrib.texi (Contributors): Update Paolo Carlini's
3913 and Benjamin Kosnik's entries.
3914
84643cbf
DM
39152002-04-29 David S. Miller <davem@redhat.com>
3916
3917 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
3918 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
3919 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
3920 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
3921
da6886f6
FS
39222002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3923
3924 * combine.c (find_split_point): Use gen_int_mode.
3925
fae15c93
VM
39262002-04-29 Vladimir Makarov <vmakarov@redhat.com>
3927
3928 Merging code from dfa-branch:
8998d5bf 3929
fae15c93
VM
3930 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
3931
3932 * genautomata.c (output_reserv_sets): Fix typo.
3933
3934 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
3935
3936 * genautomata.c (output_reserv_sets): Remove
3937 next_cycle_output_flag.
3938
3939 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
3940
8998d5bf
ZW
3941 * sched-rgn.c (init_ready_list): Make the DFA code handle
3942 USE/CLOBBER insns in the same way as the traditional
3943 scheduler.
3944 (new_ready): Similarly..
fae15c93
VM
3945
3946 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
3947
3948 * haifa-sched.c (schedule_block): Change the DFA state only after
3949 issuing insn.
3950
3951 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
3952
3953 * pa.c (hppa_use_dfa_pipeline_interface): New function.
3954 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
3955 (override_options): Add PA7300 scheduling support.
3956 (pa_adjust_cost): Update various comments. Properly
3957 handle anti and output dependencies when using the
3958 DFA scheduler.
3959 (pa_issue_rate): Add PA7300 scheduling support.
3960 (pa_can_combine_p): Call extract_insn before calling
3961 constrain_operands (taken from mainline tree).
3962 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
3963 * pa.md (cpu attr): Add 7300. Rewrite pipeline
3964 descriptions using DFA descriptions. Add PA7300
3965 scheduling support.
3966
3967 2002-03-30 David S. Miller <davem@redhat.com>
3968
3969 Add UltraSPARC-III DFA scheduling support.
3970 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
3971 Update FP conditional move on register insn patterns to use it, as
3972 appropriate.
3973 (define_attr cpu): Add ultrasparc3.
3974 (define_attr us3load_type): New, update integer load patterns to
3975 set it, as appropriate.
3976 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
3977 (rest): Add UltraSPARC3 scheduling description.
3978 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
3979 (PROCESSOR_ULTRASPARC3): New.
3980 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
3981 ({ASM,CPP}_CPU_SPEC): Likewise.
3982 (REGISTER_MOVE_COST): Likewise.
3983 (RTX_COSTS): Likewise.
3984 * config/sparc/sparc.c (sparc_override_options,
3985 sparc_initialize_trampoline, sparc64_initialize_trampoline,
3986 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
3987 sparc_issue_rate): Likewise.
3988 * config/sparc/sol2.h: Likewise.
3989 * config/sparc/sol2-sld-64.h: Likewise.
3990 * config/sparc/linux64.h: Likewise.
8998d5bf 3991
fae15c93
VM
3992 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
3993
3994 * doc/md.texi: Add comments about usage the latency time for the
3995 different dependencies and about case when two or more conditions
3996 in different define_insn_reservations returns TRUE for an insn.
3997
3998 * doc/md.texi: Add reference for automaton based pipeline
3999 description.
8998d5bf 4000
fae15c93
VM
4001 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
4002
4003 * doc/passes.texi: Add missed information about genattrtab.
4004
4005 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
4006
4007 * genautomata.c (output_automata_list_transition_code): Check
4008 automata_list on NULL.
4009
4010 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
4011
4012 * genautomata.c (output_insn_code_cases,
4013 output_automata_list_min_issue_delay_code,
4014 output_automata_list_transition_code,
4015 output_automata_list_state_alts_code): Comment the functions.
4016
4017 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
4018
4019 * genautomata.c (automata_list_el_t): New typedef.
4020 (get_free_automata_list_el,free_automata_list_el,
4021 free_automata_list, automata_list_hash, automata_list_eq_p,
4022 initiate_automata_lists, automata_list_start, automata_list_add,
4023 automata_list_finish, finish_automata_lists,
4024 output_insn_code_cases, output_automata_list_min_issue_delay_code,
4025 output_automata_list_transition_code,
4026 output_automata_list_state_alts_code, add_automaton_state,
4027 form_important_insn_automata_lists): New functions and prototypes.
4028 (insn_reserv_decl): Add members important_automata_list and
4029 processed_p.
4030 (ainsn): Add members important_p.
4031 (automata_list_el): New structure.
4032 (first_free_automata_list_el, current_automata_list,
4033 automata_list_table): New global variables.
4034 (create_ainsns): Initiate member important_p.
4035 (output_internal_min_issue_delay_func): Generate the switch and
4036 call output_insn_code_cases.
4037 (output_internal_trans_func, output_internal_state_alts_func):
4038 Ditto.
4039 (generate): Call initiate_automata_lists.
4040 (automaton_states): New global variable.
4041 (expand_automata): Call form_important_insn_automata_lists.
4042 (write_automata): Call finish_automata_lists.
8998d5bf 4043
fae15c93
VM
4044 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
4045
4046 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 4047 cpu units in the sets belong the same automaton.
fae15c93
VM
4048
4049 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
4050 about that cpu units in the sets belong the same automaton.
4051
4052 * doc/md.texi: Ditto.
8998d5bf 4053
2799d721
VM
4054 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
4055 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 4056
fae15c93
VM
4057 * config/sh/sh.c (sh_use_dfa_interface): New function.
4058
4059 (sh_issue_rate): New Function.
4060 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
4061 TARGET_SCHED_ISSUE_RATE: define.
4062
4063 * config/sh/sh.md: Add DFA based pipeline description for SH4.
4064
8998d5bf
ZW
4065 (define_attr insn_class): New attribute used for DFA
4066 scheduling.
fae15c93
VM
4067 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
4068 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
4069 cmpeqdi_t): Likewise.
4070
4071 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 4072 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
4073 ex_group.
4074 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 4075
fae15c93
VM
4076 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
4077
4078 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
4079 break.
4080
4081 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
4082
4083 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
4084 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
4085 necessary.
4086 (output_dfa_start_func): Initiate new variable insn_codes_length,
4087 (write_automata): Output definition of the new variable.
8998d5bf 4088
fae15c93
VM
4089 2001-10-02 David S. Miller <davem@redhat.com>
4090
4091 * haifa-sched.c (advance_one_cycle): New function.
4092 (schedule_block): Use it.
4093 (queue_to_ready): Use it, and also make sure to advance the DFA
4094 state on all stall cycles, not just those where insn_queue links
4095 are found.
4096
4097 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
4098
4099 * haifa-sched.c (max_issue): Remove last_p argument. Only return
4100 non-zero if the highest-priority instruction could be scheduled.
4101 (choose_ready): Remove last argument from max_issue call.
4102
4103 2001-09-28 David S. Miller <davem@redhat.com>
4104
4105 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
4106 ultrasparc and 3 for other multi-issue sparcs.
4107
4108 2001-09-27 David S. Miller <davem@redhat.com>
4109
4110 * config/sparc/sparc.md (cycle_display): New pattern.
4111 * config/sparc/sparc.c (sparc_cycle_display): New.
4112 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
4113
4114 2001-09-25 David S. Miller <davem@redhat.com>
4115
4116 Convert all of Sparc scheduling to DFA
4117 * config/sparc/sparc.md: Kill all define_function_unit
4118 directives and replace with DFA equivalent.
4119 * config/sparc/sparc.c (ultrasparc_adjust_cost,
4120 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
4121 ultra_fpmode_conflict_exists, ultra_find_type,
4122 ultra_build_types_avail, ultra_flush_pipeline,
4123 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
4124 ultrasparc_variable_issue, ultrasparc_sched_init,
4125 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
4126 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
4127 ultra_cur_hist, ultra_cycles_elapsed): Kill.
4128 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
4129 ultrasparc_store_bypass_p): New.
4130 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
4131 Declare.
4132
4133 2001-09-24 David S. Miller <davem@redhat.com>
4134
4135 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
4136 ready->vec[foo] not ready[foo].
4137
4138 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
4139
4140 * doc/md.texi: Correct examples for define_insn_reservations
4141 `mult' and `div'.
4142
4143 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
4144
4145 * genautomata.c (create_automata): Print message about creation of
4146 each automaton.
4147 (generate): Remove printing meease about creation of
4148 automata.
4149
4150 2001-09-05 David S. Miller <davem@redhat.com>
4151
4152 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
4153 * config/sparc/linux64.h: Likewise.
4154
4155 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
4156
4157 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
4158 schedule_block, sched_init, sched_finish): Add missed calls of
4159 use_dfa_pipeline_interface.
4160
4161 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
4162 Ditto.
4163
4164 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 4165
fae15c93
VM
4166 2001-08-27 Richard Henderson <rth@redhat.com>
4167
4168 * genattr.c (main): Emit state_t even when not doing scheduling.
4169
4170 2001-08-27 Richard Henderson <rth@redhat.com>
4171
4172 * genautomata.c (expand_automata): Always create a description.
4173
4174 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
4175
8998d5bf 4176 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
4177 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
4178 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
4179 RTL constructions.
4180
4181 * genattr.c (main): New variable num_insn_reservations. Increase
4182 it if there is DEFINE_INSN_RESERVATION. Output automaton based
4183 pipeline hazard recognizer interface.
4184
4185 * genattrtab.h: New file.
4186
4187 * genattrtab.c: Include genattrtab.h.
4188 (attr_printf, check_attr_test, make_internal_attr,
4189 make_numeric_value): Move protypes into genattrtab.h. Define them
4190 as external.
4191 (num_dfa_decls): New global variable.
4192 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
4193 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
4194 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
4195 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
4196
4197 * genautomata.c: New file.
4198
4199 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
4200
8998d5bf 4201 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
4202 automaton pipeline interface.
4203 (haifa_insn_data): Add comments for members blockage and units.
4204
4205 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
4206 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
4207 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
4208 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
4209 TARGET_SCHED_DFA_POST_CYCLE_INSN,
4210 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
4211 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
4212 macros.
4213 (TARGET_SCHED): Use the new macros.
4214
4215 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
4216 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
4217 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
4218 dfa_bubble): New members in gcc_target.sched.
4219
8998d5bf 4220 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
4221 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
4222 (insn_queue): Redefine it as pointer to array.
4223 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
4224 INSN_QUEUE_SIZE.
4225 (max_insn_queue_index_macro_value): New variable.
4226 (curr_state, dfa_state_size, ready_try): New varaibles for
4227 automaton interface.
4228 (ready_element, ready_remove, max_issue): New function prototypes
4229 for automaton interface.
4230 (choose_ready): New function prototype.
4231 (insn_unit, blockage_range): Add comments.
4232 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
4233 FUNCTION_UNITS_SIZE == 0.
4234 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
4235 actual_hazard, potential_hazard): Add comments.
4236 (insn_cost): Use cost -1 as undefined value. Remove
4237 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
4238 pipeline interface.
4239 (ready_element, ready_remove): New functions for automaton
4240 interface.
4241 (schedule_insn): Add new code for automaton pipeline interface.
4242 (queue_to_ready): Add new code for automaton pipeline interface.
4243 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
4244 (debug_ready_list): Print newline when the queue is empty.
4245 (max_issue): New function for automaton pipeline interface.
4246 (choose_ready): New function.
4247 (schedule_block): Add new code for automaton pipeline interface.
4248 Print ready list before scheduling each insn.
4249 (sched_init): Add new code for automaton pipeline interface.
4250 Initiate insn cost by -1.
4251 (sched_finish): Free the current automaton state and finalize
4252 automaton pipeline interface.
4253
4254 * sched-rgn.c: Include target.h.
4255 (init_ready_list, new_ready, debug_dependencies): Add new code for
4256 automaton pipeline interface.
4257
4258 * sched-vis.c: Include target.h.
4259 (get_visual_tbl_length): Add code for automaton interface.
4260 (target_units, print_block_visualization): Add comments.
4261
8998d5bf 4262 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
4263 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
4264 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
4265 (getruntime.o, genautomata.o): New entries.
4266 (genattrtab.o): Add new dependency file genattrtab.h.
4267 (genattrtab): Add new dependencies. Link it with `libm.a'.
4268 (getruntime.o, hashtab.o): New entries for canadian cross.
4269
4270 * doc/md.texi: Description of automaton based model.
4271
4272 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
4273 Add comments.
4274 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
4275 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
4276 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
4277 TARGET_SCHED_DFA_POST_CYCLE_INSN,
4278 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
4279 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
4280 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
4281 hook descriptions.
4282 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
4283 MAX_DFA_ISSUE_RATE): New macro descriptions.
4284
4285 * doc/contrib.texi: Add dfa based scheduler contribution.
4286
4287 * doc/gcc.texi: Add more information about genattrtab.
4288
a2ff290c
RK
4289Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4290
4291 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
4292 adjust_address_nv call.
4293
f97903cc
JJ
42942002-04-29 Janis Johnson <janis187@us.ibm.com>
4295
4296 * doc/install.texi (Testing): Provide additional information, and
4297 a stronger encouragement, for running the testsuites.
4298
f41a6bf1
DD
42992002-04-29 DJ Delorie <dj@redhat.com>
4300
4301 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
4302 given in upper case.
4303
d8af0868
RO
43042002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4305
4306 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
4307 Solaris 2 <widec.h> if missing.
4308 * fixinc/fixincl.x: Regenerate.
4309 * fixinc/tests/base/widec.h: New file.
4310
1034407f
NC
43112002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
4312
4313 * toplev.c (f_options): Add "profile" switch so that
4314 -fno-profile can be used to disable -p.
4315
fbe5eb6d
BS
43162002-04-29 Bernd Schmidt <bernds@redhat.com>
4317
4318 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
4319 UV2DImode.
4320 * tree.c (build_common_tree_nodes_2): Likewise.
4321 * tree.h (enum tree_index): Likewise.
4322 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
4323
4324 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
4325 entries.
4326 (init_mmx_sse_builtins): Initialize SSE2 builtins.
4327 (ix86_expand_builtin): Add support for SSE2 builtins.
4328 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
4329 (VALID_SSE_REG_MODE): Use it.
4330 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
4331 (enum ix86_builtins): Add SSE2 builtins.
4332 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
4333 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
4334 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
4335 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
4336 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
4337 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
4338 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
4339 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
4340 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
4341 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
4342 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
4343 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
4344 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
4345 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
4346 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
4347 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
4348 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
4349 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
4350 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
4351 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
4352 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
4353 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
4354 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
4355 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
4356 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
4357 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
4358 lfence_insn): New patterns.
4359 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
4360 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
4361
44aefada
JH
4362Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
4363
4364 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
4365
d5482cdc
GP
43662002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4367
4368 * doc/contrib.texi (Contributors): Add Paolo Carlini and
4369 Janis Johnson.
4370 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
4371 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
4372 and CPU instead of cpu.
4373
2c4b77f3
JH
4374Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
4375
4376 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
4377 variables.
4378 (lang_independent_options): Add -fif-conversion, -fif-conversion2
4379 (rest_of_compilation): Do if conversion only when asked for.
4380 (parse_options_and_default_flags): Set new variables to 1 for -O1
4381 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
4382
3de72741
JH
4383Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
4384
4385 * i386.c (dbx64_register_map): Fix typo.
4386
8aa18a7d
JH
4387Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
4388
4389 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
4390 real_one_half, real_bb_freq_max): New static variables.
4391 (debug_profile_bbauxs): Kill.
4392 (process_note_predictions): Kill unused variable.
4393 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
4394 volatile double.
4395 (propagate_freq): Use REAL_ARITHMETICS.
4396 (estimate_bb_frequencies): Likevise; init new static variables.
4397 * Makefile.in (predict.o): Add dependency on real.h
4398
1bbad4c6
DM
43992002-04-28 David S. Miller <davem@redhat.com>
4400
4401 PR target/6500
4402 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
4403 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
4404 several {reads,writes} instead.
4405 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
4406 Define.
4407
3ef3f384
DM
44082002-04-27 David S. Miller <davem@redhat.com>
4409
4410 PR target/6494
4411 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
4412 of the stack bias.
4413
4414 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
4415 including signal.h and sys/ucontext.h, not needed.
4416
ec493bcb
HPN
44172002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
4418
4419 * varasm.c (output_constant_def): Correct test for not calling
4420 ENCODE_SECTION_INFO for INTEGER_CST.
4421
60284a59
NB
44222002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
4423
4424 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
4425 keep most cases as function eval_token.
4426 (eval_token): New function.
4427 (_cpp_parse_expr): Read token here for improved diagnostics.
4428 Don't use op_as_text. Detect bad ':' here.
4429 (reduce): Don't detect bad ':' here.
4430 (op_as_text): Remove.
4431 * cpphash.h (_cpp_test_assertion): Change prototype.
4432 * cpplib.c (_cpp_test_assertion): Change prototype.
4433
349a4b40
RH
44342002-04-28 Richard Henderson <rth@redhat.com>
4435
4436 PR c/5154
8998d5bf 4437 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
4438 (ggc_mark_rtx_children): New.
4439
7a03f82f
JJ
44402002-04-28 Jakub Jelinek <jakub@redhat.com>
4441
4442 PR target/6496
4443 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
4444 after call peepholes for UltraSPARC.
4445 (call + jump 64-bit peepholes): Remove.
4446
80103f96
FS
44472002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4448
4449 PR c/6497
4450 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
4451 result as temporary value.
4452
06990986
JJ
44532002-04-28 Jakub Jelinek <jakub@redhat.com>
4454
4455 PR c++/6396
4456 * toplev.c (rest_of_compilation): Only run regrename and copy
4457 propagation if optimizing.
4458
a20fd5ac
JJ
44592002-04-28 Jakub Jelinek <jakub@redhat.com>
4460
4461 PR optimization/6475
4462 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
4463 register of REGNO_DECL (i).
4464 * Makefile.in (reload1.o): Add $(TREE_H).
4465
87ed109f
NB
44662002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
4467
4468 * cppexp.c (lex): Update to use state.skip_eval.
4469 (struct op): Remove prio and flags members.
4470 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
4471 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
4472 (LEFT_ASSOC): New macro.
4473 (optab): New table of operator priorities and flags.
4474 (SHIFT): Update.
4475 (_cpp_parse_expr): Clean up logic. Return bool. Use a
4476 malloc-ed parser stack.
4477 (reduce): New; reduce the operator stack.
4478 (_cpp_expand_op_stack): Expand the operator stack as necessary.
4479 * cpphash.h (struct op): Predeclare.
4480 (struct cpp_reader): New members op_stack, op_limit.
4481 (struct lexer_state): New member skip_eval.
4482 (_cpp_parse_expr): Update.
4483 (_cpp_expand_op_stack): New.
4484 * cpplib.c (do_if): Update.
4485 * cppinit.c (cpp_create_reader): Create op stack.
4486 (cpp_destroy): And destroy it.
4487 * cpplib.h (CPP_LAST_CPP_OP): Correct.
4488 (TTYPE_TABLE): Correct.
4489
45806a3f
FS
44902002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4491
4492 PR c/6343
4493 * c-decl.c (duplicate_decls): Call merge_weak.
4494 * c-pragma.c (apply_pragma_weak): Warn about misuse.
4495 * output.h (merge_weak): Prototype merge_weak.
4496 * varasm.c (merge_weak): New function.
4497 (declare_weak): Make sure we don't give an error on VAR_DECLs.
4498 Mark RTL with SYMBOL_REF_WEAK.
4499
a6227154
KG
45002002-04-27 Kurt Garloff <garloff@suse.de>
4501
4502 * tree-inline.c (inlinable_function_p): Improve heuristics
4503 by using a smoother function to cut down allowable inlinable size.
4504 * param.def: Add parameters max-inline-insns-single,
4505 max-inline-slope, min-inline-insns that determine the exact
4506 shape of the above function.
4507 * param.h: Likewise.
4508
94a50397
RH
45092002-04-26 Richard Henderson <rth@redhat.com>
4510
4511 * c-parse.in (malloced_yyss, malloced_yyvs): New.
4512 (yyoverflow): Re-add. Set them.
4513 (free_parser_stacks): New.
4514 * c-common.h: Declare it.
4515 * c-lex.c (c_common_parse_file): Call it.
4516
9c0a0632
RH
45172002-04-26 Richard Henderson <rth@redhat.com>
4518
4519 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
4520 for fallthru search.
4521
b875d2ee
EC
45222002-04-26 Eric Christopher <echristo@redhat.com>
4523
4524 PR optimization/3700
4525 * config/mips/mips.c (mips_issue_rate): Define. New function.
4526 (TARGET_SCHED_ISSUE_RATE): Use.
4527
1db828df
DM
45282002-04-25 David S. Miller <davem@redhat.com>
4529
4530 PR target/6422
4531 * reorg.c (optimize_skip): Do not allow exception causing
4532 instructions to be considered for delay slots.
4533 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
4534 (relax_delay_slots): Do not try to consider exception causing
4535 instructions as redundant.
4536
ae5d234e
RH
45372002-04-26 Richard Henderson <rth@redhat.com>
4538
4539 PR c/5225
4540 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
4541
7d793e9b
MM
45422002-04-26 Mark Mitchell <mark@codesourcery.com>
4543
4544 PR bootstrap/6445
4545 * config/i386/i386.md (untyped_call): Return the value in a float
4546 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
4547 TARGET_80387.
4548
b13ab42c
AO
45492002-04-26 Alexandre Oliva <aoliva@redhat.com>
4550
4551 * tree.c (tree_int_cst_lt): Compare constants whose types differ
4552 in unsigned-ness correctly.
4553
5e56f909
JDA
45542002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
4555
4556 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
4557 portable runtime model.
4558
bde3c0c0
RH
45592002-04-26 Richard Henderson <rth@redhat.com>
4560
a6227154 4561 * c-parse.in (yyoverflow): Revert.
bde3c0c0 4562
5276df18
DE
45632002-04-26 David Edelsohn <edelsohn@gnu.org>
4564 Richard Henderson <rth@redhat.com>
4565
4566 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
4567 result as temporary value.
4568
b84a3874
RH
45692002-04-26 Richard Henderson <rth@redhat.com>
4570
4571 PR c/3581
4572 * c-common.c (fix_string_type): Split out of ...
4573 (combine_strings): ... here. Take a varray, not a tree list.
4574 (c_expand_builtin_printf): Use fix_string_type.
4575 * c-common.h: Update decls.
4576 * c-parse.in (string): Remove. Update all uses to use STRING
4577 instead, and not call combine_strings.
4578 (yylexstring): New.
4579 (_yylex): Use it.
4580 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
4581 (build_asm_stmt): Likewise.
4582 * objc/objc-act.c (my_build_string): Use fix_string_type.
4583 (build_objc_string_object): Build varray for combine_strings.
4584
d8ae8cd4
BT
45852002-04-26 Bo Thorsen <bo@suse.co.uk>
4586
4587 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
4588 x86-64.
4589
f8b954fc
NB
45902002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
4591
4592 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
4593 (HAVE_NO_R_OPERAND): Remove.
4594 (HAVE_VALUE): Remove.
4595 (op_to_prio): Update.
4596 (UNARY): Don't alter flags.
4597 (_cpp_parse_expr): want_value used to indicate whether
4598 a number or unary operator is expected next. Distinguish
4599 unary and binary +/-.
4600 (op_as_text): Update for unary operators.
4601
6052bef0
RH
46022002-04-25 Richard Henderson <rth@redhat.com>
4603
4604 PR c/2161
4605 * c-parse.in (yyoverflow): New.
4606
5c5b2283
RH
46072002-04-25 Richard Henderson <rth@redhat.com>
4608
4609 PR c/2098
4610 * c-common.c (shorten_compare): Simplfy conditions leading to
4611 the generation of a warning.
4612
28ce94d4
RH
46132002-04-25 Richard Henderson <rth@redhat.com>
4614
4615 PR c/2035
4616 * expmed.c (extract_bit_field): Fall through to generic code rather
4617 than aborting on subreg special case.
4618
6bfd0c63
DM
46192002-04-25 David S. Miller <davem@redhat.com>
4620
4621 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
4622 for DECL being NULL.
4623
7a430e3b
SC
46242002-04-25 Steve Christiansen <smc@us.ibm.com>
4625
4626 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
4627
45c42d7d
EB
46282002-04-25 Eric Botcazou <ebotcazou@multimania.com>
4629
4630 * c-decl.c (grokdeclarator): Remove outdated ??? note
4631 on invalid declaration of flexible array members.
4632
eb7715a4
RH
46332002-04-25 Richard Henderson <rth@redhat.com>
4634
4635 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
4636
cf5ee720
UW
46372002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
4638
4639 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
4640 needed by the compiler, even if they are used as global regs.
4641
d604bca3
MH
46422002-04-25 Matt Hiller <hiller@redhat.com>
4643
4644 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
4645 functions.
4646 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
4647 of the corresponding functions.
4648 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
4649 New prototypes.
b875d2ee 4650
d604bca3
MH
46512002-04-25 Matt Hiller <hiller@redhat.com>
4652
4653 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
4654
4655 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
4656 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
4657 registers, adjust comment accordingly.
4658 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
4659 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
4660 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
4661 for coprocessor registers.
4662 (ADDITIONAL_REGISTER_NAMES): Include
4663 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 4664
d604bca3
MH
4665 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
4666 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
4667 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
4668 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
4669 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
4670
4671 (mips_char_to_class): Adjust comment to include coprocessor
4672 constraint letters.
4673
4674 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
4675 New functions.
4676 (mips_reg_names, mips_regno_to_class): Include coprocessor
4677 information.
4678 (mips_sw_reg_names): Ditto, make non-static.
4679 (mips_move_1word): Handle moves to and from coprocessor registers.
4680 (mips_move_2words): Handle moves to and from coprocessor
4681 registers.
4682 (mips_class_max_nregs, mips_register_move_cost): Handle
4683 coprocessor register classes.
4684 (override_options): Initialize mips_char_to_class and
4685 mips_hard_regno_mode_ok properly for coprocessor registers.
4686
4687 * config/mips/mips.md (movdi_internal, movdi_internal2,
4688 movsi_internal1, movsi_internal2): Add constraint-sets for
4689 coprocessor registers.
4690 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
4691 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
4692 isn't mips.
4693 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
4694 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
4695 isn't mips.
4696 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
4697 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
4698 isn't mips.
4699 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
4700 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
4701 isn't mips.
b875d2ee 4702
d604bca3
MH
4703 * doc/tm.texi: Document feature.
4704
b9a26d09
NB
47052002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
4706
4707 * integrate.c (function_attribute_inlinable_p): Simplify.
4708 Check the table pointer is not NULL.
4709
ab5973b7
SB
47102002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
4711
4712 * doc/c-tree.texi: Fix typo in introduction.
4713
ff45c01e
NB
47142002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
4715
4716 * c-common.h (c_common_parse_file): Update.
4717 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
4718 * c-lex.c (YYDEBUG): Get from c-lex.h.
4719 (c_common_parse_file): Update.
4720 * c-lex.h (YYDEBUG, yydebug): New.
4721 * c-parse.in (YYDEBUG): Get from c-lex.h.
4722 (c_set_yydebug): Remove.
4723 * c-tree.h (c_set_yydebug): Remove.
4724 * langhooks-def.h (lhd_do_nothing_i): New.
4725 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
4726 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
4727 * langhooks.c (lhd_do_nothing_i): New.
4728 (lhd_set_yydebug): Remove.
4729 * langhooks.h (struct lang_hooks): Update.
4730 * toplev.c (set_yydebug): New.
4731 (compile_file): Update call to parse_file hook.
4732 (decode_d_option): Update.
4733objc:
4734 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
4735
fcae219a
R
4736Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
4737
4738 * loop.c (load_mems): Don't change the interface of called functions.
4739
4740 * calls.c (expand_call): Take current_function_pretend_args_size
4741 into account when setting argblock for sibcalls.
4742
d0fea45a
MH
47432002-04-24 Matt Hiller <hiller@redhat.com>
4744
4745 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
4746 * c-lex.c: Ditto.
4747
4748 * cpplex.c (skip_line_comment): Process comment one multibyte
4749 character at a time rather than one char at a time, if
4750 appropriate.
4751 (parse_string): Process string one multibyte character at a time
4752 rather than one char at a time, if appropriate.
4753 * c-lex.c (lex_string): Lex and copy multibyte strings
4754 appropriately.
4755 * cpplib.h (cppchar_t): Change to unsigned.
4756
2d1b5436
RH
47572002-04-24 Richard Henderson <rth@redhat.com>
4758
4759 PR c/3467
4760 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
4761 for c99.
4762
5e039e6b
R
4763Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
4764
4765 * sh.c (sh_va_arg): If argument was passed by reference,
4766 dereference the pointer.
309d8365
R
4767
4768 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
4769
4770 * sh.md (divsi3_i4_media): Use match_operand for input values
4771 rather than hard registers.
4772 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
4773 unnecessarily through hard registers. Keep copies of pseudo
4774 registers outside of the libcall sequence.
4775
4776 * sh.md (casesi_shift_media): Add modes.
b700634a
R
4777
4778 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
4779 values in memory.
4780
349ae713
NB
47812002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
4782
4783 * attribs.c (c_common_attribute_table): Move table and handlers
4784 to c-common.c.
4785 (format_attribute_table, lang_attribute_table,
4786 lang_attribute_common): Remove.
4787 (init_attributes): Replace NULL pointers with pointers to the
4788 empty table.
4789 (handle_packed_attribute, handle_nocommon_attribute,
4790 handle_common_attribute, handle_noreturn_attribute,
4791 handle_noinline_attribute, handle_always_inline_attribute,
4792 handle_used_attribute, handle_unused_attribute,
4793 handle_const_attribute, handle_transparent_union_attribute,
4794 handle_constructor_attribute, handle_destructor_attribute,
4795 handle_mode_attribute, handle_section_attribute,
4796 handle_aligned_attribute, handle_weak_attribute,
4797 handle_alias_attribute, handle_visibility_attribute,
4798 handle_no_instrument_function_attribute, handle_malloc_attribute,
4799 handle_no_limit_stack_attribute, handle_pure_attribute,
4800 handle_deprecated_attribute, handle_vector_size_attribute,
4801 vector_size_helper): Move to c-common.c.
4802 * c-common.c (c_common_attribute_table,
4803 handle_packed_attribute, handle_nocommon_attribute,
4804 handle_common_attribute, handle_noreturn_attribute,
4805 handle_noinline_attribute, handle_always_inline_attribute,
4806 handle_used_attribute, handle_unused_attribute,
4807 handle_const_attribute, handle_transparent_union_attribute,
4808 handle_constructor_attribute, handle_destructor_attribute,
4809 handle_mode_attribute, handle_section_attribute,
4810 handle_aligned_attribute, handle_weak_attribute,
4811 handle_alias_attribute, handle_visibility_attribute,
4812 handle_no_instrument_function_attribute, handle_malloc_attribute,
4813 handle_no_limit_stack_attribute, handle_pure_attribute,
4814 handle_deprecated_attribute, handle_vector_size_attribute,
4815 vector_size_helper): Move from attribs.c.
4816 * c-common.h (c_common_attribute_table,
4817 c_common_format_attribute_table): New.
4818 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
4819 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
4820 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
4821 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
4822 (LANG_HOOKS_INITIALIZER): Update.
4823 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
4824 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
4825 * target.h: Update comment.
4826 * tree.c (default_target_attribute_table): Remove.
4827 * tree.h (default_target_attribute_table, format_attribute_table,
4828 lang_attribute_table, lang_attribute_common): Remove.
4829objc:
4830 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
4831 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
4832
84f0ace0
JM
48332002-04-24 Jason Merrill <jason@redhat.com>
4834
4835 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
4836 * dwarf2out.c (dwarf_attr_name): Support it.
4837 (gen_array_type_die): Emit it.
4838 (lookup_type_die): No special handling for VECTOR_TYPE.
4839 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
4840
120eaf28
RH
48412002-04-24 Richard Henderson <rth@redhat.com>
4842
4843 * config/mips/mips.md (movdi_usd): Renumber.
4844
e732178c
DM
48452002-04-24 David S. Miller <davem@redhat.com>
4846
4847 PR target/6420
4848 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
4849 32-bit Sparc and current_function_returns_struct is true.
4850
e879eb2f
JH
4851Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
4852
4853 * loop.c (canonicalize_condition): Use gen_int_mode.
4854
4287a893
AH
48552002-04-24 Aldy Hernandez <aldyh@redhat.com>
4856
4857 * config/rs6000/altivec.h: Cleanup file. Add non individual
4858 variants.
4859 (vec_vaddubm): New.
4860 (vec_vadduhm): New.
4861 (vec_vadduwm): New.
4862 (vec_vaddfp): New.
4863 (vec_vaddcuw): New.
4864 (vec_vaddubs): New.
4865 (vec_vaddsbs): New.
4866 (vec_vadduhs): New.
4867 (vec_vadduws): New.
4868 (vec_vaddsws): New.
4869 (vec_vand): New.
4870 (vec_vandc): New.
4871 (vec_vavgub): New.
4872 (vec_vavgsb): New.
4873 (vec_vavguh): New.
4874 (vec_vavgsh): New.
4875 (vec_vavguw): New.
4876 (vec_vavgsw): New.
4877 (vec_vrfip): New.
4878 (vec_vcmpbfp): New.
4879 (vec_vcmpequb): New.
4880 (vec_vcmpequh): New.
4881 (vec_vcmpequw): New.
4882 (vec_vcmpeqfp): New.
4883 (vec_vcmpgefp): New.
4884 (vec_vcmpgtub): New.
4885 (vec_vcmpgtsb): New.
4886 (vec_vcmpgtuh): New.
4887 (vec_vcmpgtsh): New.
4888 (vec_vcmpgtuw): New.
4889 (vec_vcmpgtsw): New.
4890 (vec_vcmpgtfp): New.
4891 (vec_vcmpgefp): New.
4892 (vec_vcfux): New.
4893 (vec_vcfsx): New.
4894 (vec_vctsxs): New.
4895 (vec_vctuxs): New.
4896 (vec_vexptefp): New.
4897 (vec_vrfim): New.
4898 (vec_lvx): New.
4899 (vec_lvebx): New.
4900 (vec_lvehx): New.
4901 (vec_lde): Add vector float variant.
4902 (vec_lvewx): New.
4903 (vec_lvxl): New.
4904 (vec_vlogefp): New.
4905 (vec_vmaddfp): New.
4906 (vec_vmhaddshs): New.
4907 (vec_vmaxub): New.
4908 (vec_vmaxsb): New.
4909 (vec_vmaxuh): New.
4910 (vec_vmaxsh): New.
4911 (vec_vmaxuw): New.
4912 (vec_vmaxsw): New.
4913 (vec_vmaxsw): New.
4914 (vec_vmaxfp): New.
4915 (vec_vmrghb): New.
4916 (vec_vmrghh): New.
4917 (vec_vmrghw): New.
4918 (vec_vmrglb): New.
4919 (vec_vmrglh): New.
4920 (vec_vmrglw): New.
4921 (vec_vminub): New.
4922 (vec_vminsb): New.
4923 (vec_vminuh): New.
4924 (vec_vminsh): New.
4925 (vec_vminuw): New.
4926 (vec_vminsw): New.
4927 (vec_vminfp): New.
4928 (vec_vmladduhm): New.
4929 (vec_vmhraddshs): New.
4930 (vec_msumubm): New.
4931 (vec_vmsummbm): New.
4932 (vec_vmsumuhm): New.
4933 (vec_vmsumshm): New.
4934 (vec_vmsumuhs): New.
4935 (vec_vmsumshs): New.
4936 (vec_vmuleub): New.
4937 (vec_vmulesb): New.
4938 (vec_vmuleuh): New.
4939 (vec_vmulesh): New.
4940 (vec_vmuloub): New.
4941 (vec_mulosb): New.
4942 (vec_vmulouh): New.
4943 (vec_vmulosh): New.
4944 (vec_vnmsubfp): New.
4945 (vec_vnor): New.
4946 (vec_vor): New.
4947 (vec_vpkuhum): New.
4948 (vec_vpkuwum): New.
4949 (vec_vpkpx): New.
4950 (vec_vpkuhus): New.
4951 (vec_vpkshss): New.
4952 (vec_vpkuwus): New.
4953 (vec_vpkswss): New.
4954 (vec_vpkshus): New.
4955 (vec_vpkswus): New.
4956 (vec_vperm): New.
4957 (vec_vrefp): New.
4958 (vec_vrlb): New.
4959 (vec_vrlh): New.
4960 (vec_vrlw): New.
4961 (vec_vrfin): New.
4962 (vec_vrsqrtefp): New.
4963 (vec_vsel): New.
4964 (vec_vslb): New.
4965 (vec_vslh): New.
4966 (vec_vslw): New.
4967 (vec_vsldoi): New.
4968 (vec_vsl): New.
4969 (vec_vslo): New.
4970 (vec_vspltb): New.
4971 (vec_vsplth): New.
4972 (vec_vspltw): New.
4973 (vec_vspltisb): New.
4974 (vec_vspltish): New.
4975 (vec_vspltisw): New.
4976 (vec_vsrb): New.
4977 (vec_vsrh): New.
4978 (vec_vsrw): New.
4979 (vec_vsrab): New.
4980 (vec_vsrah): New.
4981 (vec_vsraw): New.
4982 (vec_vsr): New.
4983 (vec_vsro): New.
4984 (vec_stvx): New.
4985 (vec_stvebx): New.
4986 (vec_stvehx): New.
4987 (vec_stvewx): New.
4988 (vec_stvxl): New.
4989 (vec_vsububm): New.
4990 (vec_vsubuhm): New.
4991 (vec_vsubuwm): New.
4992 (vec_vsubfp): New.
4993 (vec_vsubcuw): New.
4994 (vec_vsububs): New.
4995 (vec_vsubsbs): New.
4996 (vec_vsubuhs): New.
4997 (vec_vsubshs): New.
4998 (vec_vsubuws): New.
4999 (vec_vsubsws): New.
5000 (vec_vsum4ubs): New.
5001 (vec_vsum4sbs): New.
5002 (vec_vsum4shs): New.
5003 (vec_vsum2sws): New.
5004 (vec_vsumsws): New.
5005 (vec_vrfiz): New.
5006 (vec_vupkhsb): New.
5007 (vec_vupkhpx): New.
5008 (vec_vupkhsh): New.
5009 (vec_vupklsb): New.
5010 (vec_vupklpx): New.
5011 (vec_vupklsh): New.
5012 (vec_vxor): New.
5013
cff27795
EB
50142002-04-23 Eric Botcazou <ebotcazou@multimania.com>
5015
5016 PR c/5430
5017 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
5018 added literals from substracted literals.
5019 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
5020 (fold) [associate]: Preserve MINUS_EXPR if needed.
5021
952bca84
ZW
50222002-04-23 Zack Weinberg <zack@codesourcery.com>
5023
5024 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
5025 are obsoleted.
5026
50cb2154
TT
50272002-04-23 Tom Tromey <tromey@redhat.com>
5028
5029 * gcc.c: Added --resource. For PR java/6314.
5030
271f61fb
DB
50312002-04-23 David O'Brien <obrien@FreeBSD.org>
5032
9566d1e9 5033 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
5034 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
5035 these libraries.
5036
bdabbc80
DB
50372002-04-23 David O'Brien <obrien@FreeBSD.org>
5038
5039 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
5040
74411039
JH
5041Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
5042
5043 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
5044 workaround.
5045 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
5046 (ix86_expand_clrstr): Fix typo.
5047 * loop.c (gen_load_of_final_value): New.
5048 (loop_givs_rescan, strength_reduce, check_dbra_loop):
5049 Use it.
5050
1a887f86
RS
50512002-04-23 Roger Sayle <roger@eyesopen.com>
5052
5053 * builtins.c (builtin_memset_gen_str): New function.
5054 (expand_builtin_memset): Optimize the case of constant length, but
5055 unknown value.
5056
8d3441e0
AH
50572002-04-23 Aldy Hernandez <aldyh@redhat.com>
5058
cff27795
EB
5059 * config/rs6000/altivec.h (vec_step): Remove extraneous
5060 parentheses.
5061 (vec_ctu): Cast return.
8d3441e0 5062
f6f315fe
AM
50632002-04-23 Alan Modra <amodra@bigpond.net.au>
5064
5065 PR target/6413
5066 * function.h: (struct function): Add profile_label_no field.
5067 (current_function_profile_label_no): Define.
5068 * function.c: (profile_label_no): New static var.
5069 (expand_function_start): Increment it, and copy to
5070 current_function_profile_label_no.
5071 * output.h (profile_label_no): Delete.
5072 * final.c (profile_label_no): Delete.
5073 (profile_function): Use current_function_profile_label_no.
5074 (final_end_function): Don't increment profile_label_no here.
5075 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
5076 profile_label_no with current_function_profile_label_no.
5077 * config/pa/pa.c (current_function_number): Delete.
5078 (pa_output_function_prologue): Don't output profile label here.
5079 (hppa_profile_hook): Use label_no param rather than
5080 current_function_number.
5081 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
5082 * config/pa/pa.h: .. here.
5083 (FUNCTION_PROFILER): Output profile label here.
5084
d239cdc0
EC
50852002-04-22 Eric Christopher <echristo@redhat.com>
5086
5087 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
5088 patch of 2002-04-09 due to binutils issues.
5089 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
5090
04428ad4
AH
50912002-04-22 Aldy Hernandez <aldyh@redhat.com>
5092
cff27795
EB
5093 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
5094 constraint to 'o' for m=r and r=m alternatives.
5095 ("*movv8hi_internal1"): Same.
5096 ("*movv16qi_internal1"): Same.
5097 ("*movv4sf_internal1"): Same.
04428ad4 5098
2adc7f12
JJ
50992002-04-22 Janis Johnson <janis187@us.ibm.com>
5100
5101 * rtl.h (RTX_FLAG): New macro.
5102 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
5103 * final.c (alter_subreg): Use macro to access rtx flag.
5104 * integrate.c (copy_rtx_and_substitute): Use new access macro.
5105 * print-rtl.c (print_rtx): Use new access macro.
5106
5107 * cse.c (insert): Check rtx code before accessing flag.
5108
5109 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
5110 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
5111 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
5112 convert_const_symbol_ref, make_canonical, make_alternative_compare,
5113 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
5114 simplify_test_exp, optimize_attrs, simplify_by_exploding,
5115 find_and_mark_used_attributes, unmark_used_attributes,
5116 add_values_to_cover, simplify_with_current_value,
5117 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
5118 copy_rtx_unchanging, main): Use new access macros.
5119
b7c89afe
TR
51202002-04-22 Tom Rix <trix@redhat.com>
5121
5122 * expmed.c (init_expmed): Generate shifted constant once.
5123
9340544b
ZW
51242002-04-22 Zack Weinberg <zack@codesourcery.com>
5125
5126 * c-lex.c (lex_charconst): Call convert to get constant in
5127 proper type; don't just smash the type field.
5128 Fixes PR c/6300.
5129
5130 * config.gcc: Add list of obsolete configurations. Disallow
5131 building these without --enable-obsolete.
5132 * doc/install.texi: Document --enable-obsolete and obsoletion
5133 policy. Mention obsoletion of individual targets in
5134 appropriate places.
5135
f942d7a5
RH
51362002-04-22 Richard Henderson <rth@redhat.com>
5137
5138 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
5139
51402002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
5141
5142 PR f/6138.
5143 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
5144 (walk_fixup_memory_subreg): Likewise.
5145 (fixup_var_refs_insn): Adjust accordingly.
5146 (fixup_var_refs_1): Likewise.
5147
232b0b45
UW
51482002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
5149
5150 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
5151 LIBPATH_ARCH64_SPEC): Define.
5152 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
5153 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
5154 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
5155 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
5156
1b61552b
JS
51572002-04-22 Joel Sherrill <joel@OARcorp.com>
5158
5159 * gthr-rtems.h: Correct prototypes to remove warnings.
5160
0fe854a7
RH
51612002-04-22 Richard Henderson <rth@redhat.com>
5162
5163 PR c/6344
5164 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
5165
5166 * gcse.c (free_insn_expr_list_list): New.
5167 (clear_modify_mem_tables): Use it. Fix bit set usage.
5168 (canon_list_insert): Use EXPR_LISTs for expressions.
5169 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
5170
af0d16cd
NB
51712002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
5172
5173 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
5174 file change and include code to _cpp_pop_buffer.
5175 * cpphash.h (struct pending_option): Predeclare.
5176 (struct cpp_reader): New member next_include_file.
5177 (_cpp_pop_file_buffer): Update.
5178 (_cpp_push_next_buffer): Update, rename.
5179 * cppinit.c (cpp_destroy): Free include chain and pending here.
5180 (cpp_finish_options): Simplify.
5181 (_cpp_push_next_buffer): Rename and clean up.
5182 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
5183 Clarify.
5184 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
5185
0d918572
AH
51862002-04-22 Aldy Hernandez <aldyh@redhat.com>
5187
0fe854a7
RH
5188 * config/rs6000/altivec.h (vec_xor): Add variant for both args
5189 being vector signed int.
5190 (vec_andc): Same.
5191 (vec_xor): Add variant for both args being vector signed char.
5192 Remove redundant variant.
5193 (vec_andc): Same.
0d918572 5194
77e2c290
DM
51952002-04-21 David S. Miller <davem@redhat.com>
5196
5197 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
5198 compare mode in output RTL.
5199
ee2ca2a2
DE
52002002-04-22 David Edelsohn <edelsohn@gnu.org>
5201
5202 * config/rs6000/rs6000.c (rs6000_override_options): Correct
5203 style and formatting of previous patch.
5204
894bdff6
AM
52052002-04-22 Alan Modra <amodra@bigpond.net.au>
5206
5207 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
5208 flag_pic for ABI_AIX.
5209
562a5c27
NB
52102002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
5211
5212 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
5213 * cppfiles.c (read_include_file): Similarly.
5214 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
5215 uxstrdup ustrchr, ufputs): Similarly.
5216 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
5217 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
5218 cpp_ideq, parse_identifier, parse_number): Similarly.
5219 * cpplib.c (struct directive, dequote_string, D, run_directive,
5220 cpp_push_buffer): Similarly.
5221 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
5222 _cpp_create_definition, check_trad_stringification,
5223 cpp_macro_definition): Similarly.
5224
9ac3b1be
NB
52252002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
5226
5227 * cppmacro.c (funlike_invocation_p): Don't step back
5228 over CPP_EOF.
5229
9dda4cc8
DE
52302002-04-21 David Edelsohn <edelsohn@gnu.org>
5231
5232 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
5233 labelno.
5234
20764052
JM
52352002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
5236
5237 * doc/invoke.texi: Remove Chill references.
5238 * doc/gcc.texi: Update last modified date.
5239
26b29884
KH
52402002-04-20 Kazu Hirata <kazu@hxi.com>
5241
5242 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
5243 push and pop. Replace add.l with add.w.
5244
59184677
TM
52452002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
5246
5247 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
5248 multiply instructions for H8/300H case.
5249
b1113e0a
TM
52502002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
5251
5252 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
5253 Bum three instructions from each routine.
5254
b03e38e1
NB
52552002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
5256
5257 * Makefile.in: Update.
5258 * decl.c (push_c_function_context, pop_c_function_context,
5259 mark_c_function_context): Rename for consistency.
5260 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
5261 * c-tree.h (push_c_function_context, pop_c_function_context,
5262 mark_c_function_context): Rename for consistency.
5263 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
5264 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
5265 * function.c (init_lang_status, save_lang_status,
5266 restore_lang_status, mark_lang_status, free_lang_status):
5267 Move to langhooks.h.
5268 (push_function_context_to, pop_function_context_from,
5269 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
5270 Update.
5271 * function.h (init_lang_status, save_lang_status,
5272 restore_lang_status, mark_lang_status, free_lang_status):
5273 Move to langhooks.h.
5274 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
5275 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
5276 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
5277 LANG_HOOKS_FUNCTION_INITIALIZER): New.
5278 (LANG_HOOKS_INITIALIZER): Update.
5279 (lhd_do_nothing_f): New.
5280 * langhooks.h (struct lang_hooks_for_functions): New.
5281 (struct lang_hooks): New hooks.
5282 * langhooks.c (lhd_do_nothing_f): New.
5283objc:
5284 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
5285 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
5286
db430d26
DM
52872002-04-19 David S. Miller <davem@redhat.com>
5288
5289 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
5290 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
5291
0f2a3457
JJ
52922002-04-19 Jakub Jelinek <jakub@redhat.com>
5293
5294 PR optimization/3756
5295 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
5296 x = ((int) y < 0) ? cst1 : cst2.
5297
ce5e43d0
JJ
52982002-04-19 Jakub Jelinek <jakub@redhat.com>
5299
5300 PR c/6358
5301 * function.c: Reapply patch for c/6358.
5302 (expand_function_end): Copy decl_rtl's mode, not
5303 current_function_return_rtx mode.
5304
53052002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
5306
5307 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
5308 targets.
5309
40e7f8ea
TT
53102002-04-19 Tom Tromey <tromey@redhat.com>
5311
5312 * doc/install.texi (Specific): Update status of Solaris 2.8.
5313 For PR libgcj/6158.
5314
62a12b27
AS
53152002-04-19 Andreas Schwab <schwab@suse.de>
5316
5317 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
5318 (PUT_REAL): Restore old definition.
5319
1405141b
DN
53202002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
5321 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5322
5323 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
5324 binutils 2.11.2 and higher generate smaller binaries than Sun's
5325 native tools.
5326
303a3927
MM
53272002-04-19 Mark Mitchell <mark@codesourcery.com>
5328
5329 PR c++/6352
5330 * toplev.c (rest_of_compilation): Do not defer functions for which
5331 TREE_SYMBOL_REFERENCED has already been set.
5332
de80110b
JH
5333Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
5334
5335 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
5336 alternative.
5337
ab393bf1
NB
53382002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
5339
5340 * builtins.c: Include langhooks.h.
5341 (lang_type_promotes_to): Remove.
5342 (expand_builtin_va_arg): Use new hook.
5343 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
5344 (simple_type_promotes_to): Move to c-typeck.c.
5345 * c-common.h (simple_type_promotes_to): Remove.
5346 * c-decl.c (duplicate_decls, grokdeclarator): Update.
5347 * c-format.c: Include langhooks.h.
5348 (check_format_types): Update.
5349 * c-tree.h (c_type_promotes_to): New.
5350 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
5351 (type_lists_compatible_p): Update.
5352 * langhooks-def.h (lhd_type_promotes_to): New.
5353 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
5354 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
5355 * langhooks.c (lhd_type_promotes_to): New.
5356 * langhooks.h (struct lang_hooks_for_types): New hook.
5357 * tree.h (lang_type_promotes_to): Remove.
5358objc:
5359 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
5360
0cd3301b
RH
53612002-04-18 Richard Henderson <rth@redhat.com>
5362
58533fa2 5363 * function.c: Revert patch for c/6358.
0cd3301b
RH
5364
53652002-04-18 Richard Henderson <rth@redhat.com>
5366
58533fa2
RH
5367 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
5368 blocks. Handle multiple references to the TRAP block. Handle
5369 non-adjacent THEN and OTHER blocks.
0cd3301b 5370
58533fa2
RH
53712002-04-18 Richard Henderson <rth@redhat.com>
5372
5373 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
5374 crash with no type for by-mode libcalls.
5375
5376 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 5377
57174693
BW
53782002-04-18 Bob Wilson <bob.wilson@acm.org>
5379
5380 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
5381 __xtensa_nonlocal_goto): Use a syscall instructions to flush
5382 the register windows.
5383
46468cd9
ZW
53842002-04-18 Zack Weinberg <zack@codesourcery.com>
5385
5386 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
5387 appropriate. Document need for extended precision even when
5388 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
5389 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
5390 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
5391 instead of relying on later syntax error when REAL_WIDTH > 5.
5392 * real.c: Define NE based only on whether or not we have a
5393 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
5394 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
5395 define GET_REAL and PUT_REAL as simple memcpy operations; no
5396 need to byteswap or round.
5397 Use #error instead of #ifdef-ing out the entire file, for
5398 prompt error detection.
5399
5400 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
5401
2f82dbf8
DM
54022002-04-18 David S. Miller <davem@redhat.com>
5403
5404 * config/sparc/sparc.h (BRANCH_COST): Define.
5405
5406 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
5407 does it.
5408
566576e7
HPN
54092002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
5410
5411 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
5412 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
5413 propagate_block calls after relaxation loop using new variable
5414 stabilized_prop_flags.
5415
51dcde6f
RH
54162002-04-18 Richard Henderson <rth@redhat.com>
5417
5418 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
5419 (ia64_va_arg): Expect variable sized types by reference.
5420 * config/ia64/ia64-protos.h: Update.
46468cd9 5421 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
5422 ia64_function_arg_pass_by_reference.
5423
26406018
RH
54242002-04-18 Richard Henderson <rth@redhat.com>
5425
46468cd9
ZW
5426 * ifcvt.c: Include except.h.
5427 (block_has_only_trap): Break out from find_cond_trap.
5428 (find_cond_trap): Use it. Always delete the trap block.
5429 (merge_if_block): Allow then block null. Be less simplistic about
5430 what insns can end a block.
5431 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 5432
26406018
RH
5433 * config/ia64/ia64.md (trap, conditional_trap): New.
5434
a3acf46d
JJ
54352002-04-18 Jakub Jelinek <jakub@redhat.com>
5436
5437 PR c/6358
5438 * function.c (assign_parms): Assign hard current_function_return_rtx
5439 register here...
5440 (expand_function_end): ...not here.
5441
7a228918
NB
54422002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
5443
5444 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
5445 * c-tree.h (c_incomplete_type_error): New.
5446 * c-typeck.c (require_complete_type, build_component_ref): Update.
5447 (incomplete_type_error): Rename.
5448 * langhooks-def.h (lhd_incomplete_type_error): New.
5449 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
5450 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
5451 * langhooks.c (lhd_incomplete_type_error): New.
5452 * langhooks.h (struct lang_hooks_for_types): New hook.
5453 * tree.c (size_in_bytes): Use new hook.
5454 * tree.h (incomplete_type_error): Remove.
5455objc:
5456 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
5457
f18664c1
ZW
54582002-04-18 Zack Weinberg <zack@codesourcery.com>
5459
5460 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
5461 TARGET_FLOAT_FORMAT blocks.
5462
8ecab453
GP
54632002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5464
5465 * doc/install.texi (Downloading the source): Do not mention Chill
5466 any longer, but mention Ada.
5467 (Configuration): Do not mention Chill any longer.
5468
528d8489
HPN
54692002-04-18 Hans-Peter Nilsson <hp@axis.com>
5470
5471 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
5472
91da27c5
JH
5473Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
5474
5475 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
5476 in last patch.
5477
a32db605
JJ
54782002-04-18 Jakub Jelinek <jakub@redhat.com>
5479
5480 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
5481 instead of unsigned_type.
5482
5a28d8cc
JH
5483Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
5484
5485 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
5486 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
5487 later.
5488
3d980b9f
BS
54892002-04-18 Bernd Schmidt <bernds@redhat.com>
5490
5491 * attribs.c (vector_type_node_list): New static variable.
5492 (handle_vector_size_attribute): Use it to avoid generating a
5493 new type node each time we are called.
5494
2e676d78
BS
5495 * combine.c (subst): Avoid trying to make a vector mode subreg of
5496 an integer constant.
5497 (gen_lowpart_for_combine): Likewise.
46468cd9 5498
58c2956c
RS
54992002-04-18 Roger Sayle <roger@eyesopen.com>
5500 Jakub Jelinek <jakub@redhat.com>
5501
5502 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
5503 for integer constant c (if x has unsigned type or sign bit is not
5504 set in c). This folds the zero/sign extension into the bit-wise and
5505 operation.
5506
692efa8e
JJ
55072002-04-18 Jakub Jelinek <jakub@redhat.com>
5508
5509 PR middle-end/6205
5510 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
5511 otherwise xorps.
5512
1372d4ce
NY
55132002-04-17 NIIBE Yutaka <gniibe@m17n.org>
5514
5515 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
5516
169ce44d
NC
55172002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
5518
5519 * gcc.c (read_specs): Detect and fail if an attempt is made to
5520 rename a spec string to an already existing string.
5521
b30d2115
UW
55222002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
5523
5524 * config/s390/s390.c (legitimize_pic_address): Do not generate
5525 illegal address constant without CONST.
5526
d6964c30
KG
55272002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5528
5529 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
5530 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
5531
7c82a1ed
UW
55322002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
5533
5534 PR optimization/6305
5535 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
5536 to make sure previous reloads are taken into account. Generate
5537 better code if one operand is an in-range immediate constant.
5538
58db9d1a
AH
55392002-04-16 Andrew Haley <aph@cambridge.redhat.com>
5540
5541 * doc/install.texi (Building): libgcj requires GNU make.
5542
2a732575
JJ
55432002-04-17 Jakub Jelinek <jakub@redhat.com>
5544
5545 PR bootstrap/6315
5546 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
5547 even if hard quad and register is not floating.
5548 (movtf reg<-mem split): Disallow splitting if hard quad and
5549 register is floating.
5550 (movtf mem<-reg split): Likewise.
5551 * config/sparc/sparc.c (fp_register_operand): New predicate.
5552 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
5553
75a65e46
ZW
55542002-04-17 Zack Weinberg <zack@codesourcery.com>
5555
5556 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
5557 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
5558 (unprotoize.o): Ditto. Build from protoize.c. Define
5559 UNPROTOIZE on command line.
5560 * protoize.c: Include cppdefault.h. Delete include_defaults.
5561 (in_system_include_dir): Use cpp_include_defaults (defined in
5562 cppdefault.o).
5563 * unprotoize.c: Delete file.
5564
650f0e97
AH
55652002-04-17 Aldy Hernandez <aldyh@redhat.com>
5566
46468cd9
ZW
5567 * config/rs6000/altivec.h (vec_ld): Add array variants.
5568 (vec_lde): Same.
5569 (vec_ldl): Same.
650f0e97 5570
71a0ab0c 55712002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 5572 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 5573
46468cd9
ZW
5574 * config/rs6000/altivec.h: Define __ALTIVEC__.
5575 (bool): New.
5576 (__pixel): New.
5577 (pixel): New.
5578 (vec_cfux): New.
5579 (vec_vmaddfp): New.
5580 (vec_vsldoi): New.
5581 Add parentheses to all macro arguments.
71a0ab0c 5582
ff2c46ac
RH
55832002-04-16 Richard Henderson <rth@redhat.com>
5584
5585 PR c++/6320
5586 * except.c (remove_eh_handler): Insert inner regions at beginning
5587 of sibling chain. Refactor expressions.
5588
f1ba94dd
RH
55892002-04-16 Richard Henderson <rth@redhat.com>
5590
f0871dfe
RH
5591 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
5592 * config/sparc/sol2-gas-bi.h: New file.
5593 * config.gcc (sparc*-solaris): Add it as needed.
5594 * configure.in (AS_SPARC64_FLAG): Remove check.
5595 * config.in, configure: Regenerate.
5596
5597 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
5598
55992002-04-16 Richard Henderson <rth@redhat.com>
5600
5601 * config/mips/mips.c (override_options): Don't override N32 for
5602 a 64-bit ISA.
409d3c60 5603
f1ba94dd
RH
5604 PR 6202
5605 * config/mips/mips.md (can_delay): Split out of existing define_delays.
5606 (HILO_delay): Set can_delay false.
5607
178c3eff
DJ
56082002-04-16 Dale Johannesen <dalej@apple.com>
5609
5610 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
5611 instruction addresses.
5612 (rs6000_output_function_epilogue): Likewise.
5613
7d6f6369
PC
56142002-04-16 Paolo Carlini <pcarlini@unitus.it>
5615
5616 * c-parse.in (poplevel, compstmt_start,
5617 compstmt_primary_start): Add ending ';', in accordance
5618 with POSIX.
5619
8947df0c
RH
56202002-04-16 Richard Henderson <rth@redhat.com>
5621
5622 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
5623 Adjust tm_file order to get TARGET_DEFAULT set properly.
5624 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
5625 * doc/install.texi (sparc-solaris): Update.
5626
3148ad6d
DJ
56272002-04-16 Dale Johannesen <dalej@apple.com>
5628
5629 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
5630 comparison operands do not match each other or if modes of
5631 conditions do not match result.
5632
014cb9b6 56332002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 5634
014cb9b6
HP
5635 PR target/6305
5636 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 5637 multiword register.
562a69be 5638
014cb9b6 56392002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 5640
8947df0c 5641 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 5642
a9772b60
JJ
56432002-04-16 Jakub Jelinek <jakub@redhat.com>
5644
5645 PR middle-end/6279
5646 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
5647
5648 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
5649
861829ed
RH
56502002-04-15 Richard Henderson <rth@redhat.com>
5651
5652 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
5653 call_really_used_regs too.
5654
bcf2fe9c
RH
56552002-04-15 Richard Henderson <rth@redhat.com>
5656
5657 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
5658
629111c7
DM
56592002-04-15 David S. Miller <davem@redhat.com>
5660
5661 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
5662 as being CLOBBERed.
5663
98ef3137
JJ
56642002-04-16 Jakub Jelinek <jakub@redhat.com>
5665
5666 PR c/6290
5667 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
5668 CONST_VECTOR is { 0, ... 0 }.
5669
0aa911c5
LR
56702002-04-15 Loren J. Rittle <ljrittle@acm.org>
5671
5672 * doc/install.texi (Installing GCC: Configuration): Clarify
5673 the only supported ways to configure gcc.
5674
83248d49 56752002-04-15 Roland McGrath <roland@frob.com>
46468cd9 5676
83248d49
RM
5677 * config.gcc (alpha*-*-gnu*): New target configuration.
5678 * config/alpha/gnu.h: New file for it.
5679 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
5680
b2123dc0
MM
56812002-04-16 Mark Mitchell <mark@codesourcery.com>
5682
5683 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
5684 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
5685 * tree.h (expand_start_stmt_expr): Update prototype.
5686 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
5687 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
5688 on the STMT_EXPR created for the inline function.
46468cd9 5689
8fe2d853
RH
56902002-04-15 Richard Henderson <rth@redhat.com>
5691
5692 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
5693 config/i386/linux-aout.h, config/i386/linux-oldld.h,
5694 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
5695 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
5696 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
5697 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
5698 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
5699 Define __gnu_linux__, not gnu_linux.
5700 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
5701
07cdae91
MM
57022002-04-15 Mark Mitchell <mark@codesourcery.com>
5703
5704 Remove Chill front end.
5705 * gcc.c (default_compilers): Remove Chill entries.
5706 * ch: Remove directory.
5707 * doc/frontends.texi: Remove information about Chill.
5708 * doc/sourcebuild.texi: Likewise.
5709 * doc/standards.texi: Likewise.
5710
41823c5e
DR
57112002-04-15 Douglas B Rupp <rupp@gnat.com>
5712
5713 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
5714 (LONGLONG_STANDALONE): Define.
5715
eb29ddb6
DM
57162002-04-15 David S. Miller <davem@redhat.com>
5717
5718 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
5719 Call emit_library_call with LCT_NORMAL.
5720 (sparc_initialize_trampoline): Use LCT_foo instead of
5721 magic constant in emit_library_call invocations.
5722 (sparc64_initialize_trampoline): Likewise.
5723 (sparc_profile_hook): Likewise.
5724 * config/sparc/sparc.md: Likewise.
5725
5726 * config/sparc/sparc.c (sparc_extra_constraint_check):
5727 Fix type of argument 'c'.
5728 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
5729 Likewise.
5730
bd6bec6b
GDR
57312002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
5732
5733 * diagnostic.h (output_buffer_state): Redefine.
5734 (output_format_decoder): New macro.
5735 (output_prefixing_rule): Likewise.
5736 (output_line_cutoff): Likewise.
5737 (diagnostic_format_decoder): Adjust.
5738 (diagnostic_prefixing_rule): Likewise.
5739 (diagnostic_line_cutoff): Likewise.
5740 (diagnostic_state): Likewise.
5741 (diagnostic_kind_count): Likewise.
5742 (diagnostic_buffer): Now a macro.
5743
5744 * diagnostic.c (diagnostic_buffer): Remove definition.
5745 (output_is_line_wrapping): Adjust.
5746 (set_real_maximum_length): Likewise.
5747 (output_set_maximum_length): Likewise.
5748 (init_output_buffer): Likewise.
5749 (lhd_print_error_function): Likewise.
5750 (output_do_verbatim): Likewise.
5751
ebef4e8c
NB
57522002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
5753
5754 * cpperror.c (print_location): Don't print include chain
5755 if line == 0.
5756 (cpp_begin_message): Update to use DL_ macros.
5757 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
5758 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
5759 cpp_notice, cpp_notice_from_errno): Remove.
5760 (cpp_error, cpp_error_with_line): Update to take a diagnostic
5761 level.
5762 (cpp_errno): New.
5763 * cppexp.c (CPP_ICE): Remove.
5764 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
5765 lex, integer_overflow, _cpp_parse_expr): Update.
5766 * cppfiles.c (read_include_file, find_include_file,
5767 handle_missing_header, _cpp_read_file, remap_filename): Update.
5768 * cpphash.h (enum error_type): Remove.
5769 (_cpp_begin_message): Update.
5770 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
5771 cpp_handle_option, cpp_post_options): Update.
5772 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
5773 skip_whitespace, parse_identifier, parse_slow, parse_string,
5774 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
5775 cpp_interpret_charconst): Update.
5776 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
5777 lex_macro_node, do_undef, glue_header_name, parse_include,
5778 do_include_common, read_flag, do_line, do_linemarker, do_ident,
5779 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
5780 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
5781 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
5782 _cpp_pop_buffer, do_diagnostic): Update.
5783 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
5784 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
5785 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
5786 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
5787 cpp_notice, cpp_notice_from_errno): Remove.
5788 (cpp_error, cpp_error_with_line): Update to take a diagnostic
5789 level.
5790 (cpp_errno): New.
5791 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
5792 collect_args, enter_macro_context, save_parameter, parse_params,
5793 _cpp_create_definition, check_trad_stringification,
5794 cpp_macro_definition): Update.
5795 * cppmain.c (cpp_preprocess_file): Update.
5796 * fix-header.c (read_scan_file): Update.
5797
c19a3859
AS
57982002-04-14 Andreas Schwab <schwab@suse.de>
5799
5800 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
5801
10fdbed6
JD
58022002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
5803
5804 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
5805
77660a9a
MM
58062002-04-13 Mark Mitchell <mark@codesourcery.com>
5807
5808 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
5809 not gnu_hurd.
5810
e0ff1ded
HPN
58112002-04-13 Hans-Peter Nilsson <hp@axis.com>
5812
5813 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
5814
2341c7ea
JS
58152002-04-13 Joel Sherrill <joel@OARcorp.com>
5816
5817 * config/sparc/t-elf: Enable v8 multilibs. Impacts
5818 sparc-elf and sparc-rtems targets.
5819
d29350c0
MM
58202002-04-13 Mark Mitchell <mark@codesourcery.com>
5821
5822 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
5823 defined, and __gnu_hurd__ wherever __GNU__ is defined.
5824 * arm/linux-elf.h: Likewise.
5825 * cris/aout.h: Likewise.
5826 * cris/linux.h: Likewise.
5827 * i370/linux.h: Likewise.
5828 * i386/gnu.h: Likewise.
5829 * i386/linux-aout.h: Likewise.
5830 * i386/linux-oldld.h: Likewise.
5831 * i386/linux.h: Likewise.
5832 * i386/linux64.h: Likewise.
5833 * ia64/linux.h: Likewise.
5834 * m68k/linux-aout.h: Likewise.
5835 * m68k/linux.h: Likewise.
5836 * mips/linux.h: Likewise.
5837 * pa/pa-linux.h: Likewise.
5838 * pj/linux.h: Likewise.
5839 * rs6000/sysv4.h: Likewise.
5840 * s390/linux.h: Likewise.
5841 * sh/linux.h: Likewise.
5842 * sparc/linux-aout.h: Likewise.
5843 * sparc/linux.h: Likewise.
5844 * sparc/linux64.h: Likewise.
5845 * xtensa/linux.h: Likewise.
5846
fc552851
RS
58472002-04-13 Richard Sandiford <rsandifo@redhat.com>
5848
5849 * stmt.c (check_unique_operand_names): Expect operand names to
5850 be strings rather than identifiers. Use simple_cst_equal to
5851 compare them.
5852 (resolve_operand_name_1): Make same identifier to string change here.
5853 * c-parse.in (asm_operand): Convert a named operand into a string.
5854 * cp/parse.y (asm_operand): Likewise.
5855
1d405c5e
AS
58562002-04-13 Andreas Schwab <schwab@suse.de>
5857
5858 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
5859
c740732f
MM
58602002-04-12 Mark Mitchell <mark@codesourcery.com>
5861
5862 Revert these changes:
5863
5864 2002-04-06 Mark Mitchell <mark@codesourcery.com>
5865
5866 PR c++/5571
5867 * stor-layout.c (layout_decl): Reset the RTL for the decl.
5868
3fc602a0
RH
58692002-04-12 Richard Henderson <rth@redhat.com>
5870
5871 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
5872 (sparc*-*-solaris): Clean up header files.
5873 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
5874 and plan on generating 64-bit code.
5875 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
5876 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
5877 * config/sparc/sol2-sld-64.h: Rename ...
5878 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
5879 for AS_SPARC64_FLAG not defined.
5880 * config/sparc/sol2-gld-bi.h: New.
5881 * config/sparc/sol2-sld.h: Remove.
5882 * config/sparc/sol26-sld.h: New.
5883 * config/sparc/sol2.h: Tidy comments.
5884 * doc/install.texi: Document sparc-solaris configury changes.
5885
2f15e255
RH
58862002-04-12 Richard Henderson <rth@redhat.com>
5887
5888 * recog.c (offsettable_address_p): Match the logic in adjust_address.
5889
5890 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
5891 in 64-bit mode only. Use only for 32-bit or MEDLOW.
5892
cc8475cb
RO
58932002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5894
5895 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
5896
6f133a4a
JL
5897Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
5898
ef1b8858 5899 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
5900 constrain_operands.
5901
1329e600
DR
59022002-04-12 Douglas B Rupp <rupp@gnat.com>
5903
5904 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
5905 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
5906 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 5907 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
5908 * config/i386/t-interix (USER_H): Remove.
5909
0339d239
DD
59102002-04-12 DJ Delorie <dj@redhat.com>
5911
5912 * integrate.c (compare_blocks): Make comparisons safe for when
5913 sizeof(int) < sizeof(char *).
5914 (find_block): Likewise.
5915
cc4d5fec
JH
59162002-04-12 Jan Hubicka <jh@suse.cz>
5917 David Edelsohn <edelsohn@gnu.org>
5918
5919 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
5920 registers.
5921 (symbol_ref_operand): New.
5922 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
5923 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
5924
93215a1b
AS
59252002-04-12 Andreas Schwab <schwab@suse.de>
5926
5927 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
5928 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
5929 overrides the definition in config/svr4.h.
46468cd9 5930
1d80248e
EN
59312002-04-12 Eric Norum <eric.norum@usask.ca>
5932
5933 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
5934 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
5935 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
5936 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
5937 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
5938 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
5939 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
5940 definitions to config/rtems.h and make the targets more similar.
5941
fa1591cb
RK
5942Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5943
fa06ab5c
RK
5944 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
5945 POINTERS_EXTEND_UNSIGNED.
5946 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
5947 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
5948
fa1591cb
RK
5949 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
5950 not specified.
5951
12e85a0e
R
5952Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
5953
5954 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
5955 depends on TARGET_SHMEDIA, not TARGET_SH5.
5956
1ab3e58a
HPN
59572002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
5958
5959 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
5960 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
5961
18778292
R
5962Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
5963
5964 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
5965 no r0 clobber.
5966
9002507c
AS
59672002-04-12 Andreas Schwab <schwab@suse.de>
5968
5969 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
5970
9be40833
RH
59712002-04-12 Richard Henderson <rth@redhat.com>
5972
5973 PR bootstrap/4191
5974 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
5975
5976 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
5977 modes spanning multiple hard regs.
46468cd9 5978
9be40833
RH
5979 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
5980
3d9268b6
JDA
59812002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
5982
5983 * pa.c (pa_output_function_prologue): Don't accumulate the total
5984 number of code bytes when using TARGET_64BIT, or gas, SOM and not
5985 the portable runtime.
5986 (output_deferred_plabels): Handle 64bit plabels.
5987 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
5988 generating pic code using the GAS assembler for object formats that
5989 are not SOM (ie., ELF32 and ELF64).
5990 (output_millicode_call): Check attribute type if attribute length is 28.
5991 Likewise use $PIC_pcrel$0. Only call get_attr_length and
5992 dbr_sequence_length once.
5993 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
5994 dbr_sequence_length once.
5995 * pa.h (TARGET_SOM): Define if not defined.
5996 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
5997 with GAS and not SOM.
5998 (jump, call_internal_reg, call_value_internal_reg): Likewise.
5999 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
6000
d360fd18
DB
60012002-04-11 David O'Brien <obrien@FreeBSD.org>
6002
6003 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
6004 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
6005 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
6006 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
6007 elfos.h and dbxelf.h values are fine now.
6008 * config/i386/freebsd.h, config/alpha/freebsd.h
6009 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
6010
5b8fcab6
DB
60112002-04-11 David O'Brien <obrien@FreeBSD.org>
6012
6013 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
6014 or set Acpu or Amachine. Reformat.
6015 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
6016 define.
6017 (LINK_SPEC): Do not need to undef.
6018 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
6019 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
6020 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
6021 define.
6022 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
6023 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
6024 (LINK_SPEC): Do not need to undef.
6025 (DONT_USE_BUILTIN_SETJMP): Do not define.
6026 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
6027 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
6028 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
6029 Remove trailing spaces.
6030 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
6031 __ELF__, or set Acpu or Amachine. Reformat.
6032 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
6033 define.
6034
fee42cc1
DB
60352002-04-11 David O'Brien <obrien@FreeBSD.org>
6036
6037 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
6038 all other *-*-freebsd* targets.
6039
77a403e4
RH
60402002-04-11 Richard Henderson <rth@redhat.com>
6041
6042 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
6043
cf0005c6
DB
60442002-04-11 David O'Brien <obrien@FreeBSD.org>
6045
6046 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
6047 Include {cpu}/{cpu}.h thru tm_file.
6048 (alpha*-*-linux*ecoff): Remove target.
6049 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
6050 (LINK_SPEC): Remove, is not OS independent.
6051 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
6052 (LINK_SPEC): Do not need to #undef any longer.
6053 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
6054 any longer.
6055 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
6056 __ELF__.
6057 (LINK_SPEC): Moved here from alpha/elf.h.
6058 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
6059 SUB_CPP_PREDEFINES.
6060 * config/alpha/linux-ecoff.h: Remove.
6061 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
6062 (CPP_SPEC): Define _POSIX_SOURCE as needed.
6063 (CPP_SUBTARGET_SPEC): Do not define.
6064 (LINK_SPEC): Do not need to #undef any longer.
6065 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
6066 * config/alpha/vms.h: Likewise.
6067
9be40833 60682002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
6069
6070 * doc/extend.texi: Remove old claim that typedefs cannot have
6071 an alignment attribute.
6072
010f87c4
JJ
60732002-04-11 Jakub Jelinek <jakub@redhat.com>
6074
6075 PR optimization/6177
6076 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
6077 bitpos is 0 and bitsize CONCAT size.
6078
578fc63d
JJ
60792002-04-11 Jakub Jelinek <jakub@redhat.com>
6080
6081 PR c/6223
6082 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
6083
bf9b85ce
DB
60842002-04-10 David O'Brien <obrien@FreeBSD.org>
6085
6086 * config/alpha/freebsd.h: Minor reformatting.
6087 (CPP_SPEC): Define ELF and add cpp_subtarget.
6088 (ASM_SPEC): No longer needed.
6089
7425707d
RH
60902002-04-11 Richard Henderson <rth@redhat.com>
6091
6092 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
6093 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
6094 (dimode mem/zero splitter): New.
6095
1a05e874
HPN
60962002-04-11 Hans-Peter Nilsson <hp@axis.com>
6097
6098 * config/cris/cris.c (cris_override_options): Tweak error message
6099 for PIC not implemented.
6100
6101 * config/cris/cris.h: Tweak comments related to parameter-passing.
6102
6103 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
6104
6f3d0447
RH
61052002-04-10 Richard Henderson <rth@redhat.com>
6106
6107 * except.c (add_ehl_entry): Allow duplicates after landing pad
6108 creation.
6109
174bf2b1
DE
61102002-04-10 David Edelsohn <edelsohn@gnu.org>
6111
6112 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
6113
03f10472
TM
61142002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
6115
6116 * c-decl.c (c_init_decl_processing): Move generation of
6117 decls for g77_integer_type_node and friends from here ...
6118 * c-common.c (c_common_nodes_and_builtins): ... to here.
6119
2f460a0a
UW
61202002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
6121
6122 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
6123 is only used as frame pointer when frame_pointer_needed is true.
6124
0be5cf85
RE
61252002-04-10 Richard Earnshaw <rearnsha@arm.com>
6126
6127 PR target/817
6128 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
6129 for the fact that the pool entry uses two words.
6130 (movdf_hard_insn): Similarly. Also, ADR instruction can span
6131 1k bytes.
6132 (movdf_soft_insn): Similarly.
6133 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
6134 for the fact that the pool entry uses three words.
6135
bf6d4777
RS
61362002-04-10 Richard Sandiford <rsandifo@redhat.com>
6137
6138 * config/mips/mips.c (mips_va_arg): When using the struct version
6139 of the EABI va_list, allow arguments in the register save area to
6140 take up less room than a stack argument.
6141
c2e9dc85
RH
61422002-04-10 Richard Henderson <rth@redhat.com>
6143
6144 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
6145 if EXPAND_INITIALIZER.
6146
bc8e8e97
RH
61472002-04-09 Richard Henderson <rth@redhat.com>
6148
6149 * config/alpha/alpha.md (movdi_er_maybe_g): New.
6150 * config/alpha/alpha.c (alpha_expand_mov): Use it.
6151
a6a063b8
AM
61522002-04-10 Alan Modra <amodra@bigpond.net.au>
6153
6154 PR optimization/6233
6155 * rtlanal.c (pure_call_p): New function.
6156 * rtl.h (pure_call_p): Declare.
6157 * loop.c (prescan_loop): Use it to set has_nonconst_call.
6158 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
6159
7b2e1077
EC
61602002-04-09 Eric Christopher <echristo@redhat.com>
6161
6162 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
6163 information to .comm directive.
6164
d8a50944
RH
61652002-04-09 Richard Henderson <rth@redhat.com>
6166
6167 PR c/5078
6168 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
6169
6a58eee9
RH
61702002-04-09 Richard Henderson <rth@redhat.com>
6171
6172 * basic-block.h (flow_delete_block_noexpunge): Declare.
6173 (expunge_block_nocompact): Declare.
6174 * cfg.c (expunge_block_nocompact): Split out from ...
6175 (expunge_block): ... here.
6176 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
6177 (flow_delete_block_noexpunge): Split out from ...
6178 (flow_delete_block): ... here.
6179 * cfgcleanup.c (delete_unreachable_blocks): Compact while
6180 removing dead blocks.
6181 * except.c (exception_handler_labels): Remove.
6182 (exception_handler_label_map): New.
6183 (struct eh_region): Add aka member.
6184 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
6185 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
6186 (for_each_eh_label, for_each_eh_label_1): New.
6187 (init_eh): Register exception_handler_label_map.
6188 (free_eh_status): Use free_region.
6189 (find_exception_handler_labels): Use the map, not the list.
6190 (remove_exception_handler_label): Likewise.
6191 (maybe_remove_eh_handler): Likewise.
6192 (remove_eh_handler): Use the region aka bitmap.
6193 * except.h (exception_handler_labels): Remove.
6194 (for_each_eh_label): Declare.
6195 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
6196 * loop.c (invalidate_loops_containing_label): New.
6197 (find_and_verify_loops): Use it. Use for_each_eh_label.
6198 * sched-rgn.c (is_cfg_nonregular): Use
6199 current_function_has_exception_handlers.
6200
b47374fa
RH
62012002-04-09 Richard Henderson <rth@redhat.com>
6202
6203 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
6204 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
6205 Do not return changed status.
6206 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
6207 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
6208 New functions that do return changed status.
6209 * sbitmap.h: Update decls.
6210 * gcse.c, lcm.c: Use _cg functions as needed.
6211
1951818c
R
6212Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
6213
6214 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
6215 (sh64-*-elf*, sh-*-rtemself*): Likewise.
6216 * config/sh/embed_bb.c: New file.
6217 * config/sh/embed-elf.h: New file.
6218 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
6219 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
6220 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
6221 __PTRDIFF_TYPE__ .
6222 (SUBTARGET_CPP_PTR_SPEC): Don't define.
6223 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
6224 Add subtarget_asm_endian_spec.
6225 (ASM_SPEC): Use subtarget_asm_endian_spec.
6226 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
6227 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
6228 (WCHAR_UNSIGNED): Define.
6229 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
6230 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
6231 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
6232 Fix value.
6233 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
6234 (sh_adjust_cost): Likewise.
6235 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
6236 __PTRDIFF_TYPE__ .
6237 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
6238 (WCHAR_TYPE_SIZE): Likewise.
6239 (ASM_SPEC): Use subtarget_asm_endian_spec.
6240 (SH_ELF_WCHAR_TYPE): #undef/ #define.
6241 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
6242 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
6243 (MAX_WCHAR_TYPE_SIZE): Don't #define .
6244 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
6245 (USER_LABEL_PREFIX): Don't #undef /#define .
6246 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
6247 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
6248 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
6249 (ASM_SPEC): Likewise.
6250 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
6251 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
6252 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
6253 (LIB2FUNCS_EXTRA): Define.
6254 * t-sh64 (LIB2FUNCS_EXTRA): Define.
6255 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
6256 (LIB1ASMFUNCS_CACHE): Define.
6257 (LIB2FUNCS_EXTRA): Redefine empty.
6258
34295799
RH
62592002-04-08 Richard Henderson <rth@redhat.com>
6260
6261 * reorg.c (get_branch_condition): Use reversed_comparison_code.
6262
e8766a39
SC
62632002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6264
6265 * config/m68hc11/larith.asm (__map_data_section): Fix condition
6266 and optimize for size.
6267 (__do_global_ctors): Fix pointer comparison.
6268 (__do_global_dtors): Likewise.
6269
f451b552
DM
62702002-04-09 David S. Miller <davem@redhat.com>
6271
6272 * config/sparc/sparc.c (sparc_extra_constraint_check): New
6273 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
6274 allow reloading pseudos.
6275 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
6276 * config/sparc/sparc-protos.h: Declare it.
6277
6278 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
6279 unsigned comparison warning.
6280 (output_restore_regs): Mark leaf_function as unused.
6281
1ce7f3c2
RK
6282Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6283
6284 * expr.c (is_aligning_offset): New function.
6285 (expand_expr, case COMPONENT_EXPR): Call it.
6286
7a31a340
DM
62872002-04-08 David S. Miller <davem@redhat.com>
6288
6289 PR target/6082
6290 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
6291
6292 Make init_priority work on Sparc when using GNU ld.
6293 * config/sparc/linux.h, config/sparc/linux64.h,
6294 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
6295 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
6296 * config/sparc/sol2-gld.h: New file to do the same.
6297 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
6298 sparc/sol2-gld.h to tm_file.
6299
6300 PR optimization/4328
6301 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
6302 * doc/md.texi: Document it.
6303 * config/sparc/sparc.md (movdi_insn_sp64_novis,
6304 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
6305 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
6306 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
6307 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
6308
11579f33
AJ
63092002-04-08 Andreas Jaeger <aj@suse.de>
6310
6311 * stmt.c (expand_asm_operands): Revert last patch from Richard
6312 Henderson.
6313
b57215d9
GP
63142002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6315
6316 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
6317 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
6318
63192002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6320
6321 * doc/contrib.texi (Contributors): Add David O'Brien.
6322
534d0cc0
AM
63232002-04-08 Alan Modra <amodra@bigpond.net.au>
6324
6325 * configure.in (auto-build.h): Use target_alias and build_alias
6326 when running configure.
6327 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
6328 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
6329 * configure: Regenerate.
6330
19fe522a
DM
63312002-04-07 David S. Miller <davem@redhat.com>
6332
6333 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
6334
bf2d0b8e
JDA
63352002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
6336
6337 PR 5933
6338 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
6339 generating 32-bit pic code.
6340
477cdac7
JT
63412002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
6342
6343 * cppinit.c (cpp_create_reader): Initialize
6344 discard_comments_in_macro_exp.
6345 (COMMAND_LINE_OPTIONS): Add "-CC" option.
6346 (cpp_handle_option): Handle "-CC" option.
6347 * cpplex.c (save_comment): If saving a C++ comment in
6348 a directive, convert it to a C comment.
6349 (_cpp_lex_direct): Pass second comment start character to
6350 save_comment to indicate comment type.
6351 * cpplib.c (_cpp_handle_directive): If processing
6352 a "#define" directive and discard_comments_in_macro_exp
6353 is false, re-enable saving of comments.
6354 (lex_macro_node): If discard_comments_in_macro_exp is false,
6355 discard any comments before the macro identifier.
6356 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
6357 member.
6358 * cppmacro.c (cpp_get_token): If expanding a macro while
6359 processing a directive, discard any comments we might encounter.
6360 (parse_params): If discard_comments_in_macro_exp is false,
6361 ignore comments in the macro parameter list.
6362 * gcc.c (cpp_unique_options): Add "-CC" option.
6363 (option_map): Map "--comments-in-macros" to "-CC".
6364 * doc/cppopts.texi: Document "-CC" option.
6365 * f/lang-specs.h: Add "-CC" option.
6366 * testsuite/gcc.dg/cpp/maccom1.c: New test.
6367 * testsuite/gcc.dg/cpp/maccom2.c: New test.
6368 * testsuite/gcc.dg/cpp/maccom3.c: New test.
6369 * testsuite/gcc.dg/cpp/maccom4.c: New test.
6370 * testsuite/gcc.dg/cpp/maccom5.c: New test.
6371 * testsuite/gcc.dg/cpp/maccom6.c: New test.
6372
f1526122
JDA
63732002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
6374
6375 PR middle-end/6180
6376 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
6377
b1896e61
MM
63782002-04-06 Mark Mitchell <mark@codesourcery.com>
6379
0154eaa8
MM
6380 PR c++/5571
6381 * stor-layout.c (layout_decl): Reset the RTL for the decl.
6382
b1896e61
MM
6383 PR opt/5120
6384 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
6385 RTX_UNCHANGING_P for the functions arguments when a tail call
6386 is made.
6387
b0148884
JM
63882002-04-06 Jason Merrill <jason@redhat.com>
6389
6390 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
6391 (parse_options_and_default_flags): Set them appropriately.
6392 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
6393
392fc5b0
HPN
63942002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
6395
6396 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
6397 here.
6398
6399 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
6400 semicolon.
6401
6402 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
6403 types come in by-reference. Fix typo in comment.
6404
2d69e3cb
DM
64052002-04-05 David S. Miller <davem@redhat.com>
6406
6407 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
6408 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
6409 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
6410 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
6411
64122002-04-05 David S. Miller <davem@redhat.com>
6413
6414 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
6415 are not going to emit return instructions, emit at least a nop
6416 for the sake of sane backtraces.
6417
5f9fb0e3
RH
64182002-04-05 Richard Henderson <rth@redhat.com>
6419
6420 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
6421
49f37a0d
JJ
64222002-04-05 Jakub Jeilnek <jakub@redhat.com>
6423
6424 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
6425
974a3101
AO
64262002-04-05 Alexandre Oliva <aoliva@redhat.com>
6427
6428 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
6429 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
6430 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
6431
2e04a694
AS
64322002-04-05 Andreas Schwab <schwab@suse.de>
6433
a40179bd 6434 * c-convert.c: Include c-common.h.
2e04a694
AS
6435 * Makefile.in (c-convert.o): Updated.
6436
1f785b7c
JJ
64372002-04-05 Jakub Jelinek <jakub@redhat.com>
6438
6439 * mklibgcc.in: Use separate libgcc.map for each multilib.
6440 * Makefile.in (distclean): Don't remove libgcc.map here.
6441
4d2fb38b
JJ
64422002-04-05 Jakub Jelinek <jakub@redhat.com>
6443
6444 * Makefile.in (s-mlib): Handle --disable-multilib by separate
6445 genmultilib invocation.
6446
bb63e5a0
RS
64472002-04-04 Richard Sandiford <rsandifo@redhat.com>
6448
6449 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
6450 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
6451 to num_gprs for symmetry.
6452 * config/mips/mips.c: Adjust accordingly.
6453
8ab80eaa
NB
64542002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
6455
6456 * c-common.c (truthvalue_conversion): Rename, update.
6457 * c-common.h (c_common_truthvalue_conversion): New.
6458 * c-convert.c (convert): Update.
6459 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
6460 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
6461 * c-typeck.c (build_binary_op, build_unary_op,
6462 build_conditional_expr): Update.
6463 * fold-const.c (constant_boolean_node, fold): Use langhook.
6464 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
6465 * langhooks.h (struct lang_hooks): New hook.
6466 * stmt.c (expand_decl_cleanup): Use langhook.
6467 * tree.h (truthvalue_conversion): Remove.
6468objc:
6469 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
6470
a2e9374a
AM
64712002-04-05 Alan Modra <amodra@bigpond.net.au>
6472
6473 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
6474 Add rules to make null object file.
6475
64d08263
JB
64762002-04-04 Jim Blandy <jimb@redhat.com>
6477
6478 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
6479 macro formal parameter names.
6480
aa7634dd
DM
64812002-04-04 David S. Miller <davem@redhat.com>
6482
6483 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
6484
ecc114f7
RH
64852002-04-04 Richard Henderson <rth@redhat.com>
6486
6487 PR middle-end/5099
6488 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
6489 Support copies into and out of memory. Don't accept allows_reg
6490 and allows_mem as gospel.
6491
c4484b8f
RH
64922002-04-04 Richard Henderson <rth@redhat.com>
6493
6494 PR opt/6165
6495 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
6496 (write_dependence_p): Likewise.
6497
39002160
RH
64982002-04-04 Richard Henderson <rth@redhat.com>
6499
6500 * predict.c (estimate_bb_frequencies): Do frequency calculation
6501 with a volatile temporary.
6502
f53ebe71
UW
65032002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
6504
6505 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
6506
15e0ecab
JJ
65072002-04-04 Jakub Jelinek <jakub@redhat.com>
6508
6509 PR c++/6119
6510 * final.c (final_start_function): Don't bump profile_label_no here...
6511 (final_end_function): ...but here.
6512
ffd386b0
JJ
65132002-04-04 Jakub Jelinek <jakub@redhat.com>
6514
6515 * config/sparc/sparc.md (pic): New attribute.
6516 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
6517 into stack slots.
6518 (split after do_builtin_setjmp_setup): New.
6519
8b156b3e
JJ
65202002-04-04 Jakub Jelinek <jakub@redhat.com>
6521
6522 PR fortran/6106
6523 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
6524 change.
6525
014c0998
JJ
65262002-04-04 Jakub Jelinek <jakub@redhat.com>
6527
6528 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
6529 UNITS_PER_WORD for zero sized aggregates.
6530
4d8611d9
DM
65312002-04-03 David S. Miller <davem@redhat.com>
6532
6533 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
6534 one-character spec for this, just use %(link_gcc_c_sequence).
6535
b03ad99d
DM
65362002-04-03 David S. Miller <davem@redhat.com>
6537
6538 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
6539 handling.
6540
823fbbce
JDA
65412002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
6542
6543 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
6544 (DWARF_FRAME_RETURN_COLUMN): Move.
6545 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6546 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
6547 * pa.c (except.h, predict.h): Include.
6548 (FRP): Delete.
6549 (store_reg_modify, set_reg_plus_d): Revise prototypes.
6550 (output_ascii): Add cast.
6551 (store_reg_modify): Revise to add frame notes.
6552 (set_reg_plus_d): Likewise.
6553 (compute_frame_size): Include space for eh data registers in frame if
6554 the current function calls eh_return.
6555 (hppa_expand_prologue): Ensure register %r2 is saved if the current
6556 function calls eh_return. Save eh data registers if the current
6557 function calls eh_return. Fix code to add frame notes. Emit
6558 blockage to prevent insns with frame notes being scheduled in the
6559 delay slot of calls.
6560 (hppa_expand_epilogue): Restore eh data registers and do final stack
6561 adjustment if the current function calls eh_return. Don't add frame
6562 notes.
6563 (output_call): Revise for change in length of call insn. Don't do
6564 return pointer adjustment for an unconditional jump in the delay slot
6565 of a call when using frame notes.
6566 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
6567 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
6568 (ARG_POINTER_CFA_OFFSET): Define.
6569 * pa.md (return_external_pic): New pattern.
6570 (prologue): Correct formatting. Use return_external_pic if current
6571 function calls eh_return.
6572 (call_internal_symref, call_value_internal_symref,
6573 sibcall_internal_symref, sibcall_value_internal_symref): Change default
6574 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
6575 respectively.
6576 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
6577
6578 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
6579 list of targets to check using "nop" insn.
6580 * configure: Rebuilt.
6581
4078e224
AM
65822002-04-04 Alan Modra <amodra@bigpond.net.au>
6583
6584 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
6585
bbd7687d
DM
65862002-04-03 David S. Miller <davem@redhat.com>
6587
6588 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
6589 library sequence passed to the linker.
6590 (LINK_COMMAND_SPEC): Use it.
6591 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
6592 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
6593 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
6594
659e5a7a
JM
65952002-04-03 Jason Merrill <jason@redhat.com>
6596
6597 * except.c (struct eh_status): Remove protect_list.
6598 (begin_protect_partials, end_protect_partials): Remove.
6599 (add_partial_entry): Remove.
6600 * except.h: Remove prototypes.
6601
6602 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
6603 expand_decl_cleanup_eh.
6604
6605 PR c++/5636
6606 * tree.h (CLEANUP_EH_ONLY): New macro.
6607 * stmt.c (expand_decl_cleanup_eh): New fn.
6608 (expand_cleanups): Check CLEANUP_EH_ONLY.
6609 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
6610 Use expand_decl_cleanup_eh.
6611 (expand_stmt): Adjust.
6612 * c-common.h: Adjust prototype.
6613
053d3344
HPN
66142002-04-04 Hans-Peter Nilsson <hp@axis.com>
6615
6616 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
6617 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
6618 (cris_target_asm_function_epilogue): Ditto.
6619 (cris_initial_frame_pointer_offset): Ditto.
6620 (cris_simple_epilogue): Ditto.
6621 (cris_expand_builtin_va_arg): Variable-size types come in
6622 by-reference.
6623
61ab5260
DM
66242002-04-03 David S. Miller <davem@redhat.com>
6625
6626 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
6627 little-endian.
6628 (set_fast_math): Correct 'fsr' type.
6629
ef4f94ac
RH
66302002-04-03 Richard Henderson <rth@redhat.com>
6631
36c2272c 6632 PR opt/3569
ef4f94ac
RH
6633 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
6634 * toplev.c (check_global_declarations): Use it.
6635 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
6636 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
6637 (LANG_HOOKS_DECLS): Add it.
6638 * langhooks.c (lhd_warn_unused_global_decl): New.
6639 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
6640 * c-objc-common.c (c_warn_unused_global_decl): New.
6641 * c-tree.h (c_warn_unused_global_decl): Declare.
6642 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
6643
599bba86
NB
66442002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
6645
6646 * langhooks-def.h (lhd_set_decl_assembler_name,
6647 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
6648 (LANG_HOOKS_INITIALIZER): Update.
6649 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
6650 * langhooks.h (struct lang_hooks): New hook.
6651 * tree.c (set_decl_assembler_name): Move to langhooks.c.
6652 (lang_set_decl_assembler_name): Remove.
6653 (init_obstacks): Don't set hook.
6654 (decl_assembler_name): New function.
6655 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
6656 (decl_assembler_name): New.
6657 (lang_set_decl_assembler_name): Remove.
6658
cf7b8b0d
JJ
66592002-04-03 Jakub Jelinek <jakub@redhat.com>
6660
6661 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
6662 works properly with .hidden symbols.
6663 * configure: Rebuilt.
6664 * config.in: Rebuilt.
6665 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
6666 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
6667 properly with .hidden symbols.
6668
faf6db38
JJ
66692002-04-03 Jakub Jelinek <jakub@redhat.com>
6670
6671 PR middle-end/6102
6672 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
6673 USE argument.
6674
68c17f30
RH
66752002-04-03 Richard Henderson <rth@redhat.com>
6676
6677 PR opt/4120
6678 * sched-rgn.c (sets_likely_spilled): New.
6679 (sets_likely_spilled_1): New.
6680 (add_branch_dependences): Use it.
6681
6584b4aa
RH
66822002-04-02 Richard Henderson <rth@redhat.com>
6683
6684 PR opt/4311
6685 * loop.h (LOOP_FIRST_PASS): New.
6686 * loop.c (strength_reduce): Mind it when deciding to unroll.
6687 * toplev.c (rest_of_compilation): Set it.
6688
0acf409f
DM
66892002-04-02 David S. Miller <davem@redhat.com>
6690
6691 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
6692 mems_ok_for_ldd_peep when the order of the loads being examined
6693 is reversed.
6694 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
6695 existing comment to increase comprehension of this situation.
6696
85654444
ZW
66972002-04-02 Zack Weinberg <zack@codesourcery.com>
6698
6699 * config/sh/sh.md: Don't use union real_extract.
6700
543828ca
RH
67012002-04-02 Richard Henderson <rth@redhat.com>
6702
6703 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
6704
39ed301b
DB
67052002-04-02 David O'Brien <obrien@FreeBSD.org>
6706
6707 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
6708 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
6709 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
6710 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
6711 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
6712 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
6713 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
6714 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
6715 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
6716 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
6717 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
6718 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
6719 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
6720 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
6721 Include as many configury headers via tm_file as possible. This
6722 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
6723 * config/openbsd-oldgas.h: New file.
6724 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
6725 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
6726 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
6727 config/i386/i386-coff.h, config/i386/i386-interix.h,
6728 config/i386/iscdbx.h, config/i386/linux-aout.h,
6729 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
6730 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
6731 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
6732 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
6733 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
6734 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
6735 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
6736 config/i386/vxi386.h: Do not directly include configury headers.
6737 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
6738 Directly include configury headers that are no longer automatically
6739 included by the above headers.
6740 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
6741 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
6742 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
6743 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
6744 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
6745 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
6746 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
6747 (TARGET_VERSION): Define.
6748 * config/i386/beos-elf.h, config/i386/freebsd.h,
6749 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
6750 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
6751 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
6752 config/i386/sco5.h, config/i386/sysv4.h
6753 (TARGET_VERSION): Do not need to protect.
6754 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
6755 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
6756 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
6757 config/i386/i386-interix.h, config/i386/linux-aout.h,
6758 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
6759 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
6760 (YES_UNDERSCORES): Do not define - not needed.
6761 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
6762 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
6763 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
6764 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
6765 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
6766 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
6767 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
6768 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
6769
9432c136
EB
67702002-04-02 Eric Botcazou <ebotcazou@multimania.com>
6771 Richard Henderson <rth@redhat.com>
6772
6773 PR c/5484
6774 * function.c (assign_temp): Accept either type or decl argument.
6775 Detect variables whose size is too large to fit into an integer.
6776 * stmt.c (expand_decl): Pass the decl, not the type.
6777
058b1275
DB
67782002-04-02 David O'Brien <obrien@FreeBSD.org>
6779
6780 * protoize.c: Match include directory usage with cppdefault.c.
6781
5add6d1a 67822002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 6783 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
6784
6785 * combine.c (simplify_comparison): Avoid narrowing a comparison
6786 with a paradoxical subreg when doing so would drop signficant bits.
6787
1e533e4b
SE
67882002-04-02 Steve Ellcey <sje@cup.hp.com>
6789
6790 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
6791 if POINTERS_EXTEND_UNSIGNED is defined.
6792
7a145e92
RH
67932002-04-02 Richard Henderson <rth@redhat.com>
6794
6795 PR opt/3967
6796 * local-alloc.c (contains_replace_regs): LO_SUM may contain
6797 replace regs.
6798
3a079822
RH
67992002-04-02 Richard Henderson <rth@redhat.com>
6800
6801 * doc/standards.texi: Document required freestanding libc entry points.
6802
c94ccb87
AM
68032002-04-02 Alan Modra <amodra@bigpond.net.au>
6804
6805 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
6806 associated splitter. Remove MQ constraint.
6807 (ctrdi_internal4): Correct CCmode clobber.
6808
fe660a1a
JDA
68092002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
6810
6811 * milli64.S ($$dyncall): New function.
6812 * t-linux (LIB1ASMFUNCS): Revise module list.
6813 (LIB1ASMSRC): Use pa/milli64.S.
6814
eadc0202
RH
68152002-04-02 Richard Henderson <rth@redhat.com>
6816
6817 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
6818 rename solaris_sys_varargs_h.
6819
a1471322
RK
6820Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6821
6822 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
6823 the same mode as its component.
6824
c8b94768
RH
68252002-04-02 Richard Henderson <rth@redhat.com>
6826
6827 PR opt/190
6828 * final.c (this_is_asm_operands): Export.
6829 * output.h (this_is_asm_operands): Declare.
6830 * config/i386/i386.c (print_operand): Error odd asm operands.
6831
161eb4fc
RH
68322002-04-02 Richard Henderson <rth@redhat.com>
6833
6834 PR opt/420
6835 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
6836
b88a94c6
RH
68372002-04-01 Richard Henderson <rth@redhat.com>
6838
6839 PR target/1538
6840 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
6841 * fixinc/fixincl.x: Rebuild.
6842
72e32876
RH
68432002-04-01 Richard Henderson <rth@redhat.com>
6844
6845 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
6846 (atomic_alloc, atomic_free): New.
6847 (SIZE, MASK_FOR, PTR_IN): New.
6848 (emergency_reg_state, emergency_reg_state_free): New.
6849 (emergency_labeled_state, emergency_labeled_state_free): New.
6850 (reg_state_alloced, labeled_state_alloced): New.
6851 (alloc_reg_state, free_reg_state): New.
6852 (alloc_label_state, free_label_state, free_label_states): New.
6853 (push, pop, dup_state_stack, free_state_stack): Use them.
6854 (desc_label_state): Likewise.
6855 (uw_frame_state_for): Free label states and state stack.
6856 (uw_update_reg_address): Eliminate warnings.
6857
84d76074
VM
68582002-04-01 Vladimir Makarov <vmakarov@redhat.com>
6859
6860 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 6861 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 6862
dffd7eb6
NB
68632002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
6864
6865 * c-decl.c (grokdeclarator): Update.
6866 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
6867 * c-tree.h (c_mark_addressable): New.
6868 * c-typeck.c (default_function_array_conversion, build_unary_op,
6869 build_array_ref, convert_for_assignment): Update.
6870 (mark_addressable): Rename.
6871 * calls.c (try_to_integrate, expand_call): Use langhook.
6872 * expr.c (expand_expr): Use langhook.
6873 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
6874 * langhooks.h (struct lang_hooks): New hook.
6875 * stmt.c (expand_asm_operands): Use langhook.
6876 * tree.h (mark_addressable): Remove.
6877objc:
6878 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
6879
544ef5b5
BW
68802002-04-01 Bob Wilson <bob.wilson@acm.org>
6881
9be40833
RH
6882 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
6883 in previous change.
544ef5b5 6884
bcf88f9b
BW
68852002-04-01 Bob Wilson <bob.wilson@acm.org>
6886
6887 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
6888 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
6889
ceef8ce4
NB
68902002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
6891
6892 * c-common.c (unsigned_conversion_warning, convert_and_check,
6893 unsigned_type, signed_type, shorten_compare,
6894 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
6895 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
6896 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
6897 New.
6898 * c-decl.c (grokdeclarator): Update.
6899 * c-format.c (check_format_types): Update.
6900 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
6901 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
6902 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
6903 * convert.c (convert_to_integer): Use new hooks.
6904 * expmed.c (make_tree): Use new hooks.
6905 * expr.c (store_expr): Use new hooks.
6906 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
6907 all_ones_mask_p, unextend, fold): Use new hooks.
6908 * langhooks.h (struct lang_hooks_for_types): New hooks.
6909 * tree.h (signed_or_unsigned_type, signed_type,
6910 unsigned_type): Remove.
6911objc:
6912 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
6913 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
6914
1d9ad0e0
RH
69152002-03-31 Richard Henderson <rth@redhat.com>
6916
6917 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
6918 (desc_frgr_mem): Fix reference to f16-f31.
6919
d544bc39
KG
69202002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6921
6922 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
6923 RTVEC_ELT): Const-ify.
d8750784
KG
6924 * varray.h (VARRAY_CHECK): Const-ify.
6925 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
6926 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 6927
b18101c7
NB
69282002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
6929
6930 * diagnostic.c: Include langhooks-def.h.
6931 * Makefile.in (diagnostic.o): Update.
6932
48a7a235
NB
69332002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
6934
6935 * c-common.c (c_unsafe_for_reeval): Rename.
6936 * c-common.h (c_unsafe_for_reeval): Rename.
6937 * c-decl.c (finish_incomplete_decl): Rename.
6938 (c_init_decl_processing): Don't set langhook.
6939 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
6940 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
6941 * c-objc-common.c (c_objc_common_init): Don't set langhook.
6942 * c-tree.h (finish_incomplete_decl): Rename.
6943 * langhooks-def.h (lhd_unsafe_for_reeval): New.
6944 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
6945 (LANG_HOOKS_INITIALIZER): Update.
6946 * langhooks.c (lhd_unsafe_For_reeval): New.
6947 * langhooks.h (struct langhooks): New hooks.
6948 * toplev.c (incomplete_decl_finalize_hook): Remove.
6949 (wrapup_global_declarations): Update.
6950 * tree.c (lang_unsafe_for_reeval): Remove.
6951 (unsafe_for_reeval): Update.
6952 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
6953 Remove.
6954objc:
6955 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
6956 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
6957
7cb32822
NB
69582002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
6959
6960 * diagnostic.c (print_error_function): Remove.
6961 (default_print_error_function): Rename.
6962 (report_error_function): Update.
6963 * diagnostic.h (print_error_function): Remove.
6964 (default_print_error_function): Remove.
6965 * langhooks-def.h (struct diagnostic_context): Predeclare.
6966 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
6967 (LANG_HOOKS_INITIALIZER): Update.
6968 * langhooks.h (struct diagnostic context): Predeclare.
6969 (struct lang_hooks): New hook.
6970
1db02437
FS
69712002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6972
6973 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
6974 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
6975 !flag_pic.
6976 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
6977 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
6978 of PIC_OFFSET_TABLE_REGNUM thruout.
6979 * config/rs6000/rs6000.md: Likewise.
6980 * config/rs6000/darwin.h: Likewise.
6981
3bf1e984
RK
6982Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6983
6984 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
6985 unsigned HOST_WIDE_INT, not unsigned int.
6986
0864c526
JJ
69872002-03-31 Jakub Jelinek <jakub@redhat.com>
6988
6989 PR middle-end/6096, middle-end/6098, middle-end/6099
6990 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
6991 CODE_LABELs.
6992 (fill_slots_from_thread): Likewise.
6993
105b2084
JJ
69942002-03-31 Jakub Jelinek <jakub@redhat.com>
6995
6996 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
6997 floating fields in float regs.
6998 (function_arg_record_value_2): Likewise.
6999
db08fddf
HPN
70002002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
7001
7002 * config/mmix/mmix.md (define_constants): Remove misleading
7003 FIXME. Add MMIX_fp_rO_OFFSET.
7004 ("nonlocal_goto_receiver"): Don't have stack-frame address of
7005 saved rO as part of the pattern. Remove FIXME.
7006 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
7007 here, at output-time.
7008
4f31cce8
JJ
70092002-03-31 Jakub Jelinek <jakub@redhat.com>
7010
7011 PR middle-end/6100
7012 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
7013 REG_BR_PRED.
7014 (output_v9branch): Likewise.
7015
ba2b7435
AO
70162002-03-31 Alexandre Oliva <aoliva@redhat.com>
7017
7018 * gcc.c: Revert previous patch for now.
7019 * config/i386/djgpp.h: Likewise.
7020
aa66aa5f 70212002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
7022
7023 * config/mmix/crti.asm (_init): Register _fini with atexit.
7024 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
7025
41ba8a20
RH
70262002-03-31 Richard Henderson <rth@redhat.com>
7027
7028 PR target/3997
7029 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
7030 (ASM_OUTPUT_DEF_FROM_DECLS): New.
7031
adc186ef
RH
70322002-03-31 Richard Henderson <rth@redhat.com>
7033
7034 * libgcc2.c (__bb_exit_func): Make static.
7035
9be40833 7036 * config/alpha/alpha.md (trap): New.
a7648399 7037
9602f5a0
RH
70382002-03-31 Richard Henderson <rth@redhat.com>
7039
7040 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
7041 promoted argument types; build trap.
7042 (expand_builtin_trap): New.
7043 (expand_builtin): Use it.
7044 * stmt.c (expand_nl_goto_receivers): Likewise.
7045 * expr.h (expand_builtin_trap): Declare.
7046 * libfuncs.h (LTI_abort, abort_libfunc): New.
7047 * optabs.c (init_optabs): Init abort_libfunc.
7048
1a0a7539
AO
70492002-03-31 Alexandre Oliva <aoliva@redhat.com>
7050
7051 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
7052 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 7053 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
7054 shared_name in the second copy.
7055 (init_spec): Test for duplicate
7056 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
7057
b5de1a27
DM
70582002-03-30 David S. Miller <davem@redhat.com>
7059
7060 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
7061 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
7062
78414d74 70632002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 7064 Richard Henderson <rth@redhat.com>
78414d74 7065
9be40833
RH
7066 * regmove.c (combine_stack_adjustments_for_block): Avoid
7067 emitting a stack adjustment of zero bytes. Let delete_insn
7068 update bb->head.
78414d74 7069
33074e5f
RH
70702002-03-30 Richard Henderson <rth@redhat.com>
7071
7072 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
7073 (sparc_emitting_epilogue): New.
7074 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
7075 * config/sparc/sparc-protos.h: Update.
7076 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
7077 (TARGET_SWITCHES): Update.
7078 * config/sparc/sparc.md (return): Remove.
7079 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
7080 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
7081 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
7082 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
7083 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
7084 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
7085 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
7086 Remove MASK_EPILOGUE.
7087 * doc/invoke.texi: Update.
7088
606cc056
DB
70892002-03-30 Daniel Berlin <dan@dberlin.org>
7090
7091 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
7092 CPP will start the file for us.
7b2e1077 7093
bdbe5b8d
RH
70942002-03-30 Richard Henderson <rth@redhat.com>
7095
7096 PR target/5446
7097 * config/ia64/ia64.c (group_barrier_needed_p): Special case
7098 prologue_allocate_stack.
7099 (ia64_single_set): Use insn codes for recognition of special
7100 cases, not rtl matching.
7101 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
7102
4ab95d82
JH
7103Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
7104
7105 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
7106
89a8b315
RH
71072002-03-30 Richard Henderson <rth@redhat.com>
7108
7109 PR target/6032
7110 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
7111 or -fomit-frame-pointer with profiling.
7112 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7113 (FUNCTION_PROFILER): Do nothing.
7114 (PROFILE_HOOK): New.
7115 * config/sparc/sparc.c (sparc_override_options): Don't check
7116 code models for profiling.
7117 (sparc_function_profiler): Remove.
7118 (sparc_profile_hook): New.
7119 * config/sparc/sparc-protos.h: Update.
7120
30984c57
JJ
71212002-03-30 Jakub Jelinek <jakub@redhat.com>
7122
7123 PR optimization/6086
7124 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
7125 of SUBREG of volatile MEM or because the MEM was mode dependent,
7126 return CLOBBER instead of unmodified SUBREG.
7127
1540f9eb
JH
7128Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
7129
89a8b315
RH
7130 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
7131 when not optimizing.
1540f9eb
JH
7132
7133 * toplev.c (rest_of_compilation): Cann mark_constant_function
7134 only when optimizing.
7135
89a8b315
RH
7136 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
7137 are NULL.
1540f9eb
JH
7138
7139 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
7140 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
7141 (try_optimize_cfg): clear all AUX fields.
7142
7143 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
7144 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
7145 (ix86_address_cost): Be prepared for SUBREGed registers.
7146 (legitimate_address_p): Accept SUBREGed registers.
7147
70d95bac
RH
71482002-03-29 Richard Henderson <rth@redhat.com>
7149
7150 PR target/5672
7151 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
7152
d3294cd9
FS
71532002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7154
7155 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
7156 for aggregate and TFmode types.
7157
a106c875
HPN
71582002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
7159
7160 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
7161
7d7a5d6f
RH
71622002-03-29 Richard Henderson <rth@redhat.com>
7163
6e2d670b 7164 PR target/5886
7d7a5d6f
RH
7165 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
7166 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
7167
30c99a84
RH
71682002-03-29 Richard Henderson <rth@redhat.com>
7169
6e2d670b 7170 PR target/6041
30c99a84
RH
7171 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
7172 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
7173 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
7174 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
7175 conditional.
7176 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
7177
02a566dc
DJ
71782002-03-29 Dale Johannesen <dalej@apple.com>
7179
7180 * loop.c (combine_movables): Do allow combination of pseudos.
7181
bc3a44db
LR
71822002-03-29 Loren J. Rittle <ljrittle@acm.org>
7183
7184 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
7185 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
7186 No functional change except ...
7187 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
7188 * doc/install.texi (*-*-freebsd*): Document port configuration.
7189
b0c48229
NB
71902002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
7191
7192 * Makefile.in (convert.o, calls.o, expmed.o): Update.
7193 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
7194 Use new hooks.
7195 * builtin-types.def (BT_PTRMODE): Update.
7196 * c-common.c (type_for_size): Rename c_common_type_for_size.
7197 (type_for_mode): Similarly.
7198 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
7199 Use new hook.
7200 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
7201 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
7202 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
7203 Redefine.
7204 * c-typeck.c (common_type, comptypes, default_conversion):
7205 Use new hooks.
7206 * calls.c: Include langhooks.h.
7207 (emit_library_call_value_1): Use new hooks. Avoid redundant
7208 calls.
7209 * convert.c: Include langhooks.h
7210 (convert_to_pointer, convert_to_integer): Use new hooks.
7211 * except.c (init_eh): Similarly.
7212 * expmed.c: Include langhooks.h.
7213 (expand_mult_add): Use new hooks.
7214 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
7215 try_casesi): Similarly.
7216 * fold-const.c (optimize_bit_field_compare, make_range,
7217 decode_field_reference, fold_truthop, fold): Similarly.
7218 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
7219 put_var_into_stack): Similarly.
7220 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
7221 LANG_HOOKS_TYPE_FOR_SIZE): New.
7222 (LANG_HOOKS_TYPES_INITIALIZER): Update.
7223 * langhooks.h (lang_hooks_for_types): New hooks.
7224 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
7225 * tree.c (get_unwidened, get_narrower): Similarly.
7226 * tree.h (type_for_mode, type_for_size): Remove.
7227 * varasm.c (force_const_mem): Use new hooks.
7228 * utils2.c (nonbinary_modular_operation): Update.
7229objc:
7230 * objc-act.c (handle_impent): Update.
7231 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
7232 Redefine.
7233
e206a74f
SE
72342002-03-29 Steve Ellcey <sje@cup.hp.com>
7235
7236 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
7237 * config/ia64/ia64.c (basereg_operand): New.
7238 * config/ia64/ia64-protos.h (basereg_operand): Declare.
7239 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
7240
7d9b6378
HPN
72412002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
7242
7243 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
7244 unwind information when frame_pointer_needed.
7245 (mmix_assemble_integer): Tweak wording in comment.
7246
f1e639b1
NB
72472002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
7248
7249 * Makefile.in (except.o): Update.
7250 * except.c: Include langhooks.h.
7251 (init_eh): Use langhook.
7252 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
7253 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
7254 (LANG_HOOKS_INITIALIZER): Update.
7255 * langhooks.h (lang_hooks_for_types): New.
7256 (struct lang_hooks): Add it.
7257 * tree.c (make_lang_type_fn, make_lang_type): Remove.
7258 * tree.h (make_lang_type_fn, make_lang_type): Remove.
7259config:
7260 * alpha/alpha.c: Include langhooks.h.
7261 (alpha_build_va_list): Use langhook.
7262 * d30v/d30v.c: Include langhooks.h.
7263 (d30v_build_va_list): Use langhook.
7264 * i386/i386.c: Include langhooks.h.
7265 (ix86_build_va_list): Use langhook.
7266 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
7267 * s390/s390.c: Include langhooks.h.
7268 (s390_build_va_list): Use langhook.
7269 * stormy16/stormy16.c: Include langhooks.h.
7270 (stormy16_build_va_list): Use langhook.
7271
f17f9332
JJ
72722002-03-29 Jakub Jelinek <jakub@redhat.com>
7273
7274 PR c++/5964
7275 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
7276 attributes.
7277 (length): Compute variable length for branches/calls/jumps here.
7278 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
7279 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
7280 define branch_type attribute.
7281 (divsi3_sp32): Maximum length is 6 not 7.
7282 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
7283 call_address_untyped_struct_value_sp32,
7284 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
7285 * config/sparc/sparc.c (empty_delay_slot): New function.
7286 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
7287 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
7288
0a0440c9
JJ
72892002-03-29 Jakub Jelinek <jakub@redhat.com>
7290
7291 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
7292 nonzero_bits if not needed.
7293 (nonzero_bits) [XOR]: Likewise.
7294 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
7295 reg_last_set_mode and mode are both MODE_INT, but not equal.
7296 (record_value_for_reg): Compute reg_last_set_nonzero_bits
7297 in nonzero_bits_mode for MODE_INT modes.
7298
c9045f47
RH
72992002-03-28 Richard Henderson <rth@redhat.com>
7300
7301 PR target/5715
7302 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
7303 to GAS. Correct drift between alternatives.
7304
f8ed1958
RH
73052002-03-28 Richard Henderson <rth@redhat.com>
7306
7307 PR target/6087
7308 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
7309
54e20385
LR
73102002-03-28 Alexandre Oliva <aoliva@redhat.com>
7311
7312 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
7313 emulation to the linker.
7314
73152002-03-28 Loren J. Rittle <ljrittle@acm.org>
7316
7317 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
7318 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
7319
8bc52806
JL
7320Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
7321
7322 * combine.c (simplify_and_const_int): Make sure to apply mask
7323 when force_to_mode returns a constant integer. PR3311.
7324
279dccc5
JDA
73252002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
7326
7327 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
7328
62aaa62c
GP
73292002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7330
7331 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
7332 and Objective-C Dialect Options.
7333
b8de5050
RH
73342002-03-28 Richard Henderson <rth@redhat.com>
7335
7336 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
7337 comparison should be done vs !=0 not >0 return code. Tidy cases.
7338
619708cc
RH
73392002-03-28 Richard Henderson <rth@redhat.com>
7340
7341 * c-decl.c (finish_function): New arg can_defer_p. Pass it
7342 on to c_expand_body.
7343 * c-tree.h (finish_function): Update decl.
7344 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
7345
b1d874d7
JH
7346Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
7347
7348 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
7349
f5eb5fd0
JH
7350Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
7351
7352 * rtlanal.c: Include flags.h
7353 (may_trap_p): Do not mark FP operations if trapping
7354 if !flag_trapping_math
7355 * Makefile.in (rtlanal.o): Add dependency on flag.h
7356 * ifcvt.c (noce_operand_ok): Avoid the lameness.
7357
81b4c798
ZW
73582002-03-27 Zack Weinberg <zack@codesourcery.com>
7359
7360 * mips.md: Use dconst1, not 1.0, as first argument of
7361 REAL_VALUE_LDEXP. Don't use union real_extract.
7362
55a2ea2a
AM
73632002-03-28 Alan Modra <amodra@bigpond.net.au>
7364
7365 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
7366 rather than $target. Heed program_prefix and
7367 program_transform_name. Search for gas in cross-compiler case too.
7368 "test -x" rather than "test -f".
7369 (gcc_cv_ld): Likewise.
7370 (gcc_cv_nm): Heed program_prefix and program_transform_name.
7371 (gcc_cv_objdump): Likewise.
7372 * configure: Regenerate.
7373
7ffb4fd2
NB
73742002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
7375
7376 * Makefile.in (attribs.o): Update.
7377 * attribs.c: Include langhooks.h.
7378 (decl_attributes): Use langhook.
7379 * c-decl.c (insert_default_attributes): Rename.
7380 * c-tree.h (c_insert_default_attributes): New.
7381 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
7382 (LANG_HOOKS_INITIALIZER): Update.
7383 * langhooks.h (struct lang_hooks): New hook.
7384 * tree.h (insert_default_attributes): Remove.
7385objc:
7386 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
7387
e4dbaed5
AS
73882002-03-27 Andreas Schwab <schwab@suse.de>
7389
7390 * config/i386/i386.c (classify_argument): Also check for
7391 QUAL_UNION_TYPE.
7392
18b467f1
RO
73932002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7394
7395 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
7396 any more.
7397
d337d653
JH
7398Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
7399
7400 * i960.md (ret): Set PC.
7401 (nonlocal_goto): Fix expander.
7402 * builtins.c (epxand_builin_longjmp): Check that we've emitted
7403 some jump or call.
7404
218aa620
JH
7405Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
7406
7407 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
7408 of libcall regions.
7409
e27a4eaf
ZD
7410Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7411
7412 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
7413 assigning to BLOCK_FOR_INSN directly.
7414
8a12f34c
JH
7415Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
7416
7417 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
7418
c9d892a8
NB
74192002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
7420
7421 * c-common.c (c_expand_expr): Fix prototype.
7422 * c-common.h (c_expand_expr): Always declare, update.
7423 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
7424 * c-objc-common.c (c_objc_common_init): No global hook.
7425 * expr.c (expand_expr): Use langhook.
7426 * expr.h (enum expand_modifier): Conditionally declare.
7427 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
7428 (LANG_HOOKS_INITIALIZER): Update.
7429 * langhooks.c (lhd_expand_expr): New.
7430 * langhooks.h (struct lang_hooks): New hook.
7431 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
7432 (lang_independent_init): Don't default hook.
7433objc:
7434 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
7435
6dad5a56
RH
74362002-03-27 Richard Henderson <rth@redhat.com>
7437
7438 PR target/6054
7439 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
7440 TARGET_CONST_GP. Simplify conditions.
7441
59f96879
RH
74422002-03-27 Richard Henderson <rth@redhat.com>
7443
7444 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
7445 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
7446 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
7447
f3f1190d
DS
74482002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
7449
7450 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
7451 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
7452 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
7453 Remove unnecessary masks.
7454 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
7455 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
7456 -mwindows, -mdll switches and their negations.
7457
31c816cf
NB
74582002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
7459
7460 * gcc-common.c (lang_mark_false_label_stack): Remove.
7461 * ggc.h (lang_mark_false_label_stack): Similarly.
7462
7b2e1077 74632002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
7464
7465 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
7466
7467 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
7468 or __rtems_ is defined.
7469
1ef9531b
RH
74702002-03-26 Richard Henderson <rth@redhat.com>
7471
7472 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
7473 if a non-trivial load was emitted.
7474 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
7475 in high+extra+low case.
7476
300d4093
RH
74772002-03-26 Richard Henderson <rth@redhat.com>
7478
7479 * config.gcc (sparc*-solaris): Use float_format=sparc.
7480
b3689904
RH
74812002-03-26 Richard Henderson <rth@redhat.com>
7482
7483 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
7484 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
7485 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
7486 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
7487 (WINT_TYPE_SIZE): Fix at 32.
7488
1eefb6c1
RH
74892002-03-26 Richard Henderson <rth@redhat.com>
7490
7491 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
7492 until after eh landing pad generation.
7493 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
7494 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
7495
361ea006
RH
74962002-03-26 Richard Henderson <rth@redhat.com>
7497
7498 * expr.h (ADD_PARM_SIZE): One more convert for INC.
7499
1de38a88
PE
75002002-03-26 Phil Edwards <pme@gcc.gnu.org>
7501
7502 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
7503 and warning switches.
7504 (cc1_options): Likewise.
7505
d7e60e95 75062002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 7507
d7e60e95
HB
7508 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
7509 Restore more of the signal context. Set no_reg_stack_frame.
7510 * config/ia64/unwind-ia64.c (unw_state_record):
7511 Add no_reg_stack_frame, comments.
7512 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
7513 (uw_update_context): Adjust bsp when unwinding from leaf,
7514 but not signal frame.
7515
7032923b
DE
75162002-03-26 David Edelsohn <edelsohn@gnu.org>
7517
7518 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
7519
8be56275
BW
75202002-03-26 Bob Wilson <bob.wilson@acm.org>
7521
7522 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
7523
56fbb855
RE
75242002-03-26 Richard Earnshaw <rearnsha@arm.com>
7525
7526 PR target/5621
7527 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
7528 "Add a pool_range attribute", which was lost during the ARM/Thumb
7529 merge.
7530
3437320b
BW
75312002-03-26 Bob Wilson <bob.wilson@acm.org>
7532
7533 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
7534 a register into the MAC16 accumulator.
7535
173028e5
AC
75362002-03-26 Andrew Cagney <ac131313@redhat.com>
7537
7538 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
7539 (Warning Options): Document -Wswitch-enum.
7540 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
7541 -Wswitch.
7542 (warn_switch_enum): Define variables.
7543 * flags.h (warn_switch_enum): Declare variables.
7544 * stmt.c (expand_end_case_type): When warn_switch_enum /
7545 -Wswitch-enum, perform switch checks.
7546 Fix PR c/5044.
7b2e1077 7547
e14365a7
RE
75482002-03-26 Richard Earnshaw <rearnsha@arm.com>
7549
7550 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
7551 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
7552 (reload_muladdsi_compare0_scratch): Delete.
7553
46fc709d
LR
75542002-03-26 Loren J. Rittle <ljrittle@acm.org>
7555
7556 * doc/install.texi (*-*-freebsd*): Update.
7557
f36dea3c
RH
75582002-03-26 Richard Henderson <rth@redhat.com>
7559
8e5fe23f
RH
7560 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
7561 (SUB_PARM_SIZE): Cast DEC to ssizetype.
7562
7563 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
7564 types from the normal argument frame.
7565
f36dea3c
RH
7566 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
7567 variable sized objects by reference.
7568 (sparc_va_arg): Receive them by reference too.
7569
1447dc69
HP
75702002-03-26 Hartmut Penner <hpenner@de.ibm.com>
7571
7572 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 7573 code to not restoring global registers.
1447dc69 7574
4f0ade92
NB
75752002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
7576
7577 * Makefile.in (ggc-common.o): Update.
7578 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
7579 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
7580 * c-tree.h (c_mark_tree): New.
7581 * ggc-common.c: Include langhooks.h.
7582 (gcc_mark_trees): Use new langhook.
7583 * ggc-callbacks.c: Delete file.
7584 * ggc.h (lang_mark_tree): Remove.
7585 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
7586 (LANG_HOOKS_INITIALIZER): Update.
7587 * langhooks.h (struct lang_hooks): New hook.
7588objc:
7589 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
7590
caba570b
ZW
75912002-03-25 Zack Weinberg <zack@codesourcery.com>
7592
7593 * doc/cpp.texi: Exclude entire Top node from printed manual.
7594 Move option index after directive index. Insert page breaks
7595 before GFDL and concept index. Index environment variables
7596 with command line options.
7597 * doc/cppenv.texi: Use @vtable for environment variable list.
7598 Add paragraph explaining semantics of empty elements in path
7599 variables. Exclude a cross-reference to Fishkill from the
7600 manpage. Remove an unnecessary cross-reference of the entry
7601 right above the referer. Don't use @anchor in text that goes
7602 into manpage.
7603 * doc/cppopts.texi: Cross-reference the environment variables
7604 section, not the specific environment variable, for consistency.
7605
6b2e80b7
RH
76062002-03-25 Richard Henderson <rth@redhat.com>
7607
7608 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
7609 anywhere in the block. Don't refer to insns that have been
7610 removed from the chain. Iterate backward through the new insns.
7611 Don't refer to edges that have been removed.
7612
67e469d7
AM
76132002-03-26 Alan Modra <amodra@bigpond.net.au>
7614
7615 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
7616 test for overflow of constant.
7617
f2356393
RE
76182002-03-25 Richard Earnshaw <rearnsha@arm.com>
7619
7620 PR target/2623
7621 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
7622 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
7623 these patterns on arm_archv4.
7624
355426ab
DS
76252002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
7626
7627 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
7628 int".
7629
15e5ad76
ZW
76302002-03-25 Zack Weinberg <zack@codesourcery.com>
7631
7632 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
7633 float_handled, float_handler, float_signal, set_float_handler,
7634 and do_float_handler. Set handler for SIGFPE to crash_signal.
7635 * toplev.h: Don't prototype do_float_handler.
7636
7637 * c-lex.c: Fold parse_float into lex_number. Make warning
7638 about portability of hex float constants more informative, and
7639 don't issue it on top of a syntax error.
7640 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
7641 their callers.
7642 * real.h: Define REAL_VALUE_ABS here...
7643 * simplify-rtx.c: ... not here. Fold check_fold_consts,
7644 simplify_unary_real, simplify_binary_real, and
7645 simplify_binary_is2orm1 into their callers.
7646 * tree.c: Fold build_real_from_int_cst_1 into caller.
7647
7648 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
7649
7650 * tsystem.h: Include float.h here...
7651 * libgcc2.c: ... not here.
7652
56ae9405
NC
76532002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
7654
7655 Fixes for: PR bootstrap/3591, target/5676
7656 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
7657 defined. Do not disable exceptions or rtti.
7658 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
7659 mcore.h. Disable exceptions and rtti, since they are not
7660 supported by EPOC.
7661
c88770e9
NB
76622002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
7663
7664 * c-decl.c (maybe_build_cleanup): Remove.
7665 * expr.c (expand_expr): Use langhook.
7666 * langhooks-def.h (lhd_return_null_tree,
7667 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
7668 (LANGHOOKS_INITIALIZER): Update.
7669 * langhooks.c (lhd_return_null_tree): New.
7670 * langhooks.h (struct lang_hooks): New hook.
7671 * tree-inline.c (initialize_inlined_parameters): Use langhook.
7672 * tree.h (maybe_build_cleanup): Remove.
7673
2ed1f154
JJ
76742002-03-25 Jakub Jelinek <jakub@redhat.com>
7675
7676 * regrename.c (build_def_use): Move recog_memoized
7677 before extract_insn.
7678
6ddae612
JJ
76792002-03-25 Jakub Jelinek <jakub@redhat.com>
7680
7681 PR target/6043
7682 * expr.c (emit_group_store): Handle storing into CONCAT.
7683
ea475b23
JJ
76842002-03-25 Jakub Jelinek <jakub@redhat.com>
7685
7686 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
7687 corresponding MATCH_DUP.
7688
e7d482b9
RH
76892002-03-24 Richard Henderson <rth@redhat.com>
7690
cd39fc13
RH
7691 * unroll.c (unroll_loop): Zero label_map.
7692
e7d482b9
RH
7693 * gcse.c: Include except.h.
7694 * Makefile.in (gcse.o): Update.
7695
1bd6476f
RH
76962002-03-24 Richard Henderson <rth@redhat.com>
7697
7698 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
7699 Do resolve_unique_section before shared data clause.
7700
2e6c150a
RH
77012002-03-24 Richard Henderson <rth@redhat.com>
7702
7703 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
7704
b29afcf8
RH
77052002-03-24 Richard Henderson <rth@redhat.com>
7706
15e5ad76 7707 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
7708 generated in the middle of a block. Do global life update if
7709 zapped EH edges.
7710
05ed1296
RH
77112002-03-24 Richard Henderson <rth@redhat.com>
7712
7713 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
7714
3ddbb8a9
NB
77152002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
7716
7717 preprocessor/3951
15e5ad76 7718 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
7719 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
7720 (init_dependency_output): Don't make no_output decision here.
7721
740b77b6
AC
77222002-03-24 Andrew Cagney <ac131313@redhat.com>
7723
7724 * stmt.c (check_for_full_enumeration_handling): Remove tests of
7725 warn_switch. Update description.
7726 (expand_end_case_type): Call check_for_full_enumeration_handling
7727 when warn_switch.
7728
7590cfd0
SC
77292002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7730
7731 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
7732 (m68hc11_split_move): Call it to see if the source and destination
7733 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 7734 source an offsetable memory operand and generate an add.
7590cfd0 7735
2e3d3481
SC
77362002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7737
7738 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
7739 register for operand 2.
7740 ("*subsi3_zero_extendqi"): Likewise.
7741 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
7742 bits so that it is compatible with a pop.
7743 ("*andhi3_gen"): Likewise.
7744 ("xorhi3"): Likewise.
7745
2784528c
NB
77462002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
7747
7748 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
7749 -pedantic here...
7750 (cpp_post_options): ... not here.
7751
aaf93206
NB
77522002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
7753 Aldy Hernandez <aldyh@redhat.com>
7754
7755 Removal of separate preprocessor cpp0.
7756
7757 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
7758 cpp0, install-common): Update.
7759 * c-common.c (flag_preprocess_only): New.
7760 (c_common_init): Preprocess for -E.
7761 * c-common.h (flag_preprocess_only): New.
7762 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
7763 * c-objc-common.c (c_init_decl_processing): Exit quickly
7764 for NULL return from c_common_init.
7765 * cpplib.h (cpp_preprocess_file): New.
7766 * cppmain.c (main, general_init, pfile, progname): Remove.
7767 (do_preprocessing): Rename cpp_preprocess_file, don't call
7768 cpp_finish. Don't close stdout here.
7769 (setup_callbacks): Update prototype.
7770 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
7771 Update.
7772 * tradcpp.c (main): Ignore -quiet.
7773objc:
7774 * lang-specs.h (default_compilers): Preprocess with cc1obj.
7775
c6e6f5c1
RH
77762002-03-24 Richard Henderson <rth@redhat.com>
7777
7778 PR optimization/5742
7779 * machmode.def: Add inner mode field to complex modes.
7780 * config/mips/mips.c (mips_function_value): Always define. Add
7781 new argument to handle libcalls.
7782 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
7783 (FUNCTION_VALUE): Likewise.
7784 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
7785 * config/mips/mips-protos.h: Update.
7786
d88e57d1
RH
77872002-03-23 Richard Henderson <rth@redhat.com>
7788
7789 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
7790 * config/sparc/sparc-protos.h: Update.
7791 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
7792
6dfaf9ba
RH
77932002-03-23 Richard Henderson <rth@redhat.com>
7794
7795 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
7796 _start or _init begins the text segment.
7797
0c769cf8
DE
77982002-03-23 David Edelsohn <edelsohn@gnu.org>
7799
7800 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
7801 not HOST_WIDEST_INT.
7802 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
7803
64e92a26
RE
78042002-03-23 Richard Earnshaw <rearnsha@arm.com>
7805
7806 PR java/5489
7807 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
7808 operand argument to output_return_instruction.
15e5ad76 7809 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
7810 const_true_rtx then just return.
7811 (arm_print_operand, case 'D'): If the operand is const_true_rtx
7812 then abort.
7813
d6961341
AC
78142002-03-23 Andrew Cagney <ac131313@redhat.com>
7815
7816 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
7817 (Warning Options): Document -Wswitch-default.
7818 * toplev.c (W_options): Add -Wswitch-default. Update comment on
7819 -Wswitch.
7820 (warn_switch_default): Define variable.
7821 (warn_switch): Update comment.
7822 * flags.h (warn_switch_default): Declare variable.
7823 (warn_switch): Update comment.
7824 * stmt.c (expand_end_case): Check for and, when
7825 warn_switch_no_default, warn of a missing default case.
15e5ad76 7826
d4c5ac1f
AM
78272002-03-23 Alan Modra <amodra@bigpond.net.au>
7828
bbaa9790
AM
7829 * real.h (N): Special case 128 bit doubles.
7830
d4c5ac1f
AM
7831 * combine.c (simplify_comparison): When widening modes, ignore
7832 sign extension on CONST_INTs.
7833
84bf8c2c
BW
78342002-03-22 Bob Wilson <bob.wilson@acm.org>
7835
7836 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
7837 passed to adjust_address. Fix comment formatting.
7838
7839
b216cd4a
ZW
78402002-03-22 Zack Weinberg <zack@codesourcery.com>
7841
7842 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
7843 Always make REAL_VALUE_TYPE a struct containing an array of
7844 HOST_WIDE_INT, not a double. Tidy up the code deciding how
7845 big it is. Don't declare or use union real_extract.
7846
7847 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
7848 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
7849 (print_operand), config/arm/arm.c (output_move_double),
7850 config/arm/arm.md (consttable_4, consttable_8),
7851 config/romp/romp.c (output_fpops), config/s390/s390.h
7852 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
7853 (xtensa_output_literal): Don't use union real_extract.
7854
7855 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
7856 (sfmode_constant_to_ulong), config/ns32k/merlin.h
7857 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
7858 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
7859 (PRINT_OPERAND): Don't use local version of union
7860 real_extract.
7861
7862 * config/convex/convex.c (check_float_value), config/vax/vax.c
7863 (vax_float_literal), config/m88k/m88k.md (divdf3),
7864 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
7865 config/pdp11/pdp11.c (output_move_quad): Don't do host
7866 arithmetic on target floating point quantities.
7867
7868 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
7869 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
7870
7871 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
7872 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
7873
7874 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
7875 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
7876 INFINITY.
7877 * print-rtl.c (print_rtx): Disable code which needs
7878 floating-point emulator.
7879 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
7880 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
7881 depending on HOST_FLOAT_FORMAT to be defined properly.
7882
7883 * config/1750a/1750a.c (get_double, float_label): Delete.
7884 (print_operand): Delete huge commented-out chunk. Use
7885 REAL_VALUE_TO_DECIMAL.
7886 * config/1750a/1750a-protos.h: Delete prototypes of deleted
7887 functions.
7888 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
7889 IEEE_FLOAT_FORMAT.
7890 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
7891 Use REAL_VALUE_TO_DECIMAL as ELF version does.
7892 * config/m88k/m88k.c (real_power_of_2_operand,
7893 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
7894 real_extract out of the union; run the input through
7895 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
7896 from that into the union.
7897 * config/pdp11/pdp11.c (output_move_double): Rearrange
7898 parentheses to make automatic indenter happy.
7899
7900 * doc/tm.texi (Cross-compilation): Rename node to "Floating
7901 Point" and rewrite to describe current situation. Also adjust
7902 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
7903 match code.
7904 * doc/rtl.texi: Adjust cross reference.
7905
a8cacfd2
BW
79062002-03-22 Bob Wilson <bob.wilson@acm.org>
7907
7908 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
7909 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
7910 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
7911 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
7912 prevent use of sp as a reload register.
7913 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
7914 non_acc_reg_operand.
7915 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
7916 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
7917 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
7918 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
7919
d4e6133f
NB
79202002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
7921
b216cd4a
ZW
7922 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
7923 * cpplex.c (unterminated): Delete.
7924 (parse_string): No string literal may extend over multiple
7925 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
7926 * cppmain.c (scan_translation_unit): Strings are single-line.
7927
b216cd4a 7928 * doc/cpp.texi: Update to match.
d4e6133f 7929
65e6c005
JJ
79302002-03-22 Jakub Jelinek <jakub@redhat.com>
7931
7932 PR optimization/5854
7933 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
7934 Shut up warnings.
7935 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
7936 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
7937 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
7938 const0 if scratch register was not allocated.
7939 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
7940 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
7941 with GEN_INT (...).
7942 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
7943 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
7944 with GEN_INT (...) everywhere. Remove constraints in define_split
7945 patterns.
7946 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
7947 require scratch register for setting 0 into regs/non-pushable memory.
7948
7f48c9e1
AO
79492002-03-22 Alexandre Oliva <aoliva@redhat.com>
7950
7951 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
7952 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
7953
909de5da
PE
79542002-03-22 Phil Edwards <pme@gcc.gnu.org>
7955
7956 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
7957 * cppinit.c (cpp_create_reader): On by default.
7958 (cpp_handle_option): Handle -W[no-]endif-labels.
7959 (cpp_post_options): Also enable if -pedantic.
7960 * cpplib.c (do_else): Use it.
7961 (do_endif): Likewise.
7962 * doc/cppopts.texi: Document new option.
7963 * doc/invoke.texi: Document new option.
7964
d8bf17f9
LB
79652002-03-22 Lars Brinkhoff <lars@nocrew.org>
7966
7967 * config/i386/i386.c, config/i386/i386.md: Change all occurences
7968 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
7969
70e0ccd0
AO
79702002-03-22 Alexandre Oliva <aoliva@redhat.com>
7971
7972 * flow.c (calculate_global_regs_live): Clear aux fields of
7973 ENTRY and EXIT.
7974
68882f0f
JJ
79752002-03-22 Jakub Jelinek <jakub@redhat.com>
7976
7977 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
7978 REG or MEM subregs, pass rtx * instead of rtx to it.
7979 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
7980 rtx * instead of rtx to alter_subreg.
7981 * config/m32r/m32r.c (gen_split_move_double): Likewise.
7982 * config/pj/pj.c (pj_output_rval): Likewise.
7983
648fe28b
RH
79842002-03-22 Richard Henderson <rth@redhat.com>
7985
7986 PR target/3177
7987 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
7988 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
7989 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
7990 (ia64_expand_prologue): Look at int_regs, not words, for number
7991 of incomming int regs.
7992
e8dcd824
AM
79932002-03-22 Andrew MacLeod <amacleod@redhat.com>
7994
7995 * expr.c (expand_expr): A RESULT_DECL is part of a call.
7996
96327cdc
JH
7997Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
7998
7999 * toplev.c (flag_loop_optimize, flag_crossjumping):
8000 New static variables.
8001 (rest_of_compilation): Conditionalize crossjumping and
8002 loop optimizer.
8003 (parse_options_and_default_flags): Default loop_optimize and
8004 crossjumping.
8005 (lang_independent_options): Add -fcrossjumping and -floop-optimize
8006 * invoke.texi (crossjumping, loop-optimize): Document.
8007
bc185257
RS
80082002-03-22 Richard Sandiford <rsandifo@redhat.com>
8009
8010 * real.c (eiisneg): Move outside #ifdef NANS.
8011
0a2ed1f1
JH
8012Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
8013
8014 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
8015 frequencies match; avoid match on different loop depths.
8016 (try_crossjump_to_bb): Kill tests that no longer brings time
8017 savings.
8018 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
8019 updating code.
8020 (split_edge): Likewise.
8021
8022 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
8023 variable.
8024
8025 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
8026 * cfgrtl.c: Include insn-config.h
8027 (split_block) Dirtify block in presence of conditional execution
8028
4d72536e
RS
80292002-03-22 Richard Sandiford <rsandifo@redhat.com>
8030
8031 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
8032 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
8033 (function_arg): Constify CUMULATIVE_ARGS.
8034 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
8035 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
8036 (UNITS_PER_DOUBLE): New macro.
8037 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
8038 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
8039 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
8040 fp_regs and stack_words.
8041 (EABI_FLOAT_VARARGS_P): New macro.
8042 * config/mips/mips.c (struct mips_arg_info): New.
8043 (mips_arg_info): New function.
8044 (function_arg_advance): Use it. Add adjustment instructions here
8045 rather than in function_arg.
8046 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
8047 for VOIDmode at the beginning of the function.
8048 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
8049 (function_arg_pass_by_reference): Likewise.
8050 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
8051 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
8052 (mips_va_start): Likewise. Use the new stack_words field of
8053 CUMULATIVE_ARGS to set up overflow area. Reformat.
8054 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
8055 doubles and other types, aligning the overflow pointer for non-doubles
8056 too. Remove some code duplication. Replace hard-coded constants.
8057
e6f884cd
RS
80582002-03-22 Richard Sandiford <rsandifo@redhat.com>
8059
8060 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
8061 (CLASS_UNITS): Undefine.
8062 (CLASS_MAX_NREGS): Use FP_INC.
8063 * config/mips/mips.c (compute_frame_size): Likewise.
8064 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
8065
10cf9bde
NB
80662002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
8067
8068 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
8069 prototype, and handle lexing numbers and identifiers.
8070 (parse_identifier): Update to new form of parse_slow.
8071 (parse_number): Fast path only, use parse_slow otherwise.
8072 (_cpp_lex_direct): Update calls to parse_number.
8073
fbc2782e
DD
80742002-03-21 DJ Delorie <dj@redhat.com>
8075
8076 * bb-reorder.c (make_reorder_chain_1): Protect against
8077 when redundant edges are omitted.
8078 * predict.c (dump_prediction): Likewise.
8079
fba39eaf
RH
80802002-03-21 Richard Henderson <rth@redhat.com>
8081
8082 PR target/5996
8083 * fixinc/inclhack.def (solaris_stdio_tag): New.
8084 * fixinc/fixincl.x: Regenerate.
8085
eba80994
EB
80862002-03-21 Eric Botcazou <ebotcazou@multimania.com>
8087
8088 PR c/5597
8089 * c-typeck.c (process_init_element): Flag non-static
8090 initialization of a flexible array member as illegal.
8091
2a78758b
AM
80922002-03-22 Alan Modra <amodra@bigpond.net.au>
8093
8094 * config/rs6000/t-linux64: New.
8095 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
8096 t-ppccomm. Use t-rs6000 and t-linux64.
8097 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
8098 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
8099 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
8100 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 8101
2cb921f4
AH
81022002-03-21 Aldy Hernandez <aldyh@redhat.com>
8103
eba80994
EB
8104 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
8105 flag_really_no_inline instead of optimize == 0.
2cb921f4 8106
eba80994 8107 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 8108
eba80994 8109 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 8110
eba80994 8111 * flags.h (flag_really_no_inline): New.
2cb921f4 8112
659e5a7a 8113 * c-common.c (c_common_post_options): Initialize
eba80994 8114 flag_really_no_inline.
2cb921f4 8115
eba80994 8116 * toplev.c (flag_really_no_inline): New.
2cb921f4 8117
239b8b9d
JJ
81182002-03-21 Jakub Jelinek <jakub@redhat.com>
8119
8120 * config/avr/avr.md (length): Fix length computation for
8121 conditional branches.
8122
43577e6b
NB
81232002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
8124
8125 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
8126 sdbout.o, profile.o): Update.
8127 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
8128 langhook.
8129 * c-common.h (gettags): Move here from tree.h.
8130 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
8131 insert_block, getdecls, kept_level_p, global_bindings_p): New.
8132 * dbxout.c (dbxout_init): Use getdecls langhook.
8133 * expr.c (expand_expr): Use insert_block langhook.
8134 * fold-const.c: Include langhooks.h.
8135 (fold_range_test, fold_binary_op_with_conditional_arg,
8136 fold): Use global_bindings_p langhook.
8137 * integrate.c (expand_inline_function): Use insert_block langhook.
8138 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
8139 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
8140 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
8141 LANG_HOOKS_GETDECLS): New.
8142 (LANG_HOOKS_INITIALIZER): Update.
8143 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
8144 langhook.
8145 * langhooks.h (struct lang_hooks_for_decls): New.
8146 (struct lang_hooks): Update.
8147 * profile.c: Include langhooks.h.
8148 (output_func_start_profiler): Use new langhooks.
8149 * sdbout.c: Include langhooks.h.
8150 (sdbout_init, sdbout_finish): Use getdecls langhook.
8151 * stmt.c: Include langhooks.h.
8152 (expand_fixup, fixup_gotos): Use new langhooks.
8153 * stor-layout.c: Include langhooks.h.
8154 (variable_size): Use global_bindings_p langhook.
8155 * toplev.c (compile_file): Use getdecls langhook.
8156 * tree-inline.c (remap_block): Use insert_block langhook.
8157 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
8158 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
8159
5b19b10c
RH
81602002-03-21 Richard Henderson <rth@redhat.com>
8161
8162 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
8163 constants in .data when -fpic.
8164
e05af335
GP
81652002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8166
8167 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
8168 where appropriate.
8169
60ffc997
TT
81702002-03-21 Tom Tromey <tromey@redhat.com>
8171
8172 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
8173
75897075
RK
8174Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8175
a73afd69 8176 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 8177
75897075
RK
8178 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
8179
312687cf
EB
81802002-03-21 Eric Botcazou <ebotcazou@multimania.com>
8181 Richard Henderson <rth@redhat.com>
8182
8183 PR c/5354
8184 * c-common.c (c_expand_expr): Preserve result of a statement
8185 expression if needed.
8186
f0e1f482
JJ
81872002-03-21 Jakub Jelinek <jakub@redhat.com>
8188
8189 PR bootstrap/4195
8190 * genrecog.c (maybe_both_true_mode): Remove.
8191 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
8192 * machmode.def (Pmode): Likewise.
8193
c14b9960
JW
8194Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
8195
8196 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
8197 (nonlocal_mentioned_p_1): New function.
8198 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
8199 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
8200 (mark_constant_function): Recognize pure functions.
8201 * rtl.h (global_reg_mentioned_p): New prototype.
8202 * rtlanal.c (global_reg_mentioned_p,
8203 global_reg_mentioned_p_1): New function.
8204
aaa4d130
RO
82052002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8206
8207 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
8208 UNIX assert.h.
8209 * fixinc/fixincl.x: Regenerate.
8210
e5c4bd1b
JM
82112002-03-20 Jason Merrill <jason@redhat.com>
8212
8213 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
8214
852b81bb
MM
82152002-03-20 Michael Meissner <meissner@redhat.com>
8216
8217 * doc/invoke.texi (Optimize Options): Document that -O2 sets
8218 -fstrict-aliasing.
8219
86d8c251
BW
82202002-03-20 Bob Wilson <bob.wilson@acm.org>
8221
8222 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
8223 ".literal_position" directive before the constant pool.
8224
0a39c350
GP
82252002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8226
8227 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
8228 Add Craig Rodrigues.
8229 Add Brad Lucier to testers.
8230
71a83373
JJ
82312002-03-20 Jakub Jelinek <jakub@redhat.com>
8232
8233 PR target/4792
8234 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
8235 to if_then_else.
8236 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
8237 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
8238 instead of insn_extract.
8239
a29b099d
JJ
82402002-03-20 Jakub Jelinek <jakub@redhat.com>
8241
8242 PR bootstrap/4192
71a83373 8243 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
8244
8245 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
8246 stmt if some case has been output.
8247
048b1c95
JJ
82482002-03-20 Jakub Jelinek <jakub@redhat.com>
8249
8250 PR c/5972
8251 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
8252 movsfcc_1, movdfcc_1): Add %O2.
8253 * config/i386/i386.c (print_operand): Handle %ON.
8254 Print . before float condition codes in Sun as cmov syntax.
8255 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
8256 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
8257 no longer true.
8258
f4864588
PB
82592002-03-20 Philip Blundell <pb@nexus.co.uk>
8260
8261 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
8262 return instruction if PC was popped.
8263
3a307de4
BW
82642002-03-20 Bob Wilson <bob.wilson@acm.org>
8265
8266 * config/xtensa/xtensa.md: Remove unused type attributes.
8267 (adddi_carry, subddi_carry): Change type attribute to "multi".
8268
048b1c95 82692002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
8270
8271 PR optimization/5999, middle-end/5731
8272 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
8273 multiplications by reciprocals.
8274
7afff7cf
NB
82752002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
8276
8277 * Makefile.in: Update.
8278 * c-common.c: Include langhooks.h.
8279 (inline_forbidden_p): Use new hook.
8280 * diagnostic.c: Include langhooks.h.
8281 (format_with_decl, announce_function,
8282 default_print_error_function): Use new hook.
8283 * dwarf2out.c (dwarf2_name): Use new hook.
8284 * function.c: Include langhooks.h.
8285 (init_function_start): Use new hook.
8286 * langhooks-def.h (lhd_decl_printable_name): New.
8287 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
8288 (LANGHOOKS_INITIALIZER): Update.
8289 * langhooks.c (lhd_decl_printable_name): New.
8290 * langhooks.h (struct lang_hooks): New hook.
8291 * toplev.c (decl_name, decl_printable_name): Remove.
8292 (open_dump_file): Use new hook.
8293 (process_options): Remove old hook.
8294 * tree.h (decl_printable_name): Remove.
8295objc:
8296 * objc-act.c (objc_init): Remove old hook.
8297 (objc_printable_name): Export.
8298 * objc-act.h (objc_printable_name): New.
8299 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
8300
f78ce0b7
JB
83012002-03-19 Jim Blandy <jimb@redhat.com>
8302
8303 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
8304 the start_source_file debug hook, not the current line number.
8305
15b5aef3
RH
83062002-03-19 Richard Henderson <rth@redhat.com>
8307
8308 * flow.c (EH_USES): Provide default.
8309 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
8310 * doc/tm.texi (EH_USES): New.
8311
8312 * config/ia64/ia64.c (ia64_eh_uses): New.
8313 * config/ia64/ia64-protos.h: Update.
8314 * config/ia64/ia64.h (EH_USES): New.
8315
02a7a3fd
RH
83162002-03-19 Richard Henderson <rth@redhat.com>
8317
8318 * varasm.c (output_constant_def): Fix stupid typo.
8319
93f82d60
RH
83202002-03-19 Richard Henderson <rth@redhat.com>
8321
2842be05 8322 PR 5879
93f82d60
RH
8323 * except.c (current_function_has_exception_handlers): New.
8324 * except.h: Declare it.
8325 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
8326 Combine tests that disable all sibcalls for the function.
8327
ed4fbfa0
OH
83282002-03-19 Olivier Hainque <hainque@act-europe.fr>
8329
8330 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
8331 for INTEGER_CST.
8332
ebf0e888
RH
83332002-03-19 Richard Henderson <rth@redhat.com>
8334
1e82682b 8335 PR 5977, 5991
ebf0e888
RH
8336 * config/ia64/ia64.c: Revert 2002-03-01 patch.
8337 * config/ia64/ia64.h (INIT_EXPANDERS): New.
8338
e37b38d7
JB
83392002-03-19 Jim Blandy <jimb@redhat.com>
8340
8341 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
8342 name, even if the replacement list contains no tokens, as required
8343 by Dwarf.
8344
2a4ea326
JM
83452002-03-19 Jason Merrill <jason@redhat.com>
8346
f9d09ae5
JM
8347 * varasm.c (globalize_decl): Get the name from the RTL, not
8348 DECL_ASSEMBLER_NAME.
8349
2a4ea326
JM
8350 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
8351
99b96edb
BW
83522002-03-19 Bob Wilson <bob.wilson@acm.org>
8353
8354 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
8355 subdi_carry): Define.
8356
3774b567
DE
83572002-03-19 David Edelsohn <edelsohn@gnu.org>
8358
8359 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
8360 about -fpic/-fPIC if extra_warnings set.
8361
21ef78aa
DE
83622002-03-19 David Edelsohn <edelsohn@gnu.org>
8363
8364 * expr.c (expand_expr): Sign-extend CONST_INT generated from
8365 TREE_STRING_POINTER.
0c2fdcdf 8366 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 8367
91d4b3fd
RK
8368Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8369
8370 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
8371 in favor of SP if FRAME_POINTER_REQUIRED is false.
8372
2496c7bd
LB
83732002-03-19 Lars Brinkhoff <lars@nocrew.org>
8374
8375 * emit-rtl.c (gen_int_mode): New function.
8376 * rtl.h: Prototype for it.
8377 * combine.c (make_extraction, simplify_comparison), expmed.c
8378 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
8379 (convert_modes, store_field), optabs.c (expand_fix),
8380 simplify-rtx.c (neg_const_int, simplify_unary_real),
8381
8382 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
8383 Use it instead of GEN_INT (trunc_int_for_mode (...)).
8384
f735a153
JJ
83852002-03-19 Jakub Jelinek <jakub@redhat.com>
8386
8387 PR c/5656
8388 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
8389 convert_parm_for_inlining.
8390 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
8391 Define.
8392 * langhooks-def.h: Likewise.
8393 * objc/objc-lang.c: Likewise.
8394 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
8395 function.
8396 * tree-inline.c (initialize_inlined_parameters):
8397 Call convert_parm_for_inlining lang hook if needed.
8398 * c-typeck.c (c_convert_parm_for_inlining): New function.
8399 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
8400
1929c971
MM
84012002-03-18 Mark Mitchell <mark@codesourcery.com>
8402
b216cd4a 8403 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
8404 can be destroyed after expanding the argument.
8405 (expand_call): Likewise.
8406
c79ca0ac
EC
84072002-03-15 Eric Christopher <echristo@redhat.com>
8408
8409 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
8410 Fix register preference on last change.
8411 * config/mips/mips.c (mips_return_in_memory): New function.
8412 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
8413 * config/mips/mips-protos.h: Declare.
8414 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
8415 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
8416
07e2e444
AO
84172002-03-18 Alexandre Oliva <aoliva@redhat.com>
8418
1bfbbbcf
AO
8419 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
8420 a register too.
8421 (anddi3, iorsi3): Likewise.
8422
c066429e
AO
8423 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
8424 use %gprel for symbols that are going to be placed in linkonce
8425 sections.
8426
07e2e444
AO
8427 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
8428 RETURN_ADDRESS_POINTER_REGNUM to $ra.
8429 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
8430 not needed. Disregard leaf_function_p().
8431 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
8432 mips16 frame pointer.
8433 * config/mips/mips.md (store ra): Only to small SP offsets.
8434 2001-08-22 Graham Stott <grahams@redhat.com>
8435 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
8436 return a REG rtx for the return address register.
8437
eb8e00ea
BW
84382002-03-18 Bob Wilson <bob.wilson@acm.org>
8439
8440 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
8441 constant-pool addresses as "mode-dependent".
8442 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
8443
cbb92744
JJ
84442002-03-18 Jakub Jelinek <jakub@redhat.com>
8445
8446 PR target/5740
8447 * expr.c (emit_group_load): Use extract_bit_field if
8448 needed for CONCAT arguments.
8449
657d9449
RE
84502002-03-18 Richard Earnshaw <rearnsha@arm.com>
8451
91f3a802 8452 PR target/4863
657d9449
RE
8453 * arm.md (tablejump): Make this a define_expand. For PIC add the
8454 offset to the base of the table.
8455 (thumb_tablejump): Matcher for Thumb tablejump insn.
8456 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
8457 as the difference of two labels.
8458 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8459 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
8460 tables in the code.
8461 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
8462 * arm.c (get_jump_table_size): If the table is not in the text
8463 section, return zero.
c79ca0ac 8464
5d5603e2
BS
84652002-03-18 Bernd Schmidt <bernds@redhat.com>
8466
8467 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
8468 of gen_rtx_SUBREG.
8469 (arm_reload_out_hi): Use gen_lowpart instead of
8470 gen_rtx_SUBREG to access QImode components.
8471 * config/arm/arm.md: Disable zero_extend split for QImode
8472 subregs in BIG_ENDIAN mode.
8473 (storehi_bigend): Match use of least significant byte.
8474 (storeinthi): Remove extraneous SUBREG.
66c17b64 8475 Add missing construction of operands[2].
5d5603e2
BS
8476 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
8477 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
8478 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
8479
df15fbc7
AH
84802002-03-18 Aldy Hernandez <aldyh@redhat.com>
8481
2496c7bd
LB
8482 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
8483 any_operand.
df15fbc7 8484
b83b7fa3
RH
84852002-03-17 Richard Henderson <rth@redhat.com>
8486
8487 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
8488 explicitly.
8489
6f7c00fe
HPN
84902002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
8491
8492 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
8493 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
8494
155038f2
KG
84952002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8496
720d42fa
KG
8497 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
8498
155038f2
KG
8499 * predict.c (estimate_bb_frequencies): Delete unused variables.
8500
e6542f4e
RH
85012002-03-17 Richard Henderson <rth@redhat.com>
8502
8503 * config/ia64/ia64.c (ia64_attribute_table): Move before
8504 targetm definition. Make static.
8505
52dabb6c
NB
85062002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
8507
8508 * c-common.h (yyparse, c_common_parse_file): New.
8509 * c-lang.c: Include c-common.h.
8510 (LANG_HOOKS_PARSE_FILE): Redefine.
8511 * c-lex.c: Include c-common.h.
8512 (yyparse): Rename c_common_parse_file. Call yyparse.
8513 * c-parse.in (yyparse): Remove macro.
8514 * c-tree.h (yyparse_1): Remove.
8515 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
8516 (LANG_HOOKS_INITIALIZER): Update.
8517 * langhooks.h (struct lang_hoooks): New hook parse_file.
8518 * toplev.c (compile_file): Use parse_file hook.
8519 * tree.h (yyparse): Remove.
e6542f4e 8520 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 8521
b5ffe606
HPN
85222002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
8523
ba82f58b
HPN
8524 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
8525 float_truncate, not fix.
8526 ("*truncdfsf2_real"): Ditto.
8527 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
8528
b5ffe606
HPN
8529 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
8530
c8d1b2b7
AO
85312002-03-16 Alexandre Oliva <aoliva@redhat.com>
8532
cfb773f9
AO
8533 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
8534 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
8535 where appropriate. Make the second reference to
8536 leaf_function_p a function call, as intended. Reindented.
8537
4dffef52
AO
8538 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
8539 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
8540
4f5bd6d7
AO
8541 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
8542 add register to non-constant into sp.
8543
c8d1b2b7
AO
8544 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
8545 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
8546 (mips16_gp_pseudo_rtx): Lose.
8547 (INIT_EXPANDERS): Deleted.
8548 * config/mips/mips.c (mips_init_machine_status): New.
8549 (mips_free_machine_status): New.
8550 (mips_mark_machine_status): New.
8551 (override_options): Set them.
8552 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
8553 (struct machine_function): ... new. Replaced all references.
8554 (mips_add_gc_roots): Don't mark them.
8555 (embedded_pic_fnaddr_reg): New, extracted from...
8556 (embedded_pic_offset): ... here.
8557 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
8558 (movsi): Likewise.
8559
b3124fac
NB
85602002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
8561
8562 * cppinit.c: Revert -MD removal.
8563
121449b6
SC
85642002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8565
8566 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
8567 soft registers by default for 68HC12.
8568 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
8569 when compiling with -fomit-frame-pointer.
8570 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
8571 (expand_epilogue): Likewise.
8572 (m68hc11_gen_rotate): Use exg when rotating by 8.
8573
840e2ff1
SC
85742002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8575
8576 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
8577 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
8578 (splits): Remove unused add splits.
8579 ("*addhi3_68hc12"): Tune constraints.
8580 ("addhi_sp"): Try to use X instead of Y in all cases and if the
8581 constant fits in 8-bits and D is dead use abx/aby instructions.
8582 ("*addhi3"): Remove extern declaration of ix_reg.
8583 ("*subsi3"): Optimize and provide new split.
8584 ("subhi3"): Cleanup.
8585 ("*subhi3_sp"): Avoid saving X if we know it is dead.
8586 (arith splits): For 68hc12 save the address register on the stack
8587 and do the arithmetic operation with a pop.
8588
3c9a5efe
SC
85892002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8590
8591 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
8592 allocating QImode in address registers.
8593 ("*movqi_m68hc11"): Likewise.
8594
e41f3392
JH
8595Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
8596
8597 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
8598
576786b0
NB
85992002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
8600
8601 * cppinit.c (print_help): Display -MD and -MMD.
8602 Don't display usage string. Update assertion syntax and
8603 typo.
8604 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
8605 (cpp_handle_option): Update.
8606
1ac458d4
CD
86072002-03-15 Chris Demetriou <cgd@broadcom.com>
8608
8609 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
8610 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
8611 and define it so that regardless of target CPU size,
8612 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
8613 of "int" rather than "long."
8614
1fcd592b
RH
86152002-03-15 Richard Henderson <rth@redhat.com>
8616
8617 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
8618 size as a tree.
8619
a0df6910
SC
86202002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8621
8622 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
8623 ("tstqi" split): Avoid using memory for tstqi on address register.
8624 (splits): Remove constraints.
8625 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
8626 ("cmpdf", "cmpsf"): Remove since not used.
8627 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
8628 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
8629
015a2e59
SC
86302002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8631
8632 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
8633 ("neghi2"): Tighten constraints.
8634 ("one_cmplsi2"): Optimize and simplify split.
8635 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
8636
cd28557c
SC
86372002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8638
8639 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
8640 and split of AND operation to clear the upper bits.
8641 ("*logicalsi3_zextqi"): Likewise.
8642 ("*logicallhi3_zexthi_ashift8"): Likewise.
8643 ("*logicalsi3_silshr16"): Likewise.
8644 ("logicalsi3_silshl16"): Likewise.
8645 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
8646
932657df
SC
86472002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8648
8649 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
8650 (m68hc11_indirect_p): New function.
8651 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
8652 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
8653 TARGET_M6812.
8654 (asm_print_register): Likewise.
8655 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
8656 (m68hc11_indirect_p): Declare.
8657 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
8658 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
8659 (TARGET_SWITCHES): New option -mrelax.
8660 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
8661 destination.
8662 ("iorsi3", "xorsi3"): Likewise.
8663 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
8664 ("*andhi3_mem"): New to handle destination in memory with bclr
8665 and a scratch register.
8666 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
8667 ("*andhi3_const"): New when operand2 is constant.
8668 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
8669 ("*andhi3_gen"): Cleanup of the old "andhi3".
8670 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
8671 ("xorqi3"): Update constraints.
8672
fdffea1a
SC
86732002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8674
8675 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
8676 for reg_equiv_memory_loc when the operand is a register that does
8677 not get a hard register (stack location).
8678 (tst_operand): After reload, accept all memory operand.
8679 (symbolic_memory_operand): Fix detection of symbolic references.
8680 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
8681 accept symbols and any constant.
8682
6272bc68
SC
86832002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8684
8685 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
8686 note on the insn that sets the soft frame register.
8687 (must_parenthesize): ix and iy are also reserved names.
8688 (print_operand_address): One more place where parenthesis are required
8689 to avoid confusion with register names.
8690 (m68hc11_gen_movhi): Allow push of stack pointer.
8691 (m68hc11_check_z_replacement): Fix handling of parallel with a
8692 clobber.
8693 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
8694 the replacement register is.
8695 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
8696 and D8_REGS classes.
8697 (MODES_TIEABLE_P): All modes are tieable except QImode.
8698
1d2d9def
SC
86992002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8700
8701 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
8702 (___subdi3): Likewise.
8703 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
8704 (__map_data_section): Optimize 68hc11 case.
8705
a0ccf503
SC
87062002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8707
8708 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
8709 than a shift to avoid adding a register with itself.
8710 (m68hc11_memory_move_cost): Take into account NO_REGS.
8711 (m68hc11_register_move_cost): Update and use memory move cost
8712 for soft registers.
8713 (m68hc11_address_cost): Make cost of valid offset not 0 so that
8714 it gives more opportunities to cse to optimize.
8715 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
8716 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
8717
6e4ae815
MM
87182002-03-15 Mark Mitchell <mark@codesourcery.com>
8719
8720 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
8721 * c-common.def (CLEANUP_STMT): New tree node.
8722 * c-common.h (CLEANUP_DECL): New macro.
8723 (CLEANUP_EXPR): Likewise.
8724 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
8725 * expr.c (expand_expr): Tidy.
8726 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
8727 * tree-inline.c (initialize_inlined_parameters): Clean up
8728 new local variables.
8729
a42519be
JJ
87302002-03-15 Jakub Jelinek <jakub@redhat.com>
8731
8732 PR bootstrap/4128
8733 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
8734 before movrXX only, use reg_overlap_mentioned_p.
8735 Only special case NE if just one insn can be generated.
8736
15409448
JM
87372002-03-15 Jason Merrill <jason@redhat.com>
8738
8739 * varasm.c (assemble_variable): Call resolve_unique_section before
8740 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
8741 of error_mark_node.
8742
3a4edb44
RE
87432002-03-15 Richard Earnshaw <rearnsha@arm.com>
8744
8745 PR target/5170
8746 * arm.md (split pattern for thumb shiftable immediates): Add comment
8747 explaining non-obvious test.
8748
32defa36
RE
87492002-03-15 Richard Earnshaw <rearnsha@arm.com>
8750
8751 PR target/5712
8752 * arm.md (movaddr, movaddr_insn): Delete.
8753
5cc90635
JM
87542002-03-15 Jason Merrill <jason@redhat.com>
8755
8756 * toplev.c (wrapup_global_declarations): Clarify variable handling.
8757 -fkeep-static-consts doesn't apply to comdats.
8758
ecb0eece
RH
87592002-03-14 Richard Henderson <rth@redhat.com>
8760
8761 * c-decl.c: Include c-pragma.h.
8762 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
8763 (finish_function): Tidy.
8764 * c-pragma.c: Include c-common.h.
8765 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
8766 (handle_pragma_weak): Use them.
8767 (init_pragma): Register pending_weaks.
8768 * c-pragma.h (maybe_apply_pragma_weak): Declare.
8769 * print-tree.c (print_node): Print DECL_WEAK.
8770 * varasm.c (mark_weak_decls): Remove.
8771 (remove_from_pending_weak_list): Remove.
8772 (add_weak): Remove.
8773 (asm_emit_uninitialised): Call globalize_decl for weak commons.
8774 (weak_decls): Make a tree_list.
8775 (declare_weak): Cons weak_decls directly.
8776 (globalize_decl): Remove weak_decls elements directly.
8777 (weak_finish): Simplify weak_decls walk. Don't weaken unused
8778 symbols. Don't pretend to handle aliases.
8779 (init_varasm_once): Update weak_decls registry.
8780 * Makefile.in: Update dependencies.
8781
98d2b17e
RH
87822002-03-14 Richard Henderson <rth@redhat.com>
8783
8784 PR target/5312
8785 * config/ia64/ia64.c: Include tm_p.h last.
8786 (gen_nop_type): Remove duplicate definition.
8787 (cycle_end_fill_slots): Set sched_data for second L slot.
8788 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
8789 (nop_cycles_until): Fix typos.
8790
f2f4927e
JJ
87912002-03-15 Jakub Jelinek <jakub@redhat.com>
8792
8793 PR optimization/5891
8794 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
8795
5025a549
DM
87962002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
8797
8798 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
8799 descriptors correctly.
8800
03e9dbc9
MM
88012002-03-14 Michael Meissner <meissner@redhat.com>
8802
8803 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
8804 100, allowing MAX_UNROLLED_INSNS to be overridden.
8805
8806 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
8807 --param.
8808
8809 * unroll.c (params.h): Include.
8810 (MAX_UNROLLED_INSNS): Delete, now in params.h.
8811
8812 * doc/invoke.texi (--param max-unroll-insns): Document.
8813
8814 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
8815
12249385
RE
88162002-03-14 Richard Earnshaw <rearnsha@arm.com>
8817
8818 * arm.md: Fix warnings about constraints in peepholes and splits.
8819
f0cce04a
ZW
88202002-03-14 Zack Weinberg <zack@codesourcery.com>
8821
8822 * cpphash.h (struct lexer_state): Remove line_extension member.
8823 * cpplib.c (dequote_string, do_linemarker): New functions.
8824 (linemarker_dir): New data object.
8825 (DIRECTIVE_TABLE): No longer need to interpret #line in
8826 preprocessed source. Delete obsolete comment about return
8827 values of handlers.
8828 (end_directive, directive_diagnostics, _cpp_handle_directive):
8829 Don't muck with line_extension.
8830 (directive_diagnostics): No need to issue warnings for
8831 linemarkers here.
8832 (_cpp_handle_directive): Issue warnings for linemarkers here,
8833 when appropriate. Dispatch linemarkers to do_linemarker, not
8834 do_line.
8835 (do_line): Code to handle linemarkers split out to do_linemarker.
8836 Convert escape sequences in filename argument, both places.
8837
8838 * cppmacro.c (quote_string): Rename cpp_quote_string and
8839 export. All callers changed.
8840 * cpplib.h (cpp_quote_string): Prototype.
8841 * cppmain.c (print_line): Call cpp_quote_string on to_file
8842 before printing it.
8843
8844 * doc/cpp.texi: Document that escapes are now interpreted in
8845 #line and in linemarkers, and that non-printing characters are
8846 converted to octal escapes when linemarkers are generated.
8847
8848Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
8849
8850 * emit-rtl.c (try_split): Use delete_insns.
8851 * recog.c (split_all_insns): Fix terminating condition.
8852
c882c7ac
RE
88532002-03-14 Richard Earnshaw <rearnsha@arm.com>
8854 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
8855
8856 PR target/5828
8857 * arm.c (arm_output_epilogue): Fix floating-point register save
8858 adjustment when using a frame pointer.
8859
3f26edaa
RS
88602002-03-14 Richard Sandiford <rsandifo@redhat.com>
8861
8862 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
8863 * config/mips/mips.c (compute_frame_size): Retrofit them here.
8864 (save_restore_insns, mips_expand_epilogue): And here.
8865 (build_mips16_call_stub): And here.
8866 (mips_function_value): Use the new macros to decide whether a single
8867 or complex float can be returned in floating-point registers. Return
8868 a parallel rtx in the complex case.
8869
1e3881c2
JH
8870Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
8871
8872 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
8873 call after liveness analysis.
8874
8875 * recog.c (split_insn): Use delete_insn_and_edges.
8876
8877 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
8878 instructions to have branch prediction notes.
8879 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
8880
200ef634
GK
88812002-03-14 Geoffrey Keating <geoffk@redhat.com>
8882
8883 * configure.in: Don't pass -Wno-long-long to a ADA compiler
8884 that doesn't support it.
8885 * configure: Regenerate.
8886
0b82d204
JJ
88872002-03-13 Jakub Jelinek <jakub@redhat.com>
8888
8889 PR target/5626
8890 * config/sparc/sparc.md (normal_branch, inverted_branch,
8891 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
8892 inverted_fp_branch): Adjust calls to output_cbranch.
8893 Set length attribute.
8894 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
8895 output_v9branch. Set length attribute.
8896 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
8897 predicates.
8898 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
8899 (output_cbranch): Likewise. Handle far branches.
8900 (output_v9branch): Handle far branches.
8901 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
8902 Adjust prototypes.
8903 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
8904 noov_compare64_op predicates.
8905
7a8de19b
JM
89062002-03-13 Jason Merrill <jason@redhat.com>
8907
8908 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
8909 into the function and constify it.
8910 * gthr-dce.h, gthr-solaris.h: Likewise.
8911
2a55fd42
DE
89122002-03-13 David Edelsohn <edelsohn@gnu.org>
8913
8914 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
8915 * config/rs6000/rs6000.c (rs6000_va_arg): Use
8916 std_expand_builtin_va_arg if not ABI_V4.
8917
19c5b1cf
JM
89182002-03-13 Jason Merrill <jason@redhat.com>
8919
8920 * varasm.c (globalize_decl): New fn.
8921 (assemble_start_function): Use it.
8922 (asm_emit_uninitialized): Use it.
8923 (assemble_alias): Use it.
8924 (assemble_variable): Use it.
8925
2a15f5e1
HPN
89262002-03-13 Hans-Peter Nilsson <hp@axis.com>
8927
8928 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 8929 2002-03-12 internal visibility change.
2a15f5e1
HPN
8930 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
8931 visibility into SYMBOL_REF_FLAG.
8932
c0a3eeac
UW
89332002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
8934
8935 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
8936 VOIDmode operand. Add compile-time optimization for constant results.
8937
a1652cee
JM
89382002-03-12 Jason Merrill <jason@redhat.com>
8939
8940 * c-typeck.c (convert_for_assignment): Don't allow conversions
8941 between pointers and references. Only allow lvalues to convert to
8942 reference.
8943
c52a375d
HP
89442002-03-13 Hartmut Penner <hpenner@de.ibm.com>
8945
f0cce04a
ZW
8946 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
8947 before prologue, to avoid scheduling problems.
c52a375d 8948
e387e99b
JJ
89492002-03-13 Jakub Jelinek <jakub@redhat.com>
8950
8951 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
8952 (ELIMINABLE_REGS): Add sfp->sp.
8953 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
8954
89552002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
8956
8957 PR optimization/5892
8958 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
8959
4061c1a3
JJ
89602002-03-13 Jakub Jelinek <jakub@redhat.com>
8961
8962 * loop.c (basic_induction_var): Don't call convert_modes if mode
8963 classes are different.
8964
5b43fed1
RH
89652002-03-12 Richard Henderson <rth@redhat.com>
8966
9f53e965
RH
8967 PR optimization/5901
8968 * function.c (reposition_prologue_and_epilogue_notes): Position
8969 the markers after/before the last/first insn not deleted.
8970
89712002-03-12 Richard Henderson <rth@redhat.com>
8972
8973 PR optimization/5878
5b43fed1
RH
8974 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
8975 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
8976 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
8977
8978 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
8979 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
8980 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
8981
8982 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
8983 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
8984 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
8985 also. Don't set it if not flag_pic.
8986 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
8987 to be INVALID_REGNUM when not used.
8988
4e9bb42b
AH
89892002-03-13 Aldy Hernandez <aldyh@redhat.com>
8990
5b43fed1
RH
8991 * expmed.c (store_bit_field): Reset alias set for memory.
8992 (extract_bit_field): Same.
4e9bb42b 8993
2f9834e8
KG
89942002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8995
8996 * c-common.c (c_tree_code_type, c_tree_code_length,
8997 c_tree_code_name, add_c_tree_codes): Delete.
8998 * c-common.h (add_c_tree_codes): Delete.
8999 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
9000 Define.
9001 * c-objc-common.c (c_objc_common_init): Don't call
9002 add_c_tree_codes, instead set lang_unsafe_for_reeval.
9003 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
9004 objc_tree_code_name, add_objc_tree_codes): Delete.
9005 (objc_init): Don't call add_objc_tree_codes.
9006 * objc/objc-lang.c (tree_code_type, tree_code_length,
9007 tree_code_name): Define.
9008 * toplev.c (lang_independent_init): Don't set
9009 tree_code_length[IDENTIFIER_NODE].
9010 * tree.c (tree_code_type, tree_code_length, tree_code_name):
9011 Delete definitions, moved to language front-ends.
9012 * tree.def (IDENTIFIER_NODE): Hardwire the length.
9013 * tree.h (tree_code_type, tree_code_length, tree_code_name):
9014 Const-ify.
9015 (tree_code_length): Change type to unsigned char.
9016
36ad2436
RH
90172002-03-12 Richard Henderson <rth@redhat.com>
9018
9019 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
9020 internal visibility change.
9021
0ae02efa
BW
90222002-03-12 Bob Wilson <bob.wilson@acm.org>
9023
9024 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
9025 validize_mem() instead of change_address to avoid clobbering
9026 memory attributes.
9027
35bb2bee
NB
90282002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
9029
9030 * c-lex.h (position_after_whitespace): Remove.
9031
62ae2529
JJ
90322002-03-12 Jakub Jelinek <jakub@redhat.com>
9033
9034 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
9035 (lex_string): Use unsigned char pointers.
9036
6a45951f
UW
90372002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
9038
9039 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
9040 is not a valid memory_operand.
9041
e2fb85da
BW
90422002-03-12 Bob Wilson <bob.wilson@acm.org>
9043
9044 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
9045 * config/xtensa/lib1funcs.asm: Fix copyright to include
9046 special case for libgcc files.
9047 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
9048 (__divsi3): Likewise.
9049 (__umodsi3): Likewise.
9050 (__modsi3): Likewise.
9051 * config/xtensa/lib2funcs.S: Fix copyright to include
9052 special case for libgcc files.
9053
5b8619f8
TR
90542002-03-12 Tom Rix <trix@redhat.com>
9055
9056 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 9057 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
9058 (ignore_library): Same.
9059
089c8f97
BW
90602002-03-12 Bob Wilson <bob.wilson@acm.org>
9061
9062 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
9063
958c70ff
BW
90642002-03-12 Bob Wilson <bob.wilson@acm.org>
9065
9066 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
9067 to function_section before writing out the constant pool.
9068
a65c591c
DE
90692002-03-12 David Edelsohn <edelsohn@gnu.org>
9070
9071 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
9072 zero_constant.
9073 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
9074
90752002-03-12 Alan Modra <amodra@bigpond.net.au>
9076
9077 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
9078 (adddi3): Likewise.
9079 (movdf): Likewise.
9080 (movdi): Likewise.
9081 (cmpsi splitter): Likewise.
9082 (modsi3): Fail if <= 0.
9083 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
9084 redundant test when HOST_BITS_PER_WIDE_INT != 32.
9085 (reg_or_sub_cint64_operand): Likewise.
9086 (num_insns_constant_wide): Optimize sign extension.
9087 (rs6000_legitimize_address): Likewise.
9088
17720332
AM
90892002-03-12 Andrew MacLeod <amacleod@redhat.com>
9090
9091 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
9092 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
9093
cd49f073
AM
90942002-03-12 Andrew MacLeod <amacleod@redhat.com>
9095
9096 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
9097 address calculation.
9098
6a4e49c1
UW
90992002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
9100
9101 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
9102 scratch register to DImode / TImode.
9103 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
9104 register used does not overlap the target.
9105
54b6670a
KG
91062002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9107
9108 * Makefile.in (debug.o): Depend on debug.h.
9109 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
9110 * debug.c (do_nothing_debug_hooks): Likewise.
9111 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
9112 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
9113 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
9114 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
9115 * dwarfout.c (dwarf_debug_hooks): Likewise.
9116 * integrate.c (output_inline_function): Likewise.
9117 * objc/objc-act.c (synth_module_prologue): Likewise.
9118 * sdbout.c (sdb_debug_hooks): Likewise.
9119 * toplev.c (debug_hooks): Likewise.
9120 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
9121
2465bf76
KG
91222002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9123
9124 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
9125 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
9126 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
9127 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
9128 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
9129 * defaults.h (POINTER_SIZE): Define.
9130 * doc/tm.texi (POINTER_SIZE): Document default.
9131
53f3e9ca
KG
91322002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9133
9134 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
9135
44d3eb5b
RH
91362002-03-11 Richard Henderson <rth@redhat.com>
9137
9138 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
9139 if rebuild_label_notes_after_reload.
9140
4a085d2e
HPN
91412002-03-12 Hans-Peter Nilsson <hp@axis.com>
9142
9143 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
9144 emit pic register load if "internal" visibility.
9145 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
9146 (cris_expand_builtin_va_arg): Do all computations on trees.
9147
bc204393
RH
91482002-03-11 Richard Henderson <rth@redhat.com>
9149
9150 * rtlanal.c: Include recog.h.
9151 (keep_with_call_p): Fix thinko.
9152 * Makefile.in (rtlanal.o): Update dependencies.
9153
6b8b9d7b
CM
91542002-03-11 Chris Meyer <cmeyer@gatan.com>
9155
9156 * genflags.c (gen_insn): Use IS_VSPACE.
9157 * genoutput.c (output_insn_data): Likewise.
9158 (process_template): Likewise.
9159
6c40858f
RH
91602002-03-11 Richard Henderson <rth@redhat.com>
9161
9162 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
9163
40adaa27
NB
91642002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
9165
9166 * Makefile.in: Update.
6c40858f 9167 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 9168 Update documentation.
6c40858f
RH
9169 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
9170 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 9171
049b03f4
ZW
91722002-03-11 Zack Weinberg <zack@codesourcery.com>
9173
9174 * Makefile.in: Give texi2pod its input file as a command line
9175 argument, not on stdin.
9176
61eece67
DN
91772002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
9178 Daniel Berlin <dan@dberlin.org>
9179
9180 C++ alias analysis improvement.
f0cce04a 9181 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
9182 classes too.
9183
a65c591c
DE
91842002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
9185
ff080aba
UW
9186 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
9187
1682dbb1
DR
91882002-03-11 Douglas B Rupp <rupp@gnat.com>
9189
fa2d765a
DR
9190 * toplev.c (vms_fopen): Remove, not needed.
9191
6f1fd286
DR
9192 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
9193
b230e057
DR
9194 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
9195
cb9a8e97
DR
9196 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
9197 for FP, already done later.
9198
1682dbb1
DR
9199 * toplev.c (debug_args): Add entry for VMS_DEBUG.
9200 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
9201
3fcaac1d
RS
92022002-03-11 Richard Sandiford <rsandifo@redhat.com>
9203
9204 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
9205 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
9206 LARGEST_EXPONENT_IS_NORMAL for the given mode.
9207 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
9208 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
9209 (ediv, emul, eldexp, esqrt): Likewise.
9210 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
9211 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
9212 (saturate): New function.
9213 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
9214 (make_nan): Use a saturation value instead of a NaN if
9215 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
9216 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
9217 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
9218 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
9219 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
9220 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
9221 !ROUND_TOWARDS_ZERO.
9222 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
9223 (ROUND_TOWARDS_ZERO): Document.
9224
d25558be
AJ
92252002-03-11 Andreas Jaeger <aj@suse.de>
9226
9227 * cfg.c (dump_flow_info): Remove unused variable.
9228
c71f9ae7
HPN
92292002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
9230
9231 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
9232 computations on trees.
9233
561c9153
RH
92342002-03-10 Richard Henderson <rth@redhat.com>
9235
932b4e3e 9236 PR 5693:
561c9153
RH
9237 * reload.c (copy_replacements_1): New.
9238 (copy_replacements): Use it to recurse through the rtx.
9239
26b738be
RH
92402002-03-10 Richard Henderson <rth@redhat.com>
9241
9242 * loop.c (strength_reduce): Compute number of iterations as
9243 unsigned HOST_WIDE_INT.
9244
8d8a083e
RH
92452002-03-10 Richard Henderson <rth@redhat.com>
9246
9247 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
9248 to move away from the end of the block.
9249
32810ba3
NB
92502002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
9251
9252 PR preprocessor/5899
9253 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 9254
2b03d201
KG
92552002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9256
f90c544c
KG
9257 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
9258
2b03d201
KG
9259 * attribs.c (decl_attributes): Fix signed/unsigned warning.
9260
3ec1b4cb
HPN
92612002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
9262
9263 * config/mmix/mmix.c: Improve comments.
9264 (mmix_target_asm_function_prologue): Drop variable
9265 empty_stack_frame. Don't allocate unused slot above fp.
9266 (mmix_target_asm_function_epilogue): Mirror prologue changes.
9267 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
9268 brace in first column.
9269 (enum reg_class): Ditto.
9270 (FIRST_PARM_OFFSET): Now 0.
9271 (USER_LABEL_PREFIX): Remove #if 0:d definition.
9272
27e486c5
KG
92732002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9274
9275 * combine.c (make_extraction): Fix error in last change.
9276
0139adca
KG
92772002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9278
9279 * c4x.c (c4x_fp_reglist): Const-ify.
9280 * cris.c (cris_print_operand): Likewise.
9281 * i386.c (ix86_va_arg): Likewise.
9282 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
9283 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
9284 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
9285 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
9286 * mcore.h (regno_reg_class): Likewise.
9287 * mips.c (gen_int_relational): Likewise.
9288 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
9289 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 9290 * pdp11.c (move_costs): Likewise.
0139adca
KG
9291 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
9292 * s390.c (s390_branch_condition_mnemonic, regclass_map):
9293 Likewise.
9294 * s390.h (regclass_map): Likewise.
9295 * sh.c (shift_amounts): Likewise.
a4334c36 9296 * sh.md (rotlsi3): Likewise.
0139adca 9297
889b90a1
GK
92982002-03-09 Geoffrey Keating <geoffk@redhat.com>
9299
9300 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
9301 (ne0+5): Use new clobber to generate proper shift pattern.
9302 Patch by Michael Matz <matz@kde.org>.
9303
2877e0ae
AS
93042002-03-09 Andreas Schwab <schwab@suse.de>
9305
9306 * gcc.c (validate_all_switches): Also handle `%W{...}'.
9307
79b51cd7
GK
93082002-03-09 Geoffrey Keating <geoffk@redhat.com>
9309
9310 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
9311
e0f1be5c
JJ
93122002-03-09 Jakub Jelinek <jakub@redhat.com>
9313
9314 PR middle-end/5877
9315 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
9316 even for non-representable constants.
9317
0a7ec763
RK
9318Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9319
93fe8e92
RK
9320 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
9321 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
9322 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
9323 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
9324 (pop_function_context): Compute MAY_SHARE parameter for
9325 fixup_var_refs.
9326 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
9327 (gen_mem_addressof): Call fixup_var_refs with new parm.
9328
0a7ec763
RK
9329 * combine.c (make_extraction): Don't make extension of CONST_INT.
9330
a85cd407
AO
93312002-03-09 Alexandre Oliva <aoliva@redhat.com>
9332
9445b814
AO
9333 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
9334 in o32 and o64 ABIs.
9335 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
9336 but getting fixed-size structs passed in registers regardless of
9337 padding in o32 and o64 ABIs.
9338
a85cd407
AO
9339 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
9340 offset before loading address of argument passed by transparent
9341 reference.
9342
c51fbe40
JDA
93432002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
9344
9345 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
9346
918e70dd
AO
93472002-03-09 Alexandre Oliva <aoliva@redhat.com>
9348
9349 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
9350 marker such that registers after it are saved.
9351
3070dd00
KG
93522002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9353
9354 * sparc.c (arith_4096_operand): Fix error in last change.
9355
e25d11b0
AO
93562002-03-08 Alexandre Oliva <aoliva@redhat.com>
9357
9358 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
9359 defaults for MEABI.
9360
41daaf0e
AH
93612002-03-08 Aldy Hernandez <aldyh@redhat.com>
9362
5b43fed1
RH
9363 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
9364 vectors.
41daaf0e 9365
fa139b00
AH
93662002-03-08 Aldy Hernandez <aldyh@redhat.com>
9367
5b43fed1 9368 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 9369
c51d95ec
JH
9370Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
9371
9372 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
9373 removed; fix return value.
9374 * combine.c (combine_instructions): Dirtify blocks where we failed to
9375 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
9376 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
9377
3b25fbfe
KG
93782002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9379
9380 * gcse.c (insert_insn_end_bb): Fix typo in last change.
9381
189ae0f4
JH
9382Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
9383
9384 * recog.c (peephole2_optimize): Re-distribute EH edges.
9385
24965e7a
NB
93862002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
9387
9388 * expr.c (expand_expr): Use unsave lang hook.
9389 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
9390 (LANG_HOOKS_INITIALIZER): Update.
9391 * langhooks.h (struct lang_hooks): New hook unsave.
9392 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
9393 (unsave_expr_1): Remove unused lang_unsave_expr_now.
9394 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
9395 (unsave_expr_now): Remove.
9396 * tree.h (unsave_expr_now, lang_unsave,
9397 lang_unsave_expr_now): Remove.
9398 (lhd_unsave): New.
9399
1e4e95d6
AJ
94002002-03-08 Andreas Jaeger <aj@suse.de>
9401
9402 * flow.c (propagate_block_delete_insn): Remove unused variable.
9403
054ef905
KH
94042002-03-08 Kazu Hirata <kazu@hxi.com>
9405
9406 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
9407 insn length for memory load/store.
9408
5304400d 94092002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 9410
5304400d
CR
9411 * doc/install.texi (--with-libiconv-prefix): Document.
9412
81034129
MB
94132002-03-08 Michael Y. Brukman <myb2@cornell.edu>
9414
9415 * doc/sourcebuild.texi: Fix typo.
9416
71db7d03
JJ
94172002-03-08 Jakub Jelinek <jakub@redhat.com>
9418
9419 PR c/3711
9420 * builtins.c (std_expand_builtin_va_arg): Do all computations on
9421 trees.
9422
127c1ba5
RK
9423Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9424
9425 * rtl.c (copy_most_rtx): Move from here ...
9426 * emit-rtl.c (copy_most_rtx): ... to here.
9427
8a13c092
AO
94282002-03-08 Alexandre Oliva <aoliva@redhat.com>
9429
5faae4f7
AO
9430 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
9431 SUBTARGET_CPP_SIZE_SPEC.
9432 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
9433
8a13c092
AO
9434 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
9435
4ec59de2
MH
94362002-03-07 Matt Hiller <hiller@redhat.com>
9437
9438 * gensupport.c (first_dir_md_include): Renamed from include;
9439 change all references.
9440 (last_dir_md_include): Renamed from last_include; change all
9441 references.
9442 (init_md_reader): Unconditionally initialize base_dir whether or
9443 not filename is a relative path.
9444
12f61e77
AO
94452002-03-07 Alexandre Oliva <aoliva@redhat.com>
9446
95356058
AO
9447 * config/fp-bit.c (_unord_f2): Compile it in even if
9448 US_SOFTWARE_GOFAST is enabled.
9449
12f61e77
AO
9450 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
9451 NULL_RTX. Set all HFmode operations as NULL_RTX.
9452 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
9453 NULL_RTX, try reversing the comparison and the operands.
9454
6d7a1c4c
UW
94552002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
9456
9457 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
9458 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
9459 and MATCH_OP_DUP.
9460
66d54344
JH
9461Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
9462
9463 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
9464
068473ec
JH
9465Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
9466
9467 * basic-block.h (fixup_abnormal_edges): Declare.
9468 * reload1.c (fixup_abnormal_edges): New function.
9469 * reg-stack.c (convert_regs): Use it.
9470
9471 * gcse.c (insert_insn_end_bb): Handle trapping insns.
9472
9473 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
9474
71925bc0
RS
94752002-03-07 Richard Sandiford <rsandifo@redhat.com>
9476
9477 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
9478 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
9479 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
9480 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
9481 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
9482 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
9483 unless x and y could be infinite.
9484 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
9485 Check that the common type of both arguments is a real, even for
9486 targets without unordered comparisons. Allow an integer argument
9487 to be compared against a real.
9488 (expand_tree_builtin): Use expand_unordered_cmp.
9489 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
9490 * cse.c (fold_rtx): Likewise. Fix indentation.
9491 * fold-const.c (fold_real_zero_addition_p): New.
9492 (fold): Use it, and the new HONOR_... macros.
9493 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
9494 * jump.c (reversed_comparison_code_parts): After searching for
9495 the true comparison mode, use HONOR_NANS to decide whether it
9496 can be safely reversed.
9497 (reverse_condition_maybe_unordered): Remove IEEE check.
9498 * simplify-rtx.c (simplify_binary_operation): Use the new macros
9499 to decide which simplifications are valid. Allow the following
9500 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
9501 and (a - -b) to (a + b).
9502 (simplify_relational_operation): Use HONOR_NANS.
9503 * doc/tm.texi: Document the MODE_HAS_... macros.
9504
145d3bf2
RE
95052002-03-07 Richard Earnshaw <rearnsha@arm.com>
9506
9507 * combine.c (simplify_comparison): If simplifying a logical shift
9508 right and compare with constant, force the comparison to unsigned.
9509
76a773f3
AH
95102002-03-07 Aldy Hernandez <aldyh@redhat.com>
9511
5b43fed1 9512 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 9513
5b43fed1
RH
9514 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
9515 -mabi=no-altivec
9516 (alt_reg_names): Remove % for vrsave.
76a773f3 9517
ab55f58c
RH
95182002-03-06 Richard Henderson <rth@redhat.com>
9519
5ddec02e 9520 PR optimization/5844
ab55f58c
RH
9521 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
9522 if used indicates we've already emitted one copy of an operand.
9523 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
9524 (gen_split): Supply a non-null used.
9525
e16e3291
UW
95262002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
9527
5b43fed1 9528 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 9529
1e4e95d6 9530 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
9531 but simply fail if the expression is too complex to simplify.
9532 (simplify_gen_binary): Handle simplify_plus_minus failures.
9533
2ca6672b
JH
9534Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
9535
9536 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
9537 consistently call delete_trivially_dead_insns after CSE and GCSE;
9538 fix DFI_life dumping; do jump threading after liveness; do crossjumping
9539 after liveness2; update comment in last crossjumping.
9540 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
9541
31d0dd4f
JL
9542Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
9543
d094b0b3
JL
9544 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
9545 after completing fast dead code elimination.
9546
31d0dd4f
JL
9547 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
9548 COMPARE operator.
1e4e95d6 9549
f2b958b1
PE
95502002-03-06 Phil Edwards <pme@gcc.gnu.org>
9551
9552 * version.c: Fix misplaced leading blanks on first line.
9553
a2877a09
JH
9554Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
9555
9556 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
9557
fe477d8b
JH
9558Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
9559
9560 * cfgcleanup.c (mentions_nonequal_regs): New function.
9561 (thread_jump): Use it.
9562 * toplev.c (rest_of_compilation): Run jump threading after
9563 liveness.
9564
2041cde4
JJ
95652002-03-06 Jakub Jelinek <jakub@redhat.com>
9566
9567 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
9568 patch.
9569
82d68d46
JH
9570Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
9571
9572 * predict.c (estimate_bb_frequencies): Do not reload the
9573 frequencies from notes.
9574
3dec4024
JH
9575Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
9576
9577 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
9578 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
9579
9580 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
9581 delete_noop_moves): Return indeger.
9582 * flow.c (ndead): New variable.
9583 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
9584 BB argument; update callers.
9585 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
9586 (life_analysis): Do not call purge_all_dead_edges.
9587 (update_life_info): Return number of deleted insns; print statistics.
9588 (update_life_info_in_dirty_blocks): likewise.
9589 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
9590 return number of insns deleted.
9591
9592 * cse.c: Include timevar.h
9593 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
9594 iterate until stabilizes; print statistics; return number of killed
9595 insns.
9596 * Makefile.in: (cse.o): Add timevar.h dependency
9597 * rtl.h (delete_trivially_dead_insns): New.
9598 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
9599 * toplev.c (rest_of_compilation): Update callers.
9600
9601 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
9602 (try_optimize_cfg): Do not update liveness.
9603 (cleanup-cfg): Loop until try_optimize_cfg and dead code
9604 removal stabilizes; use delete_trivially_dead_insns.
9605
9606 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
9607
c7544dd8
ZW
96082002-03-05 Zack Weinberg <zack@codesourcery.com>
9609
9610 * cppmain.c (setup_callbacks): Disable #pragma and #ident
9611 callbacks when processing assembly language.
9612
50b424a9
JDA
96132002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
9614
9615 * pa.h (ASM_FILE_END): Define.
9616 * som.h (ASM_FILE_END): Delete.
9617
9618 * pa.c (function_arg): Don't pass floats in general registers in
9619 indirect calls if TARGET_ELF32.
9620
6185f217
RH
96212002-03-05 Richard Henderson <rth@redhat.com>
9622
9623 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
9624
3020a4b2
DS
96252002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
9626
9627 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
9628
65649daa
JJ
96292002-03-05 Jakub Jelinek <jakub@redhat.com>
9630
9631 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
9632 -r command line. Don't hide any symbols if not building
9633 shared libgcc.
9634
5a1a3e5e
JH
9635Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
9636
9637 * cfg.c (dump_flow_info): Warn about profile mismatches.
9638 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
9639 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
9640
170c56da
JJ
96412002-03-05 Jakub Jelinek <jakub@redhat.com>
9642
9643 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
9644 wide volatile memory by parts.
9645
6d051694
JJ
96462002-03-05 Jakub Jelinek <jakub@redhat.com>
9647
9648 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
9649 is NULL.
9650
28bcfd4d
RH
96512002-03-05 Richard Henderson <rth@redhat.com>
9652
5b43fed1 9653 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 9654
75227a33
GK
96552002-03-04 Geoffrey Keating <geoffk@redhat.com>
9656
9657 * toplev.c (documented_lang_options): Document more
9658 language-specific options.
9659 * doc/invoke.texi (Warning Options): Correct documentation for
9660 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
9661 * c-decl.c (c_decode_option): Use a table to handle warning options.
9662
4f1aac42
HPN
96632002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
9664
9665 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
9666 parameter to mmix_encode_section_info.
9667 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
9668 relocatably. Always produce ELF, not mmo if linking relocatably.
9669 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
9670 first is non-zero, don't add symbol prefix.
9671 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
9672 prototype accordingly.
9673
12345543
KW
96742002-03-04 Krister Walfridsson <cato@df.lth.se>
9675
9676 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
9677
8e97db8f
JM
96782002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
9679
9680 * configure.in: Increase required makeinfo version to 4.1.
9681 * configure: Regenerate.
9682
06487868
GK
96832002-03-04 Geoffrey Keating <geoffk@redhat.com>
9684
9685 * .cvsignore: Remove *.info* and genrtl*; these files are generated
9686 elsewhere now.
9687
cff42170
JM
96882002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
9689
9690 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
9691 * doc/invoke.texi: Fix @math uses.
9692
974a7f56
JH
9693Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
9694
9695 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
9696 removal
9697
3b7d0e98
AH
96982002-03-03 Aldy Hernandez <aldyh@redhat.com>
9699
5b43fed1
RH
9700 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
9701 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 9702
5b43fed1 9703 * config/rs6000/t-ppcendian: New.
3b7d0e98 9704
65f2f288
HB
97052002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9706
9707 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
9708 nonimmediate_src_operand and nonimmediate_lsrc_operand to
9709 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
9710
8ce0a8a5
RH
97112002-03-03 Richard Henderson <rth@redhat.com>
9712
9713 * toplev.c (rest_of_decl_compilation): Revert last two changes.
9714
ba31d94e
ZW
97152002-03-03 Zack Weinberg <zack@codesourcery.com>
9716
9717 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
9718 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
9719 tree.c, config/m68k/m68k.c:
9720 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
9721 REAL_ARITHMETIC blocks unconditional. Delete some further
9722 #ifdef blocks predicated on REAL_ARITHMETIC.
9723 * flags.h, toplev.c: Delete remaining references to
9724 flag_pretend_float.
9725
9726 * doc/invoke.texi: Remove documentation of -fpretend-float.
9727 * doc/tm.texi: Describe the various REAL_* macros as provided by
9728 real.h, not by the target configuration files.
9729
9730 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
9731 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
9732 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
9733 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
9734 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
9735 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
9736 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
9737 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
9738 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
9739 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
9740 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
9741 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
9742 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
9743 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
9744 config/xtensa/xtensa.h:
9745 Do not define, undefine, or mention in comments any of
9746 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
9747 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
9748 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
9749 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
9750 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
9751 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
9752 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
9753 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
9754 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
9755
9a571cfd
KG
97562002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9757
e81dd381
KG
9758 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
9759 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
9760 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
9761 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9762 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
9763 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
9764 Delete.
9765 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 9766 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 9767
9a571cfd
KG
9768 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
9769 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
9770 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
9771
ca7558fc
KG
97722002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9773
9774 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
9775 lieu of explicit sizeof/sizeof.
9776 * i386.c (override_options, ix86_init_mmx_sse_builtins,
9777 ix86_expand_builtin): Likewise.
9778 * mips.c (mips_add_gc_roots): Likewise.
9779 * mmix.c (mmix_output_condition): Likewise.
9780 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
9781 altivec_init_builtins): Likewise.
9782 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
9783 * cppexp.c (Nsuff, parse_number): Likewise.
9784 * cppinit.c (builtin_array_end): Likewise.
9785 * gcc.c (n_default_compilers, process_command): Likewise.
9786 * genpreds.c (output_predicate_decls): Likewise.
9787 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
9788 * lcm.c (N_ENTITIES): Likewise.
9789 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 9790
41c78c88
RH
97912002-03-03 Richard Henderson <rth@redhat.com>
9792
9793 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
9794 for types or labels.
9795
9e9b71e6
RH
97962002-03-03 Richard Henderson <rth@redhat.com>
9797
9798 * c-decl.c (start_decl): Initialized variables are not common.
9799
c26a6db8
PB
98002002-03-02 Per Bothner <per@bothner.com>
9801
9802 * gcc.c (option_map): Suport new --bootclasspath option.
9803 --CLASSPATH is now just an alias for --classpath.
9804
9e8aab55
RH
98052002-03-02 Richard Henderson <rth@redhat.com>
9806
9807 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
9808 load if "internal" visibility.
9809 * doc/extend.texi: Document visibility meanings.
9810
b3bbd220
RH
98112002-03-02 Richard Henderson <rth@redhat.com>
9812
9813 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
9814 to functions as well.
9815
b14707c3
RH
98162002-03-02 Richard Henderson <rth@redhat.com>
9817
9818 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
9819 (handle_visibility_attribute): Don't call assemble_visibility.
9820 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
9821 without asmspec. Invoke assemble_alias when needed.
9822 * varasm.c (maybe_assemble_visibility): New.
9823 (assemble_start_function, assemble_variable, assemble_alias): Use it.
9824
b2003250
RH
98252002-03-02 Richard Henderson <rth@redhat.com>
9826
9827 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
9828 invoke ENCODE_SECTION_INFO with first call flag.
9829
9830 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
9831 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 9832 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
9833 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
9834 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
9835 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
9836 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
9837 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
9838 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
9839 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
9840 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
9841 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
9842 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
9843 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
9844 config/mcore/mcore-protos.h, config/mcore/mcore.c,
9845 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
9846 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 9847 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
9848 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
9849 config/sh/sh.h, config/sparc/sparc.h,
9850 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
9851 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
9852 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
9853 FIRST argument. As needed, examine it and do nothing.
9854
ba31d94e 9855 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
9856 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
9857 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
9858
9859 * config/arm/t-pe (pe.o): Add dependencies.
9860
5c60f03d
KG
98612002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9862
9863 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
9864 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
9865 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
9866 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
9867 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
9868 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
9869 * defaults.h (BITS_PER_UNIT): Define.
9870 * doc/tm.texi (BITS_PER_UNIT): Document default value.
9871
86855e8c
KH
98722002-03-02 Kazu Hirata <kazu@hxi.com>
9873
9874 * config/h8300/h8300-protos.h: Add a prototype for
9875 compute_a_shift_length.
9876 * config/h8300/h8300.c (h8300_asm_insn_count): New.
9877 (compute_a_shift_length): Likewise.
9878 (h8300_adjust_insn_length): Do not adjust insn length of shift
9879 insns.
9880 * config/h8300/h8300.md (anonymous shift patterns): Use
9881 compute_a_shift_length.
9882
f6041ed8
RK
9883Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9884
35aa3c1c
RK
9885 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
9886 trunc_int_for_mode.
9887
f6041ed8
RK
9888 * emit-rtl.c (offset_address): Call update_temp_slot_address.
9889
27b41650
KG
98902002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9891
9892 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
9893 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
9894 * flags.h (flag_zero_initialized_in_bss): Declare.
9895 * toplev.c (flag_zero_initialized_in_bss): New flag.
9896 (lang_independent_options): Add flag_zero_initialized_in_bss.
9897 * tree.c (initializer_zerop): New function.
9898 * tree.h (initializer_zerop): Declare.
9899 * varasm.c (assemble_variable): If we can emit bss, put zero
9900 initializers in the bss section.
9901
ca734b39
AM
99022002-03-02 Alan Modra <amodra@bigpond.net.au>
9903
9904 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
9905 like more than one symbol per .weak directive.
9906
49b72306
RH
99072002-03-01 Richard Henderson <rth@redhat.com>
9908
9909 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
9910 adjust argument_pointer by pretend_args_size.
9911 (ia64_va_start): Adjust va_start address by -pretend_args_size.
9912
fbf0fe41
KH
99132002-03-01 Kazu Hirata <kazu@hxi.com>
9914
9915 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
9916
0010687d
JH
9917Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
9918
9919 * toplev.c (rest_of_compilation): Delete dead jumptables before
9920 loop.
9921 * flow.c (delete_dead_jumptables): Make global.
9922 * rtl.h (delete_dead_jumptables): Declare.
9923
9429c84c
DE
99242002-03-01 David Edelsohn <edelsohn@gnu.org>
9925
9926 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
9927 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 9928 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 9929
f0b6f9a6
KH
99302002-03-01 Kazu Hirata <kazu@hxi.com>
9931
9932 * config/h8300/h8300-protos.h: Fix formatting.
9933 * config/h8300/h8300.c: Likewise.
9934 * config/h8300/h8300.h: Likewise.
9935
bc8db8a1
KH
99362002-03-01 Kazu Hirata <kazu@hxi.com>
9937
9938 * config/h8300/h8300.c (print_operand): Support 16-bit
9939 constant addresses.
9940 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
9941
32b069d3
RH
99422002-02-28 Richard Henderson <rth@redhat.com>
9943
9944 * expmed.c (store_bit_field): Prevent generation of CONCATs;
9945 pun complex values as integers; use gen_lowpart instead of
9946 gen_rtx_SUBREG.
9947 (extract_bit_field): Likewise.
9948
79c4e63f
AM
99492002-03-01 Alan Modra <amodra@bigpond.net.au>
9950 David Edelsohn <edelsohn@gnu.org>
9951
9952 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
9953 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
9954 (SUPPORTS_WEAK): Likewise.
9955 * output.h (add_weak): Add tree param.
9956 * varasm.c (add_weak): Likewise. Save decl.
9957 (struct weak_syms): Add decl field.
9958 (mark_weak_decls): New function.
9959 (init_varasm_once): ggc_add_root mark_weak_decls.
9960 (assemble_start_function): Use ASM_WEAKEN_DECL.
9961 (assemble_variable): Likewise.
9962 (assemble_alias): Likewise.
9963 (declare_weak): Pass decl to add_weak.
9964 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
9965 (remove_from_pending_weak_list): Declare and define for
9966 ASM_WEAKEN_DECL.
9967 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
9968 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
9969 * defaults.h (SUPPORTS_WEAK): Likewise.
9970 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
9971 .weak for code sym. Do emit .size for descriptor sym.
9972 (ASM_DECLARE_FUNCTION_SIZE): Define.
9973 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
9974 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
9975 .lglobl unless TARGET_XCOFF. Formatting fixes.
9976 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
9977 .weak for code sym.
9978 (HANDLE_PRAGMA_WEAK): Remove.
9979 (ASM_WEAKEN_LABEL): Remove.
9980 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
9981
6f30f1f1
JM
99822002-03-01 Jason Merrill <jason@redhat.com>
9983
9984 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
9985 (TARGET_EXPR_CLEANUP): New macro.
9986
7879b81e
SE
99872002-02-28 Steve Ellcey <sje@cup.hp.com>
9988
9989 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
9990 to take ptr_extend into account as third type of extension.
9991 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
9992 fields used by SUBREG_PROMOTED_UNSIGNED_P.
9993 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
9994 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
9995 * calls.c (precompute_arguments): Use new macro.
9996 (expand_call): Ditto.
9997 * combine.c (nonzero_bits): Ditto.
9998 (record_promoted_value): Ditto.
9999 * expr.c (store_expr): Ditto.
10000 (expand_expr): Ditto.
10001 * function.c (assign_parms): Ditto.
10002
42d579d8
AO
100032002-02-28 Alexandre Oliva <aoliva@redhat.com>
10004
10005 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
10006 override -shared and -shared-libgcc.
10007
e0054185
DB
100082002-02-28 David O'Brien <obrien@FreeBSD.org>
10009
10010 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
10011 of "ultrasparc".
10012 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
10013 to be broken.
10014
abda4f1c
RH
100152002-02-28 Richard Henderson <rth@redhat.com>
10016
10017 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
10018 4 cycle latency from MM producers.
10019 (ia64_internal_sched_reorder): Likewise with pipeline flush.
10020
c0f08649
JJ
100212002-02-28 Jakub Jelinek <jakub@redhat.com>
10022
10023 * mklibgcc.in: Don't use GNU make extension.
10024
f79f2651
NB
100252002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
10026
10027 * c-parse.in (STATIC): New terminal.
10028 (scspec): New non-terminal. Update productions accordingly.
10029 (program): Remove bogus ifc / end ifc.
10030 (array_declarator): Simplify production using STATIC.
10031
001e3fee
JM
100322002-02-28 Jim Meyering <meyering@lucent.com>
10033
10034 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
10035 \a still means TARGET_BELL.
10036
89076bb3
RH
100372002-02-28 Richard Henderson <rth@redhat.com>
10038
10039 * haifa-sched.c (sched_emit_insn): New.
10040 (schedule_block): Use last_scheduled_insn to track last insn.
10041 * sched-int.h (sched_emit_insn): Prototype.
10042 * config/ia64/ia64.c (last_issued): Remove.
10043 (ia64_variable_issue): Don't set it.
10044 (nop_cycles_until): Use sched_emit_insn.
10045
e3aaacf4
AM
100462002-02-28 Andrew MacLeod <amacleod@redhat.com>
10047
10048 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
10049 extended constants.
10050
7f473594
KH
100512002-02-28 Kazu Hirata <kazu@hxi.com>
10052
10053 * config/h8300/h8300.c: Fix formatting.
10054 * config/h8300/h8300.h: Likewise.
10055
b96c434c
MM
100562002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
10057
10058 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
10059 which may overwrite the high byte of the frame pointer.
10060
9b420a6a
BT
100612002-02-28 Bo Thorsen <bo@suse.de>
10062
10063 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
10064 (STARTFILE_SPEC): Add 64 bit files.
10065 (ENDFILE_SPEC): Likewise.
10066
6f30f1f1 100672002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
10068
10069 * c-decl.c (finish_function): Only warn about missing return
10070 statement with -Wreturn-type.
10071
70da1d03
JH
10072Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
10073
10074 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
10075
10076 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
10077 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
10078
38c1593d
JH
10079Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
10080
10081 * basic-block.h (BB_REACHABLE): Renumber.
10082 (BB_DIRTY, BB_NEW): New flags.
10083 (clear_bb_flags): Declare.
10084 (update_life_info_in_dirty_blocks): Declare.
10085 * cfg.c (clear_bb_flags): New function.
10086 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
10087 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
10088 reorder_insns, emit_insn_after): Mark block as dirty.
10089 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
10090 (update_life_info_in_dirty_blocks): New function.
10091 * recog.c (apply_change_group): Dirtify block.
10092
10093 * cse.c (cse_insn): Reorder emitting of jump insn to keep
10094 cfg consistent.
10095 * gcse.c (delete_null_pointer_checks): Likewise.
10096
10097 * toplev.c (dump_file_index): Move cse2 after bp,
10098 add DFI_null
10099 (dump_file_info): Similary.
10100 (rest_of_compilation): Avoid most of CFG rebuilds;
10101 do first if converision after null pointer checks, do cse2
10102 after branch prediction; avoid full liveness rebuild after
10103 initializing subregs.
10104 * invoke.texi (-d options): Document -du, renumber.
10105
10106 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
10107 (notice_new_block): Do not set BB_UPDATE_LIFE.
10108 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
10109 merge_blocks_move_successor_nojumps, merge_blocks,
10110 try_crossjump_to_edge): Likewise.
10111 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
10112 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
10113 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
10114 (merge_of_block): Do not use life_data_ok.
10115 (find_if_case_1): Do not use SET_UPDATE_LIFE.
10116 (if_convert): Use BB_DIRTY mechanizm to update life.
10117 * lcm.c (optimize_mode_switching): Update
10118 update_life_info_in_dirty_blocks
10119
63e1b1c4
NB
101202002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
10121
10122 * Makefile.in (integrate.o): Update.
10123 * c-decl.c (copy_lang_decl): Rename.
10124 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
10125 * integrate.c: Include langhooks.h.
10126 (copy_decl_for_inlining): Update to use langhook.
10127 * langhooks-def.h (lhd_do_nothing_t,
10128 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
10129 (LANG_HOOKS_INITIALIZER): Update.
10130 * langhooks.c (lhd_do_nothing_t): New.
10131 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
10132 * tree.h (copy_lang_decl): Remove.
10133objc:
10134 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
10135
f472fa29
AM
101362002-02-27 Andrew MacLeod <amacleod@redhat.com>
10137
ba31d94e 10138 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
10139 POST_DEC, and POST_MODIFY.
10140
273cf2e4
ZW
101412002-02-27 Zack Weinberg <zack@codesourcery.com>
10142
10143 * c-typeck.c (digest_init): Remove unused parameter; all
10144 callers changed.
10145
4e07d762
GK
101462002-02-27 Geoffrey Keating <geoffk@redhat.com>
10147
10148 * expmed.c (expand_shift): Correctly test for low part of a
10149 subreg.
10150
6bc627b3
UW
101512002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
10152
10153 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
10154 insn UIDs with insn addresses.
10155
f458d1d5
ZW
101562002-02-27 Zack Weinberg <zack@codesourcery.com>
10157
10158 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
10159 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
10160 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
10161 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
10162 gcc.c, toplev.c: Delete code implementing -traditional mode.
10163
10164 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
10165 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
10166 Document removal of -traditional mode for compilation, and
10167 remove documentation only relevant to that mode.
10168
10169 * config/nextstep.h, config/ptx4.h, config/svr4.h,
10170 config/convex/convex.h, config/d30v/d30v.h,
10171 config/i386/dgux.h, config/i386/osf1elf.h,
10172 config/i386/osfelf.h, config/i386/osfrose.h,
10173 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
10174 config/m68k/hp310.h, config/m88k/dgux.h,
10175 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
10176 config/m88k/m88k.h, config/m88k/openbsd.h,
10177 config/mips/abi64.h, config/mips/osfrose.h,
10178 config/mips/svr4-5.h, config/mips/svr4-t.h,
10179 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
10180 config/stormy16/stormy16.h: Remove all references to
10181 -traditional from target specs. Delete all mention of the
10182 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
10183 delete a couple of commented-out definitions of
10184 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
10185 to -traditional.
10186
10187 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
10188 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
10189
e0b3a8ff
ZW
101902002-02-27 Zack Weinberg <zack@codesourcery.com>
10191
10192 * mklibgcc.in: Don't use \n in a line subject to
10193 interpretation by echo.
10194
5c6a85b7
GS
101952002-02-27 Graham Stott <grahams@redhat.com>
10196
72b05af1
GS
10197 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
10198 Constify NAME.
10199
7d104885
GS
10200 * loop.c (prescan_loop): Handle PARALLEL.
10201
8ed805d2
GS
10202 * unroll.c (loop_iterations): Return 0 if the add_val for
10203 a BIV is REG.
10204
fd478a0a
GS
10205 * final.c (output_operand_lossage): Constify PFX_STR.
10206
5c6a85b7
GS
10207 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
10208
cd98ad03
JH
10209Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
10210
10211 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
10212 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
10213
639ae55b
JH
10214Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
10215
10216 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
10217
e808ec9c
NB
102182002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
10219
10220 * cpplex.c (_cpp_lex_token): Handle directives in macro
10221 arguments.
10222 * cpplib.c (_cpp_handle_directive): Save and restore state
10223 if parsing macro args when entering a directive.
10224 * cppmacro.c (collect_args): No need to handle directives
10225 in macro arguments.
10226 (enter_macro_context, replace_args): Use the original macro
10227 definition in case it was redefined whilst collecting arguments.
10228doc:
10229 * cpp.texi: Update.
10230
f585a356
DE
102312002-02-26 David Edelsohn <edelsohn@gnu.org>
10232
10233 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
10234 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
10235 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
10236 method on AIX.
10237 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
10238 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
10239 (load_toc_v4_PIC_2): Same.
10240
102412002-02-26 Alan Modra <amodra@bigpond.net.au>
10242
10243 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
10244
d699058e
RH
102452002-02-26 Richard Henderson <rth@redhat.com>
10246
10247 * config/alpha/alpha.md (ashldi_se): Re-enable.
10248
eadccfbb
RH
102492002-02-26 Richard Henderson <rth@redhat.com>
10250
10251 * config/alpha/alpha.c (alpha_encode_section_info): Examine
10252 MODULE_LOCAL_P; improve commentary.
10253
7080ada1
ZW
102542002-02-26 Zack Weinberg <zack@codesourcery.com>
10255
10256 * doc/cpp.texi: Clarify documentation of relationship between
10257 #line and #include.
10258
b42cff6b
KH
102592002-02-26 Kazu Hirata <kazu@hxi.com>
10260
10261 * config/h8300/h8300-protos.h: Update the prototype for
10262 compute_logical_op_length. Add the prototype for
10263 compute_logical_op_cc.
10264 * config/h8300/h8300.c (compute_logical_op_length): Figure out
10265 code from operands.
10266 (compute_logical_op_cc): New.
10267 * config/h8300/h8300.md: Combine all the logical op patterns
10268 in HImode and SImode. Use compute_logical_op_cc.
10269
831c4e87
KC
102702002-02-26 Kelley Cook <kelleycook@comcast.net>
10271
10272 * config/i386/i386.c (print_operand): Don't append ATT-style
10273 length suffixs to x87 opcodes when in Intel mode.
10274
ff88fe10
RS
102752002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
10276
10277 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
10278 (init_emit_once): Update calls.
10279 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
10280 (init_syntax_once): Prototype.
10281
d4108589
JDA
102822002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
10283
10284 * pa-linux.h (LIB_SPEC): Update definition.
10285 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
10286
e013f3c7
RH
102872002-02-26 Richard Henderson <rth@redhat.com>
10288
10289 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
10290 if we emitted a stop bit.
10291
9e944a16
JJ
102922002-02-26 Jakub Jelinek <jakub@redhat.com>
10293
10294 * configure.in (libgcc_visibility): Substitute.
10295 * configure: Rebuilt.
10296 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
10297 defined symbols .hidden.
10298
47bd70b5
JJ
102992002-02-26 Jakub Jelinek <jakub@redhat.com>
10300
10301 * attribs.c (c_common_attribute_table): Add visibility.
10302 (handle_visibility_attribute): New function.
10303 * varasm.c (assemble_visibility): New function.
10304 * output.h (assemble_visibility): Add prototype.
10305 * tree.h (MODULE_LOCAL_P): Define.
10306 * crtstuff.c (__dso_handle): Use visibility attribute.
10307 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
10308 for MODULE_LOCAL_P symbols too.
10309 * config/ia64/ia64.c (ia64_encode_section_info): Handle
10310 MODULE_LOCAL_P symbols the same way as local symbols.
10311 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
10312 into .sdata/.sbss by the user.
10313 * doc/extend.texi (Function Attributes): Document visibility
10314 attribute.
10315
6d73371a
JJ
103162002-02-26 Jakub Jelinek <jakub@redhat.com>
10317
10318 PR debug/5770
10319 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
10320 STRING_CST initializer spanning the whole variable without
10321 embedded zeros.
10322 If expand_expr returned MEM, don't use it.
10323
06e224f7
AO
103242002-02-26 Alexandre Oliva <aoliva@redhat.com>
10325
10326 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
10327 generate a die for the lexical block.
10328
40367e2d
KH
103292002-02-26 Kazu Hirata <kazu@hxi.com>
10330
10331 * config/h8300/h8300-protos.h: Add a prototype for
10332 compute_logical_op_length.
10333 * config/h8300/h8300.c (compute_logical_op_length): New.
10334 * config/h8300/h8300.md (anonymous logical patterns): Use
10335 compute_logical_op_length for length.
10336
0e98f924
AH
103372002-02-26 Aldy Hernandez <aldyh@redhat.com>
10338
831c4e87
KC
10339 * dwarf2out.c (modified_type_die): Do not call type_main_variant
10340 for vectors.
10341 (gen_type_die): Same.
0e98f924 10342
831c4e87 10343 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 10344
a50cfd52
DE
103452002-02-26 Daniel Egger <degger@fhm.edu>
10346
831c4e87
KC
10347 * config/rs6000/rs6000.md: Swap define_insn attributes to
10348 fix incorrect generation of merge high instructions instead
10349 of merge low.
a50cfd52 10350
b7997284
AH
103512002-02-26 Aldy Hernandez <aldyh@redhat.com>
10352
831c4e87
KC
10353 * c-typeck.c (really_start_incremental_init): Use
10354 bitsize_zero_node for vectors.
b7997284 10355
376aec5d
AH
103562002-02-26 Aldy Hernandez <aldyh@redhat.com>
10357
831c4e87
KC
10358 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
10359 ("*set_vrsave_internal"): Same.
376aec5d 10360
3b40e71b
RH
103612002-02-25 Richard Henderson <rth@redhat.com>
10362
10363 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
10364 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
10365
232b8f52
JJ
103662002-02-25 Jakub Jelinek <jakub@redhat.com>
10367
10368 PR target/5755
10369 * config/i386/i386.c (ix86_return_pops_args): Only pop
10370 fake structure return argument if it was passed on the stack.
10371
67282790
JM
103722002-02-25 Jason Merrill <jason@redhat.com>
10373
10374 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
10375 RESULT_DECL.
10376
5c181756
AO
103772002-02-25 Alexandre Oliva <aoliva@redhat.com>
10378
10379 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
10380 link with shared_name only.
10381 * doc/invoke.texi (Link Options): Document new behavior.
10382
6786d201
AH
103832002-02-25 Aldy Hernandez <aldyh@redhat.com>
10384
831c4e87 10385 * c-typeck.c (push_init_level): Handle vectors.
6786d201 10386
7d6040e8
AO
103872002-02-25 Alexandre Oliva <aoliva@redhat.com>
10388
10389 * config/sparc/sparc.c (const64_high_operand): Zero-extend
10390 operands of SPARC_SETHI_P.
10391 (input_operand): Likewise.
10392 (sparc_emit_set_const32): Likewise.
10393 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
10394 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
10395 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
10396 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
10397 (movdi_insn_sp64_vis): Likewise.
10398 (movdi split, movdf split): Use SETHI32.
10399 * doc/md.texi: Document SPARC constraints L, M and N.
10400
b188f760
AH
104012002-02-25 Aldy Hernandez <aldyh@redhat.com>
10402
831c4e87
KC
10403 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
10404 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 10405
831c4e87
KC
10406 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
10407 gen_get_vrsave_internal.
b188f760 10408
8041889f
RK
10409Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10410
10411 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
10412
a47ed310
NB
104132002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
10414
10415 * cpplex.c (cpp_interpret_charconst): Get signedness or
10416 otherwise of wide character constants correct.
10417 * cppexp.c (lex): Get signedness of wide charconsts correct.
10418
cb8f73be
RK
10419Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10420
10421 * optabs.c (widen_operand): Only call convert_modes for
10422 promoted SUBREG if signedness matches.
10423 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
10424
2450e0b8
NB
104252002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
10426
10427 * cpplib.c (glue_header_name): Use local buffer to build up
10428 header name.
10429
70b6aaed
NB
104302002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
10431
10432 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
10433
6be580c7
KH
104342002-02-23 Kazu Hirata <kazu@hxi.com>
10435
10436 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
10437 H8/300[HS] separately.
10438 * config/h8300/h8300.md: Remove the early clobber constraint
10439 from bit field patterns.
10440
35dad9f1
KH
104412002-02-23 Kazu Hirata <kazu@hxi.com>
10442
10443 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
10444 register_operand.
10445 (mulhisi3): Likewise.
10446 (umulqisi3): Likewise.
10447 (umulhisi3): Likewise.
10448
ab8e2228
NB
104492002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
10450
10451 * cppinit.c (output_deps): Correct test for stdout output.
10452 (init_dependency_output): Cure warning.
10453
ac6f8a15
RK
10454Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10455
10456 * expr.c (store_expr): When converting expression to promoted
10457 equivalent type, allow using SUBREG_REG of TARGET as the target
10458 of the expansion of EXP.
10459 * loop.c (basic_induction_var, case SUBREG): Always look inside.
10460 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
10461 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
10462 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
10463 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
10464
f282ffb3
JM
104652002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
10466
10467 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
10468 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
10469 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
10470
44c5edc0
JJ
104712002-02-23 Jakub Jelinek <jakub@redhat.com>
10472
10473 PR optimization/5747
10474 * loop.c (scan_loop): Update reg info if move_movables created new
10475 pseudos.
10476
f98e43c0
DE
104772002-02-23 David Edelsohn <edelsohn@gnu.org>
10478
10479 * gcc.c (init_gcc_spec): Revert last change.
10480
e72247f4
DE
104812002-02-23 David Edelsohn <edelsohn@gnu.org>
10482
10483 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
10484 gpc_reg_operand constraint.
10485
104862002-02-23 Alan Modra <amodra@bigpond.net.au>
10487
10488 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
10489 Simplify comparison of `low'.
10490 (add_operand): Fix formatting.
10491 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 10492 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
10493 (rs6000_stack_info): Remove redundant test setting push_p.
10494 (output_toc): Fix formatting.
10495 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
10496 cc_reg_not_cr0_operand constraint.
10497 (booldi3, boolcdi3 splitters): Same.
10498
a5c30531
AH
104992002-02-23 Aldy Hernandez <aldyh@redhat.com>
10500
831c4e87 10501 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 10502
43710f9f
DE
105032002-02-22 David Edelsohn <edelsohn@gnu.org>
10504
10505 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
10506 gcc invoked with -shared-libgcc.
10507
3256b817
JJ
105082002-02-22 Jakub Jelinek <jakub@redhat.com>
10509
10510 PR c++/5748
10511 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
10512 decl if any of elements was TREE_USED.
10513
9e0625a3
AO
105142002-02-22 Alexandre Oliva <aoliva@redhat.com>
10515
10516 * config/sparc/sol2.h: Don't include sys/mman.h.
10517 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
10518 (arith_4096_operand): Don't throw high bits away.
10519 (const64_operand): Take sign extension of CONST_INTs into account.
10520 (const64_high_operand, sparc_emit_set_const32): Likewise.
10521 (GEN_HIGHINT64): Likewise.
10522 (sparc_emit_set_const64_quick1): Likewise.
10523 (const64_is_2insns): Likewise.
10524 (print_operand): Use trunc_int_for_mode for sign extension.
10525 * config/sparc/sparc.h (SMALL_INT32): Likewise.
10526 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
10527 chars. Assume CONST_INT is already properly sign-extended.
10528 (movdi split): Sign-extend each SImode part.
10529 (andsi3 split): Don't mask high bits off, so that result
10530 remains properly sign-extend.
10531 (iorsi3 split): Likewise.
10532 (xorsi3 split): Likewise.
10533
54fec3d5
RS
105342002-02-22 Richard Sandiford <rsandifo@redhat.com>
10535
10536 * fold-const.c (fold): Fix typo in comments.
10537
667ada9b
DN
105382002-02-21 Diego Novillo <dnovillo@redhat.com>
10539
10540 * Makefile.in (langhooks.o): Update dependencies.
10541
29ac78d5
DN
105422002-02-21 Diego Novillo <dnovillo@redhat.com>
10543
10544 * langhooks.c: Include flags.h.
10545
6aa77e6c
AH
105462002-02-21 Aldy Hernandez <aldyh@redhat.com>
10547
10548 * testsuite/gcc.dg/attr-alwaysinline.c: New.
10549
10550 * c-common.c (c_common_post_options): Set inline trees by
10551 default.
10552
10553 * doc/extend.texi (Function Attributes): Document always_inline
10554 attribute.
10555 Update documentation about inlining when not optimizing.
10556
10557 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
10558
10559 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
10560 unless DECL_ALWAYS_INLINE.
10561
10562 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
10563 unless DECL_ALWAYS_INLINE.
10564 (c_disregard_inline_limits): Disregard if always_inline set.
10565
10566 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
10567 Disregard if always_inline set.
10568 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
10569 unless DECL_ALWAYS_INLINE.
10570
10571 * attribs.c (handle_always_inline_attribute): New.
10572 (c_common_attribute_table): Add always_inline.
10573
10574 * config/rs6000/altivec.h: Add prototypes for builtins
10575 requiring the always_inline attribute.
10576
c410d49e
EC
105772002-02-21 Eric Christopher <echristo@redhat.com>
10578
10579 * expmed.c (store_bit_field): Try to simplify the subreg
10580 before generating a new one when when the mode size of
10581 value is less than maxmode.
10582
e3c8ea67
RH
105832002-02-21 Richard Henderson <rth@redhat.com>
10584
10585 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
10586 than gen_rtx_PLUS to form the sum.
10587 * explow.c (force_reg): Rearrange to not allocate new pseudo
10588 when force_operand returns a register.
10589 * expr.c (expand_assignment): Allow offset_rtx expansion to
10590 return a sum. Do not force addresses into registers.
10591 (expand_expr): Likewise.
10592 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
10593 to canonicalize arithmetic that didn't simpify.
10594 (simplify_plus_minus): New argument force; update
10595 all callers. Don't split CONST unless we can do something with it,
10596 and wouldn't lose the constness of the operands.
10597
10598 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
10599 that we generated earlier.
10600
c1a046e5
TT
106012002-02-21 Tom Tromey <tromey@redhat.com>
10602
10603 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
10604 (output_line_info): Use constant `1', with a long explanatory
10605 comment.
10606 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
10607
31fbaad4
R
10608Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
10609
10610 * jump.c (redirect_jump): If old label has no UID, don't try to
10611 delete it.
10612
a7f52356
R
10613Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
10614
10615 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
10616 If input is constant, do shifts at compile time.
10617
924fcc4e
JM
106182002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
10619
10620 * doc/extend.texi: Fix some more overfull hboxes.
10621
e5a20888
JJ
106222002-02-21 Jakub Jelinek <jakub@redhat.com>
10623
10624 PR optimization/4994
10625 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
10626 register moves.
10627
106282002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
10629
10630 PR c++/4574
10631 * expr.h (expand_and): Add mode argument.
10632 * expmed.c (expand_and): Add mode argument.
10633 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
10634 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
10635 * except.c (expand_builtin_extract_return_addr): Likewise.
10636 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
10637 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
10638 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
10639 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
10640 * config/c4x/c4x.md: Use GEN_INT (x) instead of
10641 gen_rtx (CONST_INT, VOIDmode, x).
10642
7133e992
JJ
106432002-02-21 Jakub Jelinek <jakub@redhat.com>
10644
10645 PR c/4697:
10646 * stmt.c (warn_if_unused_value): Move side effects test once more.
10647
e2ec05a6
TG
106482002-02-20 Torbjorn Granlund <tege@swox.com>
10649
10650 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 10651 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 10652
9dd791c8
AO
10653Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
10654
10655 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
10656 SUBREG or ZERO_EXTEND.
10657
7ab56274
R
10658Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
10659
10660 * sh.h (current_function_anonymous_args): Remove.
10661 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
10662 of current_function_varargs and current_function_stdarg is set.
10663 * sh.c (sh_expand_prologue): Check current_function_varargs /
10664 current_function_stdarg / TARGET_SH5 instead of
10665 current_function_anonymous_args.
10666
10667 * sh64.h (TARGET_VERSION): Define.
10668
b1765bde
DE
106692002-02-20 David Edelsohn <edelsohn@gnu.org>
10670
10671 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
10672 VRSAVE_REGNO on TARGET_ALTIVEC.
10673
106742002-02-20 Alan Modra <amodra@bigpond.net.au>
10675
10676 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
10677 bits of SImode const_int.
10678 (includes_rshift_p): Likewise.
10679 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 10680 mode.
b1765bde
DE
10681 (rs6000_output_function_epilogue): Pad traceback table to word.
10682 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
10683 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
10684 mask64_operand with correct mode.
b1765bde
DE
10685 (FUNCTION_ARG_REGNO_P): Correct parentheses.
10686
149d6f9e
JJ
106872002-02-20 Jakub Jelinek <jakub@redhat.com>
10688
10689 PR debug/4461
10690 * varasm.c (get_pool_constant_mark): New.
10691 * rtl.h (get_pool_constant_mark): Add prototype.
10692 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
10693 be represented if it has not been output.
10694
4161da12
AO
106952002-02-20 Alexandre Oliva <aoliva@redhat.com>
10696
10697 * combine.c (do_SUBST): Sanity check substitutions of
10698 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
10699 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
10700 CONST_INT into its operand.
10701 (known_cond): Likewise, for ZERO_EXTEND.
10702 * simplify-rtx.c (simplify_unary_operation): Fix condition to
10703 allow for simplification of wide modes. Reject CONST_INTs in
10704 ZERO_EXTEND when their actual mode is not given.
10705
3704ef74
AO
107062002-02-20 Alexandre Oliva <aoliva@redhat.com>
10707
10708 * c-decl.c (pushdecl): If no global declaration is found for an
10709 extern declaration in block scope, try a limbo one.
10710
7552da58
JJ
107112002-02-20 Jakub Jelinek <jakub@redhat.com>
10712
10713 PR c++/4401
10714 * c-common.c (pointer_int_sum): Moved from...
10715 * c-typeck.c (pointer_int_sum): ...here.
10716 * c-common.h (pointer_int_sum): Add prototype.
10717
00fae85d
JJ
107182002-02-20 Jakub Jelinek <jakub@redhat.com>
10719
10720 PR c++/5713
10721 * c-decl.c (duplicate_decls): Return 0 if issued error about
10722 redeclaration.
10723
4636c87e
JJ
107242002-02-20 Roger Sayle <roger@eyesopen.com>
10725 Jakub Jelinek <jakub@redhat.com>
10726
10727 PR c/4389
10728 * tree.c (host_integerp): Ensure that the constant integer is
10729 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
10730 when pos is zero or non-zero respectively. Clarify comment.
10731 * c-format.c (check_format_info_recurse): Fix host_integerp
10732 usage; the pos argument should be zero when assigning to a
10733 signed HOST_WIDE_INT.
10734
59bef189
RH
107352002-02-20 Richard Henderson <rth@redhat.com>
10736
10737 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
10738 of the operand, rather than assuming TImode.
10739 (ix86_expand_binop_builtin): Cope with commutative patterns
10740 using nonimmediate_operand for both operands.
10741 (ix86_expand_timode_binop_builtin): Likewise.
10742 (ix86_expand_store_builtin): Validate operand 1.
10743 (ix86_expand_unop1_builtin): Likewise.
10744
9338ffe6 107452002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 10746
9338ffe6
PB
10747 PR 5705
10748 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
10749
f322b423
RH
107502002-02-20 Richard Henderson <rth@redhat.com>
10751
10752 PR c/5615
10753 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
10754
d94084f7
TT
107552002-02-20 Tom Tromey <tromey@redhat.com>
10756
10757 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
10758 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
10759 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
10760 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
10761 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
10762 unconditionally.
10763
37fa124a
AM
10764Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
10765
10766 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
10767 for (const_int 0) in X not just INTVAL.
10768
6e5bb5ad
JM
107692002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
10770
10771 * doc/extend.texi: Avoid or reduce overfull hboxes.
10772
420e7dfa
DN
107732002-02-20 Diego Novillo <dnovillo@redhat.com>
10774
10775 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
10776 operations if the field does not start at a mode boundary.
10777
1b7a2af6
JS
107782001-02-20 Joel Sherrill <joel@OARcorp.com>
10779
10780 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
10781 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
10782 Also done for -Acpu and -Amachine.
10783
56cd5b95
NB
107842002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
10785
10786 * cppinit.c (init_dependency_output): Take deps output file
10787 from -o if none given with -MF. Suppress normal output.
c410d49e 10788 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
10789 * doc/cpp.texi, doc/invoke.texi: Update.
10790
042cdf71
ZW
107912002-02-19 Zack Weinberg <zack@codesourcery.com>
10792
10793 * toplev.c (output_quoted_string): Write unprintable
10794 characters with octal escapes.
10795
c1f11548
DE
107962002-02-19 David Edelsohn <edelsohn@gnu.org>
10797
10798 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
10799 really_call_used[VRSAVE_REGNO] if not Altivec.
10800
108012002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 10802
c1f11548
DE
10803 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
10804 MODE_MASK.
10805 (constant_pool_expr_1): Fix formatting.
10806 (rs6000_legitimize_reload_address): Likewise.
10807
c964d90e
RK
10808Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10809
10810 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
10811 now that we have one.
10812
ae34ac46
ZW
108132002-02-19 Zack Weinberg <zack@codesourcery.com>
10814
10815 * tree.h (struct tree_common): Remove aux. Add unused_0 at
10816 end of first block of bitfields (which was only seven bits);
10817 rename dummy to unused_1; remove comment which is no longer true.
10818
293c28ee
GS
108192002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
10820
10821 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
10822
7b8781c8
PB
108232002-02-19 Philip Blundell <pb@nexus.co.uk>
10824
0cb6c58d 10825 PR 5399
7b8781c8
PB
10826 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
10827 if generating PIC.
10828
10829 PR 5054
10830 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
10831 arm_is_longcall_p rather than inspecting call-type cookie
10832 directly.
10833 (call_value_insn) [TARGET_THUMB]: Likewise.
10834
5c464583
GS
108352002-02-19 Graham Stott <grahams@redhat.com>
10836
10837 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
10838
71c061e6
DE
108392002-02-19 David Edelsohn <edelsohn@gnu.org>
10840
10841 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
10842 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 10843 (FP_SAVE_INLINE): Delete.
71c061e6
DE
10844
10845 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
10846 * config/rs6000/eabi.asm: Remove ABI save restore routines.
10847 * config/rs6000/t-ppccomm: Build crtsavres.o.
10848 * config/rs6000/crtsavres.asm: New file.
10849
3a7731fd
PB
108502002-02-19 Philip Blundell <philb@gnu.org>
10851
10852 * config/arm/arm.c (use_return_insn): Don't reject interrupt
10853 functions.
10854 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
10855 (output_return_instruction): Allow interrupt functions to return with
10856 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
10857 (arm_expand_prologue): Subtract 4 before stacking LR in an
10858 interrupt function.
10859
14f583b8
PB
108602002-02-19 Philip Blundell <pb@nexus.co.uk>
10861
10862 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
10863 decl, not just FUNCTION_DECL.
10864 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
10865 (arm_assemble_integer): Likewise.
10866 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
10867 marked local.
c410d49e 10868
4cb7482c
MG
108692002-02-19 matthew green <mrg@eterna.com.au>
10870
10871 * config.gcc (sparc-*-netbsdelf*): Enable target.
10872 (sparc64-*-netbsd*): New target.
10873 * config/sparc/netbsd-elf.h: New file.
10874 * config/sparc/t-netbsd64: New file.
10875
2df3a718
GS
108762002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
10877
10878 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
10879
77f6c1eb
RS
108802002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
10881
10882 * doc/invoke.texi: explicitly list the style guidelines that
10883 -Weffc++ checks for.
10884
fd973d56
JH
10885Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
10886
10887 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
10888
30518e45
NB
108892002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
10890
10891 PR other/5718
10892 * gcc.c (cpp_unique_options): Treat -o as indicating object file
10893 only if not -E. If -E, pass -o through to the preprocessor.
10894
39ea5704
KH
108952002-02-19 Kazu Hirata <kazu@hxi.com>
10896
10897 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
10898 register number with an appropriate macro.
10899
7355dba7
BM
109002002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
10901
10902 * doc/rtl.texi (Constants): Close @code tag.
10903
91c8aa9e
AH
109042002-02-19 Aldy Hernandez <aldyh@redhat.com>
10905
10906 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
10907 ("mmx_uavgv4hi3"): Same.
10908 ("pmulhrwv4hi3"): Same.
10909
10910 * tree-inline.c (walk_tree): Handle vectors.
10911
10912 * c-common.c (constant_expression_warning): Handle vectors.
10913 (overflow_warning): Same.
10914
10915 * sched-deps.c (sched_analyze_2): Handle vectors.
10916
10917 * rtlanal.c (rtx_unstable_p): Handle vectors.
10918 (rtx_varies_p): Same.
10919 (count_occurrences): Same.
10920 (regs_set_between_p): Same.
10921 (modified_between_p): Same.
10922 (modified_in_p): Same.
10923 (volatile_insn_p): Same.
10924 (volatile_refs_p): Same.
10925 (side_effects_p): Same.
10926 (may_trap_p): Same.
10927 (inequality_comparisons_p): Same.
10928 (replace_regs): Same.
10929 (computed_jump_p_1): Same.
10930
10931 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
10932 argument.
10933 (inner_mode_array): New.
10934 (copy_rtx): Handle vectors.
10935 (copy_most_rtx): Same.
10936 (rtx_equal_p): Same.
10937 (get_mode_alignment): Adjust for vectors.
10938
10939 * resource.c (mark_referenced_resources): Handle vectors.
10940 (mark_set_resources): Same.
10941
10942 * reload1.c (eliminate_regs): Handle vectors.
10943 (elimination_effects): Same.
10944 (scan_paradoxical_subregs): Same.
10945
10946 * reload.c (subst_reg_equivs): Handle vectors.
10947
10948 * regrename.c (scan_rtx): Handle vectors.
10949
10950 * regclass.c (reg_scan_mark_refs): Handle vectors.
10951
10952 * recog.c (find_single_use_1): Handle vectors.
10953
10954 * local-alloc.c (equiv_init_varies_p): Handle vectors.
10955 (contains_replace_regs): Same.
10956 (memref_referenced_p): Same.
10957
10958 * integrate.c (copy_rtx_and_substitute): Handle vectors.
10959 (subst_constants): Same.
10960
10961 * genattrtab.c (attr_copy_rtx): Handle vectors.
10962 (encode_units_mask): Same.
10963 (clear_struct_flag): Same.
10964 (count_sub_rtxs): Same.
10965
10966 * gcse.c (want_to_gcse_p): Handle vectors.
10967 (oprs_unchanged_p): Same.
10968 (hash_expr_1): Same.
10969 (oprs_not_set_p): Same.
10970 (expr_killed_p): Same.
10971 (compute_transp): Same.
10972 (store_ops_ok): Same.
10973
10974 * function.c (purge_addressof_1): Do not allow paradoxical subregs
10975 of vectors.
10976 (fixup_var_refs_1): Same.
10977 (instantiate_virtual_regs_1): Same.
10978
10979 * fold-const.c (operand_equal_p): Handle vectors.
10980 (fold): Same.
10981 (rtl_expr_nonnegative_p): Same.
10982
10983 * flow.c (mark_used_regs): Handle vectors.
10984
10985 * df.c (df_uses_record): Handle vectors.
10986
10987 * cselib.c (cselib_subst_to_values): Handle vectors.
10988 (cselib_mem_conflict_p): Same.
10989 (hash_rtx): Same.
10990
10991 * cse.c (canon_reg): Handle vectors.
10992 (fold_rt): Same.
10993 (cse_process_notes): Same.
10994 (count_reg_usage): Same.
10995 (canon_hash): Same.
10996
10997 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
10998
10999 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
11000
11001 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
11002 (gen_rtx): Handle CONST_VECTOR.
11003 (gen_const_vector_0): New.
11004 (copy_rtx_if_shared): CONST_VECTORs can be shared.
11005 (reset_used_flags): Same.
11006 (copy_insn_1): Same.
11007 (initializer_constant_valid_p): Handle VECTOR_CST.
11008
11009 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
11010
11011 * doc/rtl.texi (Constants): Document const_vector.
11012 (CONST0_RTX): Update for vectors.
11013 (RTL sharing): Same.
11014
11015 * print-tree.c (print_node): Add case for VECTOR_CST.
11016
11017 * tree.h (TREE_VECTOR_CST_ELTS): New.
11018 (struct tree_vector): New.
11019 (union tree_node): Add vector node.
11020 (build_vector): Add prototype.
11021
11022 * tree.def (VECTOR_CST): New.
11023
11024 * tree.c (build_vector): New.
11025
11026 * expmed.c (make_tree): Handle CONST_VECTOR.
11027
11028 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
11029 (CONST_VECTOR_ELT): New.
11030 (CONST_VECTOR_NUNITS): New.
11031
11032 * machmode.h (GET_MODE_INNER): New.
11033 (DEF_MACHMODE): Accept 8th arg.
11034
11035 * machmode.def: Add 8th argument for vector inner mode.
11036 Add inner vector modes for vectors.
11037
11038 * rtl.def (VEC_CONST): Remove.
11039 (CONST_VECTOR): New.
11040
11041 * expr.c (clear_storage): Allow vectors.
11042 (is_zeros_p): Handle VECTOR_CST.
11043
11044 * varasm.c (output_constant_pool): Handle vectors.
11045 (rtx_const): Add veclo and vechi fields.
11046 (kind): Add RTX_VECTOR.
11047 (decode_rtx_const): Add case for vector.
11048
11049 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 11050
91c8aa9e
AH
11051 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
11052 constants. Force easy vector constants into memory.
11053 (easy_vector_constant): New.
11054 (emit_easy_vector_constant): New.
11055 (rs6000_legitimize_reload_address): Do not generate bad reloads on
11056 darwin.
11057
11058 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
11059 instruction does.
11060 ("altivec_lvxl"): Same.
11061 (altivec_lvebx): Same.
11062 (altivec_lvehx): Same.
11063 (altivec_lvewx): Same.
11064 ("*movv4si_const0"): New.
11065 ("*movv4sf_const0"): New.
11066 ("*movv8hi_const0"): New.
11067 ("*movv16qi_const0"): New.
11068
d4d6d0ce
KH
110692002-02-18 Kazu Hirata <kazu@hxi.com>
11070
11071 * config/h8300/h8300.c (notice_update_cc): Use
11072 cc_status.value2.
11073
4915d3aa
KH
110742002-02-18 Kazu Hirata <kazu@hxi.com>
11075
11076 * config/h8300/h8300.md (divmod patterns): Change the
11077 constraints for operands[1] to register_operand.
11078
82be00ee
KH
110792002-02-18 Kazu Hirata <kazu@hxi.com>
11080
11081 * config/h8300/h8300-protos.h: Remove the prototype for
11082 p_operand.
11083 * config/h8300/h8300.c (p_operand): Remove.
11084 * config/h8300/h8300.md: Replace p_operand with
11085 const_int_operand.
11086
1768c26f
PB
110872002-02-18 Philip Blundell <pb@nexus.co.uk>
11088
11089 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
11090 comment.
11091 (output_return_instruction): Allow use of LDR to unstack
11092 return addresss even for interrupt handlers or when
11093 interworking. If compiling for ARMv5, use interworking-safe
11094 return instructions by default. Remove duplicated code and
11095 lengthy "strcat" sequences.
11096
ccd84f51
FS
110972002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11098
11099 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
11100 (LINK_EH_SPEC): Define.
11101 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
11102
2c153108
UW
111032002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
11104
11105 * config/s390/s390.c (s390_emit_prologue): Do not set the
11106 frame_related flag for call-clobbered registers.
11107
e95d6b23
JH
11108Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
11109
11110 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
11111 (construct_container): Fix handling of SSE operands.
11112 (ix86_expand_builtin): Fix handling of 64bit pointers.
11113 (mmx_maskmovq_rex): New pattern.
11114
c43a12b5
JH
11115Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
11116
11117 * regrename.c (kill_set_value): Handle subregs properly.
11118
aeb85a15
DB
111192002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
11120
11121 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 11122 from objc_class_name.
aeb85a15 11123
a615ca3e
RH
111242002-02-17 Richard Henderson <rth@redhat.com>
11125
11126 * config/alpha/alpha.c (some_small_symbolic_operand,
11127 some_small_symbolic_operand_1, split_small_symbolic_operand,
11128 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
11129 Handle small SYMBOL_REFs anywhere, not just inside memories.
11130 * config/alpha/alpha-protos.h: Update.
11131 * config/alpha/alpha.h (PREDICATE_CODES): Update.
11132 * config/alpha/alpha.md (small symbolic operand splitter): Update.
11133
ddb28441
RM
111342002-02-17 Roland McGrath <roland@frob.com>
11135
11136 * config.gcc (powerpc-*-gnu-gnualtivec*,
11137 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
11138 * config/rs6000/gnu.h: New file.
11139 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
11140 Grok "gnu" in rs6000_abi_name.
11141 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
11142 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
11143 Grok -mcall-gnu analogous to -mcall-linux et al.
11144 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
11145 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
11146 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
11147
f6f8ada3
JJ
111482002-02-17 Jakub Jelinek <jakub@redhat.com>
11149
11150 PR c/3444:
11151 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
11152 shortening.
11153
e16b32fc
PT
111542002-02-17 Philipp Thomas <pthomas@suse.de>
11155
11156 * config/cris/cris.h: Undefine STARTFILE_SPEC and
11157 ENDFILE_SPEC before (re)defining them.
11158
f9477efd
KH
111592002-02-17 Kazu Hirata <kazu@hxi.com>
11160
11161 * config/h8300/h8300.c: Fix formatting.
11162 * config/h8300/h8300.h: Likewise.
11163
404ae494
PT
111642002-02-17 Philipp Thomas <pthomas@suse.de>
11165
11166 * doc/tm.texi: Explain why empty strings should not be
11167 marked for translation.
11168
a52453cc
PT
111692002-02-17 Philipp Thomas <pthomas@suse.de>
11170
11171 * final.c (output_operand_lossage): Changed to accept
11172 printf style arguments. Change calls where necessary.
11173 * output.h (output_operand_lossage): Change declaration
11174 accordingly. Update copyright.
11175 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
11176 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
11177 Update copyright date where necessary.
c410d49e 11178
a52453cc
PT
11179 * config/i386/i386.c (print_operand): Likewise. Remove use of
11180 sprintf.
11181
11182 * config/cris/cris.c (cris_operand_lossage): Likewise.
11183 Rename parameter so that exgettext recognizes it as
11184 translatable message.
11185 (LOSE_AND_RETURN): Rename parameter to msgid.
11186
1c11abc4
KH
111872002-02-17 Kazu Hirata <kazu@hxi.com>
11188
11189 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
11190 hard coded register number with an appropriate macro.
11191 (HARD_REGNO_MODE_OK): Likewise.
11192 (ARG_POINTER_REGNUM): Likewise.
11193 (STATIC_CHAIN_REGNUM): Likewise.
11194 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
11195 * config/h8300/h8300.md (define_constants): Define more
11196 register numbers.
11197
a5d17ff3
PT
111982002-02-17 Philipp Thomas <pthomas@suse.de>
11199
11200 * config/i386/i386.h: Don't mark empty strings for translation.
11201
1a7289c4
L
112022002-02-16 H.J. Lu <hjl@gnu.org>
11203
11204 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
11205
afb58288
ZW
112062002-02-16 Zack Weinberg <zack@codesourcery.com>
11207
11208 * cppinit.c (merge_include_chains): Check for brack being
11209 NULL before attempting to merge it with qtail.
11210
d2af4dbd
AC
112112002-02-16 Andrew Cagney <ac131313@redhat.com>
11212
11213 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
11214 DBX_DEBUG.
11215
2e1ed1e3
JDA
112162002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
11217
11218 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
11219
604c75b2
JDA
112202002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
11221
11222 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
11223 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
11224 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
11225
1a42b072
RK
11226Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11227
7303604f 11228 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
11229 now only if !TARGET_FIX.
11230 (*movsi_nt_vms_fix): New pattern.
11231
c2ea1ac6
DR
112322002-02-16 Douglas B Rupp <rupp@gnat.com>
11233
11234 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
11235 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
11236 (alpha_sa_mask, alpha_sa_size): Reflect above change.
11237 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
11238 (alpha_start_function, alpha_expand_epilogue): Likewise.
11239 (unicosmk_gen_dsib): Likewise.
11240
725e58b1
RK
11241Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11242
11243 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
11244
13e58269
UW
112452002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
11246
c410d49e 11247 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
11248 check_and_change_labels, s390_final_chunkify): Delete.
11249 (s390_split_branches, s390_chunkify_pool): New functions.
11250 (s390_function_prologue): Call them.
c410d49e 11251
13e58269
UW
11252 * config/s390/s390.h (S390_REL_MAX): Delete.
11253 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
11254
c410d49e 11255 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
11256 attribute calculation.
11257
11258
34d1b01d
DE
112592002-02-15 David Edelsohn <edelsohn@gnu.org>
11260
11261 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
11262 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
11263
be5cc51a
JDA
112642002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
11265
11266 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
11267 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
11268 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
11269
ee96ce90
RS
112702002-02-15 Richard Sandiford <rsandifo@redhat.com>
11271
11272 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
11273
05fa709d
RS
112742002-02-15 Richard Sandiford <rsandifo@redhat.com>
11275
11276 * reload.c (find_dummy_reload): Check that an output register
11277 is valid for its mode.
11278
4606272b
AO
112792002-02-14 Alexandre Oliva <aoliva@redhat.com>
11280
9a360704
AO
11281 * combine.c (known_cond): After replacing the REG of a SUBREG, try
11282 to simplify it.
11283
4606272b
AO
11284 * function.c (assign_parms): Demote promoted argument passed by
11285 transparent reference.
11286
e62d89a1
JS
112872001-02-14 Joel Sherrill <joel@OARcorp.com>
11288
11289 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
11290 -Acpu() and -Amachine() to eliminate warnings.
11291
6c4cf695
UW
112922002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
11293
11294 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
11295
037f11ef
KH
112962002-02-14 Kazu Hirata <kazu@hxi.com>
11297
11298 * config/h8300/h8300-protos.h: Update the prototype for
11299 const_costs.
11300 * config/h8300/h8300.c (const_costs): Treat SET as a little
11301 more expensive operation.
11302 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
11303 reference to const_costs.
11304
fdc76b09
HPN
113052002-02-14 Hans-Peter Nilsson <hp@axis.com>
11306
11307 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
11308
d76e6800
JJ
113092002-02-14 Jakub Jelinek <jakub@redhat.com>
11310
11311 PR c/5503:
11312 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
11313 use arguments from newtype.
11314
5ae590d7
EC
113152002-02-13 Eric Christopher <echristo@redhat.com>
11316
11317 * config/mips/mips.c (override_options): Add check for march/mipsX
11318 on the same command line. Fix error message in cpu processing.
11319 Remove architecture and ISA checks.
11320
b8513691
AH
113212002-02-14 Aldy Hernandez <aldyh@redhat.com>
11322
831c4e87 11323 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 11324
831c4e87 11325 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 11326
78c875e8
AH
113272002-02-14 Aldy Hernandez <aldyh@redhat.com>
11328
831c4e87
KC
11329 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
11330 alternatives.
11331 ("*movv8hi_internal1"): Same.
11332 ("*movv16qi_internal1"): Same.
11333 ("*movv4sf_internal1"): Same.
78c875e8 11334
831c4e87
KC
11335 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
11336 not push_reload for altivec modes.
78c875e8 11337
d76e6800 113382002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
11339
11340 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
11341 all RTEMS targets including removal of #includes from config/*/rtems*.h
11342 file and adding them to tm_file setting. Added xm_defines=POSIX to
11343 many targets.
11344 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
11345 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
11346 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
11347 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
11348 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
11349 config/m68k/rtemself.h: Ditto.
11350 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
11351 config/mips/rtems64.h: Ditto.
11352 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
11353 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
11354 Ditto.
11355 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
11356 config/sparc/rtemself.h: Ditto.
11357 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
11358 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
11359 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
11360 more like arm-elf.
11361 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
11362 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
11363 target made more similar to i386-elf.
11364 * config/i386/t-rtems-i386: Added soft float support and multilibs.
11365 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
11366 be similar to config/m68k/t-m68kelf.
11367 * gthr-rtems.h: Encapsulate with extern "C" for C++.
11368
8686336f
JH
11369Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
11370
11371 * regmove.c (kill_value): Handle subregs.
11372
558740bf
JH
11373Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
11374
11375 * i386.md (mul patterns): Allow memory operand to be first;
11376 add expanders where needed; fix constraints.
11377 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
11378 Allow memory operand to be the first.
11379
11380 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
11381 operands.
11382
21117a17
JJ
113832002-02-13 Jakub Jelinek <jakub@redhat.com>
11384
11385 PR c/5681:
11386 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
11387 GET_MODE (x).
11388
ec65b2e3
JJ
113892002-02-13 Jakub Jelinek <jakub@redhat.com>
11390
11391 PR optimization/5547:
11392 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
11393 all valid IA-32 address modes involving non-scaled %ebx and
11394 GOT/GOTOFF as displacement.
11395
ce50cae8
UW
113962002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
11397
11398 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
11399 after emitting ltorg insns.
11400
11401 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
11402 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
11403 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
11404 *abssf2): Fix "op_type" attribute.
11405
09eb789b
DR
114062002-02-13 Douglas B Rupp <rupp@gnat.com>
11407
2dbe67bb
DR
11408 * mkconfig.sh: Avoid using a subshell redirect.
11409 ($output.T): Change to $(output)T.
11410 (ENABLE_NLS): Remove unneeded undef.
11411
ea5b9a1f
DR
11412 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
11413 * config/alpha/x-vms (libsubdir): Define.
11414
3deb00ce
DR
11415 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
11416 register frame procedures. Optimize retrieving context.
11417
09eb789b
DR
11418 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
11419 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
11420 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
11421
1abade85
RK
11422Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11423
11424 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
11425 Make same change as for find_base_value.
11426
c283e63f
KH
114272002-02-13 Kazu Hirata <kazu@hxi.com>
11428
11429 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
11430 of QImode and SImode.
11431
86039100
KH
114322002-02-13 Kazu Hirata <kazu@hxi.com>
11433
11434 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
11435 length computation of movsi.
11436 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
11437
e1429da0
KH
114382002-02-13 Kazu Hirata <kazu@hxi.com>
11439
11440 * config/h8300/h8300.md (subqi3): Tighten the predicate for
11441 operands[2] to register_operand.
11442
aebfea10
JH
11443Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
11444
11445 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
11446
0ec4e2a8
AH
114472002-02-12 Aldy Hernandez <aldyh@redhat.com>
11448
831c4e87
KC
11449 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
11450 for altivec_lvx* and altivec_stvx*.
11451 ("*movv4si_internal"): Add constraint for loading from GPRs.
11452 ("*movv8hi_internal1"): Same.
11453 ("*movv16qi_internal1"): Same.
11454 ("*movv4sf_internal1"): Same.
0ec4e2a8 11455
831c4e87 11456 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 11457
831c4e87
KC
11458 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
11459 altivec_register_operand.
0ec4e2a8 11460
b007569d
HPN
114612002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
11462
11463 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
11464 handle SYMBOL_REF.
11465
e6834654
SS
114662002-02-13 Stan Shebs <shebs@apple.com>
11467
831c4e87
KC
11468 * c-typeck.c (digest_init): Handle vectors.
11469 (really_start_incremental_init): Same.
11470 (pop_init_level): Same.
11471 (process_init_element): Same.
e6834654 11472
831c4e87 11473 * varasm.c (output_constant): Same.
e6834654 11474
831c4e87
KC
11475 * expr.c (clear_storage): Same.
11476 (store_constructor): Same.
e6834654 11477
d9b3eb63
EC
114782002-02-12 Eric Christopher <echristo@redhat.com>
11479
11480 * explow.c (hard_function_value): Add comment explaining
11481 signed/unsigned comparison.
11482
56d44285
JJ
114832002-02-12 Jakub Jelinek <jakub@redhat.com>
11484
11485 * jump.c (never_reached_warning): Add finish argument.
11486 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
11487 real insn after end.
11488 * rtl.h (never_reached_warning): Adjust prototype.
11489 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
11490 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
11491 never_reached_warning.
11492
fc209487
GS
114932002-02-12 Graham Stott <grahams@redhat.com>
11494
11495 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
11496
1e41e866
KH
114972002-02-12 Kazu Hirata <kazu@hxi.com>
11498
11499 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
11500 logical shifts on H8/300.
11501 (shift_alg_si): Improve several shifts on H8/300.
11502 (get_shift_alg): Likewise.
11503
a36a47ad
GS
115042002-02-12 Graham Stott <grahams@redhat.com>
11505
11506 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
11507
0aacc8ed
RK
11508Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11509
11510 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
11511 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
11512
a02ac966
HPN
115132002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
11514
11515 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
11516 non-CONST_INT through default_assemble_integer.
11517 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
11518 <case 8>: Abort for CONST_DOUBLE.
11519
d6e06ddc
JDA
115202002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
11521
11522 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
11523 is specified.
11524 * config/pa/pa-linux.h (LIB_SPEC): Delete.
11525 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
11526
515342a8
AH
115272002-02-11 Andrew Haley <aph@cambridge.redhat.com>
11528
11529 * config/stormy16/stormy16.md (zero_extendqihi2): New.
11530
cddd8b72
AO
115312002-02-11 Alexandre Oliva <aoliva@redhat.com>
11532
66df7a98
AO
11533 * regrename.c (regrename_optimize): Don't accept a
11534 part-clobbered register if the replaced register is not part
11535 clobbered.
11536
841404cd
AO
11537 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
11538 take padding into account when computing the argument value.
11539
1d1ade42
AO
11540 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
11541
cddd8b72
AO
11542 * combine.c (try_combine): Apply substitutions in
11543 CALL_INSN_FUNCTION_USAGE too.
11544
5c665b88
AH
115452002-02-11 Aldy Hernandez <aldyh@redhat.com>
11546
77f6c1eb
RS
11547 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
11548 __builtin_altivec_abs*.
11549 (bdesc_abs): New.
5c665b88 11550
77f6c1eb
RS
11551 * config/rs6000/rs6000.h (rs6000_builtins): Add
11552 ALTIVEC_BUILTIN_ABS*.
5c665b88 11553
77f6c1eb
RS
11554 * config/rs6000/altivec.h: Use const char for builtins expecting
11555 literals.
11556 (vec_abs): New versions for C and C++.
11557 (vec_abss): Same.
5c665b88 11558
3494f1b4
KH
115592002-02-10 Kazu Hirata <kazu@hxi.com>
11560
11561 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
11562 using Pmode.
11563
72431aef
KH
115642002-02-10 Kazu Hirata <kazu@hxi.com>
11565
11566 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
11567 constant definition from h8300.md.
11568 (FRAME_POINTER_REGNUM): Likewise.
11569 * config/h8300/h8300.md (define_constants): Add FP_REG.
11570
87e4ee91
KH
115712002-02-10 Kazu Hirata <kazu@hxi.com>
11572
11573 * config/h8300/h8300.c (print_operand): Remove redundant code.
11574
9c188705
KH
115752002-02-10 Kazu Hirata <kazu@hxi.com>
11576
11577 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
11578 * config/h8300/h8300.c (byte_reg): Make it static.
11579
fba78abb
RH
115802002-02-10 Richard Henderson <rth@redhat.com>
11581
11582 PR c/5623
11583 * c-typeck.c (incomplete_type_error): Handle flexible array members.
11584
65739e62
RH
115852002-02-10 Richard Henderson <rth@redhat.com>
11586
11587 PR c++/5624
11588 * tree.c (append_random_chars): Don't abort if main_input_filename
11589 does not exist.
11590
247cb9df
HPN
115912002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
11592
11593 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
11594
232bd029
KH
115952002-02-10 Kazu Hirata <kazu@hxi.com>
11596
65739e62 11597 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
11598 (pushhi1): Likewise.
11599
276ef573
JDA
116002002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
11601
11602 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
11603 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
11604
617e9ee5
DB
116052002-02-09 David O'Brien <obrien@FreeBSD.org>
11606
11607 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
11608 remove MASK_VIS.
11609 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
11610
6dfa4005
KH
116112002-02-09 Kazu Hirata <kazu@hxi.com>
11612
11613 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
11614 a half of an SImode register on H8/300.
11615
749e7b80
JH
11616Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
11617
11618 * i386.md (movdi_2): Add missing '!'.
11619
ca77d87c
KH
116202002-02-09 Kazu Hirata <kazu@hxi.com>
11621
11622 * config/h8300/h8300.h: Fix formatting. Remove commented-out
11623 definitions.
11624
16c96304
KH
116252002-02-09 Kazu Hirata <kazu@hxi.com>
11626
11627 * config/h8300/h8300.md (length): Correct the distance valid
11628 for the short branch.
11629
a364bc90
KH
116302002-02-09 Kazu Hirata <kazu@hxi.com>
11631
11632 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
11633
e4ec2cac
AO
116342002-02-09 Alexandre Oliva <aoliva@redhat.com>
11635
a138247b
AO
11636 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
11637 registers in SImode.
11638 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
11639 part-clobbered.
11640
2b1fd83f
AO
11641 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
11642 patch.
d9b3eb63 11643
fa5322fa
AO
11644 Contribute sh64-elf.
11645 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
11646 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
11647 (sh_cannot_modify_jumps_p): New function.
11648 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
11649 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
11650 (sh_ms_bitfield_layout_p): New function.
11651 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
11652 Zack Weinberg <zack@codesourcery.com>
11653 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
11654 expand_simple_binop instead of expand_binop.
11655 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
11656 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
11657 use of .quad and .uaquad.
11658 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
11659 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
11660 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
11661 * config/sh/sh.md (movdi_const, movdi_const_32bit,
11662 movdi_const_16bit): Make sure all CONSTs have modes.
11663 (sym2PIC): Ditto, but by adjusting all callers.
11664 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
11665 if the prologue calls the SHmedia argument decoder or register
11666 saver.
11667 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
11668 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
11669 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
11670 (sh_expand_epilogue): Don't emit USE of return target register.
11671 (prepare_move_operands): Legitimize DImode PIC addresses.
11672 (sh_media_register_for_return): Skip tr0, used to initialize the
11673 PIC register.
11674 (sh_expand_prologue): Remove explicit USE of return register.
11675 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
11676 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
11677 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
11678 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
11679 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
11680 EXTRA_CONSTRAINT_T.
11681 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
11682 (MOVI_SHORI_BASE_OPERAND_P): New.
11683 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
11684 (EXTRA_CONSTRAINT_T): Define in terms of them.
11685 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
11686 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
11687 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
11688 alternatives supporting TARGET_REGS.
11689 (UNSPEC_GOTPLT): New constant.
11690 (movdi split): Move incrementing of LABEL_NUSES...
11691 (movdi_const, movdi_const_32bit): Here. Use
11692 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
11693 (movdi_const_16bit): New.
11694 (call, call_value) [flag_pic]: Use GOTPLT.
11695 (call_pop, call_value_pop): New expands.
11696 (call_pop_compact, call_pop_rettramp): New insns.
11697 (call_value_pop_compact, call_value_pop_rettramp): New insns.
11698 (sibcall) [flag_pic]: Use GOT.
11699 (builtint_setjmp_receiver): Remove bogus, unused expand.
11700 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
11701 (*pt, *ptb, ptrel): New insns.
11702 (sym2GOT): Handle DImode GOT.
11703 (sym2GOTPLT, symGOTPLT2reg): New expands.
11704 (sym2PIC): New expand.
11705 (shcompact_return_tramp): Use GOTPLT to return trampoline.
11706 (shcompact_return_tramp_i): Use return register explicitly.
11707 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
11708 disable flag_reorder_blocks.
11709 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
11710 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
11711 clobbers, for clarity.
11712 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
11713 restoring of r0 in macl as MAYBE_DEAD.
11714 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
11715 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
11716 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
11717 alter_subreg all over.
11718 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
11719 reload, instead of emitting instructions that would require
11720 reloading.
11721 (casesi_load_media): Add missing modes.
11722 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
11723 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
11724 as used if the argument decoder is called.
11725 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
11726 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
11727 Pmode, then extend it to DImode if necessary.
11728 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
11729 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
11730 constants in FPU-enabled SHmedia, let them be loaded from memory.
11731 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
11732 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
11733 Adjust whitespace in assembly output templates.
11734 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
11735 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
11736 mode of if_then_else.
11737 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
11738 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
11739 sh.h.
11740 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
11741 Joern Rennecke <amylaar@redhat.com>
11742 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
11743 (SUBTARGET_CPP_PTR_SPEC): New.
11744 (SUBTARGET_CPP_SPEC): Remove.
11745 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
11746 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
11747 Fix typo in previous checkin.
11748 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
11749 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
11750 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
11751 Alexandre Oliva <aoliva@redhat.com>
11752 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
11753 what single FP register can hold for SHmedia target.
11754 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
11755 Alexandre Oliva <aoliva@redhat.com>
11756 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
11757 Do not split into SUBREG.
11758 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
11759 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
11760 and added new functions as specified in SH5 ABI r9.
11761 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
11762 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
11763 8-byte boundary.
11764 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
11765 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
11766 gen_consttable_4 and gen_consttable_8. Emit multiple labels
11767 and consttable_window_ends.
11768 2001-06-03 Graham Stott <grahams@redhat,com>
11769 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
11770 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
11771 * config/sh/sh.c (print_operand): Handle floating-point pair,
11772 vector and matrix registers.
11773 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
11774 vector modes into account.
11775 * config/sh/sh.md (movv2sf): Split move between registers into
11776 movdf.
11777 (movv4sf, movv16sf): Introduce insns that get split only after
11778 reload.
11779 * config/sh/shmedia.h: Fix Copyright dates.
11780 * config/sh/ushmedia.h: Likewise. Move loop counter
11781 declarations into conditionals that uses them.
11782 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
11783 loop boundary.
11784 * config/sh/sshmedia.h: Fix Copyright dates.
11785 (sh_media_PUTCFG): Fix constraints.
11786 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
11787 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
11788 ptrmemfunc_vbit_in_delta for SH5.
11789 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
11790 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
11791 * invoke.texi: Likewise.
11792 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
11793 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
11794 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
11795 GCC_pop_shmedia_regs_nofpu): New global symbols.
11796 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
11797 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
11798 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
11799 compact function with nonlocal labels.
11800 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
11801 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
11802 (initial_elimination_offset): Account for their stack space.
11803 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
11804 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
11805 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
11806 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
11807 least one of the operands to be a register.
11808 (movv2sf): Likewise. Renamed to movv2sf_i.
11809 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
11810 prepare_move_operands() before emitting SHmedia insns.
11811 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
11812 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
11813 Don't save nor initialize r12. Don't mis-align the stack.
11814 Pad the code with a nop.
11815 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
11816 stack.
11817 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
11818 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
11819 [__SHMEDIA__]: Implement.
11820 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
11821 * config/sh/sh.md: Set latency of `pt' closer to reality.
11822 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
11823 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
11824 Set move, load and store type attributes.
11825 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
11826 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
11827 profiling.
11828 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
11829 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
11830 * config/sh/sh.c (sh_media_register_for_return): New function.
11831 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
11832 branch-target register.
11833 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
11834 * config/sh/sh.md (return_media_i): Use any call-clobbered
11835 branch-target register.
11836 (return_media): If r18 wasn't copied in the prologue, copy it
11837 here.
11838 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
11839 Clear class FP0_REGS.
11840 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
11841 from elf.h.
11842 2001-03-08 DJ Delorie <dj@redhat.com>
11843 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
11844 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
11845 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
11846 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
11847 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
11848 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
11849 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
11850 return value correctly for call_cookie.
11851 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
11852 * config/sh/crt1.asm (start): Modified so as to call
11853 ___setup_argv_and_call_main.
11854 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
11855 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
11856 SHmedia mode.
11857 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
11858 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
11859 (STRIP_NAME_ENCODING): Use it.
11860 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
11861 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
11862 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
11863 prepare_scc_operands().
11864 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
11865 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
11866 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
11867 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
11868 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
11869 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
11870 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
11871 used in shcompact_incoming_args.
11872 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
11873 change.
11874 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
11875 mode.
11876 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
11877 Adjust accordingly.
11878 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
11879 Simplify. Adjust. Add sanity check.
11880 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
11881 FPU_SINGLE_BIT.
11882 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
11883 TARGET_SHCOMPACT.
11884 (udivsi3, divsi3): Use them.
11885 (force_mode_for_call): New insn.
11886 (call, call_value, sibcall_value): Emit it before SHcompact
11887 calls.
11888 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
11889 * config/sh/sh.md (call, call_value, sibcall): Make sure the
11890 call cookie is non-NULL before taking its value.
11891 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
11892 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
11893 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
11894 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
11895 block.
11896 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
11897 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
11898 temporary for stack adjusts. Use MACL and MACH to pass
11899 arguments to shcompact_incoming_args.
11900 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
11901 clobber r1.
11902 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
11903 (nested_trampoline): Load static chain address into r1.
11904 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
11905 2001-01-07 Alexandre Oliva <aoliva@redhat.com
11906 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
11907 fp_arith_reg_operand().
11908 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
11909 * config/sh/sh.md (casesi): Sign-extend the first two operands,
11910 and use signed compares for them.
11911 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
11912 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
11913 ones properly aligned.
11914 (find_barrier): Account for extra alignment needed for 8-byte wide
11915 constants.
11916 (machine_dependent_reorg): Require a label for the second 4-byte
11917 constant after an 8-byte one.
11918 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
11919 change.
11920 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
11921 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
11922 last_float when switching float modes.
11923 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
11924 auto-increment for general-purpose registers.
11925 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
11926 result.
11927 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
11928 for stack adjust.
11929 * config/sh/sh.c (sh_builtin_saveregs): Support using all
11930 registers for varargs.
11931 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
11932 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
11933 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
11934 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
11935 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
11936 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
11937 call_cookie accordingly.
11938 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
11939 (SHCOMPACT_BYREF): Likewise.
11940 (SHCOMPACT_FORCE_ON_STACK): New macro.
11941 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
11942 (sh_builtin_saveregs): Likewise.
11943 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
11944 shcompact_incoming_args): Use new shift values. Support
11945 sequences of consecutive and non-consecutive pushes/pops.
11946 * config/sh/sh.md (return): Don't explicitly use PR_REG.
11947 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
11948 * config/sh/sh.h (TEXT_SECTION): Define.
11949 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
11950 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
11951 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
11952 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
11953 return values on FPU-enabled SHmedia.
11954 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
11955 FPU-enabled SHmedia.
11956 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
11957 value is returned in a non-FP reg and is not returned by
11958 reference.
11959 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
11960 jump_ind.
11961 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
11962 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
11963 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
11964 quad-aligned to be passed by callee-copy reference.
11965 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
11966 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
11967 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
11968 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
11969 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
11970 copying low-numbered FP regs to r7 and r8.
11971 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
11972 FP regs to general-purpose regs only if the copy was passed on the
11973 stack.
11974 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
11975 copying FP reg to r9.
11976 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
11977 copy FP regs to general-purpose regs only in outgoing calls.
11978 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 11979 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
11980 HOST_WIDE_INT.
11981 * config/sh/sh.h (struct sh_args): Document all fields.
11982 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
11983 passed partially on the stack should not consider making
11984 sibcalls.
11985 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
11986 stack_regs only for incoming calls. When passing FP args,
11987 make sure there are FP regs available before modifying
11988 call_cookie.
11989 (SHCOMPACT_BYREF): Pass double args in general-purpose
11990 registers by reference.
11991 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
11992 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
11993 attempt to generate sibcalls if the caller got any arguments
11994 by reference.
11995 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
11996 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
11997 to 8-byte boundaries.
11998 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
11999 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
12000 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
12001 stored in the stack.
12002 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
12003 for the offsets to have the ISA bit set.
12004 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
12005 invocation. Use beq instead of bgt to mark end of sequence of
12006 loads.
12007 (shcompact_incoming_args): Fix store of r2. Use beq instead of
12008 bgt to mark end of sequence of stores.
12009 * config/sh/sh.c (arith_operand): Don't check whether
12010 CONST_OK_FOR_J for now.
12011 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
12012 instead of long for conversion.
12013 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
12014 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
12015 before passing it to fprintf.
12016 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
12017 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
12018 Call set_fpscr before reading/writing SR.
12019 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
12020 Call set_fpscr.
12021 * config/sh/lib1funcs.asm: Add `.align 2' directives before
12022 SHmedia code.
12023 (FMOVD_WORKS): Define on SH5 with FPU.
12024 (set_fpscr): Define on SH5. Remove separate _fpscr_values
12025 setting.
12026 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
12027 _fpscr_values.
12028 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
12029 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
12030 address.
12031 (ia_main_table): Ditto.
12032 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
12033 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
12034 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
12035 the definitions from sh.h.
12036 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
12037 TARGET_SH5.
12038 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
12039 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
12040 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
12041 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
12042 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
12043 Increment LABEL_NUSES.
d9b3eb63 12044
fa5322fa
AO
12045 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
12046 TARGET_SH5.
12047 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
12048 defined.
12049 * config/sh/elf.h (SIZE_TYPE): Likewise.
12050 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
12051 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
12052 shcompact_incoming_args): Load switch table addresses using
12053 datalabel.
12054 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
12055 (NO_BUILTIN_SIZE_TYPE): Define.
12056 (SIZE_TYPE): Don't define.
12057 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
12058 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
12059 definition of __SH5__=32 for -m5-compact-nofpu.
12060 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
12061 ADDR_DIFF_VEC.
12062 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
12063 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
12064 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
12065 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
12066 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
12067 (INSN_LENGTH_ALIGNMENT): Likewise.
12068 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
12069 * config/sh/sh.md (call, call_value, sibcall): Simplify
12070 copying of non-branch-target register.
12071 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 12072 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
12073 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
12074 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
12075 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
12076 floating-point values as structs.
12077 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
12078 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
12079 general-purpose register.
12080 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
12081 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
12082 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
12083 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
12084 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
12085 (ENCODE_SECTION_INFO): Enclose variables and constants in
12086 DATALABEL unspecs.
12087 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
12088 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
12089 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
12090 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
12091 only for LABEL_REFs. For SYMBOL_REFs, prepend
12092 SH_DATALABEL_ENCODING to the symbol name.
12093 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
12094 convert_mode().
12095 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
12096 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
12097 UNSPEC_DATALABEL.
12098 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
12099 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
12100 (DATALABEL_REF_P): Don't require CONST.
12101 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
12102 REL label.
12103 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
12104 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
12105 right.
12106 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
12107 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
12108 Use shallow_copy_rtx and PUT_MODE to change the mode of
12109 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
12110 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
12111 on SHmedia using GENERAL_REGs.
12112 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
12113 bltu_media_i): Fix reversion of conditions.
12114 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
12115 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
12116 * config/sh/sh.c (output_far_jump): Save r13 in macl.
12117 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
12118 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
12119 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
12120 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
12121 (GCC_nested_trampoline): Likewise.
12122 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
12123 * config/sh/sh.c (gen_datalabel_ref): Define.
12124 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
12125 (INITIALIZE_TRAMPOLINE): Likewise.
12126 (TRAMPOLINE_ADJUST_ADDRESS): Define.
12127 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
12128 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
12129 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
12130 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
12131 (ic_invalidate): Adjust for SH5.
12132 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
12133 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
12134 _nested_trampoline.
12135 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
12136 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
12137 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
12138 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
12139 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
12140 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
12141 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
12142 * config/sh/sh.c (target_reg_operand): Match only target-branch
12143 registers and pseudos that aren't virtual registers.
12144 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
12145 Copy operands that don't match target_reg_operand to pseudos.
12146 (call_media, call_value_media, sibcall_media): Use
12147 target_reg_operand instead of target_operand.
12148 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 12149 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
12150 * config/sh/sh.c (target_reg_operand): Match hardware registers
12151 other than branch-target registers.
12152 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
12153 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
12154 (fpscr_values) [SH5 == 32]: Define.
12155 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
12156 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
12157 Handle function addresses coming in SUBREGs.
12158 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
12159 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
12160 shcompact_return_trampoline): Use datalabel where appropriate.
12161 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
12162 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
12163 general-purpose register to copy one branch-target register to
12164 another.
12165 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
12166 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
12167 SYMBOL_REFs with VOIDmode.
12168 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
12169 bltu_media_i): New insns.
12170 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
12171 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
12172 (INIT_CUMULATIVE_ARGS): Likewise.
12173 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
12174 * machmode.def (V16SFmode): New mode.
12175 * c-common.c (type_for_mode): Support V2SF and V16SF.
12176 * tree.c (build_common_tree_nodes_2): Likewise.
12177 * tree.h (tree_index): Likewise.
12178 * calls.c (emit_call_1): Take args_so_far. Adjust all
12179 callers. Introduce CALL_POPS_ARGS.
12180 * tm.texi (CALL_POPS_ARGS): Document.
12181 * config/sh/crt1.asm: Implement in SHmedia mode.
12182 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
12183 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
12184 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
12185 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
12186 Implement divsi and udivsi in SHmedia mode. Introduce
12187 SHcompact trampolines.
12188 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
12189 only in SHmedia64.
12190 (regno_reg_class): Rewrite.
12191 (fp_reg_names): Remove.
12192 (sh_register_names, sh_additional_register_names): New.
12193 (print_operand): Added `u'. Support SUBREGs in addresses.
12194 Add parentheses around shifted CONSTs.
12195 (output_file_start): Output .mode and .abi directives.
12196 (shiftcosts, addsubcosts, multcosts): Adjust.
12197 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
12198 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
12199 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
12200 bytes, not registers. Take into account the need for the
12201 SHcompact incoming args trampoline. Adjust all callers.
12202 (sh_expand_prologue): Take stack_regs into account. Call
12203 incoming args trampoline. Keep stack aligned as per SH5 ABI.
12204 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
12205 stack aligned as per SH5 ABI.
12206 (sh_builtin_saveregs): Support SH5 ABI.
12207 (sh_build_va_list, sh_va_start): Likewise.
12208 (initial_elimination_offset): Take alignment into account.
12209 Compute location of PR according to the SH5 stack frame.
12210 (arith_reg_operand): Reject branch-target registers.
12211 (shmedia_6bit_operand): New.
12212 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
12213 (target_reg_operand): Match DImode only. Accept SUBREGs.
12214 (target_operand): New.
12215 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
12216 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
12217 SIBCALL_REGS for SHmedia.
12218 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
12219 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
12220 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
12221 (TARGET_SWITCHES): New SH5 flags.
12222 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
12223 VALID_REGISTER_P to disable unsupported registers.
12224 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
12225 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
12226 (FUNCTION_ARG_PADDING): Define.
12227 (FASTEST_ALIGNMENT): Adjust.
12228 (SH_REGISTER_NAMES_INITIALIZER): New.
12229 (sh_register_names): Declare.
12230 (DEBUG_REGISTER_NAMES): Define.
12231 (REGISTER_NAMES): Define based on sh_register_names.
12232 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
12233 (sh_additional_register_names): Declare.
12234 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
12235 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
12236 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
12237 (REGISTER_NATURAL_MODE): Define.
12238 (FIRST_PSEUDO_REGISTER): Adjust.
12239 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
12240 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
12241 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
12242 (VECTOR_MODE_SUPPORTED_P): Define.
12243 (REG_CLASS_CONTENTS): Adjust.
12244 (SMALL_REGISTER_CLASSES): Adjust.
12245 (REG_ALLOC_ORDER): Adjust.
12246 (INDEX_REG_CLASS): Adjust.
12247 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
12248 (CONST_OK_FOR_LETTER_P): Adjust.
12249 (PREFERRED_RELOAD_CLASS): Adjust.
12250 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
12251 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
12252 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
12253 (FIRST_FP_PARM_REG): Adjust.
12254 (CALL_POPS_ARGS): Define.
12255 (FUNCTION_ARG_REGNO_P): Adjust.
12256 (struct sh_args): New fields.
12257 (GET_SH_ARG_CLASS): Adjust.
12258 (INIT_CUMULATIVE_ARGS): Adjust.
12259 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
12260 (FUNCTION_ARG_ADVANCE): Adjust.
12261 (FUNCTION_ARG): Adjust.
12262 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
12263 (FUNCTION_ARG_CALLEE_COPIES): Define.
12264 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
12265 (STRICT_ARGUMENT_NAMING): Define.
12266 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
12267 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
12268 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
12269 (SETUP_INCOMING_VARARGS): Adjust.
12270 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
12271 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
12272 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
12273 (SUBREG_OK_FOR_INDEX_P): Adjust.
12274 (EXTRA_CONSTRAINT_S): Update.
12275 (EXTRA_CONSTRAINT_T): New.
12276 (EXTRA_CONSTRAINT): Adjust.
12277 (GO_IF_LEGITIMATE_INDEX): Adjust.
12278 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
12279 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
12280 (MOVE_MAX): Adjust.
12281 (MAX_MOVE_MAX): Define.
12282 (Pmode): Adjust.
12283 (CONST_COSTS): Adjust.
12284 (REGISTER_MOVE_COST): Adjust.
12285 (BRANCH_COST): Adjust.
12286 (TEXT_SECTION_ASM_OP): Adjust.
12287 (DBX_REGISTER_NUMBER): Adjust.
12288 (ASM_OUTPUT_DOUBLE_INT): New.
12289 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
12290 (PREDICATE_CODES): Adjust.
12291 (PROMOTE_MODE): Adjust.
12292 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
12293 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
12294 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
12295 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
12296 (DR0_REG, DR2_REG, DR4_REG): Renumber.
12297 (TR0_REG, TR1_REG, TR2_REG): New.
12298 (XD0_REG): Renumber.
12299 (UNSPEC_COMPACT_ARGS): New.
12300 (type): Added pt and ptabs.
12301 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 12302 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
12303 (pt): New function unit.
12304 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
12305 Add whitespace between operands of SHmedia instructions.
12306 (movdicc): Fix.
12307 (adddi3_media, addsi3_media): Adjust constraints.
12308 (subsi3) [SHmedia]: Force operand 1 into a register.
12309 (udivsi3_i1_media, udivsi3_i4_media): New.
12310 (udivsi3): Support SHmedia.
12311 (divsi3_i1_media, divsi3_i4_media): New.
12312 (divsi3): Support SHmedia.
12313 (anddi3, iordi3, xordi3): Adjust constraints.
12314 (zero_extendhidi2, zero_extendqidi2): New.
12315 (extendsidi2, extendhidi2, extendqidi2): New.
12316 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
12317 (pop_e, pop_fpul, pop_4): Likewise.
12318 (movsi_media): Support FP and BT registers.
12319 (movsi_media_nofpu): New. Adjust splits to DImode.
12320 (lduw, ldub): Renamed to zero_extend* above.
12321 (movqi_media): Fix typo.
12322 (movdi_media): Support FP and BT registers.
12323 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
12324 (movdi_const_32bit): New.
12325 (shori_media): Require immediate operand. Use `u' for output.
12326 (movdf_media, movsf_media): Simplified.
12327 (movdf_media_nofpu, movsf_media_nofpu): New.
12328 (movdf, movsf): Adjust
12329 (movv2sf, movv2sf, movv16sf): New.
12330 (beq_media, beq_media_i): Adjust constraints. Don't use
12331 scratch BT register.
12332 (bne_media, bne_media_i): Likewise.
12333 (bgt_media, bgt_media_i): Likewise.
12334 (bge_media, bge_media_i): Likewise.
12335 (bgtu_media, bgtu_media_i): Likewise.
12336 (bgeu_media, bgeu_media_i): Likewise.
12337 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
12338 bunordered): Emit jump insn. Force operands to registers when
12339 needed.
12340 (jump_media, jump): Simplify.
12341 (call_compact, call_compact_rettramp): New.
12342 (call_value_compact, call_value_compact_rettramp): New.
12343 (call_media, call_value_media): Simplify.
12344 (sibcall_compact, sibcall_media): New.
12345 (call, call_value): Adjust for SHmedia and SHcompact.
12346 (sibcall, sibcall_value, untyped_call): Likewise.
12347 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
12348 (indirect_jump): Adjust for SHmedia.
12349 (casesi_jump_media): New.
12350 (nop): Re-enable for SHmedia.
12351 (call_site): Restrict to SH1.
12352 (casesi): Adjust for SHmedia.
12353 (casesi_shift_media, casesi_load_media): New.
12354 (return): Explicitly use PR register. Call return trampoline
12355 on SHcompact.
12356 (return_i): Explicitly use PR register.
12357 (shcompact_return_tramp, shcompact_return_tramp_i): New.
12358 (return_media): Adjust.
12359 (shcompact_incoming_args): New.
12360 (epilogue): Adjust.
12361 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
12362 (movstrsi): Disable on SH5.
12363 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
12364 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
12365 (subsf3, subsf3_media): Likewise.
12366 (mulsf3, mulsf3_media, mac_media): Likewise.
12367 (divsf3, divsf3_media): Likewise.
12368 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
12369 (floatsisf2, fux_truncsfsi2): Likewise.
12370 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
12371 constraints.
12372 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
12373 (cmpunsf_media, cmpsf): Likewise.
12374 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
12375 (abssf2, abssf2_media): Likewise.
12376 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
12377 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
12378 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
12379 (floatsidf2, fix_truncdfsi2): Likewise.
12380 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
12381 constraints.
12382 (cmpeqdf_media, cmpgtdf_media): Likewise.
12383 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
12384 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
12385 (absdf2, absdf2_media): Likewise.
12386 (extendsfdf2, extendsfdf2_media): Likewise.
12387 (truncsfdf2, truncsfdf2_media): Likewise.
12388 * config/sh/sh64.h: New file.
12389 * config/sh/t-sh64: New file.
12390 * config/sh/shmedia.h: New file.
12391 * config/sh/ushmedia.h: New file.
12392 * config/sh/sshmedia.h: New file.
12393 * configure.in: Added sh64-*-elf.
12394 * configure: Rebuilt.
12395 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
12396 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
12397 (reg_class_from_letter): Use `b' for TARGET_REGS.
12398 (print_operand): Support `%M', `%m', `AND' and
12399 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
12400 (andcosts): Adjust for SHmedia.
12401 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
12402 Likewise.
12403 (target_reg_operand): New function.
12404 * config/sh/sh-protos.h (target_reg_operand): Declare.
12405 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
12406 FP registers on SH5.
12407 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
12408 on SH4.
12409 (TARGET_REGISTER_P): New macro.
12410 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
12411 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
12412 (EXTRA_CONSTRAINT_S): New macro.
12413 (EXTRA_CONSTRAINT): Adjust.
12414 (FLOAT_TYPE_SIZE): Define to 32.
12415 (Pmode): DImode on SHmedia.
12416 (CONST_COSTS): Adjust for SHmedia literals.
12417 (PREDICATE_CODES): Added target_reg_operand.
12418 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
12419 * config/sh/sh.md: Remove all attrs from SHmedia insns.
12420 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
12421 (cmpdi): Accept SHmedia.
12422 (movdicc_false, movdicc_true): New insns.
12423 (movdicc): New expand.
12424 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
12425 no_new_pseudos.
12426 (addsi3_media): Match `S' constraint.
12427 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
12428 (negdi2): Expand for SHmedia.
12429 (one_cmpldi2): New expand.
12430 (zero_extendsidi2): Change from expand to insn.
12431 (extendsidi2): Add constraints.
12432 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
12433 LD/ST address. Fix SI immediate loading split.
12434 (movhi_media, movqi_media, lduw, ldub): New insns.
12435 (movhi, movqi): Accept SHmedia.
12436 (shori_media, movdi_media): Relax input constraints. Split
12437 symbolic constants.
12438 (movdf_media, movsf_media): New insn. New split to movdi.
12439 (movdf, movsf): Match on SHmedia.
12440 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
12441 bgeu_media): New insns and splits. New insns with `_i' suffix.
12442 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
12443 (bunordered): New expand.
12444 (jump_compact): Renamed from `jump'.
12445 (jump_media): New insn.
12446 (jump): New expand.
12447 (call_media, call_value_media): New insns.
12448 (call, call_value): Adjust.
12449 (indirect_jump_compact): Renamed from `indirect_jump'.
12450 (indirect_jump_media): New insn.
12451 (indirect_jump): New expand.
12452 (untyped_call, return): Accept SHmedia.
12453 (return_media): New insn.
12454 (prologue, epilogue, blockage): Accept SHmedia.
12455 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
12456 (sunordered): New expand.
12457 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
12458 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
12459 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
12460 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
12461 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
12462 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
12463 abssf2_media): New insns.
12464 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
12465 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
12466 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
12467 floatdidf2, floatsidf2_media, fix_truncdfdi2,
12468 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
12469 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
12470 absdf2_media): New insns.
12471 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
12472 (extendsfdf2_media, truncdfsf2_media): New insns.
12473 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
12474 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
12475 * config/sh/sh.h (CONST_OK_FOR_J): Document.
12476 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
12477 * config/sh/sh.md (adddi3): New expand.
12478 (adddi3_media, adddi3z_media): New insns.
12479 (adddi3_compact): Renamed from adddi3.
12480 (addsi3_media): Use add.l r63 to add constant zero.
12481 (subdi3): New expand.
12482 (subdi3_media): New insn.
12483 (subdi3_compact): Renamed from subdi3.
12484 (mulsidi3): New expand.
12485 (mulsidi3_media): New insn.
12486 (mulsidi3_compact): Renamed from mulsidi3.
12487 (umulsidi3): New expand.
12488 (umulsidi3_media): New insn.
12489 (umulsidi3_compact): Renamed from umulsidi3.
12490 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
12491 (ashlsi3, ashrsi3, lshrsi3): Use them.
12492 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
12493 (ashldi3, ashrdi3, lshrdi3): Use them.
12494 (zero_extendsidi2): New expand.
12495 (extendsidi2): New insn.
12496 (movsi_media): New insn. Split to movdi to load constants.
12497 (movsi): Enable for shmedia.
12498 (movdi_media): New insn. Use shori_media to load wide constants.
12499 (short_media): New insn.
12500 (movdi): Enable for shmedia.
12501 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
12502 * config/sh/sh.h (CPP_SPEC): Added `m5'.
12503 (SUBTARGET_CPP_SPEC): Added `!m5'.
12504 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
12505 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
12506 to all other SH variants.
12507 (TARGET_DEFAULT): Set to SH1_BIT.
12508 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
12509 (BITS_PER_WORD): Raise to 64 on shmedia.
12510 (MAX_BITS_PER_WORD): Change to 64.
12511 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
12512 (INT_TYPE_SIZE): Keep as 32.
12513 (UNITS_PER_WORD): Raise to 8 on shmedia.
12514 (MIN_UNITS_PER_WORD): Keep as 4.
12515 (POINTER_SIZE): Raise to 64 on shmedia.
12516 (CONST_OK_FOR_J): New macro.
12517 (CONST_OK_FOR_LETTER_P): Use it.
12518 (processor_type): Add PROCESSOR_SH5.
12519 * config/sh/sh.md: Conditionalize all expands, insns and
12520 splits to TARGET_SH1.
12521 (cpu): Added sh5.
12522 (addsi3_compact): Renamed from...
12523 (addsi3): Now an expand.
12524 (addsi3_media, subsi3_media): New insns.
12525 (subsi3): Don't negate constants with SHmedia.
12526
e4ec2cac
AO
12527 * hooks.c: New file.
12528 * hooks.h: New file.
12529 * Makefile.in (HOOKS_H): New.
12530 (TARGET_DEF_H): Added $(HOOKS_H).
12531 (OBJS): Added hooks.o.
12532 (cfgcleanup.o, bb-reorder.o): Added target.h.
12533 (hooks.o): Added dependencies.
12534 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
12535 (TARGET_INITIALIZER): this.
12536 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
12537 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
12538 * bb-reorder.c: Include target.h.
12539 (reorder_basic_blocks): Skip if cannot modify jumps.
12540 * cfgcleanup.c: Include target.h.
12541 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
12542
246a46e0
CD
125432002-02-08 Chris Demetriou <cgd@broadcom.com>
12544
831c4e87
KC
12545 * config/mips/mips.md (casesi_internal, casesi_internal_di):
12546 Protect jump delay slot instructions with .set noreorder and
12547 .set nomacro.
246a46e0
CD
12548
125492002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
12550
12551 * config/mips/mips.md (casesi_internal_di): Calculate
12552 the index into the target offset table correctly.
12553
fdf473ae
RH
125542002-02-08 Richard Henderson <rth@redhat.com>
12555
12556 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
12557 * final.c (output_addr_const): Accept and discard SUBREG.
12558 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
12559 mark them unknown instead.
12560 (simplify_subtraction): Handle RTX_UNKNOWN.
12561 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
12562
c50503ac
DE
125632002-02-08 David Edelsohn <edelsohn@gnu.org>
12564
12565 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
12566
3660d217
RH
125672002-02-08 Richard Henderson <rth@redhat.com>
12568
12569 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
12570
56547299
AJ
125712002-02-08 Andreas Jaeger <aj@suse.de>
12572
12573 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
12574 * config/i386/t-linux64: New file.
12575
1cf537c5
JJ
125762002-02-08 Jakub Jelinek <jakub@redhat.com>
12577
12578 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
12579 * c-parse.in (compstmt): Clear last_expr_type.
12580
5c7f5a5f
RH
125812002-02-07 Richard Henderson <rth@redhat.com>
12582
12583 * loop.c (strength_reduce): Sink final_value when not
12584 eliminating a biv.
12585
b1138bf3
DB
125862002-02-07 David O'Brien <obrien@FreeBSD.org>
12587
12588 * config/sparc/freebsd.h: Fix mismatched spec {.
12589
b6878a45
RH
125902002-02-07 Richard Henderson <rth@redhat.com>
12591
12592 * cfgrtl.c: Include recog.h and insn-config.h.
12593 (keep_with_call_p): Fix general_operand invocation.
12594 * Makefile.in (cfgrtl.o): Update dependencies.
12595
ae19f5ef
KH
125962002-02-07 Kazu Hirata <kazu@hxi.com>
12597
12598 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
12599 comment. Accept HImode only if TARGET_H8300.
12600
b137f9fc
EC
126012002-02-07 Eric Christopher <echristo@redhat.com>
12602
12603 * config/mips/crtn.asm: Cleanup #ifdefs.
12604
126052002-02-07 Eric Christopher <echristo@redhat.com>
12606
12607 * config/mips/crti.asm: Add changes for mips16. mips16 uses
12608 register 7 as RA instead of $31.
12609 * config/mips/crtn.asm: Ditto.
12610 * config/mips/mips.c (mips_move_2words): Add case for
12611 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
12612 (compute_frame_size): Fix typo.
12613 (save_restore_insns): Ditto. Make documentation about using
12614 register $7 as return register more precise.
12615 (mips_expand_epilogue): Fix comment. Add code to work around not
12616 being able to add to the stack pointer directly.
12617 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
12618 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
12619 epilogue.
12620
768070a0
TR
126212002-02-07 Tom Rix <trix@redhat.com>
12622
b137f9fc 12623 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
12624 immediates in ldu and stdu DS opcode field.
12625 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
12626 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
12627 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
12628
225909c3
JS
126292002-02-07 Jeff Sturm <jsturm@one-point.com>
12630
12631 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
12632 offset for stack bias.
12633
15fae023
L
126342002-02-07 H.J. Lu <hjl@gnu.org>
12635
12636 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
12637
fde5badd
UW
126382002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
12639
12640 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
12641
162f023b
JH
12642Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
12643
12644 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
12645 * i386.c (x86_order_regs_for_local_alloc): New global function.
12646 * i386.h (REG_ALLOC_ORDER): CLeanup.
12647 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
12648
9b462c42
RH
126492002-02-07 Richard Henderson <rth@redhat.com>
12650
85aa876c 12651 PR optimization/2463
9b462c42
RH
12652 * alias.c (find_base_value): Recall base values for fixed hard regs.
12653 * loop.c (loop_regs_update): Don't use single_set on non-insns.
12654
06e455a9
AO
126552002-02-07 Alexandre Oliva <aoliva@redhat.com>
12656
12657 * config/mips/mips.md (define_delay) [mips16]: Adjust required
12658 length.
12659
edd1967d
RH
126602002-02-06 Richard Henderson <rth@redhat.com>
12661
12662 PR c/5609
12663 * stmt.c (resolve_operand_name_1): Take more care with mixed
12664 named and unnamed operands.
12665
a2cd028f
JJ
126662002-02-06 Janis Johnson <janis187@us.ibm.com>
12667 Jan Hubicka <jh@suse.cz>
12668
12669 * loop.c (remove_constant_addition): Avoid clobbering a shared
12670 CONST expression.
12671
e8487c04
UW
126722002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
12673
12674 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
12675 * config/s390/t-linux64: New file.
12676 * config/s390/libgcc-glibc.ver: New file.
12677
58d10f89
UW
126782002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
12679
12680 * config/s390/linux64.h: Delete file.
12681 * config/s390/s390x.h: New file.
12682 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
12683 as target header file.
12684 * config/s390/linux.h (TARGET_VERSION): Define depending on
12685 DEFAULT_TARGET_64BIT.
12686 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
12687 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
12688 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
12689 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
12690 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
12691 (EXTRA_SPEC): New define.
12692 * config/s390/s390.h (TARGET_VERSION): Define depending on
12693 DEFAULT_TARGET_64BIT.
12694 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
12695
5ce89b2e
JM
126962002-02-06 Jason Merrill <jason@redhat.com>
12697
12698 * c-decl.c (finish_function): Warn about a non-void function with
12699 no return statement and no abnormal exit.
12700 (current_function_returns_abnormally): New variable.
12701 (start_function): Clear it.
12702 (struct c_language_function): Add returns_abnormally.
12703 (push_c_function_context): Save it.
12704 (pop_c_function_context): Restore it.
12705 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
12706 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
12707 an explicit return type.
12708 * c-tree.h: Declare current_function_returns_abnormally.
12709 (C_FUNCTION_IMPLICIT_INT): New macro.
12710 * c-typeck.c (build_function_call): Set it.
12711 (c_expand_return): Set current_function_returns_value even if the
12712 value is erroneous.
12713
caaf2272
JJ
127142002-02-06 Jakub Jelinek <jakub@redhat.com>
12715
12716 PR c/5420:
12717 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
12718 unsafe for reevaluation.
12719
d5129288
JJ
127202002-02-06 Jakub Jelinek <jakub@redhat.com>
12721
12722 PR c/5482:
12723 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
12724 EXPR_STMT, but COMPOUND_STMT, recurse into it.
12725
7fb75099
RH
127262002-02-06 Richard Henderson <rth@redhat.com>
12727
12728 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
12729 be a general_operand. Dest for function value must be a pseudo.
12730
d3a8b6a6
NC
127312002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
12732
12733 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
12734 as SYMBOL_REFs from the constant pool.
12735
3c1299c5
AO
127362002-02-06 Alexandre Oliva <aoliva@redhat.com>
12737
12738 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
12739 passed by invisible reference.
12740
c2c9f6c9
RH
127412002-02-05 Richard Henderson <rth@redhat.com>
12742
12743 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
12744
a824924d
HPN
127452002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
12746
12747 Implement using "base addresses" in insn operands as default.
12748 * config/mmix/mmix.c (mmix_conditional_register_usage): if
12749 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
12750 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
12751 used to read the rtx value.
12752 (mmix_target_asm_function_epilogue): Fix spacing.
12753 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
12754 (mmix_legitimate_address): Ditto.
12755 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
12756 should be loaded with a GETA insn. Don't allocate needless extra
12757 char for nul termination and fix misleading comment.
12758 (mmix_print_operand_address): Handle constants if
12759 TARGET_BASE_ADDRESSES.
12760 (mmix_output_register_setting): Use base addressing if
12761 TARGET_BASE_ADDRESSES and the number of insns is 3.
12762 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
12763 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
12764 to use R as constraint, add LDA to match s.
12765 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
12766 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
12767 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
12768 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
12769 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
12770 order with other fixed registers.
12771 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
12772 other parameter/call-clobbered registers.
12773 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
12774 -mbase-addresses, -mno-base-addresses.
12775 (MMIX Options): Ditto.
12776
73c342b9
JDA
127772002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
12778
12779 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
12780
ef238c58
AH
127812002-02-06 Aldy Hernandez <aldyh@redhat.com>
12782
831c4e87 12783 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 12784
ad08e60e
JT
127852002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
12786
12787 * config/netbsd.h (WCHAR_TYPE): Define.
12788 (WCHAR_TYPE_SIZE): Ditto.
12789 (WINT_TYPE): Ditto.
12790 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
12791 (WCHAR_UNSIGNED): Ditto.
12792 (WCHAR_TYPE_SIZE): Ditto.
12793 (WINT_TYPE): Ditto.
12794 * config/arm/netbsd.h: Likewise.
12795 * config/i386/netbsd-elf.h: Likewise.
12796 * config/i386/netbsd.h: Likewise.
12797 * config/m68k/netbsd-elf.h: Likewise.
12798 * config/m68k/netbsd.h: Likewise.
12799 * config/ns32k/netbsd.h: Likewise.
12800 * config/sparc/netbsd.h: Likewise.
12801 * config/vax/netbsd.: Likewise.
12802
f913c102
AO
128032002-02-05 Alexandre Oliva <aoliva@redhat.com>
12804
12805 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
12806 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
12807 (TARGET_INITIALIZER): this.
12808 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
12809 (BITFIELD_NBYTES_LIMITED): Markup fix.
12810 * tree.h (default_ms_bitfield_layout_p): Declare.
12811 (record_layout_info): Added prev_field.
12812 * tree.c (default_ms_bitfield_layout_p): New fn.
12813 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
12814 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
12815 * stor-layout.c: Include target.h.
12816 (start_record_layout): Initialize prev_field.
12817 (place_field): Handle MS bit-field layout, and disregard
12818 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
12819 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
12820 * Makefile.in (stor-layout.o): Adjust dependencies.
12821
c13db5d1
JM
128222002-02-05 Jason Merrill <jason@redhat.com>
12823
c13db5d1
JM
12824 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
12825
4505024e
AJ
128262002-02-05 Andreas Jaeger <aj@suse.de>
12827
12828 * crtstuff.c: Fix comments.
12829
794ad79d
RH
128302002-02-05 Richard Henderson <rth@redhat.com>
12831
2e279a9b
RH
12832 PR fortran/3393
12833 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
12834 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
12835
794ad79d
RH
12836 PR fortran/3392
12837 * config/mips/mips.c (function_arg): Handle TImode.
12838 (function_arg_advance): Likewise.
12839
8f909017
AH
128402002-02-05 Aldy Hernandez <aldyh@redhat.com>
12841
c13db5d1
JM
12842 * config/rs6000/altivec.h (vec_step_help): Rename to
12843 __vec_step_help.
8f909017 12844
66daa9e3
AH
128452002-02-05 Aldy Hernandez <aldyh@redhat.com>
12846
c13db5d1 12847 * config/rs6000/altivec.h: Fix typos.
66daa9e3 12848
2696e97b
JT
128492002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
12850
12851 * config/arm/netbsd.h: Correct a comment.
12852
3deb2758
AH
128532002-02-05 Aldy Hernandez <aldyh@redhat.com>
12854
c13db5d1
JM
12855 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
12856 building void typed builtins.
3deb2758 12857
c13db5d1
JM
12858 * config/rs6000/altivec.h (vec_ld*): Fix typos.
12859 (vec_step): Implement for C++.
3deb2758 12860
c13db5d1 12861Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
12862
12863 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
12864
ebbb0a63
RH
128652002-02-04 Richard Henderson <rth@redhat.com>
12866
12867 * combine.c (nonzero_bits): Re-introduce special case for
12868 sp/fp/ap wrt REGNO_POINTER_ALIGN.
12869
ae4b4a02
AH
128702002-02-05 Aldy Hernandez <aldyh@redhat.com>
12871
c13db5d1
JM
12872 * doc/extend.texi: Warn about unsupported usage of altivec
12873 builtins.
ae4b4a02 12874
c13db5d1
JM
12875 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
12876 (altivec_predicate_*): New.
ae4b4a02 12877
c13db5d1
JM
12878 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
12879 Add C++ version of vec_*() functions.
ae4b4a02 12880
c13db5d1
JM
12881 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
12882 (bdesc_2arg): Remove altivec predicates.
12883 (altivec_expand_builtin): Handle predicates.
12884 (altivec_init_builtins): Handle predicates.
12885 (altivec_expand_predicate_builtin): New.
ae4b4a02 12886
f6bcf44c
JDA
128872002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
12888
12889 * pa.c (DO_FRAME_NOTES): Move forward.
12890 (store_reg): Revise handling of frame notes.
12891 (load_reg): Likewise.
12892 (set_reg_plus_d): Likewise.
12893 (hppa_expand_prologue): Likewise.
12894 (hppa_expand_epilogue): Likewise.
b137f9fc 12895
703b0080
JDA
128962002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
12897
12898 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
12899
6f9fdf4d
JJ
129002002-02-04 Jakub Jelinek <jakub@redhat.com>
12901
12902 PR c/4475, c++/3780:
12903 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
12904 * c-common.h (SWITCH_TYPE): Define.
12905 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
12906 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
12907 Rename spareness variable to sparseness.
12908 (expand_end_case_type): Renamed from expand_end_case, use orig_type
12909 if non-NULL instead of TREE_TYPE (orig_index).
12910 * tree.h (expand_end_case_type): Renamed from expand_end_case.
12911 (expand_end_case): Define using expand_end_case_type.
12912 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
12913 to expand_end_case_type.
12914 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
12915
79109502
JDA
129162002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
12917
12918 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
12919 (BIGGEST_ALIGNMENT): Change to 128.
12920
e62a5987
JDA
129212002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
12922
12923 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
12924
219f24a4
JDA
129252002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
12926
12927 * pa.md (call_internal_reg_64bit): Remove unused variable.
12928
3cb66fd7
NC
129292002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
12930
12931 * config/arm/arm.h (machine_function): Add uses_anonymous_args
12932 field.
831c4e87 12933 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 12934 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
12935 replace uses with cfun->machine->uses_anonymous_args.
12936 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
12937
12938 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
12939 any geenral register.
b137f9fc 12940
5d5603e2 129412001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
12942
12943 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
12944 the entry block.
12945
563c12b0
RH
129462002-02-04 Richard Henderson <rth@redhat.com>
12947
12948 * combine.c (force_to_mode): Remove STACK_BIAS code.
12949 (nonzero_bits): Likewise. Replace sp/fp special case with
12950 REGNO_POINTER_ALIGN.
12951
12952 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
12953 (HARD_FRAME_POINTER_REGNUM): New.
12954 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
12955 (FIXED_REGS, CALL_USED_REGS): Update.
12956 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
12957 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
12958 (HARD_REGNO_NREGS): Update for SFP.
12959 (STACK_POINTER_OFFSET): Include bias here ...
12960 (FIRST_PARM_OFFSET): ... not here.
12961 (STACK_BIAS): Remove.
12962 (INIT_EXPANDERS): New.
12963 (STARTING_FRAME_OFFSET): Do not include bias.
12964 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
12965 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
12966 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
12967 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
12968 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
12969 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
12970 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
12971 (MUST_SAVE_REGISTER): Likewise.
12972 (sparc_flat_function_prologue): Likewise.
12973 (sparc_flat_function_epilogue): Likewise.
12974 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
12975 (sparc_init_modes): SFP is GENERAL_REGS.
12976 (sparc_builtin_saveregs): SFP does not have bias applied.
12977
14691f8d
RH
129782002-02-04 Richard Henderson <rth@redhat.com>
12979
12980 * config/alpha/alpha.c (current_function_is_thunk): Don't check
12981 current_function_is_thunk.
12982 (alpha_sa_mask): Distinguish between current_function_is_thunk
12983 called from ASM_OUTPUT_MI_THUNK and not.
12984 (alpha_does_function_need_gp): Thunks always need gp.
12985 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
12986 (alpha_output_mi_thunk_osf): New.
12987 * config/alpha/alpha-protos.h: Update.
12988 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
12989
af702de8
RS
129902002-02-04 Richard Sandiford <rsandifo@redhat.com>
12991
12992 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
12993 function types, not when they're taken away.
12994
5b1cacd8
JL
12995Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
12996
12997 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
12998 CODE_LABEL and jump table when replacing a table jump with a
12999 simple jump.
13000
f3e9edff
UW
130012002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
13002
13003 * config/s390/s390-protos.h (legitimize_la_operand,
13004 s390_secondary_input_reload_class, s390_plus_operand,
13005 s390_expand_plus_operand): Add prototypes.
13006
13007 config/s390/s390.c (s390_secondary_input_reload_class,
13008 s390_plus_operand, s390_expand_plus_operand): New functions.
13009
13010 (struct s390_address): New member 'pointer'.
13011 (s390_decompose_address): Compute it.
13012 (legitimate_la_operand_p): Use it.
13013 (legitimize_la_operand): New function.
13014 (movti, movdi, movdf splitters): Call it.
13015
13016 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
13017 (PREDICATE_CODES): Add s390_plus_operand.
13018
13019 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
13020 (la_ccclobber): Allow GENERAL_REGS as output operand.
13021
13022 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
13023 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
13024 (*la_64, *la_31, reload_indi, reload_insi): ... these.
13025
3c9a08ec
UW
130262002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
13027
13028 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
13029 register names for regular asm () construct.
13030
ac300a45
JJ
130312002-02-04 Jakub Jelinek <jakub@redhat.com>
13032
13033 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
13034 registers.
13035
fa852403
JJ
130362002-02-04 Jakub Jelinek <jakub@redhat.com>
13037
13038 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
13039 pat for recog.
13040
fecaac37
HP
130412002-02-04 Hartmut Penner <hpenner@de.ibm.com>
13042
831c4e87
KC
13043 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
13044 constant pool to be identical by string address and index.
fecaac37 13045
10c45943
AG
130462002-02-04 Anthony Green <green@redhat.com>
13047
13048 * output.h (SECTION_OVERRIDE): Define.
13049 * varasm.c (named_section): Obey SECTION_OVERRIDE.
13050
69474c3c
JT
130512002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
13052
13053 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
13054 by existing arm*-*-netbsd* (a.out) target.
13055 (ns32k-*-netbsdelf*): Likewise.
13056 (sparc-*-netbsdelf*): Likewise.
13057 (vax-*-netbsdelf*): Likewise.
13058
939a46f6 130592002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
13060
13061 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
13062 headers and libobjc headers.
13063
130642002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
13065
13066 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
13067 (_mingw.h): Remove duplicate include.
13068
2fd95d71
JT
130692002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
13070
13071 * config.gcc: Set cpu_type to m68k for 68010, as well.
13072 (m68010-*-netbsdelf*): New...
13073 (m68k*-*-netbsdelf*): ...targets.
13074 * config/m68k/netbsd-elf.h: New file.
13075
0ea6f6a0
KH
130762002-02-02 Kazu Hirata <kazu@hxi.com>
13077
13078 * config/h8300/h8300.c (hand_list): Move inside function_arg.
13079
cbf1b2da
KH
130802002-02-02 Kazu Hirata <kazu@hxi.com>
13081
13082 * config/h8300/h8300.c (h8_push_ops): Move inside
13083 h8300_init_once.
13084 (h8_pop_ops): Likewise.
13085 (h8_move_ops): Likewise.
13086
0869f126
KH
130872002-02-02 Kazu Hirata <kazu@hxi.com>
13088
13089 * config/h8300/h8300.c (os_task): Make it static.
13090 (monitor): Likewise.
13091 (pragma_saveall): Likewise.
13092
90e65b70
AO
130932002-02-02 Alexandre Oliva <aoliva@redhat.com>
13094
13095 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
13096 constant is a valid sign-extension for Pmode.
13097
9cbcd983
KH
130982002-02-02 Kazu Hirata <kazu@hxi.com>
13099
13100 * config/h8300/h8300.c: Fix formatting.
13101
7a27efc4
KH
131022002-02-02 Kazu Hirata <kazu@hxi.com>
13103
13104 * config/h8300/h8300.md: Fix formatting.
13105
54175a44
KH
131062002-02-02 Kazu Hirata <kazu@hxi.com>
13107
13108 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
13109 predicates of operands[1]. Split the patterns for each
13110 processor variant.
13111
eceb1755
KH
131122002-02-02 Kazu Hirata <kazu@hxi.com>
13113
13114 * config/h8300/h8300.md (xor patterns): Tighten the predicates
13115 of operands[1] to register_operand.
13116
0fef3fd0
NB
131172002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
13118
13119 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
13120 * cpphash.c (_cpp_init_hashtable): Similarly.
13121 * cppinit.c (cpp_create_reader): Default the signed_char flag.
13122 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
13123 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
13124 (cpp_handle_option): Handle the new options.
13125 * cpplex.c (cpp_interpret_charconst): Use new flag.
13126 * cpplib.h (struct cpp_options): New member signed_char.
13127 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
13128 (cpp_options): Handle -fsigned-char and -funsigned-char.
13129 (static_specs): Remove signed_char_spec.
13130 (do_spec1): Don't handle %c.
13131 * system.h: Poison SIGNED_CHAR_SPEC.
13132 * tradcif.y (yylex): Use flag_signed_char.
13133 * tradcpp.h (flag_signed_char): New.
13134 * tradcpp.c (flag_signed_char): New.
13135 (main): Handle new command-line options.
13136 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
13137config:
13138 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
13139 * avr/avr.h: Remove old comments.
13140 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
13141 (CC1_SPEC): Pass -fsigned-char if -mic*.
13142 (SIGNED_CHAR_SPEC): Remove.
13143doc:
13144 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
13145
0617ed52
EC
131462002-02-01 Eric Christopher <echristo@redhat.com>
13147
13148 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
13149 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
13150 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
13151 (ASM_OUTPUT_REG_POP): Ditto.
13152
dfd48d76
NB
131532002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
13154
13155 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
13156 patch.
13157
4a23409e
JJ
131582002-02-02 Jakub Jelinek <jakub@redhat.com>
13159
13160 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
13161
d3c52658
JJ
131622002-02-02 Jakub Jelinek <jakub@redhat.com>
13163
13164 PR c/5304:
13165 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
13166 unconditionally.
13167
02c5a3bd
JJ
131682002-02-01 Janis Johnson <janis187@us.ibm.com>
13169
13170 * cfganal.c: Include tm_p.h.
13171 (keep_with_call_p): Fix the test that determines if a register holds
13172 the return value of a call.
13173
3968de80
DD
131742002-02-01 DJ Delorie <dj@redhat.com>
13175
13176 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
13177 we are given conflicting registers, switch to the other one we
13178 had allocated for us.
13179 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
13180 as TImode so we know when the "other" register is available.
13181
1338ea6c
DB
131822002-02-01 David O'Brien <obrien@FreeBSD.org>
13183
13184 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
13185 sparc/sparc_bi.h.
13186
f015be23
JJ
131872002-02-01 Janis Johnson <janis187@us.ibm.com>
13188
13189 * cfganal.c (keep_with_call_p): New function.
13190 (flow_call_edges_add): Prevent splitting a block between a call and
13191 a single-set instruction that should be kept in the same block.
13192
63708ffc
CR
131932002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
13194
13195 * doc/install.texi (avr): Update outdated URL.
13196
5ee4950e
AH
131972002-01-30 Andrew Haley <aph@cambridge.redhat.com>
13198
831c4e87
KC
13199 * config/stormy16/stormy16.md (pushqi): New.
13200 (popqi): New.
13201 (pushhi): New.
13202 (pophi): New.
13203 (movhi): Remove stack operands.
13204 (movqi): Likewise.
13205 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
13206 nonimmediate_nonstack_operand.
13207 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
13208 New.
13209 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
13210 New.
5ee4950e 13211
b88c0704
JM
132122002-01-31 Jason Merrill <jason@redhat.com>
13213
13214 * Makefile.in (c-parse.c): Handle .output file.
13215 * objc/Make-lang.in (objc-parse.c): Likewise.
13216
ac282977
AO
132172002-02-01 Alexandre Oliva <aoliva@redhat.com>
13218
13219 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
13220 the -me[lb] option is given. Don't output the default flag
13221 twice.
13222
bebc7e8b
ZW
132232002-01-31 Zack Weinberg <zack@codesourcery.com>
13224
13225 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
13226 the primary source file; this has not been done yet.
13227 * c-decl.c (c_expand_body): Reset input_filename from
13228 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
13229
5809eb5f
KH
132302002-01-31 Kazu Hirata <kazu@hxi.com>
13231
13232 * rtlanal.c (subreg_regno_offset): Do not use
13233 SUBREG_REGNO_OFFSET.
13234 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
13235 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
13236
8512bbd7
JM
132372002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
13238
13239 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
13240 version rather than GNATS version in --version output.
13241
74cb3cc8
RS
132422002-01-31 Richard Sandiford <rsandifo@redhat.com>
13243
13244 * ifcvt.c (noce_process_if_block): Make a copy of the destination
13245 when copying back from a temporary.
13246
874b5b14
RH
132472002-01-30 Richard Henderson <rth@redhat.com>
13248
13249 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
13250 and new_dest are the same.
13251
e803a64b
RH
132522002-01-30 Richard Henderson <rth@redhat.com>
13253
89cf7be5 13254 PR opt/5076
e803a64b
RH
13255 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
13256 * rtl.c (note_insn_name): Update.
13257 * emit-rtl.c (remove_unnecessary_notes): Kill it.
13258 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
13259 to perform loop rotation.
13260 (expand_exit_loop_top_cond): New.
13261 * tree.h (expand_exit_loop_top_cond): Declare it.
13262 * c-semantics.c (genrtl_while_stmt): Use it.
13263 (genrtl_for_stmt): Likewise.
13264
0b51254d
AO
132652002-01-30 Alexandre Oliva <aoliva@redhat.com>
13266
13267 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
13268 arguments to 64-bit boundaries on 64-bit ABIs.
13269
71cef493
SE
132702002-01-30 Steve Ellcey <sje@cup.hp.com>
13271
13272 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
13273
6169e5fd
JM
132742002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
13275
13276 * c-decl.c (grokdeclarator): Handle type being a typedef for an
13277 invalid type.
13278
86f808dc
DB
132792002-01-30 David O'Brien <obrien@FreeBSD.org>
13280
13281 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
13282 * config/sparc/sparc_bi.h: Remove file.
13283 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
13284
5748ebeb
RH
132852002-01-30 Richard Henderson <rth@redhat.com>
13286
13287 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
13288
20d32cc2
ZW
132892002-01-30 Zack Weinberg <zack@codesourcery.com>
13290
13291 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
13292
b88c0704 132932002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
13294
13295 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
13296 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
13297 (reg_save): Use DW_CFA_offset_extended_sf instead.
13298
13299 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
13300
37060e78
JJ
133012002-01-29 Jakub Jelinek <jakub@redhat.com>
13302
13303 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
13304 in cselib_lookup.
13305
d18dba68
AH
133062002-01-29 Aldy Hernandez <aldyh@redhat.com>
13307
bebc7e8b
ZW
13308 * rs6000.md ("*call_value_local32"): Remove constraints.
13309 ("*call_value_local64"): Same.
13310 ("*call_value_indirect_nonlocal_aix32"): Same.
13311 ("*call_value_nonlocal_aix32"): Same.
13312 ("*call_value_indirect_nonlocal_aix64"): Same.
13313 ("*call_value_nonlocal_aix64"): Same.
13314 ("*call_value_nonlocal_sysv"): Same.
d18dba68 13315
80a8aac6
RH
133162002-01-29 Richard Henderson <rth@redhat.com>
13317
13318 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
13319
12beba6f
RH
133202002-01-29 Richard Henderson <rth@redhat.com>
13321
13322 * expr.c (force_operand): Ignore flag_pic for detecting pic
13323 address loads.
13324 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
13325 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
13326 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
13327 instead of open-coded loop.
13328 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
13329 be fixed when in use.
13330
2583081e
RH
133312002-01-29 Richard Henderson <rth@redhat.com>
13332
13333 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
13334 * sched-rgn.c (propagate_deps): Update them.
13335 * sched-deps.c (sched_analyze_insn): Update them. Flush the
13336 clobbers list when either gets too long.
13337
3b8d200e
JJ
133382002-01-29 Jakub Jelinek <jakub@redhat.com>
13339
13340 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
13341 and INDEX_REGS the same as GENERAL_REGS.
13342 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
13343
2d3115eb
NB
133442002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
13345
bebc7e8b 13346 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 13347
ecbe845e
UW
133482002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
13349
bebc7e8b 13350 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 13351 movstrsix_31): Remove, replace by ...
bebc7e8b 13352 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
13353 movstrsi_long): ... these. New.
13354 (movstrdi, movstrsi): Adapt.
13355
13356 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 13357 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
13358 Remove unnecessary CC clobber.
13359 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
13360 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
13361
13362 (divmoddi4): Don't partially initialize TImode register.
13363
0b32fca5
GK
133642002-01-29 Geoffrey Keating <geoffk@redhat.com>
13365
13366 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
13367
08ef5437
RH
133682002-01-29 Richard Henderson <rth@redhat.com>
13369
13370 * flow.c (print_rtl_and_abort): Remove.
13371 (print_rtl_and_abort_fcn): Remove.
13372 (verify_local_live_at_start): Use dump_bb instead.
13373 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
13374 (verify_wide_reg_1): Return 2 on mode test failure.
13375
8469e54e
NB
133762002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
13377
13378 PR c/3325, c/3326, c/2511, c/3347
13379 * c-decl.c (enum_decl_context): Remove BITFIELD.
13380 (grokdeclarator): Take bitfield width as an input.
13381 Ensure bitfields are given the correct type. Perform
13382 bitfield width validation with build_bitfield_integer_type
13383 rather than waiting for finish_struct.
13384 (grok_typename, grok_typename_in_parm_context, start_decl,
13385 push_parmdecl, grokfield, start_function): Update calls to
13386 grokdeclarator.
13387 (build_bitfield_integer_type): New function.
13388 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 13389 and build_bitfield_integer_type.
8469e54e
NB
13390 * tree.c (build_nonstandard_integer_type): New function.
13391 * tree.h (build_nonstandard_integer_type): New prototype.
13392objc:
13393 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
13394
ffdeea47
JJ
133952002-01-29 Jakub Jelinek <jakub@redhat.com>
13396
13397 PR other/1502:
13398 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
13399 don't ignore unrecognized -W* options.
13400 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
13401 * cpplib.h (cpp_handle_option): Adjust prototype.
13402 * c-decl.c (c_decode_options): Pass 0 as last argument to
13403 cpp_handle_option.
13404
13405 PR c/2896:
13406 * gcc.c (cpp_unique_options): Split from cpp_options.
13407 (cpp_options): Source cpp_unique_options.
13408 (default_compilers): Use cpp_unique_options instead of cpp_options
13409 when used together with cc1_options.
13410 (static_specs): Add cpp_unique_options.
13411 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
13412 when used together with cc1_options.
13413
1a275226
KH
134142002-01-29 Kazu Hirata <kazu@hxi.com>
13415
13416 * config/h8300/h8300-protos.h: Update the prototype of
13417 output_a_shift.
13418 * config/h8300/h8300.c (output_a_shift): Remove an unused
13419 argument 'insn'. Remove redundant code.
13420 * config/h8300/h8300.md: Adust to the new prototype of
13421 output_a_shift.
13422
a11d9dfc
KH
134232002-01-29 Kazu Hirata <kazu@hxi.com>
13424
13425 * config/h8300/h8300-protos.h: Update the prototypes of
13426 emit_a_rotate and expand_a_rotate.
13427 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
13428 first argument to 'enum rtx_code'.
13429 (expand_a_rotate): Likewise.
13430
871f73e3
KH
134312002-01-28 Kazu Hirata <kazu@hxi.com>
13432
13433 * config/h8300/h8300-protos.h: Update the prototype of
13434 output_simode_bld.
13435 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
13436 'log2'.
13437 * config/h8300/h8300.md: Adjust to the new prototype.
13438
5fc4b751
KH
134392002-01-28 Kazu Hirata <kazu@hxi.com>
13440
13441 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
13442 redundant code.
13443
2d67bd7b
JDA
134442002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
13445
13446 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
13447 is a fixed register before returning pic_offset_table_rtx.
13448 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
13449 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
13450
5a852b3e
JM
134512002-01-28 Jason Merrill <jason@redhat.com>
13452
6bb28965 13453 * dwarf2.h: Sync with src version.
5a852b3e 13454
3bca17dd
PK
134552002-01-28 Paul Koning <pkoning@equallogic.com>
13456
13457 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
13458 BT_FN_VOID_PTR_VAR.
13459 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
13460 * doc/extend.texi (__builtin_prefetch): Update documentation:
13461 first argument is now const void ptr.
13462
7dc3f8c0
KH
134632002-01-28 Kazu Hirata <kazu@hxi.com>
13464
13465 * config/h8300/h8300-protos.h: Remove an unused prototype.
13466
e83cb5f0
RZ
134672002-01-28 Roman Zippel <zippel@linux-m68k.org>
13468
13469 * toplev.c (lang_independent_init): Round up identifier size.
13470
5721cd84
RE
134712002-01-28 Richard Earnshaw <rearnsha@arm.com>
13472
13473 * config.gcc: Revert previous change.
13474
d534119e
AP
134752002-01-28 Andris Pavenis <pavenis@latnet.lv>
13476
13477 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
13478
5a721dab
RE
134792002-01-28 Richard Earnshaw <rearnsha@arm.com>
13480
13481 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
13482 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
13483 other non-elf netbsd config frags.
13484 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
13485 collect2 will does that.
13486 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
13487 shared-lib frobbing will work.
13488
da1775d6
KH
134892002-01-28 Kazu Hirata <kazu@hxi.com>
13490
13491 * config/h8300/h8300.h: Fix formatting.
13492 * config/h8300/h8300.md: Likewise.
13493
8f2e963b
LR
134942002-01-28 Loren J. Rittle <ljrittle@acm.org>
13495
13496 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
13497 the old, removed AAA_standards fix.
13498 * fixinc/fixincl.x: Rebuilt.
13499
fdae5767
HPN
135002002-01-28 Hans-Peter Nilsson <hp@axis.com>
13501
13502 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
13503 atexit call in crtbegin, hooked in after call to frame_dummy;
13504 register EH before registering __fini__start.
13505
2a2ecb63
AH
135062002-01-28 Aldy Hernandez <aldyh@redhat.com>
13507
13508 * config/rs6000/altivec.h: Remove spurious semicolons.
13509
8ed43adf
KH
135102002-01-27 Kazu Hirata <kazu@hxi.com>
13511
13512 * config/h8300/h8300.md: Replace dead bit extraction patterns
13513 with ones that work.
13514
917afb0c
RK
13515Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13516
13517 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
13518 if not STRICT_ALIGNMENT.
13519 * rtl.h (MEM_ALIGN): Likewise.
13520
f70a54cb
CR
135212002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
13522
13523 * doc/invoke.texi (-fdump-translation-unit): Revert this
13524 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
13525
d8fd4914
KH
135262002-01-27 Kazu Hirata <kazu@hxi.com>
13527
13528 * config/h8300/h8300.md (define_constants): New.
13529 (anonymous patterns) Use defined constants appropriately.
13530
15e0e275
KH
135312002-01-27 Kazu Hirata <kazu@hxi.com>
13532
13533 * config/h8300/h8300.c (function_arg): Remove redundant code.
13534
37a0f8a5
RH
135352002-01-26 Richard Henderson <rth@redhat.com>
13536
13537 * sched-deps.c (reg_pending_uses_head): New.
13538 (reg_pending_barrier): Rename from reg_pending_sets_all.
13539 (find_insn_list): Don't mark inline.
13540 (find_insn_mem_list): Remove.
13541 (add_dependence_list, add_dependence_list_and_free): New.
13542 (flush_pending_lists): Replace only_write param with separate
13543 for_read and for_write parameters. Update all callers. Use
13544 add_dependence_list_and_free.
13545 (sched_analyze_1): Do not add reg dependencies here; just set
13546 the pending bits. Use add_dependence_list.
13547 (sched_analyze_2): Likewise.
13548 (sched_analyze_insn): Replace schedule_barrier_found with
13549 reg_pending_barrier. Add all dependencies for pending reg
13550 uses, sets, and clobbers.
13551 (sched_analyze): Don't add reg dependencies for calls, just
13552 set pending bits. Use regs_invalidated_by_call. Treat
13553 sched_before_next_call as a normal list, not a fake insn.
13554 (init_deps): No funny init for sched_before_next_call.
13555 (free_deps): Free pending mems lists. Don't zero reg_last.
13556 (init_deps_global): Init reg_pending_uses.
13557 (finish_deps_global): Free it.
13558 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
13559 (find_insn_mem_list): Remove.
13560 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
13561 (propagate_deps): Use them. Zero temp mem lists.
13562
cea3bd3e
RH
135632002-01-26 Richard Henderson <rth@redhat.com>
13564
13565 * Makefile.in (CRTSTUFF_CFLAGS): New.
13566 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
13567 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
13568 crtstuff.c instead of alpha assembly version.
13569 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
13570 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
13571 not FORCE_{INIT,FINI}_SECTION_ALIGN.
13572 (__do_global_dtors_aux): Mark used.
13573 (frame_dummy, __do_global_ctors_aux): Mark used.
13574 (fini_dummy, init_dummy): Remove.
13575
13576 * config/alpha/crtbegin.asm: Remove file.
13577 * config/alpha/crtend.asm: Remove file.
13578 * config/alpha/t-crtbe: Remove file.
13579 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
13580 (LINK_EH_SPEC): New.
13581
13582 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
13583 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
13584 calling constructors.
13585 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
13586
13587 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
13588 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
13589 CRT_END_INIT_DUMMY hack.
13590 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
13591 FORCE_{INIT,FINI}_SECTION_ALIGN.
13592
13593 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
13594 FORCE_{INIT,FINI}_SECTION_ALIGN.
13595
13596 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
13597 invocation sequence.
13598 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
13599
13600 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
13601 (FORCE_CODE_SECTION_ALIGN): New.
13602
60ffa0e5
RH
136032002-01-26 Richard Henderson <rth@redhat.com>
13604
13605 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
13606
61334ebe
RH
136072002-01-26 Richard Henderson <rth@redhat.com>
13608
13609 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
13610 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
13611
1d788fb6
KH
136122002-01-26 Kazu Hirata <kazu@hxi.com>
13613
13614 * config/h8300/h8300.md: Remove bit extraction patterns that
13615 cannot be triggered.
13616 Restrict each bit extraction pattern to a variant on which the
13617 pattern is tested.
13618
87611f88
JM
136192002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
13620
13621 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
13622
cd74ec59
KH
136232002-01-26 Kazu Hirata <kazu@hxi.com>
13624
13625 * config/h8300/h8300.md: Remove bit test patterns that cannot
13626 be triggered.
13627 Restrict each bit test pattern to a variant on which the
13628 pattern is tested.
13629
93051e0f
KG
136302002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13631
13632 * builtins.c (expand_builtin_strncat): Remove redundant check for
13633 INTEGER_CST.
13634
216c995f
DB
136352002-01-25 David O'Brien <obrien@FreeBSD.org>
13636
13637 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
13638 default setting.
13639 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
13640 existing setting.
13641
33c7f925
GK
136422002-01-25 Geoffrey Keating <geoffk@redhat.com>
13643
13644 * dbxout.c (dbxout_init): Use assemble_name rather than just
13645 stripping off the first character.
13646 (dbxout_source_file): Likewise.
13647
6cd444b4
DD
136482002-01-25 DJ Delorie <dj@redhat.com>
13649
13650 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
13651 using rtx_equal_p, not by comparing pointers.
13652
751551d5
SE
136532002-01-25 Steve Ellcey <sje@cup.hp.com>
13654
13655 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
13656 for PIC_OFFSET_TABLE_REGNUM.
13657 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
13658
e564e618
DB
136592002-01-25 David O'Brien <obrien@FreeBSD.org>
13660
13661 * config.gcc (x86_64-*-freebsd*): New target.
13662 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
13663 value.
13664 (i[34567]86-*-freebsd*): Don't include svr4.h.
13665 * config/i386/freebsd64.h: New file.
13666
ff3aaf17
DR
136672002-01-25 Douglas B Rupp <rupp@gnat.com>
13668
4857d29d
DR
13669 * config/alpha/x-vms (version): Make static.
13670
13671 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
13672 in previous checkin.
13673
ff3aaf17
DR
13674 * Makefile.in (install-headers-cp): New target.
13675 * config.gcc (alpha-dec-*vms*): Install headers with
13676 install-headers-cp
13677
48d79c43
JH
13678Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
13679
13680 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
13681 avoid it's copies.
13682
995b5904
RK
13683Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13684
13685 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
13686 of compare_tree_int.
13687 (expand_builtin_strncat): Likewise.
13688 * c-decl.c (finish_struct): Use tree_low_cst.
13689 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
13690 * tree.c (compare_tree_int): Likewise.
13691
75eefe3f
UW
136922002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
13693
13694 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
13695 adjustments even if they are implemented by more than two insns.
13696
5a133afd
JH
13697Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
13698
995b5904 13699 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
13700 * df.h (struct ref): Kill B.
13701 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
13702
13703 * basic-block.h (PROP_EQUAL_NOTES): New flag.
13704 * flow.c (propagate_one_insn): Use it.
13705 (mark_used_regs): Handle NIL.
13706
ead39bdf 137072002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
13708
13709 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
13710 to help folding.
13711
01a2ccd0
DE
137122002-01-25 David Edelsohn <edelsohn@gnu.org>
13713
13714 * rs6000.md (prefetch): Make address V4SI mode so that the address
13715 is restricted to legitimate form for instruction.
13716
fd29f6ea
BW
137172002-01-25 Bob Wilson <bob.wilson@acm.org>
13718
13719 * doc/install.texi (xtensa-*-elf): New target.
13720 (xtensa-*-linux*): New target.
13721 * doc/contrib.texi: Add myself.
13722
55492b32
NC
137232002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
13724
13725 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
13726 purpose register to hold an SImode (or smaller) value.
13727
72c7c913
JJ
137282002-01-25 Jakub Jelinek <jakub@redhat.com>
13729
13730 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
13731 registry only.
13732 * crtstuff.c: Likewise.
13733
c4df4ceb
KH
137342002-01-25 Kazu Hirata <kazu@hxi.com>
13735
13736 * config/h8300/h8300.md (negation patterns): Tighten
13737 predicates to register_operand.
13738
70e531f5
AH
137392002-01-24 Aldy Hernandez <aldyh@redhat.com>
13740
3bca17dd
PK
13741 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
13742 mode, not Pmode.
70e531f5 13743
3bca17dd 13744 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 13745
a4f76ef9
AO
137462002-01-24 Alexandre Oliva <aoliva@redhat.com>
13747
13748 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
13749 modes.
13750
9bf25b09
KH
137512002-01-24 Kazu Hirata <kazu@hxi.com>
13752
13753 * config/h8300/h8300.c (print_operand): Remove support for
13754 operand character 'A'.
13755 * config/h8300/h8300.md (three anonymous patterns): Replace
13756 operand character 'A' with either 'T' or 'S'.
13757
974af6a5
KH
137582002-01-24 Kazu Hirata <kazu@hxi.com>
13759
13760 * config/h8300/h8300.c (print_operand): Remove support for
13761 operand character 'U'.
13762
7a5bb7b8
AP
137632002-01-24 Andris Pavenis <pavenis@latnet.lv>
13764
3bca17dd 13765 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 13766
92a4639e
NC
137672002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
13768
13769 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
13770 values to be assigned to the stack pointer.
13771
467cb2da
HP
137722002-01-14 Hartmut Penner <hpenner@de.ibm.com>
13773
bebc7e8b 13774 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
13775 to const_double needs to be done right for big-endian systems.
13776
3b6cb920
JM
137772002-01-24 Jason Merrill <jason@redhat.com>
13778
b08dd119 13779 PR c++/2432
3b6cb920
JM
13780 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
13781 to can_throw_internal.
13782
f3077311
RH
137832002-01-23 Richard Henderson <rth@redhat.com>
13784
13785 * fold-const.c (fold): Change UINT_MAX test to check vs precision
13786 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
13787
e1d71275
AO
137882002-01-24 Alexandre Oliva <aoliva@redhat.com>
13789
13790 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
13791 (symGOT2reg): Use them, then set as GOT value as unchanging.
13792 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
13793 as a temporary, if possible.
13794 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
13795 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
13796
dc271dbe
KH
137972002-01-23 Kazu Hirata <kazu@hxi.com>
13798
13799 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
13800 accept to accept 0x80 as operands[2].
13801
1a9017f9
AO
138022002-01-24 Alexandre Oliva <aoliva@redhat.com>
13803
13804 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
13805
6932f033
RH
138062002-01-23 Richard Henderson <rth@redhat.com>
13807
13808 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
13809
709619d9
AH
138102002-01-23 Aldy Hernandez <aldyh@redhat.com>
13811
3bca17dd
PK
13812 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
13813 (parmlist_or_identifiers_1): Verify that only a parmlist follows
13814 an attribute.
709619d9 13815
3d709fd3
RH
138162002-01-23 Richard Henderson <rth@redhat.com>
13817
13818 * expr.c (move_by_pieces_1): Extend size before negation.
13819
88a446c0
RH
13820 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
13821 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
13822 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
13823 * config/m68k/t-m68kelf: Likewise.
13824
03984308
BW
138252002-01-23 Bob Wilson <bob.wilson@acm.org>
13826
13827 * config/xtensa/elf.h: New file.
13828 * config/xtensa/lib1funcs.asm: New file.
13829 * config/xtensa/lib2funcs.S: New file.
13830 * config/xtensa/linux.h: New file.
13831 * config/xtensa/t-xtensa: New file.
13832 * config/xtensa/xtensa-config.h: New file.
13833 * config/xtensa/xtensa-protos.h: New file.
13834 * config/xtensa/xtensa.c: New file.
13835 * config/xtensa/xtensa.h: New file.
13836 * config/xtensa/xtensa.md: New file.
13837 * config.gcc (xtensa-*-elf*): New target.
13838 (xtensa-*-linux*): New target.
13839 * cse.c (canon_hash): Compare rtx pointers instead of register
13840 numbers. This is required for the Xtensa port.
13841 * integrate.c (copy_insn_list): Handle case where the static
13842 chain is in memory and the memory address has to be copied to
13843 a register.
13844 * doc/invoke.texi (Option Summary): Add Xtensa options.
13845 (Xtensa Options): New node.
13846 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
13847
c3d5c3fa
ZW
138482002-01-23 Zack Weinberg <zack@codesourcery.com>
13849
a63bea75
ZW
13850 * diagnostic.c (internal_error): Do ICE suppression only
13851 when ENABLE_CHECKING is not defined.
13852
c3d5c3fa
ZW
13853 * c-typeck.c (require_complete_type): Return error_mark_node
13854 if type is error_mark_node.
13855
1398974c
JJ
138562002-01-23 Janis Johnson <janis187@us.ibm.com>
13857
13858 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
13859 -Os and issue a warning.
13860
807633e5
ZW
138612002-01-23 Zack Weinberg <zack@codesourcery.com>
13862
13863 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
13864 current (lack of) need for host configuration by hand.
13865
13866 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
13867 references. Documentation of some target macros moved from
13868 hostconfig.texi to tm.texi.
13869
cf8002d0
WC
138702002-01-23 Will Cohen <wcohen@redhat.com>
13871
13872 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
13873 defined.
13874
d1e76310
KH
138752002-01-23 Kazu Hirata <kazu@hxi.com>
13876
13877 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
13878 operand[3].
13879
b2115575
JM
138802002-01-23 Jason Merrill <jason@redhat.com>
13881
f893c16e
JM
13882 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
13883
b2115575
JM
13884 * function.c (assign_parms): Don't put args of inline functions
13885 into registers when not optimizing.
13886
6bacc7b0
NC
138872002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
13888
13889 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
13890 (prologue_use): New pattern.
13891 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
13892 preference to gen_rtx_USE.
13893 (thumb_expand_prologue): Use gen_prologue_use in preference to
13894 gen_rtx_USE.
13895 (thumb_expand_epilogue): Use gen_prologue_use in preference to
13896 gen_rtx_USE.
13897
a415f7bc
HPN
138982002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
13899
13900 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
13901
5372b3fb
NB
139022002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
13903
13904 PR c/3504
13905 * doc/extend.texi: Correct documentation of __alignof__.
13906
bd571ffc
ZW
139072002-01-22 Zack Weinberg <zack@codesourcery.com>
13908
13909 * params.h: Rename arguments of DEFPARAM so that it will be
13910 recognized as a translation keyword.
13911
333c8841
AH
139122002-01-22 Aldy Hernandez <aldyh@redhat.com>
13913
bd571ffc
ZW
13914 * extend.texi: Document altivec functions.
13915 Fix N-bit adjectives in X86 builtin documentation.
333c8841 13916
38979c65
AO
139172002-01-22 Alexandre Oliva <aoliva@redhat.com>
13918
13919 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
13920 auto_inc_dec values.
13921
7458a9f0
RE
139222002-01-22 Richard Earnshaw <rearnsha@arm.com>
13923
13924 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
13925 after backslash.
13926 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
13927
129bd0c4
AO
139282002-01-22 Alexandre Oliva <aoliva@redhat.com>
13929
13930 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
13931
8b9b74a9
RH
139322002-01-22 Richard Henderson <rth@redhat.com>
13933
13934 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
13935 copy_insn not copy_rtx.
13936
d0c9db30
AM
139372002-01-23 Alan Modra <amodra@bigpond.net.au>
13938
13939 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
13940 "nonzero" as that might add "1" bits. Ensure "constop" is
13941 properly sign extened.
13942 (force_to_mode): Tweak for sign extended constop.
13943
1e7e480e
RH
139442002-01-22 Richard Henderson <rth@redhat.com>
13945
13946 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
13947 for_each_rtx instead of assuming we're already looking at the MEM.
13948 (split_small_symbolic_mem_operand): Likewise.
13949 * config/alpha/alpha.h (PREDICATE_CODES): Update.
13950 * config/alpha/alpha.md (small symbolic memory splitters): Update.
13951
139522002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
13953
13954 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
13955 sequence number for the literal.
13956 (divmoddi_internal_er): Likewise.
13957
b7f2fb96
CR
139582002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
13959
13960 PR java/4972
13961 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
13962 in LIBICONV variable.
13963 * configure: Regenerated.
13964
f66a0046
KW
139652002-01-22 Krister Walfridsson <cato@df.lth.se>
13966
13967 * dependence.c (build_def_use): Remove array_idx.
13968
e3b0efd1
KW
13969 * dwarfout.c (last_filename): Remove.
13970 (output_compile_unit_die): Remove last_filename.
13971
d8086cbb
RS
139722002-01-22 Roger Sayle <roger@eyesopen.com>
13973 Richard Henderson <rth@redhat.com>
13974
13975 PR opt/3640
13976 * fold-const.c (fold): Optimize unsigned comparisons against
13977 UINT_MAX (and similar unsigned constants).
13978
e8d52ba0
JJ
139792002-01-22 Janis Johnson <janis187@us.ibm.com>
13980
d8086cbb 13981 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 13982 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 13983 against the predicate.
11303d15 13984
e8d52ba0
JJ
13985 PR target/5379
13986 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
13987 for the address operand.
13988
cc7b420e
RH
139892002-01-22 Richard Henderson <rth@redhat.com>
13990
13991 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
13992
816e265a
CR
139932002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
13994
13995 PR other/5450
cc7b420e
RH
13996 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
13997 preprocessor flags.
816e265a 13998
7c884404
JT
139992002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
14000
14001 * config.gcc (x86_64-*-netbsd*): New target.
14002 * config/i386/netbsd64.h: New file.
14003
2b672c08
AH
140042002-01-22 Aldy Hernandez <aldyh@redhat.com>
14005
d8086cbb 14006 * regrename.c (kill_value): Fix typo.
2b672c08
AH
14007
140082002-01-22 Aldy Hernandez <aldyh@redhat.com>
14009
d8086cbb 14010 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 14011
d8086cbb 14012 * config/rs6000/rs6000.h: Same.
2b672c08 14013
d8086cbb
RS
14014 * function.c (instantiate_virtual_regs): Remove
14015 STARTING_FRAME_PHASE.
14016 (assign_stack_local_1): Same.
14017 Calculate frame phase.
2b672c08 14018
4b02997f
NC
140192002-01-22 Nick Clifton <nickc@redhat.com>
14020
14021 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
14022 variable declaration to outer scope in order to simplify
14023 future extensions.
14024 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
14025 arm_hard_regno_mode_ok.
14026 * config/arm/arm-protos.h: Add a prototype for
14027 arm_hard_regno_mode_ok.
14028 * config/arm/arm.c (soft_df_operand): Remove now redundant
14029 check for DImode values using IP_REGNUM.
14030 (nonimmediate_soft_df_operand): Remove now redundant check for
14031 DImode values using IP_REGNUM.
14032 (arm_hard_regno_mode_ok): New function. New check: make sure
14033 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
14034
14035 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
14036 note with a USE.
14037 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
14038
8a827ab2
JM
140392002-01-22 Jason Merrill <jason@redhat.com>
14040
14041 * c-semantics.c (genrtl_compound_stmt): Only check nesting
14042 consistency if this COMPOUND_STMT is scoped.
14043
cf403648
KH
140442002-01-22 Kazu Hirata <kazu@hxi.com>
14045
14046 * predict.c: Fix formatting.
14047 * print-tree.c: Likewise.
14048 * protoize.c: Likewise.
14049 * real.h: Likewise.
14050 * rtl.h: Likewise.
14051 * sbitmap.h: Likewise.
14052 * scan.c: Likewise.
14053 * sched-deps.c: Likewise.
14054 * sched-vis.c: Likewise.
14055 * sdbout.c: Likewise.
14056 * sibcall.c: Likewise.
14057 * ssa.c: Likewise.
14058 * ssa-ccp.c: Likewise.
14059 * ssa-dce.c: Likewise.
14060 * stmt.c: Likewise.
14061 * stor-layout.c: Likewise.
14062 * system.h: Likewise.
14063
aea9695c
RK
14064Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14065
a8765ae7
RK
14066 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
14067 if fits in bounds of base type.
14068
aea9695c
RK
14069 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
14070 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
14071 (add_bound_info, default): If can't find a context, make a
14072 SAVE_EXPR.
14073 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
14074
58bf601b
HPN
140752002-01-22 Hans-Peter Nilsson <hp@axis.com>
14076
14077 * c-typeck.c (parser_build_binary_op): If result from
14078 build_binary_op is ERROR_MARK just return error_mark_node without
14079 further processing.
14080
f982f805
JT
140812002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
14082
14083 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
14084 Split a.out-specific bits into...
14085 * config/netbsd-aout.h: ...this.
14086 * config/netbsd-elf.h: New file.
14087 * config/alpha/netbsd-elf.h: Remove.
14088 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
14089 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 14090 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
14091 (ENDFILE_SPEC): Likewise.
14092 (LINK_SPEC): Likewise.
14093 (CPP_SPEC): Likewise.
14094 (ASM_SPEC): Likewise.
14095 (LIB_SPEC): Likewise.
14096 (SWITCH_TAKES_ARG): Likewise.
14097 (TARGET_MEM_FUNCTIONS): Likewise.
14098 (CPP_PREDEFINES): Redefine.
14099 (ASM_FINAL_SPEC): Remove redefinition.
14100 (ASM_COMMENT_START): Redefine.
14101 (FUNCTION_PROFILER): Define.
14102 (TARGET_VERSION): Redefine.
14103 Comment and formatting cleanup.
14104 * config/i386/netbsd.h: Include <netbsd-aout.h>.
14105 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
14106 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
14107 big- or little-endian.
14108 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
14109 * config.gcc (*-*-netbsd*): Add definitions common to all
14110 NetBSD configs.
14111 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
14112 gnu_ld definitions. Add netbsd-elf.h to and remove
14113 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
14114 tmake_file, and don't lose previous tmake_file contents.
14115 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
14116 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
14117 gnu_ld definitions. Add netbsd-elf.h to tm_file.
14118 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
14119 (mipsel-*-netbsd*): Rename this to...
14120 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
14121 mips/little.h to tm_file for mips*el-*.
14122 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
14123 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
14124 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
14125
2e396476
JDA
141262002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
14127
14128 * pa-protos.h (reg_before_reload_operand): New function prototype.
14129 * pa.c (reg_before_reload_operand): New function implementation.
14130 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
14131 contraints to "*m".
14132
3b5708e7
FS
141332002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14134
14135 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
14136
85e79f96
JDA
141372002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
14138
14139 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
14140 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
14141 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
14142 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
14143 (ENDFILE_SPEC): Undefine.
14144 (STARTFILE_SPEC): Redefine for PA.
14145
38abadee
FS
141462002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14147
14148 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
14149
94f1d97c
DJ
141502002-01-21 Daniel Jacobowitz <drow@mvista.com>
14151
14152 * config.gcc: Add entries to supported PowerPC --with-cpu
14153 types.
14154
0333394e
JJ
141552002-01-21 Jakub Jelinek <jakub@redhat.com>
14156
14157 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
14158 true for 64-bit mode only SSE registers in 32-bit mode.
14159
e9d1b155
KH
141602002-01-21 Kazu Hirata <kazu@hxi.com>
14161
14162 * unwind-dw2.c: Fix formatting.
14163 * unwind-dw2-fde.c: Likewise.
14164 * unwind-dw2-fde.h: Likewise.
14165 * unwind-pe.h: Likewise.
14166 * varasm.c: Likewise.
14167 * varray.h: Likewise.
14168
07338cf8
HPN
141692002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
14170
14171 Remove workaround for register stack overwrite bug in mmix.
14172 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
14173 support for TARGET_REG_STACK_FILL_BUG.
14174 * config/mmix/mmix.h: Remove member has_call_without_parameters.
14175 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
14176 Delete.
14177 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
14178 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
14179 -mno-reg-stack-fill-bug-workaround.
14180 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
14181 machine member has_call_without_parameters.
14182 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
14183 -mreg-stack-fill-bug-workaround and
14184 -mno-reg-stack-fill-bug-workaround.
14185 (MMIX Options): Ditto.
14186
7192cbf1
KH
141872002-01-21 Kazu Hirata <kazu@hxi.com>
14188
14189 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
14190 as appropriate.
14191 Remove redundant code.
14192
d1552d7b
JM
141932002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
14194
14195 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
14196 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
14197 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
14198 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
14199 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
14200 out target macro definitions and non-target-specific comments
14201 mostly taken from old versions of the manual.
14202
ed168e45
KH
142032002-01-20 Kazu Hirata <kazu@hxi.com>
14204
14205 * config/h8300/h8300.h: Fix comment formatting.
14206 * config/ia64/aix.h: Likewise.
14207 * config/ia64/ia64-protos.h: Likewise.
14208 * config/ia64/ia64.c: Likewise.
14209 * config/ia64/ia64.h: Likewise.
14210 * config/ia64/ia64intrin.h: Likewise.
14211 * config/ia64/linux.h: Likewise.
14212 * config/ia64/unwind-aix.c: Likewise.
14213 * config/ia64/unwind-ia64.c: Likewise.
14214
005e3e05
KH
142152002-01-20 Kazu Hirata <kazu@hxi.com>
14216
14217 * config/h8300/h8300.c: Revise comments about shift code.
14218
64bead4c
KH
142192002-01-20 Kazu Hirata <kazu@hxi.com>
14220
14221 * config/h8300/h8300.c (function_arg): Update a comment.
14222
ed863595
KH
142232002-01-20 Kazu Hirata <kazu@hxi.com>
14224
14225 * config/h8300/h8300.md: Update the comments at the beginning
14226 of the file.
14227
5904dc87
KH
142282002-01-20 Kazu Hirata <kazu@hxi.com>
14229
14230 * config/i370/i370.c: Fix comment formatting.
14231 * config/i370/i370.h: Likewise.
14232 * config/i370/i370.md: Likewise.
14233 * config/i370/linux.h: Likewise.
14234
9702143f
RK
14235Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14236
cbafacd1
RK
14237 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
14238
9702143f
RK
14239 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
14240 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
14241 in incomplete case.
14242
6b6996b8
GS
142432002-01-20 Graham Stott <grahams@redhat.com>
14244
14245 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
14246
eab854f6
JDA
142472002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
14248
14249 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
14250
5b029315
TR
142512002-01-19 Tom Rix <trix@redhat.com>
14252
14253 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
14254
1d690052
AH
142552002-01-18 Aldy Hernandez <aldyh@redhat.com>
14256
d8086cbb 14257 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 14258
d8086cbb
RS
14259 * function.c (assign_stack_local_1): Adjust x_frame_offset with
14260 STARTING_FRAME_PHASE.
14261 (STARTING_FRAME_PHASE): New.
14262 (instantiate_virtual_regs): Check saneness of
14263 STARTING_FRAME_PHASE.
1d690052 14264
d8086cbb 14265 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 14266
4dd8c093
AO
142672002-01-19 Alexandre Oliva <aoliva@redhat.com>
14268
14269 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
14270
6f2a28d7
CR
142712002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
14272
14273 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
14274 be used for bootstrapping GCC 3.0.
14275
8763a465
KH
142762002-01-18 Kazu Hirata <kazu@hxi.com>
14277
14278 * config/h8300/h8300.md: Fix an insn length.
14279
3ef42a0c
KH
142802002-01-18 Kazu Hirata <kazu@hxi.com>
14281
14282 * bitmap.h: Fix comment formatting.
14283 * combine.c: Likewise.
14284 * cppfiles.c: Likewise.
14285 * c-pragma.h: Likewise.
14286 * c-typeck.c: Likewise.
14287 * df.c: Likewise.
14288 * dwarf2out.c: Likewise.
14289 * function.c: Likewise.
14290 * gcc.c: Likewise.
14291 * genattrtab.c: Likewise.
14292 * gthr-win32.h: Likewise.
14293 * haifa-sched.c: Likewise.
14294 * predict.c: Likewise.
14295 * rtlanal.c: Likewise.
14296 * rtl.h: Likewise.
14297 * unwind-dw2-fde.h: Likewise.
14298 * unwind-pe.h: Likewise.
14299 * vmsdbgout.c: Likewise.
14300
dd4dc3cd
RK
14301Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14302
14303 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
14304 if type_required and passed decl.
14305
5fb4cf24
AH
143062002-01-17 Aldy Hernandez <aldyh@redhat.com>
14307
d8086cbb
RS
14308 * config.gcc (cpu_type): Include altivec.h in powerpc
14309 extra_headers.
14310 Same for darwin.
5fb4cf24 14311
d8086cbb 14312 * config/rs6000/altivec.h: New.
5fb4cf24 14313
2705baf5
DE
143142002-01-17 David Edelsohn <edelsohn@gnu.org>
14315
14316 * doc/install.texi (*-ibm-aix*): Update assembler and exception
14317 handling information.
14318 * doc/trouble.texi (Interoperation): Add libstdc++ information
14319 for AIX.
14320 (Misunderstandings): Add template instantiation and static template
14321 member information for AIX.
14322
dbd680e1
JM
143232002-01-17 Jason Merrill <jason@redhat.com>
14324
821adc5e
JM
14325 * dbxout.c (dbxout_type): Support const and volatile.
14326
dbd680e1
JM
14327 * except.c (add_partial_entry): Remove backwards compatibility code.
14328 (end_protect_partials): Likewise.
14329
d0e82870
JJ
143302002-01-17 Jakub Jelinek <jakub@redhat.com>
14331
14332 * config/ia64/ia64.md (prologue_use): New.
14333 * config/ia64/ia64.c (ia64_expand_prologue): Use
14334 gen_prologue_use instead of gen_rtx_USE.
14335 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
14336 as CODE_FOR_pred_rel_mutex.
14337 (ia64_sched_reorder2): Likewise.
14338
f9f45c65
EC
143392002-01-16 Eric Christopher <echristo@redhat.com>
14340
14341 * config/mips/r3900.h: Reformat.
14342 (SUBTARGET_CPP_SIZE_SPEC): Remove.
14343 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
14344 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
14345 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
14346 * config/mips/t-elf: Remove mips3 multilib.
14347
c66c8b0e
L
143482002-01-16 H.J. Lu <hjl@gnu.org>
14349
14350 * config/mips/linux.h: Include "mips/abi64.h".
14351
5f083b72
L
143522002-01-16 H.J. Lu <hjl@gnu.org>
14353
14354 * config/mips/t-linux: New.
14355
14356 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
14357
14358 * config/mips/linux.h: Don't include "gofast.h".
14359 (INIT_SUBTARGET_OPTABS): Removed.
14360
af3c90a6
KH
143612002-01-16 Kazu Hirata <kazu@hxi.com>
14362
14363 * config/h8300/h8300-protos.h: Replace emit_a_shift with
14364 output_a_shift.
14365 * config/h8300/h8300.c: Likewise.
14366 * config/h8300/h8300.md: Likewise.
14367
a1bf0a16
KH
143682002-01-16 Kazu Hirata <kazu@hxi.com>
14369
14370 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
14371 spaces after an opcode name.
14372 (pushqi1_h8300hs): Likewise.
14373 (pushhi1_h8300hs): Likewise.
14374
88ab0d1c
KH
143752002-01-16 Kazu Hirata <kazu@hxi.com>
14376
14377 * doc/extend.texi: Replace "option" with "attribute"
14378 appropriately.
14379
51c561e3
JJ
143802002-01-16 Jakub Jelinek <jakub@redhat.com>
14381
14382 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
14383 (and:DI () (const_int -8)).
14384 (split_small_symbolic_mem_operand): Split
14385 (mem (and:DI () (const_int -8)).
14386
b8c1a6b8
JJ
143872002-01-16 Jakub Jelinek <jakub@redhat.com>
14388
14389 PR target/5309:
d8086cbb 14390 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
14391 same way as TYPE_IMUL.
14392 (ultrasparc_sched_reorder): Likewise.
14393 * config/sparc/sparc.md (type): Add comment to update
14394 ultrasparc_sched_reorder when making changes.
14395
1e4e4df2
KH
143962002-01-16 Kazu Hirata <kazu@hxi.com>
14397
14398 * doc/invoke.texi: Change the dump file name of block
14399 reordering pass from 28.bbro to 29.bbro.
14400 Mention -dk option.
14401
14d920c0
JH
14402Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
14403
14404 * i386.md (minsf splitter): Fix pasto.
14405
2e99323f
NC
144062002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
14407
14408 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
14409 to frame pointer initialisation instruction.
14410 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
14411 initialisation instruction.
ab8081c1
NC
14412 (soft_df_operand): Do not accept the IP register.
14413 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 14414
c4031a04
JJ
144152002-01-16 Jakub Jelinek <jakub@redhat.com>
14416
14417 PR target/5357:
14418 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
14419 MASK_V8 being both set.
14420
44b8152b
UW
144212002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
14422
14423 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
14424 insn for GOT register; add REG_MAYBE_DEAD notes instead.
14425 config/s390/s390.md (call, call_value): Add GOT register to
14426 CALL_INSN_FUNCTION_USAGE where needed.
14427 (call_exp, call_value_exp): New.
14428
1d6e90ac
NC
144292002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
14430
14431 * config/arm/arm.c: General formatting tidy up.
14432
144332002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
14434
14435 * calls.c (try_to_integrate): Use "(size_t)" intermediate
14436 cast and when casting an integer literal to "rtx" pointer.
14437 (expand_call): Likewise.
14438 * flow.c (try_pre_increment): Likewise.
14439 (find_use_as_address): Likewise.
14440 * integrate.c (expand_iline_function): Likewise.
14441 * regmove.c (try_auto_increment): Likewise.
14442
1d6e90ac 144432002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
14444
14445 * sched-rgn.c (passed): Use sbitmap_free.
14446 (header): Likewise.
14447 (inner): Likewise.
14448 (in_queue): Likewise.
14449 (in_stack): Likewise.
14450
31fce3c4
EC
144512002-01-15 Eric Christopher <echristo@redhat.com>
14452
14453 * flow.c (propagate_one_insn): Change to use fatal_insn.
14454
c99d986a
KH
144552002-01-15 Kazu Hirata <kazu@hxi.com>
14456
14457 * expmed.c (extract_fixed_bit_field): Remove unused code.
14458 * system.h: Poison SLOW_ZERO_EXTEND.
14459 * doc/tm.texi: Remove.
14460 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
14461 * config/arm/arm.h: Likewise.
14462 * config/avr/avr.h: Likewise.
14463 * config/clipper/clipper.h: Likewise.
14464 * config/convex/convex.h: Likewise.
14465 * config/d30v/d30v.h: Likewise.
14466 * config/dsp16xx/dsp16xx.h: Likewise.
14467 * config/elxsi/elxsi.h: Likewise.
14468 * config/fr30/fr30.h: Likewise.
14469 * config/h8300/h8300.h: Likewise.
14470 * config/i370/i370.h: Likewise.
14471 * config/i386/i386.h: Likewise.
14472 * config/m68k/m68k.h: Likewise.
14473 * config/mips/mips.h: Likewise.
14474 * config/ns32k/ns32k.h: Likewise.
14475 * config/pdp11/pdp11.h: Likewise.
14476 * config/pj/pj.h: Likewise.
14477 * config/s390/s390.h: Likewise.
14478 * config/sh/sh.h: Likewise.
14479 * config/stormy16/stormy16.h: Likewise.
14480 * config/v850/v850.h: Likewise.
14481 * config/vax/vax.h: Likewise.
14482 * config/we32k/we32k.h: Likewise.
14483
acfab996
AH
144842002-01-15 Aldy Hernandez <aldyh@redhat.com>
14485
d8086cbb
RS
14486 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
14487 (altivec_lvsl): Change constraint to b.
14488 (altivec_lvsr): Same.
14489 (altivec_lvebx): Same.
14490 (altivec_lvehx): Same.
14491 (altivec_lvewx): Same.
14492 (altivec_lvxl): Same.
14493 (altivec_lvx): Same.
14494 (altivec_stvx): Add parallel.
14495 (altivec_stvxl): Same.
14496 (altivec_stvehx): Same.
14497 (altivec_stvebx): Same.
14498 (altivec_stvebx): Same.
acfab996 14499
5e505bc9
AH
145002002-01-15 Aldy Hernandez <aldyh@redhat.com>
14501
d8086cbb 14502 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 14503
d8086cbb 14504 * config/rs6000/altivec.h: Delete.
5e505bc9 14505
d8086cbb 14506 * config/rs6000/altivec-defs.h: Add.
5e505bc9 14507
5c41fdfb
JDA
145082002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
14509
14510 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
14511 and UMOD modes.
14512
14513 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
14514 less than or equal to eight bytes.
14515
14516 * vax.md (andsi3): Remove constraints and change SET destination
14517 operand type to nonimmediate_operand.
14518 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
14519 when it is a CONST_INT.
14520
de097a2d
JM
145212002-01-15 Jason Merrill <jason@redhat.com>
14522
14523 * c-common.def (FILE_STMT): New code.
14524 * c-common.c (statement_code_p): It's a statement.
14525 * c-common.h (stmt_tree_s): Add x_last_filename.
14526 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
14527 (last_expr_filename): New macro.
14528 * c-semantics.c (begin_stmt_tree): Initialize it.
14529 (add_stmt): If the filename changed, also insert a
14530 FILE_STMT.
14531 (expand_stmt): Handle seeing one.
14532
4a913dd6
EC
145332002-01-15 Eric Christopher <echristo@redhat.com>
14534
14535 * flow.c (propagate_one_insn): Add error message and print out
14536 insn for debugging.
14537
006946e4
JM
145382002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
14539
14540 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
14541 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
14542 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
14543 TRAMPOLINE_ALIGNMENT.
14544 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
14545 to be in bits.
14546 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
14547 PCC_BITFIELD_TYPE_MATTERS.
14548 * config/interix.h (STDC_VALUE): Remove. Use
14549 STDC_0_IN_SYSTEM_HEADERS.
14550 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
14551 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
14552 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
14553
751a1458
CR
145542002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
14555
14556 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
14557 not work on this platform currently.
14558
57771fe8
JM
145592002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
14560
14561 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
14562 readonly_warning in _().
14563
0e83ceb1 145642002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 14565
0e83ceb1 14566 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 14567
8e2e89f7
KH
145682002-01-15 Kazu Hirata <kazu@hxi.com>
14569
0e83ceb1
DR
14570 * config/h8300/h8300.c (print_operand): Remove support for
14571 unused operand characters.
14572
8e2e89f7
KH
14573 * read-rtl.c: Fix formatting.
14574 * real.c: Likewise.
14575 * recog.c: Likewise.
14576 * regclass.c: Likewise.
14577 * regmove.c: Likewise.
14578 * reg-stack.c: Likewise.
14579 * reload1.c: Likewise.
14580 * rtlanal.c: Likewise.
14581
b531087a
KH
145822002-01-15 Kazu Hirata <kazu@hxi.com>
14583
14584 * config/i386/i386.c: Fix formatting.
14585
7c94ce7f
JJ
145862002-01-15 Jakub Jelinek <jakub@redhat.com>
14587
14588 * c-typeck.c (process_init_element): Don't save_expr
14589 COMPOUND_LITERAL_EXPR if just its initializer will be used.
14590
6041bf2f
DE
145912002-01-15 David Edelsohn <edelsohn@gnu.org>
14592
14593 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
14594 emit optional traceback table if optimize_size or TARGET_ELF.
14595 * config/rs6000/rs6000.md (prefetch): New.
14596
8559c8c0
AJ
145972002-01-15 Andreas Jaeger <aj@suse.de>
14598
14599 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
14600
70f122f2
KH
146012002-01-15 Kazu Hirata <kazu@hxi.com>
14602
14603 * mips-tfile.c: Fix formatting.
14604
6a7b4ca6
JH
14605Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
14606
14607 * unroll.c (final_reg_note_copy): Fix previous commit.
14608
e7afe229
KH
146092002-01-14 Kazu Hirata <kazu@hxi.com>
14610
14611 * config/h8300/h8300-protos.h: Remove the prototype for
14612 eq_operator.
14613 * config/h8300/h8300.c (eq_operator): Remove.
14614
7d378549
RH
146152002-01-14 Richard Henderson <rth@redhat.com>
14616
14617 * config/i386/i386.md (prefetch): Tidy.
14618 (prefetch_3dnow): Fix locality operand.
14619
ab093b81
RH
146202002-01-14 Richard Henderson <rth@redhat.com>
14621
14622 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
14623 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
14624
d300f51f
HPN
146252002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
14626
14627 * reload1.c (reload_combine): Pass reg_sum replacement through
14628 copy_rtx in loop performing multiple changes.
14629
655dd289
JJ
146302002-01-14 Jakub Jelinek <jakub@redhat.com>
14631
14632 * except.c (remove_unreachable_regions): New.
14633 (free_eh_status): Clear exception_handler_labels.
14634 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
14635 (find_exception_handler_labels): Don't add the same label more than
14636 once.
14637 (remove_exception_handler_label): Don't die if
14638 find_exception_handler_labels hasn't been called for the current
14639 function yet.
14640
1fba46a7
JH
14641Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
14642
14643 * toplev.c (rest_of_compilation): Rebuild jump labels after
14644 gcse.
14645
0975678f
JM
146462002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
14647
14648 * doc/extend.texi: Move documentation of X86 built-in functions
14649 here.
14650 * doc/invoke.texi: From here.
14651 * doc/sourcebuild.texi: Document location of documentation for
14652 machine built-in functions.
14653
969815c7
CF
146542002-01-13 Christopher Faylor <cgf@redhat.com>
14655
14656 * cppfiles.c (TEST_THRESHOLD): New macro.
14657 (SHOULD_MMAP): Ditto.
14658 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
14659 be used.
14660
494c950b
JH
14661Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
14662
14663 * unroll.c (final_reg_note_copy): Properly handle
14664 REG_LABEL
14665 (unroll_loops): Fix LOOP_CONDITION heuristics.
14666
69a0611f
GK
146672002-01-14 Geoffrey Keating <geoffk@redhat.com>
14668
14669 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
14670 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
14671
b90e45ae
JH
14672Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
14673
14674 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
14675 threaded loop.
14676
8377288b
TR
146772002-01-14 Tom Rix <trix@redhat.com>
14678
14679 * config/rs6000/rs6000.md: Fix typo with sradi.
14680
9f37ccb1
UW
146812002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
14682
14683 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
14684 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
14685 (clrstrdi, clrstrsi): Adapt callers.
14686
14687 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
14688
8559c8c0 14689 (movti splitter): Never use register 0 as base register.
9f37ccb1 14690
6c2d03d0
HP
146912002-01-14 Hartmut Penner <hpenner@de.ibm.com>
14692
8559c8c0
AJ
14693 * combine.c (simplify_shift_const): Always generate new rtx
14694 for shift expression instead of reusing given expression.
6c2d03d0 14695
d3e98208
RK
14696Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14697
14698 * config/alpha/alpha.c (alpha_expand_mov): Don't call
14699 alpha_legitimize_address unless mode is Pmode.
14700
9f339dde
GK
147012002-01-13 Geoffrey Keating <geoffk@redhat.com>
14702
14703 * doc/md.texi (Modifiers): Document the '*' constraint for the
14704 user.
14705
14706 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
14707 * doc/extend.texi (Function Attributes): 'interrupt' is valid
14708 for xstormy16 too.
14709
02a10130
RH
147102002-01-13 Richard Henderson <rth@redhat.com>
14711
14712 * reload.c (find_reloads): Use a hard reg destination as reload reg
14713 for an input reload of the source.
14714
61d47787
GP
147152002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14716
14717 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
14718 more generic.
14719
f0df8029
DR
14720Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
14721
14722 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
14723 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
14724
d2a37256
DR
14725 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
14726
a9e8a5ee
RK
14727Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14728
14729 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
14730
bc06712d
TR
147312002-01-12 Tom Rix <trix@redhat.com>
14732
8559c8c0 14733 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
14734 TARGET_POWERPC64.
14735
7cbe9bb7
RH
147362002-01-12 Richard Henderson <rth@redhat.com>
14737
38b29e64
RH
14738 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
14739
58605ba0
RH
14740 * doc/invoke.texi: Update Alpha options.
14741
7cbe9bb7
RH
14742 * doc/invoke.texi: Update i386 built-in function lists.
14743
9d560860
JH
14744Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
14745
14746 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
14747 referencing outside.
14748
bb93b973
RK
14749Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14750
14751 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
14752 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
14753 offsets, and change line folding.
14754 * optabs.c (expand_binop): Remove warnings.
14755 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 14756
f9f6b7df
GS
147572002-01-12 Graham Stott <grahams@redhat.com>
14758
14759 * attribs.c (handle_deprecated_attribute): constify WHAT.
14760 * diagnostic.c (warn_deprecated_use): Add braces, fixes
14761 dangling else warning and constify WHAT.
14762 * except.h (struct function, struct inline_remap): Move
14763 struct tag forward defs before all prototypes.
14764 (duplicate_eh_regions): Whitespace.
14765
4a692617
NC
147662002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
14767
14768 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
14769 MODE_BASE_REG_CLASS.
14770 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
14771
e37af218
RH
147722002-01-12 Richard Henderson <rth@redhat.com>
14773
14774 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
14775 (ix86_expand_vector_move): New.
14776 (bdesc_2arg): Remove andps, andnps, orps, xorps.
14777 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
14778 Remove old prefetch builtins. Special case the logicals removed above.
14779 (ix86_expand_builtin): Likewise.
14780 (safe_vector_operand): Use V4SFmode, not TImode.
14781 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
14782 (ix86_expand_timode_binop_builtin): New.
14783 * config/i386/i386-protos.h: Update.
14784 * config/i386/i386.h (enum ix86_builtins): Update.
14785 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
14786 Use ix86_expand_vector_move in vector move expanders.
14787 (movti_internal, movti_rex64): Add xorps alternative.
14788 (sse_clrv4sf): Rename and adjust from sse_clrti.
14789 (prefetch): Don't work so hard.
14790 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
14791 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
14792 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
14793
6f1a6c5b
RH
147942002-01-11 Richard Henderson <rth@redhat.com>
14795
14796 * config/i386/mmintrin.h: New file.
14797 * config/i386/xmmintrin.h: New file.
14798 * config.gcc (i?86-*-*): Add extra_headers.
14799 * simplify-rtx.c (simplify_unary_operation): Handle saturating
14800 truncation codes.
14801 (simplify_binary_operation): Handle saturating arithmetic codes.
14802 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
14803 not the lowpart subreg.
14804 (ix86_expand_builtin): Return a TImode dummy register instead of 0
14805 on error.
14806 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
14807
cdb574d3
MH
148082002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14809
14810 * conflict.c (conflict_graph_compute): Free regsets when finished.
14811 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 14812
cf11ac55
HB
148132002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
14814
14815 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
14816 every where we allocate a register.
14817
76ac938b
MH
148182002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14819
14820 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
14821 * lcm.c (compute_earliest, compute_farthest): Likewise.
14822
a84b4898
JJ
148232002-01-11 Janis Johnson <janis187@us.ibm.com>
14824
14825 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
14826
aaef1c12
JJ
148272002-01-11 Janis Johnson <janis187@us.ibm.com>
14828
14829 * doc/rtl.texi (Insns): Fix 2 typos.
14830
5d22c1a5
JM
148312002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
14832
14833 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
14834 options. Use @table @gcctabopt for MMIX options. Add index
14835 entries for MMIX options. Start new paragraph with first
14836 heading of the machine-dependent options.
14837
3e92902c
CR
148382002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
14839
14840 PR other/5299
14841 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
14842 * combine.c (force_to_mode): Same.
14843 * reload1.c (clear_reload_reg_in_use): Same.
14844
96ae8197
NC
148452002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
14846
14847 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
14848 and 'subtargets'.
14849
9b780582
AJ
148502002-01-11 Andreas Jaeger <aj@suse.de>,
14851 Brad Lucier <lucier@math.purdue.edu>
14852
14853 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
14854 mcpu.
14855
12300dad
DR
14856Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
14857
14858 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
14859 Protect with IN_LIBGCC.
14860 (LINK_EH_SPEC): Add required trailing space.
14861
27511a9a
NP
14862Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
14863
9b780582 14864 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
14865 under the filename which contains them.
14866 (check_identifier, finish_decl_top_level,
14867 lookup_name_current_level_global, shadow_record_fields): Remove.
14868
4daeab16
AJ
148692002-01-11 Andreas Jaeger <aj@suse.de>
14870
14871 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
14872 march.
14873
40571d67
RH
148742002-01-10 Richard Henderson <rth@redhat.com>
14875
14876 * config/alpha/alpha.c (print_operand): Add 'J'.
14877 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
14878 new operand with the sequence number for the lituse. When splitting
14879 the insns, use gen_movdi_er_high_g and generate a sequence number.
14880 (gen_movdi_er_high_g): Print the sequence number if non-zero.
14881
6525c0e7
AH
148822002-01-10 Aldy Hernandez <aldyh@redhat.com>
14883
d8086cbb
RS
14884 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
14885 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
14886 stvxl.
14887 (altivec_expand_builtin): Same.
14888 (altivec_expand_stv_builtin): New.
14889
14890 * config/rs6000/rs6000.h (rs6000_builtins): Same.
14891
14892 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
14893 ("altivec_lvehx"): New.
14894 ("altivec_lvewx"): New.
14895 ("altivec_lvxl"): New.
14896 ("altivec_lvx"): New.
14897 ("altivec_stvx"): New.
14898 ("altivec_stvebx"): New.
14899 ("altivec_stvehx"): New.
14900 ("altivec_stvewx"): New.
14901 ("altivec_stvxl"): New.
6525c0e7 14902
cda94cbb
RH
149032002-01-10 Richard Henderson <rth@redhat.com>
14904
14905 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
14906 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
14907 care not to delete instructions twice.
14908
df2c9a44
ZW
149092002-01-10 Zack Weinberg <zack@codesourcery.com>
14910
14911 * toplev.c: Don't declare environ (it's not used anywhere).
14912 * configure.in: Don't check for declaration of environ.
14913 * config/i386/xm-mingw32.h: Don't #define environ.
14914 * config.in, configure: Regenerate.
14915
5dd8a9b1
ZW
149162002-01-10 Zack Weinberg <zack@codesourcery.com>
14917
14918 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
14919 * configure: Regenerate.
14920
14921 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
14922 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
14923 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
14924 alpha/xm-vms.h.
14925 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
14926 LIMITS_H_TEST here, not in m68k/x-next.
14927 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
14928 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
14929
14930 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
14931 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
14932 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
14933
14934 * config/i386/x-djgpp: Renamed i386/t-djgpp.
14935 * config/m88k/x-dolph: Renamed m88k/t-dolph.
14936 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
14937 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
14938 replacement of quadlib.asm with quadlib.c.
14939
14940 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
14941 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
14942 config/rs6000/xm-beos.h: Delete file.
14943
14944 * config.gcc: Update to match above changes.
14945
d10dd44c
KH
149462002-01-10 Kazu Hirata <kazu@hxi.com>
14947
14948 * config/h8300/h8300.h: Fix comment typos.
14949 * config/h8300/h8300.md: Likewise.
14950 * config/h8300/lib1funcs.asm: Likewise.
14951
04894c5a
DJ
149522002-01-10 Dale Johannesen <dalej@apple.com>
14953
14954 PR optimization/5269
14955 * unroll.c (precondition_loop_p): Make *increment be the correct
14956 sign when n_iterations known, to avoid confusing caller.
14957
adc9fe67
KH
149582002-01-10 Kazu Hirata <kazu@hxi.com>
14959
14960 * doc/extend.texi (deprecated): Fix a typo.
14961
b446e5a2
JH
14962Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
14963
14964 * basic-block.h (update_br_prob_note): Declare.
14965 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
14966 (try_forward_edges): Care negative frequencies and update note.
14967 (outgoing_edges_match): Tweek conditional merging heuristics.
14968 (try_crossjump_to_edge): use update_br_prob_note.
14969 * cfglayout.c (fixup_reorder_chain): Likewise.
14970 * cfrtl.c (update_br_prob_note): New.
14971 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
14972
14973 * i386.c (ix86_decompose_address): Return -1 if address contains
14974 shift.
14975 (legitimate_address_p): Require ix86_decompose_address to return 1.
14976
14977 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
14978 (cprop_insn): Likewise.
14979
a01da83b
KH
149802002-01-10 Kazu Hirata <kazu@hxi.com>
14981
14982 * toplev.c: Fix formatting.
14983 * tree.c: Likewise.
14984 * tree-dump.c: Likewise.
14985 * unroll.c: Likewise.
14986 * unwind-dw2.c: Likewise.
14987 * unwind-dw2-fde.c: Likewise.
14988 * unwind-dw2-fde-glibc.c: Likewise.
14989 * unwind-sjlj.c: Likewise.
14990
9f85bca7
JM
149912002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
14992
14993 * doc/invoke.texi: Document PDP-11 options.
14994
f48f56b1
KH
149952002-01-10 Kazu Hirata <kazu@hxi.com>
14996
14997 * config/h8300/h8300.h: Fix formatting.
14998
ead39bdf 149992002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
15000
15001 Add __attribute__ ((deprecated)).
15002 * extend.texi: Document __attribute__ ((deprecated)).
15003 * invoke.texi: Document -Wno-deprecated-declarations.
15004 * testsuite/g++.dg/other/deprecated.C: New C++ test.
15005 * testsuite/gcc.dg/deprecated.c: New C test.
15006 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
15007 (c_common_attribute_table): Add "deprecated" entry.
15008 (handle_deprecated_attribute): New function.
15009 * c-decl.c (deprecated_states): New enum.
15010 deprecated_state: State of "deprecated" handling.
15011 (start_decl): Set deprecated_state based on attributes.
15012 (grokdeclarator): Test for deprecated uses, propagate attribute.
15013 * c-typeck.c (build_component_ref): Test for deprecated fields.
15014 (build_external_ref): Test for deprecated primaries.
15015 * diagnostic.c (warn_deprecated_use) New function to issue
15016 warnings about __attribute__ ((depricated)) references.
15017 * flags.h (warn_deprecated_decl): Extern declared for
15018 -W[no-]deprecated-declarations option.
15019 * print-tree.c (print_node): Show deprecated flag status.
15020 * toplev.c (warn_deprecated_decl): Defined.
15021 (W_options): Added "deprecated-declaration".
15022 * toplev.h (warn_deprecated_use): Extern declared.
15023 * tree.h (struct tree_common): Define deprecated_flag.
15024 (TREE_DEPRECATED): New macro to access flag.
15025 * cp/call.c (build_call): Test for deprecated calls.
15026 * cp/class.c (add_implicitly_declared_members): Set global
15027 flag to tell grokdeclarator to not issue deprecated warnings.
15028 * cp/cp-tree.h: Add extern for adding_implicit_members.
15029 * cp/decl.c (deprecated_states): New enum.
15030 (start_decl): Set deprecated_state based on attributes.
15031 (grokdeclarator): Test for deprecated uses, propagate attribute.
15032 * cp/lex.c (do_identifier): Test for deprecated primaries.
15033 * cp/typeck.c (build_component_ref): Test for deprecated fields.
15034
ead39bdf 150352002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
15036
15037 Fix to assign attributes to inline member functions.
15038 * cp/decl.c (start_method): Handle attrlist.
15039
47073a38
KH
150402002-01-10 Kazu Hirata <kazu@hxi.com>
15041
15042 * combine.c (expand_field_assignment): Use subreg_lsb().
15043
d288e53d
DE
150442002-01-10 David Edelsohn <edelsohn@gnu.org>
15045
15046 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
15047 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
15048 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
15049 Recurse for any operand of AND as long as constant is non-zero.
15050
08a02ffa
KH
150512002-01-10 Kazu Hirata <kazu@hxi.com>
15052
15053 * config/h8300/h8300.md: Remove constraints from expanders.
15054
c203e7fe
KH
150552002-01-10 Kazu Hirata <kazu@hxi.com>
15056
15057 * varasm.c: Fix formatting.
15058 * varray.c: Likewise.
15059 * vmsdbgout.c: Likewise.
15060 * xcoffout.c: Likewise.
15061
bcb3bc6d
JH
15062Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
15063
15064 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 15065 update edge probabilities to match.
bcb3bc6d 15066
0a553c7e
JM
150672002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
15068
15069 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
15070 dependencies.
15071 * doc/languages.texi, doc/sourcebuild.texi: New files.
15072 * doc/configfiles.texi: Make a subsubsection. Update.
15073 * doc/configterms.texi: Add @node. Remove warning that this isn't
15074 instructions for building GCC.
15075 * doc/makefile.texi: Make a subsection.
15076 * doc/gccint.texi: Update.
15077
adc7fcb8
JH
15078Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
15079
15080 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
15081
5a4dd0b3
NP
15082Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
15083
15084 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
15085
3987b9db
JH
15086Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
15087
15088 * optabs.c (expand_fix): Look for wider integer modes first.
15089
15090 * i386.md (mov?f): Avoid the fake const double trick for medium
15091 memory model.
15092 (min?f*/max?f*): Prohibit memory operands for i387 variant.
15093 (fop_df_4): Disable for SSE compilation.
15094
ceb15948 150952002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
15096
15097 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 15098 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 15099
e1623399
RH
151002002-01-10 Richard Henderson <rth@redhat.com>
15101
15102 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
15103
c4abb293
RH
151042002-01-10 Richard Henderson <rth@redhat.com>
15105
15106 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
15107 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
15108
d2604ae9
KH
151092002-01-10 Kazu Hirata <kazu@hxi.com>
15110
15111 * combine.c (can_combine_p): Fix a comment typo.
15112
766c7ad1
ZW
151132002-01-09 Zack Weinberg <zack@codesourcery.com>
15114
15115 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
15116 empty list correctly. Change loop index $t to $f for
15117 consistency with rest of Makefile.
15118
95385cbb
AH
151192002-01-08 Aldy Hernandez <aldyh@redhat.com>
15120
15121 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
15122 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
15123
15124 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
15125 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
15126 (altivec_init_builtins): Same.
15127 (altivec_expand_unop_builtin): Return NULL_RTX on error.
15128 (altivec_expand_binop_builtin): Same.
15129 (altivec_expand_ternop_builtin): Same.
15130 (bdesc_dst): New.
15131
15132 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
15133 ("altivec_vctuxs"): Fix typo.
15134 ("altivec_vnmsubfp"): Same.
15135 ("altivec_dssall"): New.
15136 ("altivec_mfvscr"): New.
15137 ("altivec_dss"): New.
15138 ("altivec_lvsl"): New.
15139 ("altivec_lvsr"): New.
15140 ("altivec_dstt"): New.
15141 ("altivec_dstst"): New.
15142 ("altivec_dststt"): New.
15143 ("altivec_dst"): New.
15144
15145 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
15146 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
15147
e4ac76b4
RH
151482002-01-09 Richard Henderson <rth@redhat.com>
15149
15150 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
15151
c893e4a4
HPN
151522002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
15153
15154 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
15155 function.
15156 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
15157 prototype.
7387c700 15158 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 15159
f4f4d0f8
KH
151602002-01-09 Kazu Hirata <kazu@hxi.com>
15161
15162 * read-rtl.c: Fix formatting.
15163 * real.c: Likewise.
15164 * regclass.c: Likewise.
15165 * regrename.c: Likewise.
15166 * reg-stack.c: Likewise.
15167 * reload1.c: Likewise.
15168 * reload.c: Likewise.
15169 * rtl.c: Likewise.
15170
cc863bea
KH
151712002-01-09 Kazu Hirata <kazu@hxi.com>
15172
15173 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
15174 to extract items in the expr_list chain.
15175
7b4dfe3d
RH
151762002-01-09 Richard Henderson <rth@redhat.com>
15177
15178 * config/vax/vax.c (vax_rtx_cost): Never abort.
15179
1d969638
RH
15180 * config/vax/vax.h (REAL_ARITHMETIC): Define.
15181
7d5ab30e
JH
151822002-01-09 Jan Hubicka <jh@suse.cz>
15183
15184 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
15185
9503f3d1
RH
151862002-01-09 Richard Henderson <rth@redhat.com>
15187
15188 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
15189 Unify code from various alternatives.
15190
42bd17b7
RH
151912002-01-09 Richard Henderson <rth@redhat.com>
15192
15193 * regrename.c (copy_value): Ignore the copy if the source register
15194 is present in the value chain with a narrower mode.
15195
bdca3c33
HB
151962002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
15197
cda94cbb
RH
15198 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
15199 for the c4x target. Also improve layout.
bdca3c33 15200
c73a5e94
RH
152012002-01-09 Richard Henderson <rth@redhat.com>
15202
15203 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
15204 * config/m32r/m32r.md (and ior xor splitters): Swap operands
15205 to match insn patterns.
15206
dd0a18c0
RH
152072002-01-09 Richard Henderson <rth@redhat.com>
15208
15209 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
15210 (copyprop_hardreg_forward_1): Likewise.
15211
1fd9ac1e
JDA
152122002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
15213
15214 * pa.md (decrement_and_branch_until_zero): Change predicate for
15215 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
15216
5cb265ec
BM
152172002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
15218
15219 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
15220 gets undefined. For Darwin.
15221
fcd8fa8b
HB
152222002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
15223
15224 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
15225
bd3ab23a
MH
152262002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15227
15228 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
15229
21e16bd6
RH
152302002-01-08 Richard Henderson <rth@redhat.com>
15231
15232 * regrename.c (copy_value): Ignore overlapping copies.
15233
a5376276
RH
152342002-01-08 Richard Henderson <rth@redhat.com>
15235
15236 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
15237 as needed to avoid shared structure.
15238
18cf8dda
KH
152392002-01-08 Kazu Hirata <kazu@hxi.com>
15240
15241 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
15242 H8/300H and H8/S.
15243
16c484c7
JM
152442002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
15245
15246 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
15247 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
15248 documentation of obsolete macros.
15249 * system.h: Poison these macros.
15250 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
15251 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
15252 config/c4x/c4x.h, config/clipper/clipper.h,
15253 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
15254 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
15255 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
15256 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
15257 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
15258 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
15259 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
15260 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
15261 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
15262 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
15263 config/sparc/sparc.h, config/stormy16/stormy16.h,
15264 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
15265 definitions and commented out definitions of obsolete macros.
15266 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
15267 of MAX_INT_TYPE_SIZE.
15268
14b3e8ef
UW
152692002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
15270
15271 * config/s390/s390.c (s390_preferred_reload_class): Never
15272 return ADDR_REGS if it isn't a subset of the given class.
15273 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
15274 FP_REGS, but all superclasses as well.
15275
15276 * config/s390/s390.c (s390_function_profiler): Fix thinko.
15277
15278 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
15279 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
15280 must not be a const_int.
15281
a693284d
RH
152822002-01-08 Richard Henderson <rth@redhat.com>
15283
15284 * Makefile.in (toplev.o): Depend on options.h.
15285 (gcc.o): Depend on specs.h.
15286
b3ca30df
JJ
152872002-01-08 Jakub Jelinek <jakub@redhat.com>
15288
15289 * expr.c (store_expr): Convert VOIDmode constants back to target's
15290 mode.
15291
24dbb440
GP
152922002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15293
15294 * doc/invoke.texi: Markup gcc as @command. Refer to
15295 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
15296 of http://gcc.gnu.org/thanks.html.
15297
234e114c
DJ
152982002-01-08 Dale Johannesen <dalej@apple.com>
15299
15300 * config/rs6000/rs6000.md: Add missing int register
15301 target case to movdf_low.
15302
0d24f4d1
ZW
153032002-01-08 Zack Weinberg <zack@codesourcery.com>
15304
15305 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
15306 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
15307 (cppinit.o): Depend on except.h.
15308 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
15309 s-specs): New rules.
15310
15311 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
15312 Don't create specs.h/options.h/gencheck.h here. Remove
15313 unnecessary variable settings from last argument of AC_OUTPUT.
15314 * config.in, configure: Regenerate.
15315 * intl.c: Hardcode package name as "gcc".
15316
15317 * cppinit.c: Include except.h.
15318 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
15319 appropriate.
15320 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
15321 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
15322 (!)USING_SJLJ_EXCEPTIONS.
15323 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
15324
ed722f66
JM
153252002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
15326
15327 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
15328 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
15329 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
15330 documentation of obsolete macros.
15331 * system.h: Poison these macros.
15332 * config/d30v/d30v.h, config/ns32k/encore.h,
15333 config/stormy16/stormy16.h: Remove definitions and commented out
15334 definitions of obsolete macros.
15335
31e5e29a
NP
15336Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
15337
15338 * objc/objc-act.c (handle_class_ref): Mark the declaration of
15339 %sobjc_class_ref_%s as used - to prevent unwanted compiler
15340 warnings.
15341
bc1fa59c
UW
153422002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
15343
15344 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
15345 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
15346 to insn adjusting stack/frame pointer.
0d24f4d1 15347 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
15348 accept operands that cause the insn to be non-splittable.
15349
a8086abf
GS
153502002-01-08 Graham Stott <grahams@redhat.com>
15351
15352 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
15353 (C_TYPE_FIELDS_VOLATILE): Likewise.
15354 (C_TYPE_BEING_DEFINED): Likewise.
15355 (C_IS_RESERVED_WORD): Likewise.
15356 (C_TYPE_VARIABLE_SIZE): Likewise.
15357 (C_DECL_VARIABLE_SIZE): Likewise.
15358 (C_MISSING_PROTOTYPE_WARNED): Likewise.
15359 (C_SET_EXP_ORIGINAL_CODE): Likewise.
15360 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
15361 parenthesis.
15362 (C_DECL_ANTICIPATED): Likewise.
15363 (c_build_type_variant): Add parenthesis.
15364
3f595aa1
JM
153652002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
15366
15367 * gcc.c (option_map): Remove --version.
15368 (process_command): Handle -fversion following the GNU Coding
15369 Standards. Partially addresses PR other/704.
15370
5bc5a8f9
GS
153712002-01-08 Graham Stott <grahams@redhat.com>
15372
15373 * combine.c (combine_instructions): Fix typo.
15374
16ec4ebf
GS
153752002-01-08 Graham Stott <grahams@redhat.com>
15376
15377 * debug.h: Use "tree" and "rtx" throughout.
15378
15379 * debug.c: Likewise.
15380
4b69f385
NC
153812002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
15382
15383 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
15384 constant pool, use the pool's version of the symbol instead.
15385
57d1019b
RH
153862002-01-07 Richard Henderson <rth@redhat.com>
15387
15388 * regrename.c (find_oldest_value_reg): Ignore the value chain if
15389 the original register was copied in a mode with a fewer number of
15390 hard registers than the desired mode.
15391 (copyprop_hardreg_forward_1): Likewise.
15392 (debug_value_data): Fix loop test.
15393 * toplev.c (parse_options_and_default_flags): Reenable
15394 -fcprop-registers at -O1.
15395
153962002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 15397
0d24f4d1
ZW
15398 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
15399 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 15400
0d24f4d1
ZW
15401 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
15402 predicates.
fa066a23 15403
0d24f4d1 15404 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 15405
8f949e7e
JDA
154062002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
15407
15408 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
15409 (pa_output_function_prologue): Output local label at the beginning of
15410 the prologue when profiling.
15411 (hppa_profile_hook): Use the local label rather than the function label.
15412 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
15413
c62f2db5
AH
154142002-01-07 Aldy Hernandez <aldyh@redhat.com>
15415
0d24f4d1
ZW
15416 * config/rs6000/rs6000.c (print_operand): Remove extra space.
15417 (altivec_expand_unop_builtin): Fix thinko.
15418 (altivec_expand_binop_builtin): Same.
15419 (altivec_expand_ternop_builtin): Same.
15420 (altivec_expand_builtin): Same.
c62f2db5 15421
b5235ba7
RH
154222002-01-07 Richard Henderson <rth@redhat.com>
15423
15424 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
15425
7d8ac293
JM
154262002-01-07 Jason Merrill <jason@redhat.com>
15427
15428 * unwind-dw2.c (execute_cfa_program): Use < again.
15429
571a03b8
JJ
154302002-01-07 Jakub Jelinek <jakub@redhat.com>
15431
15432 * predict.c (combine_predictions_for_insn): Avoid division by zero.
15433
2e951384
JJ
154342002-01-07 Jakub Jelinek <jakub@redhat.com>
15435
15436 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
15437 Don't allow -1 - x -> ~x simplifications in the first pass.
15438
20e26713
AH
154392002-01-07 Aldy Hernandez <aldyh@redhat.com>
15440
0d24f4d1
ZW
15441 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
15442 arguments.
15443 (altivec_expand_binop_builtin): Same.
15444 (altivec_expand_unop_builtin): Same.
15445 (print_operand): Fix typo.
15446 (bdesc_1arg): Add vupk* variants.
20e26713 15447
0d24f4d1 15448 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 15449
0d24f4d1 15450 * rs6000.md: Add altivec_vupk* variants.
20e26713 15451
4dd57c18
JM
154522002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
15453
15454 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
15455 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
15456 and last update dates.
15457
0341c5d2
JJ
154582002-01-07 Janis Johnson <janis187@us.ibm.com>
15459
15460 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
15461
c7f3e0b0
MM
154622002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
15463
15464 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
15465 * config/avr/avr.h (CPP_SPEC): Likewise.
15466 (LINK_SPEC): Likewise.
15467 (CRT_BINUTILS_SPECS): Likewise.
15468 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
15469 * doc/invoke.texi (AVR Options): Document them.
15470
6ba4d630
JH
15471Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
15472
15473 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
15474 LABEL_NUSES.
15475
6253d571
GS
154762002-01-07 Graham Stott <grahams@redhat.com>
15477
0d24f4d1
ZW
15478 * config/i386/i386.h: Update copyright date.
15479 (HALF_PIC_PTR): Add parenthesis.
15480 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
15481 (CONSTANT_ALIGNMENT): Add parenthesis.
15482 (DATA_ALIGNMENT): Likewise.
15483 (LOCAL_ALIGNMENT): Likewise.
15484 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
15485 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
15486 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
15487 (HARD_REGNO_NREGS): Add paranethesis.
15488 (VALID_SSE_REG_MODE): Whitespace.
15489 (VALID_MMX_REG_MODE): Whitespace.
15490 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
15491 (ix86_hard_regno_mode_ok): Add parenthesis.
15492 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
15493 (RETURN_IN_MEMORY): Whitespace.
15494 (N_REG_CLASSES): Add parenthesis.
15495 (INTEGER_CLASS_P): Add parenthesis and wrap.
15496 (FLOAT_CLASS_P): Likewise.
15497 (SSE_CLASS_P): Likewise.
15498 (MMX_CLASS_P): Likewise.
15499 (MAYBE_INTEGER_CLASS_P): Likewise.
15500 (MAYBE_FLOAT_CLASS_P): Likewise.
15501 (MAYBE_SSE_CLASS_P): Likewise.
15502 (MAYBE_MMX_CLASS_P): Likewise.
15503 (Q_CLASS_P): Likewise.
15504 (GENERAL_REGNO_P): Uppercase macro parameter.
15505 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
15506 (FP_REGNO_P): Likewise.
15507 (ANY_FP_REGNO_P): Uppercase macro parameter.
15508 (SSE_REGNO_P): Likewise.
15509 (SSE_REGNO): Likewise.
15510 (SSE_REG_P): Likewise.
15511 (SSE_FLOAT_MODE_P): Likewise.
15512 (MMX_REGNO_P): Likewise.
15513 (MMX_REG_P):Likewise.
15514 (STACK_REG_P): Likewise.
15515 (NON_STACK_REG_P): Likewise.
15516 (STACK_TOP_P): Likewise.
15517 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
15518 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
15519 (SECONDARY_MEMORY_NEEDED): Likewise.
15520 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
15521 (MD_ASM_CLOBBERS): Whitespace and wrap.
15522 (MUST_PASS_IN_STACK): Whitespace and wrap.
15523 (RETURN_POPS_ARGS): Add parenthesis.
15524 (INIT_CUMULATIVE_ARGS): Likewise.
15525 (FUNCTION_ARG): Likewise.
15526 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
15527 (SETUP_INCOMING_VARARGS): Likewise.
15528 (BUILD_VA_LIST_TYPE): Add parenthesis.
15529 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
15530 parenthsis.
15531 (EXPAND_BUILTIN_VA_ARG): Likewise.
15532 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
15533 (INITIALIZE_TRAMPOLINE): Add parenthesis.
15534 (INITIAL_ELIMINATION_OFFSET): Likewise.
15535 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
15536 (REGNO_OK_FOR_BASE_P): Likewise.
15537 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
15538 (REGNO_OK_FOR_DIREG_P): Likewise.
15539 (REG_OK_FOR_INDEX_P): Whitespace.
15540 (REG_OK_FOR_BASE_P): Whitespace.
15541 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
15542 parenthesis.
15543 (FIND_BASE_TERM): Fix typo.
15544 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
15545 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
15546 (SYMBOLIC_CONST; Whitespace.
15547 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
15548 (ENCODE_SECTION_INFO): Whitespace.
15549 (FINALIZE_PIC): Remove do { ... } while (0).
15550 (PROMOTE_MODE): Wrap in do { ... } while (0).
15551 (CONST_COSTS): Whitespace.
15552 (RTX_COSTS): Add paramethesis, whitespace and wrap.
15553 (REGISTER_MOVE_COST): Add parenthesis.
15554 (MEMORY_MOVE_COST): Likewise.
15555 (EXTRA_CC_MODES): Whitespace.
15556 (SELECT_CC_MODE): Add parenthesis and whitespace.
15557 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
15558 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
15559 (ASM_OUTPUT_LABEL): Add paramethesis.
15560 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
15561 (ASM_OUTPUT_REG_POP): Likewise.
15562 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
15563 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 15564
07933f72
GS
15565 * config/i386/i386.c: Update copyright.
15566 (CHECK_STACK_LIMIT): Add parenthesis.
15567 (AT_BP): Uppercase macro parameter.
15568 (x86_64_int_parameter_registers): Constify.
15569 (x86_64_int_return_registers): Likewise.
15570 (ix86_compare_op0): Use rtx.
15571 (construct_container): Constify INTREG parameter.
15572 (function_arg): Use rtx.
15573
0b4d32c9
GS
15574 * diagnostic.h: Update copyright date.
15575 (output_buffer_state): Add parenthesis.
15576 (output_buffer_format_args): Likewise.
15577
6253d571
GS
15578 * combine.c (combine_instructions): Replace XEXP (links, 0)
15579 with link.
15580
68f3f6f1
L
155812002-01-06 H.J. Lu <hjl@gnu.org>
15582
15583 * cfgcleanup.c (thread_jump): Fix 2 typos.
15584
155852002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 15586
0d24f4d1 15587 * config.gcc: Add support for --enable-altivec.
480f7f3a 15588
13b8c631
CR
155892002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
15590
15591 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
15592
58ad89b1
JJ
155932002-01-06 Jakub Jelinek <jakub@redhat.com>
15594
15595 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
15596 __objc_class_name_*.
15597
e403b4bc
CR
155982002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
15599
15600 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
15601
e41c7831
RH
156022002-01-06 Richard Henderson <rth@redhat.com>
15603
15604 * reorg.c (emit_delay_sequence): Remove death notes, not merely
15605 nop them out. Increment label reference count for REG_LABEL.
15606 (fill_slots_from_thread): Frob label reference count around
15607 delete_related_insns.
15608
3b3b1e32
RH
156092002-01-05 Richard Henderson <rth@redhat.com>
15610
15611 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
15612 jump threading.
15613
c28abdf0
RH
156142002-01-05 Richard Henderson <rth@redhat.com>
15615
15616 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
15617 * integrate.c (output_inline_function): Likewise.
15618 * toplev.c (rest_of_compilation): Do it here instead. Move call
15619 to remove_unnecessary_notes after emitting abstract instance.
15620 Force an emitted nested function to have its parent emited as well.
15621 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
15622 for null.
15623 (rtl_for_decl_location): Do not look at reload data structures
15624 before reload has run.
15625
c4f2c499
KH
156262002-01-05 Kazu Hirata <kazu@hxi.com>
15627
15628 * cse.c: Fix formatting.
15629 * dwarf2asm.c: Likewise.
15630 * dwarf2out.c: Likewise.
15631 * explow.c: Likewise.
15632 * expmed.c: Likewise.
15633 * function.c: Likewise.
15634 * gcov.c: Likewise.
15635 * gencheck.c: Likewise.
15636 * genrecog.c: Likewise.
15637 * ggc-common.c: Likewise.
15638 * ggc-page.c: Likewise.
15639 * global.c: Likewise.
15640
cf0d9408
KH
156412002-01-05 Kazu Hirata <kazu@hxi.com>
15642
15643 * combine.c: Fix formatting.
15644
bedca03a
CR
156452002-01-05 Craig Rodrigues <crodrigu@bbn.com>
15646
15647 PR middle-end/1557
15648 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
15649
0134bf2d
DE
156502002-01-05 David Edelsohn <edelsohn@gnu.org>
15651
15652 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
15653 as 1 for __powerpc64__ as well.
15654
15655 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
15656
15657 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
15658 return it.
15659
9ca88d5a
DB
156602002-01-05 Daniel Berlin <dan@dberlin.org>
15661
15662 * lcm.c: Revert change, due to performance regression it causes on
15663 SPEC because it's slightly more conservative (sigh, I hate
15664 edge-based LCM).
0d24f4d1 15665
1c570418
JH
15666Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
15667
15668 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
15669
d83bb9f7
NB
156702002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
15671
15672 * doc/cppinternals.texi: Update.
15673
3e0f61ac
HPN
156742002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
15675
15676 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
15677 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
15678 negatives.
15679 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
15680 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
15681 kludge for pre-october-14th mmix versions to handle new-found bug
15682 with PUSHJ/PUSHGO and the register stack.
15683 * config/mmix/mmix.h (struct machine_function): Rename member
15684 has_call_value_without_parameters to has_call_without_parameters.
15685 All referers changed.
15686 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
15687 TARGET_MASK_BRANCH_PREDICT): New macros.
15688 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
15689 -mno-reg-stack-fill-bug-workaround.
15690 * config/mmix/mmix.md ("call"): Set struct machine member
15691 has_call_without_parameters.
15692
4deaa2f8
JH
15693Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
15694
15695 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
15696
9f16e871
JH
15697Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
15698
15699 * cfgcleanup.c: Include tm_p.h
15700 (mark_effect): Fix handling of hard register; fix handling of SET
15701
96eb1157
KH
157022002-01-04 Kazu Hirata <kazu@hxi.com>
15703
15704 * config/h8300/h8300.md (anonymous patterns): Check that
15705 operands are registers before using REGNO on them.
15706
48180d68
RM
157072002-01-03 Roland McGrath <roland@frob.com>
15708
15709 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
15710
b0832fe1
JJ
157112002-01-04 Jakub Jelinek <jakub@redhat.com>
15712
15713 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
15714 * c-common.h (genrtl_expr_stmt_value): Likewise.
15715 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
15716 (expand_expr_stmt_value): Add maybe_last argument.
15717 Don't warn about statement with no effect if it is the last statement
15718 in expression statement.
15719 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
15720 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
15721 expand_expr_stmt_value.
15722 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
15723 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
15724 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
15725 as maybe_last to expand_expr_stmt_value.
15726
c1e14513
JL
15727Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
15728
0d24f4d1
ZW
15729 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
15730 be passed in, do not build it.
15731 (c_begin_if_stmt): New function.
15732 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
15733 * c-common.h (c_expand_start_cond): Update prototype.
15734 (c_begin_if_stmt): Prototype new function.
15735 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
15736 * c-parse.in (if_prefix): Use c_begin_if_stmt,
15737 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 15738
b6ec437a
WC
157392002-01-04 William Cohen <wcohen@redhat.com>
15740
15741 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
15742 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
15743 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
15744 * config/pa/som.h (ASM_FILE_START): Likewise.
15745
ead39bdf 157462002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
15747
15748 * lcm.c: Include df.h.
15749 Add available_transfer_function prototype.
15750 (compute_available): Rework to use iterative dataflow framework.
15751 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
15752 with bb_info in df.h
15753 (available_transfer_function): New function.
15754
15755 * Makefile.in (lcm.o): add df.h to dependencies.
15756
551cc6fd
RH
157572002-01-04 Richard Henderson <rth@redhat.com>
15758
15759 * config/alpha/alpha.c (some_operand): Accept HIGH.
15760 (input_operand): Likewise; accept simple references to globals.
15761 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
15762 (alpha_const_double_ok_for_letter_p): Likewise.
15763 (alpha_extra_constraint): Likewise.
15764 (alpha_preferred_reload_class): Likewise. Do not force
15765 symbolic constants to memory.
15766 (alpha_legitimate_address_p): Accept simple references
15767 to small_symbolic_operand.
15768 (alpha_legitimize_address): New arg scratch. Be prepared to be
15769 called when no_new_pseudos. Emit simple symbolic references.
15770 Split integers into low, high, and rest.
15771 (alpha_expand_mov): Use alpha_legitimize_address.
15772 (some_small_symbolic_mem_operand): New.
15773 (split_small_symbolic_mem_operand): New.
15774 * config/alpha/alpha-protos.h: Update.
15775 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
15776 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
15777 (EXTRA_CONSTRAINT): Likewise.
15778 (PREFERRED_RELOAD_CLASS): Likewise.
15779 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
15780 (PREDICATE_CODES): Update.
15781 * config/alpha/alpha.md: New post-reload splitters to convert
15782 simplfied symbolic operands to the form that references $29.
15783 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
15784 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
15785
1eaea054
RH
157862002-01-03 Richard Henderson <rth@redhat.com>
15787
15788 * local-alloc.c (function_invariant_p): Update commentary.
15789
c4cc12b7
L
157902002-01-04 H.J. Lu <hjl@gnu.org>
15791
15792 * toplev.c (rest_of_compilation): Fix a typo when calling
15793 cleanup_cfg.
15794
173bf5be
KH
157952002-01-03 Kazu Hirata <kazu@hxi.com>
15796
15797 * c-common.c: Fix formatting.
15798 * diagnostic.c: Likewise.
15799 * doloop.c: Likewise.
15800 * dwarf2out.c: Likewise.
15801
187462ac
KH
158022002-01-03 Kazu Hirata <kazu@hxi.com>
15803
15804 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
15805 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
15806
5d8ebbd8
NB
158072002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
15808
15809 * cpperror.c: Update comments and copyright.
15810 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
15811 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
15812
518c1311
JDA
158132002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
15814
15815 * collect2.c (main): Use strcmp when testing for "-shared".
15816
d15a58c0
NB
158172002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
15818
15819 * cppmacro.c: Don't include intl.h. Update comments.
15820 (new_number_token): Allocate enough buffer for 64-bit unsigned
15821 integers; update prototype.
15822 * cppmain.c: Update comments.
15823
70f4f91c
WC
158242002-01-03 William Cohen <wcohen@redhat.com>
15825
15826 * function.h (struct function): Add profile.
15827 (current_function_profile): New.
15828 doc/extend.texi: Update documentation.
15829 * final.c (final_start_function): Use current_function_profile
15830 instead of profile_flag.
15831 (profile_after_prologue): Likewise.
15832 * function.c (expand_function_start): Likewise.
15833 (expand_function_start): Likewise.
c4cc12b7 15834 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
15835 (alpha_does_function_need_gp): Likewise.
15836 (alpha_expand_prologue): Likewise.
15837 * config/arm/arm.c (arm_expand_prologue): Likewise.
15838 thumb_expand_prologue: Likewise.
15839 * config/d30v/d30v.c (d30v_stack_info): Likewise.
15840 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
15841 (fr30_expand_prologue): Likewise.
15842 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
15843 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
15844 * config/i386/i386.h (FINALIZE_PIC): Likewise.
15845 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
15846 * config/i960/i960.c (i960_output_function_prologue): Likewise.
15847 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
15848 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
15849 (m32r_expand_prologue): Likewise.
15850 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
15851 (m88k_expand_prologue): Likewise.
15852 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
15853 * config/mips/mips.c (compute_frame_size): Likewise.
15854 (mips_expand_prologue): Likewise.
15855 (mips_can_use_return_insn): Likewise.
15856 * config/pa/elf.h (ASM_FILE_START): Likewise.
15857 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
15858 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
15859 * config/pa/som.h (ASM_FILE_START): Likewise.
15860 * config/romp/romp.c (romp_using_r14): Likewise.
15861 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
15862 (rs6000_stack_info): Likewise.
15863 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 15864 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
15865 * config/v850/v850.c (compute_register_save_size): Likewise.
15866
cb1ac742
JJ
158672002-01-03 Jakub Jelinek <jakub@redhat.com>
15868
15869 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
15870 gen_lowpart_common fails, use gen_lowpart_SUBREG.
15871
61d951df 158722002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 15873
61d951df
TC
15874 * darwin.c (machopic_output_possible_stub_label): Don't generate
15875 stub routines for pseudo-stubs which we've just defined.
15876
505ddab6
KH
158772002-01-03 Kazu Hirata <kazu@hxi.com>
15878
15879 * builtins.c: Fix formatting.
15880 * c-typeck.c: Likewise.
15881 * combine.c: Likewise.
15882 * expr.c: Likewise.
15883 * loop.c: Likewise.
15884
b7e30d8a
AS
158852002-01-03 Andreas Schwab <schwab@suse.de>
15886
15887 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
15888 and return true if _cpp_push_next_buffer pushed a new include
15889 file.
15890 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
15891 _cpp_pop_file_buffer did not push a new file.
15892 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
15893
ff81832f
EC
158942002-01-02 Eric Christopher <echristo@redhat.com>
15895
15896 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
15897 FIND_REG_INC_NOTE call. Update copyright.
15898 * loop.c (canonicalize_condition): Ditto.
15899 * reorg.c (delete_scheduled_jump): Ditto.
15900
8e42ace1
KH
159012002-01-03 Kazu Hirata <kazu@hxi.com>
15902
15903 * gcse.c: Fix formatting.
15904
fb2bf631
GS
159052002-01-03 Graham Stott <grahams@redhat.com>
15906
15907 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
15908 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 15909 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
15910
15911 * system.h: Move forward defs for struct tags rtx_def, union_tree,
15912 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 15913 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
15914
159152002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
15916
15917 * tree.h: Update copyright date.
15918 (IS_EXPR_CODE_CLASS): Add parenthesis.
15919 (TREE_SET_CODE): Add whitespace.
15920 (TREE_CHECK): Add parenthesis.
15921 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
15922 (CST_OR_CONSTRUCTOR_CHECK):
15923 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
15924 (TREE_SYMBOL_REFERENCED): Whitespace.
15925 (INT_CST_LT): Likewise.
15926 (INT_CST_LT_UNSIGNED): Likewise.
15927 (tree_real_cst): Unwrap comment.
15928 (tree_string): Likewise.
15929 (tree_complex): Likewise.
15930 (IDENTIFIER_POINTER): correct cast.
15931 (SAVE_EXPR_CONTEXT): Whitespace.
15932 (EXPR_WFL_FILENAME_NODE): Likewise.
15933 (EXPR_WFL_FILENAME): Remove parenthesis.
15934 (DECL_ORIGIN): Add parenthesis.
15935 (DECL_FROM_INLINE): Use NULL_TREE.
15936 (build_int_2): Whitespace.
15937 (build_type_variant): Add parenthesis.
15938
15939 * gcc/jcf-parse.c: Update copyright date.
15940 (yyparse): Constify resource_filename.
15941
f52eda29
GS
159422002-01-03 Graham Stott <grahams@redhat.com>
15943
15944 * rtl.h: Update copyright date.
15945 (RTL_CHECK1): Wrap long line.
15946 (RTL_CHECK2): Likewise.
15947 (RTL_CHECKC1): Wrap long line and whitespace.
15948 (RTL_CHECKC2): Likewise.
15949 (XWINT): Whitespace.
15950 (XINT): Likewise.
15951 (XSTR): Likewise.
15952 (XEXP): Likewise.
15953 (XVEC): Likewise.
15954 (XMODE): Likewise.
15955 (XBITMAP): Likewise.
15956 (XTREE): Likewise.
15957 (XBBDEF): Likewise.
15958 (XTMPL): Likewise.
15959 (X0WINT): Likewise.
15960 (X0INT):Likewise.
15961 (X0UINT): Likewise.
15962 (X0STR): Likewise.
15963 (X0EXP): Likewise.
15964 (X0VEC): Likewise.
15965 (X0MODE): Likewise.
15966 (X0BITMAP): Likewise.
15967 (X0TREE): Likewise.
15968 (X0BBDEF): Likewise.
15969 (X0ADVFLAGS): Likewise.
15970 (X0CSELIB): Likewise.
15971 (X0MEMATTR): Likewise.
15972 (XCWINT): Likewise.
15973 (XCINT): Likewise.
15974 (XCUINT): Likewise.
15975 (XCSTR): Likewise.
15976 (XCEXP): Likewise.
15977 (XCVEC): Likewise.
15978 (XCMODE): Likewise.
15979 (XCBITMAP): Likewise.
15980 (XCTREE): Likewise.
15981 (XCBBDEF): Likewise.
15982 (XCADVFLAGS): Likewise.
15983 (XCCSELIB): Likewise.
15984 (XC2EXP): Likewise.
15985 (INSN_UID): Likewise.
15986 (PREV_INSN): Likewise.
15987 (PATTERN): Likewise.
15988 (INSN_CODE): Likewise.
15989 (PUT_REG_NOTE_KIND): Likewise.
15990 (CODE_LABEL_NUMBER): Likewise.
15991 (NOTE_SOURCE_FILE): Likewise.
15992 (NOTE_BLOCK): Likewise.
15993 (NOTE_EH_HANDLER): Likewise.
15994 (NOTE_RANGE_INFO): Likewise.
15995 (NOTE_LIVE_INFO): Likewise.
15996 (NOTE_BASIC_BLOCK): Likewise.
15997 (NOTE_EXPECTED_VALUE): Likewise.
15998 (NOTE_LINE_NUMBER): Likewise.
15999 (LABEL_NAME): Likewise.
16000 (LABEL_NUSES): Likewise.
16001 (LABEL_ALTERNATE_NAME): Likewise.
16002 (ADDRESSOF_DECL): Likewise.
16003 (JUMP_LABEL): Likewise.
16004 (LABEL_NEXTREF): Likewise.
16005 (REGNO): Likewise.
16006 (ORIGINAL_REGNO: Likewise.
16007 (HARD_REGISTER_NUM_P): Add parenthesis.
16008 (SUBREG_REG): Whitespace.
16009 (SUBREG_BYTE): Likewise.
16010 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
16011 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
16012 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
16013 (ASM_OPERANDS_INPUT_VEC): Likewise.
16014 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
16015 (ASM_OPERANDS_INPUT): Likewise.
16016 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
16017 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
16018 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
16019 (ASM_OPERANDS_INPUT_MODE): Likewise.
16020 (ASM_OPERANDS_SOURCE_FILE): Likewise.
16021 (ASM_OPERANDS_SOURCE_LINE): Likewise.
16022 (MEM_SET_IN_STRUCT_P): Minor reformat.
16023 (TRAP_CONDITION): Whitespace.
16024 (TRAP_CODE): Likewise.
16025 (COND_EXEC_TEST): Likewise.
16026 (COND_EXEC_CODE): Likewise.
16027 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
16028 (PHI_NODE_P): Add parenthesis.
16029 (plus_constant): Whitespace and add parenthesis.
16030
e03f5d43
KH
160312002-01-03 Kazu Hirata <kazu@hxi.com>
16032
16033 * config/avr/avr.c: Fix comment typos.
16034 * config/c4x/c4x.md: Likewise.
16035 * config/dsp16xx/dsp16xx.h: Likewise.
16036 * config/dsp16xx/dsp16xx.md: Likewise.
16037 * config/i386/i386.md: Likewise.
16038 * config/ia64/ia64.c: Likewise.
16039 * config/m32r/m32r.h: Likewise.
16040 * config/m68hc11/m68hc11.md: Likewise.
16041 * config/mmix/mmix.c: Likewise.
16042 * config/mn10200/mn10200.c: Likewise.
16043 * config/romp/romp.c: Likewise.
16044 * config/sh/sh.c: Likewise.
16045 * config/stormy16/stormy16.c: Likewise.
16046 * config/stormy16/stormy16.h: Likewise.
16047 * config/stormy16/stormy16.md: Likewise.
16048
97e300e9
GS
160492002-01-03 Graham Stott <grahams@redhat.com>
16050
16051 * loop.h: Update copyright date.
0d24f4d1
ZW
16052 (LOOP_MOVABLES): Fix typo.
16053 (LOOP_REGS): Likewise.
16054 (LOOP_IVS): Likewise.
ff81832f 16055
745b26b3
GS
160562002-01-03 Graham Stott <grahams@redhat.com>
16057
16058 * cppinit.c: Update copyright date.
16059 Don't include output.h
16060 * Makefile.in: Update copyright date.
16061 Update dependency.
16062
0a379b7a
CR
160632002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
16064
16065 PR c/5226
16066 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
16067 (-pthread) Add to RS/6000 options.
16068
a8154559
KH
160692002-01-02 Kazu Hirata <kazu@hxi.com>
16070
16071 * except.c: Fix comment typos.
16072 * loop.c: Likewise.
16073 * varasm.c: Likewise.
16074 * doc/tm.texi: Fix a typo.
16075
e6ecc89b
JJ
160762002-01-02 Jakub Jelinek <jakub@redhat.com>
16077
16078 * c-typeck.c (output_init_element): Allow initializing static storage
16079 duration objects with compound literals.
16080
d1094b40
RH
160812002-01-02 Richard Henderson <rth@redhat.com>
16082
16083 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
16084 after abusing it.
16085
0c5d8c82
KG
160862002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16087
5e65297b
KG
16088 * gcc.c (default_compilers): Const-ify.
16089 * mips-tdump.c (stab_names): Likewise.
16090 * mips-tfile.c (map_coff_types, map_coff_storage,
16091 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
16092 pseudo_ops_t, pseudo_ops): Likewise.
16093 * protoize.c (default_include): Likewise
16094
0c5d8c82
KG
16095 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
16096 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
16097 Add array size in declaration.
16098 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
16099 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
16100 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
16101 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
16102 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
16103 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
16104 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
16105 emtens, make_nan): Const-ify.
16106 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
16107 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
16108
817e13c4
JM
161092002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
16110
16111 * config.gcc (ia64-*-*): Set extra_headers.
16112 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
16113 * config/alpha/t-osf: Remove.
16114 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
16115
98095e2b
DE
161162002-01-02 David Edelsohn <edelsohn@gnu.org>
16117
16118 * config/rs6000/t-aix43: Revert previous change.
16119
a4200657
JM
161202002-01-02 Jason Merrill <jason@redhat.com>
16121
16122 * c-decl.c (c_expand_body): Call outlining_inline_function when
16123 emitting an inline function out of line.
16124
54ba1f0d
RH
161252002-01-02 Richard Henderson <rth@redhat.com>
16126
16127 * dwarf2out.c (limbo_die_node): Add created_for member.
16128 (new_die): New argument created_for. Update all callers.
16129 (mark_limbo_die_list): New.
16130 (dwarf2out_init): Register limbo_die_list as a root.
16131 (dwarf2out_finish): Force insert limbo dies into their function
16132 context.
16133
323728aa
NS
161342002-01-02 Nathan Sidwell <nathan@codesourcery.com>
16135
16136 PR c++/5089
16137 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
16138
aefc5826
KH
161392002-01-02 Kazu Hirata <kazu@hxi.com>
16140
16141 * config/h8300/fixunssfsi.c: Update copyright.
16142 Fix comment typos.
16143 Fix formatting.
16144 * config/h8300/h8300.c: Update copyright.
16145 Eliminate warnings.
16146
b1c9bc51
KH
161472002-01-02 Kazu Hirata <kazu@hxi.com>
16148
16149 * config/romp/romp.c: Fix comment formatting.
16150 * config/romp/romp.h: Likewise.
16151 * config/romp/romp.md: Likewise.
16152 * config/s390/s390.c: Likewise.
16153 * config/stormy16/stormy16.c: Likewise.
16154 * config/stormy16/stormy16.h: Likewise.
16155
1574ef13
AO
161562002-01-02 Alexandre Oliva <aoliva@redhat.com>
16157
16158 * c-common.h (genrtl_expr_stmt_value): Declare.
16159 * c-semantics.c (genrtl_goto_stmt): Redirect to...
16160 (genrtl_goto_stmt_value): ... this new function. Pass new
16161 argument down to expand_expr_stmt_value, taking
16162 TREE_ADDRESSABLE into account.
16163 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
16164 STMT_EXPR as addressable, i.e., one whose result we want.
16165 * expr.c (expand_expr): Don't save expression statement value
16166 of labeled_blocks or loop_exprs.
16167 * stmt.c (expand_expr_stmt): Redirect to...
16168 (expand_expr_stmt_value): ... this new function. Use new
16169 argument to tell whether to save expression value.
16170 (expand_end_stmt_expr): Reset last_expr_type and
16171 last_expr_value if we don't have either.
16172 * tree-inline.c (declare_return_variable): Mark its use
16173 statement as addressable.
16174 * tree.h: Document new use of TREE_ADDRESSABLE.
16175 (expand_expr_stmt_value): Declare.
16176
252b88f7
TR
161772002-01-01 Tom Rix <trix@redhat.com>
16178
16179 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
16180 rs6000_emit_allocate_stack.
16181
29f7a208
JM
161822002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
16183
16184 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
16185 ${srcdir}/ginclude/ to every entry in extra_headers.
16186 * configure: Regenerate.
16187 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
16188 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
16189 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
16190 * ginclude/proto.h: Rename to config/convex/proto.h.
16191
2cc2d4bb
RK
16192Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16193
16194 * attribs.c (handle_vector_size_attribute): Use host_integerp
16195 and tree_int_cst; remove warnings.
16196 * caller-save.c (insert_restore): Add cast to get rid of warning.
16197 (insert_save): Likewise.
16198 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
16199 * regmove.c (find_matches): Add temporary var to kill a warning.
16200
f01c9bcd
DR
162012002-01-01 Douglas B Rupp <rupp@gnat.com>
16202
16b61764
DR
16203 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
16204 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
16205 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
16206 (vms-dwarf2eh.o): Add Makefile rule.
16207 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
16208 * config/alpha/vms-dwarf2eh.asm: New file.
16209
f01c9bcd
DR
16210 * gcc.c (delete_if_ordinary): Delete all versions.
16211
91312b81
HPN
162122002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
16213
16214 * config/mmix/mmix.md: Update FIXME to not mention
16215 define_constants.
16216 (MMIX_rJ_REGNUM): New define_constants constant.
16217 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
16218 "*movdicc_real"): Adjust contraints formatting.
16219 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
16220 for branch prediction.
16221 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
16222 output template.
16223 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
16224 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
16225 number. Delete related FIXMEs.
16226 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
16227 from number to MMIX_rJ_REGNUM.
16228 (TARGET_MASK_BRANCH_PREDICT): New.
16229 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
16230 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
16231 value. Add -mbranch-predict and -mno-branch-predict.
16232 (TARGET_VERSION): Drop date.
16233 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
16234 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
16235 for finding out global symbols.
16236 (mmix_asm_output_labelref): Revert condition for global symbol.
16237 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
16238 (mmix_print_operand_punct_valid_p): A '+' is valid.
16239
619acae7 16240See ChangeLog.6 for earlier changes.
This page took 1.994094 seconds and 5 git commands to generate.