]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
* config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
[gcc.git] / gcc / ChangeLog
CommitLineData
40cd22f2
JT
12002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
2
3 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
4
cac01076
JJ
52002-05-05 Jakub Jelinek <jakub@redhat.com>
6
7 PR target/6561
8 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
9
98791e3a
RH
102002-05-05 Richard Henderson <rth@redhat.com>
11
12 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
13 memory latency adjustments.
14 (alpha_variable_issue): Remove.
15 (alpha_use_dfa_pipeline_interface): New.
16 (alpha_multipass_dfa_lookahead): New.
17 * config/alpha/alpha.md: Remove define_function_unit scheduling;
18 include new dfa scheduling.
19 (attr type): Add none.
20 (blockage): Use it.
21 * config/alpha/ev4.md: New.
22 * config/alpha/ev5.md: New.
23 * config/alpha/ev6.md: New.
24
309527ce
DM
252002-05-05 David S. Miller <davem@redhat.com>
26
27 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
28
68252e27
KH
292002-05-05 Kazu Hirata <kazu@cs.umass.edu>
30
31 * cse.c: Fix formatting.
32 * emit-rtl.c: Likewise.
33
30cc9d00
VM
342002-05-05 Vladimir Makarov <vmakarov@redhat.com>
35
36 * genautomata.c (initiate_states): Add additional guard to
37 initialize `units_array'.
38
deb09eff
VM
392002-05-05 Vladimir Makarov <vmakarov@redhat.com>
40
41 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
42 process_unit_to_form_the_same_automaton_unit_lists,
43 form_the_same_automaton_unit_lists
44 check_unit_distributions_to_automata): New prototypes and
45 functions.
46 (check_automata): Rename it into `check_automata_insn_issues'.
47 (unit_decl): New fields `the_same_automaton_unit' and
48 `the_same_automaton_message_reported_p'.
49 (unit_decl_t): New typedef.
50 (the_same_automaton_lists): New gloval variable.
51 (unit_regexp, unit_set_el, units_array, units_cmp,
52 output_get_cpu_unit_code_func): Use the typedef.
53 (evaluate_max_reserv_cycles): Increment
54 `description->max_insn_reserv_cycles'.
55 (initiate_states): Don't increment `max_cycles_num'.
56 (transform_insn_regexps): Move code around transformation of
57 regexps from `generate'.
58 (generate): Remove call of `transform_insn_regexps'.
59 (expand_automata): Call `transform_insn_regexps' and
60 `check_unit_distributions_to_automata'. Check errors before
61 `generate'.
62
63 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
64 automaton `ultrasparc3_1'.
65
2443d4e1
NB
662002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
67
68 * c-common.c (c_common_init): Set up CPP arithmetic.
69 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
70 something reasonable for the host.
71 (sanity_checks): Add checks.
72 (cpp_read_main_file): Call sanity_checks() from here...
73 (cpp_post_options): ... not here.
74 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
75 * cpplib.h (struct cpp_options): New member int_precision.
76
791a949f
FS
772002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
78
79 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
80
091fb516
DM
812002-05-04 David S. Miller <davem@redhat.com>
82
f60ebeb7
DM
83 * config/sparc/linux.h, config/sparc/linux64.h
84 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
85
214c6394
DM
86 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
87 more RTX codes.
88 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
89
091fb516
DM
90 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
91 of SETs.
92
f2fdc802
TJ
932002-05-05 Tim Josling <tej@melbpc.org.au>
94
95 * treelang; New directory for new sample language treelang.
96
3d90d290
NB
972002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
98
99 * Makefile.in (c-lex.o): Update.
100 * c-lex.c: Include target.h.
101 (cb_register_builtins): New.
102 (init_c_lex): Set builtins callback.
103 * c-lex.h (cpp_define, cpp_assert): New prototypes.
104 * cppinit.c (init_builtins): Use callback, including for
105 GXX_WEAK.
106 * cpplib.h (struct cpp_callbacks): New member.
107 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
108 (TARGET_INITIALIZER): Update.
109 * target.h (struct gcc_target): New hook.
110 * tree.c (default_register_cpp_builtins): New.
111 * tree.h (default_register_cpp_builtins): New.
112doc:
113 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
114
625458d0
NB
1152002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
116
117 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
118 (cpp_post_options): Move sanity checks to...
119 (sanity_checks): New.
120 * cpplex.c (maybe_read_ucs): Fix prototype.
121 (parse_string, cpp_parse_escape): Cast for %c format specifier.
122 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
123 if necessary.
124
916b60b7
BS
1252002-05-04 Bernd Schmidt <bernds@redhat.com>
126
127 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
128 builtins. Use V2DI patterns instead of TI for logical operations.
129 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
130 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
131 (ix86_expand_builtins): Change the pattern used for movntdq.
132 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
133 sse2_nandv2di3): New patterns.
134 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
135 on operands.
136 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
137 (cvtdq2pd): Correct mode on operand 1.
138 (sse2_umulsidi3): Describe without unspec.
139 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
140 machine modes.
141 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
142 (ashlv2di3): Likewise, from sse2_ashlv2di3.
143 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
144 ashlv4si3, ashlv2di3): Use SImode for shift count.
145 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
146 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
147 New patterns.
148 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
149 New typedefs.
150 (__m128i, __m128d): New macros.
151 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
152 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
153 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
154 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
155 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
156 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
157 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
158 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
159 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
160 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
161 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
162 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
163 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
164 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
165 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
166 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
167 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
168 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
169 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
170 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
171 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
172 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
173 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
174 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
175 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
176 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
177 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
178 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
179 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
180 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
181 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
182 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
183 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
184 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
185 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
186 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
187 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
188 functions.
189 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
190 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
191
c26fbbca
KH
1922002-05-04 Kazu Hirata <kazu@cs.umass.edu>
193
194 * dwarf2out.c: Fix formatting.
195 * varasm.c: Likewise.
196
0387639b
DE
1972002-05-04 David Edelsohn <edelsohn@gnu.org>
198
199 PR c/6543
200 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
201 clobber and use result as temporary value.
202
8a28dbcc
JH
203Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
204
205 * expr.c (force_operand): Use expand_simple_* to handle more
206 cases.
207
4268e8bb
NB
2082002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
209
210 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
211 and sign-extension.
212 (lex_charconst): Update for change in prototype of
213 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
214 appropriately.
215 * cpphash.h (BITS_PER_CPPCHAR_T): New.
216 * cppinit.c (cpp_create_reader): Initialize them for no
217 change in semantics.
218 (cpp_post_options): Add sanity checks.
219 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
220 and truncation issues. Calculate in type cppchar_t.
221 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
222 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
223 run-time dependent precision correctly. Return whether the
224 result is signed or not.
225 * cpplib.c (dequote_string): Use cppchar_t; update.
226 * cpplib.h (cppchar_signed_t): New.
227 struct cpp_options): New precision members.
228 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 229 * cppexp.c (eval_token): Update.
4268e8bb 230
af54350e
DM
2312002-05-03 David S. Miller <davem@redhat.com>
232
2ce04b6b
DM
233 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
234 * config/sparc/sparc.c (sparc_rtx_costs): New function
235 implementing RTX_COSTS and CONST_COSTS.
236 * config/sparc/sparc.h (CONST_COSTS): Delete.
237 (RTX_COSTS_CASES): Define.
238 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
239 the work.
240
a1d9bd0c
DM
241 * config/sparc/sparc.md (DFA schedulers): Split out...
242 * config/sparc/cypress.md, config/sparc/hypersparc.md,
243 config/sparc/sparclet.md, config/sparc/supersparc.md,
244 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
245
e87bb82e
DM
246 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
247 checks on it, always defined for Sparc.
248
af54350e
DM
249 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
250 Tweak, and add more detailed comments.
251
935bfb44
ZW
2522002-05-03 Zack Weinberg <zack@codesourcery.com>
253
254 * Re-apply patch accidentally reverted with
255 DFA scheduler merge: remove all rules and variables to slurp
256 source files out of libiberty and rebuild them with HOST_CC.
257 ($(HOST_PREFIX_1)varray.o): New rule.
258 (genattrtab rule): Word wrap.
259
fa7a0712
JT
2602002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
261
262 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
263 (CPP_SUBTARGET_SPEC): Define.
264 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
265 cpp_subtarget specs.
266 (CPP_SPEC): Redefine to include %(cpp_subtarget).
267
14c93978
DM
2682002-05-03 David S. Miller <davem@redhat.com>
269
270 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
271 * target.h (struct gcc_target): Delete cycle_display member.
272
14d118d6
DM
273 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
274 (rtx_needs_barrier): Delete reference to cycle_display unspec.
275 (ia64_sched_reorder2): Mention need for cycle display handling
276 once such notes exist.
935bfb44 277
b3ae1ccd
RH
2782002-05-03 Richard Henderson <rth@redhat.com>
279
280 * real.c (etoasc): Strip most trailing zeros for clarity.
281 * sched-vis.c: Include real.h.
282 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
283 * Makefile.in (sched-vis.o): Add real.h.
284
8f39865a
DM
2852002-05-03 David S. Miller <davem@redhat.com>
286
287 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
288 no longer needed.
289
b44140e7
AH
2902002-05-03 Aldy Hernandez <aldyh@redhat.com>
291
935bfb44
ZW
292 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
293 when we get an out of range literal.
294 (altivec_expand_ternop_builtin): Same.
295 (altivec_expand_unop_builtin): Same.
296 (altivec_expand_builtin): Same, for dss.
297 (altivec_expand_builtin): Use trees instead of rtl when
298 determining literal argument validity.
b44140e7 299
aaaed752
DM
3002002-05-03 David S. Miller <davem@redhat.com>
301
302 Delete cycle display scheduling hook.
303 * config/ia64/ia64.c (ia64_cycle_display,
304 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
305 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
306 and use emit_insn_before instead of ia64_emit_insn_before.
307 * config/ia64/ia64.md (unspec usage): Delete cycle display.
308 (cycle_display): Delete insn pattern.
309 * config/sparc/sparc.md (unspec usage): Delete cycle display.
310 (cycle_display): Delete insn pattern.
311 * config/sparc/sparc.c (sparc_cycle_display,
312 TARGET_SCHED_CYCLE_DISPLAY): Delete.
313 * doc/md.texi (cycle_display): Don't mention.
314 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 315
b37c2614
RH
3162002-05-03 Richard Henderson <rth@redhat.com>
317
318 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
319 * recog.h: Declare them.
320
321 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
322 * config/sparc/sparc.md: Use store_data_bypass_p instead.
323 * config/sparc/sparc-protos.h: Update.
935bfb44 324
e1c1132e
JT
3252002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
326
327 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
328 -D__arch64__. Add -D_LP64.
329 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
330 from sparc.h.
331 (CPP_ARCH64_SPEC): Likewise.
332 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
333 (NO_BUILTIN_SIZE_TYPE): Undef.
334
0b2fb0d7
VM
3352002-05-03 Vladimir Makarov <vmakarov@redhat.com>
336
337 * genautomata.c (min_issue_delay_pass_states): Change return type
338 in the prototype.
339 (min_issue_delay_pass_states): Change the algorithm.
340 (min_issue_delay): Set up min_insn_issue_delay for the state.
341 (output_min_issue_delay_table): Interchange the nested loops and
342 and initiate min_insn_issue_delay for states.
935bfb44 343
3d4ce12a
JH
344Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
345
346 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
347 jump is simplejump.
348
349Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
350
351 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
352 sequence.
353
b5482208
RH
3542002-05-03 Richard Henderson <rth@redhat.com>
355
356 PR opt/6534
357 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
358 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
359 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
360 code before JUMP, not EARLIEST.
361
5a3085c5
JM
3622002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
363
364 * c-format.c (check_format_info_main): Don't check for presence of
365 parameter for * width until after operand number has been read,
366 and only check for it if format parameters are available.
367 Fixes PR c/6547.
368
40039424
JT
3692002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
370
371 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
372 (LINK_SPEC): Undef before defining.
373
8157303b
JJ
3742002-05-03 Jakub Jelinek <jakub@redhat.com>
375
376 PR preprocessor/6489
377 * tradcpp.c (fixup_newlines): New.
378 (main, finclude): Use it.
379
66319f5c
RS
3802002-05-03 Richard Sandiford <rsandifo@redhat.com>
381
382 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
383 * config/mips/mips.c (mips_unique_section): Strip encoding from
384 decl name.
385
ce8076ad
JJ
3862002-05-03 Jakub Jelinek <jakub@redhat.com>
387
388 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
389 mode.
390
975c6e4e
RO
3912002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
392
393 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
394 (Specific): Removed buildstats references.
395 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
396 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
397 Accomodate Solaris versions beyond 8.
398 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
399 (Specific, *-*-solaris2.8): Removed, obsolete.
400
d70e94ec
JJ
4012002-05-03 Jakub Jelinek <jakub@redhat.com>
402
403 PR target/6542
404 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
405 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
406 fill leaf_reg_remap with identity.
407 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
408
6b148bd9
KH
4092002-05-03 Kazu Hirata <kazu@cs.umass.edu>
410
411 * config/h8300/crti.asm: Remove trailing spaces.
412 * config/h8300/h8300.c: Likewise.
413 * config/h8300/lib1funcs.asm: Likewise.
414
609688f3
JM
4152002-05-02 Jason Merrill <jason@redhat.com>
416
417 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
418 * c-decl.c (c_init_decl_processing): Use it.
419 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
420 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
421 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
422
3b03c671
KH
4232002-05-03 Kazu Hirata <kazu@cs.umass.edu>
424
425 * regrename.c: Fix formatting.
426 * tree.c: Likewise.
427
3b4961bd
JH
428Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
429
430 * i386.md (attribute memory): Handle compares properly.
431
19cba4a0
JH
432Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
433
3b4961bd 434 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
435 to none.
436
797a6ac1
KH
4372002-05-02 Kazu Hirata <kazu@cs.umass.edu>
438
439 * function.c: Fix formatting.
440
6d0de005
JH
4412002-05-02 Jan Hubicka <jh@suse.cz>
442
443 * haifa-sched.c (schedule_insn): Print table of instructions and
444 reservations.
445 (sched_block): Do not print ready list at verbosity level 1.
446 * sched-vis.c (print_insn): Make global.
447 * sched-ebb.c (ebb_print_insn): Rename from...
448 (print_insn): ... this one.
449 * sched-int.h (print_insn): Declare
450
0bfb9a69
RH
4512002-05-02 Richard Henderson <rth@redhat.com>
452
453 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
454 emitted by cycle_display.
455
6b976d99
LR
4562002-05-02 Loren J. Rittle <ljrittle@acm.org>
457
458 * doc/install.texi (*-*-freebsd*): Update to latest status.
459
0a295052
JJ
4602002-05-02 Jakub Jelinek <jakub@redhat.com>
461
462 PR target/6540
463 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
464 * config/float-sparc.h: Assume 128-bit long double if
465 __LONG_DOUBLE_128__ is defined.
466
842d5d6c
VM
4672002-05-02 Vladimir Makarov <vmakarov@redhat.com>
468
469 * genattrtab.c (write_function_unit_info): Add a dummy element
470 when num_units == 0.
471
3d7a6309
HB
4722002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
473
474 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
475 TYPE_MODE (double_type_node) instead of DFmode.
476
1b6763cf
JH
477Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
478
479 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
480 jumps post reload.
481 * toplev.c (rest_of_compilation): Revert Richard's patch.
482
b303008e
JDA
4832001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
484
485 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
486
6ed7412a
CM
4872002-05-02 Catherine Moore <clm@redhat.com>
488
489 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
490
e0a2f705
KH
4912002-05-02 Kazu Hirata <kazu@hxi.com>
492
b32d6163 493 * combine.c: Fix comment typos.
e0a2f705
KH
494 * expr.c: Likewise.
495 * genautomata.c: Likewise.
496 * stmt.c: Likewise.
497 * tree.h: Likewise.
498
38e23049
JM
4992002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
500
501 * doc/install.texi: State GNAT version requirements.
502
40f4a97d
NC
5032002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
504
505 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
506 of the frame pointer or arg pointer register which strict register
507 checking is not enabled.
508
0d6d6892
AH
5092002-05-02 Aldy Hernandez <aldyh@redhat.com>
510
b5482208 511 * gcc.dg/altivec-8.c: New.
0d6d6892 512
b5482208
RH
513 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
514 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 515
abaa8559
BK
5162002-05-01 Bruce Korb <bkorb@gnu.org>
517
518 * fixinc/check.tpl(set-writable): make sure the function exists first
519 * fixinc/inclhack.def(alpha_assert): fix test_text
520 * fixinc/tests/base/assert.h: add in missing result
521
ecab2143
JL
5222002-05-01 Jeff Law <law@redhat.com>
523
524 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
525 'T' constraint.
526
ea619b46
JB
5272002-05-01 Joel Brobecker <brobecker@gnat.com>
528
529 * dbxout.c (dbxout_type): Emit size information for range types,
530 as well, but only when using GDB extensions.
531
c72931a6
RH
5322002-05-01 Richard Henderson <rth@redhat.com>
533
534 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
535 target-independent gnu binutils date test.
536
2150ad33
RH
5372002-05-01 Richard Henderson <rth@redhat.com>
538
539 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
540 info before expunging the block.
541
1651cc96
JJ
5422002-05-01 Jakub Jelinek <jakub@redhat.com>
543
544 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
545 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
546 -M -or -MM is in effect.
547
8998d5bf
ZW
5482002-05-01 Zack Weinberg <zack@codesourcery.com>
549
550 * config.gcc: Correct test of --enable-obsolete. Obsolete all
551 A29k configurations.
552 * doc/install.texi: Update to match.
553
a81eed10
FS
5542002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
555
556 PR bootstrap/6514
557 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
558 for duplicates. Always loop over whole list.
559
8d53318f
RK
560Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
561
562 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
563
4109b118
JS
5642002-05-01 Joel Sherrill <joel@OARcorp.com>
565
566 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
567 support routines.
568
c4a9c570
JS
5692002-05-01 Joel Sherrill <joel@OARcorp.com>
570
571 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
572
ea112fc4
DE
5732002-05-01 David Edelsohn <edelsohn@gnu.org>
574
575 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
576 (nabs_nopower): Same.
577 (floatdisf2): New pattern.
578 (absdi2): Convert to define_insn_and_split.
579 (nabsdi2): Same.
580 (trunctfsf2): Same.
581 (floatditf2): Same.
582 (floatsitf2): Same.
583 (fix_trunctfdi2): Same.
584 (fix_trunctfsi2): Same.
585
dda78254
JM
5862002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
587
588 * doc/install.texi: Update Texinfo version requirement
589 documentation.
590
26aeede4
JJ
5912002-05-01 Jakub Jelinek <jakub@redhat.com>
592
593 PR target/6512, PR target/5628
594 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
595 when memory is not aligned.
596 (movdf_insn_v9only_vis): Likewise.
597 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
598 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
599 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
600
9b7bc465
AH
6012002-05-01 Aldy Hernandez <aldyh@redhat.com>
602
8998d5bf 603 * gcc.dg/altivec-7.c: New.
9b7bc465 604
8998d5bf 605 * config/rs6000/altivec.h: Cleanup.
9b7bc465 606
08b57fb3
AH
6072002-04-30 Aldy Hernandez <aldyh@redhat.com>
608
8998d5bf
ZW
609 * doc/invoke.texi (Option Summary): Add -mvrsave=.
610 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 611
8998d5bf
ZW
612 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
613 (rs6000_altivec_vrsave_string): Same.
614 (rs6000_override_options): Call rs6000_parse_vrsave_option.
615 (rs6000_parse_vrsave_option): New.
616 (rs6000_stack_info): Only generate vrsave instructions when
617 TARGET_ALTIVEC_VRSAVE.
08b57fb3 618
8998d5bf
ZW
619 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
620 (rs6000_altivec_vrsave_string): Define extern.
621 (rs6000_altivec_vrsave): Same.
622 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 623
8e8c38cd
RH
6242002-04-30 Richard Henderson <rth@redhat.com>
625
626 PR opt/6516
627 * toplev.c (rest_of_compilation): Don't run cross-jump before
628 bb-reorder.
629
4be9e9cb
TR
6302002-04-30 Tom Rix <trix@redhat.com>
631
8998d5bf 632 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
633 check which_alternative.
634
1eeeb6a4
KH
6352002-04-30 Kazu Hirata <kazu@hxi.com>
636
637 * cpplex.c: Fix comment formatting.
638 * function.c: Likewise.
639 * integrate.c: Likewise.
640 * regrename.c: Likewise.
641 * sibcall.c: Likewise.
642 * simplify-rtx.c: Likewise.
643 * tree-inline.c: Likewise.
644
ed9d6ff9
JDA
6452002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
646
647 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
648 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
649 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
650 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
651 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
652 * pa/x-ada: New file. Define ADA_CFLAGS.
653
1f2641b6
HPN
6542002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
655
656 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
657 from MMIX_LAST_REGISTER_FILE_REGNUM.
658 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
659 (struct machine_function): New member highest_saved_stack_register
660 previously static variable in mmix.c.
661 (MACHINE_DEPENDENT_REORG): Define.
662 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
663 (MMIX_OUTPUT_REGNO): New.
664 (mmix_target_asm_function_prologue): Move calculation of last used
665 saved-stack-register into...
666 (mmix_machine_dependent_reorg): New function. Update to also handle
667 !TARGET_ABI_GNU.
668 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
669 register names, simplify somewhat by new variable regno.
670 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
671 register.
672 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
673 emitting register names.
674 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
675 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
676 Remove fixed FIXME.
677 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
678 Declare.
679
680 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
681
73985940
RH
6822002-04-30 Richard Henderson <rth@redhat.com>
683
684 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
685 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
686 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
687 emit_tfmode_cvt): New.
688 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
689 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
690 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
691 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
692 * config/sparc/sparc-protos.h: Update.
693
2b46bc67
JJ
6942002-04-30 Janis Johnson <janis187@us.ibm.com>
695
696 * install.texi (Final install): Add to the list of info to include
697 in a report of a successful bootstrap, and add link to 3.1 list.
698
3d34cd91
JH
699Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
700
701 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
702 (mode): Add vector modes
703 (i387): Kill attribute.
704 (unit): New attribute.
705 (length_immediate): Grok new types.
706 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
707 (modrm): Use "unit".
708 (memory): Handle MMX/SSE properly.
709 (scheduling descriptions): Kill uses of fop1.
710 (sse, mmx, fp patterns): Set type and mode properly.
711
3193c415
JL
712Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@cygnus.com)
713
30482eb0
JL
714 * pa.c (override_options): Default to PA8000 scheduling.
715 * doc/invoke.texi (HP-PA options): Mention newly added 7300
716 scheduling parameter.
717
3193c415
JL
718 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
719 handling of double precision multiplies.
720
721 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
722 fpdiv and fpsqrt instructions.
723 (7200 & 7300 scheduling): Fix typo in handling of
724 store-load and store-store penalties.
725
c0a34cb7
GP
7262002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
727
728 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
729 mips. Add two missing commas.
730
8bce0628
PC
7312002-04-30 Paolo Carlini <pcarlini@unitus.it>
732
733 * doc/contrib.texi (Contributors): Update Paolo Carlini's
734 and Benjamin Kosnik's entries.
735
84643cbf
DM
7362002-04-29 David S. Miller <davem@redhat.com>
737
738 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
739 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
740 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
741 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
742
da6886f6
FS
7432002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
744
745 * combine.c (find_split_point): Use gen_int_mode.
746
fae15c93
VM
7472002-04-29 Vladimir Makarov <vmakarov@redhat.com>
748
749 Merging code from dfa-branch:
8998d5bf 750
fae15c93
VM
751 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
752
753 * genautomata.c (output_reserv_sets): Fix typo.
754
755 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
756
757 * genautomata.c (output_reserv_sets): Remove
758 next_cycle_output_flag.
759
760 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
761
8998d5bf
ZW
762 * sched-rgn.c (init_ready_list): Make the DFA code handle
763 USE/CLOBBER insns in the same way as the traditional
764 scheduler.
765 (new_ready): Similarly..
fae15c93
VM
766
767 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
768
769 * haifa-sched.c (schedule_block): Change the DFA state only after
770 issuing insn.
771
772 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
773
774 * pa.c (hppa_use_dfa_pipeline_interface): New function.
775 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
776 (override_options): Add PA7300 scheduling support.
777 (pa_adjust_cost): Update various comments. Properly
778 handle anti and output dependencies when using the
779 DFA scheduler.
780 (pa_issue_rate): Add PA7300 scheduling support.
781 (pa_can_combine_p): Call extract_insn before calling
782 constrain_operands (taken from mainline tree).
783 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
784 * pa.md (cpu attr): Add 7300. Rewrite pipeline
785 descriptions using DFA descriptions. Add PA7300
786 scheduling support.
787
788 2002-03-30 David S. Miller <davem@redhat.com>
789
790 Add UltraSPARC-III DFA scheduling support.
791 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
792 Update FP conditional move on register insn patterns to use it, as
793 appropriate.
794 (define_attr cpu): Add ultrasparc3.
795 (define_attr us3load_type): New, update integer load patterns to
796 set it, as appropriate.
797 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
798 (rest): Add UltraSPARC3 scheduling description.
799 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
800 (PROCESSOR_ULTRASPARC3): New.
801 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
802 ({ASM,CPP}_CPU_SPEC): Likewise.
803 (REGISTER_MOVE_COST): Likewise.
804 (RTX_COSTS): Likewise.
805 * config/sparc/sparc.c (sparc_override_options,
806 sparc_initialize_trampoline, sparc64_initialize_trampoline,
807 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
808 sparc_issue_rate): Likewise.
809 * config/sparc/sol2.h: Likewise.
810 * config/sparc/sol2-sld-64.h: Likewise.
811 * config/sparc/linux64.h: Likewise.
8998d5bf 812
fae15c93
VM
813 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
814
815 * doc/md.texi: Add comments about usage the latency time for the
816 different dependencies and about case when two or more conditions
817 in different define_insn_reservations returns TRUE for an insn.
818
819 * doc/md.texi: Add reference for automaton based pipeline
820 description.
8998d5bf 821
fae15c93
VM
822 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
823
824 * doc/passes.texi: Add missed information about genattrtab.
825
826 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
827
828 * genautomata.c (output_automata_list_transition_code): Check
829 automata_list on NULL.
830
831 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
832
833 * genautomata.c (output_insn_code_cases,
834 output_automata_list_min_issue_delay_code,
835 output_automata_list_transition_code,
836 output_automata_list_state_alts_code): Comment the functions.
837
838 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
839
840 * genautomata.c (automata_list_el_t): New typedef.
841 (get_free_automata_list_el,free_automata_list_el,
842 free_automata_list, automata_list_hash, automata_list_eq_p,
843 initiate_automata_lists, automata_list_start, automata_list_add,
844 automata_list_finish, finish_automata_lists,
845 output_insn_code_cases, output_automata_list_min_issue_delay_code,
846 output_automata_list_transition_code,
847 output_automata_list_state_alts_code, add_automaton_state,
848 form_important_insn_automata_lists): New functions and prototypes.
849 (insn_reserv_decl): Add members important_automata_list and
850 processed_p.
851 (ainsn): Add members important_p.
852 (automata_list_el): New structure.
853 (first_free_automata_list_el, current_automata_list,
854 automata_list_table): New global variables.
855 (create_ainsns): Initiate member important_p.
856 (output_internal_min_issue_delay_func): Generate the switch and
857 call output_insn_code_cases.
858 (output_internal_trans_func, output_internal_state_alts_func):
859 Ditto.
860 (generate): Call initiate_automata_lists.
861 (automaton_states): New global variable.
862 (expand_automata): Call form_important_insn_automata_lists.
863 (write_automata): Call finish_automata_lists.
8998d5bf 864
fae15c93
VM
865 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
866
867 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 868 cpu units in the sets belong the same automaton.
fae15c93
VM
869
870 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
871 about that cpu units in the sets belong the same automaton.
872
873 * doc/md.texi: Ditto.
8998d5bf 874
2799d721
VM
875 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
876 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 877
fae15c93
VM
878 * config/sh/sh.c (sh_use_dfa_interface): New function.
879
880 (sh_issue_rate): New Function.
881 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
882 TARGET_SCHED_ISSUE_RATE: define.
883
884 * config/sh/sh.md: Add DFA based pipeline description for SH4.
885
8998d5bf
ZW
886 (define_attr insn_class): New attribute used for DFA
887 scheduling.
fae15c93
VM
888 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
889 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
890 cmpeqdi_t): Likewise.
891
892 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 893 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
894 ex_group.
895 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 896
fae15c93
VM
897 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
898
899 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
900 break.
901
902 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
903
904 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
905 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
906 necessary.
907 (output_dfa_start_func): Initiate new variable insn_codes_length,
908 (write_automata): Output definition of the new variable.
8998d5bf 909
fae15c93
VM
910 2001-10-02 David S. Miller <davem@redhat.com>
911
912 * haifa-sched.c (advance_one_cycle): New function.
913 (schedule_block): Use it.
914 (queue_to_ready): Use it, and also make sure to advance the DFA
915 state on all stall cycles, not just those where insn_queue links
916 are found.
917
918 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
919
920 * haifa-sched.c (max_issue): Remove last_p argument. Only return
921 non-zero if the highest-priority instruction could be scheduled.
922 (choose_ready): Remove last argument from max_issue call.
923
924 2001-09-28 David S. Miller <davem@redhat.com>
925
926 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
927 ultrasparc and 3 for other multi-issue sparcs.
928
929 2001-09-27 David S. Miller <davem@redhat.com>
930
931 * config/sparc/sparc.md (cycle_display): New pattern.
932 * config/sparc/sparc.c (sparc_cycle_display): New.
933 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
934
935 2001-09-25 David S. Miller <davem@redhat.com>
936
937 Convert all of Sparc scheduling to DFA
938 * config/sparc/sparc.md: Kill all define_function_unit
939 directives and replace with DFA equivalent.
940 * config/sparc/sparc.c (ultrasparc_adjust_cost,
941 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
942 ultra_fpmode_conflict_exists, ultra_find_type,
943 ultra_build_types_avail, ultra_flush_pipeline,
944 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
945 ultrasparc_variable_issue, ultrasparc_sched_init,
946 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
947 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
948 ultra_cur_hist, ultra_cycles_elapsed): Kill.
949 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
950 ultrasparc_store_bypass_p): New.
951 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
952 Declare.
953
954 2001-09-24 David S. Miller <davem@redhat.com>
955
956 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
957 ready->vec[foo] not ready[foo].
958
959 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
960
961 * doc/md.texi: Correct examples for define_insn_reservations
962 `mult' and `div'.
963
964 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
965
966 * genautomata.c (create_automata): Print message about creation of
967 each automaton.
968 (generate): Remove printing meease about creation of
969 automata.
970
971 2001-09-05 David S. Miller <davem@redhat.com>
972
973 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
974 * config/sparc/linux64.h: Likewise.
975
976 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
977
978 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
979 schedule_block, sched_init, sched_finish): Add missed calls of
980 use_dfa_pipeline_interface.
981
982 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
983 Ditto.
984
985 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 986
fae15c93
VM
987 2001-08-27 Richard Henderson <rth@redhat.com>
988
989 * genattr.c (main): Emit state_t even when not doing scheduling.
990
991 2001-08-27 Richard Henderson <rth@redhat.com>
992
993 * genautomata.c (expand_automata): Always create a description.
994
995 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
996
8998d5bf 997 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
998 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
999 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
1000 RTL constructions.
1001
1002 * genattr.c (main): New variable num_insn_reservations. Increase
1003 it if there is DEFINE_INSN_RESERVATION. Output automaton based
1004 pipeline hazard recognizer interface.
1005
1006 * genattrtab.h: New file.
1007
1008 * genattrtab.c: Include genattrtab.h.
1009 (attr_printf, check_attr_test, make_internal_attr,
1010 make_numeric_value): Move protypes into genattrtab.h. Define them
1011 as external.
1012 (num_dfa_decls): New global variable.
1013 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
1014 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
1015 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
1016 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
1017
1018 * genautomata.c: New file.
1019
1020 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
1021
8998d5bf 1022 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
1023 automaton pipeline interface.
1024 (haifa_insn_data): Add comments for members blockage and units.
1025
1026 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1027 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1028 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
1029 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
1030 TARGET_SCHED_DFA_POST_CYCLE_INSN,
1031 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1032 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
1033 macros.
1034 (TARGET_SCHED): Use the new macros.
1035
1036 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
1037 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
1038 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
1039 dfa_bubble): New members in gcc_target.sched.
1040
8998d5bf 1041 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
1042 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
1043 (insn_queue): Redefine it as pointer to array.
1044 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
1045 INSN_QUEUE_SIZE.
1046 (max_insn_queue_index_macro_value): New variable.
1047 (curr_state, dfa_state_size, ready_try): New varaibles for
1048 automaton interface.
1049 (ready_element, ready_remove, max_issue): New function prototypes
1050 for automaton interface.
1051 (choose_ready): New function prototype.
1052 (insn_unit, blockage_range): Add comments.
1053 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
1054 FUNCTION_UNITS_SIZE == 0.
1055 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
1056 actual_hazard, potential_hazard): Add comments.
1057 (insn_cost): Use cost -1 as undefined value. Remove
1058 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
1059 pipeline interface.
1060 (ready_element, ready_remove): New functions for automaton
1061 interface.
1062 (schedule_insn): Add new code for automaton pipeline interface.
1063 (queue_to_ready): Add new code for automaton pipeline interface.
1064 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
1065 (debug_ready_list): Print newline when the queue is empty.
1066 (max_issue): New function for automaton pipeline interface.
1067 (choose_ready): New function.
1068 (schedule_block): Add new code for automaton pipeline interface.
1069 Print ready list before scheduling each insn.
1070 (sched_init): Add new code for automaton pipeline interface.
1071 Initiate insn cost by -1.
1072 (sched_finish): Free the current automaton state and finalize
1073 automaton pipeline interface.
1074
1075 * sched-rgn.c: Include target.h.
1076 (init_ready_list, new_ready, debug_dependencies): Add new code for
1077 automaton pipeline interface.
1078
1079 * sched-vis.c: Include target.h.
1080 (get_visual_tbl_length): Add code for automaton interface.
1081 (target_units, print_block_visualization): Add comments.
1082
8998d5bf 1083 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
1084 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
1085 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
1086 (getruntime.o, genautomata.o): New entries.
1087 (genattrtab.o): Add new dependency file genattrtab.h.
1088 (genattrtab): Add new dependencies. Link it with `libm.a'.
1089 (getruntime.o, hashtab.o): New entries for canadian cross.
1090
1091 * doc/md.texi: Description of automaton based model.
1092
1093 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
1094 Add comments.
1095 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1096 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
1097 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1098 TARGET_SCHED_DFA_POST_CYCLE_INSN,
1099 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
1100 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1101 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
1102 hook descriptions.
1103 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
1104 MAX_DFA_ISSUE_RATE): New macro descriptions.
1105
1106 * doc/contrib.texi: Add dfa based scheduler contribution.
1107
1108 * doc/gcc.texi: Add more information about genattrtab.
1109
a2ff290c
RK
1110Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1111
1112 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
1113 adjust_address_nv call.
1114
f97903cc
JJ
11152002-04-29 Janis Johnson <janis187@us.ibm.com>
1116
1117 * doc/install.texi (Testing): Provide additional information, and
1118 a stronger encouragement, for running the testsuites.
1119
f41a6bf1
DD
11202002-04-29 DJ Delorie <dj@redhat.com>
1121
1122 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
1123 given in upper case.
1124
d8af0868
RO
11252002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1126
1127 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
1128 Solaris 2 <widec.h> if missing.
1129 * fixinc/fixincl.x: Regenerate.
1130 * fixinc/tests/base/widec.h: New file.
1131
1034407f
NC
11322002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
1133
1134 * toplev.c (f_options): Add "profile" switch so that
1135 -fno-profile can be used to disable -p.
1136
fbe5eb6d
BS
11372002-04-29 Bernd Schmidt <bernds@redhat.com>
1138
1139 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
1140 UV2DImode.
1141 * tree.c (build_common_tree_nodes_2): Likewise.
1142 * tree.h (enum tree_index): Likewise.
1143 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
1144
1145 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
1146 entries.
1147 (init_mmx_sse_builtins): Initialize SSE2 builtins.
1148 (ix86_expand_builtin): Add support for SSE2 builtins.
1149 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
1150 (VALID_SSE_REG_MODE): Use it.
1151 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
1152 (enum ix86_builtins): Add SSE2 builtins.
1153 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
1154 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
1155 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
1156 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
1157 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
1158 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
1159 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
1160 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
1161 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
1162 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
1163 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
1164 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
1165 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
1166 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
1167 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
1168 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
1169 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
1170 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
1171 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
1172 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
1173 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
1174 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
1175 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
1176 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
1177 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
1178 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
1179 lfence_insn): New patterns.
1180 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
1181 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
1182
44aefada
JH
1183Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
1184
1185 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
1186
d5482cdc
GP
11872002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1188
1189 * doc/contrib.texi (Contributors): Add Paolo Carlini and
1190 Janis Johnson.
1191 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
1192 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
1193 and CPU instead of cpu.
1194
2c4b77f3
JH
1195Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
1196
1197 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
1198 variables.
1199 (lang_independent_options): Add -fif-conversion, -fif-conversion2
1200 (rest_of_compilation): Do if conversion only when asked for.
1201 (parse_options_and_default_flags): Set new variables to 1 for -O1
1202 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
1203
3de72741
JH
1204Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
1205
1206 * i386.c (dbx64_register_map): Fix typo.
1207
8aa18a7d
JH
1208Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
1209
1210 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
1211 real_one_half, real_bb_freq_max): New static variables.
1212 (debug_profile_bbauxs): Kill.
1213 (process_note_predictions): Kill unused variable.
1214 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
1215 volatile double.
1216 (propagate_freq): Use REAL_ARITHMETICS.
1217 (estimate_bb_frequencies): Likevise; init new static variables.
1218 * Makefile.in (predict.o): Add dependency on real.h
1219
1bbad4c6
DM
12202002-04-28 David S. Miller <davem@redhat.com>
1221
1222 PR target/6500
1223 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
1224 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
1225 several {reads,writes} instead.
1226 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
1227 Define.
1228
3ef3f384
DM
12292002-04-27 David S. Miller <davem@redhat.com>
1230
1231 PR target/6494
1232 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
1233 of the stack bias.
1234
1235 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
1236 including signal.h and sys/ucontext.h, not needed.
1237
ec493bcb
HPN
12382002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
1239
1240 * varasm.c (output_constant_def): Correct test for not calling
1241 ENCODE_SECTION_INFO for INTEGER_CST.
1242
60284a59
NB
12432002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
1244
1245 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
1246 keep most cases as function eval_token.
1247 (eval_token): New function.
1248 (_cpp_parse_expr): Read token here for improved diagnostics.
1249 Don't use op_as_text. Detect bad ':' here.
1250 (reduce): Don't detect bad ':' here.
1251 (op_as_text): Remove.
1252 * cpphash.h (_cpp_test_assertion): Change prototype.
1253 * cpplib.c (_cpp_test_assertion): Change prototype.
1254
349a4b40
RH
12552002-04-28 Richard Henderson <rth@redhat.com>
1256
1257 PR c/5154
8998d5bf 1258 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
1259 (ggc_mark_rtx_children): New.
1260
7a03f82f
JJ
12612002-04-28 Jakub Jelinek <jakub@redhat.com>
1262
1263 PR target/6496
1264 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
1265 after call peepholes for UltraSPARC.
1266 (call + jump 64-bit peepholes): Remove.
1267
80103f96
FS
12682002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1269
1270 PR c/6497
1271 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
1272 result as temporary value.
1273
06990986
JJ
12742002-04-28 Jakub Jelinek <jakub@redhat.com>
1275
1276 PR c++/6396
1277 * toplev.c (rest_of_compilation): Only run regrename and copy
1278 propagation if optimizing.
1279
a20fd5ac
JJ
12802002-04-28 Jakub Jelinek <jakub@redhat.com>
1281
1282 PR optimization/6475
1283 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
1284 register of REGNO_DECL (i).
1285 * Makefile.in (reload1.o): Add $(TREE_H).
1286
87ed109f
NB
12872002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
1288
1289 * cppexp.c (lex): Update to use state.skip_eval.
1290 (struct op): Remove prio and flags members.
1291 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
1292 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
1293 (LEFT_ASSOC): New macro.
1294 (optab): New table of operator priorities and flags.
1295 (SHIFT): Update.
1296 (_cpp_parse_expr): Clean up logic. Return bool. Use a
1297 malloc-ed parser stack.
1298 (reduce): New; reduce the operator stack.
1299 (_cpp_expand_op_stack): Expand the operator stack as necessary.
1300 * cpphash.h (struct op): Predeclare.
1301 (struct cpp_reader): New members op_stack, op_limit.
1302 (struct lexer_state): New member skip_eval.
1303 (_cpp_parse_expr): Update.
1304 (_cpp_expand_op_stack): New.
1305 * cpplib.c (do_if): Update.
1306 * cppinit.c (cpp_create_reader): Create op stack.
1307 (cpp_destroy): And destroy it.
1308 * cpplib.h (CPP_LAST_CPP_OP): Correct.
1309 (TTYPE_TABLE): Correct.
1310
45806a3f
FS
13112002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1312
1313 PR c/6343
1314 * c-decl.c (duplicate_decls): Call merge_weak.
1315 * c-pragma.c (apply_pragma_weak): Warn about misuse.
1316 * output.h (merge_weak): Prototype merge_weak.
1317 * varasm.c (merge_weak): New function.
1318 (declare_weak): Make sure we don't give an error on VAR_DECLs.
1319 Mark RTL with SYMBOL_REF_WEAK.
1320
a6227154
KG
13212002-04-27 Kurt Garloff <garloff@suse.de>
1322
1323 * tree-inline.c (inlinable_function_p): Improve heuristics
1324 by using a smoother function to cut down allowable inlinable size.
1325 * param.def: Add parameters max-inline-insns-single,
1326 max-inline-slope, min-inline-insns that determine the exact
1327 shape of the above function.
1328 * param.h: Likewise.
1329
94a50397
RH
13302002-04-26 Richard Henderson <rth@redhat.com>
1331
1332 * c-parse.in (malloced_yyss, malloced_yyvs): New.
1333 (yyoverflow): Re-add. Set them.
1334 (free_parser_stacks): New.
1335 * c-common.h: Declare it.
1336 * c-lex.c (c_common_parse_file): Call it.
1337
9c0a0632
RH
13382002-04-26 Richard Henderson <rth@redhat.com>
1339
1340 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
1341 for fallthru search.
1342
b875d2ee
EC
13432002-04-26 Eric Christopher <echristo@redhat.com>
1344
1345 PR optimization/3700
1346 * config/mips/mips.c (mips_issue_rate): Define. New function.
1347 (TARGET_SCHED_ISSUE_RATE): Use.
1348
1db828df
DM
13492002-04-25 David S. Miller <davem@redhat.com>
1350
1351 PR target/6422
1352 * reorg.c (optimize_skip): Do not allow exception causing
1353 instructions to be considered for delay slots.
1354 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
1355 (relax_delay_slots): Do not try to consider exception causing
1356 instructions as redundant.
1357
ae5d234e
RH
13582002-04-26 Richard Henderson <rth@redhat.com>
1359
1360 PR c/5225
1361 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
1362
7d793e9b
MM
13632002-04-26 Mark Mitchell <mark@codesourcery.com>
1364
1365 PR bootstrap/6445
1366 * config/i386/i386.md (untyped_call): Return the value in a float
1367 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
1368 TARGET_80387.
1369
b13ab42c
AO
13702002-04-26 Alexandre Oliva <aoliva@redhat.com>
1371
1372 * tree.c (tree_int_cst_lt): Compare constants whose types differ
1373 in unsigned-ness correctly.
1374
5e56f909
JDA
13752002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
1376
1377 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
1378 portable runtime model.
1379
bde3c0c0
RH
13802002-04-26 Richard Henderson <rth@redhat.com>
1381
a6227154 1382 * c-parse.in (yyoverflow): Revert.
bde3c0c0 1383
5276df18
DE
13842002-04-26 David Edelsohn <edelsohn@gnu.org>
1385 Richard Henderson <rth@redhat.com>
1386
1387 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
1388 result as temporary value.
1389
b84a3874
RH
13902002-04-26 Richard Henderson <rth@redhat.com>
1391
1392 PR c/3581
1393 * c-common.c (fix_string_type): Split out of ...
1394 (combine_strings): ... here. Take a varray, not a tree list.
1395 (c_expand_builtin_printf): Use fix_string_type.
1396 * c-common.h: Update decls.
1397 * c-parse.in (string): Remove. Update all uses to use STRING
1398 instead, and not call combine_strings.
1399 (yylexstring): New.
1400 (_yylex): Use it.
1401 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
1402 (build_asm_stmt): Likewise.
1403 * objc/objc-act.c (my_build_string): Use fix_string_type.
1404 (build_objc_string_object): Build varray for combine_strings.
1405
d8ae8cd4
BT
14062002-04-26 Bo Thorsen <bo@suse.co.uk>
1407
1408 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
1409 x86-64.
1410
f8b954fc
NB
14112002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
1412
1413 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
1414 (HAVE_NO_R_OPERAND): Remove.
1415 (HAVE_VALUE): Remove.
1416 (op_to_prio): Update.
1417 (UNARY): Don't alter flags.
1418 (_cpp_parse_expr): want_value used to indicate whether
1419 a number or unary operator is expected next. Distinguish
1420 unary and binary +/-.
1421 (op_as_text): Update for unary operators.
1422
6052bef0
RH
14232002-04-25 Richard Henderson <rth@redhat.com>
1424
1425 PR c/2161
1426 * c-parse.in (yyoverflow): New.
1427
5c5b2283
RH
14282002-04-25 Richard Henderson <rth@redhat.com>
1429
1430 PR c/2098
1431 * c-common.c (shorten_compare): Simplfy conditions leading to
1432 the generation of a warning.
1433
28ce94d4
RH
14342002-04-25 Richard Henderson <rth@redhat.com>
1435
1436 PR c/2035
1437 * expmed.c (extract_bit_field): Fall through to generic code rather
1438 than aborting on subreg special case.
1439
6bfd0c63
DM
14402002-04-25 David S. Miller <davem@redhat.com>
1441
1442 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
1443 for DECL being NULL.
1444
7a430e3b
SC
14452002-04-25 Steve Christiansen <smc@us.ibm.com>
1446
1447 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
1448
45c42d7d
EB
14492002-04-25 Eric Botcazou <ebotcazou@multimania.com>
1450
1451 * c-decl.c (grokdeclarator): Remove outdated ??? note
1452 on invalid declaration of flexible array members.
1453
eb7715a4
RH
14542002-04-25 Richard Henderson <rth@redhat.com>
1455
1456 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
1457
cf5ee720
UW
14582002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
1459
1460 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
1461 needed by the compiler, even if they are used as global regs.
1462
d604bca3
MH
14632002-04-25 Matt Hiller <hiller@redhat.com>
1464
1465 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
1466 functions.
1467 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
1468 of the corresponding functions.
1469 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
1470 New prototypes.
b875d2ee 1471
d604bca3
MH
14722002-04-25 Matt Hiller <hiller@redhat.com>
1473
1474 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
1475
1476 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
1477 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
1478 registers, adjust comment accordingly.
1479 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
1480 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
1481 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
1482 for coprocessor registers.
1483 (ADDITIONAL_REGISTER_NAMES): Include
1484 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 1485
d604bca3
MH
1486 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
1487 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
1488 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
1489 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
1490 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
1491
1492 (mips_char_to_class): Adjust comment to include coprocessor
1493 constraint letters.
1494
1495 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
1496 New functions.
1497 (mips_reg_names, mips_regno_to_class): Include coprocessor
1498 information.
1499 (mips_sw_reg_names): Ditto, make non-static.
1500 (mips_move_1word): Handle moves to and from coprocessor registers.
1501 (mips_move_2words): Handle moves to and from coprocessor
1502 registers.
1503 (mips_class_max_nregs, mips_register_move_cost): Handle
1504 coprocessor register classes.
1505 (override_options): Initialize mips_char_to_class and
1506 mips_hard_regno_mode_ok properly for coprocessor registers.
1507
1508 * config/mips/mips.md (movdi_internal, movdi_internal2,
1509 movsi_internal1, movsi_internal2): Add constraint-sets for
1510 coprocessor registers.
1511 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
1512 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
1513 isn't mips.
1514 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
1515 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
1516 isn't mips.
1517 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
1518 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
1519 isn't mips.
1520 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
1521 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
1522 isn't mips.
b875d2ee 1523
d604bca3
MH
1524 * doc/tm.texi: Document feature.
1525
b9a26d09
NB
15262002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
1527
1528 * integrate.c (function_attribute_inlinable_p): Simplify.
1529 Check the table pointer is not NULL.
1530
ab5973b7
SB
15312002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
1532
1533 * doc/c-tree.texi: Fix typo in introduction.
1534
ff45c01e
NB
15352002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
1536
1537 * c-common.h (c_common_parse_file): Update.
1538 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
1539 * c-lex.c (YYDEBUG): Get from c-lex.h.
1540 (c_common_parse_file): Update.
1541 * c-lex.h (YYDEBUG, yydebug): New.
1542 * c-parse.in (YYDEBUG): Get from c-lex.h.
1543 (c_set_yydebug): Remove.
1544 * c-tree.h (c_set_yydebug): Remove.
1545 * langhooks-def.h (lhd_do_nothing_i): New.
1546 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
1547 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
1548 * langhooks.c (lhd_do_nothing_i): New.
1549 (lhd_set_yydebug): Remove.
1550 * langhooks.h (struct lang_hooks): Update.
1551 * toplev.c (set_yydebug): New.
1552 (compile_file): Update call to parse_file hook.
1553 (decode_d_option): Update.
1554objc:
1555 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
1556
fcae219a
R
1557Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
1558
1559 * loop.c (load_mems): Don't change the interface of called functions.
1560
1561 * calls.c (expand_call): Take current_function_pretend_args_size
1562 into account when setting argblock for sibcalls.
1563
d0fea45a
MH
15642002-04-24 Matt Hiller <hiller@redhat.com>
1565
1566 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
1567 * c-lex.c: Ditto.
1568
1569 * cpplex.c (skip_line_comment): Process comment one multibyte
1570 character at a time rather than one char at a time, if
1571 appropriate.
1572 (parse_string): Process string one multibyte character at a time
1573 rather than one char at a time, if appropriate.
1574 * c-lex.c (lex_string): Lex and copy multibyte strings
1575 appropriately.
1576 * cpplib.h (cppchar_t): Change to unsigned.
1577
2d1b5436
RH
15782002-04-24 Richard Henderson <rth@redhat.com>
1579
1580 PR c/3467
1581 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
1582 for c99.
1583
5e039e6b
R
1584Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
1585
1586 * sh.c (sh_va_arg): If argument was passed by reference,
1587 dereference the pointer.
309d8365
R
1588
1589 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
1590
1591 * sh.md (divsi3_i4_media): Use match_operand for input values
1592 rather than hard registers.
1593 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
1594 unnecessarily through hard registers. Keep copies of pseudo
1595 registers outside of the libcall sequence.
1596
1597 * sh.md (casesi_shift_media): Add modes.
b700634a
R
1598
1599 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
1600 values in memory.
1601
349ae713
NB
16022002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
1603
1604 * attribs.c (c_common_attribute_table): Move table and handlers
1605 to c-common.c.
1606 (format_attribute_table, lang_attribute_table,
1607 lang_attribute_common): Remove.
1608 (init_attributes): Replace NULL pointers with pointers to the
1609 empty table.
1610 (handle_packed_attribute, handle_nocommon_attribute,
1611 handle_common_attribute, handle_noreturn_attribute,
1612 handle_noinline_attribute, handle_always_inline_attribute,
1613 handle_used_attribute, handle_unused_attribute,
1614 handle_const_attribute, handle_transparent_union_attribute,
1615 handle_constructor_attribute, handle_destructor_attribute,
1616 handle_mode_attribute, handle_section_attribute,
1617 handle_aligned_attribute, handle_weak_attribute,
1618 handle_alias_attribute, handle_visibility_attribute,
1619 handle_no_instrument_function_attribute, handle_malloc_attribute,
1620 handle_no_limit_stack_attribute, handle_pure_attribute,
1621 handle_deprecated_attribute, handle_vector_size_attribute,
1622 vector_size_helper): Move to c-common.c.
1623 * c-common.c (c_common_attribute_table,
1624 handle_packed_attribute, handle_nocommon_attribute,
1625 handle_common_attribute, handle_noreturn_attribute,
1626 handle_noinline_attribute, handle_always_inline_attribute,
1627 handle_used_attribute, handle_unused_attribute,
1628 handle_const_attribute, handle_transparent_union_attribute,
1629 handle_constructor_attribute, handle_destructor_attribute,
1630 handle_mode_attribute, handle_section_attribute,
1631 handle_aligned_attribute, handle_weak_attribute,
1632 handle_alias_attribute, handle_visibility_attribute,
1633 handle_no_instrument_function_attribute, handle_malloc_attribute,
1634 handle_no_limit_stack_attribute, handle_pure_attribute,
1635 handle_deprecated_attribute, handle_vector_size_attribute,
1636 vector_size_helper): Move from attribs.c.
1637 * c-common.h (c_common_attribute_table,
1638 c_common_format_attribute_table): New.
1639 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
1640 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
1641 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
1642 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
1643 (LANG_HOOKS_INITIALIZER): Update.
1644 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
1645 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
1646 * target.h: Update comment.
1647 * tree.c (default_target_attribute_table): Remove.
1648 * tree.h (default_target_attribute_table, format_attribute_table,
1649 lang_attribute_table, lang_attribute_common): Remove.
1650objc:
1651 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
1652 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
1653
84f0ace0
JM
16542002-04-24 Jason Merrill <jason@redhat.com>
1655
1656 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
1657 * dwarf2out.c (dwarf_attr_name): Support it.
1658 (gen_array_type_die): Emit it.
1659 (lookup_type_die): No special handling for VECTOR_TYPE.
1660 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
1661
120eaf28
RH
16622002-04-24 Richard Henderson <rth@redhat.com>
1663
1664 * config/mips/mips.md (movdi_usd): Renumber.
1665
e732178c
DM
16662002-04-24 David S. Miller <davem@redhat.com>
1667
1668 PR target/6420
1669 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
1670 32-bit Sparc and current_function_returns_struct is true.
1671
e879eb2f
JH
1672Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
1673
1674 * loop.c (canonicalize_condition): Use gen_int_mode.
1675
4287a893
AH
16762002-04-24 Aldy Hernandez <aldyh@redhat.com>
1677
1678 * config/rs6000/altivec.h: Cleanup file. Add non individual
1679 variants.
1680 (vec_vaddubm): New.
1681 (vec_vadduhm): New.
1682 (vec_vadduwm): New.
1683 (vec_vaddfp): New.
1684 (vec_vaddcuw): New.
1685 (vec_vaddubs): New.
1686 (vec_vaddsbs): New.
1687 (vec_vadduhs): New.
1688 (vec_vadduws): New.
1689 (vec_vaddsws): New.
1690 (vec_vand): New.
1691 (vec_vandc): New.
1692 (vec_vavgub): New.
1693 (vec_vavgsb): New.
1694 (vec_vavguh): New.
1695 (vec_vavgsh): New.
1696 (vec_vavguw): New.
1697 (vec_vavgsw): New.
1698 (vec_vrfip): New.
1699 (vec_vcmpbfp): New.
1700 (vec_vcmpequb): New.
1701 (vec_vcmpequh): New.
1702 (vec_vcmpequw): New.
1703 (vec_vcmpeqfp): New.
1704 (vec_vcmpgefp): New.
1705 (vec_vcmpgtub): New.
1706 (vec_vcmpgtsb): New.
1707 (vec_vcmpgtuh): New.
1708 (vec_vcmpgtsh): New.
1709 (vec_vcmpgtuw): New.
1710 (vec_vcmpgtsw): New.
1711 (vec_vcmpgtfp): New.
1712 (vec_vcmpgefp): New.
1713 (vec_vcfux): New.
1714 (vec_vcfsx): New.
1715 (vec_vctsxs): New.
1716 (vec_vctuxs): New.
1717 (vec_vexptefp): New.
1718 (vec_vrfim): New.
1719 (vec_lvx): New.
1720 (vec_lvebx): New.
1721 (vec_lvehx): New.
1722 (vec_lde): Add vector float variant.
1723 (vec_lvewx): New.
1724 (vec_lvxl): New.
1725 (vec_vlogefp): New.
1726 (vec_vmaddfp): New.
1727 (vec_vmhaddshs): New.
1728 (vec_vmaxub): New.
1729 (vec_vmaxsb): New.
1730 (vec_vmaxuh): New.
1731 (vec_vmaxsh): New.
1732 (vec_vmaxuw): New.
1733 (vec_vmaxsw): New.
1734 (vec_vmaxsw): New.
1735 (vec_vmaxfp): New.
1736 (vec_vmrghb): New.
1737 (vec_vmrghh): New.
1738 (vec_vmrghw): New.
1739 (vec_vmrglb): New.
1740 (vec_vmrglh): New.
1741 (vec_vmrglw): New.
1742 (vec_vminub): New.
1743 (vec_vminsb): New.
1744 (vec_vminuh): New.
1745 (vec_vminsh): New.
1746 (vec_vminuw): New.
1747 (vec_vminsw): New.
1748 (vec_vminfp): New.
1749 (vec_vmladduhm): New.
1750 (vec_vmhraddshs): New.
1751 (vec_msumubm): New.
1752 (vec_vmsummbm): New.
1753 (vec_vmsumuhm): New.
1754 (vec_vmsumshm): New.
1755 (vec_vmsumuhs): New.
1756 (vec_vmsumshs): New.
1757 (vec_vmuleub): New.
1758 (vec_vmulesb): New.
1759 (vec_vmuleuh): New.
1760 (vec_vmulesh): New.
1761 (vec_vmuloub): New.
1762 (vec_mulosb): New.
1763 (vec_vmulouh): New.
1764 (vec_vmulosh): New.
1765 (vec_vnmsubfp): New.
1766 (vec_vnor): New.
1767 (vec_vor): New.
1768 (vec_vpkuhum): New.
1769 (vec_vpkuwum): New.
1770 (vec_vpkpx): New.
1771 (vec_vpkuhus): New.
1772 (vec_vpkshss): New.
1773 (vec_vpkuwus): New.
1774 (vec_vpkswss): New.
1775 (vec_vpkshus): New.
1776 (vec_vpkswus): New.
1777 (vec_vperm): New.
1778 (vec_vrefp): New.
1779 (vec_vrlb): New.
1780 (vec_vrlh): New.
1781 (vec_vrlw): New.
1782 (vec_vrfin): New.
1783 (vec_vrsqrtefp): New.
1784 (vec_vsel): New.
1785 (vec_vslb): New.
1786 (vec_vslh): New.
1787 (vec_vslw): New.
1788 (vec_vsldoi): New.
1789 (vec_vsl): New.
1790 (vec_vslo): New.
1791 (vec_vspltb): New.
1792 (vec_vsplth): New.
1793 (vec_vspltw): New.
1794 (vec_vspltisb): New.
1795 (vec_vspltish): New.
1796 (vec_vspltisw): New.
1797 (vec_vsrb): New.
1798 (vec_vsrh): New.
1799 (vec_vsrw): New.
1800 (vec_vsrab): New.
1801 (vec_vsrah): New.
1802 (vec_vsraw): New.
1803 (vec_vsr): New.
1804 (vec_vsro): New.
1805 (vec_stvx): New.
1806 (vec_stvebx): New.
1807 (vec_stvehx): New.
1808 (vec_stvewx): New.
1809 (vec_stvxl): New.
1810 (vec_vsububm): New.
1811 (vec_vsubuhm): New.
1812 (vec_vsubuwm): New.
1813 (vec_vsubfp): New.
1814 (vec_vsubcuw): New.
1815 (vec_vsububs): New.
1816 (vec_vsubsbs): New.
1817 (vec_vsubuhs): New.
1818 (vec_vsubshs): New.
1819 (vec_vsubuws): New.
1820 (vec_vsubsws): New.
1821 (vec_vsum4ubs): New.
1822 (vec_vsum4sbs): New.
1823 (vec_vsum4shs): New.
1824 (vec_vsum2sws): New.
1825 (vec_vsumsws): New.
1826 (vec_vrfiz): New.
1827 (vec_vupkhsb): New.
1828 (vec_vupkhpx): New.
1829 (vec_vupkhsh): New.
1830 (vec_vupklsb): New.
1831 (vec_vupklpx): New.
1832 (vec_vupklsh): New.
1833 (vec_vxor): New.
1834
cff27795
EB
18352002-04-23 Eric Botcazou <ebotcazou@multimania.com>
1836
1837 PR c/5430
1838 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
1839 added literals from substracted literals.
1840 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
1841 (fold) [associate]: Preserve MINUS_EXPR if needed.
1842
952bca84
ZW
18432002-04-23 Zack Weinberg <zack@codesourcery.com>
1844
1845 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
1846 are obsoleted.
1847
50cb2154
TT
18482002-04-23 Tom Tromey <tromey@redhat.com>
1849
1850 * gcc.c: Added --resource. For PR java/6314.
1851
271f61fb
DB
18522002-04-23 David O'Brien <obrien@FreeBSD.org>
1853
9566d1e9 1854 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
1855 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
1856 these libraries.
1857
bdabbc80
DB
18582002-04-23 David O'Brien <obrien@FreeBSD.org>
1859
1860 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
1861
74411039
JH
1862Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
1863
1864 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
1865 workaround.
1866 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
1867 (ix86_expand_clrstr): Fix typo.
1868 * loop.c (gen_load_of_final_value): New.
1869 (loop_givs_rescan, strength_reduce, check_dbra_loop):
1870 Use it.
1871
1a887f86
RS
18722002-04-23 Roger Sayle <roger@eyesopen.com>
1873
1874 * builtins.c (builtin_memset_gen_str): New function.
1875 (expand_builtin_memset): Optimize the case of constant length, but
1876 unknown value.
1877
8d3441e0
AH
18782002-04-23 Aldy Hernandez <aldyh@redhat.com>
1879
cff27795
EB
1880 * config/rs6000/altivec.h (vec_step): Remove extraneous
1881 parentheses.
1882 (vec_ctu): Cast return.
8d3441e0 1883
f6f315fe
AM
18842002-04-23 Alan Modra <amodra@bigpond.net.au>
1885
1886 PR target/6413
1887 * function.h: (struct function): Add profile_label_no field.
1888 (current_function_profile_label_no): Define.
1889 * function.c: (profile_label_no): New static var.
1890 (expand_function_start): Increment it, and copy to
1891 current_function_profile_label_no.
1892 * output.h (profile_label_no): Delete.
1893 * final.c (profile_label_no): Delete.
1894 (profile_function): Use current_function_profile_label_no.
1895 (final_end_function): Don't increment profile_label_no here.
1896 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
1897 profile_label_no with current_function_profile_label_no.
1898 * config/pa/pa.c (current_function_number): Delete.
1899 (pa_output_function_prologue): Don't output profile label here.
1900 (hppa_profile_hook): Use label_no param rather than
1901 current_function_number.
1902 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
1903 * config/pa/pa.h: .. here.
1904 (FUNCTION_PROFILER): Output profile label here.
1905
d239cdc0
EC
19062002-04-22 Eric Christopher <echristo@redhat.com>
1907
1908 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
1909 patch of 2002-04-09 due to binutils issues.
1910 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
1911
04428ad4
AH
19122002-04-22 Aldy Hernandez <aldyh@redhat.com>
1913
cff27795
EB
1914 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
1915 constraint to 'o' for m=r and r=m alternatives.
1916 ("*movv8hi_internal1"): Same.
1917 ("*movv16qi_internal1"): Same.
1918 ("*movv4sf_internal1"): Same.
04428ad4 1919
2adc7f12
JJ
19202002-04-22 Janis Johnson <janis187@us.ibm.com>
1921
1922 * rtl.h (RTX_FLAG): New macro.
1923 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
1924 * final.c (alter_subreg): Use macro to access rtx flag.
1925 * integrate.c (copy_rtx_and_substitute): Use new access macro.
1926 * print-rtl.c (print_rtx): Use new access macro.
1927
1928 * cse.c (insert): Check rtx code before accessing flag.
1929
1930 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
1931 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
1932 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
1933 convert_const_symbol_ref, make_canonical, make_alternative_compare,
1934 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
1935 simplify_test_exp, optimize_attrs, simplify_by_exploding,
1936 find_and_mark_used_attributes, unmark_used_attributes,
1937 add_values_to_cover, simplify_with_current_value,
1938 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
1939 copy_rtx_unchanging, main): Use new access macros.
1940
b7c89afe
TR
19412002-04-22 Tom Rix <trix@redhat.com>
1942
1943 * expmed.c (init_expmed): Generate shifted constant once.
1944
9340544b
ZW
19452002-04-22 Zack Weinberg <zack@codesourcery.com>
1946
1947 * c-lex.c (lex_charconst): Call convert to get constant in
1948 proper type; don't just smash the type field.
1949 Fixes PR c/6300.
1950
1951 * config.gcc: Add list of obsolete configurations. Disallow
1952 building these without --enable-obsolete.
1953 * doc/install.texi: Document --enable-obsolete and obsoletion
1954 policy. Mention obsoletion of individual targets in
1955 appropriate places.
1956
f942d7a5
RH
19572002-04-22 Richard Henderson <rth@redhat.com>
1958
1959 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
1960
19612002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
1962
1963 PR f/6138.
1964 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
1965 (walk_fixup_memory_subreg): Likewise.
1966 (fixup_var_refs_insn): Adjust accordingly.
1967 (fixup_var_refs_1): Likewise.
1968
232b0b45
UW
19692002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
1970
1971 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
1972 LIBPATH_ARCH64_SPEC): Define.
1973 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
1974 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
1975 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
1976 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
1977
1b61552b
JS
19782002-04-22 Joel Sherrill <joel@OARcorp.com>
1979
1980 * gthr-rtems.h: Correct prototypes to remove warnings.
1981
0fe854a7
RH
19822002-04-22 Richard Henderson <rth@redhat.com>
1983
1984 PR c/6344
1985 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
1986
1987 * gcse.c (free_insn_expr_list_list): New.
1988 (clear_modify_mem_tables): Use it. Fix bit set usage.
1989 (canon_list_insert): Use EXPR_LISTs for expressions.
1990 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
1991
af0d16cd
NB
19922002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
1993
1994 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
1995 file change and include code to _cpp_pop_buffer.
1996 * cpphash.h (struct pending_option): Predeclare.
1997 (struct cpp_reader): New member next_include_file.
1998 (_cpp_pop_file_buffer): Update.
1999 (_cpp_push_next_buffer): Update, rename.
2000 * cppinit.c (cpp_destroy): Free include chain and pending here.
2001 (cpp_finish_options): Simplify.
2002 (_cpp_push_next_buffer): Rename and clean up.
2003 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
2004 Clarify.
2005 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
2006
0d918572
AH
20072002-04-22 Aldy Hernandez <aldyh@redhat.com>
2008
0fe854a7
RH
2009 * config/rs6000/altivec.h (vec_xor): Add variant for both args
2010 being vector signed int.
2011 (vec_andc): Same.
2012 (vec_xor): Add variant for both args being vector signed char.
2013 Remove redundant variant.
2014 (vec_andc): Same.
0d918572 2015
77e2c290
DM
20162002-04-21 David S. Miller <davem@redhat.com>
2017
2018 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
2019 compare mode in output RTL.
2020
ee2ca2a2
DE
20212002-04-22 David Edelsohn <edelsohn@gnu.org>
2022
2023 * config/rs6000/rs6000.c (rs6000_override_options): Correct
2024 style and formatting of previous patch.
2025
894bdff6
AM
20262002-04-22 Alan Modra <amodra@bigpond.net.au>
2027
2028 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
2029 flag_pic for ABI_AIX.
2030
562a5c27
NB
20312002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
2032
2033 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
2034 * cppfiles.c (read_include_file): Similarly.
2035 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
2036 uxstrdup ustrchr, ufputs): Similarly.
2037 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
2038 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
2039 cpp_ideq, parse_identifier, parse_number): Similarly.
2040 * cpplib.c (struct directive, dequote_string, D, run_directive,
2041 cpp_push_buffer): Similarly.
2042 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
2043 _cpp_create_definition, check_trad_stringification,
2044 cpp_macro_definition): Similarly.
2045
9ac3b1be
NB
20462002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
2047
2048 * cppmacro.c (funlike_invocation_p): Don't step back
2049 over CPP_EOF.
2050
9dda4cc8
DE
20512002-04-21 David Edelsohn <edelsohn@gnu.org>
2052
2053 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
2054 labelno.
2055
20764052
JM
20562002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
2057
2058 * doc/invoke.texi: Remove Chill references.
2059 * doc/gcc.texi: Update last modified date.
2060
26b29884
KH
20612002-04-20 Kazu Hirata <kazu@hxi.com>
2062
2063 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
2064 push and pop. Replace add.l with add.w.
2065
59184677
TM
20662002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
2067
2068 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
2069 multiply instructions for H8/300H case.
2070
b1113e0a
TM
20712002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
2072
2073 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
2074 Bum three instructions from each routine.
2075
b03e38e1
NB
20762002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
2077
2078 * Makefile.in: Update.
2079 * decl.c (push_c_function_context, pop_c_function_context,
2080 mark_c_function_context): Rename for consistency.
2081 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
2082 * c-tree.h (push_c_function_context, pop_c_function_context,
2083 mark_c_function_context): Rename for consistency.
2084 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
2085 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
2086 * function.c (init_lang_status, save_lang_status,
2087 restore_lang_status, mark_lang_status, free_lang_status):
2088 Move to langhooks.h.
2089 (push_function_context_to, pop_function_context_from,
2090 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
2091 Update.
2092 * function.h (init_lang_status, save_lang_status,
2093 restore_lang_status, mark_lang_status, free_lang_status):
2094 Move to langhooks.h.
2095 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
2096 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
2097 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
2098 LANG_HOOKS_FUNCTION_INITIALIZER): New.
2099 (LANG_HOOKS_INITIALIZER): Update.
2100 (lhd_do_nothing_f): New.
2101 * langhooks.h (struct lang_hooks_for_functions): New.
2102 (struct lang_hooks): New hooks.
2103 * langhooks.c (lhd_do_nothing_f): New.
2104objc:
2105 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
2106 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
2107
db430d26
DM
21082002-04-19 David S. Miller <davem@redhat.com>
2109
2110 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
2111 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
2112
0f2a3457
JJ
21132002-04-19 Jakub Jelinek <jakub@redhat.com>
2114
2115 PR optimization/3756
2116 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
2117 x = ((int) y < 0) ? cst1 : cst2.
2118
ce5e43d0
JJ
21192002-04-19 Jakub Jelinek <jakub@redhat.com>
2120
2121 PR c/6358
2122 * function.c: Reapply patch for c/6358.
2123 (expand_function_end): Copy decl_rtl's mode, not
2124 current_function_return_rtx mode.
2125
21262002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
2127
2128 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
2129 targets.
2130
40e7f8ea
TT
21312002-04-19 Tom Tromey <tromey@redhat.com>
2132
2133 * doc/install.texi (Specific): Update status of Solaris 2.8.
2134 For PR libgcj/6158.
2135
62a12b27
AS
21362002-04-19 Andreas Schwab <schwab@suse.de>
2137
2138 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
2139 (PUT_REAL): Restore old definition.
2140
1405141b
DN
21412002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
2142 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2143
2144 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
2145 binutils 2.11.2 and higher generate smaller binaries than Sun's
2146 native tools.
2147
303a3927
MM
21482002-04-19 Mark Mitchell <mark@codesourcery.com>
2149
2150 PR c++/6352
2151 * toplev.c (rest_of_compilation): Do not defer functions for which
2152 TREE_SYMBOL_REFERENCED has already been set.
2153
de80110b
JH
2154Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
2155
2156 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
2157 alternative.
2158
ab393bf1
NB
21592002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
2160
2161 * builtins.c: Include langhooks.h.
2162 (lang_type_promotes_to): Remove.
2163 (expand_builtin_va_arg): Use new hook.
2164 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
2165 (simple_type_promotes_to): Move to c-typeck.c.
2166 * c-common.h (simple_type_promotes_to): Remove.
2167 * c-decl.c (duplicate_decls, grokdeclarator): Update.
2168 * c-format.c: Include langhooks.h.
2169 (check_format_types): Update.
2170 * c-tree.h (c_type_promotes_to): New.
2171 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
2172 (type_lists_compatible_p): Update.
2173 * langhooks-def.h (lhd_type_promotes_to): New.
2174 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
2175 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
2176 * langhooks.c (lhd_type_promotes_to): New.
2177 * langhooks.h (struct lang_hooks_for_types): New hook.
2178 * tree.h (lang_type_promotes_to): Remove.
2179objc:
2180 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
2181
0cd3301b
RH
21822002-04-18 Richard Henderson <rth@redhat.com>
2183
58533fa2 2184 * function.c: Revert patch for c/6358.
0cd3301b
RH
2185
21862002-04-18 Richard Henderson <rth@redhat.com>
2187
58533fa2
RH
2188 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
2189 blocks. Handle multiple references to the TRAP block. Handle
2190 non-adjacent THEN and OTHER blocks.
0cd3301b 2191
58533fa2
RH
21922002-04-18 Richard Henderson <rth@redhat.com>
2193
2194 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
2195 crash with no type for by-mode libcalls.
2196
2197 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 2198
57174693
BW
21992002-04-18 Bob Wilson <bob.wilson@acm.org>
2200
2201 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
2202 __xtensa_nonlocal_goto): Use a syscall instructions to flush
2203 the register windows.
2204
46468cd9
ZW
22052002-04-18 Zack Weinberg <zack@codesourcery.com>
2206
2207 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
2208 appropriate. Document need for extended precision even when
2209 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
2210 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
2211 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
2212 instead of relying on later syntax error when REAL_WIDTH > 5.
2213 * real.c: Define NE based only on whether or not we have a
2214 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
2215 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
2216 define GET_REAL and PUT_REAL as simple memcpy operations; no
2217 need to byteswap or round.
2218 Use #error instead of #ifdef-ing out the entire file, for
2219 prompt error detection.
2220
2221 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
2222
2f82dbf8
DM
22232002-04-18 David S. Miller <davem@redhat.com>
2224
2225 * config/sparc/sparc.h (BRANCH_COST): Define.
2226
2227 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
2228 does it.
2229
566576e7
HPN
22302002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
2231
2232 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
2233 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
2234 propagate_block calls after relaxation loop using new variable
2235 stabilized_prop_flags.
2236
51dcde6f
RH
22372002-04-18 Richard Henderson <rth@redhat.com>
2238
2239 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
2240 (ia64_va_arg): Expect variable sized types by reference.
2241 * config/ia64/ia64-protos.h: Update.
46468cd9 2242 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
2243 ia64_function_arg_pass_by_reference.
2244
26406018
RH
22452002-04-18 Richard Henderson <rth@redhat.com>
2246
46468cd9
ZW
2247 * ifcvt.c: Include except.h.
2248 (block_has_only_trap): Break out from find_cond_trap.
2249 (find_cond_trap): Use it. Always delete the trap block.
2250 (merge_if_block): Allow then block null. Be less simplistic about
2251 what insns can end a block.
2252 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 2253
26406018
RH
2254 * config/ia64/ia64.md (trap, conditional_trap): New.
2255
a3acf46d
JJ
22562002-04-18 Jakub Jelinek <jakub@redhat.com>
2257
2258 PR c/6358
2259 * function.c (assign_parms): Assign hard current_function_return_rtx
2260 register here...
2261 (expand_function_end): ...not here.
2262
7a228918
NB
22632002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
2264
2265 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
2266 * c-tree.h (c_incomplete_type_error): New.
2267 * c-typeck.c (require_complete_type, build_component_ref): Update.
2268 (incomplete_type_error): Rename.
2269 * langhooks-def.h (lhd_incomplete_type_error): New.
2270 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
2271 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
2272 * langhooks.c (lhd_incomplete_type_error): New.
2273 * langhooks.h (struct lang_hooks_for_types): New hook.
2274 * tree.c (size_in_bytes): Use new hook.
2275 * tree.h (incomplete_type_error): Remove.
2276objc:
2277 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
2278
f18664c1
ZW
22792002-04-18 Zack Weinberg <zack@codesourcery.com>
2280
2281 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
2282 TARGET_FLOAT_FORMAT blocks.
2283
8ecab453
GP
22842002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2285
2286 * doc/install.texi (Downloading the source): Do not mention Chill
2287 any longer, but mention Ada.
2288 (Configuration): Do not mention Chill any longer.
2289
528d8489
HPN
22902002-04-18 Hans-Peter Nilsson <hp@axis.com>
2291
2292 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
2293
91da27c5
JH
2294Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
2295
2296 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
2297 in last patch.
2298
a32db605
JJ
22992002-04-18 Jakub Jelinek <jakub@redhat.com>
2300
2301 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
2302 instead of unsigned_type.
2303
5a28d8cc
JH
2304Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
2305
2306 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
2307 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
2308 later.
2309
3d980b9f
BS
23102002-04-18 Bernd Schmidt <bernds@redhat.com>
2311
2312 * attribs.c (vector_type_node_list): New static variable.
2313 (handle_vector_size_attribute): Use it to avoid generating a
2314 new type node each time we are called.
2315
2e676d78
BS
2316 * combine.c (subst): Avoid trying to make a vector mode subreg of
2317 an integer constant.
2318 (gen_lowpart_for_combine): Likewise.
46468cd9 2319
58c2956c
RS
23202002-04-18 Roger Sayle <roger@eyesopen.com>
2321 Jakub Jelinek <jakub@redhat.com>
2322
2323 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
2324 for integer constant c (if x has unsigned type or sign bit is not
2325 set in c). This folds the zero/sign extension into the bit-wise and
2326 operation.
2327
692efa8e
JJ
23282002-04-18 Jakub Jelinek <jakub@redhat.com>
2329
2330 PR middle-end/6205
2331 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
2332 otherwise xorps.
2333
1372d4ce
NY
23342002-04-17 NIIBE Yutaka <gniibe@m17n.org>
2335
2336 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
2337
169ce44d
NC
23382002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
2339
2340 * gcc.c (read_specs): Detect and fail if an attempt is made to
2341 rename a spec string to an already existing string.
2342
b30d2115
UW
23432002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
2344
2345 * config/s390/s390.c (legitimize_pic_address): Do not generate
2346 illegal address constant without CONST.
2347
d6964c30
KG
23482002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2349
2350 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
2351 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
2352
7c82a1ed
UW
23532002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
2354
2355 PR optimization/6305
2356 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
2357 to make sure previous reloads are taken into account. Generate
2358 better code if one operand is an in-range immediate constant.
2359
58db9d1a
AH
23602002-04-16 Andrew Haley <aph@cambridge.redhat.com>
2361
2362 * doc/install.texi (Building): libgcj requires GNU make.
2363
2a732575
JJ
23642002-04-17 Jakub Jelinek <jakub@redhat.com>
2365
2366 PR bootstrap/6315
2367 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
2368 even if hard quad and register is not floating.
2369 (movtf reg<-mem split): Disallow splitting if hard quad and
2370 register is floating.
2371 (movtf mem<-reg split): Likewise.
2372 * config/sparc/sparc.c (fp_register_operand): New predicate.
2373 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
2374
75a65e46
ZW
23752002-04-17 Zack Weinberg <zack@codesourcery.com>
2376
2377 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
2378 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
2379 (unprotoize.o): Ditto. Build from protoize.c. Define
2380 UNPROTOIZE on command line.
2381 * protoize.c: Include cppdefault.h. Delete include_defaults.
2382 (in_system_include_dir): Use cpp_include_defaults (defined in
2383 cppdefault.o).
2384 * unprotoize.c: Delete file.
2385
650f0e97
AH
23862002-04-17 Aldy Hernandez <aldyh@redhat.com>
2387
46468cd9
ZW
2388 * config/rs6000/altivec.h (vec_ld): Add array variants.
2389 (vec_lde): Same.
2390 (vec_ldl): Same.
650f0e97 2391
71a0ab0c 23922002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 2393 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 2394
46468cd9
ZW
2395 * config/rs6000/altivec.h: Define __ALTIVEC__.
2396 (bool): New.
2397 (__pixel): New.
2398 (pixel): New.
2399 (vec_cfux): New.
2400 (vec_vmaddfp): New.
2401 (vec_vsldoi): New.
2402 Add parentheses to all macro arguments.
71a0ab0c 2403
ff2c46ac
RH
24042002-04-16 Richard Henderson <rth@redhat.com>
2405
2406 PR c++/6320
2407 * except.c (remove_eh_handler): Insert inner regions at beginning
2408 of sibling chain. Refactor expressions.
2409
f1ba94dd
RH
24102002-04-16 Richard Henderson <rth@redhat.com>
2411
f0871dfe
RH
2412 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
2413 * config/sparc/sol2-gas-bi.h: New file.
2414 * config.gcc (sparc*-solaris): Add it as needed.
2415 * configure.in (AS_SPARC64_FLAG): Remove check.
2416 * config.in, configure: Regenerate.
2417
2418 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
2419
24202002-04-16 Richard Henderson <rth@redhat.com>
2421
2422 * config/mips/mips.c (override_options): Don't override N32 for
2423 a 64-bit ISA.
409d3c60 2424
f1ba94dd
RH
2425 PR 6202
2426 * config/mips/mips.md (can_delay): Split out of existing define_delays.
2427 (HILO_delay): Set can_delay false.
2428
178c3eff
DJ
24292002-04-16 Dale Johannesen <dalej@apple.com>
2430
2431 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
2432 instruction addresses.
2433 (rs6000_output_function_epilogue): Likewise.
2434
7d6f6369
PC
24352002-04-16 Paolo Carlini <pcarlini@unitus.it>
2436
2437 * c-parse.in (poplevel, compstmt_start,
2438 compstmt_primary_start): Add ending ';', in accordance
2439 with POSIX.
2440
8947df0c
RH
24412002-04-16 Richard Henderson <rth@redhat.com>
2442
2443 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
2444 Adjust tm_file order to get TARGET_DEFAULT set properly.
2445 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
2446 * doc/install.texi (sparc-solaris): Update.
2447
3148ad6d
DJ
24482002-04-16 Dale Johannesen <dalej@apple.com>
2449
2450 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
2451 comparison operands do not match each other or if modes of
2452 conditions do not match result.
2453
014cb9b6 24542002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 2455
014cb9b6
HP
2456 PR target/6305
2457 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 2458 multiword register.
562a69be 2459
014cb9b6 24602002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 2461
8947df0c 2462 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 2463
a9772b60
JJ
24642002-04-16 Jakub Jelinek <jakub@redhat.com>
2465
2466 PR middle-end/6279
2467 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
2468
2469 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
2470
861829ed
RH
24712002-04-15 Richard Henderson <rth@redhat.com>
2472
2473 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
2474 call_really_used_regs too.
2475
bcf2fe9c
RH
24762002-04-15 Richard Henderson <rth@redhat.com>
2477
2478 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
2479
629111c7
DM
24802002-04-15 David S. Miller <davem@redhat.com>
2481
2482 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
2483 as being CLOBBERed.
2484
98ef3137
JJ
24852002-04-16 Jakub Jelinek <jakub@redhat.com>
2486
2487 PR c/6290
2488 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
2489 CONST_VECTOR is { 0, ... 0 }.
2490
0aa911c5
LR
24912002-04-15 Loren J. Rittle <ljrittle@acm.org>
2492
2493 * doc/install.texi (Installing GCC: Configuration): Clarify
2494 the only supported ways to configure gcc.
2495
83248d49 24962002-04-15 Roland McGrath <roland@frob.com>
46468cd9 2497
83248d49
RM
2498 * config.gcc (alpha*-*-gnu*): New target configuration.
2499 * config/alpha/gnu.h: New file for it.
2500 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
2501
b2123dc0
MM
25022002-04-16 Mark Mitchell <mark@codesourcery.com>
2503
2504 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
2505 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
2506 * tree.h (expand_start_stmt_expr): Update prototype.
2507 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
2508 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
2509 on the STMT_EXPR created for the inline function.
46468cd9 2510
8fe2d853
RH
25112002-04-15 Richard Henderson <rth@redhat.com>
2512
2513 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
2514 config/i386/linux-aout.h, config/i386/linux-oldld.h,
2515 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
2516 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
2517 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
2518 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
2519 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
2520 Define __gnu_linux__, not gnu_linux.
2521 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
2522
07cdae91
MM
25232002-04-15 Mark Mitchell <mark@codesourcery.com>
2524
2525 Remove Chill front end.
2526 * gcc.c (default_compilers): Remove Chill entries.
2527 * ch: Remove directory.
2528 * doc/frontends.texi: Remove information about Chill.
2529 * doc/sourcebuild.texi: Likewise.
2530 * doc/standards.texi: Likewise.
2531
41823c5e
DR
25322002-04-15 Douglas B Rupp <rupp@gnat.com>
2533
2534 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
2535 (LONGLONG_STANDALONE): Define.
2536
eb29ddb6
DM
25372002-04-15 David S. Miller <davem@redhat.com>
2538
2539 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
2540 Call emit_library_call with LCT_NORMAL.
2541 (sparc_initialize_trampoline): Use LCT_foo instead of
2542 magic constant in emit_library_call invocations.
2543 (sparc64_initialize_trampoline): Likewise.
2544 (sparc_profile_hook): Likewise.
2545 * config/sparc/sparc.md: Likewise.
2546
2547 * config/sparc/sparc.c (sparc_extra_constraint_check):
2548 Fix type of argument 'c'.
2549 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
2550 Likewise.
2551
bd6bec6b
GDR
25522002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
2553
2554 * diagnostic.h (output_buffer_state): Redefine.
2555 (output_format_decoder): New macro.
2556 (output_prefixing_rule): Likewise.
2557 (output_line_cutoff): Likewise.
2558 (diagnostic_format_decoder): Adjust.
2559 (diagnostic_prefixing_rule): Likewise.
2560 (diagnostic_line_cutoff): Likewise.
2561 (diagnostic_state): Likewise.
2562 (diagnostic_kind_count): Likewise.
2563 (diagnostic_buffer): Now a macro.
2564
2565 * diagnostic.c (diagnostic_buffer): Remove definition.
2566 (output_is_line_wrapping): Adjust.
2567 (set_real_maximum_length): Likewise.
2568 (output_set_maximum_length): Likewise.
2569 (init_output_buffer): Likewise.
2570 (lhd_print_error_function): Likewise.
2571 (output_do_verbatim): Likewise.
2572
ebef4e8c
NB
25732002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
2574
2575 * cpperror.c (print_location): Don't print include chain
2576 if line == 0.
2577 (cpp_begin_message): Update to use DL_ macros.
2578 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
2579 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
2580 cpp_notice, cpp_notice_from_errno): Remove.
2581 (cpp_error, cpp_error_with_line): Update to take a diagnostic
2582 level.
2583 (cpp_errno): New.
2584 * cppexp.c (CPP_ICE): Remove.
2585 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
2586 lex, integer_overflow, _cpp_parse_expr): Update.
2587 * cppfiles.c (read_include_file, find_include_file,
2588 handle_missing_header, _cpp_read_file, remap_filename): Update.
2589 * cpphash.h (enum error_type): Remove.
2590 (_cpp_begin_message): Update.
2591 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
2592 cpp_handle_option, cpp_post_options): Update.
2593 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
2594 skip_whitespace, parse_identifier, parse_slow, parse_string,
2595 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
2596 cpp_interpret_charconst): Update.
2597 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
2598 lex_macro_node, do_undef, glue_header_name, parse_include,
2599 do_include_common, read_flag, do_line, do_linemarker, do_ident,
2600 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
2601 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
2602 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
2603 _cpp_pop_buffer, do_diagnostic): Update.
2604 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
2605 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
2606 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
2607 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
2608 cpp_notice, cpp_notice_from_errno): Remove.
2609 (cpp_error, cpp_error_with_line): Update to take a diagnostic
2610 level.
2611 (cpp_errno): New.
2612 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
2613 collect_args, enter_macro_context, save_parameter, parse_params,
2614 _cpp_create_definition, check_trad_stringification,
2615 cpp_macro_definition): Update.
2616 * cppmain.c (cpp_preprocess_file): Update.
2617 * fix-header.c (read_scan_file): Update.
2618
c19a3859
AS
26192002-04-14 Andreas Schwab <schwab@suse.de>
2620
2621 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
2622
10fdbed6
JD
26232002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
2624
2625 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
2626
77660a9a
MM
26272002-04-13 Mark Mitchell <mark@codesourcery.com>
2628
2629 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
2630 not gnu_hurd.
2631
e0ff1ded
HPN
26322002-04-13 Hans-Peter Nilsson <hp@axis.com>
2633
2634 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
2635
2341c7ea
JS
26362002-04-13 Joel Sherrill <joel@OARcorp.com>
2637
2638 * config/sparc/t-elf: Enable v8 multilibs. Impacts
2639 sparc-elf and sparc-rtems targets.
2640
d29350c0
MM
26412002-04-13 Mark Mitchell <mark@codesourcery.com>
2642
2643 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
2644 defined, and __gnu_hurd__ wherever __GNU__ is defined.
2645 * arm/linux-elf.h: Likewise.
2646 * cris/aout.h: Likewise.
2647 * cris/linux.h: Likewise.
2648 * i370/linux.h: Likewise.
2649 * i386/gnu.h: Likewise.
2650 * i386/linux-aout.h: Likewise.
2651 * i386/linux-oldld.h: Likewise.
2652 * i386/linux.h: Likewise.
2653 * i386/linux64.h: Likewise.
2654 * ia64/linux.h: Likewise.
2655 * m68k/linux-aout.h: Likewise.
2656 * m68k/linux.h: Likewise.
2657 * mips/linux.h: Likewise.
2658 * pa/pa-linux.h: Likewise.
2659 * pj/linux.h: Likewise.
2660 * rs6000/sysv4.h: Likewise.
2661 * s390/linux.h: Likewise.
2662 * sh/linux.h: Likewise.
2663 * sparc/linux-aout.h: Likewise.
2664 * sparc/linux.h: Likewise.
2665 * sparc/linux64.h: Likewise.
2666 * xtensa/linux.h: Likewise.
2667
fc552851
RS
26682002-04-13 Richard Sandiford <rsandifo@redhat.com>
2669
2670 * stmt.c (check_unique_operand_names): Expect operand names to
2671 be strings rather than identifiers. Use simple_cst_equal to
2672 compare them.
2673 (resolve_operand_name_1): Make same identifier to string change here.
2674 * c-parse.in (asm_operand): Convert a named operand into a string.
2675 * cp/parse.y (asm_operand): Likewise.
2676
1d405c5e
AS
26772002-04-13 Andreas Schwab <schwab@suse.de>
2678
2679 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
2680
c740732f
MM
26812002-04-12 Mark Mitchell <mark@codesourcery.com>
2682
2683 Revert these changes:
2684
2685 2002-04-06 Mark Mitchell <mark@codesourcery.com>
2686
2687 PR c++/5571
2688 * stor-layout.c (layout_decl): Reset the RTL for the decl.
2689
3fc602a0
RH
26902002-04-12 Richard Henderson <rth@redhat.com>
2691
2692 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
2693 (sparc*-*-solaris): Clean up header files.
2694 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
2695 and plan on generating 64-bit code.
2696 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
2697 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
2698 * config/sparc/sol2-sld-64.h: Rename ...
2699 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
2700 for AS_SPARC64_FLAG not defined.
2701 * config/sparc/sol2-gld-bi.h: New.
2702 * config/sparc/sol2-sld.h: Remove.
2703 * config/sparc/sol26-sld.h: New.
2704 * config/sparc/sol2.h: Tidy comments.
2705 * doc/install.texi: Document sparc-solaris configury changes.
2706
2f15e255
RH
27072002-04-12 Richard Henderson <rth@redhat.com>
2708
2709 * recog.c (offsettable_address_p): Match the logic in adjust_address.
2710
2711 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
2712 in 64-bit mode only. Use only for 32-bit or MEDLOW.
2713
cc8475cb
RO
27142002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2715
2716 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
2717
6f133a4a
JL
2718Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
2719
ef1b8858 2720 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
2721 constrain_operands.
2722
1329e600
DR
27232002-04-12 Douglas B Rupp <rupp@gnat.com>
2724
2725 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
2726 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
2727 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 2728 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
2729 * config/i386/t-interix (USER_H): Remove.
2730
0339d239
DD
27312002-04-12 DJ Delorie <dj@redhat.com>
2732
2733 * integrate.c (compare_blocks): Make comparisons safe for when
2734 sizeof(int) < sizeof(char *).
2735 (find_block): Likewise.
2736
cc4d5fec
JH
27372002-04-12 Jan Hubicka <jh@suse.cz>
2738 David Edelsohn <edelsohn@gnu.org>
2739
2740 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
2741 registers.
2742 (symbol_ref_operand): New.
2743 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
2744 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
2745
93215a1b
AS
27462002-04-12 Andreas Schwab <schwab@suse.de>
2747
2748 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
2749 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
2750 overrides the definition in config/svr4.h.
46468cd9 2751
1d80248e
EN
27522002-04-12 Eric Norum <eric.norum@usask.ca>
2753
2754 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
2755 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
2756 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
2757 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
2758 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
2759 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
2760 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
2761 definitions to config/rtems.h and make the targets more similar.
2762
fa1591cb
RK
2763Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2764
fa06ab5c
RK
2765 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
2766 POINTERS_EXTEND_UNSIGNED.
2767 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
2768 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
2769
fa1591cb
RK
2770 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
2771 not specified.
2772
12e85a0e
R
2773Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
2774
2775 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
2776 depends on TARGET_SHMEDIA, not TARGET_SH5.
2777
1ab3e58a
HPN
27782002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
2779
2780 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
2781 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
2782
18778292
R
2783Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
2784
2785 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
2786 no r0 clobber.
2787
9002507c
AS
27882002-04-12 Andreas Schwab <schwab@suse.de>
2789
2790 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
2791
9be40833
RH
27922002-04-12 Richard Henderson <rth@redhat.com>
2793
2794 PR bootstrap/4191
2795 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
2796
2797 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
2798 modes spanning multiple hard regs.
46468cd9 2799
9be40833
RH
2800 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
2801
3d9268b6
JDA
28022002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
2803
2804 * pa.c (pa_output_function_prologue): Don't accumulate the total
2805 number of code bytes when using TARGET_64BIT, or gas, SOM and not
2806 the portable runtime.
2807 (output_deferred_plabels): Handle 64bit plabels.
2808 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
2809 generating pic code using the GAS assembler for object formats that
2810 are not SOM (ie., ELF32 and ELF64).
2811 (output_millicode_call): Check attribute type if attribute length is 28.
2812 Likewise use $PIC_pcrel$0. Only call get_attr_length and
2813 dbr_sequence_length once.
2814 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
2815 dbr_sequence_length once.
2816 * pa.h (TARGET_SOM): Define if not defined.
2817 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
2818 with GAS and not SOM.
2819 (jump, call_internal_reg, call_value_internal_reg): Likewise.
2820 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
2821
d360fd18
DB
28222002-04-11 David O'Brien <obrien@FreeBSD.org>
2823
2824 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
2825 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
2826 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
2827 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
2828 elfos.h and dbxelf.h values are fine now.
2829 * config/i386/freebsd.h, config/alpha/freebsd.h
2830 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
2831
5b8fcab6
DB
28322002-04-11 David O'Brien <obrien@FreeBSD.org>
2833
2834 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
2835 or set Acpu or Amachine. Reformat.
2836 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
2837 define.
2838 (LINK_SPEC): Do not need to undef.
2839 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
2840 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
2841 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
2842 define.
2843 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
2844 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
2845 (LINK_SPEC): Do not need to undef.
2846 (DONT_USE_BUILTIN_SETJMP): Do not define.
2847 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
2848 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
2849 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
2850 Remove trailing spaces.
2851 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
2852 __ELF__, or set Acpu or Amachine. Reformat.
2853 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
2854 define.
2855
fee42cc1
DB
28562002-04-11 David O'Brien <obrien@FreeBSD.org>
2857
2858 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
2859 all other *-*-freebsd* targets.
2860
77a403e4
RH
28612002-04-11 Richard Henderson <rth@redhat.com>
2862
2863 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
2864
cf0005c6
DB
28652002-04-11 David O'Brien <obrien@FreeBSD.org>
2866
2867 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
2868 Include {cpu}/{cpu}.h thru tm_file.
2869 (alpha*-*-linux*ecoff): Remove target.
2870 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
2871 (LINK_SPEC): Remove, is not OS independent.
2872 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
2873 (LINK_SPEC): Do not need to #undef any longer.
2874 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
2875 any longer.
2876 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
2877 __ELF__.
2878 (LINK_SPEC): Moved here from alpha/elf.h.
2879 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
2880 SUB_CPP_PREDEFINES.
2881 * config/alpha/linux-ecoff.h: Remove.
2882 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
2883 (CPP_SPEC): Define _POSIX_SOURCE as needed.
2884 (CPP_SUBTARGET_SPEC): Do not define.
2885 (LINK_SPEC): Do not need to #undef any longer.
2886 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
2887 * config/alpha/vms.h: Likewise.
2888
9be40833 28892002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
2890
2891 * doc/extend.texi: Remove old claim that typedefs cannot have
2892 an alignment attribute.
2893
010f87c4
JJ
28942002-04-11 Jakub Jelinek <jakub@redhat.com>
2895
2896 PR optimization/6177
2897 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
2898 bitpos is 0 and bitsize CONCAT size.
2899
578fc63d
JJ
29002002-04-11 Jakub Jelinek <jakub@redhat.com>
2901
2902 PR c/6223
2903 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
2904
bf9b85ce
DB
29052002-04-10 David O'Brien <obrien@FreeBSD.org>
2906
2907 * config/alpha/freebsd.h: Minor reformatting.
2908 (CPP_SPEC): Define ELF and add cpp_subtarget.
2909 (ASM_SPEC): No longer needed.
2910
7425707d
RH
29112002-04-11 Richard Henderson <rth@redhat.com>
2912
2913 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
2914 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
2915 (dimode mem/zero splitter): New.
2916
1a05e874
HPN
29172002-04-11 Hans-Peter Nilsson <hp@axis.com>
2918
2919 * config/cris/cris.c (cris_override_options): Tweak error message
2920 for PIC not implemented.
2921
2922 * config/cris/cris.h: Tweak comments related to parameter-passing.
2923
2924 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
2925
6f3d0447
RH
29262002-04-10 Richard Henderson <rth@redhat.com>
2927
2928 * except.c (add_ehl_entry): Allow duplicates after landing pad
2929 creation.
2930
174bf2b1
DE
29312002-04-10 David Edelsohn <edelsohn@gnu.org>
2932
2933 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
2934
03f10472
TM
29352002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
2936
2937 * c-decl.c (c_init_decl_processing): Move generation of
2938 decls for g77_integer_type_node and friends from here ...
2939 * c-common.c (c_common_nodes_and_builtins): ... to here.
2940
2f460a0a
UW
29412002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
2942
2943 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
2944 is only used as frame pointer when frame_pointer_needed is true.
2945
0be5cf85
RE
29462002-04-10 Richard Earnshaw <rearnsha@arm.com>
2947
2948 PR target/817
2949 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
2950 for the fact that the pool entry uses two words.
2951 (movdf_hard_insn): Similarly. Also, ADR instruction can span
2952 1k bytes.
2953 (movdf_soft_insn): Similarly.
2954 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
2955 for the fact that the pool entry uses three words.
2956
bf6d4777
RS
29572002-04-10 Richard Sandiford <rsandifo@redhat.com>
2958
2959 * config/mips/mips.c (mips_va_arg): When using the struct version
2960 of the EABI va_list, allow arguments in the register save area to
2961 take up less room than a stack argument.
2962
c2e9dc85
RH
29632002-04-10 Richard Henderson <rth@redhat.com>
2964
2965 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
2966 if EXPAND_INITIALIZER.
2967
bc8e8e97
RH
29682002-04-09 Richard Henderson <rth@redhat.com>
2969
2970 * config/alpha/alpha.md (movdi_er_maybe_g): New.
2971 * config/alpha/alpha.c (alpha_expand_mov): Use it.
2972
a6a063b8
AM
29732002-04-10 Alan Modra <amodra@bigpond.net.au>
2974
2975 PR optimization/6233
2976 * rtlanal.c (pure_call_p): New function.
2977 * rtl.h (pure_call_p): Declare.
2978 * loop.c (prescan_loop): Use it to set has_nonconst_call.
2979 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
2980
7b2e1077
EC
29812002-04-09 Eric Christopher <echristo@redhat.com>
2982
2983 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
2984 information to .comm directive.
2985
d8a50944
RH
29862002-04-09 Richard Henderson <rth@redhat.com>
2987
2988 PR c/5078
2989 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
2990
6a58eee9
RH
29912002-04-09 Richard Henderson <rth@redhat.com>
2992
2993 * basic-block.h (flow_delete_block_noexpunge): Declare.
2994 (expunge_block_nocompact): Declare.
2995 * cfg.c (expunge_block_nocompact): Split out from ...
2996 (expunge_block): ... here.
2997 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
2998 (flow_delete_block_noexpunge): Split out from ...
2999 (flow_delete_block): ... here.
3000 * cfgcleanup.c (delete_unreachable_blocks): Compact while
3001 removing dead blocks.
3002 * except.c (exception_handler_labels): Remove.
3003 (exception_handler_label_map): New.
3004 (struct eh_region): Add aka member.
3005 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
3006 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
3007 (for_each_eh_label, for_each_eh_label_1): New.
3008 (init_eh): Register exception_handler_label_map.
3009 (free_eh_status): Use free_region.
3010 (find_exception_handler_labels): Use the map, not the list.
3011 (remove_exception_handler_label): Likewise.
3012 (maybe_remove_eh_handler): Likewise.
3013 (remove_eh_handler): Use the region aka bitmap.
3014 * except.h (exception_handler_labels): Remove.
3015 (for_each_eh_label): Declare.
3016 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
3017 * loop.c (invalidate_loops_containing_label): New.
3018 (find_and_verify_loops): Use it. Use for_each_eh_label.
3019 * sched-rgn.c (is_cfg_nonregular): Use
3020 current_function_has_exception_handlers.
3021
b47374fa
RH
30222002-04-09 Richard Henderson <rth@redhat.com>
3023
3024 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
3025 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
3026 Do not return changed status.
3027 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
3028 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
3029 New functions that do return changed status.
3030 * sbitmap.h: Update decls.
3031 * gcse.c, lcm.c: Use _cg functions as needed.
3032
1951818c
R
3033Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
3034
3035 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
3036 (sh64-*-elf*, sh-*-rtemself*): Likewise.
3037 * config/sh/embed_bb.c: New file.
3038 * config/sh/embed-elf.h: New file.
3039 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
3040 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
3041 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
3042 __PTRDIFF_TYPE__ .
3043 (SUBTARGET_CPP_PTR_SPEC): Don't define.
3044 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
3045 Add subtarget_asm_endian_spec.
3046 (ASM_SPEC): Use subtarget_asm_endian_spec.
3047 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
3048 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
3049 (WCHAR_UNSIGNED): Define.
3050 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
3051 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
3052 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
3053 Fix value.
3054 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
3055 (sh_adjust_cost): Likewise.
3056 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
3057 __PTRDIFF_TYPE__ .
3058 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
3059 (WCHAR_TYPE_SIZE): Likewise.
3060 (ASM_SPEC): Use subtarget_asm_endian_spec.
3061 (SH_ELF_WCHAR_TYPE): #undef/ #define.
3062 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
3063 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
3064 (MAX_WCHAR_TYPE_SIZE): Don't #define .
3065 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
3066 (USER_LABEL_PREFIX): Don't #undef /#define .
3067 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
3068 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
3069 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
3070 (ASM_SPEC): Likewise.
3071 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
3072 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
3073 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
3074 (LIB2FUNCS_EXTRA): Define.
3075 * t-sh64 (LIB2FUNCS_EXTRA): Define.
3076 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
3077 (LIB1ASMFUNCS_CACHE): Define.
3078 (LIB2FUNCS_EXTRA): Redefine empty.
3079
34295799
RH
30802002-04-08 Richard Henderson <rth@redhat.com>
3081
3082 * reorg.c (get_branch_condition): Use reversed_comparison_code.
3083
e8766a39
SC
30842002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3085
3086 * config/m68hc11/larith.asm (__map_data_section): Fix condition
3087 and optimize for size.
3088 (__do_global_ctors): Fix pointer comparison.
3089 (__do_global_dtors): Likewise.
3090
f451b552
DM
30912002-04-09 David S. Miller <davem@redhat.com>
3092
3093 * config/sparc/sparc.c (sparc_extra_constraint_check): New
3094 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
3095 allow reloading pseudos.
3096 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
3097 * config/sparc/sparc-protos.h: Declare it.
3098
3099 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
3100 unsigned comparison warning.
3101 (output_restore_regs): Mark leaf_function as unused.
3102
1ce7f3c2
RK
3103Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3104
3105 * expr.c (is_aligning_offset): New function.
3106 (expand_expr, case COMPONENT_EXPR): Call it.
3107
7a31a340
DM
31082002-04-08 David S. Miller <davem@redhat.com>
3109
3110 PR target/6082
3111 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
3112
3113 Make init_priority work on Sparc when using GNU ld.
3114 * config/sparc/linux.h, config/sparc/linux64.h,
3115 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
3116 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
3117 * config/sparc/sol2-gld.h: New file to do the same.
3118 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
3119 sparc/sol2-gld.h to tm_file.
3120
3121 PR optimization/4328
3122 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
3123 * doc/md.texi: Document it.
3124 * config/sparc/sparc.md (movdi_insn_sp64_novis,
3125 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
3126 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
3127 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
3128 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
3129
11579f33
AJ
31302002-04-08 Andreas Jaeger <aj@suse.de>
3131
3132 * stmt.c (expand_asm_operands): Revert last patch from Richard
3133 Henderson.
3134
b57215d9
GP
31352002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3136
3137 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
3138 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
3139
31402002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3141
3142 * doc/contrib.texi (Contributors): Add David O'Brien.
3143
534d0cc0
AM
31442002-04-08 Alan Modra <amodra@bigpond.net.au>
3145
3146 * configure.in (auto-build.h): Use target_alias and build_alias
3147 when running configure.
3148 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
3149 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
3150 * configure: Regenerate.
3151
19fe522a
DM
31522002-04-07 David S. Miller <davem@redhat.com>
3153
3154 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
3155
bf2d0b8e
JDA
31562002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
3157
3158 PR 5933
3159 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
3160 generating 32-bit pic code.
3161
477cdac7
JT
31622002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
3163
3164 * cppinit.c (cpp_create_reader): Initialize
3165 discard_comments_in_macro_exp.
3166 (COMMAND_LINE_OPTIONS): Add "-CC" option.
3167 (cpp_handle_option): Handle "-CC" option.
3168 * cpplex.c (save_comment): If saving a C++ comment in
3169 a directive, convert it to a C comment.
3170 (_cpp_lex_direct): Pass second comment start character to
3171 save_comment to indicate comment type.
3172 * cpplib.c (_cpp_handle_directive): If processing
3173 a "#define" directive and discard_comments_in_macro_exp
3174 is false, re-enable saving of comments.
3175 (lex_macro_node): If discard_comments_in_macro_exp is false,
3176 discard any comments before the macro identifier.
3177 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
3178 member.
3179 * cppmacro.c (cpp_get_token): If expanding a macro while
3180 processing a directive, discard any comments we might encounter.
3181 (parse_params): If discard_comments_in_macro_exp is false,
3182 ignore comments in the macro parameter list.
3183 * gcc.c (cpp_unique_options): Add "-CC" option.
3184 (option_map): Map "--comments-in-macros" to "-CC".
3185 * doc/cppopts.texi: Document "-CC" option.
3186 * f/lang-specs.h: Add "-CC" option.
3187 * testsuite/gcc.dg/cpp/maccom1.c: New test.
3188 * testsuite/gcc.dg/cpp/maccom2.c: New test.
3189 * testsuite/gcc.dg/cpp/maccom3.c: New test.
3190 * testsuite/gcc.dg/cpp/maccom4.c: New test.
3191 * testsuite/gcc.dg/cpp/maccom5.c: New test.
3192 * testsuite/gcc.dg/cpp/maccom6.c: New test.
3193
f1526122
JDA
31942002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
3195
3196 PR middle-end/6180
3197 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
3198
b1896e61
MM
31992002-04-06 Mark Mitchell <mark@codesourcery.com>
3200
0154eaa8
MM
3201 PR c++/5571
3202 * stor-layout.c (layout_decl): Reset the RTL for the decl.
3203
b1896e61
MM
3204 PR opt/5120
3205 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
3206 RTX_UNCHANGING_P for the functions arguments when a tail call
3207 is made.
3208
b0148884
JM
32092002-04-06 Jason Merrill <jason@redhat.com>
3210
3211 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
3212 (parse_options_and_default_flags): Set them appropriately.
3213 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
3214
392fc5b0
HPN
32152002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
3216
3217 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
3218 here.
3219
3220 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
3221 semicolon.
3222
3223 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
3224 types come in by-reference. Fix typo in comment.
3225
2d69e3cb
DM
32262002-04-05 David S. Miller <davem@redhat.com>
3227
3228 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
3229 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
3230 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
3231 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
3232
32332002-04-05 David S. Miller <davem@redhat.com>
3234
3235 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
3236 are not going to emit return instructions, emit at least a nop
3237 for the sake of sane backtraces.
3238
5f9fb0e3
RH
32392002-04-05 Richard Henderson <rth@redhat.com>
3240
3241 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
3242
49f37a0d
JJ
32432002-04-05 Jakub Jeilnek <jakub@redhat.com>
3244
3245 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
3246
974a3101
AO
32472002-04-05 Alexandre Oliva <aoliva@redhat.com>
3248
3249 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
3250 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
3251 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
3252
2e04a694
AS
32532002-04-05 Andreas Schwab <schwab@suse.de>
3254
a40179bd 3255 * c-convert.c: Include c-common.h.
2e04a694
AS
3256 * Makefile.in (c-convert.o): Updated.
3257
1f785b7c
JJ
32582002-04-05 Jakub Jelinek <jakub@redhat.com>
3259
3260 * mklibgcc.in: Use separate libgcc.map for each multilib.
3261 * Makefile.in (distclean): Don't remove libgcc.map here.
3262
4d2fb38b
JJ
32632002-04-05 Jakub Jelinek <jakub@redhat.com>
3264
3265 * Makefile.in (s-mlib): Handle --disable-multilib by separate
3266 genmultilib invocation.
3267
bb63e5a0
RS
32682002-04-04 Richard Sandiford <rsandifo@redhat.com>
3269
3270 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
3271 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
3272 to num_gprs for symmetry.
3273 * config/mips/mips.c: Adjust accordingly.
3274
8ab80eaa
NB
32752002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
3276
3277 * c-common.c (truthvalue_conversion): Rename, update.
3278 * c-common.h (c_common_truthvalue_conversion): New.
3279 * c-convert.c (convert): Update.
3280 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
3281 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
3282 * c-typeck.c (build_binary_op, build_unary_op,
3283 build_conditional_expr): Update.
3284 * fold-const.c (constant_boolean_node, fold): Use langhook.
3285 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
3286 * langhooks.h (struct lang_hooks): New hook.
3287 * stmt.c (expand_decl_cleanup): Use langhook.
3288 * tree.h (truthvalue_conversion): Remove.
3289objc:
3290 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
3291
a2e9374a
AM
32922002-04-05 Alan Modra <amodra@bigpond.net.au>
3293
3294 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
3295 Add rules to make null object file.
3296
64d08263
JB
32972002-04-04 Jim Blandy <jimb@redhat.com>
3298
3299 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
3300 macro formal parameter names.
3301
aa7634dd
DM
33022002-04-04 David S. Miller <davem@redhat.com>
3303
3304 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
3305
ecc114f7
RH
33062002-04-04 Richard Henderson <rth@redhat.com>
3307
3308 PR middle-end/5099
3309 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
3310 Support copies into and out of memory. Don't accept allows_reg
3311 and allows_mem as gospel.
3312
c4484b8f
RH
33132002-04-04 Richard Henderson <rth@redhat.com>
3314
3315 PR opt/6165
3316 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
3317 (write_dependence_p): Likewise.
3318
39002160
RH
33192002-04-04 Richard Henderson <rth@redhat.com>
3320
3321 * predict.c (estimate_bb_frequencies): Do frequency calculation
3322 with a volatile temporary.
3323
f53ebe71
UW
33242002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
3325
3326 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
3327
15e0ecab
JJ
33282002-04-04 Jakub Jelinek <jakub@redhat.com>
3329
3330 PR c++/6119
3331 * final.c (final_start_function): Don't bump profile_label_no here...
3332 (final_end_function): ...but here.
3333
ffd386b0
JJ
33342002-04-04 Jakub Jelinek <jakub@redhat.com>
3335
3336 * config/sparc/sparc.md (pic): New attribute.
3337 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
3338 into stack slots.
3339 (split after do_builtin_setjmp_setup): New.
3340
8b156b3e
JJ
33412002-04-04 Jakub Jelinek <jakub@redhat.com>
3342
3343 PR fortran/6106
3344 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
3345 change.
3346
014c0998
JJ
33472002-04-04 Jakub Jelinek <jakub@redhat.com>
3348
3349 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
3350 UNITS_PER_WORD for zero sized aggregates.
3351
4d8611d9
DM
33522002-04-03 David S. Miller <davem@redhat.com>
3353
3354 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
3355 one-character spec for this, just use %(link_gcc_c_sequence).
3356
b03ad99d
DM
33572002-04-03 David S. Miller <davem@redhat.com>
3358
3359 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
3360 handling.
3361
823fbbce
JDA
33622002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
3363
3364 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
3365 (DWARF_FRAME_RETURN_COLUMN): Move.
3366 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3367 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
3368 * pa.c (except.h, predict.h): Include.
3369 (FRP): Delete.
3370 (store_reg_modify, set_reg_plus_d): Revise prototypes.
3371 (output_ascii): Add cast.
3372 (store_reg_modify): Revise to add frame notes.
3373 (set_reg_plus_d): Likewise.
3374 (compute_frame_size): Include space for eh data registers in frame if
3375 the current function calls eh_return.
3376 (hppa_expand_prologue): Ensure register %r2 is saved if the current
3377 function calls eh_return. Save eh data registers if the current
3378 function calls eh_return. Fix code to add frame notes. Emit
3379 blockage to prevent insns with frame notes being scheduled in the
3380 delay slot of calls.
3381 (hppa_expand_epilogue): Restore eh data registers and do final stack
3382 adjustment if the current function calls eh_return. Don't add frame
3383 notes.
3384 (output_call): Revise for change in length of call insn. Don't do
3385 return pointer adjustment for an unconditional jump in the delay slot
3386 of a call when using frame notes.
3387 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
3388 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
3389 (ARG_POINTER_CFA_OFFSET): Define.
3390 * pa.md (return_external_pic): New pattern.
3391 (prologue): Correct formatting. Use return_external_pic if current
3392 function calls eh_return.
3393 (call_internal_symref, call_value_internal_symref,
3394 sibcall_internal_symref, sibcall_value_internal_symref): Change default
3395 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
3396 respectively.
3397 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
3398
3399 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
3400 list of targets to check using "nop" insn.
3401 * configure: Rebuilt.
3402
4078e224
AM
34032002-04-04 Alan Modra <amodra@bigpond.net.au>
3404
3405 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
3406
bbd7687d
DM
34072002-04-03 David S. Miller <davem@redhat.com>
3408
3409 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
3410 library sequence passed to the linker.
3411 (LINK_COMMAND_SPEC): Use it.
3412 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
3413 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
3414 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3415
659e5a7a
JM
34162002-04-03 Jason Merrill <jason@redhat.com>
3417
3418 * except.c (struct eh_status): Remove protect_list.
3419 (begin_protect_partials, end_protect_partials): Remove.
3420 (add_partial_entry): Remove.
3421 * except.h: Remove prototypes.
3422
3423 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
3424 expand_decl_cleanup_eh.
3425
3426 PR c++/5636
3427 * tree.h (CLEANUP_EH_ONLY): New macro.
3428 * stmt.c (expand_decl_cleanup_eh): New fn.
3429 (expand_cleanups): Check CLEANUP_EH_ONLY.
3430 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
3431 Use expand_decl_cleanup_eh.
3432 (expand_stmt): Adjust.
3433 * c-common.h: Adjust prototype.
3434
053d3344
HPN
34352002-04-04 Hans-Peter Nilsson <hp@axis.com>
3436
3437 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
3438 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
3439 (cris_target_asm_function_epilogue): Ditto.
3440 (cris_initial_frame_pointer_offset): Ditto.
3441 (cris_simple_epilogue): Ditto.
3442 (cris_expand_builtin_va_arg): Variable-size types come in
3443 by-reference.
3444
61ab5260
DM
34452002-04-03 David S. Miller <davem@redhat.com>
3446
3447 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
3448 little-endian.
3449 (set_fast_math): Correct 'fsr' type.
3450
ef4f94ac
RH
34512002-04-03 Richard Henderson <rth@redhat.com>
3452
36c2272c 3453 PR opt/3569
ef4f94ac
RH
3454 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
3455 * toplev.c (check_global_declarations): Use it.
3456 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
3457 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
3458 (LANG_HOOKS_DECLS): Add it.
3459 * langhooks.c (lhd_warn_unused_global_decl): New.
3460 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
3461 * c-objc-common.c (c_warn_unused_global_decl): New.
3462 * c-tree.h (c_warn_unused_global_decl): Declare.
3463 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
3464
599bba86
NB
34652002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
3466
3467 * langhooks-def.h (lhd_set_decl_assembler_name,
3468 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
3469 (LANG_HOOKS_INITIALIZER): Update.
3470 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
3471 * langhooks.h (struct lang_hooks): New hook.
3472 * tree.c (set_decl_assembler_name): Move to langhooks.c.
3473 (lang_set_decl_assembler_name): Remove.
3474 (init_obstacks): Don't set hook.
3475 (decl_assembler_name): New function.
3476 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
3477 (decl_assembler_name): New.
3478 (lang_set_decl_assembler_name): Remove.
3479
cf7b8b0d
JJ
34802002-04-03 Jakub Jelinek <jakub@redhat.com>
3481
3482 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
3483 works properly with .hidden symbols.
3484 * configure: Rebuilt.
3485 * config.in: Rebuilt.
3486 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
3487 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
3488 properly with .hidden symbols.
3489
faf6db38
JJ
34902002-04-03 Jakub Jelinek <jakub@redhat.com>
3491
3492 PR middle-end/6102
3493 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
3494 USE argument.
3495
68c17f30
RH
34962002-04-03 Richard Henderson <rth@redhat.com>
3497
3498 PR opt/4120
3499 * sched-rgn.c (sets_likely_spilled): New.
3500 (sets_likely_spilled_1): New.
3501 (add_branch_dependences): Use it.
3502
6584b4aa
RH
35032002-04-02 Richard Henderson <rth@redhat.com>
3504
3505 PR opt/4311
3506 * loop.h (LOOP_FIRST_PASS): New.
3507 * loop.c (strength_reduce): Mind it when deciding to unroll.
3508 * toplev.c (rest_of_compilation): Set it.
3509
0acf409f
DM
35102002-04-02 David S. Miller <davem@redhat.com>
3511
3512 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
3513 mems_ok_for_ldd_peep when the order of the loads being examined
3514 is reversed.
3515 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
3516 existing comment to increase comprehension of this situation.
3517
85654444
ZW
35182002-04-02 Zack Weinberg <zack@codesourcery.com>
3519
3520 * config/sh/sh.md: Don't use union real_extract.
3521
543828ca
RH
35222002-04-02 Richard Henderson <rth@redhat.com>
3523
3524 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
3525
39ed301b
DB
35262002-04-02 David O'Brien <obrien@FreeBSD.org>
3527
3528 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
3529 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
3530 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
3531 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
3532 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
3533 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
3534 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
3535 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
3536 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
3537 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
3538 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
3539 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
3540 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
3541 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
3542 Include as many configury headers via tm_file as possible. This
3543 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
3544 * config/openbsd-oldgas.h: New file.
3545 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
3546 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
3547 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
3548 config/i386/i386-coff.h, config/i386/i386-interix.h,
3549 config/i386/iscdbx.h, config/i386/linux-aout.h,
3550 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
3551 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
3552 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
3553 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
3554 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
3555 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
3556 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
3557 config/i386/vxi386.h: Do not directly include configury headers.
3558 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
3559 Directly include configury headers that are no longer automatically
3560 included by the above headers.
3561 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
3562 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
3563 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
3564 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
3565 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
3566 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
3567 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
3568 (TARGET_VERSION): Define.
3569 * config/i386/beos-elf.h, config/i386/freebsd.h,
3570 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
3571 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
3572 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
3573 config/i386/sco5.h, config/i386/sysv4.h
3574 (TARGET_VERSION): Do not need to protect.
3575 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
3576 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
3577 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
3578 config/i386/i386-interix.h, config/i386/linux-aout.h,
3579 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
3580 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
3581 (YES_UNDERSCORES): Do not define - not needed.
3582 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
3583 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
3584 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
3585 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
3586 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
3587 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
3588 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
3589 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
3590
9432c136
EB
35912002-04-02 Eric Botcazou <ebotcazou@multimania.com>
3592 Richard Henderson <rth@redhat.com>
3593
3594 PR c/5484
3595 * function.c (assign_temp): Accept either type or decl argument.
3596 Detect variables whose size is too large to fit into an integer.
3597 * stmt.c (expand_decl): Pass the decl, not the type.
3598
058b1275
DB
35992002-04-02 David O'Brien <obrien@FreeBSD.org>
3600
3601 * protoize.c: Match include directory usage with cppdefault.c.
3602
5add6d1a 36032002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 3604 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
3605
3606 * combine.c (simplify_comparison): Avoid narrowing a comparison
3607 with a paradoxical subreg when doing so would drop signficant bits.
3608
1e533e4b
SE
36092002-04-02 Steve Ellcey <sje@cup.hp.com>
3610
3611 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
3612 if POINTERS_EXTEND_UNSIGNED is defined.
3613
7a145e92
RH
36142002-04-02 Richard Henderson <rth@redhat.com>
3615
3616 PR opt/3967
3617 * local-alloc.c (contains_replace_regs): LO_SUM may contain
3618 replace regs.
3619
3a079822
RH
36202002-04-02 Richard Henderson <rth@redhat.com>
3621
3622 * doc/standards.texi: Document required freestanding libc entry points.
3623
c94ccb87
AM
36242002-04-02 Alan Modra <amodra@bigpond.net.au>
3625
3626 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
3627 associated splitter. Remove MQ constraint.
3628 (ctrdi_internal4): Correct CCmode clobber.
3629
fe660a1a
JDA
36302002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
3631
3632 * milli64.S ($$dyncall): New function.
3633 * t-linux (LIB1ASMFUNCS): Revise module list.
3634 (LIB1ASMSRC): Use pa/milli64.S.
3635
eadc0202
RH
36362002-04-02 Richard Henderson <rth@redhat.com>
3637
3638 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
3639 rename solaris_sys_varargs_h.
3640
a1471322
RK
3641Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3642
3643 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
3644 the same mode as its component.
3645
c8b94768
RH
36462002-04-02 Richard Henderson <rth@redhat.com>
3647
3648 PR opt/190
3649 * final.c (this_is_asm_operands): Export.
3650 * output.h (this_is_asm_operands): Declare.
3651 * config/i386/i386.c (print_operand): Error odd asm operands.
3652
161eb4fc
RH
36532002-04-02 Richard Henderson <rth@redhat.com>
3654
3655 PR opt/420
3656 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
3657
b88a94c6
RH
36582002-04-01 Richard Henderson <rth@redhat.com>
3659
3660 PR target/1538
3661 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
3662 * fixinc/fixincl.x: Rebuild.
3663
72e32876
RH
36642002-04-01 Richard Henderson <rth@redhat.com>
3665
3666 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
3667 (atomic_alloc, atomic_free): New.
3668 (SIZE, MASK_FOR, PTR_IN): New.
3669 (emergency_reg_state, emergency_reg_state_free): New.
3670 (emergency_labeled_state, emergency_labeled_state_free): New.
3671 (reg_state_alloced, labeled_state_alloced): New.
3672 (alloc_reg_state, free_reg_state): New.
3673 (alloc_label_state, free_label_state, free_label_states): New.
3674 (push, pop, dup_state_stack, free_state_stack): Use them.
3675 (desc_label_state): Likewise.
3676 (uw_frame_state_for): Free label states and state stack.
3677 (uw_update_reg_address): Eliminate warnings.
3678
84d76074
VM
36792002-04-01 Vladimir Makarov <vmakarov@redhat.com>
3680
3681 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 3682 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 3683
dffd7eb6
NB
36842002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
3685
3686 * c-decl.c (grokdeclarator): Update.
3687 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
3688 * c-tree.h (c_mark_addressable): New.
3689 * c-typeck.c (default_function_array_conversion, build_unary_op,
3690 build_array_ref, convert_for_assignment): Update.
3691 (mark_addressable): Rename.
3692 * calls.c (try_to_integrate, expand_call): Use langhook.
3693 * expr.c (expand_expr): Use langhook.
3694 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
3695 * langhooks.h (struct lang_hooks): New hook.
3696 * stmt.c (expand_asm_operands): Use langhook.
3697 * tree.h (mark_addressable): Remove.
3698objc:
3699 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
3700
544ef5b5
BW
37012002-04-01 Bob Wilson <bob.wilson@acm.org>
3702
9be40833
RH
3703 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
3704 in previous change.
544ef5b5 3705
bcf88f9b
BW
37062002-04-01 Bob Wilson <bob.wilson@acm.org>
3707
3708 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
3709 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
3710
ceef8ce4
NB
37112002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
3712
3713 * c-common.c (unsigned_conversion_warning, convert_and_check,
3714 unsigned_type, signed_type, shorten_compare,
3715 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
3716 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
3717 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
3718 New.
3719 * c-decl.c (grokdeclarator): Update.
3720 * c-format.c (check_format_types): Update.
3721 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
3722 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
3723 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
3724 * convert.c (convert_to_integer): Use new hooks.
3725 * expmed.c (make_tree): Use new hooks.
3726 * expr.c (store_expr): Use new hooks.
3727 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
3728 all_ones_mask_p, unextend, fold): Use new hooks.
3729 * langhooks.h (struct lang_hooks_for_types): New hooks.
3730 * tree.h (signed_or_unsigned_type, signed_type,
3731 unsigned_type): Remove.
3732objc:
3733 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
3734 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
3735
1d9ad0e0
RH
37362002-03-31 Richard Henderson <rth@redhat.com>
3737
3738 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
3739 (desc_frgr_mem): Fix reference to f16-f31.
3740
d544bc39
KG
37412002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3742
3743 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
3744 RTVEC_ELT): Const-ify.
d8750784
KG
3745 * varray.h (VARRAY_CHECK): Const-ify.
3746 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
3747 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 3748
b18101c7
NB
37492002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
3750
3751 * diagnostic.c: Include langhooks-def.h.
3752 * Makefile.in (diagnostic.o): Update.
3753
48a7a235
NB
37542002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
3755
3756 * c-common.c (c_unsafe_for_reeval): Rename.
3757 * c-common.h (c_unsafe_for_reeval): Rename.
3758 * c-decl.c (finish_incomplete_decl): Rename.
3759 (c_init_decl_processing): Don't set langhook.
3760 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
3761 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
3762 * c-objc-common.c (c_objc_common_init): Don't set langhook.
3763 * c-tree.h (finish_incomplete_decl): Rename.
3764 * langhooks-def.h (lhd_unsafe_for_reeval): New.
3765 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
3766 (LANG_HOOKS_INITIALIZER): Update.
3767 * langhooks.c (lhd_unsafe_For_reeval): New.
3768 * langhooks.h (struct langhooks): New hooks.
3769 * toplev.c (incomplete_decl_finalize_hook): Remove.
3770 (wrapup_global_declarations): Update.
3771 * tree.c (lang_unsafe_for_reeval): Remove.
3772 (unsafe_for_reeval): Update.
3773 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
3774 Remove.
3775objc:
3776 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
3777 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
3778
7cb32822
NB
37792002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
3780
3781 * diagnostic.c (print_error_function): Remove.
3782 (default_print_error_function): Rename.
3783 (report_error_function): Update.
3784 * diagnostic.h (print_error_function): Remove.
3785 (default_print_error_function): Remove.
3786 * langhooks-def.h (struct diagnostic_context): Predeclare.
3787 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
3788 (LANG_HOOKS_INITIALIZER): Update.
3789 * langhooks.h (struct diagnostic context): Predeclare.
3790 (struct lang_hooks): New hook.
3791
1db02437
FS
37922002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3793
3794 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
3795 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
3796 !flag_pic.
3797 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
3798 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
3799 of PIC_OFFSET_TABLE_REGNUM thruout.
3800 * config/rs6000/rs6000.md: Likewise.
3801 * config/rs6000/darwin.h: Likewise.
3802
3bf1e984
RK
3803Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3804
3805 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
3806 unsigned HOST_WIDE_INT, not unsigned int.
3807
0864c526
JJ
38082002-03-31 Jakub Jelinek <jakub@redhat.com>
3809
3810 PR middle-end/6096, middle-end/6098, middle-end/6099
3811 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
3812 CODE_LABELs.
3813 (fill_slots_from_thread): Likewise.
3814
105b2084
JJ
38152002-03-31 Jakub Jelinek <jakub@redhat.com>
3816
3817 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
3818 floating fields in float regs.
3819 (function_arg_record_value_2): Likewise.
3820
db08fddf
HPN
38212002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
3822
3823 * config/mmix/mmix.md (define_constants): Remove misleading
3824 FIXME. Add MMIX_fp_rO_OFFSET.
3825 ("nonlocal_goto_receiver"): Don't have stack-frame address of
3826 saved rO as part of the pattern. Remove FIXME.
3827 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
3828 here, at output-time.
3829
4f31cce8
JJ
38302002-03-31 Jakub Jelinek <jakub@redhat.com>
3831
3832 PR middle-end/6100
3833 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
3834 REG_BR_PRED.
3835 (output_v9branch): Likewise.
3836
ba2b7435
AO
38372002-03-31 Alexandre Oliva <aoliva@redhat.com>
3838
3839 * gcc.c: Revert previous patch for now.
3840 * config/i386/djgpp.h: Likewise.
3841
aa66aa5f 38422002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
3843
3844 * config/mmix/crti.asm (_init): Register _fini with atexit.
3845 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
3846
41ba8a20
RH
38472002-03-31 Richard Henderson <rth@redhat.com>
3848
3849 PR target/3997
3850 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
3851 (ASM_OUTPUT_DEF_FROM_DECLS): New.
3852
adc186ef
RH
38532002-03-31 Richard Henderson <rth@redhat.com>
3854
3855 * libgcc2.c (__bb_exit_func): Make static.
3856
9be40833 3857 * config/alpha/alpha.md (trap): New.
a7648399 3858
9602f5a0
RH
38592002-03-31 Richard Henderson <rth@redhat.com>
3860
3861 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
3862 promoted argument types; build trap.
3863 (expand_builtin_trap): New.
3864 (expand_builtin): Use it.
3865 * stmt.c (expand_nl_goto_receivers): Likewise.
3866 * expr.h (expand_builtin_trap): Declare.
3867 * libfuncs.h (LTI_abort, abort_libfunc): New.
3868 * optabs.c (init_optabs): Init abort_libfunc.
3869
1a0a7539
AO
38702002-03-31 Alexandre Oliva <aoliva@redhat.com>
3871
3872 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
3873 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 3874 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
3875 shared_name in the second copy.
3876 (init_spec): Test for duplicate
3877 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
3878
b5de1a27
DM
38792002-03-30 David S. Miller <davem@redhat.com>
3880
3881 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3882 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
3883
78414d74 38842002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 3885 Richard Henderson <rth@redhat.com>
78414d74 3886
9be40833
RH
3887 * regmove.c (combine_stack_adjustments_for_block): Avoid
3888 emitting a stack adjustment of zero bytes. Let delete_insn
3889 update bb->head.
78414d74 3890
33074e5f
RH
38912002-03-30 Richard Henderson <rth@redhat.com>
3892
3893 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
3894 (sparc_emitting_epilogue): New.
3895 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
3896 * config/sparc/sparc-protos.h: Update.
3897 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
3898 (TARGET_SWITCHES): Update.
3899 * config/sparc/sparc.md (return): Remove.
3900 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
3901 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
3902 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
3903 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
3904 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
3905 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
3906 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
3907 Remove MASK_EPILOGUE.
3908 * doc/invoke.texi: Update.
3909
606cc056
DB
39102002-03-30 Daniel Berlin <dan@dberlin.org>
3911
3912 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
3913 CPP will start the file for us.
7b2e1077 3914
bdbe5b8d
RH
39152002-03-30 Richard Henderson <rth@redhat.com>
3916
3917 PR target/5446
3918 * config/ia64/ia64.c (group_barrier_needed_p): Special case
3919 prologue_allocate_stack.
3920 (ia64_single_set): Use insn codes for recognition of special
3921 cases, not rtl matching.
3922 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
3923
4ab95d82
JH
3924Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
3925
3926 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
3927
89a8b315
RH
39282002-03-30 Richard Henderson <rth@redhat.com>
3929
3930 PR target/6032
3931 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
3932 or -fomit-frame-pointer with profiling.
3933 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
3934 (FUNCTION_PROFILER): Do nothing.
3935 (PROFILE_HOOK): New.
3936 * config/sparc/sparc.c (sparc_override_options): Don't check
3937 code models for profiling.
3938 (sparc_function_profiler): Remove.
3939 (sparc_profile_hook): New.
3940 * config/sparc/sparc-protos.h: Update.
3941
30984c57
JJ
39422002-03-30 Jakub Jelinek <jakub@redhat.com>
3943
3944 PR optimization/6086
3945 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
3946 of SUBREG of volatile MEM or because the MEM was mode dependent,
3947 return CLOBBER instead of unmodified SUBREG.
3948
1540f9eb
JH
3949Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
3950
89a8b315
RH
3951 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
3952 when not optimizing.
1540f9eb
JH
3953
3954 * toplev.c (rest_of_compilation): Cann mark_constant_function
3955 only when optimizing.
3956
89a8b315
RH
3957 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
3958 are NULL.
1540f9eb
JH
3959
3960 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
3961 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
3962 (try_optimize_cfg): clear all AUX fields.
3963
3964 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
3965 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
3966 (ix86_address_cost): Be prepared for SUBREGed registers.
3967 (legitimate_address_p): Accept SUBREGed registers.
3968
70d95bac
RH
39692002-03-29 Richard Henderson <rth@redhat.com>
3970
3971 PR target/5672
3972 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
3973
d3294cd9
FS
39742002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3975
3976 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
3977 for aggregate and TFmode types.
3978
a106c875
HPN
39792002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
3980
3981 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
3982
7d7a5d6f
RH
39832002-03-29 Richard Henderson <rth@redhat.com>
3984
6e2d670b 3985 PR target/5886
7d7a5d6f
RH
3986 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
3987 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
3988
30c99a84
RH
39892002-03-29 Richard Henderson <rth@redhat.com>
3990
6e2d670b 3991 PR target/6041
30c99a84
RH
3992 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
3993 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
3994 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
3995 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
3996 conditional.
3997 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
3998
02a566dc
DJ
39992002-03-29 Dale Johannesen <dalej@apple.com>
4000
4001 * loop.c (combine_movables): Do allow combination of pseudos.
4002
bc3a44db
LR
40032002-03-29 Loren J. Rittle <ljrittle@acm.org>
4004
4005 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
4006 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
4007 No functional change except ...
4008 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
4009 * doc/install.texi (*-*-freebsd*): Document port configuration.
4010
b0c48229
NB
40112002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
4012
4013 * Makefile.in (convert.o, calls.o, expmed.o): Update.
4014 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
4015 Use new hooks.
4016 * builtin-types.def (BT_PTRMODE): Update.
4017 * c-common.c (type_for_size): Rename c_common_type_for_size.
4018 (type_for_mode): Similarly.
4019 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
4020 Use new hook.
4021 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
4022 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
4023 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
4024 Redefine.
4025 * c-typeck.c (common_type, comptypes, default_conversion):
4026 Use new hooks.
4027 * calls.c: Include langhooks.h.
4028 (emit_library_call_value_1): Use new hooks. Avoid redundant
4029 calls.
4030 * convert.c: Include langhooks.h
4031 (convert_to_pointer, convert_to_integer): Use new hooks.
4032 * except.c (init_eh): Similarly.
4033 * expmed.c: Include langhooks.h.
4034 (expand_mult_add): Use new hooks.
4035 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
4036 try_casesi): Similarly.
4037 * fold-const.c (optimize_bit_field_compare, make_range,
4038 decode_field_reference, fold_truthop, fold): Similarly.
4039 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
4040 put_var_into_stack): Similarly.
4041 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
4042 LANG_HOOKS_TYPE_FOR_SIZE): New.
4043 (LANG_HOOKS_TYPES_INITIALIZER): Update.
4044 * langhooks.h (lang_hooks_for_types): New hooks.
4045 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
4046 * tree.c (get_unwidened, get_narrower): Similarly.
4047 * tree.h (type_for_mode, type_for_size): Remove.
4048 * varasm.c (force_const_mem): Use new hooks.
4049 * utils2.c (nonbinary_modular_operation): Update.
4050objc:
4051 * objc-act.c (handle_impent): Update.
4052 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
4053 Redefine.
4054
e206a74f
SE
40552002-03-29 Steve Ellcey <sje@cup.hp.com>
4056
4057 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
4058 * config/ia64/ia64.c (basereg_operand): New.
4059 * config/ia64/ia64-protos.h (basereg_operand): Declare.
4060 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
4061
7d9b6378
HPN
40622002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
4063
4064 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
4065 unwind information when frame_pointer_needed.
4066 (mmix_assemble_integer): Tweak wording in comment.
4067
f1e639b1
NB
40682002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
4069
4070 * Makefile.in (except.o): Update.
4071 * except.c: Include langhooks.h.
4072 (init_eh): Use langhook.
4073 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
4074 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
4075 (LANG_HOOKS_INITIALIZER): Update.
4076 * langhooks.h (lang_hooks_for_types): New.
4077 (struct lang_hooks): Add it.
4078 * tree.c (make_lang_type_fn, make_lang_type): Remove.
4079 * tree.h (make_lang_type_fn, make_lang_type): Remove.
4080config:
4081 * alpha/alpha.c: Include langhooks.h.
4082 (alpha_build_va_list): Use langhook.
4083 * d30v/d30v.c: Include langhooks.h.
4084 (d30v_build_va_list): Use langhook.
4085 * i386/i386.c: Include langhooks.h.
4086 (ix86_build_va_list): Use langhook.
4087 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
4088 * s390/s390.c: Include langhooks.h.
4089 (s390_build_va_list): Use langhook.
4090 * stormy16/stormy16.c: Include langhooks.h.
4091 (stormy16_build_va_list): Use langhook.
4092
f17f9332
JJ
40932002-03-29 Jakub Jelinek <jakub@redhat.com>
4094
4095 PR c++/5964
4096 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
4097 attributes.
4098 (length): Compute variable length for branches/calls/jumps here.
4099 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
4100 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
4101 define branch_type attribute.
4102 (divsi3_sp32): Maximum length is 6 not 7.
4103 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
4104 call_address_untyped_struct_value_sp32,
4105 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
4106 * config/sparc/sparc.c (empty_delay_slot): New function.
4107 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
4108 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
4109
0a0440c9
JJ
41102002-03-29 Jakub Jelinek <jakub@redhat.com>
4111
4112 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
4113 nonzero_bits if not needed.
4114 (nonzero_bits) [XOR]: Likewise.
4115 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
4116 reg_last_set_mode and mode are both MODE_INT, but not equal.
4117 (record_value_for_reg): Compute reg_last_set_nonzero_bits
4118 in nonzero_bits_mode for MODE_INT modes.
4119
c9045f47
RH
41202002-03-28 Richard Henderson <rth@redhat.com>
4121
4122 PR target/5715
4123 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
4124 to GAS. Correct drift between alternatives.
4125
f8ed1958
RH
41262002-03-28 Richard Henderson <rth@redhat.com>
4127
4128 PR target/6087
4129 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
4130
54e20385
LR
41312002-03-28 Alexandre Oliva <aoliva@redhat.com>
4132
4133 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
4134 emulation to the linker.
4135
41362002-03-28 Loren J. Rittle <ljrittle@acm.org>
4137
4138 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
4139 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
4140
8bc52806
JL
4141Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
4142
4143 * combine.c (simplify_and_const_int): Make sure to apply mask
4144 when force_to_mode returns a constant integer. PR3311.
4145
279dccc5
JDA
41462002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
4147
4148 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
4149
62aaa62c
GP
41502002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4151
4152 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
4153 and Objective-C Dialect Options.
4154
b8de5050
RH
41552002-03-28 Richard Henderson <rth@redhat.com>
4156
4157 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
4158 comparison should be done vs !=0 not >0 return code. Tidy cases.
4159
619708cc
RH
41602002-03-28 Richard Henderson <rth@redhat.com>
4161
4162 * c-decl.c (finish_function): New arg can_defer_p. Pass it
4163 on to c_expand_body.
4164 * c-tree.h (finish_function): Update decl.
4165 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
4166
b1d874d7
JH
4167Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
4168
4169 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
4170
f5eb5fd0
JH
4171Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
4172
4173 * rtlanal.c: Include flags.h
4174 (may_trap_p): Do not mark FP operations if trapping
4175 if !flag_trapping_math
4176 * Makefile.in (rtlanal.o): Add dependency on flag.h
4177 * ifcvt.c (noce_operand_ok): Avoid the lameness.
4178
81b4c798
ZW
41792002-03-27 Zack Weinberg <zack@codesourcery.com>
4180
4181 * mips.md: Use dconst1, not 1.0, as first argument of
4182 REAL_VALUE_LDEXP. Don't use union real_extract.
4183
55a2ea2a
AM
41842002-03-28 Alan Modra <amodra@bigpond.net.au>
4185
4186 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
4187 rather than $target. Heed program_prefix and
4188 program_transform_name. Search for gas in cross-compiler case too.
4189 "test -x" rather than "test -f".
4190 (gcc_cv_ld): Likewise.
4191 (gcc_cv_nm): Heed program_prefix and program_transform_name.
4192 (gcc_cv_objdump): Likewise.
4193 * configure: Regenerate.
4194
7ffb4fd2
NB
41952002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
4196
4197 * Makefile.in (attribs.o): Update.
4198 * attribs.c: Include langhooks.h.
4199 (decl_attributes): Use langhook.
4200 * c-decl.c (insert_default_attributes): Rename.
4201 * c-tree.h (c_insert_default_attributes): New.
4202 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
4203 (LANG_HOOKS_INITIALIZER): Update.
4204 * langhooks.h (struct lang_hooks): New hook.
4205 * tree.h (insert_default_attributes): Remove.
4206objc:
4207 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
4208
e4dbaed5
AS
42092002-03-27 Andreas Schwab <schwab@suse.de>
4210
4211 * config/i386/i386.c (classify_argument): Also check for
4212 QUAL_UNION_TYPE.
4213
18b467f1
RO
42142002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4215
4216 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
4217 any more.
4218
d337d653
JH
4219Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
4220
4221 * i960.md (ret): Set PC.
4222 (nonlocal_goto): Fix expander.
4223 * builtins.c (epxand_builin_longjmp): Check that we've emitted
4224 some jump or call.
4225
218aa620
JH
4226Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
4227
4228 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
4229 of libcall regions.
4230
e27a4eaf
ZD
4231Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4232
4233 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
4234 assigning to BLOCK_FOR_INSN directly.
4235
8a12f34c
JH
4236Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
4237
4238 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
4239
c9d892a8
NB
42402002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
4241
4242 * c-common.c (c_expand_expr): Fix prototype.
4243 * c-common.h (c_expand_expr): Always declare, update.
4244 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
4245 * c-objc-common.c (c_objc_common_init): No global hook.
4246 * expr.c (expand_expr): Use langhook.
4247 * expr.h (enum expand_modifier): Conditionally declare.
4248 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
4249 (LANG_HOOKS_INITIALIZER): Update.
4250 * langhooks.c (lhd_expand_expr): New.
4251 * langhooks.h (struct lang_hooks): New hook.
4252 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
4253 (lang_independent_init): Don't default hook.
4254objc:
4255 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
4256
6dad5a56
RH
42572002-03-27 Richard Henderson <rth@redhat.com>
4258
4259 PR target/6054
4260 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
4261 TARGET_CONST_GP. Simplify conditions.
4262
59f96879
RH
42632002-03-27 Richard Henderson <rth@redhat.com>
4264
4265 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
4266 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
4267 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
4268
f3f1190d
DS
42692002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
4270
4271 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
4272 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
4273 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
4274 Remove unnecessary masks.
4275 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
4276 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
4277 -mwindows, -mdll switches and their negations.
4278
31c816cf
NB
42792002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
4280
4281 * gcc-common.c (lang_mark_false_label_stack): Remove.
4282 * ggc.h (lang_mark_false_label_stack): Similarly.
4283
7b2e1077 42842002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
4285
4286 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
4287
4288 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
4289 or __rtems_ is defined.
4290
1ef9531b
RH
42912002-03-26 Richard Henderson <rth@redhat.com>
4292
4293 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
4294 if a non-trivial load was emitted.
4295 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
4296 in high+extra+low case.
4297
300d4093
RH
42982002-03-26 Richard Henderson <rth@redhat.com>
4299
4300 * config.gcc (sparc*-solaris): Use float_format=sparc.
4301
b3689904
RH
43022002-03-26 Richard Henderson <rth@redhat.com>
4303
4304 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
4305 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
4306 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
4307 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
4308 (WINT_TYPE_SIZE): Fix at 32.
4309
1eefb6c1
RH
43102002-03-26 Richard Henderson <rth@redhat.com>
4311
4312 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
4313 until after eh landing pad generation.
4314 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
4315 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
4316
361ea006
RH
43172002-03-26 Richard Henderson <rth@redhat.com>
4318
4319 * expr.h (ADD_PARM_SIZE): One more convert for INC.
4320
1de38a88
PE
43212002-03-26 Phil Edwards <pme@gcc.gnu.org>
4322
4323 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
4324 and warning switches.
4325 (cc1_options): Likewise.
4326
d7e60e95 43272002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 4328
d7e60e95
HB
4329 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
4330 Restore more of the signal context. Set no_reg_stack_frame.
4331 * config/ia64/unwind-ia64.c (unw_state_record):
4332 Add no_reg_stack_frame, comments.
4333 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
4334 (uw_update_context): Adjust bsp when unwinding from leaf,
4335 but not signal frame.
4336
7032923b
DE
43372002-03-26 David Edelsohn <edelsohn@gnu.org>
4338
4339 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
4340
8be56275
BW
43412002-03-26 Bob Wilson <bob.wilson@acm.org>
4342
4343 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
4344
56fbb855
RE
43452002-03-26 Richard Earnshaw <rearnsha@arm.com>
4346
4347 PR target/5621
4348 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
4349 "Add a pool_range attribute", which was lost during the ARM/Thumb
4350 merge.
4351
3437320b
BW
43522002-03-26 Bob Wilson <bob.wilson@acm.org>
4353
4354 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
4355 a register into the MAC16 accumulator.
4356
173028e5
AC
43572002-03-26 Andrew Cagney <ac131313@redhat.com>
4358
4359 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
4360 (Warning Options): Document -Wswitch-enum.
4361 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
4362 -Wswitch.
4363 (warn_switch_enum): Define variables.
4364 * flags.h (warn_switch_enum): Declare variables.
4365 * stmt.c (expand_end_case_type): When warn_switch_enum /
4366 -Wswitch-enum, perform switch checks.
4367 Fix PR c/5044.
7b2e1077 4368
e14365a7
RE
43692002-03-26 Richard Earnshaw <rearnsha@arm.com>
4370
4371 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
4372 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
4373 (reload_muladdsi_compare0_scratch): Delete.
4374
46fc709d
LR
43752002-03-26 Loren J. Rittle <ljrittle@acm.org>
4376
4377 * doc/install.texi (*-*-freebsd*): Update.
4378
f36dea3c
RH
43792002-03-26 Richard Henderson <rth@redhat.com>
4380
8e5fe23f
RH
4381 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
4382 (SUB_PARM_SIZE): Cast DEC to ssizetype.
4383
4384 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
4385 types from the normal argument frame.
4386
f36dea3c
RH
4387 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
4388 variable sized objects by reference.
4389 (sparc_va_arg): Receive them by reference too.
4390
1447dc69
HP
43912002-03-26 Hartmut Penner <hpenner@de.ibm.com>
4392
4393 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 4394 code to not restoring global registers.
1447dc69 4395
4f0ade92
NB
43962002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
4397
4398 * Makefile.in (ggc-common.o): Update.
4399 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
4400 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
4401 * c-tree.h (c_mark_tree): New.
4402 * ggc-common.c: Include langhooks.h.
4403 (gcc_mark_trees): Use new langhook.
4404 * ggc-callbacks.c: Delete file.
4405 * ggc.h (lang_mark_tree): Remove.
4406 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
4407 (LANG_HOOKS_INITIALIZER): Update.
4408 * langhooks.h (struct lang_hooks): New hook.
4409objc:
4410 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
4411
caba570b
ZW
44122002-03-25 Zack Weinberg <zack@codesourcery.com>
4413
4414 * doc/cpp.texi: Exclude entire Top node from printed manual.
4415 Move option index after directive index. Insert page breaks
4416 before GFDL and concept index. Index environment variables
4417 with command line options.
4418 * doc/cppenv.texi: Use @vtable for environment variable list.
4419 Add paragraph explaining semantics of empty elements in path
4420 variables. Exclude a cross-reference to Fishkill from the
4421 manpage. Remove an unnecessary cross-reference of the entry
4422 right above the referer. Don't use @anchor in text that goes
4423 into manpage.
4424 * doc/cppopts.texi: Cross-reference the environment variables
4425 section, not the specific environment variable, for consistency.
4426
6b2e80b7
RH
44272002-03-25 Richard Henderson <rth@redhat.com>
4428
4429 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
4430 anywhere in the block. Don't refer to insns that have been
4431 removed from the chain. Iterate backward through the new insns.
4432 Don't refer to edges that have been removed.
4433
67e469d7
AM
44342002-03-26 Alan Modra <amodra@bigpond.net.au>
4435
4436 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
4437 test for overflow of constant.
4438
f2356393
RE
44392002-03-25 Richard Earnshaw <rearnsha@arm.com>
4440
4441 PR target/2623
4442 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
4443 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
4444 these patterns on arm_archv4.
4445
355426ab
DS
44462002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
4447
4448 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
4449 int".
4450
15e5ad76
ZW
44512002-03-25 Zack Weinberg <zack@codesourcery.com>
4452
4453 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
4454 float_handled, float_handler, float_signal, set_float_handler,
4455 and do_float_handler. Set handler for SIGFPE to crash_signal.
4456 * toplev.h: Don't prototype do_float_handler.
4457
4458 * c-lex.c: Fold parse_float into lex_number. Make warning
4459 about portability of hex float constants more informative, and
4460 don't issue it on top of a syntax error.
4461 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
4462 their callers.
4463 * real.h: Define REAL_VALUE_ABS here...
4464 * simplify-rtx.c: ... not here. Fold check_fold_consts,
4465 simplify_unary_real, simplify_binary_real, and
4466 simplify_binary_is2orm1 into their callers.
4467 * tree.c: Fold build_real_from_int_cst_1 into caller.
4468
4469 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
4470
4471 * tsystem.h: Include float.h here...
4472 * libgcc2.c: ... not here.
4473
56ae9405
NC
44742002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
4475
4476 Fixes for: PR bootstrap/3591, target/5676
4477 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
4478 defined. Do not disable exceptions or rtti.
4479 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
4480 mcore.h. Disable exceptions and rtti, since they are not
4481 supported by EPOC.
4482
c88770e9
NB
44832002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
4484
4485 * c-decl.c (maybe_build_cleanup): Remove.
4486 * expr.c (expand_expr): Use langhook.
4487 * langhooks-def.h (lhd_return_null_tree,
4488 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
4489 (LANGHOOKS_INITIALIZER): Update.
4490 * langhooks.c (lhd_return_null_tree): New.
4491 * langhooks.h (struct lang_hooks): New hook.
4492 * tree-inline.c (initialize_inlined_parameters): Use langhook.
4493 * tree.h (maybe_build_cleanup): Remove.
4494
2ed1f154
JJ
44952002-03-25 Jakub Jelinek <jakub@redhat.com>
4496
4497 * regrename.c (build_def_use): Move recog_memoized
4498 before extract_insn.
4499
6ddae612
JJ
45002002-03-25 Jakub Jelinek <jakub@redhat.com>
4501
4502 PR target/6043
4503 * expr.c (emit_group_store): Handle storing into CONCAT.
4504
ea475b23
JJ
45052002-03-25 Jakub Jelinek <jakub@redhat.com>
4506
4507 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
4508 corresponding MATCH_DUP.
4509
e7d482b9
RH
45102002-03-24 Richard Henderson <rth@redhat.com>
4511
cd39fc13
RH
4512 * unroll.c (unroll_loop): Zero label_map.
4513
e7d482b9
RH
4514 * gcse.c: Include except.h.
4515 * Makefile.in (gcse.o): Update.
4516
1bd6476f
RH
45172002-03-24 Richard Henderson <rth@redhat.com>
4518
4519 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
4520 Do resolve_unique_section before shared data clause.
4521
2e6c150a
RH
45222002-03-24 Richard Henderson <rth@redhat.com>
4523
4524 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
4525
b29afcf8
RH
45262002-03-24 Richard Henderson <rth@redhat.com>
4527
15e5ad76 4528 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
4529 generated in the middle of a block. Do global life update if
4530 zapped EH edges.
4531
05ed1296
RH
45322002-03-24 Richard Henderson <rth@redhat.com>
4533
4534 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
4535
3ddbb8a9
NB
45362002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
4537
4538 preprocessor/3951
15e5ad76 4539 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
4540 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
4541 (init_dependency_output): Don't make no_output decision here.
4542
740b77b6
AC
45432002-03-24 Andrew Cagney <ac131313@redhat.com>
4544
4545 * stmt.c (check_for_full_enumeration_handling): Remove tests of
4546 warn_switch. Update description.
4547 (expand_end_case_type): Call check_for_full_enumeration_handling
4548 when warn_switch.
4549
7590cfd0
SC
45502002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4551
4552 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
4553 (m68hc11_split_move): Call it to see if the source and destination
4554 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 4555 source an offsetable memory operand and generate an add.
7590cfd0 4556
2e3d3481
SC
45572002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4558
4559 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
4560 register for operand 2.
4561 ("*subsi3_zero_extendqi"): Likewise.
4562 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
4563 bits so that it is compatible with a pop.
4564 ("*andhi3_gen"): Likewise.
4565 ("xorhi3"): Likewise.
4566
2784528c
NB
45672002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
4568
4569 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
4570 -pedantic here...
4571 (cpp_post_options): ... not here.
4572
aaf93206
NB
45732002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
4574 Aldy Hernandez <aldyh@redhat.com>
4575
4576 Removal of separate preprocessor cpp0.
4577
4578 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
4579 cpp0, install-common): Update.
4580 * c-common.c (flag_preprocess_only): New.
4581 (c_common_init): Preprocess for -E.
4582 * c-common.h (flag_preprocess_only): New.
4583 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
4584 * c-objc-common.c (c_init_decl_processing): Exit quickly
4585 for NULL return from c_common_init.
4586 * cpplib.h (cpp_preprocess_file): New.
4587 * cppmain.c (main, general_init, pfile, progname): Remove.
4588 (do_preprocessing): Rename cpp_preprocess_file, don't call
4589 cpp_finish. Don't close stdout here.
4590 (setup_callbacks): Update prototype.
4591 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
4592 Update.
4593 * tradcpp.c (main): Ignore -quiet.
4594objc:
4595 * lang-specs.h (default_compilers): Preprocess with cc1obj.
4596
c6e6f5c1
RH
45972002-03-24 Richard Henderson <rth@redhat.com>
4598
4599 PR optimization/5742
4600 * machmode.def: Add inner mode field to complex modes.
4601 * config/mips/mips.c (mips_function_value): Always define. Add
4602 new argument to handle libcalls.
4603 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
4604 (FUNCTION_VALUE): Likewise.
4605 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
4606 * config/mips/mips-protos.h: Update.
4607
d88e57d1
RH
46082002-03-23 Richard Henderson <rth@redhat.com>
4609
4610 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
4611 * config/sparc/sparc-protos.h: Update.
4612 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
4613
6dfaf9ba
RH
46142002-03-23 Richard Henderson <rth@redhat.com>
4615
4616 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
4617 _start or _init begins the text segment.
4618
0c769cf8
DE
46192002-03-23 David Edelsohn <edelsohn@gnu.org>
4620
4621 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
4622 not HOST_WIDEST_INT.
4623 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
4624
64e92a26
RE
46252002-03-23 Richard Earnshaw <rearnsha@arm.com>
4626
4627 PR java/5489
4628 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
4629 operand argument to output_return_instruction.
15e5ad76 4630 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
4631 const_true_rtx then just return.
4632 (arm_print_operand, case 'D'): If the operand is const_true_rtx
4633 then abort.
4634
d6961341
AC
46352002-03-23 Andrew Cagney <ac131313@redhat.com>
4636
4637 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
4638 (Warning Options): Document -Wswitch-default.
4639 * toplev.c (W_options): Add -Wswitch-default. Update comment on
4640 -Wswitch.
4641 (warn_switch_default): Define variable.
4642 (warn_switch): Update comment.
4643 * flags.h (warn_switch_default): Declare variable.
4644 (warn_switch): Update comment.
4645 * stmt.c (expand_end_case): Check for and, when
4646 warn_switch_no_default, warn of a missing default case.
15e5ad76 4647
d4c5ac1f
AM
46482002-03-23 Alan Modra <amodra@bigpond.net.au>
4649
bbaa9790
AM
4650 * real.h (N): Special case 128 bit doubles.
4651
d4c5ac1f
AM
4652 * combine.c (simplify_comparison): When widening modes, ignore
4653 sign extension on CONST_INTs.
4654
84bf8c2c
BW
46552002-03-22 Bob Wilson <bob.wilson@acm.org>
4656
4657 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
4658 passed to adjust_address. Fix comment formatting.
4659
4660
b216cd4a
ZW
46612002-03-22 Zack Weinberg <zack@codesourcery.com>
4662
4663 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
4664 Always make REAL_VALUE_TYPE a struct containing an array of
4665 HOST_WIDE_INT, not a double. Tidy up the code deciding how
4666 big it is. Don't declare or use union real_extract.
4667
4668 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
4669 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
4670 (print_operand), config/arm/arm.c (output_move_double),
4671 config/arm/arm.md (consttable_4, consttable_8),
4672 config/romp/romp.c (output_fpops), config/s390/s390.h
4673 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
4674 (xtensa_output_literal): Don't use union real_extract.
4675
4676 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
4677 (sfmode_constant_to_ulong), config/ns32k/merlin.h
4678 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
4679 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
4680 (PRINT_OPERAND): Don't use local version of union
4681 real_extract.
4682
4683 * config/convex/convex.c (check_float_value), config/vax/vax.c
4684 (vax_float_literal), config/m88k/m88k.md (divdf3),
4685 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
4686 config/pdp11/pdp11.c (output_move_quad): Don't do host
4687 arithmetic on target floating point quantities.
4688
4689 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
4690 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
4691
4692 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
4693 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
4694
4695 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
4696 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
4697 INFINITY.
4698 * print-rtl.c (print_rtx): Disable code which needs
4699 floating-point emulator.
4700 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
4701 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
4702 depending on HOST_FLOAT_FORMAT to be defined properly.
4703
4704 * config/1750a/1750a.c (get_double, float_label): Delete.
4705 (print_operand): Delete huge commented-out chunk. Use
4706 REAL_VALUE_TO_DECIMAL.
4707 * config/1750a/1750a-protos.h: Delete prototypes of deleted
4708 functions.
4709 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
4710 IEEE_FLOAT_FORMAT.
4711 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
4712 Use REAL_VALUE_TO_DECIMAL as ELF version does.
4713 * config/m88k/m88k.c (real_power_of_2_operand,
4714 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
4715 real_extract out of the union; run the input through
4716 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
4717 from that into the union.
4718 * config/pdp11/pdp11.c (output_move_double): Rearrange
4719 parentheses to make automatic indenter happy.
4720
4721 * doc/tm.texi (Cross-compilation): Rename node to "Floating
4722 Point" and rewrite to describe current situation. Also adjust
4723 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
4724 match code.
4725 * doc/rtl.texi: Adjust cross reference.
4726
a8cacfd2
BW
47272002-03-22 Bob Wilson <bob.wilson@acm.org>
4728
4729 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
4730 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
4731 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
4732 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
4733 prevent use of sp as a reload register.
4734 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
4735 non_acc_reg_operand.
4736 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
4737 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
4738 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
4739 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
4740
d4e6133f
NB
47412002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
4742
b216cd4a
ZW
4743 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
4744 * cpplex.c (unterminated): Delete.
4745 (parse_string): No string literal may extend over multiple
4746 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
4747 * cppmain.c (scan_translation_unit): Strings are single-line.
4748
b216cd4a 4749 * doc/cpp.texi: Update to match.
d4e6133f 4750
65e6c005
JJ
47512002-03-22 Jakub Jelinek <jakub@redhat.com>
4752
4753 PR optimization/5854
4754 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
4755 Shut up warnings.
4756 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
4757 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
4758 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
4759 const0 if scratch register was not allocated.
4760 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
4761 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
4762 with GEN_INT (...).
4763 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
4764 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
4765 with GEN_INT (...) everywhere. Remove constraints in define_split
4766 patterns.
4767 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
4768 require scratch register for setting 0 into regs/non-pushable memory.
4769
7f48c9e1
AO
47702002-03-22 Alexandre Oliva <aoliva@redhat.com>
4771
4772 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
4773 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
4774
909de5da
PE
47752002-03-22 Phil Edwards <pme@gcc.gnu.org>
4776
4777 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
4778 * cppinit.c (cpp_create_reader): On by default.
4779 (cpp_handle_option): Handle -W[no-]endif-labels.
4780 (cpp_post_options): Also enable if -pedantic.
4781 * cpplib.c (do_else): Use it.
4782 (do_endif): Likewise.
4783 * doc/cppopts.texi: Document new option.
4784 * doc/invoke.texi: Document new option.
4785
d8bf17f9
LB
47862002-03-22 Lars Brinkhoff <lars@nocrew.org>
4787
4788 * config/i386/i386.c, config/i386/i386.md: Change all occurences
4789 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
4790
70e0ccd0
AO
47912002-03-22 Alexandre Oliva <aoliva@redhat.com>
4792
4793 * flow.c (calculate_global_regs_live): Clear aux fields of
4794 ENTRY and EXIT.
4795
68882f0f
JJ
47962002-03-22 Jakub Jelinek <jakub@redhat.com>
4797
4798 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
4799 REG or MEM subregs, pass rtx * instead of rtx to it.
4800 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
4801 rtx * instead of rtx to alter_subreg.
4802 * config/m32r/m32r.c (gen_split_move_double): Likewise.
4803 * config/pj/pj.c (pj_output_rval): Likewise.
4804
648fe28b
RH
48052002-03-22 Richard Henderson <rth@redhat.com>
4806
4807 PR target/3177
4808 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
4809 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
4810 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
4811 (ia64_expand_prologue): Look at int_regs, not words, for number
4812 of incomming int regs.
4813
e8dcd824
AM
48142002-03-22 Andrew MacLeod <amacleod@redhat.com>
4815
4816 * expr.c (expand_expr): A RESULT_DECL is part of a call.
4817
96327cdc
JH
4818Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
4819
4820 * toplev.c (flag_loop_optimize, flag_crossjumping):
4821 New static variables.
4822 (rest_of_compilation): Conditionalize crossjumping and
4823 loop optimizer.
4824 (parse_options_and_default_flags): Default loop_optimize and
4825 crossjumping.
4826 (lang_independent_options): Add -fcrossjumping and -floop-optimize
4827 * invoke.texi (crossjumping, loop-optimize): Document.
4828
bc185257
RS
48292002-03-22 Richard Sandiford <rsandifo@redhat.com>
4830
4831 * real.c (eiisneg): Move outside #ifdef NANS.
4832
0a2ed1f1
JH
4833Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
4834
4835 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
4836 frequencies match; avoid match on different loop depths.
4837 (try_crossjump_to_bb): Kill tests that no longer brings time
4838 savings.
4839 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
4840 updating code.
4841 (split_edge): Likewise.
4842
4843 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
4844 variable.
4845
4846 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
4847 * cfgrtl.c: Include insn-config.h
4848 (split_block) Dirtify block in presence of conditional execution
4849
4d72536e
RS
48502002-03-22 Richard Sandiford <rsandifo@redhat.com>
4851
4852 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
4853 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
4854 (function_arg): Constify CUMULATIVE_ARGS.
4855 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
4856 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
4857 (UNITS_PER_DOUBLE): New macro.
4858 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
4859 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
4860 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
4861 fp_regs and stack_words.
4862 (EABI_FLOAT_VARARGS_P): New macro.
4863 * config/mips/mips.c (struct mips_arg_info): New.
4864 (mips_arg_info): New function.
4865 (function_arg_advance): Use it. Add adjustment instructions here
4866 rather than in function_arg.
4867 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
4868 for VOIDmode at the beginning of the function.
4869 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
4870 (function_arg_pass_by_reference): Likewise.
4871 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
4872 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
4873 (mips_va_start): Likewise. Use the new stack_words field of
4874 CUMULATIVE_ARGS to set up overflow area. Reformat.
4875 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
4876 doubles and other types, aligning the overflow pointer for non-doubles
4877 too. Remove some code duplication. Replace hard-coded constants.
4878
e6f884cd
RS
48792002-03-22 Richard Sandiford <rsandifo@redhat.com>
4880
4881 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
4882 (CLASS_UNITS): Undefine.
4883 (CLASS_MAX_NREGS): Use FP_INC.
4884 * config/mips/mips.c (compute_frame_size): Likewise.
4885 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
4886
10cf9bde
NB
48872002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
4888
4889 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
4890 prototype, and handle lexing numbers and identifiers.
4891 (parse_identifier): Update to new form of parse_slow.
4892 (parse_number): Fast path only, use parse_slow otherwise.
4893 (_cpp_lex_direct): Update calls to parse_number.
4894
fbc2782e
DD
48952002-03-21 DJ Delorie <dj@redhat.com>
4896
4897 * bb-reorder.c (make_reorder_chain_1): Protect against
4898 when redundant edges are omitted.
4899 * predict.c (dump_prediction): Likewise.
4900
fba39eaf
RH
49012002-03-21 Richard Henderson <rth@redhat.com>
4902
4903 PR target/5996
4904 * fixinc/inclhack.def (solaris_stdio_tag): New.
4905 * fixinc/fixincl.x: Regenerate.
4906
eba80994
EB
49072002-03-21 Eric Botcazou <ebotcazou@multimania.com>
4908
4909 PR c/5597
4910 * c-typeck.c (process_init_element): Flag non-static
4911 initialization of a flexible array member as illegal.
4912
2a78758b
AM
49132002-03-22 Alan Modra <amodra@bigpond.net.au>
4914
4915 * config/rs6000/t-linux64: New.
4916 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
4917 t-ppccomm. Use t-rs6000 and t-linux64.
4918 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
4919 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
4920 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
4921 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 4922
2cb921f4
AH
49232002-03-21 Aldy Hernandez <aldyh@redhat.com>
4924
eba80994
EB
4925 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
4926 flag_really_no_inline instead of optimize == 0.
2cb921f4 4927
eba80994 4928 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 4929
eba80994 4930 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 4931
eba80994 4932 * flags.h (flag_really_no_inline): New.
2cb921f4 4933
659e5a7a 4934 * c-common.c (c_common_post_options): Initialize
eba80994 4935 flag_really_no_inline.
2cb921f4 4936
eba80994 4937 * toplev.c (flag_really_no_inline): New.
2cb921f4 4938
239b8b9d
JJ
49392002-03-21 Jakub Jelinek <jakub@redhat.com>
4940
4941 * config/avr/avr.md (length): Fix length computation for
4942 conditional branches.
4943
43577e6b
NB
49442002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
4945
4946 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
4947 sdbout.o, profile.o): Update.
4948 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
4949 langhook.
4950 * c-common.h (gettags): Move here from tree.h.
4951 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
4952 insert_block, getdecls, kept_level_p, global_bindings_p): New.
4953 * dbxout.c (dbxout_init): Use getdecls langhook.
4954 * expr.c (expand_expr): Use insert_block langhook.
4955 * fold-const.c: Include langhooks.h.
4956 (fold_range_test, fold_binary_op_with_conditional_arg,
4957 fold): Use global_bindings_p langhook.
4958 * integrate.c (expand_inline_function): Use insert_block langhook.
4959 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
4960 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
4961 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
4962 LANG_HOOKS_GETDECLS): New.
4963 (LANG_HOOKS_INITIALIZER): Update.
4964 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
4965 langhook.
4966 * langhooks.h (struct lang_hooks_for_decls): New.
4967 (struct lang_hooks): Update.
4968 * profile.c: Include langhooks.h.
4969 (output_func_start_profiler): Use new langhooks.
4970 * sdbout.c: Include langhooks.h.
4971 (sdbout_init, sdbout_finish): Use getdecls langhook.
4972 * stmt.c: Include langhooks.h.
4973 (expand_fixup, fixup_gotos): Use new langhooks.
4974 * stor-layout.c: Include langhooks.h.
4975 (variable_size): Use global_bindings_p langhook.
4976 * toplev.c (compile_file): Use getdecls langhook.
4977 * tree-inline.c (remap_block): Use insert_block langhook.
4978 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
4979 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
4980
5b19b10c
RH
49812002-03-21 Richard Henderson <rth@redhat.com>
4982
4983 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
4984 constants in .data when -fpic.
4985
e05af335
GP
49862002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4987
4988 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
4989 where appropriate.
4990
60ffc997
TT
49912002-03-21 Tom Tromey <tromey@redhat.com>
4992
4993 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
4994
75897075
RK
4995Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4996
a73afd69 4997 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 4998
75897075
RK
4999 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
5000
312687cf
EB
50012002-03-21 Eric Botcazou <ebotcazou@multimania.com>
5002 Richard Henderson <rth@redhat.com>
5003
5004 PR c/5354
5005 * c-common.c (c_expand_expr): Preserve result of a statement
5006 expression if needed.
5007
f0e1f482
JJ
50082002-03-21 Jakub Jelinek <jakub@redhat.com>
5009
5010 PR bootstrap/4195
5011 * genrecog.c (maybe_both_true_mode): Remove.
5012 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
5013 * machmode.def (Pmode): Likewise.
5014
c14b9960
JW
5015Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
5016
5017 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
5018 (nonlocal_mentioned_p_1): New function.
5019 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
5020 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
5021 (mark_constant_function): Recognize pure functions.
5022 * rtl.h (global_reg_mentioned_p): New prototype.
5023 * rtlanal.c (global_reg_mentioned_p,
5024 global_reg_mentioned_p_1): New function.
5025
aaa4d130
RO
50262002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5027
5028 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
5029 UNIX assert.h.
5030 * fixinc/fixincl.x: Regenerate.
5031
e5c4bd1b
JM
50322002-03-20 Jason Merrill <jason@redhat.com>
5033
5034 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
5035
852b81bb
MM
50362002-03-20 Michael Meissner <meissner@redhat.com>
5037
5038 * doc/invoke.texi (Optimize Options): Document that -O2 sets
5039 -fstrict-aliasing.
5040
86d8c251
BW
50412002-03-20 Bob Wilson <bob.wilson@acm.org>
5042
5043 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
5044 ".literal_position" directive before the constant pool.
5045
0a39c350
GP
50462002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5047
5048 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
5049 Add Craig Rodrigues.
5050 Add Brad Lucier to testers.
5051
71a83373
JJ
50522002-03-20 Jakub Jelinek <jakub@redhat.com>
5053
5054 PR target/4792
5055 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
5056 to if_then_else.
5057 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
5058 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
5059 instead of insn_extract.
5060
a29b099d
JJ
50612002-03-20 Jakub Jelinek <jakub@redhat.com>
5062
5063 PR bootstrap/4192
71a83373 5064 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
5065
5066 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
5067 stmt if some case has been output.
5068
048b1c95
JJ
50692002-03-20 Jakub Jelinek <jakub@redhat.com>
5070
5071 PR c/5972
5072 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
5073 movsfcc_1, movdfcc_1): Add %O2.
5074 * config/i386/i386.c (print_operand): Handle %ON.
5075 Print . before float condition codes in Sun as cmov syntax.
5076 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
5077 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
5078 no longer true.
5079
f4864588
PB
50802002-03-20 Philip Blundell <pb@nexus.co.uk>
5081
5082 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
5083 return instruction if PC was popped.
5084
3a307de4
BW
50852002-03-20 Bob Wilson <bob.wilson@acm.org>
5086
5087 * config/xtensa/xtensa.md: Remove unused type attributes.
5088 (adddi_carry, subddi_carry): Change type attribute to "multi".
5089
048b1c95 50902002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
5091
5092 PR optimization/5999, middle-end/5731
5093 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
5094 multiplications by reciprocals.
5095
7afff7cf
NB
50962002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
5097
5098 * Makefile.in: Update.
5099 * c-common.c: Include langhooks.h.
5100 (inline_forbidden_p): Use new hook.
5101 * diagnostic.c: Include langhooks.h.
5102 (format_with_decl, announce_function,
5103 default_print_error_function): Use new hook.
5104 * dwarf2out.c (dwarf2_name): Use new hook.
5105 * function.c: Include langhooks.h.
5106 (init_function_start): Use new hook.
5107 * langhooks-def.h (lhd_decl_printable_name): New.
5108 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
5109 (LANGHOOKS_INITIALIZER): Update.
5110 * langhooks.c (lhd_decl_printable_name): New.
5111 * langhooks.h (struct lang_hooks): New hook.
5112 * toplev.c (decl_name, decl_printable_name): Remove.
5113 (open_dump_file): Use new hook.
5114 (process_options): Remove old hook.
5115 * tree.h (decl_printable_name): Remove.
5116objc:
5117 * objc-act.c (objc_init): Remove old hook.
5118 (objc_printable_name): Export.
5119 * objc-act.h (objc_printable_name): New.
5120 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
5121
f78ce0b7
JB
51222002-03-19 Jim Blandy <jimb@redhat.com>
5123
5124 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
5125 the start_source_file debug hook, not the current line number.
5126
15b5aef3
RH
51272002-03-19 Richard Henderson <rth@redhat.com>
5128
5129 * flow.c (EH_USES): Provide default.
5130 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
5131 * doc/tm.texi (EH_USES): New.
5132
5133 * config/ia64/ia64.c (ia64_eh_uses): New.
5134 * config/ia64/ia64-protos.h: Update.
5135 * config/ia64/ia64.h (EH_USES): New.
5136
02a7a3fd
RH
51372002-03-19 Richard Henderson <rth@redhat.com>
5138
5139 * varasm.c (output_constant_def): Fix stupid typo.
5140
93f82d60
RH
51412002-03-19 Richard Henderson <rth@redhat.com>
5142
2842be05 5143 PR 5879
93f82d60
RH
5144 * except.c (current_function_has_exception_handlers): New.
5145 * except.h: Declare it.
5146 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
5147 Combine tests that disable all sibcalls for the function.
5148
ed4fbfa0
OH
51492002-03-19 Olivier Hainque <hainque@act-europe.fr>
5150
5151 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
5152 for INTEGER_CST.
5153
ebf0e888
RH
51542002-03-19 Richard Henderson <rth@redhat.com>
5155
1e82682b 5156 PR 5977, 5991
ebf0e888
RH
5157 * config/ia64/ia64.c: Revert 2002-03-01 patch.
5158 * config/ia64/ia64.h (INIT_EXPANDERS): New.
5159
e37b38d7
JB
51602002-03-19 Jim Blandy <jimb@redhat.com>
5161
5162 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
5163 name, even if the replacement list contains no tokens, as required
5164 by Dwarf.
5165
2a4ea326
JM
51662002-03-19 Jason Merrill <jason@redhat.com>
5167
f9d09ae5
JM
5168 * varasm.c (globalize_decl): Get the name from the RTL, not
5169 DECL_ASSEMBLER_NAME.
5170
2a4ea326
JM
5171 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
5172
99b96edb
BW
51732002-03-19 Bob Wilson <bob.wilson@acm.org>
5174
5175 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
5176 subdi_carry): Define.
5177
3774b567
DE
51782002-03-19 David Edelsohn <edelsohn@gnu.org>
5179
5180 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
5181 about -fpic/-fPIC if extra_warnings set.
5182
21ef78aa
DE
51832002-03-19 David Edelsohn <edelsohn@gnu.org>
5184
5185 * expr.c (expand_expr): Sign-extend CONST_INT generated from
5186 TREE_STRING_POINTER.
0c2fdcdf 5187 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 5188
91d4b3fd
RK
5189Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5190
5191 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
5192 in favor of SP if FRAME_POINTER_REQUIRED is false.
5193
2496c7bd
LB
51942002-03-19 Lars Brinkhoff <lars@nocrew.org>
5195
5196 * emit-rtl.c (gen_int_mode): New function.
5197 * rtl.h: Prototype for it.
5198 * combine.c (make_extraction, simplify_comparison), expmed.c
5199 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
5200 (convert_modes, store_field), optabs.c (expand_fix),
5201 simplify-rtx.c (neg_const_int, simplify_unary_real),
5202
5203 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
5204 Use it instead of GEN_INT (trunc_int_for_mode (...)).
5205
f735a153
JJ
52062002-03-19 Jakub Jelinek <jakub@redhat.com>
5207
5208 PR c/5656
5209 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
5210 convert_parm_for_inlining.
5211 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
5212 Define.
5213 * langhooks-def.h: Likewise.
5214 * objc/objc-lang.c: Likewise.
5215 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
5216 function.
5217 * tree-inline.c (initialize_inlined_parameters):
5218 Call convert_parm_for_inlining lang hook if needed.
5219 * c-typeck.c (c_convert_parm_for_inlining): New function.
5220 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
5221
1929c971
MM
52222002-03-18 Mark Mitchell <mark@codesourcery.com>
5223
b216cd4a 5224 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
5225 can be destroyed after expanding the argument.
5226 (expand_call): Likewise.
5227
c79ca0ac
EC
52282002-03-15 Eric Christopher <echristo@redhat.com>
5229
5230 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
5231 Fix register preference on last change.
5232 * config/mips/mips.c (mips_return_in_memory): New function.
5233 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
5234 * config/mips/mips-protos.h: Declare.
5235 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
5236 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
5237
07e2e444
AO
52382002-03-18 Alexandre Oliva <aoliva@redhat.com>
5239
1bfbbbcf
AO
5240 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
5241 a register too.
5242 (anddi3, iorsi3): Likewise.
5243
c066429e
AO
5244 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
5245 use %gprel for symbols that are going to be placed in linkonce
5246 sections.
5247
07e2e444
AO
5248 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
5249 RETURN_ADDRESS_POINTER_REGNUM to $ra.
5250 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
5251 not needed. Disregard leaf_function_p().
5252 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
5253 mips16 frame pointer.
5254 * config/mips/mips.md (store ra): Only to small SP offsets.
5255 2001-08-22 Graham Stott <grahams@redhat.com>
5256 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
5257 return a REG rtx for the return address register.
5258
eb8e00ea
BW
52592002-03-18 Bob Wilson <bob.wilson@acm.org>
5260
5261 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
5262 constant-pool addresses as "mode-dependent".
5263 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
5264
cbb92744
JJ
52652002-03-18 Jakub Jelinek <jakub@redhat.com>
5266
5267 PR target/5740
5268 * expr.c (emit_group_load): Use extract_bit_field if
5269 needed for CONCAT arguments.
5270
657d9449
RE
52712002-03-18 Richard Earnshaw <rearnsha@arm.com>
5272
91f3a802 5273 PR target/4863
657d9449
RE
5274 * arm.md (tablejump): Make this a define_expand. For PIC add the
5275 offset to the base of the table.
5276 (thumb_tablejump): Matcher for Thumb tablejump insn.
5277 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
5278 as the difference of two labels.
5279 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5280 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
5281 tables in the code.
5282 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
5283 * arm.c (get_jump_table_size): If the table is not in the text
5284 section, return zero.
c79ca0ac 5285
5d5603e2
BS
52862002-03-18 Bernd Schmidt <bernds@redhat.com>
5287
5288 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
5289 of gen_rtx_SUBREG.
5290 (arm_reload_out_hi): Use gen_lowpart instead of
5291 gen_rtx_SUBREG to access QImode components.
5292 * config/arm/arm.md: Disable zero_extend split for QImode
5293 subregs in BIG_ENDIAN mode.
5294 (storehi_bigend): Match use of least significant byte.
5295 (storeinthi): Remove extraneous SUBREG.
66c17b64 5296 Add missing construction of operands[2].
5d5603e2
BS
5297 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
5298 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
5299 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
5300
df15fbc7
AH
53012002-03-18 Aldy Hernandez <aldyh@redhat.com>
5302
2496c7bd
LB
5303 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
5304 any_operand.
df15fbc7 5305
b83b7fa3
RH
53062002-03-17 Richard Henderson <rth@redhat.com>
5307
5308 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
5309 explicitly.
5310
6f7c00fe
HPN
53112002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
5312
5313 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
5314 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
5315
155038f2
KG
53162002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5317
720d42fa
KG
5318 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
5319
155038f2
KG
5320 * predict.c (estimate_bb_frequencies): Delete unused variables.
5321
e6542f4e
RH
53222002-03-17 Richard Henderson <rth@redhat.com>
5323
5324 * config/ia64/ia64.c (ia64_attribute_table): Move before
5325 targetm definition. Make static.
5326
52dabb6c
NB
53272002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
5328
5329 * c-common.h (yyparse, c_common_parse_file): New.
5330 * c-lang.c: Include c-common.h.
5331 (LANG_HOOKS_PARSE_FILE): Redefine.
5332 * c-lex.c: Include c-common.h.
5333 (yyparse): Rename c_common_parse_file. Call yyparse.
5334 * c-parse.in (yyparse): Remove macro.
5335 * c-tree.h (yyparse_1): Remove.
5336 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
5337 (LANG_HOOKS_INITIALIZER): Update.
5338 * langhooks.h (struct lang_hoooks): New hook parse_file.
5339 * toplev.c (compile_file): Use parse_file hook.
5340 * tree.h (yyparse): Remove.
e6542f4e 5341 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 5342
b5ffe606
HPN
53432002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
5344
ba82f58b
HPN
5345 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
5346 float_truncate, not fix.
5347 ("*truncdfsf2_real"): Ditto.
5348 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
5349
b5ffe606
HPN
5350 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
5351
c8d1b2b7
AO
53522002-03-16 Alexandre Oliva <aoliva@redhat.com>
5353
cfb773f9
AO
5354 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
5355 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
5356 where appropriate. Make the second reference to
5357 leaf_function_p a function call, as intended. Reindented.
5358
4dffef52
AO
5359 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
5360 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
5361
4f5bd6d7
AO
5362 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
5363 add register to non-constant into sp.
5364
c8d1b2b7
AO
5365 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
5366 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
5367 (mips16_gp_pseudo_rtx): Lose.
5368 (INIT_EXPANDERS): Deleted.
5369 * config/mips/mips.c (mips_init_machine_status): New.
5370 (mips_free_machine_status): New.
5371 (mips_mark_machine_status): New.
5372 (override_options): Set them.
5373 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
5374 (struct machine_function): ... new. Replaced all references.
5375 (mips_add_gc_roots): Don't mark them.
5376 (embedded_pic_fnaddr_reg): New, extracted from...
5377 (embedded_pic_offset): ... here.
5378 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
5379 (movsi): Likewise.
5380
b3124fac
NB
53812002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
5382
5383 * cppinit.c: Revert -MD removal.
5384
121449b6
SC
53852002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5386
5387 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
5388 soft registers by default for 68HC12.
5389 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
5390 when compiling with -fomit-frame-pointer.
5391 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
5392 (expand_epilogue): Likewise.
5393 (m68hc11_gen_rotate): Use exg when rotating by 8.
5394
840e2ff1
SC
53952002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5396
5397 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
5398 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
5399 (splits): Remove unused add splits.
5400 ("*addhi3_68hc12"): Tune constraints.
5401 ("addhi_sp"): Try to use X instead of Y in all cases and if the
5402 constant fits in 8-bits and D is dead use abx/aby instructions.
5403 ("*addhi3"): Remove extern declaration of ix_reg.
5404 ("*subsi3"): Optimize and provide new split.
5405 ("subhi3"): Cleanup.
5406 ("*subhi3_sp"): Avoid saving X if we know it is dead.
5407 (arith splits): For 68hc12 save the address register on the stack
5408 and do the arithmetic operation with a pop.
5409
3c9a5efe
SC
54102002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5411
5412 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
5413 allocating QImode in address registers.
5414 ("*movqi_m68hc11"): Likewise.
5415
e41f3392
JH
5416Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
5417
5418 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
5419
576786b0
NB
54202002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
5421
5422 * cppinit.c (print_help): Display -MD and -MMD.
5423 Don't display usage string. Update assertion syntax and
5424 typo.
5425 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
5426 (cpp_handle_option): Update.
5427
1ac458d4
CD
54282002-03-15 Chris Demetriou <cgd@broadcom.com>
5429
5430 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
5431 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
5432 and define it so that regardless of target CPU size,
5433 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
5434 of "int" rather than "long."
5435
1fcd592b
RH
54362002-03-15 Richard Henderson <rth@redhat.com>
5437
5438 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
5439 size as a tree.
5440
a0df6910
SC
54412002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5442
5443 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
5444 ("tstqi" split): Avoid using memory for tstqi on address register.
5445 (splits): Remove constraints.
5446 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
5447 ("cmpdf", "cmpsf"): Remove since not used.
5448 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
5449 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
5450
015a2e59
SC
54512002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5452
5453 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
5454 ("neghi2"): Tighten constraints.
5455 ("one_cmplsi2"): Optimize and simplify split.
5456 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
5457
cd28557c
SC
54582002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5459
5460 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
5461 and split of AND operation to clear the upper bits.
5462 ("*logicalsi3_zextqi"): Likewise.
5463 ("*logicallhi3_zexthi_ashift8"): Likewise.
5464 ("*logicalsi3_silshr16"): Likewise.
5465 ("logicalsi3_silshl16"): Likewise.
5466 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
5467
932657df
SC
54682002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5469
5470 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
5471 (m68hc11_indirect_p): New function.
5472 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
5473 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
5474 TARGET_M6812.
5475 (asm_print_register): Likewise.
5476 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
5477 (m68hc11_indirect_p): Declare.
5478 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
5479 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
5480 (TARGET_SWITCHES): New option -mrelax.
5481 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
5482 destination.
5483 ("iorsi3", "xorsi3"): Likewise.
5484 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
5485 ("*andhi3_mem"): New to handle destination in memory with bclr
5486 and a scratch register.
5487 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
5488 ("*andhi3_const"): New when operand2 is constant.
5489 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
5490 ("*andhi3_gen"): Cleanup of the old "andhi3".
5491 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
5492 ("xorqi3"): Update constraints.
5493
fdffea1a
SC
54942002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5495
5496 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
5497 for reg_equiv_memory_loc when the operand is a register that does
5498 not get a hard register (stack location).
5499 (tst_operand): After reload, accept all memory operand.
5500 (symbolic_memory_operand): Fix detection of symbolic references.
5501 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
5502 accept symbols and any constant.
5503
6272bc68
SC
55042002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5505
5506 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
5507 note on the insn that sets the soft frame register.
5508 (must_parenthesize): ix and iy are also reserved names.
5509 (print_operand_address): One more place where parenthesis are required
5510 to avoid confusion with register names.
5511 (m68hc11_gen_movhi): Allow push of stack pointer.
5512 (m68hc11_check_z_replacement): Fix handling of parallel with a
5513 clobber.
5514 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
5515 the replacement register is.
5516 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
5517 and D8_REGS classes.
5518 (MODES_TIEABLE_P): All modes are tieable except QImode.
5519
1d2d9def
SC
55202002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5521
5522 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
5523 (___subdi3): Likewise.
5524 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
5525 (__map_data_section): Optimize 68hc11 case.
5526
a0ccf503
SC
55272002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5528
5529 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
5530 than a shift to avoid adding a register with itself.
5531 (m68hc11_memory_move_cost): Take into account NO_REGS.
5532 (m68hc11_register_move_cost): Update and use memory move cost
5533 for soft registers.
5534 (m68hc11_address_cost): Make cost of valid offset not 0 so that
5535 it gives more opportunities to cse to optimize.
5536 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
5537 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
5538
6e4ae815
MM
55392002-03-15 Mark Mitchell <mark@codesourcery.com>
5540
5541 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
5542 * c-common.def (CLEANUP_STMT): New tree node.
5543 * c-common.h (CLEANUP_DECL): New macro.
5544 (CLEANUP_EXPR): Likewise.
5545 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
5546 * expr.c (expand_expr): Tidy.
5547 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
5548 * tree-inline.c (initialize_inlined_parameters): Clean up
5549 new local variables.
5550
a42519be
JJ
55512002-03-15 Jakub Jelinek <jakub@redhat.com>
5552
5553 PR bootstrap/4128
5554 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
5555 before movrXX only, use reg_overlap_mentioned_p.
5556 Only special case NE if just one insn can be generated.
5557
15409448
JM
55582002-03-15 Jason Merrill <jason@redhat.com>
5559
5560 * varasm.c (assemble_variable): Call resolve_unique_section before
5561 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
5562 of error_mark_node.
5563
3a4edb44
RE
55642002-03-15 Richard Earnshaw <rearnsha@arm.com>
5565
5566 PR target/5170
5567 * arm.md (split pattern for thumb shiftable immediates): Add comment
5568 explaining non-obvious test.
5569
32defa36
RE
55702002-03-15 Richard Earnshaw <rearnsha@arm.com>
5571
5572 PR target/5712
5573 * arm.md (movaddr, movaddr_insn): Delete.
5574
5cc90635
JM
55752002-03-15 Jason Merrill <jason@redhat.com>
5576
5577 * toplev.c (wrapup_global_declarations): Clarify variable handling.
5578 -fkeep-static-consts doesn't apply to comdats.
5579
ecb0eece
RH
55802002-03-14 Richard Henderson <rth@redhat.com>
5581
5582 * c-decl.c: Include c-pragma.h.
5583 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
5584 (finish_function): Tidy.
5585 * c-pragma.c: Include c-common.h.
5586 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
5587 (handle_pragma_weak): Use them.
5588 (init_pragma): Register pending_weaks.
5589 * c-pragma.h (maybe_apply_pragma_weak): Declare.
5590 * print-tree.c (print_node): Print DECL_WEAK.
5591 * varasm.c (mark_weak_decls): Remove.
5592 (remove_from_pending_weak_list): Remove.
5593 (add_weak): Remove.
5594 (asm_emit_uninitialised): Call globalize_decl for weak commons.
5595 (weak_decls): Make a tree_list.
5596 (declare_weak): Cons weak_decls directly.
5597 (globalize_decl): Remove weak_decls elements directly.
5598 (weak_finish): Simplify weak_decls walk. Don't weaken unused
5599 symbols. Don't pretend to handle aliases.
5600 (init_varasm_once): Update weak_decls registry.
5601 * Makefile.in: Update dependencies.
5602
98d2b17e
RH
56032002-03-14 Richard Henderson <rth@redhat.com>
5604
5605 PR target/5312
5606 * config/ia64/ia64.c: Include tm_p.h last.
5607 (gen_nop_type): Remove duplicate definition.
5608 (cycle_end_fill_slots): Set sched_data for second L slot.
5609 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
5610 (nop_cycles_until): Fix typos.
5611
f2f4927e
JJ
56122002-03-15 Jakub Jelinek <jakub@redhat.com>
5613
5614 PR optimization/5891
5615 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
5616
5025a549
DM
56172002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
5618
5619 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
5620 descriptors correctly.
5621
03e9dbc9
MM
56222002-03-14 Michael Meissner <meissner@redhat.com>
5623
5624 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
5625 100, allowing MAX_UNROLLED_INSNS to be overridden.
5626
5627 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
5628 --param.
5629
5630 * unroll.c (params.h): Include.
5631 (MAX_UNROLLED_INSNS): Delete, now in params.h.
5632
5633 * doc/invoke.texi (--param max-unroll-insns): Document.
5634
5635 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
5636
12249385
RE
56372002-03-14 Richard Earnshaw <rearnsha@arm.com>
5638
5639 * arm.md: Fix warnings about constraints in peepholes and splits.
5640
f0cce04a
ZW
56412002-03-14 Zack Weinberg <zack@codesourcery.com>
5642
5643 * cpphash.h (struct lexer_state): Remove line_extension member.
5644 * cpplib.c (dequote_string, do_linemarker): New functions.
5645 (linemarker_dir): New data object.
5646 (DIRECTIVE_TABLE): No longer need to interpret #line in
5647 preprocessed source. Delete obsolete comment about return
5648 values of handlers.
5649 (end_directive, directive_diagnostics, _cpp_handle_directive):
5650 Don't muck with line_extension.
5651 (directive_diagnostics): No need to issue warnings for
5652 linemarkers here.
5653 (_cpp_handle_directive): Issue warnings for linemarkers here,
5654 when appropriate. Dispatch linemarkers to do_linemarker, not
5655 do_line.
5656 (do_line): Code to handle linemarkers split out to do_linemarker.
5657 Convert escape sequences in filename argument, both places.
5658
5659 * cppmacro.c (quote_string): Rename cpp_quote_string and
5660 export. All callers changed.
5661 * cpplib.h (cpp_quote_string): Prototype.
5662 * cppmain.c (print_line): Call cpp_quote_string on to_file
5663 before printing it.
5664
5665 * doc/cpp.texi: Document that escapes are now interpreted in
5666 #line and in linemarkers, and that non-printing characters are
5667 converted to octal escapes when linemarkers are generated.
5668
5669Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
5670
5671 * emit-rtl.c (try_split): Use delete_insns.
5672 * recog.c (split_all_insns): Fix terminating condition.
5673
c882c7ac
RE
56742002-03-14 Richard Earnshaw <rearnsha@arm.com>
5675 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
5676
5677 PR target/5828
5678 * arm.c (arm_output_epilogue): Fix floating-point register save
5679 adjustment when using a frame pointer.
5680
3f26edaa
RS
56812002-03-14 Richard Sandiford <rsandifo@redhat.com>
5682
5683 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
5684 * config/mips/mips.c (compute_frame_size): Retrofit them here.
5685 (save_restore_insns, mips_expand_epilogue): And here.
5686 (build_mips16_call_stub): And here.
5687 (mips_function_value): Use the new macros to decide whether a single
5688 or complex float can be returned in floating-point registers. Return
5689 a parallel rtx in the complex case.
5690
1e3881c2
JH
5691Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
5692
5693 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
5694 call after liveness analysis.
5695
5696 * recog.c (split_insn): Use delete_insn_and_edges.
5697
5698 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
5699 instructions to have branch prediction notes.
5700 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
5701
200ef634
GK
57022002-03-14 Geoffrey Keating <geoffk@redhat.com>
5703
5704 * configure.in: Don't pass -Wno-long-long to a ADA compiler
5705 that doesn't support it.
5706 * configure: Regenerate.
5707
0b82d204
JJ
57082002-03-13 Jakub Jelinek <jakub@redhat.com>
5709
5710 PR target/5626
5711 * config/sparc/sparc.md (normal_branch, inverted_branch,
5712 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
5713 inverted_fp_branch): Adjust calls to output_cbranch.
5714 Set length attribute.
5715 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
5716 output_v9branch. Set length attribute.
5717 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
5718 predicates.
5719 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
5720 (output_cbranch): Likewise. Handle far branches.
5721 (output_v9branch): Handle far branches.
5722 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
5723 Adjust prototypes.
5724 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
5725 noov_compare64_op predicates.
5726
7a8de19b
JM
57272002-03-13 Jason Merrill <jason@redhat.com>
5728
5729 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
5730 into the function and constify it.
5731 * gthr-dce.h, gthr-solaris.h: Likewise.
5732
2a55fd42
DE
57332002-03-13 David Edelsohn <edelsohn@gnu.org>
5734
5735 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
5736 * config/rs6000/rs6000.c (rs6000_va_arg): Use
5737 std_expand_builtin_va_arg if not ABI_V4.
5738
19c5b1cf
JM
57392002-03-13 Jason Merrill <jason@redhat.com>
5740
5741 * varasm.c (globalize_decl): New fn.
5742 (assemble_start_function): Use it.
5743 (asm_emit_uninitialized): Use it.
5744 (assemble_alias): Use it.
5745 (assemble_variable): Use it.
5746
2a15f5e1
HPN
57472002-03-13 Hans-Peter Nilsson <hp@axis.com>
5748
5749 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 5750 2002-03-12 internal visibility change.
2a15f5e1
HPN
5751 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
5752 visibility into SYMBOL_REF_FLAG.
5753
c0a3eeac
UW
57542002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
5755
5756 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
5757 VOIDmode operand. Add compile-time optimization for constant results.
5758
a1652cee
JM
57592002-03-12 Jason Merrill <jason@redhat.com>
5760
5761 * c-typeck.c (convert_for_assignment): Don't allow conversions
5762 between pointers and references. Only allow lvalues to convert to
5763 reference.
5764
c52a375d
HP
57652002-03-13 Hartmut Penner <hpenner@de.ibm.com>
5766
f0cce04a
ZW
5767 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
5768 before prologue, to avoid scheduling problems.
c52a375d 5769
e387e99b
JJ
57702002-03-13 Jakub Jelinek <jakub@redhat.com>
5771
5772 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
5773 (ELIMINABLE_REGS): Add sfp->sp.
5774 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
5775
57762002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
5777
5778 PR optimization/5892
5779 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
5780
4061c1a3
JJ
57812002-03-13 Jakub Jelinek <jakub@redhat.com>
5782
5783 * loop.c (basic_induction_var): Don't call convert_modes if mode
5784 classes are different.
5785
5b43fed1
RH
57862002-03-12 Richard Henderson <rth@redhat.com>
5787
9f53e965
RH
5788 PR optimization/5901
5789 * function.c (reposition_prologue_and_epilogue_notes): Position
5790 the markers after/before the last/first insn not deleted.
5791
57922002-03-12 Richard Henderson <rth@redhat.com>
5793
5794 PR optimization/5878
5b43fed1
RH
5795 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
5796 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
5797 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
5798
5799 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
5800 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
5801 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
5802
5803 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
5804 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
5805 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
5806 also. Don't set it if not flag_pic.
5807 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
5808 to be INVALID_REGNUM when not used.
5809
4e9bb42b
AH
58102002-03-13 Aldy Hernandez <aldyh@redhat.com>
5811
5b43fed1
RH
5812 * expmed.c (store_bit_field): Reset alias set for memory.
5813 (extract_bit_field): Same.
4e9bb42b 5814
2f9834e8
KG
58152002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5816
5817 * c-common.c (c_tree_code_type, c_tree_code_length,
5818 c_tree_code_name, add_c_tree_codes): Delete.
5819 * c-common.h (add_c_tree_codes): Delete.
5820 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
5821 Define.
5822 * c-objc-common.c (c_objc_common_init): Don't call
5823 add_c_tree_codes, instead set lang_unsafe_for_reeval.
5824 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
5825 objc_tree_code_name, add_objc_tree_codes): Delete.
5826 (objc_init): Don't call add_objc_tree_codes.
5827 * objc/objc-lang.c (tree_code_type, tree_code_length,
5828 tree_code_name): Define.
5829 * toplev.c (lang_independent_init): Don't set
5830 tree_code_length[IDENTIFIER_NODE].
5831 * tree.c (tree_code_type, tree_code_length, tree_code_name):
5832 Delete definitions, moved to language front-ends.
5833 * tree.def (IDENTIFIER_NODE): Hardwire the length.
5834 * tree.h (tree_code_type, tree_code_length, tree_code_name):
5835 Const-ify.
5836 (tree_code_length): Change type to unsigned char.
5837
36ad2436
RH
58382002-03-12 Richard Henderson <rth@redhat.com>
5839
5840 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
5841 internal visibility change.
5842
0ae02efa
BW
58432002-03-12 Bob Wilson <bob.wilson@acm.org>
5844
5845 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
5846 validize_mem() instead of change_address to avoid clobbering
5847 memory attributes.
5848
35bb2bee
NB
58492002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
5850
5851 * c-lex.h (position_after_whitespace): Remove.
5852
62ae2529
JJ
58532002-03-12 Jakub Jelinek <jakub@redhat.com>
5854
5855 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
5856 (lex_string): Use unsigned char pointers.
5857
6a45951f
UW
58582002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
5859
5860 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
5861 is not a valid memory_operand.
5862
e2fb85da
BW
58632002-03-12 Bob Wilson <bob.wilson@acm.org>
5864
5865 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
5866 * config/xtensa/lib1funcs.asm: Fix copyright to include
5867 special case for libgcc files.
5868 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
5869 (__divsi3): Likewise.
5870 (__umodsi3): Likewise.
5871 (__modsi3): Likewise.
5872 * config/xtensa/lib2funcs.S: Fix copyright to include
5873 special case for libgcc files.
5874
5b8619f8
TR
58752002-03-12 Tom Rix <trix@redhat.com>
5876
5877 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 5878 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
5879 (ignore_library): Same.
5880
089c8f97
BW
58812002-03-12 Bob Wilson <bob.wilson@acm.org>
5882
5883 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
5884
958c70ff
BW
58852002-03-12 Bob Wilson <bob.wilson@acm.org>
5886
5887 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
5888 to function_section before writing out the constant pool.
5889
a65c591c
DE
58902002-03-12 David Edelsohn <edelsohn@gnu.org>
5891
5892 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
5893 zero_constant.
5894 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
5895
58962002-03-12 Alan Modra <amodra@bigpond.net.au>
5897
5898 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
5899 (adddi3): Likewise.
5900 (movdf): Likewise.
5901 (movdi): Likewise.
5902 (cmpsi splitter): Likewise.
5903 (modsi3): Fail if <= 0.
5904 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
5905 redundant test when HOST_BITS_PER_WIDE_INT != 32.
5906 (reg_or_sub_cint64_operand): Likewise.
5907 (num_insns_constant_wide): Optimize sign extension.
5908 (rs6000_legitimize_address): Likewise.
5909
17720332
AM
59102002-03-12 Andrew MacLeod <amacleod@redhat.com>
5911
5912 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
5913 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
5914
cd49f073
AM
59152002-03-12 Andrew MacLeod <amacleod@redhat.com>
5916
5917 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
5918 address calculation.
5919
6a4e49c1
UW
59202002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
5921
5922 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
5923 scratch register to DImode / TImode.
5924 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
5925 register used does not overlap the target.
5926
54b6670a
KG
59272002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5928
5929 * Makefile.in (debug.o): Depend on debug.h.
5930 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
5931 * debug.c (do_nothing_debug_hooks): Likewise.
5932 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
5933 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
5934 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
5935 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
5936 * dwarfout.c (dwarf_debug_hooks): Likewise.
5937 * integrate.c (output_inline_function): Likewise.
5938 * objc/objc-act.c (synth_module_prologue): Likewise.
5939 * sdbout.c (sdb_debug_hooks): Likewise.
5940 * toplev.c (debug_hooks): Likewise.
5941 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
5942
2465bf76
KG
59432002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5944
5945 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
5946 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
5947 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
5948 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
5949 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
5950 * defaults.h (POINTER_SIZE): Define.
5951 * doc/tm.texi (POINTER_SIZE): Document default.
5952
53f3e9ca
KG
59532002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5954
5955 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
5956
44d3eb5b
RH
59572002-03-11 Richard Henderson <rth@redhat.com>
5958
5959 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
5960 if rebuild_label_notes_after_reload.
5961
4a085d2e
HPN
59622002-03-12 Hans-Peter Nilsson <hp@axis.com>
5963
5964 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
5965 emit pic register load if "internal" visibility.
5966 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
5967 (cris_expand_builtin_va_arg): Do all computations on trees.
5968
bc204393
RH
59692002-03-11 Richard Henderson <rth@redhat.com>
5970
5971 * rtlanal.c: Include recog.h.
5972 (keep_with_call_p): Fix thinko.
5973 * Makefile.in (rtlanal.o): Update dependencies.
5974
6b8b9d7b
CM
59752002-03-11 Chris Meyer <cmeyer@gatan.com>
5976
5977 * genflags.c (gen_insn): Use IS_VSPACE.
5978 * genoutput.c (output_insn_data): Likewise.
5979 (process_template): Likewise.
5980
6c40858f
RH
59812002-03-11 Richard Henderson <rth@redhat.com>
5982
5983 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
5984
40adaa27
NB
59852002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
5986
5987 * Makefile.in: Update.
6c40858f 5988 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 5989 Update documentation.
6c40858f
RH
5990 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
5991 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 5992
049b03f4
ZW
59932002-03-11 Zack Weinberg <zack@codesourcery.com>
5994
5995 * Makefile.in: Give texi2pod its input file as a command line
5996 argument, not on stdin.
5997
61eece67
DN
59982002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
5999 Daniel Berlin <dan@dberlin.org>
6000
6001 C++ alias analysis improvement.
f0cce04a 6002 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
6003 classes too.
6004
a65c591c
DE
60052002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
6006
ff080aba
UW
6007 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
6008
1682dbb1
DR
60092002-03-11 Douglas B Rupp <rupp@gnat.com>
6010
fa2d765a
DR
6011 * toplev.c (vms_fopen): Remove, not needed.
6012
6f1fd286
DR
6013 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
6014
b230e057
DR
6015 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
6016
cb9a8e97
DR
6017 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
6018 for FP, already done later.
6019
1682dbb1
DR
6020 * toplev.c (debug_args): Add entry for VMS_DEBUG.
6021 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
6022
3fcaac1d
RS
60232002-03-11 Richard Sandiford <rsandifo@redhat.com>
6024
6025 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
6026 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
6027 LARGEST_EXPONENT_IS_NORMAL for the given mode.
6028 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
6029 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
6030 (ediv, emul, eldexp, esqrt): Likewise.
6031 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
6032 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
6033 (saturate): New function.
6034 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
6035 (make_nan): Use a saturation value instead of a NaN if
6036 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
6037 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
6038 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
6039 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
6040 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
6041 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
6042 !ROUND_TOWARDS_ZERO.
6043 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
6044 (ROUND_TOWARDS_ZERO): Document.
6045
d25558be
AJ
60462002-03-11 Andreas Jaeger <aj@suse.de>
6047
6048 * cfg.c (dump_flow_info): Remove unused variable.
6049
c71f9ae7
HPN
60502002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
6051
6052 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
6053 computations on trees.
6054
561c9153
RH
60552002-03-10 Richard Henderson <rth@redhat.com>
6056
932b4e3e 6057 PR 5693:
561c9153
RH
6058 * reload.c (copy_replacements_1): New.
6059 (copy_replacements): Use it to recurse through the rtx.
6060
26b738be
RH
60612002-03-10 Richard Henderson <rth@redhat.com>
6062
6063 * loop.c (strength_reduce): Compute number of iterations as
6064 unsigned HOST_WIDE_INT.
6065
8d8a083e
RH
60662002-03-10 Richard Henderson <rth@redhat.com>
6067
6068 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
6069 to move away from the end of the block.
6070
32810ba3
NB
60712002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
6072
6073 PR preprocessor/5899
6074 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 6075
2b03d201
KG
60762002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6077
f90c544c
KG
6078 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
6079
2b03d201
KG
6080 * attribs.c (decl_attributes): Fix signed/unsigned warning.
6081
3ec1b4cb
HPN
60822002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
6083
6084 * config/mmix/mmix.c: Improve comments.
6085 (mmix_target_asm_function_prologue): Drop variable
6086 empty_stack_frame. Don't allocate unused slot above fp.
6087 (mmix_target_asm_function_epilogue): Mirror prologue changes.
6088 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
6089 brace in first column.
6090 (enum reg_class): Ditto.
6091 (FIRST_PARM_OFFSET): Now 0.
6092 (USER_LABEL_PREFIX): Remove #if 0:d definition.
6093
27e486c5
KG
60942002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6095
6096 * combine.c (make_extraction): Fix error in last change.
6097
0139adca
KG
60982002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6099
6100 * c4x.c (c4x_fp_reglist): Const-ify.
6101 * cris.c (cris_print_operand): Likewise.
6102 * i386.c (ix86_va_arg): Likewise.
6103 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
6104 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
6105 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
6106 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
6107 * mcore.h (regno_reg_class): Likewise.
6108 * mips.c (gen_int_relational): Likewise.
6109 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
6110 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 6111 * pdp11.c (move_costs): Likewise.
0139adca
KG
6112 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
6113 * s390.c (s390_branch_condition_mnemonic, regclass_map):
6114 Likewise.
6115 * s390.h (regclass_map): Likewise.
6116 * sh.c (shift_amounts): Likewise.
a4334c36 6117 * sh.md (rotlsi3): Likewise.
0139adca 6118
889b90a1
GK
61192002-03-09 Geoffrey Keating <geoffk@redhat.com>
6120
6121 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
6122 (ne0+5): Use new clobber to generate proper shift pattern.
6123 Patch by Michael Matz <matz@kde.org>.
6124
2877e0ae
AS
61252002-03-09 Andreas Schwab <schwab@suse.de>
6126
6127 * gcc.c (validate_all_switches): Also handle `%W{...}'.
6128
79b51cd7
GK
61292002-03-09 Geoffrey Keating <geoffk@redhat.com>
6130
6131 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
6132
e0f1be5c
JJ
61332002-03-09 Jakub Jelinek <jakub@redhat.com>
6134
6135 PR middle-end/5877
6136 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
6137 even for non-representable constants.
6138
0a7ec763
RK
6139Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6140
93fe8e92
RK
6141 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
6142 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
6143 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
6144 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
6145 (pop_function_context): Compute MAY_SHARE parameter for
6146 fixup_var_refs.
6147 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
6148 (gen_mem_addressof): Call fixup_var_refs with new parm.
6149
0a7ec763
RK
6150 * combine.c (make_extraction): Don't make extension of CONST_INT.
6151
a85cd407
AO
61522002-03-09 Alexandre Oliva <aoliva@redhat.com>
6153
9445b814
AO
6154 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
6155 in o32 and o64 ABIs.
6156 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
6157 but getting fixed-size structs passed in registers regardless of
6158 padding in o32 and o64 ABIs.
6159
a85cd407
AO
6160 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
6161 offset before loading address of argument passed by transparent
6162 reference.
6163
c51fbe40
JDA
61642002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
6165
6166 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
6167
918e70dd
AO
61682002-03-09 Alexandre Oliva <aoliva@redhat.com>
6169
6170 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
6171 marker such that registers after it are saved.
6172
3070dd00
KG
61732002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6174
6175 * sparc.c (arith_4096_operand): Fix error in last change.
6176
e25d11b0
AO
61772002-03-08 Alexandre Oliva <aoliva@redhat.com>
6178
6179 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
6180 defaults for MEABI.
6181
41daaf0e
AH
61822002-03-08 Aldy Hernandez <aldyh@redhat.com>
6183
5b43fed1
RH
6184 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
6185 vectors.
41daaf0e 6186
fa139b00
AH
61872002-03-08 Aldy Hernandez <aldyh@redhat.com>
6188
5b43fed1 6189 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 6190
c51d95ec
JH
6191Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
6192
6193 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
6194 removed; fix return value.
6195 * combine.c (combine_instructions): Dirtify blocks where we failed to
6196 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
6197 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
6198
3b25fbfe
KG
61992002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6200
6201 * gcse.c (insert_insn_end_bb): Fix typo in last change.
6202
189ae0f4
JH
6203Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
6204
6205 * recog.c (peephole2_optimize): Re-distribute EH edges.
6206
24965e7a
NB
62072002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
6208
6209 * expr.c (expand_expr): Use unsave lang hook.
6210 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
6211 (LANG_HOOKS_INITIALIZER): Update.
6212 * langhooks.h (struct lang_hooks): New hook unsave.
6213 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
6214 (unsave_expr_1): Remove unused lang_unsave_expr_now.
6215 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
6216 (unsave_expr_now): Remove.
6217 * tree.h (unsave_expr_now, lang_unsave,
6218 lang_unsave_expr_now): Remove.
6219 (lhd_unsave): New.
6220
1e4e95d6
AJ
62212002-03-08 Andreas Jaeger <aj@suse.de>
6222
6223 * flow.c (propagate_block_delete_insn): Remove unused variable.
6224
054ef905
KH
62252002-03-08 Kazu Hirata <kazu@hxi.com>
6226
6227 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
6228 insn length for memory load/store.
6229
5304400d 62302002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 6231
5304400d
CR
6232 * doc/install.texi (--with-libiconv-prefix): Document.
6233
81034129
MB
62342002-03-08 Michael Y. Brukman <myb2@cornell.edu>
6235
6236 * doc/sourcebuild.texi: Fix typo.
6237
71db7d03
JJ
62382002-03-08 Jakub Jelinek <jakub@redhat.com>
6239
6240 PR c/3711
6241 * builtins.c (std_expand_builtin_va_arg): Do all computations on
6242 trees.
6243
127c1ba5
RK
6244Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6245
6246 * rtl.c (copy_most_rtx): Move from here ...
6247 * emit-rtl.c (copy_most_rtx): ... to here.
6248
8a13c092
AO
62492002-03-08 Alexandre Oliva <aoliva@redhat.com>
6250
5faae4f7
AO
6251 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
6252 SUBTARGET_CPP_SIZE_SPEC.
6253 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
6254
8a13c092
AO
6255 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
6256
4ec59de2
MH
62572002-03-07 Matt Hiller <hiller@redhat.com>
6258
6259 * gensupport.c (first_dir_md_include): Renamed from include;
6260 change all references.
6261 (last_dir_md_include): Renamed from last_include; change all
6262 references.
6263 (init_md_reader): Unconditionally initialize base_dir whether or
6264 not filename is a relative path.
6265
12f61e77
AO
62662002-03-07 Alexandre Oliva <aoliva@redhat.com>
6267
95356058
AO
6268 * config/fp-bit.c (_unord_f2): Compile it in even if
6269 US_SOFTWARE_GOFAST is enabled.
6270
12f61e77
AO
6271 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
6272 NULL_RTX. Set all HFmode operations as NULL_RTX.
6273 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
6274 NULL_RTX, try reversing the comparison and the operands.
6275
6d7a1c4c
UW
62762002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
6277
6278 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
6279 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
6280 and MATCH_OP_DUP.
6281
66d54344
JH
6282Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
6283
6284 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
6285
068473ec
JH
6286Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
6287
6288 * basic-block.h (fixup_abnormal_edges): Declare.
6289 * reload1.c (fixup_abnormal_edges): New function.
6290 * reg-stack.c (convert_regs): Use it.
6291
6292 * gcse.c (insert_insn_end_bb): Handle trapping insns.
6293
6294 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
6295
71925bc0
RS
62962002-03-07 Richard Sandiford <rsandifo@redhat.com>
6297
6298 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
6299 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
6300 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
6301 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
6302 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
6303 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
6304 unless x and y could be infinite.
6305 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
6306 Check that the common type of both arguments is a real, even for
6307 targets without unordered comparisons. Allow an integer argument
6308 to be compared against a real.
6309 (expand_tree_builtin): Use expand_unordered_cmp.
6310 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
6311 * cse.c (fold_rtx): Likewise. Fix indentation.
6312 * fold-const.c (fold_real_zero_addition_p): New.
6313 (fold): Use it, and the new HONOR_... macros.
6314 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
6315 * jump.c (reversed_comparison_code_parts): After searching for
6316 the true comparison mode, use HONOR_NANS to decide whether it
6317 can be safely reversed.
6318 (reverse_condition_maybe_unordered): Remove IEEE check.
6319 * simplify-rtx.c (simplify_binary_operation): Use the new macros
6320 to decide which simplifications are valid. Allow the following
6321 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
6322 and (a - -b) to (a + b).
6323 (simplify_relational_operation): Use HONOR_NANS.
6324 * doc/tm.texi: Document the MODE_HAS_... macros.
6325
145d3bf2
RE
63262002-03-07 Richard Earnshaw <rearnsha@arm.com>
6327
6328 * combine.c (simplify_comparison): If simplifying a logical shift
6329 right and compare with constant, force the comparison to unsigned.
6330
76a773f3
AH
63312002-03-07 Aldy Hernandez <aldyh@redhat.com>
6332
5b43fed1 6333 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 6334
5b43fed1
RH
6335 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
6336 -mabi=no-altivec
6337 (alt_reg_names): Remove % for vrsave.
76a773f3 6338
ab55f58c
RH
63392002-03-06 Richard Henderson <rth@redhat.com>
6340
5ddec02e 6341 PR optimization/5844
ab55f58c
RH
6342 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
6343 if used indicates we've already emitted one copy of an operand.
6344 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
6345 (gen_split): Supply a non-null used.
6346
e16e3291
UW
63472002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
6348
5b43fed1 6349 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 6350
1e4e95d6 6351 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
6352 but simply fail if the expression is too complex to simplify.
6353 (simplify_gen_binary): Handle simplify_plus_minus failures.
6354
2ca6672b
JH
6355Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
6356
6357 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
6358 consistently call delete_trivially_dead_insns after CSE and GCSE;
6359 fix DFI_life dumping; do jump threading after liveness; do crossjumping
6360 after liveness2; update comment in last crossjumping.
6361 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
6362
31d0dd4f
JL
6363Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
6364
d094b0b3
JL
6365 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
6366 after completing fast dead code elimination.
6367
31d0dd4f
JL
6368 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
6369 COMPARE operator.
1e4e95d6 6370
f2b958b1
PE
63712002-03-06 Phil Edwards <pme@gcc.gnu.org>
6372
6373 * version.c: Fix misplaced leading blanks on first line.
6374
a2877a09
JH
6375Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
6376
6377 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
6378
fe477d8b
JH
6379Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
6380
6381 * cfgcleanup.c (mentions_nonequal_regs): New function.
6382 (thread_jump): Use it.
6383 * toplev.c (rest_of_compilation): Run jump threading after
6384 liveness.
6385
2041cde4
JJ
63862002-03-06 Jakub Jelinek <jakub@redhat.com>
6387
6388 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
6389 patch.
6390
82d68d46
JH
6391Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
6392
6393 * predict.c (estimate_bb_frequencies): Do not reload the
6394 frequencies from notes.
6395
3dec4024
JH
6396Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
6397
6398 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
6399 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
6400
6401 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
6402 delete_noop_moves): Return indeger.
6403 * flow.c (ndead): New variable.
6404 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
6405 BB argument; update callers.
6406 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
6407 (life_analysis): Do not call purge_all_dead_edges.
6408 (update_life_info): Return number of deleted insns; print statistics.
6409 (update_life_info_in_dirty_blocks): likewise.
6410 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
6411 return number of insns deleted.
6412
6413 * cse.c: Include timevar.h
6414 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
6415 iterate until stabilizes; print statistics; return number of killed
6416 insns.
6417 * Makefile.in: (cse.o): Add timevar.h dependency
6418 * rtl.h (delete_trivially_dead_insns): New.
6419 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
6420 * toplev.c (rest_of_compilation): Update callers.
6421
6422 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
6423 (try_optimize_cfg): Do not update liveness.
6424 (cleanup-cfg): Loop until try_optimize_cfg and dead code
6425 removal stabilizes; use delete_trivially_dead_insns.
6426
6427 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
6428
c7544dd8
ZW
64292002-03-05 Zack Weinberg <zack@codesourcery.com>
6430
6431 * cppmain.c (setup_callbacks): Disable #pragma and #ident
6432 callbacks when processing assembly language.
6433
50b424a9
JDA
64342002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
6435
6436 * pa.h (ASM_FILE_END): Define.
6437 * som.h (ASM_FILE_END): Delete.
6438
6439 * pa.c (function_arg): Don't pass floats in general registers in
6440 indirect calls if TARGET_ELF32.
6441
6185f217
RH
64422002-03-05 Richard Henderson <rth@redhat.com>
6443
6444 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
6445
3020a4b2
DS
64462002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
6447
6448 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
6449
65649daa
JJ
64502002-03-05 Jakub Jelinek <jakub@redhat.com>
6451
6452 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
6453 -r command line. Don't hide any symbols if not building
6454 shared libgcc.
6455
5a1a3e5e
JH
6456Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
6457
6458 * cfg.c (dump_flow_info): Warn about profile mismatches.
6459 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
6460 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
6461
170c56da
JJ
64622002-03-05 Jakub Jelinek <jakub@redhat.com>
6463
6464 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
6465 wide volatile memory by parts.
6466
6d051694
JJ
64672002-03-05 Jakub Jelinek <jakub@redhat.com>
6468
6469 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
6470 is NULL.
6471
28bcfd4d
RH
64722002-03-05 Richard Henderson <rth@redhat.com>
6473
5b43fed1 6474 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 6475
75227a33
GK
64762002-03-04 Geoffrey Keating <geoffk@redhat.com>
6477
6478 * toplev.c (documented_lang_options): Document more
6479 language-specific options.
6480 * doc/invoke.texi (Warning Options): Correct documentation for
6481 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
6482 * c-decl.c (c_decode_option): Use a table to handle warning options.
6483
4f1aac42
HPN
64842002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
6485
6486 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
6487 parameter to mmix_encode_section_info.
6488 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
6489 relocatably. Always produce ELF, not mmo if linking relocatably.
6490 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
6491 first is non-zero, don't add symbol prefix.
6492 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
6493 prototype accordingly.
6494
12345543
KW
64952002-03-04 Krister Walfridsson <cato@df.lth.se>
6496
6497 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
6498
8e97db8f
JM
64992002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
6500
6501 * configure.in: Increase required makeinfo version to 4.1.
6502 * configure: Regenerate.
6503
06487868
GK
65042002-03-04 Geoffrey Keating <geoffk@redhat.com>
6505
6506 * .cvsignore: Remove *.info* and genrtl*; these files are generated
6507 elsewhere now.
6508
cff42170
JM
65092002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
6510
6511 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
6512 * doc/invoke.texi: Fix @math uses.
6513
974a7f56
JH
6514Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
6515
6516 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
6517 removal
6518
3b7d0e98
AH
65192002-03-03 Aldy Hernandez <aldyh@redhat.com>
6520
5b43fed1
RH
6521 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
6522 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 6523
5b43fed1 6524 * config/rs6000/t-ppcendian: New.
3b7d0e98 6525
65f2f288
HB
65262002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6527
6528 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
6529 nonimmediate_src_operand and nonimmediate_lsrc_operand to
6530 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
6531
8ce0a8a5
RH
65322002-03-03 Richard Henderson <rth@redhat.com>
6533
6534 * toplev.c (rest_of_decl_compilation): Revert last two changes.
6535
ba31d94e
ZW
65362002-03-03 Zack Weinberg <zack@codesourcery.com>
6537
6538 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
6539 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
6540 tree.c, config/m68k/m68k.c:
6541 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
6542 REAL_ARITHMETIC blocks unconditional. Delete some further
6543 #ifdef blocks predicated on REAL_ARITHMETIC.
6544 * flags.h, toplev.c: Delete remaining references to
6545 flag_pretend_float.
6546
6547 * doc/invoke.texi: Remove documentation of -fpretend-float.
6548 * doc/tm.texi: Describe the various REAL_* macros as provided by
6549 real.h, not by the target configuration files.
6550
6551 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
6552 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
6553 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
6554 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
6555 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
6556 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
6557 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
6558 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
6559 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
6560 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
6561 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
6562 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
6563 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
6564 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
6565 config/xtensa/xtensa.h:
6566 Do not define, undefine, or mention in comments any of
6567 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
6568 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
6569 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
6570 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
6571 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
6572 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
6573 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
6574 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
6575 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
6576
9a571cfd
KG
65772002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6578
e81dd381
KG
6579 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
6580 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
6581 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
6582 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
6583 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
6584 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
6585 Delete.
6586 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 6587 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 6588
9a571cfd
KG
6589 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
6590 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
6591 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
6592
ca7558fc
KG
65932002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6594
6595 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
6596 lieu of explicit sizeof/sizeof.
6597 * i386.c (override_options, ix86_init_mmx_sse_builtins,
6598 ix86_expand_builtin): Likewise.
6599 * mips.c (mips_add_gc_roots): Likewise.
6600 * mmix.c (mmix_output_condition): Likewise.
6601 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
6602 altivec_init_builtins): Likewise.
6603 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
6604 * cppexp.c (Nsuff, parse_number): Likewise.
6605 * cppinit.c (builtin_array_end): Likewise.
6606 * gcc.c (n_default_compilers, process_command): Likewise.
6607 * genpreds.c (output_predicate_decls): Likewise.
6608 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
6609 * lcm.c (N_ENTITIES): Likewise.
6610 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 6611
41c78c88
RH
66122002-03-03 Richard Henderson <rth@redhat.com>
6613
6614 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
6615 for types or labels.
6616
9e9b71e6
RH
66172002-03-03 Richard Henderson <rth@redhat.com>
6618
6619 * c-decl.c (start_decl): Initialized variables are not common.
6620
c26a6db8
PB
66212002-03-02 Per Bothner <per@bothner.com>
6622
6623 * gcc.c (option_map): Suport new --bootclasspath option.
6624 --CLASSPATH is now just an alias for --classpath.
6625
9e8aab55
RH
66262002-03-02 Richard Henderson <rth@redhat.com>
6627
6628 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
6629 load if "internal" visibility.
6630 * doc/extend.texi: Document visibility meanings.
6631
b3bbd220
RH
66322002-03-02 Richard Henderson <rth@redhat.com>
6633
6634 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
6635 to functions as well.
6636
b14707c3
RH
66372002-03-02 Richard Henderson <rth@redhat.com>
6638
6639 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
6640 (handle_visibility_attribute): Don't call assemble_visibility.
6641 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
6642 without asmspec. Invoke assemble_alias when needed.
6643 * varasm.c (maybe_assemble_visibility): New.
6644 (assemble_start_function, assemble_variable, assemble_alias): Use it.
6645
b2003250
RH
66462002-03-02 Richard Henderson <rth@redhat.com>
6647
6648 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
6649 invoke ENCODE_SECTION_INFO with first call flag.
6650
6651 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
6652 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 6653 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
6654 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
6655 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
6656 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
6657 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6658 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
6659 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
6660 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
6661 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
6662 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
6663 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
6664 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
6665 config/mcore/mcore-protos.h, config/mcore/mcore.c,
6666 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
6667 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 6668 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
6669 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
6670 config/sh/sh.h, config/sparc/sparc.h,
6671 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6672 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
6673 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
6674 FIRST argument. As needed, examine it and do nothing.
6675
ba31d94e 6676 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
6677 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
6678 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
6679
6680 * config/arm/t-pe (pe.o): Add dependencies.
6681
5c60f03d
KG
66822002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6683
6684 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
6685 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
6686 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
6687 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
6688 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
6689 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
6690 * defaults.h (BITS_PER_UNIT): Define.
6691 * doc/tm.texi (BITS_PER_UNIT): Document default value.
6692
86855e8c
KH
66932002-03-02 Kazu Hirata <kazu@hxi.com>
6694
6695 * config/h8300/h8300-protos.h: Add a prototype for
6696 compute_a_shift_length.
6697 * config/h8300/h8300.c (h8300_asm_insn_count): New.
6698 (compute_a_shift_length): Likewise.
6699 (h8300_adjust_insn_length): Do not adjust insn length of shift
6700 insns.
6701 * config/h8300/h8300.md (anonymous shift patterns): Use
6702 compute_a_shift_length.
6703
f6041ed8
RK
6704Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6705
35aa3c1c
RK
6706 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
6707 trunc_int_for_mode.
6708
f6041ed8
RK
6709 * emit-rtl.c (offset_address): Call update_temp_slot_address.
6710
27b41650
KG
67112002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6712
6713 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
6714 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
6715 * flags.h (flag_zero_initialized_in_bss): Declare.
6716 * toplev.c (flag_zero_initialized_in_bss): New flag.
6717 (lang_independent_options): Add flag_zero_initialized_in_bss.
6718 * tree.c (initializer_zerop): New function.
6719 * tree.h (initializer_zerop): Declare.
6720 * varasm.c (assemble_variable): If we can emit bss, put zero
6721 initializers in the bss section.
6722
ca734b39
AM
67232002-03-02 Alan Modra <amodra@bigpond.net.au>
6724
6725 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
6726 like more than one symbol per .weak directive.
6727
49b72306
RH
67282002-03-01 Richard Henderson <rth@redhat.com>
6729
6730 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
6731 adjust argument_pointer by pretend_args_size.
6732 (ia64_va_start): Adjust va_start address by -pretend_args_size.
6733
fbf0fe41
KH
67342002-03-01 Kazu Hirata <kazu@hxi.com>
6735
6736 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
6737
0010687d
JH
6738Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
6739
6740 * toplev.c (rest_of_compilation): Delete dead jumptables before
6741 loop.
6742 * flow.c (delete_dead_jumptables): Make global.
6743 * rtl.h (delete_dead_jumptables): Declare.
6744
9429c84c
DE
67452002-03-01 David Edelsohn <edelsohn@gnu.org>
6746
6747 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
6748 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 6749 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 6750
f0b6f9a6
KH
67512002-03-01 Kazu Hirata <kazu@hxi.com>
6752
6753 * config/h8300/h8300-protos.h: Fix formatting.
6754 * config/h8300/h8300.c: Likewise.
6755 * config/h8300/h8300.h: Likewise.
6756
bc8db8a1
KH
67572002-03-01 Kazu Hirata <kazu@hxi.com>
6758
6759 * config/h8300/h8300.c (print_operand): Support 16-bit
6760 constant addresses.
6761 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
6762
32b069d3
RH
67632002-02-28 Richard Henderson <rth@redhat.com>
6764
6765 * expmed.c (store_bit_field): Prevent generation of CONCATs;
6766 pun complex values as integers; use gen_lowpart instead of
6767 gen_rtx_SUBREG.
6768 (extract_bit_field): Likewise.
6769
79c4e63f
AM
67702002-03-01 Alan Modra <amodra@bigpond.net.au>
6771 David Edelsohn <edelsohn@gnu.org>
6772
6773 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
6774 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
6775 (SUPPORTS_WEAK): Likewise.
6776 * output.h (add_weak): Add tree param.
6777 * varasm.c (add_weak): Likewise. Save decl.
6778 (struct weak_syms): Add decl field.
6779 (mark_weak_decls): New function.
6780 (init_varasm_once): ggc_add_root mark_weak_decls.
6781 (assemble_start_function): Use ASM_WEAKEN_DECL.
6782 (assemble_variable): Likewise.
6783 (assemble_alias): Likewise.
6784 (declare_weak): Pass decl to add_weak.
6785 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
6786 (remove_from_pending_weak_list): Declare and define for
6787 ASM_WEAKEN_DECL.
6788 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
6789 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
6790 * defaults.h (SUPPORTS_WEAK): Likewise.
6791 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
6792 .weak for code sym. Do emit .size for descriptor sym.
6793 (ASM_DECLARE_FUNCTION_SIZE): Define.
6794 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
6795 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
6796 .lglobl unless TARGET_XCOFF. Formatting fixes.
6797 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
6798 .weak for code sym.
6799 (HANDLE_PRAGMA_WEAK): Remove.
6800 (ASM_WEAKEN_LABEL): Remove.
6801 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
6802
6f30f1f1
JM
68032002-03-01 Jason Merrill <jason@redhat.com>
6804
6805 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
6806 (TARGET_EXPR_CLEANUP): New macro.
6807
7879b81e
SE
68082002-02-28 Steve Ellcey <sje@cup.hp.com>
6809
6810 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
6811 to take ptr_extend into account as third type of extension.
6812 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
6813 fields used by SUBREG_PROMOTED_UNSIGNED_P.
6814 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
6815 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
6816 * calls.c (precompute_arguments): Use new macro.
6817 (expand_call): Ditto.
6818 * combine.c (nonzero_bits): Ditto.
6819 (record_promoted_value): Ditto.
6820 * expr.c (store_expr): Ditto.
6821 (expand_expr): Ditto.
6822 * function.c (assign_parms): Ditto.
6823
42d579d8
AO
68242002-02-28 Alexandre Oliva <aoliva@redhat.com>
6825
6826 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
6827 override -shared and -shared-libgcc.
6828
e0054185
DB
68292002-02-28 David O'Brien <obrien@FreeBSD.org>
6830
6831 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
6832 of "ultrasparc".
6833 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
6834 to be broken.
6835
abda4f1c
RH
68362002-02-28 Richard Henderson <rth@redhat.com>
6837
6838 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
6839 4 cycle latency from MM producers.
6840 (ia64_internal_sched_reorder): Likewise with pipeline flush.
6841
c0f08649
JJ
68422002-02-28 Jakub Jelinek <jakub@redhat.com>
6843
6844 * mklibgcc.in: Don't use GNU make extension.
6845
f79f2651
NB
68462002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
6847
6848 * c-parse.in (STATIC): New terminal.
6849 (scspec): New non-terminal. Update productions accordingly.
6850 (program): Remove bogus ifc / end ifc.
6851 (array_declarator): Simplify production using STATIC.
6852
001e3fee
JM
68532002-02-28 Jim Meyering <meyering@lucent.com>
6854
6855 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
6856 \a still means TARGET_BELL.
6857
89076bb3
RH
68582002-02-28 Richard Henderson <rth@redhat.com>
6859
6860 * haifa-sched.c (sched_emit_insn): New.
6861 (schedule_block): Use last_scheduled_insn to track last insn.
6862 * sched-int.h (sched_emit_insn): Prototype.
6863 * config/ia64/ia64.c (last_issued): Remove.
6864 (ia64_variable_issue): Don't set it.
6865 (nop_cycles_until): Use sched_emit_insn.
6866
e3aaacf4
AM
68672002-02-28 Andrew MacLeod <amacleod@redhat.com>
6868
6869 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
6870 extended constants.
6871
7f473594
KH
68722002-02-28 Kazu Hirata <kazu@hxi.com>
6873
6874 * config/h8300/h8300.c: Fix formatting.
6875 * config/h8300/h8300.h: Likewise.
6876
b96c434c
MM
68772002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
6878
6879 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
6880 which may overwrite the high byte of the frame pointer.
6881
9b420a6a
BT
68822002-02-28 Bo Thorsen <bo@suse.de>
6883
6884 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
6885 (STARTFILE_SPEC): Add 64 bit files.
6886 (ENDFILE_SPEC): Likewise.
6887
6f30f1f1 68882002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
6889
6890 * c-decl.c (finish_function): Only warn about missing return
6891 statement with -Wreturn-type.
6892
70da1d03
JH
6893Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
6894
6895 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
6896
6897 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
6898 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
6899
38c1593d
JH
6900Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
6901
6902 * basic-block.h (BB_REACHABLE): Renumber.
6903 (BB_DIRTY, BB_NEW): New flags.
6904 (clear_bb_flags): Declare.
6905 (update_life_info_in_dirty_blocks): Declare.
6906 * cfg.c (clear_bb_flags): New function.
6907 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
6908 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
6909 reorder_insns, emit_insn_after): Mark block as dirty.
6910 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
6911 (update_life_info_in_dirty_blocks): New function.
6912 * recog.c (apply_change_group): Dirtify block.
6913
6914 * cse.c (cse_insn): Reorder emitting of jump insn to keep
6915 cfg consistent.
6916 * gcse.c (delete_null_pointer_checks): Likewise.
6917
6918 * toplev.c (dump_file_index): Move cse2 after bp,
6919 add DFI_null
6920 (dump_file_info): Similary.
6921 (rest_of_compilation): Avoid most of CFG rebuilds;
6922 do first if converision after null pointer checks, do cse2
6923 after branch prediction; avoid full liveness rebuild after
6924 initializing subregs.
6925 * invoke.texi (-d options): Document -du, renumber.
6926
6927 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
6928 (notice_new_block): Do not set BB_UPDATE_LIFE.
6929 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
6930 merge_blocks_move_successor_nojumps, merge_blocks,
6931 try_crossjump_to_edge): Likewise.
6932 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
6933 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
6934 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
6935 (merge_of_block): Do not use life_data_ok.
6936 (find_if_case_1): Do not use SET_UPDATE_LIFE.
6937 (if_convert): Use BB_DIRTY mechanizm to update life.
6938 * lcm.c (optimize_mode_switching): Update
6939 update_life_info_in_dirty_blocks
6940
63e1b1c4
NB
69412002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
6942
6943 * Makefile.in (integrate.o): Update.
6944 * c-decl.c (copy_lang_decl): Rename.
6945 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
6946 * integrate.c: Include langhooks.h.
6947 (copy_decl_for_inlining): Update to use langhook.
6948 * langhooks-def.h (lhd_do_nothing_t,
6949 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
6950 (LANG_HOOKS_INITIALIZER): Update.
6951 * langhooks.c (lhd_do_nothing_t): New.
6952 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
6953 * tree.h (copy_lang_decl): Remove.
6954objc:
6955 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
6956
f472fa29
AM
69572002-02-27 Andrew MacLeod <amacleod@redhat.com>
6958
ba31d94e 6959 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
6960 POST_DEC, and POST_MODIFY.
6961
273cf2e4
ZW
69622002-02-27 Zack Weinberg <zack@codesourcery.com>
6963
6964 * c-typeck.c (digest_init): Remove unused parameter; all
6965 callers changed.
6966
4e07d762
GK
69672002-02-27 Geoffrey Keating <geoffk@redhat.com>
6968
6969 * expmed.c (expand_shift): Correctly test for low part of a
6970 subreg.
6971
6bc627b3
UW
69722002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
6973
6974 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
6975 insn UIDs with insn addresses.
6976
f458d1d5
ZW
69772002-02-27 Zack Weinberg <zack@codesourcery.com>
6978
6979 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
6980 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
6981 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
6982 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
6983 gcc.c, toplev.c: Delete code implementing -traditional mode.
6984
6985 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
6986 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
6987 Document removal of -traditional mode for compilation, and
6988 remove documentation only relevant to that mode.
6989
6990 * config/nextstep.h, config/ptx4.h, config/svr4.h,
6991 config/convex/convex.h, config/d30v/d30v.h,
6992 config/i386/dgux.h, config/i386/osf1elf.h,
6993 config/i386/osfelf.h, config/i386/osfrose.h,
6994 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
6995 config/m68k/hp310.h, config/m88k/dgux.h,
6996 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
6997 config/m88k/m88k.h, config/m88k/openbsd.h,
6998 config/mips/abi64.h, config/mips/osfrose.h,
6999 config/mips/svr4-5.h, config/mips/svr4-t.h,
7000 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
7001 config/stormy16/stormy16.h: Remove all references to
7002 -traditional from target specs. Delete all mention of the
7003 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
7004 delete a couple of commented-out definitions of
7005 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
7006 to -traditional.
7007
7008 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
7009 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
7010
e0b3a8ff
ZW
70112002-02-27 Zack Weinberg <zack@codesourcery.com>
7012
7013 * mklibgcc.in: Don't use \n in a line subject to
7014 interpretation by echo.
7015
5c6a85b7
GS
70162002-02-27 Graham Stott <grahams@redhat.com>
7017
72b05af1
GS
7018 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
7019 Constify NAME.
7020
7d104885
GS
7021 * loop.c (prescan_loop): Handle PARALLEL.
7022
8ed805d2
GS
7023 * unroll.c (loop_iterations): Return 0 if the add_val for
7024 a BIV is REG.
7025
fd478a0a
GS
7026 * final.c (output_operand_lossage): Constify PFX_STR.
7027
5c6a85b7
GS
7028 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
7029
cd98ad03
JH
7030Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
7031
7032 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
7033 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
7034
639ae55b
JH
7035Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
7036
7037 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
7038
e808ec9c
NB
70392002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
7040
7041 * cpplex.c (_cpp_lex_token): Handle directives in macro
7042 arguments.
7043 * cpplib.c (_cpp_handle_directive): Save and restore state
7044 if parsing macro args when entering a directive.
7045 * cppmacro.c (collect_args): No need to handle directives
7046 in macro arguments.
7047 (enter_macro_context, replace_args): Use the original macro
7048 definition in case it was redefined whilst collecting arguments.
7049doc:
7050 * cpp.texi: Update.
7051
f585a356
DE
70522002-02-26 David Edelsohn <edelsohn@gnu.org>
7053
7054 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
7055 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
7056 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
7057 method on AIX.
7058 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
7059 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
7060 (load_toc_v4_PIC_2): Same.
7061
70622002-02-26 Alan Modra <amodra@bigpond.net.au>
7063
7064 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
7065
d699058e
RH
70662002-02-26 Richard Henderson <rth@redhat.com>
7067
7068 * config/alpha/alpha.md (ashldi_se): Re-enable.
7069
eadccfbb
RH
70702002-02-26 Richard Henderson <rth@redhat.com>
7071
7072 * config/alpha/alpha.c (alpha_encode_section_info): Examine
7073 MODULE_LOCAL_P; improve commentary.
7074
7080ada1
ZW
70752002-02-26 Zack Weinberg <zack@codesourcery.com>
7076
7077 * doc/cpp.texi: Clarify documentation of relationship between
7078 #line and #include.
7079
b42cff6b
KH
70802002-02-26 Kazu Hirata <kazu@hxi.com>
7081
7082 * config/h8300/h8300-protos.h: Update the prototype for
7083 compute_logical_op_length. Add the prototype for
7084 compute_logical_op_cc.
7085 * config/h8300/h8300.c (compute_logical_op_length): Figure out
7086 code from operands.
7087 (compute_logical_op_cc): New.
7088 * config/h8300/h8300.md: Combine all the logical op patterns
7089 in HImode and SImode. Use compute_logical_op_cc.
7090
831c4e87
KC
70912002-02-26 Kelley Cook <kelleycook@comcast.net>
7092
7093 * config/i386/i386.c (print_operand): Don't append ATT-style
7094 length suffixs to x87 opcodes when in Intel mode.
7095
ff88fe10
RS
70962002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
7097
7098 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
7099 (init_emit_once): Update calls.
7100 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
7101 (init_syntax_once): Prototype.
7102
d4108589
JDA
71032002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
7104
7105 * pa-linux.h (LIB_SPEC): Update definition.
7106 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
7107
e013f3c7
RH
71082002-02-26 Richard Henderson <rth@redhat.com>
7109
7110 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
7111 if we emitted a stop bit.
7112
9e944a16
JJ
71132002-02-26 Jakub Jelinek <jakub@redhat.com>
7114
7115 * configure.in (libgcc_visibility): Substitute.
7116 * configure: Rebuilt.
7117 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
7118 defined symbols .hidden.
7119
47bd70b5
JJ
71202002-02-26 Jakub Jelinek <jakub@redhat.com>
7121
7122 * attribs.c (c_common_attribute_table): Add visibility.
7123 (handle_visibility_attribute): New function.
7124 * varasm.c (assemble_visibility): New function.
7125 * output.h (assemble_visibility): Add prototype.
7126 * tree.h (MODULE_LOCAL_P): Define.
7127 * crtstuff.c (__dso_handle): Use visibility attribute.
7128 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
7129 for MODULE_LOCAL_P symbols too.
7130 * config/ia64/ia64.c (ia64_encode_section_info): Handle
7131 MODULE_LOCAL_P symbols the same way as local symbols.
7132 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
7133 into .sdata/.sbss by the user.
7134 * doc/extend.texi (Function Attributes): Document visibility
7135 attribute.
7136
6d73371a
JJ
71372002-02-26 Jakub Jelinek <jakub@redhat.com>
7138
7139 PR debug/5770
7140 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
7141 STRING_CST initializer spanning the whole variable without
7142 embedded zeros.
7143 If expand_expr returned MEM, don't use it.
7144
06e224f7
AO
71452002-02-26 Alexandre Oliva <aoliva@redhat.com>
7146
7147 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
7148 generate a die for the lexical block.
7149
40367e2d
KH
71502002-02-26 Kazu Hirata <kazu@hxi.com>
7151
7152 * config/h8300/h8300-protos.h: Add a prototype for
7153 compute_logical_op_length.
7154 * config/h8300/h8300.c (compute_logical_op_length): New.
7155 * config/h8300/h8300.md (anonymous logical patterns): Use
7156 compute_logical_op_length for length.
7157
0e98f924
AH
71582002-02-26 Aldy Hernandez <aldyh@redhat.com>
7159
831c4e87
KC
7160 * dwarf2out.c (modified_type_die): Do not call type_main_variant
7161 for vectors.
7162 (gen_type_die): Same.
0e98f924 7163
831c4e87 7164 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 7165
a50cfd52
DE
71662002-02-26 Daniel Egger <degger@fhm.edu>
7167
831c4e87
KC
7168 * config/rs6000/rs6000.md: Swap define_insn attributes to
7169 fix incorrect generation of merge high instructions instead
7170 of merge low.
a50cfd52 7171
b7997284
AH
71722002-02-26 Aldy Hernandez <aldyh@redhat.com>
7173
831c4e87
KC
7174 * c-typeck.c (really_start_incremental_init): Use
7175 bitsize_zero_node for vectors.
b7997284 7176
376aec5d
AH
71772002-02-26 Aldy Hernandez <aldyh@redhat.com>
7178
831c4e87
KC
7179 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
7180 ("*set_vrsave_internal"): Same.
376aec5d 7181
3b40e71b
RH
71822002-02-25 Richard Henderson <rth@redhat.com>
7183
7184 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
7185 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
7186
232b8f52
JJ
71872002-02-25 Jakub Jelinek <jakub@redhat.com>
7188
7189 PR target/5755
7190 * config/i386/i386.c (ix86_return_pops_args): Only pop
7191 fake structure return argument if it was passed on the stack.
7192
67282790
JM
71932002-02-25 Jason Merrill <jason@redhat.com>
7194
7195 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
7196 RESULT_DECL.
7197
5c181756
AO
71982002-02-25 Alexandre Oliva <aoliva@redhat.com>
7199
7200 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
7201 link with shared_name only.
7202 * doc/invoke.texi (Link Options): Document new behavior.
7203
6786d201
AH
72042002-02-25 Aldy Hernandez <aldyh@redhat.com>
7205
831c4e87 7206 * c-typeck.c (push_init_level): Handle vectors.
6786d201 7207
7d6040e8
AO
72082002-02-25 Alexandre Oliva <aoliva@redhat.com>
7209
7210 * config/sparc/sparc.c (const64_high_operand): Zero-extend
7211 operands of SPARC_SETHI_P.
7212 (input_operand): Likewise.
7213 (sparc_emit_set_const32): Likewise.
7214 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
7215 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
7216 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
7217 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
7218 (movdi_insn_sp64_vis): Likewise.
7219 (movdi split, movdf split): Use SETHI32.
7220 * doc/md.texi: Document SPARC constraints L, M and N.
7221
b188f760
AH
72222002-02-25 Aldy Hernandez <aldyh@redhat.com>
7223
831c4e87
KC
7224 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
7225 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 7226
831c4e87
KC
7227 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
7228 gen_get_vrsave_internal.
b188f760 7229
8041889f
RK
7230Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7231
7232 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
7233
a47ed310
NB
72342002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
7235
7236 * cpplex.c (cpp_interpret_charconst): Get signedness or
7237 otherwise of wide character constants correct.
7238 * cppexp.c (lex): Get signedness of wide charconsts correct.
7239
cb8f73be
RK
7240Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7241
7242 * optabs.c (widen_operand): Only call convert_modes for
7243 promoted SUBREG if signedness matches.
7244 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
7245
2450e0b8
NB
72462002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
7247
7248 * cpplib.c (glue_header_name): Use local buffer to build up
7249 header name.
7250
70b6aaed
NB
72512002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
7252
7253 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
7254
6be580c7
KH
72552002-02-23 Kazu Hirata <kazu@hxi.com>
7256
7257 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
7258 H8/300[HS] separately.
7259 * config/h8300/h8300.md: Remove the early clobber constraint
7260 from bit field patterns.
7261
35dad9f1
KH
72622002-02-23 Kazu Hirata <kazu@hxi.com>
7263
7264 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
7265 register_operand.
7266 (mulhisi3): Likewise.
7267 (umulqisi3): Likewise.
7268 (umulhisi3): Likewise.
7269
ab8e2228
NB
72702002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
7271
7272 * cppinit.c (output_deps): Correct test for stdout output.
7273 (init_dependency_output): Cure warning.
7274
ac6f8a15
RK
7275Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7276
7277 * expr.c (store_expr): When converting expression to promoted
7278 equivalent type, allow using SUBREG_REG of TARGET as the target
7279 of the expansion of EXP.
7280 * loop.c (basic_induction_var, case SUBREG): Always look inside.
7281 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
7282 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
7283 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
7284 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
7285
f282ffb3
JM
72862002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
7287
7288 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
7289 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
7290 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
7291
44c5edc0
JJ
72922002-02-23 Jakub Jelinek <jakub@redhat.com>
7293
7294 PR optimization/5747
7295 * loop.c (scan_loop): Update reg info if move_movables created new
7296 pseudos.
7297
f98e43c0
DE
72982002-02-23 David Edelsohn <edelsohn@gnu.org>
7299
7300 * gcc.c (init_gcc_spec): Revert last change.
7301
e72247f4
DE
73022002-02-23 David Edelsohn <edelsohn@gnu.org>
7303
7304 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
7305 gpc_reg_operand constraint.
7306
73072002-02-23 Alan Modra <amodra@bigpond.net.au>
7308
7309 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
7310 Simplify comparison of `low'.
7311 (add_operand): Fix formatting.
7312 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 7313 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
7314 (rs6000_stack_info): Remove redundant test setting push_p.
7315 (output_toc): Fix formatting.
7316 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
7317 cc_reg_not_cr0_operand constraint.
7318 (booldi3, boolcdi3 splitters): Same.
7319
a5c30531
AH
73202002-02-23 Aldy Hernandez <aldyh@redhat.com>
7321
831c4e87 7322 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 7323
43710f9f
DE
73242002-02-22 David Edelsohn <edelsohn@gnu.org>
7325
7326 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
7327 gcc invoked with -shared-libgcc.
7328
3256b817
JJ
73292002-02-22 Jakub Jelinek <jakub@redhat.com>
7330
7331 PR c++/5748
7332 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
7333 decl if any of elements was TREE_USED.
7334
9e0625a3
AO
73352002-02-22 Alexandre Oliva <aoliva@redhat.com>
7336
7337 * config/sparc/sol2.h: Don't include sys/mman.h.
7338 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
7339 (arith_4096_operand): Don't throw high bits away.
7340 (const64_operand): Take sign extension of CONST_INTs into account.
7341 (const64_high_operand, sparc_emit_set_const32): Likewise.
7342 (GEN_HIGHINT64): Likewise.
7343 (sparc_emit_set_const64_quick1): Likewise.
7344 (const64_is_2insns): Likewise.
7345 (print_operand): Use trunc_int_for_mode for sign extension.
7346 * config/sparc/sparc.h (SMALL_INT32): Likewise.
7347 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
7348 chars. Assume CONST_INT is already properly sign-extended.
7349 (movdi split): Sign-extend each SImode part.
7350 (andsi3 split): Don't mask high bits off, so that result
7351 remains properly sign-extend.
7352 (iorsi3 split): Likewise.
7353 (xorsi3 split): Likewise.
7354
54fec3d5
RS
73552002-02-22 Richard Sandiford <rsandifo@redhat.com>
7356
7357 * fold-const.c (fold): Fix typo in comments.
7358
667ada9b
DN
73592002-02-21 Diego Novillo <dnovillo@redhat.com>
7360
7361 * Makefile.in (langhooks.o): Update dependencies.
7362
29ac78d5
DN
73632002-02-21 Diego Novillo <dnovillo@redhat.com>
7364
7365 * langhooks.c: Include flags.h.
7366
6aa77e6c
AH
73672002-02-21 Aldy Hernandez <aldyh@redhat.com>
7368
7369 * testsuite/gcc.dg/attr-alwaysinline.c: New.
7370
7371 * c-common.c (c_common_post_options): Set inline trees by
7372 default.
7373
7374 * doc/extend.texi (Function Attributes): Document always_inline
7375 attribute.
7376 Update documentation about inlining when not optimizing.
7377
7378 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
7379
7380 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
7381 unless DECL_ALWAYS_INLINE.
7382
7383 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
7384 unless DECL_ALWAYS_INLINE.
7385 (c_disregard_inline_limits): Disregard if always_inline set.
7386
7387 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
7388 Disregard if always_inline set.
7389 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
7390 unless DECL_ALWAYS_INLINE.
7391
7392 * attribs.c (handle_always_inline_attribute): New.
7393 (c_common_attribute_table): Add always_inline.
7394
7395 * config/rs6000/altivec.h: Add prototypes for builtins
7396 requiring the always_inline attribute.
7397
c410d49e
EC
73982002-02-21 Eric Christopher <echristo@redhat.com>
7399
7400 * expmed.c (store_bit_field): Try to simplify the subreg
7401 before generating a new one when when the mode size of
7402 value is less than maxmode.
7403
e3c8ea67
RH
74042002-02-21 Richard Henderson <rth@redhat.com>
7405
7406 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
7407 than gen_rtx_PLUS to form the sum.
7408 * explow.c (force_reg): Rearrange to not allocate new pseudo
7409 when force_operand returns a register.
7410 * expr.c (expand_assignment): Allow offset_rtx expansion to
7411 return a sum. Do not force addresses into registers.
7412 (expand_expr): Likewise.
7413 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
7414 to canonicalize arithmetic that didn't simpify.
7415 (simplify_plus_minus): New argument force; update
7416 all callers. Don't split CONST unless we can do something with it,
7417 and wouldn't lose the constness of the operands.
7418
7419 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
7420 that we generated earlier.
7421
c1a046e5
TT
74222002-02-21 Tom Tromey <tromey@redhat.com>
7423
7424 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
7425 (output_line_info): Use constant `1', with a long explanatory
7426 comment.
7427 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
7428
31fbaad4
R
7429Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
7430
7431 * jump.c (redirect_jump): If old label has no UID, don't try to
7432 delete it.
7433
a7f52356
R
7434Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
7435
7436 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
7437 If input is constant, do shifts at compile time.
7438
924fcc4e
JM
74392002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
7440
7441 * doc/extend.texi: Fix some more overfull hboxes.
7442
e5a20888
JJ
74432002-02-21 Jakub Jelinek <jakub@redhat.com>
7444
7445 PR optimization/4994
7446 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
7447 register moves.
7448
74492002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
7450
7451 PR c++/4574
7452 * expr.h (expand_and): Add mode argument.
7453 * expmed.c (expand_and): Add mode argument.
7454 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
7455 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
7456 * except.c (expand_builtin_extract_return_addr): Likewise.
7457 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
7458 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
7459 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
7460 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
7461 * config/c4x/c4x.md: Use GEN_INT (x) instead of
7462 gen_rtx (CONST_INT, VOIDmode, x).
7463
7133e992
JJ
74642002-02-21 Jakub Jelinek <jakub@redhat.com>
7465
7466 PR c/4697:
7467 * stmt.c (warn_if_unused_value): Move side effects test once more.
7468
e2ec05a6
TG
74692002-02-20 Torbjorn Granlund <tege@swox.com>
7470
7471 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 7472 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 7473
9dd791c8
AO
7474Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
7475
7476 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
7477 SUBREG or ZERO_EXTEND.
7478
7ab56274
R
7479Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
7480
7481 * sh.h (current_function_anonymous_args): Remove.
7482 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
7483 of current_function_varargs and current_function_stdarg is set.
7484 * sh.c (sh_expand_prologue): Check current_function_varargs /
7485 current_function_stdarg / TARGET_SH5 instead of
7486 current_function_anonymous_args.
7487
7488 * sh64.h (TARGET_VERSION): Define.
7489
b1765bde
DE
74902002-02-20 David Edelsohn <edelsohn@gnu.org>
7491
7492 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
7493 VRSAVE_REGNO on TARGET_ALTIVEC.
7494
74952002-02-20 Alan Modra <amodra@bigpond.net.au>
7496
7497 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
7498 bits of SImode const_int.
7499 (includes_rshift_p): Likewise.
7500 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 7501 mode.
b1765bde
DE
7502 (rs6000_output_function_epilogue): Pad traceback table to word.
7503 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
7504 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
7505 mask64_operand with correct mode.
b1765bde
DE
7506 (FUNCTION_ARG_REGNO_P): Correct parentheses.
7507
149d6f9e
JJ
75082002-02-20 Jakub Jelinek <jakub@redhat.com>
7509
7510 PR debug/4461
7511 * varasm.c (get_pool_constant_mark): New.
7512 * rtl.h (get_pool_constant_mark): Add prototype.
7513 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
7514 be represented if it has not been output.
7515
4161da12
AO
75162002-02-20 Alexandre Oliva <aoliva@redhat.com>
7517
7518 * combine.c (do_SUBST): Sanity check substitutions of
7519 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
7520 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
7521 CONST_INT into its operand.
7522 (known_cond): Likewise, for ZERO_EXTEND.
7523 * simplify-rtx.c (simplify_unary_operation): Fix condition to
7524 allow for simplification of wide modes. Reject CONST_INTs in
7525 ZERO_EXTEND when their actual mode is not given.
7526
3704ef74
AO
75272002-02-20 Alexandre Oliva <aoliva@redhat.com>
7528
7529 * c-decl.c (pushdecl): If no global declaration is found for an
7530 extern declaration in block scope, try a limbo one.
7531
7552da58
JJ
75322002-02-20 Jakub Jelinek <jakub@redhat.com>
7533
7534 PR c++/4401
7535 * c-common.c (pointer_int_sum): Moved from...
7536 * c-typeck.c (pointer_int_sum): ...here.
7537 * c-common.h (pointer_int_sum): Add prototype.
7538
00fae85d
JJ
75392002-02-20 Jakub Jelinek <jakub@redhat.com>
7540
7541 PR c++/5713
7542 * c-decl.c (duplicate_decls): Return 0 if issued error about
7543 redeclaration.
7544
4636c87e
JJ
75452002-02-20 Roger Sayle <roger@eyesopen.com>
7546 Jakub Jelinek <jakub@redhat.com>
7547
7548 PR c/4389
7549 * tree.c (host_integerp): Ensure that the constant integer is
7550 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
7551 when pos is zero or non-zero respectively. Clarify comment.
7552 * c-format.c (check_format_info_recurse): Fix host_integerp
7553 usage; the pos argument should be zero when assigning to a
7554 signed HOST_WIDE_INT.
7555
59bef189
RH
75562002-02-20 Richard Henderson <rth@redhat.com>
7557
7558 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
7559 of the operand, rather than assuming TImode.
7560 (ix86_expand_binop_builtin): Cope with commutative patterns
7561 using nonimmediate_operand for both operands.
7562 (ix86_expand_timode_binop_builtin): Likewise.
7563 (ix86_expand_store_builtin): Validate operand 1.
7564 (ix86_expand_unop1_builtin): Likewise.
7565
9338ffe6 75662002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 7567
9338ffe6
PB
7568 PR 5705
7569 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
7570
f322b423
RH
75712002-02-20 Richard Henderson <rth@redhat.com>
7572
7573 PR c/5615
7574 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
7575
d94084f7
TT
75762002-02-20 Tom Tromey <tromey@redhat.com>
7577
7578 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
7579 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
7580 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
7581 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
7582 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
7583 unconditionally.
7584
37fa124a
AM
7585Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
7586
7587 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
7588 for (const_int 0) in X not just INTVAL.
7589
6e5bb5ad
JM
75902002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
7591
7592 * doc/extend.texi: Avoid or reduce overfull hboxes.
7593
420e7dfa
DN
75942002-02-20 Diego Novillo <dnovillo@redhat.com>
7595
7596 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
7597 operations if the field does not start at a mode boundary.
7598
1b7a2af6
JS
75992001-02-20 Joel Sherrill <joel@OARcorp.com>
7600
7601 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
7602 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
7603 Also done for -Acpu and -Amachine.
7604
56cd5b95
NB
76052002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
7606
7607 * cppinit.c (init_dependency_output): Take deps output file
7608 from -o if none given with -MF. Suppress normal output.
c410d49e 7609 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
7610 * doc/cpp.texi, doc/invoke.texi: Update.
7611
042cdf71
ZW
76122002-02-19 Zack Weinberg <zack@codesourcery.com>
7613
7614 * toplev.c (output_quoted_string): Write unprintable
7615 characters with octal escapes.
7616
c1f11548
DE
76172002-02-19 David Edelsohn <edelsohn@gnu.org>
7618
7619 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
7620 really_call_used[VRSAVE_REGNO] if not Altivec.
7621
76222002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 7623
c1f11548
DE
7624 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
7625 MODE_MASK.
7626 (constant_pool_expr_1): Fix formatting.
7627 (rs6000_legitimize_reload_address): Likewise.
7628
c964d90e
RK
7629Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7630
7631 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
7632 now that we have one.
7633
ae34ac46
ZW
76342002-02-19 Zack Weinberg <zack@codesourcery.com>
7635
7636 * tree.h (struct tree_common): Remove aux. Add unused_0 at
7637 end of first block of bitfields (which was only seven bits);
7638 rename dummy to unused_1; remove comment which is no longer true.
7639
293c28ee
GS
76402002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
7641
7642 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
7643
7b8781c8
PB
76442002-02-19 Philip Blundell <pb@nexus.co.uk>
7645
0cb6c58d 7646 PR 5399
7b8781c8
PB
7647 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
7648 if generating PIC.
7649
7650 PR 5054
7651 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
7652 arm_is_longcall_p rather than inspecting call-type cookie
7653 directly.
7654 (call_value_insn) [TARGET_THUMB]: Likewise.
7655
5c464583
GS
76562002-02-19 Graham Stott <grahams@redhat.com>
7657
7658 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
7659
71c061e6
DE
76602002-02-19 David Edelsohn <edelsohn@gnu.org>
7661
7662 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
7663 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 7664 (FP_SAVE_INLINE): Delete.
71c061e6
DE
7665
7666 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
7667 * config/rs6000/eabi.asm: Remove ABI save restore routines.
7668 * config/rs6000/t-ppccomm: Build crtsavres.o.
7669 * config/rs6000/crtsavres.asm: New file.
7670
3a7731fd
PB
76712002-02-19 Philip Blundell <philb@gnu.org>
7672
7673 * config/arm/arm.c (use_return_insn): Don't reject interrupt
7674 functions.
7675 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
7676 (output_return_instruction): Allow interrupt functions to return with
7677 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
7678 (arm_expand_prologue): Subtract 4 before stacking LR in an
7679 interrupt function.
7680
14f583b8
PB
76812002-02-19 Philip Blundell <pb@nexus.co.uk>
7682
7683 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
7684 decl, not just FUNCTION_DECL.
7685 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
7686 (arm_assemble_integer): Likewise.
7687 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
7688 marked local.
c410d49e 7689
4cb7482c
MG
76902002-02-19 matthew green <mrg@eterna.com.au>
7691
7692 * config.gcc (sparc-*-netbsdelf*): Enable target.
7693 (sparc64-*-netbsd*): New target.
7694 * config/sparc/netbsd-elf.h: New file.
7695 * config/sparc/t-netbsd64: New file.
7696
2df3a718
GS
76972002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
7698
7699 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
7700
77f6c1eb
RS
77012002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
7702
7703 * doc/invoke.texi: explicitly list the style guidelines that
7704 -Weffc++ checks for.
7705
fd973d56
JH
7706Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
7707
7708 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
7709
30518e45
NB
77102002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
7711
7712 PR other/5718
7713 * gcc.c (cpp_unique_options): Treat -o as indicating object file
7714 only if not -E. If -E, pass -o through to the preprocessor.
7715
39ea5704
KH
77162002-02-19 Kazu Hirata <kazu@hxi.com>
7717
7718 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
7719 register number with an appropriate macro.
7720
7355dba7
BM
77212002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
7722
7723 * doc/rtl.texi (Constants): Close @code tag.
7724
91c8aa9e
AH
77252002-02-19 Aldy Hernandez <aldyh@redhat.com>
7726
7727 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
7728 ("mmx_uavgv4hi3"): Same.
7729 ("pmulhrwv4hi3"): Same.
7730
7731 * tree-inline.c (walk_tree): Handle vectors.
7732
7733 * c-common.c (constant_expression_warning): Handle vectors.
7734 (overflow_warning): Same.
7735
7736 * sched-deps.c (sched_analyze_2): Handle vectors.
7737
7738 * rtlanal.c (rtx_unstable_p): Handle vectors.
7739 (rtx_varies_p): Same.
7740 (count_occurrences): Same.
7741 (regs_set_between_p): Same.
7742 (modified_between_p): Same.
7743 (modified_in_p): Same.
7744 (volatile_insn_p): Same.
7745 (volatile_refs_p): Same.
7746 (side_effects_p): Same.
7747 (may_trap_p): Same.
7748 (inequality_comparisons_p): Same.
7749 (replace_regs): Same.
7750 (computed_jump_p_1): Same.
7751
7752 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
7753 argument.
7754 (inner_mode_array): New.
7755 (copy_rtx): Handle vectors.
7756 (copy_most_rtx): Same.
7757 (rtx_equal_p): Same.
7758 (get_mode_alignment): Adjust for vectors.
7759
7760 * resource.c (mark_referenced_resources): Handle vectors.
7761 (mark_set_resources): Same.
7762
7763 * reload1.c (eliminate_regs): Handle vectors.
7764 (elimination_effects): Same.
7765 (scan_paradoxical_subregs): Same.
7766
7767 * reload.c (subst_reg_equivs): Handle vectors.
7768
7769 * regrename.c (scan_rtx): Handle vectors.
7770
7771 * regclass.c (reg_scan_mark_refs): Handle vectors.
7772
7773 * recog.c (find_single_use_1): Handle vectors.
7774
7775 * local-alloc.c (equiv_init_varies_p): Handle vectors.
7776 (contains_replace_regs): Same.
7777 (memref_referenced_p): Same.
7778
7779 * integrate.c (copy_rtx_and_substitute): Handle vectors.
7780 (subst_constants): Same.
7781
7782 * genattrtab.c (attr_copy_rtx): Handle vectors.
7783 (encode_units_mask): Same.
7784 (clear_struct_flag): Same.
7785 (count_sub_rtxs): Same.
7786
7787 * gcse.c (want_to_gcse_p): Handle vectors.
7788 (oprs_unchanged_p): Same.
7789 (hash_expr_1): Same.
7790 (oprs_not_set_p): Same.
7791 (expr_killed_p): Same.
7792 (compute_transp): Same.
7793 (store_ops_ok): Same.
7794
7795 * function.c (purge_addressof_1): Do not allow paradoxical subregs
7796 of vectors.
7797 (fixup_var_refs_1): Same.
7798 (instantiate_virtual_regs_1): Same.
7799
7800 * fold-const.c (operand_equal_p): Handle vectors.
7801 (fold): Same.
7802 (rtl_expr_nonnegative_p): Same.
7803
7804 * flow.c (mark_used_regs): Handle vectors.
7805
7806 * df.c (df_uses_record): Handle vectors.
7807
7808 * cselib.c (cselib_subst_to_values): Handle vectors.
7809 (cselib_mem_conflict_p): Same.
7810 (hash_rtx): Same.
7811
7812 * cse.c (canon_reg): Handle vectors.
7813 (fold_rt): Same.
7814 (cse_process_notes): Same.
7815 (count_reg_usage): Same.
7816 (canon_hash): Same.
7817
7818 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
7819
7820 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
7821
7822 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
7823 (gen_rtx): Handle CONST_VECTOR.
7824 (gen_const_vector_0): New.
7825 (copy_rtx_if_shared): CONST_VECTORs can be shared.
7826 (reset_used_flags): Same.
7827 (copy_insn_1): Same.
7828 (initializer_constant_valid_p): Handle VECTOR_CST.
7829
7830 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
7831
7832 * doc/rtl.texi (Constants): Document const_vector.
7833 (CONST0_RTX): Update for vectors.
7834 (RTL sharing): Same.
7835
7836 * print-tree.c (print_node): Add case for VECTOR_CST.
7837
7838 * tree.h (TREE_VECTOR_CST_ELTS): New.
7839 (struct tree_vector): New.
7840 (union tree_node): Add vector node.
7841 (build_vector): Add prototype.
7842
7843 * tree.def (VECTOR_CST): New.
7844
7845 * tree.c (build_vector): New.
7846
7847 * expmed.c (make_tree): Handle CONST_VECTOR.
7848
7849 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
7850 (CONST_VECTOR_ELT): New.
7851 (CONST_VECTOR_NUNITS): New.
7852
7853 * machmode.h (GET_MODE_INNER): New.
7854 (DEF_MACHMODE): Accept 8th arg.
7855
7856 * machmode.def: Add 8th argument for vector inner mode.
7857 Add inner vector modes for vectors.
7858
7859 * rtl.def (VEC_CONST): Remove.
7860 (CONST_VECTOR): New.
7861
7862 * expr.c (clear_storage): Allow vectors.
7863 (is_zeros_p): Handle VECTOR_CST.
7864
7865 * varasm.c (output_constant_pool): Handle vectors.
7866 (rtx_const): Add veclo and vechi fields.
7867 (kind): Add RTX_VECTOR.
7868 (decode_rtx_const): Add case for vector.
7869
7870 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 7871
91c8aa9e
AH
7872 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
7873 constants. Force easy vector constants into memory.
7874 (easy_vector_constant): New.
7875 (emit_easy_vector_constant): New.
7876 (rs6000_legitimize_reload_address): Do not generate bad reloads on
7877 darwin.
7878
7879 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
7880 instruction does.
7881 ("altivec_lvxl"): Same.
7882 (altivec_lvebx): Same.
7883 (altivec_lvehx): Same.
7884 (altivec_lvewx): Same.
7885 ("*movv4si_const0"): New.
7886 ("*movv4sf_const0"): New.
7887 ("*movv8hi_const0"): New.
7888 ("*movv16qi_const0"): New.
7889
d4d6d0ce
KH
78902002-02-18 Kazu Hirata <kazu@hxi.com>
7891
7892 * config/h8300/h8300.c (notice_update_cc): Use
7893 cc_status.value2.
7894
4915d3aa
KH
78952002-02-18 Kazu Hirata <kazu@hxi.com>
7896
7897 * config/h8300/h8300.md (divmod patterns): Change the
7898 constraints for operands[1] to register_operand.
7899
82be00ee
KH
79002002-02-18 Kazu Hirata <kazu@hxi.com>
7901
7902 * config/h8300/h8300-protos.h: Remove the prototype for
7903 p_operand.
7904 * config/h8300/h8300.c (p_operand): Remove.
7905 * config/h8300/h8300.md: Replace p_operand with
7906 const_int_operand.
7907
1768c26f
PB
79082002-02-18 Philip Blundell <pb@nexus.co.uk>
7909
7910 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
7911 comment.
7912 (output_return_instruction): Allow use of LDR to unstack
7913 return addresss even for interrupt handlers or when
7914 interworking. If compiling for ARMv5, use interworking-safe
7915 return instructions by default. Remove duplicated code and
7916 lengthy "strcat" sequences.
7917
ccd84f51
FS
79182002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7919
7920 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
7921 (LINK_EH_SPEC): Define.
7922 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
7923
2c153108
UW
79242002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
7925
7926 * config/s390/s390.c (s390_emit_prologue): Do not set the
7927 frame_related flag for call-clobbered registers.
7928
e95d6b23
JH
7929Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
7930
7931 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
7932 (construct_container): Fix handling of SSE operands.
7933 (ix86_expand_builtin): Fix handling of 64bit pointers.
7934 (mmx_maskmovq_rex): New pattern.
7935
c43a12b5
JH
7936Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
7937
7938 * regrename.c (kill_set_value): Handle subregs properly.
7939
aeb85a15
DB
79402002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
7941
7942 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 7943 from objc_class_name.
aeb85a15 7944
a615ca3e
RH
79452002-02-17 Richard Henderson <rth@redhat.com>
7946
7947 * config/alpha/alpha.c (some_small_symbolic_operand,
7948 some_small_symbolic_operand_1, split_small_symbolic_operand,
7949 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
7950 Handle small SYMBOL_REFs anywhere, not just inside memories.
7951 * config/alpha/alpha-protos.h: Update.
7952 * config/alpha/alpha.h (PREDICATE_CODES): Update.
7953 * config/alpha/alpha.md (small symbolic operand splitter): Update.
7954
ddb28441
RM
79552002-02-17 Roland McGrath <roland@frob.com>
7956
7957 * config.gcc (powerpc-*-gnu-gnualtivec*,
7958 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
7959 * config/rs6000/gnu.h: New file.
7960 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
7961 Grok "gnu" in rs6000_abi_name.
7962 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
7963 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
7964 Grok -mcall-gnu analogous to -mcall-linux et al.
7965 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
7966 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
7967 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
7968
f6f8ada3
JJ
79692002-02-17 Jakub Jelinek <jakub@redhat.com>
7970
7971 PR c/3444:
7972 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
7973 shortening.
7974
e16b32fc
PT
79752002-02-17 Philipp Thomas <pthomas@suse.de>
7976
7977 * config/cris/cris.h: Undefine STARTFILE_SPEC and
7978 ENDFILE_SPEC before (re)defining them.
7979
f9477efd
KH
79802002-02-17 Kazu Hirata <kazu@hxi.com>
7981
7982 * config/h8300/h8300.c: Fix formatting.
7983 * config/h8300/h8300.h: Likewise.
7984
404ae494
PT
79852002-02-17 Philipp Thomas <pthomas@suse.de>
7986
7987 * doc/tm.texi: Explain why empty strings should not be
7988 marked for translation.
7989
a52453cc
PT
79902002-02-17 Philipp Thomas <pthomas@suse.de>
7991
7992 * final.c (output_operand_lossage): Changed to accept
7993 printf style arguments. Change calls where necessary.
7994 * output.h (output_operand_lossage): Change declaration
7995 accordingly. Update copyright.
7996 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
7997 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
7998 Update copyright date where necessary.
c410d49e 7999
a52453cc
PT
8000 * config/i386/i386.c (print_operand): Likewise. Remove use of
8001 sprintf.
8002
8003 * config/cris/cris.c (cris_operand_lossage): Likewise.
8004 Rename parameter so that exgettext recognizes it as
8005 translatable message.
8006 (LOSE_AND_RETURN): Rename parameter to msgid.
8007
1c11abc4
KH
80082002-02-17 Kazu Hirata <kazu@hxi.com>
8009
8010 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
8011 hard coded register number with an appropriate macro.
8012 (HARD_REGNO_MODE_OK): Likewise.
8013 (ARG_POINTER_REGNUM): Likewise.
8014 (STATIC_CHAIN_REGNUM): Likewise.
8015 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
8016 * config/h8300/h8300.md (define_constants): Define more
8017 register numbers.
8018
a5d17ff3
PT
80192002-02-17 Philipp Thomas <pthomas@suse.de>
8020
8021 * config/i386/i386.h: Don't mark empty strings for translation.
8022
1a7289c4
L
80232002-02-16 H.J. Lu <hjl@gnu.org>
8024
8025 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
8026
afb58288
ZW
80272002-02-16 Zack Weinberg <zack@codesourcery.com>
8028
8029 * cppinit.c (merge_include_chains): Check for brack being
8030 NULL before attempting to merge it with qtail.
8031
d2af4dbd
AC
80322002-02-16 Andrew Cagney <ac131313@redhat.com>
8033
8034 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
8035 DBX_DEBUG.
8036
2e1ed1e3
JDA
80372002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
8038
8039 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
8040
604c75b2
JDA
80412002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
8042
8043 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
8044 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
8045 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
8046
1a42b072
RK
8047Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8048
7303604f 8049 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
8050 now only if !TARGET_FIX.
8051 (*movsi_nt_vms_fix): New pattern.
8052
c2ea1ac6
DR
80532002-02-16 Douglas B Rupp <rupp@gnat.com>
8054
8055 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
8056 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
8057 (alpha_sa_mask, alpha_sa_size): Reflect above change.
8058 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
8059 (alpha_start_function, alpha_expand_epilogue): Likewise.
8060 (unicosmk_gen_dsib): Likewise.
8061
725e58b1
RK
8062Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8063
8064 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
8065
13e58269
UW
80662002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
8067
c410d49e 8068 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
8069 check_and_change_labels, s390_final_chunkify): Delete.
8070 (s390_split_branches, s390_chunkify_pool): New functions.
8071 (s390_function_prologue): Call them.
c410d49e 8072
13e58269
UW
8073 * config/s390/s390.h (S390_REL_MAX): Delete.
8074 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
8075
c410d49e 8076 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
8077 attribute calculation.
8078
8079
34d1b01d
DE
80802002-02-15 David Edelsohn <edelsohn@gnu.org>
8081
8082 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
8083 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
8084
be5cc51a
JDA
80852002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
8086
8087 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
8088 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
8089 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
8090
ee96ce90
RS
80912002-02-15 Richard Sandiford <rsandifo@redhat.com>
8092
8093 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
8094
05fa709d
RS
80952002-02-15 Richard Sandiford <rsandifo@redhat.com>
8096
8097 * reload.c (find_dummy_reload): Check that an output register
8098 is valid for its mode.
8099
4606272b
AO
81002002-02-14 Alexandre Oliva <aoliva@redhat.com>
8101
9a360704
AO
8102 * combine.c (known_cond): After replacing the REG of a SUBREG, try
8103 to simplify it.
8104
4606272b
AO
8105 * function.c (assign_parms): Demote promoted argument passed by
8106 transparent reference.
8107
e62d89a1
JS
81082001-02-14 Joel Sherrill <joel@OARcorp.com>
8109
8110 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
8111 -Acpu() and -Amachine() to eliminate warnings.
8112
6c4cf695
UW
81132002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
8114
8115 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
8116
037f11ef
KH
81172002-02-14 Kazu Hirata <kazu@hxi.com>
8118
8119 * config/h8300/h8300-protos.h: Update the prototype for
8120 const_costs.
8121 * config/h8300/h8300.c (const_costs): Treat SET as a little
8122 more expensive operation.
8123 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
8124 reference to const_costs.
8125
fdc76b09
HPN
81262002-02-14 Hans-Peter Nilsson <hp@axis.com>
8127
8128 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
8129
d76e6800
JJ
81302002-02-14 Jakub Jelinek <jakub@redhat.com>
8131
8132 PR c/5503:
8133 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
8134 use arguments from newtype.
8135
5ae590d7
EC
81362002-02-13 Eric Christopher <echristo@redhat.com>
8137
8138 * config/mips/mips.c (override_options): Add check for march/mipsX
8139 on the same command line. Fix error message in cpu processing.
8140 Remove architecture and ISA checks.
8141
b8513691
AH
81422002-02-14 Aldy Hernandez <aldyh@redhat.com>
8143
831c4e87 8144 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 8145
831c4e87 8146 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 8147
78c875e8
AH
81482002-02-14 Aldy Hernandez <aldyh@redhat.com>
8149
831c4e87
KC
8150 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
8151 alternatives.
8152 ("*movv8hi_internal1"): Same.
8153 ("*movv16qi_internal1"): Same.
8154 ("*movv4sf_internal1"): Same.
78c875e8 8155
831c4e87
KC
8156 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
8157 not push_reload for altivec modes.
78c875e8 8158
d76e6800 81592002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
8160
8161 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
8162 all RTEMS targets including removal of #includes from config/*/rtems*.h
8163 file and adding them to tm_file setting. Added xm_defines=POSIX to
8164 many targets.
8165 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
8166 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
8167 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
8168 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
8169 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
8170 config/m68k/rtemself.h: Ditto.
8171 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
8172 config/mips/rtems64.h: Ditto.
8173 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
8174 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
8175 Ditto.
8176 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
8177 config/sparc/rtemself.h: Ditto.
8178 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
8179 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
8180 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
8181 more like arm-elf.
8182 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
8183 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
8184 target made more similar to i386-elf.
8185 * config/i386/t-rtems-i386: Added soft float support and multilibs.
8186 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
8187 be similar to config/m68k/t-m68kelf.
8188 * gthr-rtems.h: Encapsulate with extern "C" for C++.
8189
8686336f
JH
8190Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
8191
8192 * regmove.c (kill_value): Handle subregs.
8193
558740bf
JH
8194Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
8195
8196 * i386.md (mul patterns): Allow memory operand to be first;
8197 add expanders where needed; fix constraints.
8198 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
8199 Allow memory operand to be the first.
8200
8201 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
8202 operands.
8203
21117a17
JJ
82042002-02-13 Jakub Jelinek <jakub@redhat.com>
8205
8206 PR c/5681:
8207 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
8208 GET_MODE (x).
8209
ec65b2e3
JJ
82102002-02-13 Jakub Jelinek <jakub@redhat.com>
8211
8212 PR optimization/5547:
8213 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
8214 all valid IA-32 address modes involving non-scaled %ebx and
8215 GOT/GOTOFF as displacement.
8216
ce50cae8
UW
82172002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
8218
8219 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
8220 after emitting ltorg insns.
8221
8222 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
8223 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
8224 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
8225 *abssf2): Fix "op_type" attribute.
8226
09eb789b
DR
82272002-02-13 Douglas B Rupp <rupp@gnat.com>
8228
2dbe67bb
DR
8229 * mkconfig.sh: Avoid using a subshell redirect.
8230 ($output.T): Change to $(output)T.
8231 (ENABLE_NLS): Remove unneeded undef.
8232
ea5b9a1f
DR
8233 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
8234 * config/alpha/x-vms (libsubdir): Define.
8235
3deb00ce
DR
8236 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
8237 register frame procedures. Optimize retrieving context.
8238
09eb789b
DR
8239 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
8240 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
8241 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
8242
1abade85
RK
8243Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8244
8245 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
8246 Make same change as for find_base_value.
8247
c283e63f
KH
82482002-02-13 Kazu Hirata <kazu@hxi.com>
8249
8250 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
8251 of QImode and SImode.
8252
86039100
KH
82532002-02-13 Kazu Hirata <kazu@hxi.com>
8254
8255 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
8256 length computation of movsi.
8257 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
8258
e1429da0
KH
82592002-02-13 Kazu Hirata <kazu@hxi.com>
8260
8261 * config/h8300/h8300.md (subqi3): Tighten the predicate for
8262 operands[2] to register_operand.
8263
aebfea10
JH
8264Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
8265
8266 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
8267
0ec4e2a8
AH
82682002-02-12 Aldy Hernandez <aldyh@redhat.com>
8269
831c4e87
KC
8270 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
8271 for altivec_lvx* and altivec_stvx*.
8272 ("*movv4si_internal"): Add constraint for loading from GPRs.
8273 ("*movv8hi_internal1"): Same.
8274 ("*movv16qi_internal1"): Same.
8275 ("*movv4sf_internal1"): Same.
0ec4e2a8 8276
831c4e87 8277 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 8278
831c4e87
KC
8279 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
8280 altivec_register_operand.
0ec4e2a8 8281
b007569d
HPN
82822002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
8283
8284 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
8285 handle SYMBOL_REF.
8286
e6834654
SS
82872002-02-13 Stan Shebs <shebs@apple.com>
8288
831c4e87
KC
8289 * c-typeck.c (digest_init): Handle vectors.
8290 (really_start_incremental_init): Same.
8291 (pop_init_level): Same.
8292 (process_init_element): Same.
e6834654 8293
831c4e87 8294 * varasm.c (output_constant): Same.
e6834654 8295
831c4e87
KC
8296 * expr.c (clear_storage): Same.
8297 (store_constructor): Same.
e6834654 8298
d9b3eb63
EC
82992002-02-12 Eric Christopher <echristo@redhat.com>
8300
8301 * explow.c (hard_function_value): Add comment explaining
8302 signed/unsigned comparison.
8303
56d44285
JJ
83042002-02-12 Jakub Jelinek <jakub@redhat.com>
8305
8306 * jump.c (never_reached_warning): Add finish argument.
8307 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
8308 real insn after end.
8309 * rtl.h (never_reached_warning): Adjust prototype.
8310 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
8311 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
8312 never_reached_warning.
8313
fc209487
GS
83142002-02-12 Graham Stott <grahams@redhat.com>
8315
8316 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
8317
1e41e866
KH
83182002-02-12 Kazu Hirata <kazu@hxi.com>
8319
8320 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
8321 logical shifts on H8/300.
8322 (shift_alg_si): Improve several shifts on H8/300.
8323 (get_shift_alg): Likewise.
8324
a36a47ad
GS
83252002-02-12 Graham Stott <grahams@redhat.com>
8326
8327 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
8328
0aacc8ed
RK
8329Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8330
8331 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
8332 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
8333
a02ac966
HPN
83342002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
8335
8336 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
8337 non-CONST_INT through default_assemble_integer.
8338 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
8339 <case 8>: Abort for CONST_DOUBLE.
8340
d6e06ddc
JDA
83412002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
8342
8343 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
8344 is specified.
8345 * config/pa/pa-linux.h (LIB_SPEC): Delete.
8346 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
8347
515342a8
AH
83482002-02-11 Andrew Haley <aph@cambridge.redhat.com>
8349
8350 * config/stormy16/stormy16.md (zero_extendqihi2): New.
8351
cddd8b72
AO
83522002-02-11 Alexandre Oliva <aoliva@redhat.com>
8353
66df7a98
AO
8354 * regrename.c (regrename_optimize): Don't accept a
8355 part-clobbered register if the replaced register is not part
8356 clobbered.
8357
841404cd
AO
8358 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
8359 take padding into account when computing the argument value.
8360
1d1ade42
AO
8361 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
8362
cddd8b72
AO
8363 * combine.c (try_combine): Apply substitutions in
8364 CALL_INSN_FUNCTION_USAGE too.
8365
5c665b88
AH
83662002-02-11 Aldy Hernandez <aldyh@redhat.com>
8367
77f6c1eb
RS
8368 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
8369 __builtin_altivec_abs*.
8370 (bdesc_abs): New.
5c665b88 8371
77f6c1eb
RS
8372 * config/rs6000/rs6000.h (rs6000_builtins): Add
8373 ALTIVEC_BUILTIN_ABS*.
5c665b88 8374
77f6c1eb
RS
8375 * config/rs6000/altivec.h: Use const char for builtins expecting
8376 literals.
8377 (vec_abs): New versions for C and C++.
8378 (vec_abss): Same.
5c665b88 8379
3494f1b4
KH
83802002-02-10 Kazu Hirata <kazu@hxi.com>
8381
8382 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
8383 using Pmode.
8384
72431aef
KH
83852002-02-10 Kazu Hirata <kazu@hxi.com>
8386
8387 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
8388 constant definition from h8300.md.
8389 (FRAME_POINTER_REGNUM): Likewise.
8390 * config/h8300/h8300.md (define_constants): Add FP_REG.
8391
87e4ee91
KH
83922002-02-10 Kazu Hirata <kazu@hxi.com>
8393
8394 * config/h8300/h8300.c (print_operand): Remove redundant code.
8395
9c188705
KH
83962002-02-10 Kazu Hirata <kazu@hxi.com>
8397
8398 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
8399 * config/h8300/h8300.c (byte_reg): Make it static.
8400
fba78abb
RH
84012002-02-10 Richard Henderson <rth@redhat.com>
8402
8403 PR c/5623
8404 * c-typeck.c (incomplete_type_error): Handle flexible array members.
8405
65739e62
RH
84062002-02-10 Richard Henderson <rth@redhat.com>
8407
8408 PR c++/5624
8409 * tree.c (append_random_chars): Don't abort if main_input_filename
8410 does not exist.
8411
247cb9df
HPN
84122002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
8413
8414 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
8415
232bd029
KH
84162002-02-10 Kazu Hirata <kazu@hxi.com>
8417
65739e62 8418 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
8419 (pushhi1): Likewise.
8420
276ef573
JDA
84212002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
8422
8423 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
8424 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
8425
617e9ee5
DB
84262002-02-09 David O'Brien <obrien@FreeBSD.org>
8427
8428 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
8429 remove MASK_VIS.
8430 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
8431
6dfa4005
KH
84322002-02-09 Kazu Hirata <kazu@hxi.com>
8433
8434 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
8435 a half of an SImode register on H8/300.
8436
749e7b80
JH
8437Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
8438
8439 * i386.md (movdi_2): Add missing '!'.
8440
ca77d87c
KH
84412002-02-09 Kazu Hirata <kazu@hxi.com>
8442
8443 * config/h8300/h8300.h: Fix formatting. Remove commented-out
8444 definitions.
8445
16c96304
KH
84462002-02-09 Kazu Hirata <kazu@hxi.com>
8447
8448 * config/h8300/h8300.md (length): Correct the distance valid
8449 for the short branch.
8450
a364bc90
KH
84512002-02-09 Kazu Hirata <kazu@hxi.com>
8452
8453 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
8454
e4ec2cac
AO
84552002-02-09 Alexandre Oliva <aoliva@redhat.com>
8456
a138247b
AO
8457 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
8458 registers in SImode.
8459 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
8460 part-clobbered.
8461
2b1fd83f
AO
8462 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
8463 patch.
d9b3eb63 8464
fa5322fa
AO
8465 Contribute sh64-elf.
8466 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
8467 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
8468 (sh_cannot_modify_jumps_p): New function.
8469 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
8470 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
8471 (sh_ms_bitfield_layout_p): New function.
8472 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
8473 Zack Weinberg <zack@codesourcery.com>
8474 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
8475 expand_simple_binop instead of expand_binop.
8476 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
8477 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
8478 use of .quad and .uaquad.
8479 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
8480 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
8481 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
8482 * config/sh/sh.md (movdi_const, movdi_const_32bit,
8483 movdi_const_16bit): Make sure all CONSTs have modes.
8484 (sym2PIC): Ditto, but by adjusting all callers.
8485 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
8486 if the prologue calls the SHmedia argument decoder or register
8487 saver.
8488 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
8489 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
8490 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
8491 (sh_expand_epilogue): Don't emit USE of return target register.
8492 (prepare_move_operands): Legitimize DImode PIC addresses.
8493 (sh_media_register_for_return): Skip tr0, used to initialize the
8494 PIC register.
8495 (sh_expand_prologue): Remove explicit USE of return register.
8496 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
8497 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
8498 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
8499 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
8500 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
8501 EXTRA_CONSTRAINT_T.
8502 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
8503 (MOVI_SHORI_BASE_OPERAND_P): New.
8504 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
8505 (EXTRA_CONSTRAINT_T): Define in terms of them.
8506 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
8507 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
8508 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
8509 alternatives supporting TARGET_REGS.
8510 (UNSPEC_GOTPLT): New constant.
8511 (movdi split): Move incrementing of LABEL_NUSES...
8512 (movdi_const, movdi_const_32bit): Here. Use
8513 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
8514 (movdi_const_16bit): New.
8515 (call, call_value) [flag_pic]: Use GOTPLT.
8516 (call_pop, call_value_pop): New expands.
8517 (call_pop_compact, call_pop_rettramp): New insns.
8518 (call_value_pop_compact, call_value_pop_rettramp): New insns.
8519 (sibcall) [flag_pic]: Use GOT.
8520 (builtint_setjmp_receiver): Remove bogus, unused expand.
8521 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
8522 (*pt, *ptb, ptrel): New insns.
8523 (sym2GOT): Handle DImode GOT.
8524 (sym2GOTPLT, symGOTPLT2reg): New expands.
8525 (sym2PIC): New expand.
8526 (shcompact_return_tramp): Use GOTPLT to return trampoline.
8527 (shcompact_return_tramp_i): Use return register explicitly.
8528 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
8529 disable flag_reorder_blocks.
8530 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
8531 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
8532 clobbers, for clarity.
8533 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
8534 restoring of r0 in macl as MAYBE_DEAD.
8535 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
8536 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
8537 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
8538 alter_subreg all over.
8539 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
8540 reload, instead of emitting instructions that would require
8541 reloading.
8542 (casesi_load_media): Add missing modes.
8543 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
8544 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
8545 as used if the argument decoder is called.
8546 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
8547 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
8548 Pmode, then extend it to DImode if necessary.
8549 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
8550 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
8551 constants in FPU-enabled SHmedia, let them be loaded from memory.
8552 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
8553 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
8554 Adjust whitespace in assembly output templates.
8555 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
8556 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
8557 mode of if_then_else.
8558 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
8559 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
8560 sh.h.
8561 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
8562 Joern Rennecke <amylaar@redhat.com>
8563 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
8564 (SUBTARGET_CPP_PTR_SPEC): New.
8565 (SUBTARGET_CPP_SPEC): Remove.
8566 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
8567 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
8568 Fix typo in previous checkin.
8569 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
8570 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
8571 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
8572 Alexandre Oliva <aoliva@redhat.com>
8573 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
8574 what single FP register can hold for SHmedia target.
8575 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
8576 Alexandre Oliva <aoliva@redhat.com>
8577 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
8578 Do not split into SUBREG.
8579 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
8580 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
8581 and added new functions as specified in SH5 ABI r9.
8582 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
8583 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
8584 8-byte boundary.
8585 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
8586 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
8587 gen_consttable_4 and gen_consttable_8. Emit multiple labels
8588 and consttable_window_ends.
8589 2001-06-03 Graham Stott <grahams@redhat,com>
8590 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
8591 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
8592 * config/sh/sh.c (print_operand): Handle floating-point pair,
8593 vector and matrix registers.
8594 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
8595 vector modes into account.
8596 * config/sh/sh.md (movv2sf): Split move between registers into
8597 movdf.
8598 (movv4sf, movv16sf): Introduce insns that get split only after
8599 reload.
8600 * config/sh/shmedia.h: Fix Copyright dates.
8601 * config/sh/ushmedia.h: Likewise. Move loop counter
8602 declarations into conditionals that uses them.
8603 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
8604 loop boundary.
8605 * config/sh/sshmedia.h: Fix Copyright dates.
8606 (sh_media_PUTCFG): Fix constraints.
8607 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
8608 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
8609 ptrmemfunc_vbit_in_delta for SH5.
8610 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
8611 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
8612 * invoke.texi: Likewise.
8613 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
8614 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
8615 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
8616 GCC_pop_shmedia_regs_nofpu): New global symbols.
8617 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
8618 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
8619 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
8620 compact function with nonlocal labels.
8621 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
8622 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
8623 (initial_elimination_offset): Account for their stack space.
8624 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
8625 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
8626 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
8627 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
8628 least one of the operands to be a register.
8629 (movv2sf): Likewise. Renamed to movv2sf_i.
8630 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
8631 prepare_move_operands() before emitting SHmedia insns.
8632 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
8633 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
8634 Don't save nor initialize r12. Don't mis-align the stack.
8635 Pad the code with a nop.
8636 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
8637 stack.
8638 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
8639 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
8640 [__SHMEDIA__]: Implement.
8641 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
8642 * config/sh/sh.md: Set latency of `pt' closer to reality.
8643 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
8644 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
8645 Set move, load and store type attributes.
8646 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
8647 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
8648 profiling.
8649 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
8650 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
8651 * config/sh/sh.c (sh_media_register_for_return): New function.
8652 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
8653 branch-target register.
8654 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
8655 * config/sh/sh.md (return_media_i): Use any call-clobbered
8656 branch-target register.
8657 (return_media): If r18 wasn't copied in the prologue, copy it
8658 here.
8659 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
8660 Clear class FP0_REGS.
8661 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
8662 from elf.h.
8663 2001-03-08 DJ Delorie <dj@redhat.com>
8664 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
8665 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
8666 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
8667 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
8668 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
8669 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
8670 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
8671 return value correctly for call_cookie.
8672 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
8673 * config/sh/crt1.asm (start): Modified so as to call
8674 ___setup_argv_and_call_main.
8675 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
8676 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
8677 SHmedia mode.
8678 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
8679 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
8680 (STRIP_NAME_ENCODING): Use it.
8681 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
8682 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
8683 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
8684 prepare_scc_operands().
8685 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
8686 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
8687 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
8688 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
8689 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
8690 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
8691 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
8692 used in shcompact_incoming_args.
8693 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
8694 change.
8695 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
8696 mode.
8697 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
8698 Adjust accordingly.
8699 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
8700 Simplify. Adjust. Add sanity check.
8701 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
8702 FPU_SINGLE_BIT.
8703 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
8704 TARGET_SHCOMPACT.
8705 (udivsi3, divsi3): Use them.
8706 (force_mode_for_call): New insn.
8707 (call, call_value, sibcall_value): Emit it before SHcompact
8708 calls.
8709 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
8710 * config/sh/sh.md (call, call_value, sibcall): Make sure the
8711 call cookie is non-NULL before taking its value.
8712 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
8713 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
8714 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
8715 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
8716 block.
8717 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
8718 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
8719 temporary for stack adjusts. Use MACL and MACH to pass
8720 arguments to shcompact_incoming_args.
8721 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
8722 clobber r1.
8723 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
8724 (nested_trampoline): Load static chain address into r1.
8725 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
8726 2001-01-07 Alexandre Oliva <aoliva@redhat.com
8727 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
8728 fp_arith_reg_operand().
8729 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
8730 * config/sh/sh.md (casesi): Sign-extend the first two operands,
8731 and use signed compares for them.
8732 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
8733 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
8734 ones properly aligned.
8735 (find_barrier): Account for extra alignment needed for 8-byte wide
8736 constants.
8737 (machine_dependent_reorg): Require a label for the second 4-byte
8738 constant after an 8-byte one.
8739 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
8740 change.
8741 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
8742 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
8743 last_float when switching float modes.
8744 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
8745 auto-increment for general-purpose registers.
8746 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
8747 result.
8748 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
8749 for stack adjust.
8750 * config/sh/sh.c (sh_builtin_saveregs): Support using all
8751 registers for varargs.
8752 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
8753 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
8754 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
8755 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
8756 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
8757 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
8758 call_cookie accordingly.
8759 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
8760 (SHCOMPACT_BYREF): Likewise.
8761 (SHCOMPACT_FORCE_ON_STACK): New macro.
8762 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
8763 (sh_builtin_saveregs): Likewise.
8764 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
8765 shcompact_incoming_args): Use new shift values. Support
8766 sequences of consecutive and non-consecutive pushes/pops.
8767 * config/sh/sh.md (return): Don't explicitly use PR_REG.
8768 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
8769 * config/sh/sh.h (TEXT_SECTION): Define.
8770 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
8771 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
8772 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
8773 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
8774 return values on FPU-enabled SHmedia.
8775 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
8776 FPU-enabled SHmedia.
8777 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
8778 value is returned in a non-FP reg and is not returned by
8779 reference.
8780 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
8781 jump_ind.
8782 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
8783 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
8784 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
8785 quad-aligned to be passed by callee-copy reference.
8786 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
8787 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
8788 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
8789 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
8790 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
8791 copying low-numbered FP regs to r7 and r8.
8792 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
8793 FP regs to general-purpose regs only if the copy was passed on the
8794 stack.
8795 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
8796 copying FP reg to r9.
8797 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
8798 copy FP regs to general-purpose regs only in outgoing calls.
8799 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 8800 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
8801 HOST_WIDE_INT.
8802 * config/sh/sh.h (struct sh_args): Document all fields.
8803 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
8804 passed partially on the stack should not consider making
8805 sibcalls.
8806 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
8807 stack_regs only for incoming calls. When passing FP args,
8808 make sure there are FP regs available before modifying
8809 call_cookie.
8810 (SHCOMPACT_BYREF): Pass double args in general-purpose
8811 registers by reference.
8812 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
8813 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
8814 attempt to generate sibcalls if the caller got any arguments
8815 by reference.
8816 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
8817 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
8818 to 8-byte boundaries.
8819 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
8820 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
8821 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
8822 stored in the stack.
8823 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
8824 for the offsets to have the ISA bit set.
8825 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
8826 invocation. Use beq instead of bgt to mark end of sequence of
8827 loads.
8828 (shcompact_incoming_args): Fix store of r2. Use beq instead of
8829 bgt to mark end of sequence of stores.
8830 * config/sh/sh.c (arith_operand): Don't check whether
8831 CONST_OK_FOR_J for now.
8832 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
8833 instead of long for conversion.
8834 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
8835 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
8836 before passing it to fprintf.
8837 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
8838 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
8839 Call set_fpscr before reading/writing SR.
8840 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
8841 Call set_fpscr.
8842 * config/sh/lib1funcs.asm: Add `.align 2' directives before
8843 SHmedia code.
8844 (FMOVD_WORKS): Define on SH5 with FPU.
8845 (set_fpscr): Define on SH5. Remove separate _fpscr_values
8846 setting.
8847 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
8848 _fpscr_values.
8849 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
8850 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
8851 address.
8852 (ia_main_table): Ditto.
8853 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
8854 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
8855 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
8856 the definitions from sh.h.
8857 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
8858 TARGET_SH5.
8859 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
8860 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
8861 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
8862 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
8863 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
8864 Increment LABEL_NUSES.
d9b3eb63 8865
fa5322fa
AO
8866 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
8867 TARGET_SH5.
8868 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
8869 defined.
8870 * config/sh/elf.h (SIZE_TYPE): Likewise.
8871 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
8872 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
8873 shcompact_incoming_args): Load switch table addresses using
8874 datalabel.
8875 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
8876 (NO_BUILTIN_SIZE_TYPE): Define.
8877 (SIZE_TYPE): Don't define.
8878 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
8879 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
8880 definition of __SH5__=32 for -m5-compact-nofpu.
8881 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
8882 ADDR_DIFF_VEC.
8883 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
8884 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
8885 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
8886 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
8887 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
8888 (INSN_LENGTH_ALIGNMENT): Likewise.
8889 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
8890 * config/sh/sh.md (call, call_value, sibcall): Simplify
8891 copying of non-branch-target register.
8892 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 8893 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
8894 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
8895 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
8896 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
8897 floating-point values as structs.
8898 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
8899 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
8900 general-purpose register.
8901 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
8902 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
8903 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
8904 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
8905 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
8906 (ENCODE_SECTION_INFO): Enclose variables and constants in
8907 DATALABEL unspecs.
8908 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
8909 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
8910 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
8911 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
8912 only for LABEL_REFs. For SYMBOL_REFs, prepend
8913 SH_DATALABEL_ENCODING to the symbol name.
8914 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
8915 convert_mode().
8916 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
8917 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
8918 UNSPEC_DATALABEL.
8919 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
8920 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
8921 (DATALABEL_REF_P): Don't require CONST.
8922 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
8923 REL label.
8924 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
8925 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
8926 right.
8927 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
8928 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
8929 Use shallow_copy_rtx and PUT_MODE to change the mode of
8930 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
8931 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
8932 on SHmedia using GENERAL_REGs.
8933 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
8934 bltu_media_i): Fix reversion of conditions.
8935 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
8936 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
8937 * config/sh/sh.c (output_far_jump): Save r13 in macl.
8938 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
8939 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
8940 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
8941 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
8942 (GCC_nested_trampoline): Likewise.
8943 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
8944 * config/sh/sh.c (gen_datalabel_ref): Define.
8945 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
8946 (INITIALIZE_TRAMPOLINE): Likewise.
8947 (TRAMPOLINE_ADJUST_ADDRESS): Define.
8948 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
8949 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
8950 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
8951 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
8952 (ic_invalidate): Adjust for SH5.
8953 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
8954 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
8955 _nested_trampoline.
8956 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
8957 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
8958 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
8959 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
8960 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
8961 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
8962 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
8963 * config/sh/sh.c (target_reg_operand): Match only target-branch
8964 registers and pseudos that aren't virtual registers.
8965 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
8966 Copy operands that don't match target_reg_operand to pseudos.
8967 (call_media, call_value_media, sibcall_media): Use
8968 target_reg_operand instead of target_operand.
8969 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 8970 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
8971 * config/sh/sh.c (target_reg_operand): Match hardware registers
8972 other than branch-target registers.
8973 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
8974 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
8975 (fpscr_values) [SH5 == 32]: Define.
8976 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
8977 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
8978 Handle function addresses coming in SUBREGs.
8979 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
8980 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
8981 shcompact_return_trampoline): Use datalabel where appropriate.
8982 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
8983 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
8984 general-purpose register to copy one branch-target register to
8985 another.
8986 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
8987 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
8988 SYMBOL_REFs with VOIDmode.
8989 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
8990 bltu_media_i): New insns.
8991 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
8992 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
8993 (INIT_CUMULATIVE_ARGS): Likewise.
8994 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
8995 * machmode.def (V16SFmode): New mode.
8996 * c-common.c (type_for_mode): Support V2SF and V16SF.
8997 * tree.c (build_common_tree_nodes_2): Likewise.
8998 * tree.h (tree_index): Likewise.
8999 * calls.c (emit_call_1): Take args_so_far. Adjust all
9000 callers. Introduce CALL_POPS_ARGS.
9001 * tm.texi (CALL_POPS_ARGS): Document.
9002 * config/sh/crt1.asm: Implement in SHmedia mode.
9003 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
9004 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
9005 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
9006 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
9007 Implement divsi and udivsi in SHmedia mode. Introduce
9008 SHcompact trampolines.
9009 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
9010 only in SHmedia64.
9011 (regno_reg_class): Rewrite.
9012 (fp_reg_names): Remove.
9013 (sh_register_names, sh_additional_register_names): New.
9014 (print_operand): Added `u'. Support SUBREGs in addresses.
9015 Add parentheses around shifted CONSTs.
9016 (output_file_start): Output .mode and .abi directives.
9017 (shiftcosts, addsubcosts, multcosts): Adjust.
9018 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
9019 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
9020 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
9021 bytes, not registers. Take into account the need for the
9022 SHcompact incoming args trampoline. Adjust all callers.
9023 (sh_expand_prologue): Take stack_regs into account. Call
9024 incoming args trampoline. Keep stack aligned as per SH5 ABI.
9025 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
9026 stack aligned as per SH5 ABI.
9027 (sh_builtin_saveregs): Support SH5 ABI.
9028 (sh_build_va_list, sh_va_start): Likewise.
9029 (initial_elimination_offset): Take alignment into account.
9030 Compute location of PR according to the SH5 stack frame.
9031 (arith_reg_operand): Reject branch-target registers.
9032 (shmedia_6bit_operand): New.
9033 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
9034 (target_reg_operand): Match DImode only. Accept SUBREGs.
9035 (target_operand): New.
9036 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
9037 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
9038 SIBCALL_REGS for SHmedia.
9039 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
9040 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
9041 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
9042 (TARGET_SWITCHES): New SH5 flags.
9043 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
9044 VALID_REGISTER_P to disable unsupported registers.
9045 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
9046 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
9047 (FUNCTION_ARG_PADDING): Define.
9048 (FASTEST_ALIGNMENT): Adjust.
9049 (SH_REGISTER_NAMES_INITIALIZER): New.
9050 (sh_register_names): Declare.
9051 (DEBUG_REGISTER_NAMES): Define.
9052 (REGISTER_NAMES): Define based on sh_register_names.
9053 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
9054 (sh_additional_register_names): Declare.
9055 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
9056 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
9057 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
9058 (REGISTER_NATURAL_MODE): Define.
9059 (FIRST_PSEUDO_REGISTER): Adjust.
9060 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
9061 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
9062 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
9063 (VECTOR_MODE_SUPPORTED_P): Define.
9064 (REG_CLASS_CONTENTS): Adjust.
9065 (SMALL_REGISTER_CLASSES): Adjust.
9066 (REG_ALLOC_ORDER): Adjust.
9067 (INDEX_REG_CLASS): Adjust.
9068 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
9069 (CONST_OK_FOR_LETTER_P): Adjust.
9070 (PREFERRED_RELOAD_CLASS): Adjust.
9071 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
9072 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
9073 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
9074 (FIRST_FP_PARM_REG): Adjust.
9075 (CALL_POPS_ARGS): Define.
9076 (FUNCTION_ARG_REGNO_P): Adjust.
9077 (struct sh_args): New fields.
9078 (GET_SH_ARG_CLASS): Adjust.
9079 (INIT_CUMULATIVE_ARGS): Adjust.
9080 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
9081 (FUNCTION_ARG_ADVANCE): Adjust.
9082 (FUNCTION_ARG): Adjust.
9083 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
9084 (FUNCTION_ARG_CALLEE_COPIES): Define.
9085 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
9086 (STRICT_ARGUMENT_NAMING): Define.
9087 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
9088 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
9089 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
9090 (SETUP_INCOMING_VARARGS): Adjust.
9091 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
9092 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
9093 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
9094 (SUBREG_OK_FOR_INDEX_P): Adjust.
9095 (EXTRA_CONSTRAINT_S): Update.
9096 (EXTRA_CONSTRAINT_T): New.
9097 (EXTRA_CONSTRAINT): Adjust.
9098 (GO_IF_LEGITIMATE_INDEX): Adjust.
9099 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
9100 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
9101 (MOVE_MAX): Adjust.
9102 (MAX_MOVE_MAX): Define.
9103 (Pmode): Adjust.
9104 (CONST_COSTS): Adjust.
9105 (REGISTER_MOVE_COST): Adjust.
9106 (BRANCH_COST): Adjust.
9107 (TEXT_SECTION_ASM_OP): Adjust.
9108 (DBX_REGISTER_NUMBER): Adjust.
9109 (ASM_OUTPUT_DOUBLE_INT): New.
9110 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
9111 (PREDICATE_CODES): Adjust.
9112 (PROMOTE_MODE): Adjust.
9113 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
9114 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
9115 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
9116 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
9117 (DR0_REG, DR2_REG, DR4_REG): Renumber.
9118 (TR0_REG, TR1_REG, TR2_REG): New.
9119 (XD0_REG): Renumber.
9120 (UNSPEC_COMPACT_ARGS): New.
9121 (type): Added pt and ptabs.
9122 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 9123 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
9124 (pt): New function unit.
9125 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
9126 Add whitespace between operands of SHmedia instructions.
9127 (movdicc): Fix.
9128 (adddi3_media, addsi3_media): Adjust constraints.
9129 (subsi3) [SHmedia]: Force operand 1 into a register.
9130 (udivsi3_i1_media, udivsi3_i4_media): New.
9131 (udivsi3): Support SHmedia.
9132 (divsi3_i1_media, divsi3_i4_media): New.
9133 (divsi3): Support SHmedia.
9134 (anddi3, iordi3, xordi3): Adjust constraints.
9135 (zero_extendhidi2, zero_extendqidi2): New.
9136 (extendsidi2, extendhidi2, extendqidi2): New.
9137 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
9138 (pop_e, pop_fpul, pop_4): Likewise.
9139 (movsi_media): Support FP and BT registers.
9140 (movsi_media_nofpu): New. Adjust splits to DImode.
9141 (lduw, ldub): Renamed to zero_extend* above.
9142 (movqi_media): Fix typo.
9143 (movdi_media): Support FP and BT registers.
9144 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
9145 (movdi_const_32bit): New.
9146 (shori_media): Require immediate operand. Use `u' for output.
9147 (movdf_media, movsf_media): Simplified.
9148 (movdf_media_nofpu, movsf_media_nofpu): New.
9149 (movdf, movsf): Adjust
9150 (movv2sf, movv2sf, movv16sf): New.
9151 (beq_media, beq_media_i): Adjust constraints. Don't use
9152 scratch BT register.
9153 (bne_media, bne_media_i): Likewise.
9154 (bgt_media, bgt_media_i): Likewise.
9155 (bge_media, bge_media_i): Likewise.
9156 (bgtu_media, bgtu_media_i): Likewise.
9157 (bgeu_media, bgeu_media_i): Likewise.
9158 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
9159 bunordered): Emit jump insn. Force operands to registers when
9160 needed.
9161 (jump_media, jump): Simplify.
9162 (call_compact, call_compact_rettramp): New.
9163 (call_value_compact, call_value_compact_rettramp): New.
9164 (call_media, call_value_media): Simplify.
9165 (sibcall_compact, sibcall_media): New.
9166 (call, call_value): Adjust for SHmedia and SHcompact.
9167 (sibcall, sibcall_value, untyped_call): Likewise.
9168 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
9169 (indirect_jump): Adjust for SHmedia.
9170 (casesi_jump_media): New.
9171 (nop): Re-enable for SHmedia.
9172 (call_site): Restrict to SH1.
9173 (casesi): Adjust for SHmedia.
9174 (casesi_shift_media, casesi_load_media): New.
9175 (return): Explicitly use PR register. Call return trampoline
9176 on SHcompact.
9177 (return_i): Explicitly use PR register.
9178 (shcompact_return_tramp, shcompact_return_tramp_i): New.
9179 (return_media): Adjust.
9180 (shcompact_incoming_args): New.
9181 (epilogue): Adjust.
9182 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
9183 (movstrsi): Disable on SH5.
9184 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
9185 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
9186 (subsf3, subsf3_media): Likewise.
9187 (mulsf3, mulsf3_media, mac_media): Likewise.
9188 (divsf3, divsf3_media): Likewise.
9189 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
9190 (floatsisf2, fux_truncsfsi2): Likewise.
9191 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
9192 constraints.
9193 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
9194 (cmpunsf_media, cmpsf): Likewise.
9195 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
9196 (abssf2, abssf2_media): Likewise.
9197 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
9198 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
9199 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
9200 (floatsidf2, fix_truncdfsi2): Likewise.
9201 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
9202 constraints.
9203 (cmpeqdf_media, cmpgtdf_media): Likewise.
9204 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
9205 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
9206 (absdf2, absdf2_media): Likewise.
9207 (extendsfdf2, extendsfdf2_media): Likewise.
9208 (truncsfdf2, truncsfdf2_media): Likewise.
9209 * config/sh/sh64.h: New file.
9210 * config/sh/t-sh64: New file.
9211 * config/sh/shmedia.h: New file.
9212 * config/sh/ushmedia.h: New file.
9213 * config/sh/sshmedia.h: New file.
9214 * configure.in: Added sh64-*-elf.
9215 * configure: Rebuilt.
9216 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
9217 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
9218 (reg_class_from_letter): Use `b' for TARGET_REGS.
9219 (print_operand): Support `%M', `%m', `AND' and
9220 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
9221 (andcosts): Adjust for SHmedia.
9222 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
9223 Likewise.
9224 (target_reg_operand): New function.
9225 * config/sh/sh-protos.h (target_reg_operand): Declare.
9226 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
9227 FP registers on SH5.
9228 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
9229 on SH4.
9230 (TARGET_REGISTER_P): New macro.
9231 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
9232 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
9233 (EXTRA_CONSTRAINT_S): New macro.
9234 (EXTRA_CONSTRAINT): Adjust.
9235 (FLOAT_TYPE_SIZE): Define to 32.
9236 (Pmode): DImode on SHmedia.
9237 (CONST_COSTS): Adjust for SHmedia literals.
9238 (PREDICATE_CODES): Added target_reg_operand.
9239 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
9240 * config/sh/sh.md: Remove all attrs from SHmedia insns.
9241 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
9242 (cmpdi): Accept SHmedia.
9243 (movdicc_false, movdicc_true): New insns.
9244 (movdicc): New expand.
9245 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
9246 no_new_pseudos.
9247 (addsi3_media): Match `S' constraint.
9248 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
9249 (negdi2): Expand for SHmedia.
9250 (one_cmpldi2): New expand.
9251 (zero_extendsidi2): Change from expand to insn.
9252 (extendsidi2): Add constraints.
9253 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
9254 LD/ST address. Fix SI immediate loading split.
9255 (movhi_media, movqi_media, lduw, ldub): New insns.
9256 (movhi, movqi): Accept SHmedia.
9257 (shori_media, movdi_media): Relax input constraints. Split
9258 symbolic constants.
9259 (movdf_media, movsf_media): New insn. New split to movdi.
9260 (movdf, movsf): Match on SHmedia.
9261 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
9262 bgeu_media): New insns and splits. New insns with `_i' suffix.
9263 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
9264 (bunordered): New expand.
9265 (jump_compact): Renamed from `jump'.
9266 (jump_media): New insn.
9267 (jump): New expand.
9268 (call_media, call_value_media): New insns.
9269 (call, call_value): Adjust.
9270 (indirect_jump_compact): Renamed from `indirect_jump'.
9271 (indirect_jump_media): New insn.
9272 (indirect_jump): New expand.
9273 (untyped_call, return): Accept SHmedia.
9274 (return_media): New insn.
9275 (prologue, epilogue, blockage): Accept SHmedia.
9276 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
9277 (sunordered): New expand.
9278 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
9279 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
9280 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
9281 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
9282 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
9283 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
9284 abssf2_media): New insns.
9285 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
9286 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
9287 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
9288 floatdidf2, floatsidf2_media, fix_truncdfdi2,
9289 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
9290 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
9291 absdf2_media): New insns.
9292 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
9293 (extendsfdf2_media, truncdfsf2_media): New insns.
9294 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
9295 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
9296 * config/sh/sh.h (CONST_OK_FOR_J): Document.
9297 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
9298 * config/sh/sh.md (adddi3): New expand.
9299 (adddi3_media, adddi3z_media): New insns.
9300 (adddi3_compact): Renamed from adddi3.
9301 (addsi3_media): Use add.l r63 to add constant zero.
9302 (subdi3): New expand.
9303 (subdi3_media): New insn.
9304 (subdi3_compact): Renamed from subdi3.
9305 (mulsidi3): New expand.
9306 (mulsidi3_media): New insn.
9307 (mulsidi3_compact): Renamed from mulsidi3.
9308 (umulsidi3): New expand.
9309 (umulsidi3_media): New insn.
9310 (umulsidi3_compact): Renamed from umulsidi3.
9311 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
9312 (ashlsi3, ashrsi3, lshrsi3): Use them.
9313 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
9314 (ashldi3, ashrdi3, lshrdi3): Use them.
9315 (zero_extendsidi2): New expand.
9316 (extendsidi2): New insn.
9317 (movsi_media): New insn. Split to movdi to load constants.
9318 (movsi): Enable for shmedia.
9319 (movdi_media): New insn. Use shori_media to load wide constants.
9320 (short_media): New insn.
9321 (movdi): Enable for shmedia.
9322 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
9323 * config/sh/sh.h (CPP_SPEC): Added `m5'.
9324 (SUBTARGET_CPP_SPEC): Added `!m5'.
9325 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
9326 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
9327 to all other SH variants.
9328 (TARGET_DEFAULT): Set to SH1_BIT.
9329 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
9330 (BITS_PER_WORD): Raise to 64 on shmedia.
9331 (MAX_BITS_PER_WORD): Change to 64.
9332 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
9333 (INT_TYPE_SIZE): Keep as 32.
9334 (UNITS_PER_WORD): Raise to 8 on shmedia.
9335 (MIN_UNITS_PER_WORD): Keep as 4.
9336 (POINTER_SIZE): Raise to 64 on shmedia.
9337 (CONST_OK_FOR_J): New macro.
9338 (CONST_OK_FOR_LETTER_P): Use it.
9339 (processor_type): Add PROCESSOR_SH5.
9340 * config/sh/sh.md: Conditionalize all expands, insns and
9341 splits to TARGET_SH1.
9342 (cpu): Added sh5.
9343 (addsi3_compact): Renamed from...
9344 (addsi3): Now an expand.
9345 (addsi3_media, subsi3_media): New insns.
9346 (subsi3): Don't negate constants with SHmedia.
9347
e4ec2cac
AO
9348 * hooks.c: New file.
9349 * hooks.h: New file.
9350 * Makefile.in (HOOKS_H): New.
9351 (TARGET_DEF_H): Added $(HOOKS_H).
9352 (OBJS): Added hooks.o.
9353 (cfgcleanup.o, bb-reorder.o): Added target.h.
9354 (hooks.o): Added dependencies.
9355 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
9356 (TARGET_INITIALIZER): this.
9357 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
9358 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
9359 * bb-reorder.c: Include target.h.
9360 (reorder_basic_blocks): Skip if cannot modify jumps.
9361 * cfgcleanup.c: Include target.h.
9362 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
9363
246a46e0
CD
93642002-02-08 Chris Demetriou <cgd@broadcom.com>
9365
831c4e87
KC
9366 * config/mips/mips.md (casesi_internal, casesi_internal_di):
9367 Protect jump delay slot instructions with .set noreorder and
9368 .set nomacro.
246a46e0
CD
9369
93702002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
9371
9372 * config/mips/mips.md (casesi_internal_di): Calculate
9373 the index into the target offset table correctly.
9374
fdf473ae
RH
93752002-02-08 Richard Henderson <rth@redhat.com>
9376
9377 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
9378 * final.c (output_addr_const): Accept and discard SUBREG.
9379 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
9380 mark them unknown instead.
9381 (simplify_subtraction): Handle RTX_UNKNOWN.
9382 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
9383
c50503ac
DE
93842002-02-08 David Edelsohn <edelsohn@gnu.org>
9385
9386 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
9387
3660d217
RH
93882002-02-08 Richard Henderson <rth@redhat.com>
9389
9390 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
9391
56547299
AJ
93922002-02-08 Andreas Jaeger <aj@suse.de>
9393
9394 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
9395 * config/i386/t-linux64: New file.
9396
1cf537c5
JJ
93972002-02-08 Jakub Jelinek <jakub@redhat.com>
9398
9399 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
9400 * c-parse.in (compstmt): Clear last_expr_type.
9401
5c7f5a5f
RH
94022002-02-07 Richard Henderson <rth@redhat.com>
9403
9404 * loop.c (strength_reduce): Sink final_value when not
9405 eliminating a biv.
9406
b1138bf3
DB
94072002-02-07 David O'Brien <obrien@FreeBSD.org>
9408
9409 * config/sparc/freebsd.h: Fix mismatched spec {.
9410
b6878a45
RH
94112002-02-07 Richard Henderson <rth@redhat.com>
9412
9413 * cfgrtl.c: Include recog.h and insn-config.h.
9414 (keep_with_call_p): Fix general_operand invocation.
9415 * Makefile.in (cfgrtl.o): Update dependencies.
9416
ae19f5ef
KH
94172002-02-07 Kazu Hirata <kazu@hxi.com>
9418
9419 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
9420 comment. Accept HImode only if TARGET_H8300.
9421
b137f9fc
EC
94222002-02-07 Eric Christopher <echristo@redhat.com>
9423
9424 * config/mips/crtn.asm: Cleanup #ifdefs.
9425
94262002-02-07 Eric Christopher <echristo@redhat.com>
9427
9428 * config/mips/crti.asm: Add changes for mips16. mips16 uses
9429 register 7 as RA instead of $31.
9430 * config/mips/crtn.asm: Ditto.
9431 * config/mips/mips.c (mips_move_2words): Add case for
9432 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
9433 (compute_frame_size): Fix typo.
9434 (save_restore_insns): Ditto. Make documentation about using
9435 register $7 as return register more precise.
9436 (mips_expand_epilogue): Fix comment. Add code to work around not
9437 being able to add to the stack pointer directly.
9438 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
9439 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
9440 epilogue.
9441
768070a0
TR
94422002-02-07 Tom Rix <trix@redhat.com>
9443
b137f9fc 9444 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
9445 immediates in ldu and stdu DS opcode field.
9446 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
9447 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
9448 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
9449
225909c3
JS
94502002-02-07 Jeff Sturm <jsturm@one-point.com>
9451
9452 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
9453 offset for stack bias.
9454
15fae023
L
94552002-02-07 H.J. Lu <hjl@gnu.org>
9456
9457 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
9458
fde5badd
UW
94592002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
9460
9461 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
9462
162f023b
JH
9463Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
9464
9465 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
9466 * i386.c (x86_order_regs_for_local_alloc): New global function.
9467 * i386.h (REG_ALLOC_ORDER): CLeanup.
9468 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
9469
9b462c42
RH
94702002-02-07 Richard Henderson <rth@redhat.com>
9471
85aa876c 9472 PR optimization/2463
9b462c42
RH
9473 * alias.c (find_base_value): Recall base values for fixed hard regs.
9474 * loop.c (loop_regs_update): Don't use single_set on non-insns.
9475
06e455a9
AO
94762002-02-07 Alexandre Oliva <aoliva@redhat.com>
9477
9478 * config/mips/mips.md (define_delay) [mips16]: Adjust required
9479 length.
9480
edd1967d
RH
94812002-02-06 Richard Henderson <rth@redhat.com>
9482
9483 PR c/5609
9484 * stmt.c (resolve_operand_name_1): Take more care with mixed
9485 named and unnamed operands.
9486
a2cd028f
JJ
94872002-02-06 Janis Johnson <janis187@us.ibm.com>
9488 Jan Hubicka <jh@suse.cz>
9489
9490 * loop.c (remove_constant_addition): Avoid clobbering a shared
9491 CONST expression.
9492
e8487c04
UW
94932002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
9494
9495 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
9496 * config/s390/t-linux64: New file.
9497 * config/s390/libgcc-glibc.ver: New file.
9498
58d10f89
UW
94992002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
9500
9501 * config/s390/linux64.h: Delete file.
9502 * config/s390/s390x.h: New file.
9503 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
9504 as target header file.
9505 * config/s390/linux.h (TARGET_VERSION): Define depending on
9506 DEFAULT_TARGET_64BIT.
9507 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
9508 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
9509 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
9510 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
9511 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
9512 (EXTRA_SPEC): New define.
9513 * config/s390/s390.h (TARGET_VERSION): Define depending on
9514 DEFAULT_TARGET_64BIT.
9515 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
9516
5ce89b2e
JM
95172002-02-06 Jason Merrill <jason@redhat.com>
9518
9519 * c-decl.c (finish_function): Warn about a non-void function with
9520 no return statement and no abnormal exit.
9521 (current_function_returns_abnormally): New variable.
9522 (start_function): Clear it.
9523 (struct c_language_function): Add returns_abnormally.
9524 (push_c_function_context): Save it.
9525 (pop_c_function_context): Restore it.
9526 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
9527 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
9528 an explicit return type.
9529 * c-tree.h: Declare current_function_returns_abnormally.
9530 (C_FUNCTION_IMPLICIT_INT): New macro.
9531 * c-typeck.c (build_function_call): Set it.
9532 (c_expand_return): Set current_function_returns_value even if the
9533 value is erroneous.
9534
caaf2272
JJ
95352002-02-06 Jakub Jelinek <jakub@redhat.com>
9536
9537 PR c/5420:
9538 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
9539 unsafe for reevaluation.
9540
d5129288
JJ
95412002-02-06 Jakub Jelinek <jakub@redhat.com>
9542
9543 PR c/5482:
9544 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
9545 EXPR_STMT, but COMPOUND_STMT, recurse into it.
9546
7fb75099
RH
95472002-02-06 Richard Henderson <rth@redhat.com>
9548
9549 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
9550 be a general_operand. Dest for function value must be a pseudo.
9551
d3a8b6a6
NC
95522002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
9553
9554 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
9555 as SYMBOL_REFs from the constant pool.
9556
3c1299c5
AO
95572002-02-06 Alexandre Oliva <aoliva@redhat.com>
9558
9559 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
9560 passed by invisible reference.
9561
c2c9f6c9
RH
95622002-02-05 Richard Henderson <rth@redhat.com>
9563
9564 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
9565
a824924d
HPN
95662002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
9567
9568 Implement using "base addresses" in insn operands as default.
9569 * config/mmix/mmix.c (mmix_conditional_register_usage): if
9570 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
9571 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
9572 used to read the rtx value.
9573 (mmix_target_asm_function_epilogue): Fix spacing.
9574 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
9575 (mmix_legitimate_address): Ditto.
9576 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
9577 should be loaded with a GETA insn. Don't allocate needless extra
9578 char for nul termination and fix misleading comment.
9579 (mmix_print_operand_address): Handle constants if
9580 TARGET_BASE_ADDRESSES.
9581 (mmix_output_register_setting): Use base addressing if
9582 TARGET_BASE_ADDRESSES and the number of insns is 3.
9583 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
9584 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
9585 to use R as constraint, add LDA to match s.
9586 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
9587 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
9588 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
9589 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
9590 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
9591 order with other fixed registers.
9592 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
9593 other parameter/call-clobbered registers.
9594 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
9595 -mbase-addresses, -mno-base-addresses.
9596 (MMIX Options): Ditto.
9597
73c342b9
JDA
95982002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
9599
9600 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
9601
ef238c58
AH
96022002-02-06 Aldy Hernandez <aldyh@redhat.com>
9603
831c4e87 9604 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 9605
ad08e60e
JT
96062002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
9607
9608 * config/netbsd.h (WCHAR_TYPE): Define.
9609 (WCHAR_TYPE_SIZE): Ditto.
9610 (WINT_TYPE): Ditto.
9611 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
9612 (WCHAR_UNSIGNED): Ditto.
9613 (WCHAR_TYPE_SIZE): Ditto.
9614 (WINT_TYPE): Ditto.
9615 * config/arm/netbsd.h: Likewise.
9616 * config/i386/netbsd-elf.h: Likewise.
9617 * config/i386/netbsd.h: Likewise.
9618 * config/m68k/netbsd-elf.h: Likewise.
9619 * config/m68k/netbsd.h: Likewise.
9620 * config/ns32k/netbsd.h: Likewise.
9621 * config/sparc/netbsd.h: Likewise.
9622 * config/vax/netbsd.: Likewise.
9623
f913c102
AO
96242002-02-05 Alexandre Oliva <aoliva@redhat.com>
9625
9626 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
9627 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
9628 (TARGET_INITIALIZER): this.
9629 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
9630 (BITFIELD_NBYTES_LIMITED): Markup fix.
9631 * tree.h (default_ms_bitfield_layout_p): Declare.
9632 (record_layout_info): Added prev_field.
9633 * tree.c (default_ms_bitfield_layout_p): New fn.
9634 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
9635 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
9636 * stor-layout.c: Include target.h.
9637 (start_record_layout): Initialize prev_field.
9638 (place_field): Handle MS bit-field layout, and disregard
9639 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
9640 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
9641 * Makefile.in (stor-layout.o): Adjust dependencies.
9642
c13db5d1
JM
96432002-02-05 Jason Merrill <jason@redhat.com>
9644
c13db5d1
JM
9645 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
9646
4505024e
AJ
96472002-02-05 Andreas Jaeger <aj@suse.de>
9648
9649 * crtstuff.c: Fix comments.
9650
794ad79d
RH
96512002-02-05 Richard Henderson <rth@redhat.com>
9652
2e279a9b
RH
9653 PR fortran/3393
9654 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
9655 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
9656
794ad79d
RH
9657 PR fortran/3392
9658 * config/mips/mips.c (function_arg): Handle TImode.
9659 (function_arg_advance): Likewise.
9660
8f909017
AH
96612002-02-05 Aldy Hernandez <aldyh@redhat.com>
9662
c13db5d1
JM
9663 * config/rs6000/altivec.h (vec_step_help): Rename to
9664 __vec_step_help.
8f909017 9665
66daa9e3
AH
96662002-02-05 Aldy Hernandez <aldyh@redhat.com>
9667
c13db5d1 9668 * config/rs6000/altivec.h: Fix typos.
66daa9e3 9669
2696e97b
JT
96702002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
9671
9672 * config/arm/netbsd.h: Correct a comment.
9673
3deb2758
AH
96742002-02-05 Aldy Hernandez <aldyh@redhat.com>
9675
c13db5d1
JM
9676 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
9677 building void typed builtins.
3deb2758 9678
c13db5d1
JM
9679 * config/rs6000/altivec.h (vec_ld*): Fix typos.
9680 (vec_step): Implement for C++.
3deb2758 9681
c13db5d1 9682Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
9683
9684 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
9685
ebbb0a63
RH
96862002-02-04 Richard Henderson <rth@redhat.com>
9687
9688 * combine.c (nonzero_bits): Re-introduce special case for
9689 sp/fp/ap wrt REGNO_POINTER_ALIGN.
9690
ae4b4a02
AH
96912002-02-05 Aldy Hernandez <aldyh@redhat.com>
9692
c13db5d1
JM
9693 * doc/extend.texi: Warn about unsupported usage of altivec
9694 builtins.
ae4b4a02 9695
c13db5d1
JM
9696 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
9697 (altivec_predicate_*): New.
ae4b4a02 9698
c13db5d1
JM
9699 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
9700 Add C++ version of vec_*() functions.
ae4b4a02 9701
c13db5d1
JM
9702 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
9703 (bdesc_2arg): Remove altivec predicates.
9704 (altivec_expand_builtin): Handle predicates.
9705 (altivec_init_builtins): Handle predicates.
9706 (altivec_expand_predicate_builtin): New.
ae4b4a02 9707
f6bcf44c
JDA
97082002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
9709
9710 * pa.c (DO_FRAME_NOTES): Move forward.
9711 (store_reg): Revise handling of frame notes.
9712 (load_reg): Likewise.
9713 (set_reg_plus_d): Likewise.
9714 (hppa_expand_prologue): Likewise.
9715 (hppa_expand_epilogue): Likewise.
b137f9fc 9716
703b0080
JDA
97172002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
9718
9719 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
9720
6f9fdf4d
JJ
97212002-02-04 Jakub Jelinek <jakub@redhat.com>
9722
9723 PR c/4475, c++/3780:
9724 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
9725 * c-common.h (SWITCH_TYPE): Define.
9726 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
9727 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
9728 Rename spareness variable to sparseness.
9729 (expand_end_case_type): Renamed from expand_end_case, use orig_type
9730 if non-NULL instead of TREE_TYPE (orig_index).
9731 * tree.h (expand_end_case_type): Renamed from expand_end_case.
9732 (expand_end_case): Define using expand_end_case_type.
9733 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
9734 to expand_end_case_type.
9735 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
9736
79109502
JDA
97372002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
9738
9739 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
9740 (BIGGEST_ALIGNMENT): Change to 128.
9741
e62a5987
JDA
97422002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
9743
9744 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
9745
219f24a4
JDA
97462002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
9747
9748 * pa.md (call_internal_reg_64bit): Remove unused variable.
9749
3cb66fd7
NC
97502002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
9751
9752 * config/arm/arm.h (machine_function): Add uses_anonymous_args
9753 field.
831c4e87 9754 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 9755 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
9756 replace uses with cfun->machine->uses_anonymous_args.
9757 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
9758
9759 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
9760 any geenral register.
b137f9fc 9761
5d5603e2 97622001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
9763
9764 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
9765 the entry block.
9766
563c12b0
RH
97672002-02-04 Richard Henderson <rth@redhat.com>
9768
9769 * combine.c (force_to_mode): Remove STACK_BIAS code.
9770 (nonzero_bits): Likewise. Replace sp/fp special case with
9771 REGNO_POINTER_ALIGN.
9772
9773 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
9774 (HARD_FRAME_POINTER_REGNUM): New.
9775 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
9776 (FIXED_REGS, CALL_USED_REGS): Update.
9777 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
9778 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
9779 (HARD_REGNO_NREGS): Update for SFP.
9780 (STACK_POINTER_OFFSET): Include bias here ...
9781 (FIRST_PARM_OFFSET): ... not here.
9782 (STACK_BIAS): Remove.
9783 (INIT_EXPANDERS): New.
9784 (STARTING_FRAME_OFFSET): Do not include bias.
9785 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
9786 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
9787 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
9788 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
9789 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
9790 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
9791 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
9792 (MUST_SAVE_REGISTER): Likewise.
9793 (sparc_flat_function_prologue): Likewise.
9794 (sparc_flat_function_epilogue): Likewise.
9795 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
9796 (sparc_init_modes): SFP is GENERAL_REGS.
9797 (sparc_builtin_saveregs): SFP does not have bias applied.
9798
14691f8d
RH
97992002-02-04 Richard Henderson <rth@redhat.com>
9800
9801 * config/alpha/alpha.c (current_function_is_thunk): Don't check
9802 current_function_is_thunk.
9803 (alpha_sa_mask): Distinguish between current_function_is_thunk
9804 called from ASM_OUTPUT_MI_THUNK and not.
9805 (alpha_does_function_need_gp): Thunks always need gp.
9806 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
9807 (alpha_output_mi_thunk_osf): New.
9808 * config/alpha/alpha-protos.h: Update.
9809 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
9810
af702de8
RS
98112002-02-04 Richard Sandiford <rsandifo@redhat.com>
9812
9813 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
9814 function types, not when they're taken away.
9815
5b1cacd8
JL
9816Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
9817
9818 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
9819 CODE_LABEL and jump table when replacing a table jump with a
9820 simple jump.
9821
f3e9edff
UW
98222002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
9823
9824 * config/s390/s390-protos.h (legitimize_la_operand,
9825 s390_secondary_input_reload_class, s390_plus_operand,
9826 s390_expand_plus_operand): Add prototypes.
9827
9828 config/s390/s390.c (s390_secondary_input_reload_class,
9829 s390_plus_operand, s390_expand_plus_operand): New functions.
9830
9831 (struct s390_address): New member 'pointer'.
9832 (s390_decompose_address): Compute it.
9833 (legitimate_la_operand_p): Use it.
9834 (legitimize_la_operand): New function.
9835 (movti, movdi, movdf splitters): Call it.
9836
9837 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
9838 (PREDICATE_CODES): Add s390_plus_operand.
9839
9840 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
9841 (la_ccclobber): Allow GENERAL_REGS as output operand.
9842
9843 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
9844 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
9845 (*la_64, *la_31, reload_indi, reload_insi): ... these.
9846
3c9a08ec
UW
98472002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
9848
9849 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
9850 register names for regular asm () construct.
9851
ac300a45
JJ
98522002-02-04 Jakub Jelinek <jakub@redhat.com>
9853
9854 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
9855 registers.
9856
fa852403
JJ
98572002-02-04 Jakub Jelinek <jakub@redhat.com>
9858
9859 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
9860 pat for recog.
9861
fecaac37
HP
98622002-02-04 Hartmut Penner <hpenner@de.ibm.com>
9863
831c4e87
KC
9864 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
9865 constant pool to be identical by string address and index.
fecaac37 9866
10c45943
AG
98672002-02-04 Anthony Green <green@redhat.com>
9868
9869 * output.h (SECTION_OVERRIDE): Define.
9870 * varasm.c (named_section): Obey SECTION_OVERRIDE.
9871
69474c3c
JT
98722002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
9873
9874 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
9875 by existing arm*-*-netbsd* (a.out) target.
9876 (ns32k-*-netbsdelf*): Likewise.
9877 (sparc-*-netbsdelf*): Likewise.
9878 (vax-*-netbsdelf*): Likewise.
9879
939a46f6 98802002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
9881
9882 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
9883 headers and libobjc headers.
9884
98852002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
9886
9887 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
9888 (_mingw.h): Remove duplicate include.
9889
2fd95d71
JT
98902002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
9891
9892 * config.gcc: Set cpu_type to m68k for 68010, as well.
9893 (m68010-*-netbsdelf*): New...
9894 (m68k*-*-netbsdelf*): ...targets.
9895 * config/m68k/netbsd-elf.h: New file.
9896
0ea6f6a0
KH
98972002-02-02 Kazu Hirata <kazu@hxi.com>
9898
9899 * config/h8300/h8300.c (hand_list): Move inside function_arg.
9900
cbf1b2da
KH
99012002-02-02 Kazu Hirata <kazu@hxi.com>
9902
9903 * config/h8300/h8300.c (h8_push_ops): Move inside
9904 h8300_init_once.
9905 (h8_pop_ops): Likewise.
9906 (h8_move_ops): Likewise.
9907
0869f126
KH
99082002-02-02 Kazu Hirata <kazu@hxi.com>
9909
9910 * config/h8300/h8300.c (os_task): Make it static.
9911 (monitor): Likewise.
9912 (pragma_saveall): Likewise.
9913
90e65b70
AO
99142002-02-02 Alexandre Oliva <aoliva@redhat.com>
9915
9916 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
9917 constant is a valid sign-extension for Pmode.
9918
9cbcd983
KH
99192002-02-02 Kazu Hirata <kazu@hxi.com>
9920
9921 * config/h8300/h8300.c: Fix formatting.
9922
7a27efc4
KH
99232002-02-02 Kazu Hirata <kazu@hxi.com>
9924
9925 * config/h8300/h8300.md: Fix formatting.
9926
54175a44
KH
99272002-02-02 Kazu Hirata <kazu@hxi.com>
9928
9929 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
9930 predicates of operands[1]. Split the patterns for each
9931 processor variant.
9932
eceb1755
KH
99332002-02-02 Kazu Hirata <kazu@hxi.com>
9934
9935 * config/h8300/h8300.md (xor patterns): Tighten the predicates
9936 of operands[1] to register_operand.
9937
0fef3fd0
NB
99382002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
9939
9940 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
9941 * cpphash.c (_cpp_init_hashtable): Similarly.
9942 * cppinit.c (cpp_create_reader): Default the signed_char flag.
9943 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
9944 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
9945 (cpp_handle_option): Handle the new options.
9946 * cpplex.c (cpp_interpret_charconst): Use new flag.
9947 * cpplib.h (struct cpp_options): New member signed_char.
9948 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
9949 (cpp_options): Handle -fsigned-char and -funsigned-char.
9950 (static_specs): Remove signed_char_spec.
9951 (do_spec1): Don't handle %c.
9952 * system.h: Poison SIGNED_CHAR_SPEC.
9953 * tradcif.y (yylex): Use flag_signed_char.
9954 * tradcpp.h (flag_signed_char): New.
9955 * tradcpp.c (flag_signed_char): New.
9956 (main): Handle new command-line options.
9957 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
9958config:
9959 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
9960 * avr/avr.h: Remove old comments.
9961 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
9962 (CC1_SPEC): Pass -fsigned-char if -mic*.
9963 (SIGNED_CHAR_SPEC): Remove.
9964doc:
9965 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
9966
0617ed52
EC
99672002-02-01 Eric Christopher <echristo@redhat.com>
9968
9969 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
9970 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
9971 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
9972 (ASM_OUTPUT_REG_POP): Ditto.
9973
dfd48d76
NB
99742002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
9975
9976 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
9977 patch.
9978
4a23409e
JJ
99792002-02-02 Jakub Jelinek <jakub@redhat.com>
9980
9981 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
9982
d3c52658
JJ
99832002-02-02 Jakub Jelinek <jakub@redhat.com>
9984
9985 PR c/5304:
9986 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
9987 unconditionally.
9988
02c5a3bd
JJ
99892002-02-01 Janis Johnson <janis187@us.ibm.com>
9990
9991 * cfganal.c: Include tm_p.h.
9992 (keep_with_call_p): Fix the test that determines if a register holds
9993 the return value of a call.
9994
3968de80
DD
99952002-02-01 DJ Delorie <dj@redhat.com>
9996
9997 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
9998 we are given conflicting registers, switch to the other one we
9999 had allocated for us.
10000 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
10001 as TImode so we know when the "other" register is available.
10002
1338ea6c
DB
100032002-02-01 David O'Brien <obrien@FreeBSD.org>
10004
10005 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
10006 sparc/sparc_bi.h.
10007
f015be23
JJ
100082002-02-01 Janis Johnson <janis187@us.ibm.com>
10009
10010 * cfganal.c (keep_with_call_p): New function.
10011 (flow_call_edges_add): Prevent splitting a block between a call and
10012 a single-set instruction that should be kept in the same block.
10013
63708ffc
CR
100142002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
10015
10016 * doc/install.texi (avr): Update outdated URL.
10017
5ee4950e
AH
100182002-01-30 Andrew Haley <aph@cambridge.redhat.com>
10019
831c4e87
KC
10020 * config/stormy16/stormy16.md (pushqi): New.
10021 (popqi): New.
10022 (pushhi): New.
10023 (pophi): New.
10024 (movhi): Remove stack operands.
10025 (movqi): Likewise.
10026 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
10027 nonimmediate_nonstack_operand.
10028 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
10029 New.
10030 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
10031 New.
5ee4950e 10032
b88c0704
JM
100332002-01-31 Jason Merrill <jason@redhat.com>
10034
10035 * Makefile.in (c-parse.c): Handle .output file.
10036 * objc/Make-lang.in (objc-parse.c): Likewise.
10037
ac282977
AO
100382002-02-01 Alexandre Oliva <aoliva@redhat.com>
10039
10040 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
10041 the -me[lb] option is given. Don't output the default flag
10042 twice.
10043
bebc7e8b
ZW
100442002-01-31 Zack Weinberg <zack@codesourcery.com>
10045
10046 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
10047 the primary source file; this has not been done yet.
10048 * c-decl.c (c_expand_body): Reset input_filename from
10049 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
10050
5809eb5f
KH
100512002-01-31 Kazu Hirata <kazu@hxi.com>
10052
10053 * rtlanal.c (subreg_regno_offset): Do not use
10054 SUBREG_REGNO_OFFSET.
10055 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
10056 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
10057
8512bbd7
JM
100582002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
10059
10060 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
10061 version rather than GNATS version in --version output.
10062
74cb3cc8
RS
100632002-01-31 Richard Sandiford <rsandifo@redhat.com>
10064
10065 * ifcvt.c (noce_process_if_block): Make a copy of the destination
10066 when copying back from a temporary.
10067
874b5b14
RH
100682002-01-30 Richard Henderson <rth@redhat.com>
10069
10070 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
10071 and new_dest are the same.
10072
e803a64b
RH
100732002-01-30 Richard Henderson <rth@redhat.com>
10074
89cf7be5 10075 PR opt/5076
e803a64b
RH
10076 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
10077 * rtl.c (note_insn_name): Update.
10078 * emit-rtl.c (remove_unnecessary_notes): Kill it.
10079 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
10080 to perform loop rotation.
10081 (expand_exit_loop_top_cond): New.
10082 * tree.h (expand_exit_loop_top_cond): Declare it.
10083 * c-semantics.c (genrtl_while_stmt): Use it.
10084 (genrtl_for_stmt): Likewise.
10085
0b51254d
AO
100862002-01-30 Alexandre Oliva <aoliva@redhat.com>
10087
10088 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
10089 arguments to 64-bit boundaries on 64-bit ABIs.
10090
71cef493
SE
100912002-01-30 Steve Ellcey <sje@cup.hp.com>
10092
10093 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
10094
6169e5fd
JM
100952002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
10096
10097 * c-decl.c (grokdeclarator): Handle type being a typedef for an
10098 invalid type.
10099
86f808dc
DB
101002002-01-30 David O'Brien <obrien@FreeBSD.org>
10101
10102 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
10103 * config/sparc/sparc_bi.h: Remove file.
10104 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
10105
5748ebeb
RH
101062002-01-30 Richard Henderson <rth@redhat.com>
10107
10108 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
10109
20d32cc2
ZW
101102002-01-30 Zack Weinberg <zack@codesourcery.com>
10111
10112 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
10113
b88c0704 101142002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
10115
10116 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
10117 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
10118 (reg_save): Use DW_CFA_offset_extended_sf instead.
10119
10120 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
10121
37060e78
JJ
101222002-01-29 Jakub Jelinek <jakub@redhat.com>
10123
10124 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
10125 in cselib_lookup.
10126
d18dba68
AH
101272002-01-29 Aldy Hernandez <aldyh@redhat.com>
10128
bebc7e8b
ZW
10129 * rs6000.md ("*call_value_local32"): Remove constraints.
10130 ("*call_value_local64"): Same.
10131 ("*call_value_indirect_nonlocal_aix32"): Same.
10132 ("*call_value_nonlocal_aix32"): Same.
10133 ("*call_value_indirect_nonlocal_aix64"): Same.
10134 ("*call_value_nonlocal_aix64"): Same.
10135 ("*call_value_nonlocal_sysv"): Same.
d18dba68 10136
80a8aac6
RH
101372002-01-29 Richard Henderson <rth@redhat.com>
10138
10139 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
10140
12beba6f
RH
101412002-01-29 Richard Henderson <rth@redhat.com>
10142
10143 * expr.c (force_operand): Ignore flag_pic for detecting pic
10144 address loads.
10145 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
10146 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
10147 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
10148 instead of open-coded loop.
10149 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
10150 be fixed when in use.
10151
2583081e
RH
101522002-01-29 Richard Henderson <rth@redhat.com>
10153
10154 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
10155 * sched-rgn.c (propagate_deps): Update them.
10156 * sched-deps.c (sched_analyze_insn): Update them. Flush the
10157 clobbers list when either gets too long.
10158
3b8d200e
JJ
101592002-01-29 Jakub Jelinek <jakub@redhat.com>
10160
10161 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
10162 and INDEX_REGS the same as GENERAL_REGS.
10163 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
10164
2d3115eb
NB
101652002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
10166
bebc7e8b 10167 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 10168
ecbe845e
UW
101692002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
10170
bebc7e8b 10171 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 10172 movstrsix_31): Remove, replace by ...
bebc7e8b 10173 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
10174 movstrsi_long): ... these. New.
10175 (movstrdi, movstrsi): Adapt.
10176
10177 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 10178 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
10179 Remove unnecessary CC clobber.
10180 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
10181 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
10182
10183 (divmoddi4): Don't partially initialize TImode register.
10184
0b32fca5
GK
101852002-01-29 Geoffrey Keating <geoffk@redhat.com>
10186
10187 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
10188
08ef5437
RH
101892002-01-29 Richard Henderson <rth@redhat.com>
10190
10191 * flow.c (print_rtl_and_abort): Remove.
10192 (print_rtl_and_abort_fcn): Remove.
10193 (verify_local_live_at_start): Use dump_bb instead.
10194 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
10195 (verify_wide_reg_1): Return 2 on mode test failure.
10196
8469e54e
NB
101972002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
10198
10199 PR c/3325, c/3326, c/2511, c/3347
10200 * c-decl.c (enum_decl_context): Remove BITFIELD.
10201 (grokdeclarator): Take bitfield width as an input.
10202 Ensure bitfields are given the correct type. Perform
10203 bitfield width validation with build_bitfield_integer_type
10204 rather than waiting for finish_struct.
10205 (grok_typename, grok_typename_in_parm_context, start_decl,
10206 push_parmdecl, grokfield, start_function): Update calls to
10207 grokdeclarator.
10208 (build_bitfield_integer_type): New function.
10209 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 10210 and build_bitfield_integer_type.
8469e54e
NB
10211 * tree.c (build_nonstandard_integer_type): New function.
10212 * tree.h (build_nonstandard_integer_type): New prototype.
10213objc:
10214 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
10215
ffdeea47
JJ
102162002-01-29 Jakub Jelinek <jakub@redhat.com>
10217
10218 PR other/1502:
10219 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
10220 don't ignore unrecognized -W* options.
10221 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
10222 * cpplib.h (cpp_handle_option): Adjust prototype.
10223 * c-decl.c (c_decode_options): Pass 0 as last argument to
10224 cpp_handle_option.
10225
10226 PR c/2896:
10227 * gcc.c (cpp_unique_options): Split from cpp_options.
10228 (cpp_options): Source cpp_unique_options.
10229 (default_compilers): Use cpp_unique_options instead of cpp_options
10230 when used together with cc1_options.
10231 (static_specs): Add cpp_unique_options.
10232 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
10233 when used together with cc1_options.
10234
1a275226
KH
102352002-01-29 Kazu Hirata <kazu@hxi.com>
10236
10237 * config/h8300/h8300-protos.h: Update the prototype of
10238 output_a_shift.
10239 * config/h8300/h8300.c (output_a_shift): Remove an unused
10240 argument 'insn'. Remove redundant code.
10241 * config/h8300/h8300.md: Adust to the new prototype of
10242 output_a_shift.
10243
a11d9dfc
KH
102442002-01-29 Kazu Hirata <kazu@hxi.com>
10245
10246 * config/h8300/h8300-protos.h: Update the prototypes of
10247 emit_a_rotate and expand_a_rotate.
10248 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
10249 first argument to 'enum rtx_code'.
10250 (expand_a_rotate): Likewise.
10251
871f73e3
KH
102522002-01-28 Kazu Hirata <kazu@hxi.com>
10253
10254 * config/h8300/h8300-protos.h: Update the prototype of
10255 output_simode_bld.
10256 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
10257 'log2'.
10258 * config/h8300/h8300.md: Adjust to the new prototype.
10259
5fc4b751
KH
102602002-01-28 Kazu Hirata <kazu@hxi.com>
10261
10262 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
10263 redundant code.
10264
2d67bd7b
JDA
102652002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
10266
10267 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
10268 is a fixed register before returning pic_offset_table_rtx.
10269 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
10270 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
10271
5a852b3e
JM
102722002-01-28 Jason Merrill <jason@redhat.com>
10273
6bb28965 10274 * dwarf2.h: Sync with src version.
5a852b3e 10275
3bca17dd
PK
102762002-01-28 Paul Koning <pkoning@equallogic.com>
10277
10278 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
10279 BT_FN_VOID_PTR_VAR.
10280 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
10281 * doc/extend.texi (__builtin_prefetch): Update documentation:
10282 first argument is now const void ptr.
10283
7dc3f8c0
KH
102842002-01-28 Kazu Hirata <kazu@hxi.com>
10285
10286 * config/h8300/h8300-protos.h: Remove an unused prototype.
10287
e83cb5f0
RZ
102882002-01-28 Roman Zippel <zippel@linux-m68k.org>
10289
10290 * toplev.c (lang_independent_init): Round up identifier size.
10291
5721cd84
RE
102922002-01-28 Richard Earnshaw <rearnsha@arm.com>
10293
10294 * config.gcc: Revert previous change.
10295
d534119e
AP
102962002-01-28 Andris Pavenis <pavenis@latnet.lv>
10297
10298 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
10299
5a721dab
RE
103002002-01-28 Richard Earnshaw <rearnsha@arm.com>
10301
10302 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
10303 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
10304 other non-elf netbsd config frags.
10305 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
10306 collect2 will does that.
10307 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
10308 shared-lib frobbing will work.
10309
da1775d6
KH
103102002-01-28 Kazu Hirata <kazu@hxi.com>
10311
10312 * config/h8300/h8300.h: Fix formatting.
10313 * config/h8300/h8300.md: Likewise.
10314
8f2e963b
LR
103152002-01-28 Loren J. Rittle <ljrittle@acm.org>
10316
10317 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
10318 the old, removed AAA_standards fix.
10319 * fixinc/fixincl.x: Rebuilt.
10320
fdae5767
HPN
103212002-01-28 Hans-Peter Nilsson <hp@axis.com>
10322
10323 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
10324 atexit call in crtbegin, hooked in after call to frame_dummy;
10325 register EH before registering __fini__start.
10326
2a2ecb63
AH
103272002-01-28 Aldy Hernandez <aldyh@redhat.com>
10328
10329 * config/rs6000/altivec.h: Remove spurious semicolons.
10330
8ed43adf
KH
103312002-01-27 Kazu Hirata <kazu@hxi.com>
10332
10333 * config/h8300/h8300.md: Replace dead bit extraction patterns
10334 with ones that work.
10335
917afb0c
RK
10336Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10337
10338 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
10339 if not STRICT_ALIGNMENT.
10340 * rtl.h (MEM_ALIGN): Likewise.
10341
f70a54cb
CR
103422002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
10343
10344 * doc/invoke.texi (-fdump-translation-unit): Revert this
10345 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
10346
d8fd4914
KH
103472002-01-27 Kazu Hirata <kazu@hxi.com>
10348
10349 * config/h8300/h8300.md (define_constants): New.
10350 (anonymous patterns) Use defined constants appropriately.
10351
15e0e275
KH
103522002-01-27 Kazu Hirata <kazu@hxi.com>
10353
10354 * config/h8300/h8300.c (function_arg): Remove redundant code.
10355
37a0f8a5
RH
103562002-01-26 Richard Henderson <rth@redhat.com>
10357
10358 * sched-deps.c (reg_pending_uses_head): New.
10359 (reg_pending_barrier): Rename from reg_pending_sets_all.
10360 (find_insn_list): Don't mark inline.
10361 (find_insn_mem_list): Remove.
10362 (add_dependence_list, add_dependence_list_and_free): New.
10363 (flush_pending_lists): Replace only_write param with separate
10364 for_read and for_write parameters. Update all callers. Use
10365 add_dependence_list_and_free.
10366 (sched_analyze_1): Do not add reg dependencies here; just set
10367 the pending bits. Use add_dependence_list.
10368 (sched_analyze_2): Likewise.
10369 (sched_analyze_insn): Replace schedule_barrier_found with
10370 reg_pending_barrier. Add all dependencies for pending reg
10371 uses, sets, and clobbers.
10372 (sched_analyze): Don't add reg dependencies for calls, just
10373 set pending bits. Use regs_invalidated_by_call. Treat
10374 sched_before_next_call as a normal list, not a fake insn.
10375 (init_deps): No funny init for sched_before_next_call.
10376 (free_deps): Free pending mems lists. Don't zero reg_last.
10377 (init_deps_global): Init reg_pending_uses.
10378 (finish_deps_global): Free it.
10379 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
10380 (find_insn_mem_list): Remove.
10381 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
10382 (propagate_deps): Use them. Zero temp mem lists.
10383
cea3bd3e
RH
103842002-01-26 Richard Henderson <rth@redhat.com>
10385
10386 * Makefile.in (CRTSTUFF_CFLAGS): New.
10387 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
10388 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
10389 crtstuff.c instead of alpha assembly version.
10390 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
10391 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
10392 not FORCE_{INIT,FINI}_SECTION_ALIGN.
10393 (__do_global_dtors_aux): Mark used.
10394 (frame_dummy, __do_global_ctors_aux): Mark used.
10395 (fini_dummy, init_dummy): Remove.
10396
10397 * config/alpha/crtbegin.asm: Remove file.
10398 * config/alpha/crtend.asm: Remove file.
10399 * config/alpha/t-crtbe: Remove file.
10400 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
10401 (LINK_EH_SPEC): New.
10402
10403 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
10404 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
10405 calling constructors.
10406 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
10407
10408 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
10409 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
10410 CRT_END_INIT_DUMMY hack.
10411 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
10412 FORCE_{INIT,FINI}_SECTION_ALIGN.
10413
10414 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
10415 FORCE_{INIT,FINI}_SECTION_ALIGN.
10416
10417 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
10418 invocation sequence.
10419 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
10420
10421 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
10422 (FORCE_CODE_SECTION_ALIGN): New.
10423
60ffa0e5
RH
104242002-01-26 Richard Henderson <rth@redhat.com>
10425
10426 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
10427
61334ebe
RH
104282002-01-26 Richard Henderson <rth@redhat.com>
10429
10430 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
10431 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
10432
1d788fb6
KH
104332002-01-26 Kazu Hirata <kazu@hxi.com>
10434
10435 * config/h8300/h8300.md: Remove bit extraction patterns that
10436 cannot be triggered.
10437 Restrict each bit extraction pattern to a variant on which the
10438 pattern is tested.
10439
87611f88
JM
104402002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
10441
10442 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
10443
cd74ec59
KH
104442002-01-26 Kazu Hirata <kazu@hxi.com>
10445
10446 * config/h8300/h8300.md: Remove bit test patterns that cannot
10447 be triggered.
10448 Restrict each bit test pattern to a variant on which the
10449 pattern is tested.
10450
93051e0f
KG
104512002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10452
10453 * builtins.c (expand_builtin_strncat): Remove redundant check for
10454 INTEGER_CST.
10455
216c995f
DB
104562002-01-25 David O'Brien <obrien@FreeBSD.org>
10457
10458 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
10459 default setting.
10460 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
10461 existing setting.
10462
33c7f925
GK
104632002-01-25 Geoffrey Keating <geoffk@redhat.com>
10464
10465 * dbxout.c (dbxout_init): Use assemble_name rather than just
10466 stripping off the first character.
10467 (dbxout_source_file): Likewise.
10468
6cd444b4
DD
104692002-01-25 DJ Delorie <dj@redhat.com>
10470
10471 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
10472 using rtx_equal_p, not by comparing pointers.
10473
751551d5
SE
104742002-01-25 Steve Ellcey <sje@cup.hp.com>
10475
10476 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
10477 for PIC_OFFSET_TABLE_REGNUM.
10478 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
10479
e564e618
DB
104802002-01-25 David O'Brien <obrien@FreeBSD.org>
10481
10482 * config.gcc (x86_64-*-freebsd*): New target.
10483 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
10484 value.
10485 (i[34567]86-*-freebsd*): Don't include svr4.h.
10486 * config/i386/freebsd64.h: New file.
10487
ff3aaf17
DR
104882002-01-25 Douglas B Rupp <rupp@gnat.com>
10489
4857d29d
DR
10490 * config/alpha/x-vms (version): Make static.
10491
10492 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
10493 in previous checkin.
10494
ff3aaf17
DR
10495 * Makefile.in (install-headers-cp): New target.
10496 * config.gcc (alpha-dec-*vms*): Install headers with
10497 install-headers-cp
10498
48d79c43
JH
10499Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
10500
10501 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
10502 avoid it's copies.
10503
995b5904
RK
10504Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10505
10506 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
10507 of compare_tree_int.
10508 (expand_builtin_strncat): Likewise.
10509 * c-decl.c (finish_struct): Use tree_low_cst.
10510 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
10511 * tree.c (compare_tree_int): Likewise.
10512
75eefe3f
UW
105132002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
10514
10515 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
10516 adjustments even if they are implemented by more than two insns.
10517
5a133afd
JH
10518Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
10519
995b5904 10520 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
10521 * df.h (struct ref): Kill B.
10522 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
10523
10524 * basic-block.h (PROP_EQUAL_NOTES): New flag.
10525 * flow.c (propagate_one_insn): Use it.
10526 (mark_used_regs): Handle NIL.
10527
ead39bdf 105282002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
10529
10530 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
10531 to help folding.
10532
01a2ccd0
DE
105332002-01-25 David Edelsohn <edelsohn@gnu.org>
10534
10535 * rs6000.md (prefetch): Make address V4SI mode so that the address
10536 is restricted to legitimate form for instruction.
10537
fd29f6ea
BW
105382002-01-25 Bob Wilson <bob.wilson@acm.org>
10539
10540 * doc/install.texi (xtensa-*-elf): New target.
10541 (xtensa-*-linux*): New target.
10542 * doc/contrib.texi: Add myself.
10543
55492b32
NC
105442002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
10545
10546 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
10547 purpose register to hold an SImode (or smaller) value.
10548
72c7c913
JJ
105492002-01-25 Jakub Jelinek <jakub@redhat.com>
10550
10551 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
10552 registry only.
10553 * crtstuff.c: Likewise.
10554
c4df4ceb
KH
105552002-01-25 Kazu Hirata <kazu@hxi.com>
10556
10557 * config/h8300/h8300.md (negation patterns): Tighten
10558 predicates to register_operand.
10559
70e531f5
AH
105602002-01-24 Aldy Hernandez <aldyh@redhat.com>
10561
3bca17dd
PK
10562 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
10563 mode, not Pmode.
70e531f5 10564
3bca17dd 10565 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 10566
a4f76ef9
AO
105672002-01-24 Alexandre Oliva <aoliva@redhat.com>
10568
10569 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
10570 modes.
10571
9bf25b09
KH
105722002-01-24 Kazu Hirata <kazu@hxi.com>
10573
10574 * config/h8300/h8300.c (print_operand): Remove support for
10575 operand character 'A'.
10576 * config/h8300/h8300.md (three anonymous patterns): Replace
10577 operand character 'A' with either 'T' or 'S'.
10578
974af6a5
KH
105792002-01-24 Kazu Hirata <kazu@hxi.com>
10580
10581 * config/h8300/h8300.c (print_operand): Remove support for
10582 operand character 'U'.
10583
7a5bb7b8
AP
105842002-01-24 Andris Pavenis <pavenis@latnet.lv>
10585
3bca17dd 10586 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 10587
92a4639e
NC
105882002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
10589
10590 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
10591 values to be assigned to the stack pointer.
10592
467cb2da
HP
105932002-01-14 Hartmut Penner <hpenner@de.ibm.com>
10594
bebc7e8b 10595 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
10596 to const_double needs to be done right for big-endian systems.
10597
3b6cb920
JM
105982002-01-24 Jason Merrill <jason@redhat.com>
10599
b08dd119 10600 PR c++/2432
3b6cb920
JM
10601 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
10602 to can_throw_internal.
10603
f3077311
RH
106042002-01-23 Richard Henderson <rth@redhat.com>
10605
10606 * fold-const.c (fold): Change UINT_MAX test to check vs precision
10607 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
10608
e1d71275
AO
106092002-01-24 Alexandre Oliva <aoliva@redhat.com>
10610
10611 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
10612 (symGOT2reg): Use them, then set as GOT value as unchanging.
10613 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
10614 as a temporary, if possible.
10615 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
10616 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
10617
dc271dbe
KH
106182002-01-23 Kazu Hirata <kazu@hxi.com>
10619
10620 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
10621 accept to accept 0x80 as operands[2].
10622
1a9017f9
AO
106232002-01-24 Alexandre Oliva <aoliva@redhat.com>
10624
10625 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
10626
6932f033
RH
106272002-01-23 Richard Henderson <rth@redhat.com>
10628
10629 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
10630
709619d9
AH
106312002-01-23 Aldy Hernandez <aldyh@redhat.com>
10632
3bca17dd
PK
10633 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
10634 (parmlist_or_identifiers_1): Verify that only a parmlist follows
10635 an attribute.
709619d9 10636
3d709fd3
RH
106372002-01-23 Richard Henderson <rth@redhat.com>
10638
10639 * expr.c (move_by_pieces_1): Extend size before negation.
10640
88a446c0
RH
10641 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
10642 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
10643 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
10644 * config/m68k/t-m68kelf: Likewise.
10645
03984308
BW
106462002-01-23 Bob Wilson <bob.wilson@acm.org>
10647
10648 * config/xtensa/elf.h: New file.
10649 * config/xtensa/lib1funcs.asm: New file.
10650 * config/xtensa/lib2funcs.S: New file.
10651 * config/xtensa/linux.h: New file.
10652 * config/xtensa/t-xtensa: New file.
10653 * config/xtensa/xtensa-config.h: New file.
10654 * config/xtensa/xtensa-protos.h: New file.
10655 * config/xtensa/xtensa.c: New file.
10656 * config/xtensa/xtensa.h: New file.
10657 * config/xtensa/xtensa.md: New file.
10658 * config.gcc (xtensa-*-elf*): New target.
10659 (xtensa-*-linux*): New target.
10660 * cse.c (canon_hash): Compare rtx pointers instead of register
10661 numbers. This is required for the Xtensa port.
10662 * integrate.c (copy_insn_list): Handle case where the static
10663 chain is in memory and the memory address has to be copied to
10664 a register.
10665 * doc/invoke.texi (Option Summary): Add Xtensa options.
10666 (Xtensa Options): New node.
10667 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
10668
c3d5c3fa
ZW
106692002-01-23 Zack Weinberg <zack@codesourcery.com>
10670
a63bea75
ZW
10671 * diagnostic.c (internal_error): Do ICE suppression only
10672 when ENABLE_CHECKING is not defined.
10673
c3d5c3fa
ZW
10674 * c-typeck.c (require_complete_type): Return error_mark_node
10675 if type is error_mark_node.
10676
1398974c
JJ
106772002-01-23 Janis Johnson <janis187@us.ibm.com>
10678
10679 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
10680 -Os and issue a warning.
10681
807633e5
ZW
106822002-01-23 Zack Weinberg <zack@codesourcery.com>
10683
10684 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
10685 current (lack of) need for host configuration by hand.
10686
10687 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
10688 references. Documentation of some target macros moved from
10689 hostconfig.texi to tm.texi.
10690
cf8002d0
WC
106912002-01-23 Will Cohen <wcohen@redhat.com>
10692
10693 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
10694 defined.
10695
d1e76310
KH
106962002-01-23 Kazu Hirata <kazu@hxi.com>
10697
10698 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
10699 operand[3].
10700
b2115575
JM
107012002-01-23 Jason Merrill <jason@redhat.com>
10702
f893c16e
JM
10703 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
10704
b2115575
JM
10705 * function.c (assign_parms): Don't put args of inline functions
10706 into registers when not optimizing.
10707
6bacc7b0
NC
107082002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
10709
10710 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
10711 (prologue_use): New pattern.
10712 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
10713 preference to gen_rtx_USE.
10714 (thumb_expand_prologue): Use gen_prologue_use in preference to
10715 gen_rtx_USE.
10716 (thumb_expand_epilogue): Use gen_prologue_use in preference to
10717 gen_rtx_USE.
10718
a415f7bc
HPN
107192002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
10720
10721 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
10722
5372b3fb
NB
107232002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
10724
10725 PR c/3504
10726 * doc/extend.texi: Correct documentation of __alignof__.
10727
bd571ffc
ZW
107282002-01-22 Zack Weinberg <zack@codesourcery.com>
10729
10730 * params.h: Rename arguments of DEFPARAM so that it will be
10731 recognized as a translation keyword.
10732
333c8841
AH
107332002-01-22 Aldy Hernandez <aldyh@redhat.com>
10734
bd571ffc
ZW
10735 * extend.texi: Document altivec functions.
10736 Fix N-bit adjectives in X86 builtin documentation.
333c8841 10737
38979c65
AO
107382002-01-22 Alexandre Oliva <aoliva@redhat.com>
10739
10740 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
10741 auto_inc_dec values.
10742
7458a9f0
RE
107432002-01-22 Richard Earnshaw <rearnsha@arm.com>
10744
10745 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
10746 after backslash.
10747 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
10748
129bd0c4
AO
107492002-01-22 Alexandre Oliva <aoliva@redhat.com>
10750
10751 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
10752
8b9b74a9
RH
107532002-01-22 Richard Henderson <rth@redhat.com>
10754
10755 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
10756 copy_insn not copy_rtx.
10757
d0c9db30
AM
107582002-01-23 Alan Modra <amodra@bigpond.net.au>
10759
10760 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
10761 "nonzero" as that might add "1" bits. Ensure "constop" is
10762 properly sign extened.
10763 (force_to_mode): Tweak for sign extended constop.
10764
1e7e480e
RH
107652002-01-22 Richard Henderson <rth@redhat.com>
10766
10767 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
10768 for_each_rtx instead of assuming we're already looking at the MEM.
10769 (split_small_symbolic_mem_operand): Likewise.
10770 * config/alpha/alpha.h (PREDICATE_CODES): Update.
10771 * config/alpha/alpha.md (small symbolic memory splitters): Update.
10772
107732002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
10774
10775 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
10776 sequence number for the literal.
10777 (divmoddi_internal_er): Likewise.
10778
b7f2fb96
CR
107792002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
10780
10781 PR java/4972
10782 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
10783 in LIBICONV variable.
10784 * configure: Regenerated.
10785
f66a0046
KW
107862002-01-22 Krister Walfridsson <cato@df.lth.se>
10787
10788 * dependence.c (build_def_use): Remove array_idx.
10789
e3b0efd1
KW
10790 * dwarfout.c (last_filename): Remove.
10791 (output_compile_unit_die): Remove last_filename.
10792
d8086cbb
RS
107932002-01-22 Roger Sayle <roger@eyesopen.com>
10794 Richard Henderson <rth@redhat.com>
10795
10796 PR opt/3640
10797 * fold-const.c (fold): Optimize unsigned comparisons against
10798 UINT_MAX (and similar unsigned constants).
10799
e8d52ba0
JJ
108002002-01-22 Janis Johnson <janis187@us.ibm.com>
10801
d8086cbb 10802 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 10803 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 10804 against the predicate.
11303d15 10805
e8d52ba0
JJ
10806 PR target/5379
10807 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
10808 for the address operand.
10809
cc7b420e
RH
108102002-01-22 Richard Henderson <rth@redhat.com>
10811
10812 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
10813
816e265a
CR
108142002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
10815
10816 PR other/5450
cc7b420e
RH
10817 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
10818 preprocessor flags.
816e265a 10819
7c884404
JT
108202002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
10821
10822 * config.gcc (x86_64-*-netbsd*): New target.
10823 * config/i386/netbsd64.h: New file.
10824
2b672c08
AH
108252002-01-22 Aldy Hernandez <aldyh@redhat.com>
10826
d8086cbb 10827 * regrename.c (kill_value): Fix typo.
2b672c08
AH
10828
108292002-01-22 Aldy Hernandez <aldyh@redhat.com>
10830
d8086cbb 10831 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 10832
d8086cbb 10833 * config/rs6000/rs6000.h: Same.
2b672c08 10834
d8086cbb
RS
10835 * function.c (instantiate_virtual_regs): Remove
10836 STARTING_FRAME_PHASE.
10837 (assign_stack_local_1): Same.
10838 Calculate frame phase.
2b672c08 10839
4b02997f
NC
108402002-01-22 Nick Clifton <nickc@redhat.com>
10841
10842 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
10843 variable declaration to outer scope in order to simplify
10844 future extensions.
10845 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
10846 arm_hard_regno_mode_ok.
10847 * config/arm/arm-protos.h: Add a prototype for
10848 arm_hard_regno_mode_ok.
10849 * config/arm/arm.c (soft_df_operand): Remove now redundant
10850 check for DImode values using IP_REGNUM.
10851 (nonimmediate_soft_df_operand): Remove now redundant check for
10852 DImode values using IP_REGNUM.
10853 (arm_hard_regno_mode_ok): New function. New check: make sure
10854 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
10855
10856 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
10857 note with a USE.
10858 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
10859
8a827ab2
JM
108602002-01-22 Jason Merrill <jason@redhat.com>
10861
10862 * c-semantics.c (genrtl_compound_stmt): Only check nesting
10863 consistency if this COMPOUND_STMT is scoped.
10864
cf403648
KH
108652002-01-22 Kazu Hirata <kazu@hxi.com>
10866
10867 * predict.c: Fix formatting.
10868 * print-tree.c: Likewise.
10869 * protoize.c: Likewise.
10870 * real.h: Likewise.
10871 * rtl.h: Likewise.
10872 * sbitmap.h: Likewise.
10873 * scan.c: Likewise.
10874 * sched-deps.c: Likewise.
10875 * sched-vis.c: Likewise.
10876 * sdbout.c: Likewise.
10877 * sibcall.c: Likewise.
10878 * ssa.c: Likewise.
10879 * ssa-ccp.c: Likewise.
10880 * ssa-dce.c: Likewise.
10881 * stmt.c: Likewise.
10882 * stor-layout.c: Likewise.
10883 * system.h: Likewise.
10884
aea9695c
RK
10885Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10886
a8765ae7
RK
10887 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
10888 if fits in bounds of base type.
10889
aea9695c
RK
10890 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
10891 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
10892 (add_bound_info, default): If can't find a context, make a
10893 SAVE_EXPR.
10894 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
10895
58bf601b
HPN
108962002-01-22 Hans-Peter Nilsson <hp@axis.com>
10897
10898 * c-typeck.c (parser_build_binary_op): If result from
10899 build_binary_op is ERROR_MARK just return error_mark_node without
10900 further processing.
10901
f982f805
JT
109022002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
10903
10904 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
10905 Split a.out-specific bits into...
10906 * config/netbsd-aout.h: ...this.
10907 * config/netbsd-elf.h: New file.
10908 * config/alpha/netbsd-elf.h: Remove.
10909 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
10910 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 10911 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
10912 (ENDFILE_SPEC): Likewise.
10913 (LINK_SPEC): Likewise.
10914 (CPP_SPEC): Likewise.
10915 (ASM_SPEC): Likewise.
10916 (LIB_SPEC): Likewise.
10917 (SWITCH_TAKES_ARG): Likewise.
10918 (TARGET_MEM_FUNCTIONS): Likewise.
10919 (CPP_PREDEFINES): Redefine.
10920 (ASM_FINAL_SPEC): Remove redefinition.
10921 (ASM_COMMENT_START): Redefine.
10922 (FUNCTION_PROFILER): Define.
10923 (TARGET_VERSION): Redefine.
10924 Comment and formatting cleanup.
10925 * config/i386/netbsd.h: Include <netbsd-aout.h>.
10926 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
10927 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
10928 big- or little-endian.
10929 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
10930 * config.gcc (*-*-netbsd*): Add definitions common to all
10931 NetBSD configs.
10932 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
10933 gnu_ld definitions. Add netbsd-elf.h to and remove
10934 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
10935 tmake_file, and don't lose previous tmake_file contents.
10936 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
10937 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
10938 gnu_ld definitions. Add netbsd-elf.h to tm_file.
10939 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
10940 (mipsel-*-netbsd*): Rename this to...
10941 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
10942 mips/little.h to tm_file for mips*el-*.
10943 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
10944 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
10945 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
10946
2e396476
JDA
109472002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
10948
10949 * pa-protos.h (reg_before_reload_operand): New function prototype.
10950 * pa.c (reg_before_reload_operand): New function implementation.
10951 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
10952 contraints to "*m".
10953
3b5708e7
FS
109542002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10955
10956 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
10957
85e79f96
JDA
109582002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
10959
10960 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
10961 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
10962 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
10963 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
10964 (ENDFILE_SPEC): Undefine.
10965 (STARTFILE_SPEC): Redefine for PA.
10966
38abadee
FS
109672002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10968
10969 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
10970
94f1d97c
DJ
109712002-01-21 Daniel Jacobowitz <drow@mvista.com>
10972
10973 * config.gcc: Add entries to supported PowerPC --with-cpu
10974 types.
10975
0333394e
JJ
109762002-01-21 Jakub Jelinek <jakub@redhat.com>
10977
10978 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
10979 true for 64-bit mode only SSE registers in 32-bit mode.
10980
e9d1b155
KH
109812002-01-21 Kazu Hirata <kazu@hxi.com>
10982
10983 * unwind-dw2.c: Fix formatting.
10984 * unwind-dw2-fde.c: Likewise.
10985 * unwind-dw2-fde.h: Likewise.
10986 * unwind-pe.h: Likewise.
10987 * varasm.c: Likewise.
10988 * varray.h: Likewise.
10989
07338cf8
HPN
109902002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
10991
10992 Remove workaround for register stack overwrite bug in mmix.
10993 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
10994 support for TARGET_REG_STACK_FILL_BUG.
10995 * config/mmix/mmix.h: Remove member has_call_without_parameters.
10996 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
10997 Delete.
10998 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
10999 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
11000 -mno-reg-stack-fill-bug-workaround.
11001 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
11002 machine member has_call_without_parameters.
11003 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
11004 -mreg-stack-fill-bug-workaround and
11005 -mno-reg-stack-fill-bug-workaround.
11006 (MMIX Options): Ditto.
11007
7192cbf1
KH
110082002-01-21 Kazu Hirata <kazu@hxi.com>
11009
11010 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
11011 as appropriate.
11012 Remove redundant code.
11013
d1552d7b
JM
110142002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
11015
11016 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
11017 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
11018 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
11019 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
11020 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
11021 out target macro definitions and non-target-specific comments
11022 mostly taken from old versions of the manual.
11023
ed168e45
KH
110242002-01-20 Kazu Hirata <kazu@hxi.com>
11025
11026 * config/h8300/h8300.h: Fix comment formatting.
11027 * config/ia64/aix.h: Likewise.
11028 * config/ia64/ia64-protos.h: Likewise.
11029 * config/ia64/ia64.c: Likewise.
11030 * config/ia64/ia64.h: Likewise.
11031 * config/ia64/ia64intrin.h: Likewise.
11032 * config/ia64/linux.h: Likewise.
11033 * config/ia64/unwind-aix.c: Likewise.
11034 * config/ia64/unwind-ia64.c: Likewise.
11035
005e3e05
KH
110362002-01-20 Kazu Hirata <kazu@hxi.com>
11037
11038 * config/h8300/h8300.c: Revise comments about shift code.
11039
64bead4c
KH
110402002-01-20 Kazu Hirata <kazu@hxi.com>
11041
11042 * config/h8300/h8300.c (function_arg): Update a comment.
11043
ed863595
KH
110442002-01-20 Kazu Hirata <kazu@hxi.com>
11045
11046 * config/h8300/h8300.md: Update the comments at the beginning
11047 of the file.
11048
5904dc87
KH
110492002-01-20 Kazu Hirata <kazu@hxi.com>
11050
11051 * config/i370/i370.c: Fix comment formatting.
11052 * config/i370/i370.h: Likewise.
11053 * config/i370/i370.md: Likewise.
11054 * config/i370/linux.h: Likewise.
11055
9702143f
RK
11056Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11057
cbafacd1
RK
11058 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
11059
9702143f
RK
11060 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
11061 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
11062 in incomplete case.
11063
6b6996b8
GS
110642002-01-20 Graham Stott <grahams@redhat.com>
11065
11066 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
11067
eab854f6
JDA
110682002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
11069
11070 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
11071
5b029315
TR
110722002-01-19 Tom Rix <trix@redhat.com>
11073
11074 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
11075
1d690052
AH
110762002-01-18 Aldy Hernandez <aldyh@redhat.com>
11077
d8086cbb 11078 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 11079
d8086cbb
RS
11080 * function.c (assign_stack_local_1): Adjust x_frame_offset with
11081 STARTING_FRAME_PHASE.
11082 (STARTING_FRAME_PHASE): New.
11083 (instantiate_virtual_regs): Check saneness of
11084 STARTING_FRAME_PHASE.
1d690052 11085
d8086cbb 11086 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 11087
4dd8c093
AO
110882002-01-19 Alexandre Oliva <aoliva@redhat.com>
11089
11090 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
11091
6f2a28d7
CR
110922002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
11093
11094 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
11095 be used for bootstrapping GCC 3.0.
11096
8763a465
KH
110972002-01-18 Kazu Hirata <kazu@hxi.com>
11098
11099 * config/h8300/h8300.md: Fix an insn length.
11100
3ef42a0c
KH
111012002-01-18 Kazu Hirata <kazu@hxi.com>
11102
11103 * bitmap.h: Fix comment formatting.
11104 * combine.c: Likewise.
11105 * cppfiles.c: Likewise.
11106 * c-pragma.h: Likewise.
11107 * c-typeck.c: Likewise.
11108 * df.c: Likewise.
11109 * dwarf2out.c: Likewise.
11110 * function.c: Likewise.
11111 * gcc.c: Likewise.
11112 * genattrtab.c: Likewise.
11113 * gthr-win32.h: Likewise.
11114 * haifa-sched.c: Likewise.
11115 * predict.c: Likewise.
11116 * rtlanal.c: Likewise.
11117 * rtl.h: Likewise.
11118 * unwind-dw2-fde.h: Likewise.
11119 * unwind-pe.h: Likewise.
11120 * vmsdbgout.c: Likewise.
11121
dd4dc3cd
RK
11122Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11123
11124 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
11125 if type_required and passed decl.
11126
5fb4cf24
AH
111272002-01-17 Aldy Hernandez <aldyh@redhat.com>
11128
d8086cbb
RS
11129 * config.gcc (cpu_type): Include altivec.h in powerpc
11130 extra_headers.
11131 Same for darwin.
5fb4cf24 11132
d8086cbb 11133 * config/rs6000/altivec.h: New.
5fb4cf24 11134
2705baf5
DE
111352002-01-17 David Edelsohn <edelsohn@gnu.org>
11136
11137 * doc/install.texi (*-ibm-aix*): Update assembler and exception
11138 handling information.
11139 * doc/trouble.texi (Interoperation): Add libstdc++ information
11140 for AIX.
11141 (Misunderstandings): Add template instantiation and static template
11142 member information for AIX.
11143
dbd680e1
JM
111442002-01-17 Jason Merrill <jason@redhat.com>
11145
821adc5e
JM
11146 * dbxout.c (dbxout_type): Support const and volatile.
11147
dbd680e1
JM
11148 * except.c (add_partial_entry): Remove backwards compatibility code.
11149 (end_protect_partials): Likewise.
11150
d0e82870
JJ
111512002-01-17 Jakub Jelinek <jakub@redhat.com>
11152
11153 * config/ia64/ia64.md (prologue_use): New.
11154 * config/ia64/ia64.c (ia64_expand_prologue): Use
11155 gen_prologue_use instead of gen_rtx_USE.
11156 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
11157 as CODE_FOR_pred_rel_mutex.
11158 (ia64_sched_reorder2): Likewise.
11159
f9f45c65
EC
111602002-01-16 Eric Christopher <echristo@redhat.com>
11161
11162 * config/mips/r3900.h: Reformat.
11163 (SUBTARGET_CPP_SIZE_SPEC): Remove.
11164 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
11165 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
11166 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
11167 * config/mips/t-elf: Remove mips3 multilib.
11168
c66c8b0e
L
111692002-01-16 H.J. Lu <hjl@gnu.org>
11170
11171 * config/mips/linux.h: Include "mips/abi64.h".
11172
5f083b72
L
111732002-01-16 H.J. Lu <hjl@gnu.org>
11174
11175 * config/mips/t-linux: New.
11176
11177 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
11178
11179 * config/mips/linux.h: Don't include "gofast.h".
11180 (INIT_SUBTARGET_OPTABS): Removed.
11181
af3c90a6
KH
111822002-01-16 Kazu Hirata <kazu@hxi.com>
11183
11184 * config/h8300/h8300-protos.h: Replace emit_a_shift with
11185 output_a_shift.
11186 * config/h8300/h8300.c: Likewise.
11187 * config/h8300/h8300.md: Likewise.
11188
a1bf0a16
KH
111892002-01-16 Kazu Hirata <kazu@hxi.com>
11190
11191 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
11192 spaces after an opcode name.
11193 (pushqi1_h8300hs): Likewise.
11194 (pushhi1_h8300hs): Likewise.
11195
88ab0d1c
KH
111962002-01-16 Kazu Hirata <kazu@hxi.com>
11197
11198 * doc/extend.texi: Replace "option" with "attribute"
11199 appropriately.
11200
51c561e3
JJ
112012002-01-16 Jakub Jelinek <jakub@redhat.com>
11202
11203 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
11204 (and:DI () (const_int -8)).
11205 (split_small_symbolic_mem_operand): Split
11206 (mem (and:DI () (const_int -8)).
11207
b8c1a6b8
JJ
112082002-01-16 Jakub Jelinek <jakub@redhat.com>
11209
11210 PR target/5309:
d8086cbb 11211 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
11212 same way as TYPE_IMUL.
11213 (ultrasparc_sched_reorder): Likewise.
11214 * config/sparc/sparc.md (type): Add comment to update
11215 ultrasparc_sched_reorder when making changes.
11216
1e4e4df2
KH
112172002-01-16 Kazu Hirata <kazu@hxi.com>
11218
11219 * doc/invoke.texi: Change the dump file name of block
11220 reordering pass from 28.bbro to 29.bbro.
11221 Mention -dk option.
11222
14d920c0
JH
11223Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
11224
11225 * i386.md (minsf splitter): Fix pasto.
11226
2e99323f
NC
112272002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
11228
11229 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
11230 to frame pointer initialisation instruction.
11231 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
11232 initialisation instruction.
ab8081c1
NC
11233 (soft_df_operand): Do not accept the IP register.
11234 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 11235
c4031a04
JJ
112362002-01-16 Jakub Jelinek <jakub@redhat.com>
11237
11238 PR target/5357:
11239 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
11240 MASK_V8 being both set.
11241
44b8152b
UW
112422002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
11243
11244 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
11245 insn for GOT register; add REG_MAYBE_DEAD notes instead.
11246 config/s390/s390.md (call, call_value): Add GOT register to
11247 CALL_INSN_FUNCTION_USAGE where needed.
11248 (call_exp, call_value_exp): New.
11249
1d6e90ac
NC
112502002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
11251
11252 * config/arm/arm.c: General formatting tidy up.
11253
112542002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
11255
11256 * calls.c (try_to_integrate): Use "(size_t)" intermediate
11257 cast and when casting an integer literal to "rtx" pointer.
11258 (expand_call): Likewise.
11259 * flow.c (try_pre_increment): Likewise.
11260 (find_use_as_address): Likewise.
11261 * integrate.c (expand_iline_function): Likewise.
11262 * regmove.c (try_auto_increment): Likewise.
11263
1d6e90ac 112642002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
11265
11266 * sched-rgn.c (passed): Use sbitmap_free.
11267 (header): Likewise.
11268 (inner): Likewise.
11269 (in_queue): Likewise.
11270 (in_stack): Likewise.
11271
31fce3c4
EC
112722002-01-15 Eric Christopher <echristo@redhat.com>
11273
11274 * flow.c (propagate_one_insn): Change to use fatal_insn.
11275
c99d986a
KH
112762002-01-15 Kazu Hirata <kazu@hxi.com>
11277
11278 * expmed.c (extract_fixed_bit_field): Remove unused code.
11279 * system.h: Poison SLOW_ZERO_EXTEND.
11280 * doc/tm.texi: Remove.
11281 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
11282 * config/arm/arm.h: Likewise.
11283 * config/avr/avr.h: Likewise.
11284 * config/clipper/clipper.h: Likewise.
11285 * config/convex/convex.h: Likewise.
11286 * config/d30v/d30v.h: Likewise.
11287 * config/dsp16xx/dsp16xx.h: Likewise.
11288 * config/elxsi/elxsi.h: Likewise.
11289 * config/fr30/fr30.h: Likewise.
11290 * config/h8300/h8300.h: Likewise.
11291 * config/i370/i370.h: Likewise.
11292 * config/i386/i386.h: Likewise.
11293 * config/m68k/m68k.h: Likewise.
11294 * config/mips/mips.h: Likewise.
11295 * config/ns32k/ns32k.h: Likewise.
11296 * config/pdp11/pdp11.h: Likewise.
11297 * config/pj/pj.h: Likewise.
11298 * config/s390/s390.h: Likewise.
11299 * config/sh/sh.h: Likewise.
11300 * config/stormy16/stormy16.h: Likewise.
11301 * config/v850/v850.h: Likewise.
11302 * config/vax/vax.h: Likewise.
11303 * config/we32k/we32k.h: Likewise.
11304
acfab996
AH
113052002-01-15 Aldy Hernandez <aldyh@redhat.com>
11306
d8086cbb
RS
11307 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
11308 (altivec_lvsl): Change constraint to b.
11309 (altivec_lvsr): Same.
11310 (altivec_lvebx): Same.
11311 (altivec_lvehx): Same.
11312 (altivec_lvewx): Same.
11313 (altivec_lvxl): Same.
11314 (altivec_lvx): Same.
11315 (altivec_stvx): Add parallel.
11316 (altivec_stvxl): Same.
11317 (altivec_stvehx): Same.
11318 (altivec_stvebx): Same.
11319 (altivec_stvebx): Same.
acfab996 11320
5e505bc9
AH
113212002-01-15 Aldy Hernandez <aldyh@redhat.com>
11322
d8086cbb 11323 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 11324
d8086cbb 11325 * config/rs6000/altivec.h: Delete.
5e505bc9 11326
d8086cbb 11327 * config/rs6000/altivec-defs.h: Add.
5e505bc9 11328
5c41fdfb
JDA
113292002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
11330
11331 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
11332 and UMOD modes.
11333
11334 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
11335 less than or equal to eight bytes.
11336
11337 * vax.md (andsi3): Remove constraints and change SET destination
11338 operand type to nonimmediate_operand.
11339 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
11340 when it is a CONST_INT.
11341
de097a2d
JM
113422002-01-15 Jason Merrill <jason@redhat.com>
11343
11344 * c-common.def (FILE_STMT): New code.
11345 * c-common.c (statement_code_p): It's a statement.
11346 * c-common.h (stmt_tree_s): Add x_last_filename.
11347 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
11348 (last_expr_filename): New macro.
11349 * c-semantics.c (begin_stmt_tree): Initialize it.
11350 (add_stmt): If the filename changed, also insert a
11351 FILE_STMT.
11352 (expand_stmt): Handle seeing one.
11353
4a913dd6
EC
113542002-01-15 Eric Christopher <echristo@redhat.com>
11355
11356 * flow.c (propagate_one_insn): Add error message and print out
11357 insn for debugging.
11358
006946e4
JM
113592002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
11360
11361 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
11362 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
11363 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
11364 TRAMPOLINE_ALIGNMENT.
11365 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
11366 to be in bits.
11367 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
11368 PCC_BITFIELD_TYPE_MATTERS.
11369 * config/interix.h (STDC_VALUE): Remove. Use
11370 STDC_0_IN_SYSTEM_HEADERS.
11371 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
11372 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
11373 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
11374
751a1458
CR
113752002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
11376
11377 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
11378 not work on this platform currently.
11379
57771fe8
JM
113802002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
11381
11382 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
11383 readonly_warning in _().
11384
0e83ceb1 113852002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 11386
0e83ceb1 11387 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 11388
8e2e89f7
KH
113892002-01-15 Kazu Hirata <kazu@hxi.com>
11390
0e83ceb1
DR
11391 * config/h8300/h8300.c (print_operand): Remove support for
11392 unused operand characters.
11393
8e2e89f7
KH
11394 * read-rtl.c: Fix formatting.
11395 * real.c: Likewise.
11396 * recog.c: Likewise.
11397 * regclass.c: Likewise.
11398 * regmove.c: Likewise.
11399 * reg-stack.c: Likewise.
11400 * reload1.c: Likewise.
11401 * rtlanal.c: Likewise.
11402
b531087a
KH
114032002-01-15 Kazu Hirata <kazu@hxi.com>
11404
11405 * config/i386/i386.c: Fix formatting.
11406
7c94ce7f
JJ
114072002-01-15 Jakub Jelinek <jakub@redhat.com>
11408
11409 * c-typeck.c (process_init_element): Don't save_expr
11410 COMPOUND_LITERAL_EXPR if just its initializer will be used.
11411
6041bf2f
DE
114122002-01-15 David Edelsohn <edelsohn@gnu.org>
11413
11414 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
11415 emit optional traceback table if optimize_size or TARGET_ELF.
11416 * config/rs6000/rs6000.md (prefetch): New.
11417
8559c8c0
AJ
114182002-01-15 Andreas Jaeger <aj@suse.de>
11419
11420 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
11421
70f122f2
KH
114222002-01-15 Kazu Hirata <kazu@hxi.com>
11423
11424 * mips-tfile.c: Fix formatting.
11425
6a7b4ca6
JH
11426Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
11427
11428 * unroll.c (final_reg_note_copy): Fix previous commit.
11429
e7afe229
KH
114302002-01-14 Kazu Hirata <kazu@hxi.com>
11431
11432 * config/h8300/h8300-protos.h: Remove the prototype for
11433 eq_operator.
11434 * config/h8300/h8300.c (eq_operator): Remove.
11435
7d378549
RH
114362002-01-14 Richard Henderson <rth@redhat.com>
11437
11438 * config/i386/i386.md (prefetch): Tidy.
11439 (prefetch_3dnow): Fix locality operand.
11440
ab093b81
RH
114412002-01-14 Richard Henderson <rth@redhat.com>
11442
11443 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
11444 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
11445
d300f51f
HPN
114462002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
11447
11448 * reload1.c (reload_combine): Pass reg_sum replacement through
11449 copy_rtx in loop performing multiple changes.
11450
655dd289
JJ
114512002-01-14 Jakub Jelinek <jakub@redhat.com>
11452
11453 * except.c (remove_unreachable_regions): New.
11454 (free_eh_status): Clear exception_handler_labels.
11455 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
11456 (find_exception_handler_labels): Don't add the same label more than
11457 once.
11458 (remove_exception_handler_label): Don't die if
11459 find_exception_handler_labels hasn't been called for the current
11460 function yet.
11461
1fba46a7
JH
11462Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
11463
11464 * toplev.c (rest_of_compilation): Rebuild jump labels after
11465 gcse.
11466
0975678f
JM
114672002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
11468
11469 * doc/extend.texi: Move documentation of X86 built-in functions
11470 here.
11471 * doc/invoke.texi: From here.
11472 * doc/sourcebuild.texi: Document location of documentation for
11473 machine built-in functions.
11474
969815c7
CF
114752002-01-13 Christopher Faylor <cgf@redhat.com>
11476
11477 * cppfiles.c (TEST_THRESHOLD): New macro.
11478 (SHOULD_MMAP): Ditto.
11479 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
11480 be used.
11481
494c950b
JH
11482Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
11483
11484 * unroll.c (final_reg_note_copy): Properly handle
11485 REG_LABEL
11486 (unroll_loops): Fix LOOP_CONDITION heuristics.
11487
69a0611f
GK
114882002-01-14 Geoffrey Keating <geoffk@redhat.com>
11489
11490 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
11491 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
11492
b90e45ae
JH
11493Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
11494
11495 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
11496 threaded loop.
11497
8377288b
TR
114982002-01-14 Tom Rix <trix@redhat.com>
11499
11500 * config/rs6000/rs6000.md: Fix typo with sradi.
11501
9f37ccb1
UW
115022002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
11503
11504 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
11505 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
11506 (clrstrdi, clrstrsi): Adapt callers.
11507
11508 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
11509
8559c8c0 11510 (movti splitter): Never use register 0 as base register.
9f37ccb1 11511
6c2d03d0
HP
115122002-01-14 Hartmut Penner <hpenner@de.ibm.com>
11513
8559c8c0
AJ
11514 * combine.c (simplify_shift_const): Always generate new rtx
11515 for shift expression instead of reusing given expression.
6c2d03d0 11516
d3e98208
RK
11517Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11518
11519 * config/alpha/alpha.c (alpha_expand_mov): Don't call
11520 alpha_legitimize_address unless mode is Pmode.
11521
9f339dde
GK
115222002-01-13 Geoffrey Keating <geoffk@redhat.com>
11523
11524 * doc/md.texi (Modifiers): Document the '*' constraint for the
11525 user.
11526
11527 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
11528 * doc/extend.texi (Function Attributes): 'interrupt' is valid
11529 for xstormy16 too.
11530
02a10130
RH
115312002-01-13 Richard Henderson <rth@redhat.com>
11532
11533 * reload.c (find_reloads): Use a hard reg destination as reload reg
11534 for an input reload of the source.
11535
61d47787
GP
115362002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11537
11538 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
11539 more generic.
11540
f0df8029
DR
11541Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
11542
11543 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
11544 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
11545
d2a37256
DR
11546 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
11547
a9e8a5ee
RK
11548Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11549
11550 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
11551
bc06712d
TR
115522002-01-12 Tom Rix <trix@redhat.com>
11553
8559c8c0 11554 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
11555 TARGET_POWERPC64.
11556
7cbe9bb7
RH
115572002-01-12 Richard Henderson <rth@redhat.com>
11558
38b29e64
RH
11559 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
11560
58605ba0
RH
11561 * doc/invoke.texi: Update Alpha options.
11562
7cbe9bb7
RH
11563 * doc/invoke.texi: Update i386 built-in function lists.
11564
9d560860
JH
11565Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
11566
11567 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
11568 referencing outside.
11569
bb93b973
RK
11570Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11571
11572 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
11573 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
11574 offsets, and change line folding.
11575 * optabs.c (expand_binop): Remove warnings.
11576 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 11577
f9f6b7df
GS
115782002-01-12 Graham Stott <grahams@redhat.com>
11579
11580 * attribs.c (handle_deprecated_attribute): constify WHAT.
11581 * diagnostic.c (warn_deprecated_use): Add braces, fixes
11582 dangling else warning and constify WHAT.
11583 * except.h (struct function, struct inline_remap): Move
11584 struct tag forward defs before all prototypes.
11585 (duplicate_eh_regions): Whitespace.
11586
4a692617
NC
115872002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
11588
11589 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
11590 MODE_BASE_REG_CLASS.
11591 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
11592
e37af218
RH
115932002-01-12 Richard Henderson <rth@redhat.com>
11594
11595 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
11596 (ix86_expand_vector_move): New.
11597 (bdesc_2arg): Remove andps, andnps, orps, xorps.
11598 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
11599 Remove old prefetch builtins. Special case the logicals removed above.
11600 (ix86_expand_builtin): Likewise.
11601 (safe_vector_operand): Use V4SFmode, not TImode.
11602 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
11603 (ix86_expand_timode_binop_builtin): New.
11604 * config/i386/i386-protos.h: Update.
11605 * config/i386/i386.h (enum ix86_builtins): Update.
11606 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
11607 Use ix86_expand_vector_move in vector move expanders.
11608 (movti_internal, movti_rex64): Add xorps alternative.
11609 (sse_clrv4sf): Rename and adjust from sse_clrti.
11610 (prefetch): Don't work so hard.
11611 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
11612 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
11613 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
11614
6f1a6c5b
RH
116152002-01-11 Richard Henderson <rth@redhat.com>
11616
11617 * config/i386/mmintrin.h: New file.
11618 * config/i386/xmmintrin.h: New file.
11619 * config.gcc (i?86-*-*): Add extra_headers.
11620 * simplify-rtx.c (simplify_unary_operation): Handle saturating
11621 truncation codes.
11622 (simplify_binary_operation): Handle saturating arithmetic codes.
11623 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
11624 not the lowpart subreg.
11625 (ix86_expand_builtin): Return a TImode dummy register instead of 0
11626 on error.
11627 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
11628
cdb574d3
MH
116292002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
11630
11631 * conflict.c (conflict_graph_compute): Free regsets when finished.
11632 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 11633
cf11ac55
HB
116342002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11635
11636 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
11637 every where we allocate a register.
11638
76ac938b
MH
116392002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
11640
11641 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
11642 * lcm.c (compute_earliest, compute_farthest): Likewise.
11643
a84b4898
JJ
116442002-01-11 Janis Johnson <janis187@us.ibm.com>
11645
11646 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
11647
aaef1c12
JJ
116482002-01-11 Janis Johnson <janis187@us.ibm.com>
11649
11650 * doc/rtl.texi (Insns): Fix 2 typos.
11651
5d22c1a5
JM
116522002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
11653
11654 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
11655 options. Use @table @gcctabopt for MMIX options. Add index
11656 entries for MMIX options. Start new paragraph with first
11657 heading of the machine-dependent options.
11658
3e92902c
CR
116592002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
11660
11661 PR other/5299
11662 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
11663 * combine.c (force_to_mode): Same.
11664 * reload1.c (clear_reload_reg_in_use): Same.
11665
96ae8197
NC
116662002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
11667
11668 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
11669 and 'subtargets'.
11670
9b780582
AJ
116712002-01-11 Andreas Jaeger <aj@suse.de>,
11672 Brad Lucier <lucier@math.purdue.edu>
11673
11674 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
11675 mcpu.
11676
12300dad
DR
11677Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
11678
11679 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
11680 Protect with IN_LIBGCC.
11681 (LINK_EH_SPEC): Add required trailing space.
11682
27511a9a
NP
11683Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
11684
9b780582 11685 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
11686 under the filename which contains them.
11687 (check_identifier, finish_decl_top_level,
11688 lookup_name_current_level_global, shadow_record_fields): Remove.
11689
4daeab16
AJ
116902002-01-11 Andreas Jaeger <aj@suse.de>
11691
11692 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
11693 march.
11694
40571d67
RH
116952002-01-10 Richard Henderson <rth@redhat.com>
11696
11697 * config/alpha/alpha.c (print_operand): Add 'J'.
11698 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
11699 new operand with the sequence number for the lituse. When splitting
11700 the insns, use gen_movdi_er_high_g and generate a sequence number.
11701 (gen_movdi_er_high_g): Print the sequence number if non-zero.
11702
6525c0e7
AH
117032002-01-10 Aldy Hernandez <aldyh@redhat.com>
11704
d8086cbb
RS
11705 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
11706 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
11707 stvxl.
11708 (altivec_expand_builtin): Same.
11709 (altivec_expand_stv_builtin): New.
11710
11711 * config/rs6000/rs6000.h (rs6000_builtins): Same.
11712
11713 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
11714 ("altivec_lvehx"): New.
11715 ("altivec_lvewx"): New.
11716 ("altivec_lvxl"): New.
11717 ("altivec_lvx"): New.
11718 ("altivec_stvx"): New.
11719 ("altivec_stvebx"): New.
11720 ("altivec_stvehx"): New.
11721 ("altivec_stvewx"): New.
11722 ("altivec_stvxl"): New.
6525c0e7 11723
cda94cbb
RH
117242002-01-10 Richard Henderson <rth@redhat.com>
11725
11726 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
11727 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
11728 care not to delete instructions twice.
11729
df2c9a44
ZW
117302002-01-10 Zack Weinberg <zack@codesourcery.com>
11731
11732 * toplev.c: Don't declare environ (it's not used anywhere).
11733 * configure.in: Don't check for declaration of environ.
11734 * config/i386/xm-mingw32.h: Don't #define environ.
11735 * config.in, configure: Regenerate.
11736
5dd8a9b1
ZW
117372002-01-10 Zack Weinberg <zack@codesourcery.com>
11738
11739 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
11740 * configure: Regenerate.
11741
11742 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
11743 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
11744 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
11745 alpha/xm-vms.h.
11746 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
11747 LIMITS_H_TEST here, not in m68k/x-next.
11748 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
11749 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
11750
11751 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
11752 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
11753 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
11754
11755 * config/i386/x-djgpp: Renamed i386/t-djgpp.
11756 * config/m88k/x-dolph: Renamed m88k/t-dolph.
11757 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
11758 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
11759 replacement of quadlib.asm with quadlib.c.
11760
11761 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
11762 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
11763 config/rs6000/xm-beos.h: Delete file.
11764
11765 * config.gcc: Update to match above changes.
11766
d10dd44c
KH
117672002-01-10 Kazu Hirata <kazu@hxi.com>
11768
11769 * config/h8300/h8300.h: Fix comment typos.
11770 * config/h8300/h8300.md: Likewise.
11771 * config/h8300/lib1funcs.asm: Likewise.
11772
04894c5a
DJ
117732002-01-10 Dale Johannesen <dalej@apple.com>
11774
11775 PR optimization/5269
11776 * unroll.c (precondition_loop_p): Make *increment be the correct
11777 sign when n_iterations known, to avoid confusing caller.
11778
adc9fe67
KH
117792002-01-10 Kazu Hirata <kazu@hxi.com>
11780
11781 * doc/extend.texi (deprecated): Fix a typo.
11782
b446e5a2
JH
11783Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
11784
11785 * basic-block.h (update_br_prob_note): Declare.
11786 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
11787 (try_forward_edges): Care negative frequencies and update note.
11788 (outgoing_edges_match): Tweek conditional merging heuristics.
11789 (try_crossjump_to_edge): use update_br_prob_note.
11790 * cfglayout.c (fixup_reorder_chain): Likewise.
11791 * cfrtl.c (update_br_prob_note): New.
11792 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
11793
11794 * i386.c (ix86_decompose_address): Return -1 if address contains
11795 shift.
11796 (legitimate_address_p): Require ix86_decompose_address to return 1.
11797
11798 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
11799 (cprop_insn): Likewise.
11800
a01da83b
KH
118012002-01-10 Kazu Hirata <kazu@hxi.com>
11802
11803 * toplev.c: Fix formatting.
11804 * tree.c: Likewise.
11805 * tree-dump.c: Likewise.
11806 * unroll.c: Likewise.
11807 * unwind-dw2.c: Likewise.
11808 * unwind-dw2-fde.c: Likewise.
11809 * unwind-dw2-fde-glibc.c: Likewise.
11810 * unwind-sjlj.c: Likewise.
11811
9f85bca7
JM
118122002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
11813
11814 * doc/invoke.texi: Document PDP-11 options.
11815
f48f56b1
KH
118162002-01-10 Kazu Hirata <kazu@hxi.com>
11817
11818 * config/h8300/h8300.h: Fix formatting.
11819
ead39bdf 118202002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
11821
11822 Add __attribute__ ((deprecated)).
11823 * extend.texi: Document __attribute__ ((deprecated)).
11824 * invoke.texi: Document -Wno-deprecated-declarations.
11825 * testsuite/g++.dg/other/deprecated.C: New C++ test.
11826 * testsuite/gcc.dg/deprecated.c: New C test.
11827 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
11828 (c_common_attribute_table): Add "deprecated" entry.
11829 (handle_deprecated_attribute): New function.
11830 * c-decl.c (deprecated_states): New enum.
11831 deprecated_state: State of "deprecated" handling.
11832 (start_decl): Set deprecated_state based on attributes.
11833 (grokdeclarator): Test for deprecated uses, propagate attribute.
11834 * c-typeck.c (build_component_ref): Test for deprecated fields.
11835 (build_external_ref): Test for deprecated primaries.
11836 * diagnostic.c (warn_deprecated_use) New function to issue
11837 warnings about __attribute__ ((depricated)) references.
11838 * flags.h (warn_deprecated_decl): Extern declared for
11839 -W[no-]deprecated-declarations option.
11840 * print-tree.c (print_node): Show deprecated flag status.
11841 * toplev.c (warn_deprecated_decl): Defined.
11842 (W_options): Added "deprecated-declaration".
11843 * toplev.h (warn_deprecated_use): Extern declared.
11844 * tree.h (struct tree_common): Define deprecated_flag.
11845 (TREE_DEPRECATED): New macro to access flag.
11846 * cp/call.c (build_call): Test for deprecated calls.
11847 * cp/class.c (add_implicitly_declared_members): Set global
11848 flag to tell grokdeclarator to not issue deprecated warnings.
11849 * cp/cp-tree.h: Add extern for adding_implicit_members.
11850 * cp/decl.c (deprecated_states): New enum.
11851 (start_decl): Set deprecated_state based on attributes.
11852 (grokdeclarator): Test for deprecated uses, propagate attribute.
11853 * cp/lex.c (do_identifier): Test for deprecated primaries.
11854 * cp/typeck.c (build_component_ref): Test for deprecated fields.
11855
ead39bdf 118562002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
11857
11858 Fix to assign attributes to inline member functions.
11859 * cp/decl.c (start_method): Handle attrlist.
11860
47073a38
KH
118612002-01-10 Kazu Hirata <kazu@hxi.com>
11862
11863 * combine.c (expand_field_assignment): Use subreg_lsb().
11864
d288e53d
DE
118652002-01-10 David Edelsohn <edelsohn@gnu.org>
11866
11867 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
11868 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
11869 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
11870 Recurse for any operand of AND as long as constant is non-zero.
11871
08a02ffa
KH
118722002-01-10 Kazu Hirata <kazu@hxi.com>
11873
11874 * config/h8300/h8300.md: Remove constraints from expanders.
11875
c203e7fe
KH
118762002-01-10 Kazu Hirata <kazu@hxi.com>
11877
11878 * varasm.c: Fix formatting.
11879 * varray.c: Likewise.
11880 * vmsdbgout.c: Likewise.
11881 * xcoffout.c: Likewise.
11882
bcb3bc6d
JH
11883Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
11884
11885 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 11886 update edge probabilities to match.
bcb3bc6d 11887
0a553c7e
JM
118882002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
11889
11890 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
11891 dependencies.
11892 * doc/languages.texi, doc/sourcebuild.texi: New files.
11893 * doc/configfiles.texi: Make a subsubsection. Update.
11894 * doc/configterms.texi: Add @node. Remove warning that this isn't
11895 instructions for building GCC.
11896 * doc/makefile.texi: Make a subsection.
11897 * doc/gccint.texi: Update.
11898
adc7fcb8
JH
11899Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
11900
11901 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
11902
5a4dd0b3
NP
11903Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
11904
11905 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
11906
3987b9db
JH
11907Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
11908
11909 * optabs.c (expand_fix): Look for wider integer modes first.
11910
11911 * i386.md (mov?f): Avoid the fake const double trick for medium
11912 memory model.
11913 (min?f*/max?f*): Prohibit memory operands for i387 variant.
11914 (fop_df_4): Disable for SSE compilation.
11915
ceb15948 119162002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
11917
11918 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 11919 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 11920
e1623399
RH
119212002-01-10 Richard Henderson <rth@redhat.com>
11922
11923 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
11924
c4abb293
RH
119252002-01-10 Richard Henderson <rth@redhat.com>
11926
11927 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
11928 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
11929
d2604ae9
KH
119302002-01-10 Kazu Hirata <kazu@hxi.com>
11931
11932 * combine.c (can_combine_p): Fix a comment typo.
11933
766c7ad1
ZW
119342002-01-09 Zack Weinberg <zack@codesourcery.com>
11935
11936 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
11937 empty list correctly. Change loop index $t to $f for
11938 consistency with rest of Makefile.
11939
95385cbb
AH
119402002-01-08 Aldy Hernandez <aldyh@redhat.com>
11941
11942 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
11943 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
11944
11945 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
11946 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
11947 (altivec_init_builtins): Same.
11948 (altivec_expand_unop_builtin): Return NULL_RTX on error.
11949 (altivec_expand_binop_builtin): Same.
11950 (altivec_expand_ternop_builtin): Same.
11951 (bdesc_dst): New.
11952
11953 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
11954 ("altivec_vctuxs"): Fix typo.
11955 ("altivec_vnmsubfp"): Same.
11956 ("altivec_dssall"): New.
11957 ("altivec_mfvscr"): New.
11958 ("altivec_dss"): New.
11959 ("altivec_lvsl"): New.
11960 ("altivec_lvsr"): New.
11961 ("altivec_dstt"): New.
11962 ("altivec_dstst"): New.
11963 ("altivec_dststt"): New.
11964 ("altivec_dst"): New.
11965
11966 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
11967 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
11968
e4ac76b4
RH
119692002-01-09 Richard Henderson <rth@redhat.com>
11970
11971 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
11972
c893e4a4
HPN
119732002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
11974
11975 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
11976 function.
11977 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
11978 prototype.
7387c700 11979 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 11980
f4f4d0f8
KH
119812002-01-09 Kazu Hirata <kazu@hxi.com>
11982
11983 * read-rtl.c: Fix formatting.
11984 * real.c: Likewise.
11985 * regclass.c: Likewise.
11986 * regrename.c: Likewise.
11987 * reg-stack.c: Likewise.
11988 * reload1.c: Likewise.
11989 * reload.c: Likewise.
11990 * rtl.c: Likewise.
11991
cc863bea
KH
119922002-01-09 Kazu Hirata <kazu@hxi.com>
11993
11994 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
11995 to extract items in the expr_list chain.
11996
7b4dfe3d
RH
119972002-01-09 Richard Henderson <rth@redhat.com>
11998
11999 * config/vax/vax.c (vax_rtx_cost): Never abort.
12000
1d969638
RH
12001 * config/vax/vax.h (REAL_ARITHMETIC): Define.
12002
7d5ab30e
JH
120032002-01-09 Jan Hubicka <jh@suse.cz>
12004
12005 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
12006
9503f3d1
RH
120072002-01-09 Richard Henderson <rth@redhat.com>
12008
12009 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
12010 Unify code from various alternatives.
12011
42bd17b7
RH
120122002-01-09 Richard Henderson <rth@redhat.com>
12013
12014 * regrename.c (copy_value): Ignore the copy if the source register
12015 is present in the value chain with a narrower mode.
12016
bdca3c33
HB
120172002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12018
cda94cbb
RH
12019 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
12020 for the c4x target. Also improve layout.
bdca3c33 12021
c73a5e94
RH
120222002-01-09 Richard Henderson <rth@redhat.com>
12023
12024 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
12025 * config/m32r/m32r.md (and ior xor splitters): Swap operands
12026 to match insn patterns.
12027
dd0a18c0
RH
120282002-01-09 Richard Henderson <rth@redhat.com>
12029
12030 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
12031 (copyprop_hardreg_forward_1): Likewise.
12032
1fd9ac1e
JDA
120332002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
12034
12035 * pa.md (decrement_and_branch_until_zero): Change predicate for
12036 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
12037
5cb265ec
BM
120382002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
12039
12040 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
12041 gets undefined. For Darwin.
12042
fcd8fa8b
HB
120432002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12044
12045 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
12046
bd3ab23a
MH
120472002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12048
12049 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
12050
21e16bd6
RH
120512002-01-08 Richard Henderson <rth@redhat.com>
12052
12053 * regrename.c (copy_value): Ignore overlapping copies.
12054
a5376276
RH
120552002-01-08 Richard Henderson <rth@redhat.com>
12056
12057 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
12058 as needed to avoid shared structure.
12059
18cf8dda
KH
120602002-01-08 Kazu Hirata <kazu@hxi.com>
12061
12062 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
12063 H8/300H and H8/S.
12064
16c484c7
JM
120652002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
12066
12067 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
12068 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
12069 documentation of obsolete macros.
12070 * system.h: Poison these macros.
12071 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
12072 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
12073 config/c4x/c4x.h, config/clipper/clipper.h,
12074 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
12075 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
12076 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
12077 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
12078 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
12079 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
12080 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
12081 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
12082 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
12083 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
12084 config/sparc/sparc.h, config/stormy16/stormy16.h,
12085 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
12086 definitions and commented out definitions of obsolete macros.
12087 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
12088 of MAX_INT_TYPE_SIZE.
12089
14b3e8ef
UW
120902002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
12091
12092 * config/s390/s390.c (s390_preferred_reload_class): Never
12093 return ADDR_REGS if it isn't a subset of the given class.
12094 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
12095 FP_REGS, but all superclasses as well.
12096
12097 * config/s390/s390.c (s390_function_profiler): Fix thinko.
12098
12099 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
12100 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
12101 must not be a const_int.
12102
a693284d
RH
121032002-01-08 Richard Henderson <rth@redhat.com>
12104
12105 * Makefile.in (toplev.o): Depend on options.h.
12106 (gcc.o): Depend on specs.h.
12107
b3ca30df
JJ
121082002-01-08 Jakub Jelinek <jakub@redhat.com>
12109
12110 * expr.c (store_expr): Convert VOIDmode constants back to target's
12111 mode.
12112
24dbb440
GP
121132002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12114
12115 * doc/invoke.texi: Markup gcc as @command. Refer to
12116 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
12117 of http://gcc.gnu.org/thanks.html.
12118
234e114c
DJ
121192002-01-08 Dale Johannesen <dalej@apple.com>
12120
12121 * config/rs6000/rs6000.md: Add missing int register
12122 target case to movdf_low.
12123
0d24f4d1
ZW
121242002-01-08 Zack Weinberg <zack@codesourcery.com>
12125
12126 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
12127 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
12128 (cppinit.o): Depend on except.h.
12129 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
12130 s-specs): New rules.
12131
12132 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
12133 Don't create specs.h/options.h/gencheck.h here. Remove
12134 unnecessary variable settings from last argument of AC_OUTPUT.
12135 * config.in, configure: Regenerate.
12136 * intl.c: Hardcode package name as "gcc".
12137
12138 * cppinit.c: Include except.h.
12139 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
12140 appropriate.
12141 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
12142 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
12143 (!)USING_SJLJ_EXCEPTIONS.
12144 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
12145
ed722f66
JM
121462002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
12147
12148 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
12149 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
12150 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
12151 documentation of obsolete macros.
12152 * system.h: Poison these macros.
12153 * config/d30v/d30v.h, config/ns32k/encore.h,
12154 config/stormy16/stormy16.h: Remove definitions and commented out
12155 definitions of obsolete macros.
12156
31e5e29a
NP
12157Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
12158
12159 * objc/objc-act.c (handle_class_ref): Mark the declaration of
12160 %sobjc_class_ref_%s as used - to prevent unwanted compiler
12161 warnings.
12162
bc1fa59c
UW
121632002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
12164
12165 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
12166 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
12167 to insn adjusting stack/frame pointer.
0d24f4d1 12168 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
12169 accept operands that cause the insn to be non-splittable.
12170
a8086abf
GS
121712002-01-08 Graham Stott <grahams@redhat.com>
12172
12173 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
12174 (C_TYPE_FIELDS_VOLATILE): Likewise.
12175 (C_TYPE_BEING_DEFINED): Likewise.
12176 (C_IS_RESERVED_WORD): Likewise.
12177 (C_TYPE_VARIABLE_SIZE): Likewise.
12178 (C_DECL_VARIABLE_SIZE): Likewise.
12179 (C_MISSING_PROTOTYPE_WARNED): Likewise.
12180 (C_SET_EXP_ORIGINAL_CODE): Likewise.
12181 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
12182 parenthesis.
12183 (C_DECL_ANTICIPATED): Likewise.
12184 (c_build_type_variant): Add parenthesis.
12185
3f595aa1
JM
121862002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
12187
12188 * gcc.c (option_map): Remove --version.
12189 (process_command): Handle -fversion following the GNU Coding
12190 Standards. Partially addresses PR other/704.
12191
5bc5a8f9
GS
121922002-01-08 Graham Stott <grahams@redhat.com>
12193
12194 * combine.c (combine_instructions): Fix typo.
12195
16ec4ebf
GS
121962002-01-08 Graham Stott <grahams@redhat.com>
12197
12198 * debug.h: Use "tree" and "rtx" throughout.
12199
12200 * debug.c: Likewise.
12201
4b69f385
NC
122022002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
12203
12204 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
12205 constant pool, use the pool's version of the symbol instead.
12206
57d1019b
RH
122072002-01-07 Richard Henderson <rth@redhat.com>
12208
12209 * regrename.c (find_oldest_value_reg): Ignore the value chain if
12210 the original register was copied in a mode with a fewer number of
12211 hard registers than the desired mode.
12212 (copyprop_hardreg_forward_1): Likewise.
12213 (debug_value_data): Fix loop test.
12214 * toplev.c (parse_options_and_default_flags): Reenable
12215 -fcprop-registers at -O1.
12216
122172002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 12218
0d24f4d1
ZW
12219 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
12220 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 12221
0d24f4d1
ZW
12222 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
12223 predicates.
fa066a23 12224
0d24f4d1 12225 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 12226
8f949e7e
JDA
122272002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
12228
12229 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
12230 (pa_output_function_prologue): Output local label at the beginning of
12231 the prologue when profiling.
12232 (hppa_profile_hook): Use the local label rather than the function label.
12233 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
12234
c62f2db5
AH
122352002-01-07 Aldy Hernandez <aldyh@redhat.com>
12236
0d24f4d1
ZW
12237 * config/rs6000/rs6000.c (print_operand): Remove extra space.
12238 (altivec_expand_unop_builtin): Fix thinko.
12239 (altivec_expand_binop_builtin): Same.
12240 (altivec_expand_ternop_builtin): Same.
12241 (altivec_expand_builtin): Same.
c62f2db5 12242
b5235ba7
RH
122432002-01-07 Richard Henderson <rth@redhat.com>
12244
12245 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
12246
7d8ac293
JM
122472002-01-07 Jason Merrill <jason@redhat.com>
12248
12249 * unwind-dw2.c (execute_cfa_program): Use < again.
12250
571a03b8
JJ
122512002-01-07 Jakub Jelinek <jakub@redhat.com>
12252
12253 * predict.c (combine_predictions_for_insn): Avoid division by zero.
12254
2e951384
JJ
122552002-01-07 Jakub Jelinek <jakub@redhat.com>
12256
12257 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
12258 Don't allow -1 - x -> ~x simplifications in the first pass.
12259
20e26713
AH
122602002-01-07 Aldy Hernandez <aldyh@redhat.com>
12261
0d24f4d1
ZW
12262 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
12263 arguments.
12264 (altivec_expand_binop_builtin): Same.
12265 (altivec_expand_unop_builtin): Same.
12266 (print_operand): Fix typo.
12267 (bdesc_1arg): Add vupk* variants.
20e26713 12268
0d24f4d1 12269 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 12270
0d24f4d1 12271 * rs6000.md: Add altivec_vupk* variants.
20e26713 12272
4dd57c18
JM
122732002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
12274
12275 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
12276 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
12277 and last update dates.
12278
0341c5d2
JJ
122792002-01-07 Janis Johnson <janis187@us.ibm.com>
12280
12281 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
12282
c7f3e0b0
MM
122832002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
12284
12285 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
12286 * config/avr/avr.h (CPP_SPEC): Likewise.
12287 (LINK_SPEC): Likewise.
12288 (CRT_BINUTILS_SPECS): Likewise.
12289 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
12290 * doc/invoke.texi (AVR Options): Document them.
12291
6ba4d630
JH
12292Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
12293
12294 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
12295 LABEL_NUSES.
12296
6253d571
GS
122972002-01-07 Graham Stott <grahams@redhat.com>
12298
0d24f4d1
ZW
12299 * config/i386/i386.h: Update copyright date.
12300 (HALF_PIC_PTR): Add parenthesis.
12301 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
12302 (CONSTANT_ALIGNMENT): Add parenthesis.
12303 (DATA_ALIGNMENT): Likewise.
12304 (LOCAL_ALIGNMENT): Likewise.
12305 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
12306 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
12307 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
12308 (HARD_REGNO_NREGS): Add paranethesis.
12309 (VALID_SSE_REG_MODE): Whitespace.
12310 (VALID_MMX_REG_MODE): Whitespace.
12311 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
12312 (ix86_hard_regno_mode_ok): Add parenthesis.
12313 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
12314 (RETURN_IN_MEMORY): Whitespace.
12315 (N_REG_CLASSES): Add parenthesis.
12316 (INTEGER_CLASS_P): Add parenthesis and wrap.
12317 (FLOAT_CLASS_P): Likewise.
12318 (SSE_CLASS_P): Likewise.
12319 (MMX_CLASS_P): Likewise.
12320 (MAYBE_INTEGER_CLASS_P): Likewise.
12321 (MAYBE_FLOAT_CLASS_P): Likewise.
12322 (MAYBE_SSE_CLASS_P): Likewise.
12323 (MAYBE_MMX_CLASS_P): Likewise.
12324 (Q_CLASS_P): Likewise.
12325 (GENERAL_REGNO_P): Uppercase macro parameter.
12326 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
12327 (FP_REGNO_P): Likewise.
12328 (ANY_FP_REGNO_P): Uppercase macro parameter.
12329 (SSE_REGNO_P): Likewise.
12330 (SSE_REGNO): Likewise.
12331 (SSE_REG_P): Likewise.
12332 (SSE_FLOAT_MODE_P): Likewise.
12333 (MMX_REGNO_P): Likewise.
12334 (MMX_REG_P):Likewise.
12335 (STACK_REG_P): Likewise.
12336 (NON_STACK_REG_P): Likewise.
12337 (STACK_TOP_P): Likewise.
12338 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
12339 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
12340 (SECONDARY_MEMORY_NEEDED): Likewise.
12341 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
12342 (MD_ASM_CLOBBERS): Whitespace and wrap.
12343 (MUST_PASS_IN_STACK): Whitespace and wrap.
12344 (RETURN_POPS_ARGS): Add parenthesis.
12345 (INIT_CUMULATIVE_ARGS): Likewise.
12346 (FUNCTION_ARG): Likewise.
12347 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
12348 (SETUP_INCOMING_VARARGS): Likewise.
12349 (BUILD_VA_LIST_TYPE): Add parenthesis.
12350 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
12351 parenthsis.
12352 (EXPAND_BUILTIN_VA_ARG): Likewise.
12353 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
12354 (INITIALIZE_TRAMPOLINE): Add parenthesis.
12355 (INITIAL_ELIMINATION_OFFSET): Likewise.
12356 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
12357 (REGNO_OK_FOR_BASE_P): Likewise.
12358 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
12359 (REGNO_OK_FOR_DIREG_P): Likewise.
12360 (REG_OK_FOR_INDEX_P): Whitespace.
12361 (REG_OK_FOR_BASE_P): Whitespace.
12362 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
12363 parenthesis.
12364 (FIND_BASE_TERM): Fix typo.
12365 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
12366 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
12367 (SYMBOLIC_CONST; Whitespace.
12368 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
12369 (ENCODE_SECTION_INFO): Whitespace.
12370 (FINALIZE_PIC): Remove do { ... } while (0).
12371 (PROMOTE_MODE): Wrap in do { ... } while (0).
12372 (CONST_COSTS): Whitespace.
12373 (RTX_COSTS): Add paramethesis, whitespace and wrap.
12374 (REGISTER_MOVE_COST): Add parenthesis.
12375 (MEMORY_MOVE_COST): Likewise.
12376 (EXTRA_CC_MODES): Whitespace.
12377 (SELECT_CC_MODE): Add parenthesis and whitespace.
12378 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
12379 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
12380 (ASM_OUTPUT_LABEL): Add paramethesis.
12381 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
12382 (ASM_OUTPUT_REG_POP): Likewise.
12383 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
12384 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 12385
07933f72
GS
12386 * config/i386/i386.c: Update copyright.
12387 (CHECK_STACK_LIMIT): Add parenthesis.
12388 (AT_BP): Uppercase macro parameter.
12389 (x86_64_int_parameter_registers): Constify.
12390 (x86_64_int_return_registers): Likewise.
12391 (ix86_compare_op0): Use rtx.
12392 (construct_container): Constify INTREG parameter.
12393 (function_arg): Use rtx.
12394
0b4d32c9
GS
12395 * diagnostic.h: Update copyright date.
12396 (output_buffer_state): Add parenthesis.
12397 (output_buffer_format_args): Likewise.
12398
6253d571
GS
12399 * combine.c (combine_instructions): Replace XEXP (links, 0)
12400 with link.
12401
68f3f6f1
L
124022002-01-06 H.J. Lu <hjl@gnu.org>
12403
12404 * cfgcleanup.c (thread_jump): Fix 2 typos.
12405
124062002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 12407
0d24f4d1 12408 * config.gcc: Add support for --enable-altivec.
480f7f3a 12409
13b8c631
CR
124102002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
12411
12412 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
12413
58ad89b1
JJ
124142002-01-06 Jakub Jelinek <jakub@redhat.com>
12415
12416 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
12417 __objc_class_name_*.
12418
e403b4bc
CR
124192002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
12420
12421 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
12422
e41c7831
RH
124232002-01-06 Richard Henderson <rth@redhat.com>
12424
12425 * reorg.c (emit_delay_sequence): Remove death notes, not merely
12426 nop them out. Increment label reference count for REG_LABEL.
12427 (fill_slots_from_thread): Frob label reference count around
12428 delete_related_insns.
12429
3b3b1e32
RH
124302002-01-05 Richard Henderson <rth@redhat.com>
12431
12432 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
12433 jump threading.
12434
c28abdf0
RH
124352002-01-05 Richard Henderson <rth@redhat.com>
12436
12437 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
12438 * integrate.c (output_inline_function): Likewise.
12439 * toplev.c (rest_of_compilation): Do it here instead. Move call
12440 to remove_unnecessary_notes after emitting abstract instance.
12441 Force an emitted nested function to have its parent emited as well.
12442 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
12443 for null.
12444 (rtl_for_decl_location): Do not look at reload data structures
12445 before reload has run.
12446
c4f2c499
KH
124472002-01-05 Kazu Hirata <kazu@hxi.com>
12448
12449 * cse.c: Fix formatting.
12450 * dwarf2asm.c: Likewise.
12451 * dwarf2out.c: Likewise.
12452 * explow.c: Likewise.
12453 * expmed.c: Likewise.
12454 * function.c: Likewise.
12455 * gcov.c: Likewise.
12456 * gencheck.c: Likewise.
12457 * genrecog.c: Likewise.
12458 * ggc-common.c: Likewise.
12459 * ggc-page.c: Likewise.
12460 * global.c: Likewise.
12461
cf0d9408
KH
124622002-01-05 Kazu Hirata <kazu@hxi.com>
12463
12464 * combine.c: Fix formatting.
12465
bedca03a
CR
124662002-01-05 Craig Rodrigues <crodrigu@bbn.com>
12467
12468 PR middle-end/1557
12469 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
12470
0134bf2d
DE
124712002-01-05 David Edelsohn <edelsohn@gnu.org>
12472
12473 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
12474 as 1 for __powerpc64__ as well.
12475
12476 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
12477
12478 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
12479 return it.
12480
9ca88d5a
DB
124812002-01-05 Daniel Berlin <dan@dberlin.org>
12482
12483 * lcm.c: Revert change, due to performance regression it causes on
12484 SPEC because it's slightly more conservative (sigh, I hate
12485 edge-based LCM).
0d24f4d1 12486
1c570418
JH
12487Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
12488
12489 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
12490
d83bb9f7
NB
124912002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
12492
12493 * doc/cppinternals.texi: Update.
12494
3e0f61ac
HPN
124952002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
12496
12497 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
12498 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
12499 negatives.
12500 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
12501 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
12502 kludge for pre-october-14th mmix versions to handle new-found bug
12503 with PUSHJ/PUSHGO and the register stack.
12504 * config/mmix/mmix.h (struct machine_function): Rename member
12505 has_call_value_without_parameters to has_call_without_parameters.
12506 All referers changed.
12507 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
12508 TARGET_MASK_BRANCH_PREDICT): New macros.
12509 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
12510 -mno-reg-stack-fill-bug-workaround.
12511 * config/mmix/mmix.md ("call"): Set struct machine member
12512 has_call_without_parameters.
12513
4deaa2f8
JH
12514Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
12515
12516 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
12517
9f16e871
JH
12518Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
12519
12520 * cfgcleanup.c: Include tm_p.h
12521 (mark_effect): Fix handling of hard register; fix handling of SET
12522
96eb1157
KH
125232002-01-04 Kazu Hirata <kazu@hxi.com>
12524
12525 * config/h8300/h8300.md (anonymous patterns): Check that
12526 operands are registers before using REGNO on them.
12527
48180d68
RM
125282002-01-03 Roland McGrath <roland@frob.com>
12529
12530 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
12531
b0832fe1
JJ
125322002-01-04 Jakub Jelinek <jakub@redhat.com>
12533
12534 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
12535 * c-common.h (genrtl_expr_stmt_value): Likewise.
12536 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
12537 (expand_expr_stmt_value): Add maybe_last argument.
12538 Don't warn about statement with no effect if it is the last statement
12539 in expression statement.
12540 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
12541 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
12542 expand_expr_stmt_value.
12543 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
12544 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
12545 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
12546 as maybe_last to expand_expr_stmt_value.
12547
c1e14513
JL
12548Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
12549
0d24f4d1
ZW
12550 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
12551 be passed in, do not build it.
12552 (c_begin_if_stmt): New function.
12553 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
12554 * c-common.h (c_expand_start_cond): Update prototype.
12555 (c_begin_if_stmt): Prototype new function.
12556 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
12557 * c-parse.in (if_prefix): Use c_begin_if_stmt,
12558 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 12559
b6ec437a
WC
125602002-01-04 William Cohen <wcohen@redhat.com>
12561
12562 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
12563 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
12564 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
12565 * config/pa/som.h (ASM_FILE_START): Likewise.
12566
ead39bdf 125672002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
12568
12569 * lcm.c: Include df.h.
12570 Add available_transfer_function prototype.
12571 (compute_available): Rework to use iterative dataflow framework.
12572 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
12573 with bb_info in df.h
12574 (available_transfer_function): New function.
12575
12576 * Makefile.in (lcm.o): add df.h to dependencies.
12577
551cc6fd
RH
125782002-01-04 Richard Henderson <rth@redhat.com>
12579
12580 * config/alpha/alpha.c (some_operand): Accept HIGH.
12581 (input_operand): Likewise; accept simple references to globals.
12582 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
12583 (alpha_const_double_ok_for_letter_p): Likewise.
12584 (alpha_extra_constraint): Likewise.
12585 (alpha_preferred_reload_class): Likewise. Do not force
12586 symbolic constants to memory.
12587 (alpha_legitimate_address_p): Accept simple references
12588 to small_symbolic_operand.
12589 (alpha_legitimize_address): New arg scratch. Be prepared to be
12590 called when no_new_pseudos. Emit simple symbolic references.
12591 Split integers into low, high, and rest.
12592 (alpha_expand_mov): Use alpha_legitimize_address.
12593 (some_small_symbolic_mem_operand): New.
12594 (split_small_symbolic_mem_operand): New.
12595 * config/alpha/alpha-protos.h: Update.
12596 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
12597 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
12598 (EXTRA_CONSTRAINT): Likewise.
12599 (PREFERRED_RELOAD_CLASS): Likewise.
12600 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
12601 (PREDICATE_CODES): Update.
12602 * config/alpha/alpha.md: New post-reload splitters to convert
12603 simplfied symbolic operands to the form that references $29.
12604 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
12605 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
12606
1eaea054
RH
126072002-01-03 Richard Henderson <rth@redhat.com>
12608
12609 * local-alloc.c (function_invariant_p): Update commentary.
12610
c4cc12b7
L
126112002-01-04 H.J. Lu <hjl@gnu.org>
12612
12613 * toplev.c (rest_of_compilation): Fix a typo when calling
12614 cleanup_cfg.
12615
173bf5be
KH
126162002-01-03 Kazu Hirata <kazu@hxi.com>
12617
12618 * c-common.c: Fix formatting.
12619 * diagnostic.c: Likewise.
12620 * doloop.c: Likewise.
12621 * dwarf2out.c: Likewise.
12622
187462ac
KH
126232002-01-03 Kazu Hirata <kazu@hxi.com>
12624
12625 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
12626 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
12627
5d8ebbd8
NB
126282002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
12629
12630 * cpperror.c: Update comments and copyright.
12631 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
12632 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
12633
518c1311
JDA
126342002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
12635
12636 * collect2.c (main): Use strcmp when testing for "-shared".
12637
d15a58c0
NB
126382002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
12639
12640 * cppmacro.c: Don't include intl.h. Update comments.
12641 (new_number_token): Allocate enough buffer for 64-bit unsigned
12642 integers; update prototype.
12643 * cppmain.c: Update comments.
12644
70f4f91c
WC
126452002-01-03 William Cohen <wcohen@redhat.com>
12646
12647 * function.h (struct function): Add profile.
12648 (current_function_profile): New.
12649 doc/extend.texi: Update documentation.
12650 * final.c (final_start_function): Use current_function_profile
12651 instead of profile_flag.
12652 (profile_after_prologue): Likewise.
12653 * function.c (expand_function_start): Likewise.
12654 (expand_function_start): Likewise.
c4cc12b7 12655 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
12656 (alpha_does_function_need_gp): Likewise.
12657 (alpha_expand_prologue): Likewise.
12658 * config/arm/arm.c (arm_expand_prologue): Likewise.
12659 thumb_expand_prologue: Likewise.
12660 * config/d30v/d30v.c (d30v_stack_info): Likewise.
12661 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
12662 (fr30_expand_prologue): Likewise.
12663 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
12664 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
12665 * config/i386/i386.h (FINALIZE_PIC): Likewise.
12666 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
12667 * config/i960/i960.c (i960_output_function_prologue): Likewise.
12668 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
12669 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
12670 (m32r_expand_prologue): Likewise.
12671 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
12672 (m88k_expand_prologue): Likewise.
12673 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
12674 * config/mips/mips.c (compute_frame_size): Likewise.
12675 (mips_expand_prologue): Likewise.
12676 (mips_can_use_return_insn): Likewise.
12677 * config/pa/elf.h (ASM_FILE_START): Likewise.
12678 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
12679 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
12680 * config/pa/som.h (ASM_FILE_START): Likewise.
12681 * config/romp/romp.c (romp_using_r14): Likewise.
12682 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
12683 (rs6000_stack_info): Likewise.
12684 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 12685 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
12686 * config/v850/v850.c (compute_register_save_size): Likewise.
12687
cb1ac742
JJ
126882002-01-03 Jakub Jelinek <jakub@redhat.com>
12689
12690 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
12691 gen_lowpart_common fails, use gen_lowpart_SUBREG.
12692
61d951df 126932002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 12694
61d951df
TC
12695 * darwin.c (machopic_output_possible_stub_label): Don't generate
12696 stub routines for pseudo-stubs which we've just defined.
12697
505ddab6
KH
126982002-01-03 Kazu Hirata <kazu@hxi.com>
12699
12700 * builtins.c: Fix formatting.
12701 * c-typeck.c: Likewise.
12702 * combine.c: Likewise.
12703 * expr.c: Likewise.
12704 * loop.c: Likewise.
12705
b7e30d8a
AS
127062002-01-03 Andreas Schwab <schwab@suse.de>
12707
12708 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
12709 and return true if _cpp_push_next_buffer pushed a new include
12710 file.
12711 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
12712 _cpp_pop_file_buffer did not push a new file.
12713 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
12714
ff81832f
EC
127152002-01-02 Eric Christopher <echristo@redhat.com>
12716
12717 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
12718 FIND_REG_INC_NOTE call. Update copyright.
12719 * loop.c (canonicalize_condition): Ditto.
12720 * reorg.c (delete_scheduled_jump): Ditto.
12721
8e42ace1
KH
127222002-01-03 Kazu Hirata <kazu@hxi.com>
12723
12724 * gcse.c: Fix formatting.
12725
fb2bf631
GS
127262002-01-03 Graham Stott <grahams@redhat.com>
12727
12728 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
12729 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 12730 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
12731
12732 * system.h: Move forward defs for struct tags rtx_def, union_tree,
12733 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 12734 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
12735
127362002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
12737
12738 * tree.h: Update copyright date.
12739 (IS_EXPR_CODE_CLASS): Add parenthesis.
12740 (TREE_SET_CODE): Add whitespace.
12741 (TREE_CHECK): Add parenthesis.
12742 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
12743 (CST_OR_CONSTRUCTOR_CHECK):
12744 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
12745 (TREE_SYMBOL_REFERENCED): Whitespace.
12746 (INT_CST_LT): Likewise.
12747 (INT_CST_LT_UNSIGNED): Likewise.
12748 (tree_real_cst): Unwrap comment.
12749 (tree_string): Likewise.
12750 (tree_complex): Likewise.
12751 (IDENTIFIER_POINTER): correct cast.
12752 (SAVE_EXPR_CONTEXT): Whitespace.
12753 (EXPR_WFL_FILENAME_NODE): Likewise.
12754 (EXPR_WFL_FILENAME): Remove parenthesis.
12755 (DECL_ORIGIN): Add parenthesis.
12756 (DECL_FROM_INLINE): Use NULL_TREE.
12757 (build_int_2): Whitespace.
12758 (build_type_variant): Add parenthesis.
12759
12760 * gcc/jcf-parse.c: Update copyright date.
12761 (yyparse): Constify resource_filename.
12762
f52eda29
GS
127632002-01-03 Graham Stott <grahams@redhat.com>
12764
12765 * rtl.h: Update copyright date.
12766 (RTL_CHECK1): Wrap long line.
12767 (RTL_CHECK2): Likewise.
12768 (RTL_CHECKC1): Wrap long line and whitespace.
12769 (RTL_CHECKC2): Likewise.
12770 (XWINT): Whitespace.
12771 (XINT): Likewise.
12772 (XSTR): Likewise.
12773 (XEXP): Likewise.
12774 (XVEC): Likewise.
12775 (XMODE): Likewise.
12776 (XBITMAP): Likewise.
12777 (XTREE): Likewise.
12778 (XBBDEF): Likewise.
12779 (XTMPL): Likewise.
12780 (X0WINT): Likewise.
12781 (X0INT):Likewise.
12782 (X0UINT): Likewise.
12783 (X0STR): Likewise.
12784 (X0EXP): Likewise.
12785 (X0VEC): Likewise.
12786 (X0MODE): Likewise.
12787 (X0BITMAP): Likewise.
12788 (X0TREE): Likewise.
12789 (X0BBDEF): Likewise.
12790 (X0ADVFLAGS): Likewise.
12791 (X0CSELIB): Likewise.
12792 (X0MEMATTR): Likewise.
12793 (XCWINT): Likewise.
12794 (XCINT): Likewise.
12795 (XCUINT): Likewise.
12796 (XCSTR): Likewise.
12797 (XCEXP): Likewise.
12798 (XCVEC): Likewise.
12799 (XCMODE): Likewise.
12800 (XCBITMAP): Likewise.
12801 (XCTREE): Likewise.
12802 (XCBBDEF): Likewise.
12803 (XCADVFLAGS): Likewise.
12804 (XCCSELIB): Likewise.
12805 (XC2EXP): Likewise.
12806 (INSN_UID): Likewise.
12807 (PREV_INSN): Likewise.
12808 (PATTERN): Likewise.
12809 (INSN_CODE): Likewise.
12810 (PUT_REG_NOTE_KIND): Likewise.
12811 (CODE_LABEL_NUMBER): Likewise.
12812 (NOTE_SOURCE_FILE): Likewise.
12813 (NOTE_BLOCK): Likewise.
12814 (NOTE_EH_HANDLER): Likewise.
12815 (NOTE_RANGE_INFO): Likewise.
12816 (NOTE_LIVE_INFO): Likewise.
12817 (NOTE_BASIC_BLOCK): Likewise.
12818 (NOTE_EXPECTED_VALUE): Likewise.
12819 (NOTE_LINE_NUMBER): Likewise.
12820 (LABEL_NAME): Likewise.
12821 (LABEL_NUSES): Likewise.
12822 (LABEL_ALTERNATE_NAME): Likewise.
12823 (ADDRESSOF_DECL): Likewise.
12824 (JUMP_LABEL): Likewise.
12825 (LABEL_NEXTREF): Likewise.
12826 (REGNO): Likewise.
12827 (ORIGINAL_REGNO: Likewise.
12828 (HARD_REGISTER_NUM_P): Add parenthesis.
12829 (SUBREG_REG): Whitespace.
12830 (SUBREG_BYTE): Likewise.
12831 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
12832 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
12833 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
12834 (ASM_OPERANDS_INPUT_VEC): Likewise.
12835 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
12836 (ASM_OPERANDS_INPUT): Likewise.
12837 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
12838 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
12839 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
12840 (ASM_OPERANDS_INPUT_MODE): Likewise.
12841 (ASM_OPERANDS_SOURCE_FILE): Likewise.
12842 (ASM_OPERANDS_SOURCE_LINE): Likewise.
12843 (MEM_SET_IN_STRUCT_P): Minor reformat.
12844 (TRAP_CONDITION): Whitespace.
12845 (TRAP_CODE): Likewise.
12846 (COND_EXEC_TEST): Likewise.
12847 (COND_EXEC_CODE): Likewise.
12848 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
12849 (PHI_NODE_P): Add parenthesis.
12850 (plus_constant): Whitespace and add parenthesis.
12851
e03f5d43
KH
128522002-01-03 Kazu Hirata <kazu@hxi.com>
12853
12854 * config/avr/avr.c: Fix comment typos.
12855 * config/c4x/c4x.md: Likewise.
12856 * config/dsp16xx/dsp16xx.h: Likewise.
12857 * config/dsp16xx/dsp16xx.md: Likewise.
12858 * config/i386/i386.md: Likewise.
12859 * config/ia64/ia64.c: Likewise.
12860 * config/m32r/m32r.h: Likewise.
12861 * config/m68hc11/m68hc11.md: Likewise.
12862 * config/mmix/mmix.c: Likewise.
12863 * config/mn10200/mn10200.c: Likewise.
12864 * config/romp/romp.c: Likewise.
12865 * config/sh/sh.c: Likewise.
12866 * config/stormy16/stormy16.c: Likewise.
12867 * config/stormy16/stormy16.h: Likewise.
12868 * config/stormy16/stormy16.md: Likewise.
12869
97e300e9
GS
128702002-01-03 Graham Stott <grahams@redhat.com>
12871
12872 * loop.h: Update copyright date.
0d24f4d1
ZW
12873 (LOOP_MOVABLES): Fix typo.
12874 (LOOP_REGS): Likewise.
12875 (LOOP_IVS): Likewise.
ff81832f 12876
745b26b3
GS
128772002-01-03 Graham Stott <grahams@redhat.com>
12878
12879 * cppinit.c: Update copyright date.
12880 Don't include output.h
12881 * Makefile.in: Update copyright date.
12882 Update dependency.
12883
0a379b7a
CR
128842002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
12885
12886 PR c/5226
12887 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
12888 (-pthread) Add to RS/6000 options.
12889
a8154559
KH
128902002-01-02 Kazu Hirata <kazu@hxi.com>
12891
12892 * except.c: Fix comment typos.
12893 * loop.c: Likewise.
12894 * varasm.c: Likewise.
12895 * doc/tm.texi: Fix a typo.
12896
e6ecc89b
JJ
128972002-01-02 Jakub Jelinek <jakub@redhat.com>
12898
12899 * c-typeck.c (output_init_element): Allow initializing static storage
12900 duration objects with compound literals.
12901
d1094b40
RH
129022002-01-02 Richard Henderson <rth@redhat.com>
12903
12904 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
12905 after abusing it.
12906
0c5d8c82
KG
129072002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12908
5e65297b
KG
12909 * gcc.c (default_compilers): Const-ify.
12910 * mips-tdump.c (stab_names): Likewise.
12911 * mips-tfile.c (map_coff_types, map_coff_storage,
12912 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
12913 pseudo_ops_t, pseudo_ops): Likewise.
12914 * protoize.c (default_include): Likewise
12915
0c5d8c82
KG
12916 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
12917 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
12918 Add array size in declaration.
12919 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
12920 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
12921 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
12922 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
12923 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
12924 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
12925 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
12926 emtens, make_nan): Const-ify.
12927 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
12928 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
12929
817e13c4
JM
129302002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
12931
12932 * config.gcc (ia64-*-*): Set extra_headers.
12933 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
12934 * config/alpha/t-osf: Remove.
12935 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
12936
98095e2b
DE
129372002-01-02 David Edelsohn <edelsohn@gnu.org>
12938
12939 * config/rs6000/t-aix43: Revert previous change.
12940
a4200657
JM
129412002-01-02 Jason Merrill <jason@redhat.com>
12942
12943 * c-decl.c (c_expand_body): Call outlining_inline_function when
12944 emitting an inline function out of line.
12945
54ba1f0d
RH
129462002-01-02 Richard Henderson <rth@redhat.com>
12947
12948 * dwarf2out.c (limbo_die_node): Add created_for member.
12949 (new_die): New argument created_for. Update all callers.
12950 (mark_limbo_die_list): New.
12951 (dwarf2out_init): Register limbo_die_list as a root.
12952 (dwarf2out_finish): Force insert limbo dies into their function
12953 context.
12954
323728aa
NS
129552002-01-02 Nathan Sidwell <nathan@codesourcery.com>
12956
12957 PR c++/5089
12958 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
12959
aefc5826
KH
129602002-01-02 Kazu Hirata <kazu@hxi.com>
12961
12962 * config/h8300/fixunssfsi.c: Update copyright.
12963 Fix comment typos.
12964 Fix formatting.
12965 * config/h8300/h8300.c: Update copyright.
12966 Eliminate warnings.
12967
b1c9bc51
KH
129682002-01-02 Kazu Hirata <kazu@hxi.com>
12969
12970 * config/romp/romp.c: Fix comment formatting.
12971 * config/romp/romp.h: Likewise.
12972 * config/romp/romp.md: Likewise.
12973 * config/s390/s390.c: Likewise.
12974 * config/stormy16/stormy16.c: Likewise.
12975 * config/stormy16/stormy16.h: Likewise.
12976
1574ef13
AO
129772002-01-02 Alexandre Oliva <aoliva@redhat.com>
12978
12979 * c-common.h (genrtl_expr_stmt_value): Declare.
12980 * c-semantics.c (genrtl_goto_stmt): Redirect to...
12981 (genrtl_goto_stmt_value): ... this new function. Pass new
12982 argument down to expand_expr_stmt_value, taking
12983 TREE_ADDRESSABLE into account.
12984 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
12985 STMT_EXPR as addressable, i.e., one whose result we want.
12986 * expr.c (expand_expr): Don't save expression statement value
12987 of labeled_blocks or loop_exprs.
12988 * stmt.c (expand_expr_stmt): Redirect to...
12989 (expand_expr_stmt_value): ... this new function. Use new
12990 argument to tell whether to save expression value.
12991 (expand_end_stmt_expr): Reset last_expr_type and
12992 last_expr_value if we don't have either.
12993 * tree-inline.c (declare_return_variable): Mark its use
12994 statement as addressable.
12995 * tree.h: Document new use of TREE_ADDRESSABLE.
12996 (expand_expr_stmt_value): Declare.
12997
252b88f7
TR
129982002-01-01 Tom Rix <trix@redhat.com>
12999
13000 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
13001 rs6000_emit_allocate_stack.
13002
29f7a208
JM
130032002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
13004
13005 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
13006 ${srcdir}/ginclude/ to every entry in extra_headers.
13007 * configure: Regenerate.
13008 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
13009 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
13010 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
13011 * ginclude/proto.h: Rename to config/convex/proto.h.
13012
2cc2d4bb
RK
13013Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13014
13015 * attribs.c (handle_vector_size_attribute): Use host_integerp
13016 and tree_int_cst; remove warnings.
13017 * caller-save.c (insert_restore): Add cast to get rid of warning.
13018 (insert_save): Likewise.
13019 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
13020 * regmove.c (find_matches): Add temporary var to kill a warning.
13021
f01c9bcd
DR
130222002-01-01 Douglas B Rupp <rupp@gnat.com>
13023
16b61764
DR
13024 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
13025 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
13026 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
13027 (vms-dwarf2eh.o): Add Makefile rule.
13028 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
13029 * config/alpha/vms-dwarf2eh.asm: New file.
13030
f01c9bcd
DR
13031 * gcc.c (delete_if_ordinary): Delete all versions.
13032
91312b81
HPN
130332002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
13034
13035 * config/mmix/mmix.md: Update FIXME to not mention
13036 define_constants.
13037 (MMIX_rJ_REGNUM): New define_constants constant.
13038 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
13039 "*movdicc_real"): Adjust contraints formatting.
13040 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
13041 for branch prediction.
13042 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
13043 output template.
13044 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
13045 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
13046 number. Delete related FIXMEs.
13047 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
13048 from number to MMIX_rJ_REGNUM.
13049 (TARGET_MASK_BRANCH_PREDICT): New.
13050 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
13051 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
13052 value. Add -mbranch-predict and -mno-branch-predict.
13053 (TARGET_VERSION): Drop date.
13054 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
13055 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
13056 for finding out global symbols.
13057 (mmix_asm_output_labelref): Revert condition for global symbol.
13058 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
13059 (mmix_print_operand_punct_valid_p): A '+' is valid.
13060
619acae7 13061See ChangeLog.6 for earlier changes.
This page took 1.562212 seconds and 5 git commands to generate.