re PR rtl-optimization/5263 (a & b & ~a & ~b not optimized)
[gcc.git] / gcc / ChangeLog
1 2004-01-19 Roger Sayle <roger@eyesopen.com>
2
3 PR optimization/5263
4 * simplify-rtx.c (associative_constant_p): Delete.
5 (simplify_associative_operation): Rewrite to linearize terms, and
6 attempt to simplify new term against both left and right subterms.
7 (simplify_binary_operation): Call swap_commutative_operands_p on
8 op0 and op1, not trueop0 and trueop1. Move the initialization of
9 trueop0 and trueop1 down to where first needed.
10 (simplify_relational_operation): Likewise.
11 * rtlanal.c (commutative_operand_precedence): Also order constant
12 operands using avoid_constant_pool_reference.
13
14 2004-01-19 Richard Henderson <rth@redhat.com>
15
16 * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
17 don't check memory mode.
18 (unaligned_memory_operand): Likewise.
19 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
20 abort for op0 not MEM.
21
22 * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
23 is not a reg, copy to a scratch first.
24 (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
25 unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
26 unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
27 (reload_inqi, reload_inhi): Fix mode of op0.
28 (reload_inqi_help, reload_inhi_help, reload_outqi_help,
29 reload_outhi_help): Likewise. Use define_insn_and_split.
30
31 * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
32 as well as $29 dead.
33
34 2004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr>
35
36 * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit
37 "tls_object" for thread-local objects.
38 * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
39 "#tls" for thread-local sections.
40 * configure.ac (thread-local checks): Specify --fatal-warnings in
41 every binutils-specific checks. For sparc*-*-*, test whether the
42 OS is Solaris and the tools are native and act accordingly.
43 * configure: Rebuild.
44
45 2004-01-19 Jeff Law <law@redhat.com>
46
47 * contrib.texi: Update Paolo Carlini's entry. New entries for
48 Jerry Quinn and Petur Runolfsson.
49
50 2004-01-19 Roger Sayle <roger@eyesopen.com>
51
52 * config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for
53 size, don't use the larger zero-extending loads.
54
55 2004-01-19 Richard Henderson <rth@redhat.com>
56
57 * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
58 * alpha.md (UNSPEC_NT_LDA): Remove.
59 (UNSPEC_CVTLQ, cvtlq): New.
60 (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
61 (extendsidi2_fix): Remove.
62 (extendsidi2 splitter): Use cvtlq.
63 (extendsidi2 fp peepholes): Remove.
64 (cvtql): Use SFmode instead of SImode.
65 (fix_trunc?fsi): Update to match.
66 (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
67 (movsi): Rename from movsi_nofix, remove f alternatives.
68 (movsi_nt_vms): Similarly.
69 (movsi_fix, movsi_nt_vms_fix): Remove.
70 (nt_lda): Remove.
71 * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
72
73 2004-01-19 Jan Hubicka <jh@suse.cz>
74
75 * cgraph.c (cgraph_remove_node): Fix removal from linked list.
76 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
77 list.
78 (cgraph_remove_unreachable_nodes): New function
79 (cgraph_decide_inlining_of_small_function): Fix pasto.
80 (cgraph_decide_inlining_incrementally): Fix pasto.
81 (cgrpah_decide_inlining): Likewise; remove unreachable nodes.
82
83 2004-01-19 Steven Bosscher <stevenb@suse.de>
84
85 * gengtype.c (header_file): Make it static.
86 (write_types_process_field, write_enum_defn): Minor whitespace fixes.
87 * gengtype.h (header_file): No longer extern.
88
89 2004-01-18 Kazu Hirata <kazu@cs.umass.edu>
90
91 * defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default.
92 * expr.c (CASE_VECTOR_PC_RELATIVE): Remove.
93 * stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise.
94
95 2004-01-18 Kazu Hirata <kazu@cs.umass.edu>
96
97 * stmt.c (HAVE_casesi): Define it not already defined.
98 (HAVE_tablejump): Likewise.
99 (expand_end_case_type): Resort to the binary tree method if
100 neither casesi or tablejump is available.
101
102 2004-01-18 Daniel Jacobowitz <drow@mvista.com>
103
104 * final.c (final_scan_insn): Make non-static again.
105 * output.h (final_scan_insn): Re-add prototype.
106 * config/arc/arc.c (arc_output_function_epilogue): Add NULL
107 to final_scan_insn call.
108 * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
109 * config/mips/mips.c (mips_output_conditional_branch): Likewise.
110 * config/pa/pa.c (output_lbranch, output_call): Likewise.
111 * config/sh/sh.c (print_slot): Likewise.
112 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
113 (output_sibcall, sparc_flat_function_epilogue): Likewise.
114
115 2004-01-18 Jan Hubicka <jh@suse.cz>
116
117 * basic-block.h (try_redirect_by_replacing_jump): Declare.
118 * cfgcleanup.c (try_optimize_cfg): Use it.
119 * cfgrtl.c (try_redirect_by_replacing_jump): Export.
120 (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
121 Kill hack.
122 (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
123
124 Revert:
125 2004-01-16 Geoffrey Keating <geoffk@apple.com>
126
127 * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
128 even after reload, just don't remove the actual jump tables.
129
130 2004-01-18 Kazu Hirata <kazu@cs.umass.edu>
131
132 * config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove.
133
134 2004-01-18 Kazu Hirata <kazu@cs.umass.edu>
135
136 * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of
137 the size of a pointer in bytes.
138
139 2004-01-18 Roger Sayle <roger@eyesopen.com>
140
141 * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
142 live "next" variable, which could lead to an infinite loop.
143
144 2004-01-18 Andrew Pinski <pinskia@physics.uc.edu>
145
146 * config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
147 block.
148
149 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
150 Check for NULL in the chain and remove repeated code.
151
152 2004-01-18 Jan Hubicka <jh@suse.cz>
153
154 * coverage.c (checksum_string): Rename to ...
155 (coverage_checksum_string): ... this one, Use crc32_string; recognize
156 names containing random number and zero the number out in order to get
157 match.
158
159 2004-01-18 Richard Sandiford <rsandifo@redhat.com>
160
161 * config/mips/mips.c (mips_got_alias_set): Mark for PCH.
162
163 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
164
165 * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
166 doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
167 doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
168 doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
169 doc/trouble.texi: Remove trailing whitespace.
170
171 2004-01-18 Richard Sandiford <rsandifo@redhat.com>
172
173 PR target/7618
174 * config/mips/mips.c: Include cfglayout.h.
175 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
176 (mips_unspec_offset_high): Add temporary register argument.
177 (mips_load_call_address): New function, split out from...
178 (mips_expand_call): ...here.
179 (mips_output_cplocal): New function.
180 (mips_output_function_prologue, mips_output_function_epilogue): Use it.
181 (mips_emit_loadgp): New function, split out from...
182 (mips_expand_prologue): ...here.
183 (mips_output_mi_thunk): New function.
184
185 2004-01-17 Bernardo Innocenti <bernie@develer.com>
186
187 * longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040,
188 mcpu32): Remove redundant checks for implied target predefines.
189
190 2004-1-17 Andrew Pinski <pinskia@physics.uc.edu>
191
192 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
193 Return type is unsigned int not int.
194 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
195 Likewise.
196
197 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
198
199 * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
200 doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
201 "GNU/Linux" and "Microsoft Windows" terminology.
202
203 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
204
205 * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
206 doc/cppopts.texi, doc/extend.texi, doc/install.texi,
207 doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
208 doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
209 @smallexample instead of @example.
210
211 2004-01-17 Ziemowit Laski <zlaski@apple.com>
212
213 * objc/objc-act.c (build_objc_method_call): Use target
214 hooks instead of macros to determine if ..._stret
215 dispatchers should be used (NeXT runtime only).
216
217 2004-01-17 Roger Sayle <roger@eyesopen.com>
218
219 * builtins.c (expand_builtin_expect_jump): Fix mistake in my
220 last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
221
222 2004-01-17 Daniel Jacobowitz <drow@mvista.com>
223
224 * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
225 (emit_call_insn_before_sameloc, emit_insn_after_sameloc)
226 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
227 macros.
228 * reload1.c (emit_reload_insns): Use them.
229 * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
230 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
231 for NULL PATTERN.
232
233 2004-01-17 Daniel Jacobowitz <drow@mvista.com>
234
235 * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
236 (final_scan_insn): Update to take an additional SEEN argument. Emit
237 a line note after the prologue. Make static.
238 (line_note_exists): Remove.
239 (final): Don't initialize line_note_exists. Update call to
240 final_scan_insn.
241 * output.h (final_scan_insn): Remove prologue.
242 * function.c (set_insn_locators): Update comment.
243 (thread_prologue_and_epilogue_insns): Add a comment.
244
245 2004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
246
247 PR target/10781
248 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
249 Prototype.
250 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
251 New function.
252 * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
253 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
254 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
255
256 2004-01-17 Jan Hubicka <jh@suse.cz>
257
258 * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
259 commit.
260
261 * toplev.c (HAVE_conditional_execution): Provide default.
262 (rest_of_handle_reorder_blocks): For conditional_execution target
263 update liveness once after all transformations
264 (rest_of_compilation): Do crossjumping before ce3.
265
266 2004-01-17 Geoffrey Keating <geoffk@apple.com>
267
268 * alias.c (new_alias_set): Mark last_alias_set for PCH.
269 (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
270 for PCH.
271 (get_frame_alias_set): Likewise, except rename it to 'frame_set'.
272 * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
273 (get_TOC_alias_set): Mark 'set' for PCH.
274
275 2004-01-16 Geoffrey Keating <geoffk@apple.com>
276
277 * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
278 even after reload, just don't remove the actual jump tables.
279
280 2004-01-17 J. Brobecker <brobecker@gnat.com>
281
282 * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
283 Remove checks for is_ada() and TREE_UNSIGNED.
284 (subrange_type_die): Emit a byte_size attribute if the subrange
285 type size is different from the base type size.
286 (modified_type_die): Replace call to is_ada_subrange_type() by
287 call to is_subrange_type().
288
289 2004-01-16 Andrew Pinski <pinskia@physics.uc.edu>
290
291 * config/sh/sh.c: Include ggc.h.
292
293 2004-01-16 Geoffrey Keating <geoffk@apple.com>
294
295 * Makefile.in (MD5_H): New.
296 (fold-const.o): Depend on md5.h.
297 (dwarf2out.o): Likewise.
298 (cppfiles.o): Likewise.
299 * cppfiles.c: Include md5.h.
300 (should_stack_file): Check against list read from PCH file.
301 (struct pchf_data): New.
302 (pchf): New variable.
303 (struct pchf_adder_info): New.
304 (pchf_adder): New.
305 (pchf_save_compare): New.
306 (_cpp_save_file_entries): New.
307 (_cpp_read_file_entries): New.
308 (struct pchf_compare_data): New.
309 (pchf_compare): New.
310 (check_file_against_entries): New.
311 * cpphash.h (_cpp_save_file_entries): Prototype.
312 (_cpp_read_file_entries): Prototype.
313 * cpppch.c (cpp_write_pch_state): Write the list of headers.
314 (cpp_read_state): Read the list of headers.
315
316 2004-01-17 Jan Hubicka <jh@suse.cz>
317
318 * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
319 builtin_expect specially.
320 * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
321 (PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
322 * invoke.texi (max-inline-insns-single): Set to 100.
323 (large-function-insns): Set to 3000.
324
325 2004-01-16 Eric Christopher <echristo@redhat.com>
326 Chandrakala Chavva <cchavva@redhat.com>
327
328 * cppcharset.c (one_iso88591_to_utf8): New function.
329 (convert_iso88591_utf8): Ditto. Use.
330 (conversion_tab): Use.
331 (_cpp_input_to_utf8): New function.
332 (_cpp_init_iconv_buffer): Ditto.
333 (_cpp_close_iconv_buffer): Ditto.
334 * cpphash.h: Prototype new functions.
335 (cpp_buffer): Add input_cset_desc.
336 * cppinit.c: Add input_charset default.
337 * cpplib.c (cpp_push_buffer): Support init and
338 close of iconv.
339 * cpplib.h (cpp_options): Add input_charset.
340
341 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
342
343 * system.h (ASM_OUTPUT_SECTION_NAME): Poison.
344 * config/alpha/unicosmk.h: Remove a commented-out definition
345 of ASM_OUTPUT_SECTION_NAME.
346 * config/stormy16/stormy16.h: Likewise.
347
348 2004-01-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
349
350 * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
351 (alpha___extern_prefix_sys_stat): ... this.
352 Apply to <sys/mount.h>, too.
353 Tweak to match more variations.
354 * fixinc/tests/base/sys/stat.h: Adapt for new hackname.
355
356 * fixinc/inclhack.def (alpha___extern_prefix,
357 alpha___extern_prefix_standards): New hacks to obey
358 __PRAGMA_EXTERN_PREFIX.
359 * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
360 test.
361 * fixinc/tests/base/standards.h: Likewise.
362
363 * fixincl/inclhack.def (alpha_pthread): Tweak to match more
364 variations.
365 New testcase.
366 * fixinc/tests/base/pthread.h: Handle it.
367
368 * fixincl/inclhack.def (bad_lval): Sort file list.
369 Add many missing files up to Tru64 UNIX V5.1B.
370 * gcc/fixinc/tests/base/libgen.h: Renamed to ...
371 * gcc/fixinc/tests/base/dirent.h: ... this to match new file list
372 order.
373
374 * fixinc/fixincl.x: Regenerate.
375
376 2004-01-16 Mark Mitchell <mark@codesourcery.com>
377
378 * version.c (version_string): Change to 3.5.0.
379 * doc/include/gcc-common.texi (version-GCC): Likewise.
380
381 2004-01-16 Jan Hubicka <jh@suse.cz>
382
383 * i386.md (load_tp_di): Fix pasto.
384
385 PR opt/13608
386 * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
387
388 * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
389 pp_c_character_constant, pp_c_floating_constant,
390 pp_c_additive_expression, pp_c_shift_expression,
391 pp_c_equality_expression, pp_c_and_expression,
392 pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
393 pp_c_logical_and_expression): Remove inline modifier.
394 * dwarf2out.c (get_AT): Likewise.
395 * et-forest.c (et_splay): Likewise.
396 * ra.h (ra_alloc, ra_calloc): Likewise
397
398 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
399
400 * config/frv/frv-protos.h: Fix comment formatting.
401 * config/frv/frv.c: Likewise.
402 * config/frv/frv.h: Likewise.
403 * config/frv/frv.md: Likewise.
404 * config/frv/frvbegin.c: Likewise.
405 * config/frv/frvend.c: Likewise.
406
407 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
408
409 * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
410 * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
411 LINKER_DOES_NOT_WORK_WITH_DWARF2.
412 (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
413
414 2004-01-16 J"orn Rennecke <joern.rennecke@superh.com>
415
416 PR 11864
417 * postreload.c (reload_cse_simplify_operands): Don't remove
418 implicit extension from LOAD_EXTEND_OP.
419
420 2004-01-16 Jan Hubicka <jh@suse.cz>
421
422 PR opt/11350
423 * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
424 after reload.
425 * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
426 rtl_try_redirect_by_replacing_branch): Likewise.
427
428 2004-01-15 Geoffrey Keating <geoffk@apple.com>
429
430 PR pch/13689
431 * alias.c (struct alias_set_entry): Mark for GC.
432 (alias_sets): Make static, mark for GC.
433 (record_alias_subset): Use GC to allocate alias structures.
434 * varray.c (element): Make generic varrays GCed.
435
436 PR pch/13361
437 * c-typeck.c (constructor_asmspec): Delete.
438 (struct initializer_stack): Delete field 'asmspec'.
439 (start_init): Delete saving of asmspec.
440 (finish_init): Don't update constructor_asmspec.
441 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
442 * stmt.c (expand_asm): Duplicate strings from tree.
443 (expand_asm_operands): Likewise.
444 * tree.c (tree_size): Update computation of size of STRING_CST.
445 (make_node): Don't make STRING_CST nodes.
446 (build_string): Allocate string with tree node.
447 * tree.def (STRING_CST): Update comment.
448 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
449 (tree_string): Place contents of string in tree node.
450 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
451 from tree.
452
453 * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
454 altivec operands.
455
456 2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
457
458 * c-common.h: Fix comment formatting.
459 * c-cppbuiltin.c: Likewise.
460 * c-pragma.c: Likewise.
461 * calls.c: Likewise.
462 * collect2.c: Likewise.
463 * cppcharset.c: Likewise.
464 * cpptrad.c: Likewise.
465 * dbxout.c: Likewise.
466 * defaults.h: Likewise.
467 * dwarf2out.c: Likewise.
468 * fold-const.c: Likewise.
469 * genautomata.c: Likewise.
470 * genconditions.c: Likewise.
471 * genflags.c: Likewise.
472 * gengtype.c: Likewise.
473 * integrate.c: Likewise.
474 * loop.c: Likewise.
475 * predict.c: Likewise.
476 * sdbout.c: Likewise.
477
478 2004-01-15 Zack Weinberg <zack@codesourcery.com>
479
480 * config/ia64/ia64.md (*movti_internal): C output template
481 extracted to ia64.c.
482 (*movti_internal_reg): Delete.
483 (reload_inti, reload_outti): Use the correct mode on operand 2
484 in the first place, don't fix it up in the output template.
485 (movtf, reload_ointf, reload_outtf): New expanders.
486 (*movtf_internal): New define_insn_and_split.
487 * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
488 make static; do not hand TFmode CONST_DOUBLEs to split_double.
489 (ia64_split_tmode_move): New function, body mostly pulled
490 from ia64.md:*movti_internal.
491 (ia64_function_arg_words): New function, extracted common
492 logic from ia64_function_arg et seq.
493 (ia64_function_arg_offset): Likewise. Handle correctly the
494 case of a scalar quantity 16 bytes wide with only 8-byte alignment.
495 (ia64_function_arg, ia64_function_arg_partial_nregs)
496 (ia64_function_arg_advance): Use ia64_function_arg_words and
497 ia64_function_arg_offset.
498 (ia64_function_value): TCmode does not go in float regs.
499 (ia64_secondary_reload_class): Also handle TFmode.
500 * config/ia64/ia64-protos.h: Remove prototype for
501 ia64_split_timode; add prototype for ia64_split_tmode_move.
502
503 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
504
505 * Makefile.in (MAINT): Make it an immediate assignment.
506
507 2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
508
509 * config/m32r/m32r.md: Remove useless calls to gen_lowpart.
510
511 2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
512
513 * config/h8300/coff.h: Replace Hitachi with Renesas.
514 * config/h8300/elf.h: Likewise.
515 * config/h8300/h8300-protos.h: Likewise.
516 * config/h8300/h8300.c: Likewise.
517 * config/h8300/h8300.h: Likewise.
518 * config/h8300/h8300.md: Likewise.
519 * config/h8300/lib1funcs.asm: Likewise.
520
521 2004-01-15 Andrew Pinski <apinski@apple.com>
522
523 * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
524 around it.
525
526 2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
527
528 * config/h8300/h8300.c (h8300_return_in_memory): New.
529 (TARGET_STRUCT_VALUE_RTX): Likewise.
530 (TARGET_RETURN_IN_MEMORY): Likewise.
531 * config/h8300/h8300.h (STRUCT_VALUE): Remove.
532 (RETURN_IN_MEMORY): Likewise.
533
534 2004-01-15 Richard Earnshaw <rearnsha@arm.com>
535
536 PR optimization/13375
537 * gcse.c (handle_avail_expr): Just return if the source is not a
538 single set.
539
540 2004-01-15 Richard Earnshaw <rearnsha@arm.com>
541 Daniel Jacobowitz <drow@mvista.com>
542
543 * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
544 (EQUIV): Define.
545 (ARM_FUNC_ALIAS): New macro.
546 * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
547 * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
548
549 2004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
550
551 PR optimization/12372
552 * calls.c (expand_call): Add call_fusage data for stack arguments in
553 constant calls.
554
555 2004-01-15 Alan Modra <amodra@bigpond.net.au>
556
557 * config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static.
558 (rs6000_elf_declare_function_name): Formatting.
559 * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
560
561 2004-01-15 Jan Hubicka <jh@suse.cz>
562
563 PR bootstrap/13692
564 * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
565 previous patch.
566
567 2004-01-15 Richard Henderson <rth@redhat.com>
568
569 * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
570 integer regs of the same call-savedness.
571
572 2004-01-15 Andreas Schwab <schwab@suse.de>
573
574 PR bootstrap/13562
575 * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
576 status for NOTB/NOTW/NEGW methods.
577
578 2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
579
580 * doc/invoke.texi: Update dump file names. Fix a typo.
581
582 2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
583
584 * builtins.c (expand_builtin_va_end): Don't use
585 EXPAND_BUILTIN_VA_END.
586 * system.h (EXPAND_BUILTIN_VA_END): Poison.
587 * config/d30v/d30v.h: Remove a commented-out definition of
588 EXPAND_BUILTIN_VA_END.
589 * config/stormy16/stormy16.h: Likewise.
590
591 2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
592
593 * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
594 * targhooks.c (default_struct_value_rtx): Don't use
595 STRUCT_VALUE_INCOMING_REGNUM.
596
597 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
598
599 PR bootstrap/12744
600 * configure.in: Revamp enable-generated-files-in-srcdir rule to define
601 GENINSRC and not parsedir. Define srcextra as a langhook.
602 * configure: Regenerate.
603 * Makefile.in: Suppress default .l.c rule. Don't substitute
604 parsedir and delete all references throughout. Conditionally define
605 rule for srcextra dependent on GENINSRC.
606 (stmp-docobjdir): Delete.
607 (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
608 (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
609 and gengtype-yacc.h back to source directory.
610 (maintainer-clean): Delete all parse files in source directory.
611 (distclean): Delete generated files.
612
613 * objc/Make-lang.in (objc-parse.o): Use implicit build rule.
614 (objc-parse.c, objc-parse.y): Don't use parsedir.
615 (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
616 directory if requested.
617 (po-generated): Don't use parsedir.
618 (objc.maintainer-clean): Delete above files from source directory.
619
620 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
621
622 * doc/tm.texi (FUNCTION_VALUE): Fix a typo.
623
624 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
625
626 * doc/tm.texi: Replace RETURN_IN_MEMORY with
627 TARGET_RETURN_IN_MEMORY.
628
629 2004-01-15 Jan Hubicka <jh@suse.cz>
630
631 * builtins.c (std_expand_builtin_va_arg): Align operand when needed.
632 * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
633 functions accepting SSE arguments
634 (function_arg): Warn only when asked to warn.
635 * i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
636
637 2004-01-14 Joseph S. Myers <jsm@polyomino.org.uk>
638
639 * c-parse.in (stmts_and_decls): Make label at end of compound
640 statement a hard error.
641
642 2004-01-14 Jan Hubicka <jh@suse.cz>
643
644 * cgraph.c (create_edge): Use local.redefined_extern_inline.
645 * cgraph.h (cgraph_local_info): Sort fields by size; add
646 redefined_extern_inline
647 (cgraph_global_info): Sort fields by size.
648 (cgraph_node): Likewise.
649 * cgraphunit.c (cgraph_finalize_function): Se
650 local.redefined_extern_inline on redefinition.
651 (cgraph_analyze_function): Use it; fix formating.
652
653 2004-01-14 Jan Hubicka <jh@suse.cz>
654
655 PR c++/10776
656 * sched-deps.c (trye_dependency_cache, anti_dependency_cache,
657 outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
658 bitmaps
659 (cache_size): New variable
660 (add_dependence): Update use; canonize early memory locations
661 (sched_analyze_1): Likewise.
662 (sched_analyze_2): Likewise.
663 (init_dependency_caches): Initialize bitmaps.
664 (free_dependency_caches): Free bitmaps
665
666 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
667
668 * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
669 targetm.calls.strict_argument_naming().
670 * target.h: Likewise.
671
672 2004-01-14 Richard Henderson <rth@redhat.com>
673
674 PR debug/13231
675 * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
676 instructions.
677
678 2004-01-14 Richard Henderson <rth@redhat.com>
679
680 PR c++/12491
681 * except.c (struct eh_region): Add u.fixup.resolved.
682 (resolve_one_fixup_region): Split out from ...
683 (resolve_fixup_regions): ... here.
684
685 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
686
687 * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
688
689 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
690
691 * config/alpha/alpha.h (STRUCT_VALUE): Remove.
692 * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
693 (STRUCT_VALUE): Remove.
694
695 2003-01-14 Steven Bosscher <stevenb@suse.de>
696
697 * system.h: Poison PROMOTED_MODE
698 * integrate.c (expand_inline_function): Don't mention the
699 PROMOTED_MODE.
700 * loop.c (update_giv_derive): Same.
701 * tree.h (DECL_RTL): Same.
702
703 2004-01-14 J"orn Rennecke <joern.rennecke@superh.com>
704
705 PR target/9365
706 * sh.c (gen_block_redirect): Add special handling of RETURN.
707 (gen_far_branch) Don't call gen_stuff_delay_slot if there is no
708 far branch target (i.e. it's a return).
709
710 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
711
712 * regrename.c (find_oldest_value_reg): Fix a warning.
713
714 2004-01-14 Richard Earnshaw <rearnsha@arm.com>
715
716 PR bootstrap/12527
717 * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
718 Move linux-gas.h and linux-elf.h before aout.h.
719 * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
720 * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
721
722 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
723
724 * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
725 (CONST_INT, VOIDmode, ...).
726
727 2004-01-14 Richard Earnshaw <rearnsha@arm.com>
728
729 * regrename.c (find_oldest_value_reg): If the replacement uses
730 multiple hard registers, check that all of them are in CLASS.
731
732 2004-01-14 Jan Hubicka <jh@suse.cz>
733
734 * alias.c (get_alias_set): Initialize alias set to 0 when subset is
735 impossible.
736
737 2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
738
739 * Makefile.in: Define MAINT from --enable-maintainer-mode.
740
741 2004-01-14 Hartmut Penner <hpenner@de.ibm.com>
742
743 * gcc/config/rs6000/rs6000.c (rs6000_stack_info)
744 Calculate always vrsave_mask if TARGET_ALTIVEC.
745 (rs6000_emit_prologue): Emit code for vrsave
746 only if TARGET_ALTIVEC_VRSAVE.
747 (rs6000_emit_epilogue): Likewise.
748
749 2004-01-14 Eric Botcazou <ebotcazou@libertysurf.fr>
750
751 * config/sparc/sparc.md (tie_add32): Fix pasto.
752 (tie_add64): Likewise.
753
754 2004-01-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
755
756 * config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
757
758 2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
759
760 * config/iq2000/iq2000-protos.h: Fix comment formatting.
761 * config/iq2000/iq2000.c: Likewise.
762 * config/iq2000/iq2000.md: Likewise.
763
764 2004-01-14 J. Brobecker <brobecker@gnat.com>
765
766 * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
767 (subrange_type_die): Add handle for nameless subrange types.
768
769 2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
770
771 * config/h8300/h8300-protos.h: Replace do_movsi with
772 h8300_expand_movsi.
773 * config/h8300/h8300.c (do_movsi): Change to
774 h8300_expand_movsi.
775 * config/h8300/h8300.md (movsi): Replace do_movsi with
776 h8300_expand_movsi.
777 (movsf): Likewise.
778
779 2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
780
781 * config/h8300/h8300.c (dosize): Change to
782 h8300_emit_stack_adjustment. Update callers.
783
784 2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
785
786 * config/h8300/h8300.md (movstrictqi): Add an alternative with
787 the source being post_inc. Tighten the predicate for the
788 destination to register_operand.
789 (movstricthi): Likewise.
790
791 2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
792
793 * system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
794 * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
795 * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
796
797 2004-01-14 Jan Hubicka <jh@suse.cz>
798
799 Partial fix PR c++/12850
800 * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
801 at zero nest level.
802
803 2004-01-13 Bernardo Innocenti <bernie@develer.com>
804
805 * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
806 pseudo-register.
807
808 2004-01-13 Devang Patel <dpatel@apple.com
809
810 PR debug/7078
811 * dbxout.c (dbxout_symbol_name): Emit mangled names for
812 NAMESPACE_DECL memebers.
813
814 2004-01-13 Andrew Pinski <pinskia@physics.uc.edu>
815
816 PR c++/12709
817 * c-common.c (finish_fname_decls): Use the chain only if the
818 tree is an expr_stmt.
819
820 2004-01-13 Vladimir Makarov <vmakarov@redhat.com>
821
822 * rtl.def: Add comment about new option in automata_option.
823
824 * genautomata.c (PROGRESS_OPTION): New macro.
825 (progress_flag): New global variable.
826 (gen_automata_option): Process `progress'.
827 (transform_insn_regexps, check_unit_distributions_to_automata,
828 make_automaton, NDFA_to_DFA, build_automaton, create_automata,
829 expand_automata, write_automata): Print about the progress only if
830 progress_flag. Remove fflush.
831 (initiate_automaton_gen): Process command line flag `-progress'.
832
833 * doc/md.texi: Describe the new option.
834
835 2004-01-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
836
837 * cfg.c (dump_bb): Dump entry edges.
838
839 2004-01-13 Richard Earnshaw <rearnsha@arm.com>
840
841 * arm.c (thumb_legitimate_address_p): Only allow constant pool
842 references from SImode.
843 * arm.md (thumb_movhi_insn): Don't allow minipool references.
844
845 2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
846
847 * system.h (TEXT_SECTION): Poison.
848 * varasm.c (text_section): Don't use TEXT_SECTION.
849 * config/sh/sh.c (sh_file_start): Fix a comment typo.
850 * doc/tm.texi (TEXT_SECTION): Remove.
851
852 2004-01-13 Ben Elliston <bje@wasabisystems.com>
853
854 * doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
855
856 2004-01-12 James E Wilson <wilson@specifixinc.com>
857
858 * unwind-libunwind.c: Delete.
859
860 2004-01-12 Zack Weinberg <zack@codesourcery.com>
861
862 PR 13656
863 * c-decl.c (diagnose_mismatched_decls): Whenever newtype or
864 oldtype is set, set *newtypep or *oldtypep too. Do not set
865 them at the very end.
866 (validate_proto_after_old_defn): Restructure for comprehensibility;
867 make error messages clearer.
868
869 2004-01-12 Zack Weinberg <zack@codesourcery.com>
870
871 * varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
872 (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
873 * varray.c: No need to prototype error.
874 (varray_check_failed): Wrap long string onto two lines.
875 (varray_underflow): New function.
876
877 2004-01-13 Steven Bosscher <stevenb@suse.de>
878
879 PR c++/13376
880 * function.h (struct function): Kill `name' field.
881 (current_function_name): Make it an extern function.
882 * function.c (current_function_name): New function.
883 * graph.c: Update all uses of current_function_name.
884 * gcse.c: Likewise.
885 * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
886 config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
887 * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
888 instead of a strcmp with "main".
889
890 2004-01-13 Jan Hubicka <jh@suse.cz>
891
892 * c-decl.c (diagnose_mismatched_decls): Fix warning calls.
893
894 * cgraphunit.c (cgraph_optimize_function): Always do
895 optimize_inline_calls when there is always_inline callee.
896 (cgraph_decide_inlining): Fix formating.
897 * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
898 functions.
899 (expand_call_inline): Likewise.
900 * toplev.h (sorry): Fix prototype.
901
902 2004-01-12 Roger Sayle <roger@eyesopen.com>
903
904 * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
905 conditional jumps that drop through to unconditional jumps or the
906 end of the sequence.
907
908 2004-01-13 Jan Hubicka <jh@suse.cz>
909
910 * alias.c (new_alias_set): Construct the alias_set varray.
911 (init_alias_once): Don't do it here.
912
913 2004-01-12 Marc Espie <espie@openbsd.org>
914
915 * system.h: handle YYBYACC like YYBISON.
916
917 2004-01-12 Jonathan Merriman <jonm@dualitymedia.com>
918
919 PR target/10847
920 * config.gcc: No longer includes conflicting header sparc/sol2.h when
921 building on sparc64-*-openbsd*.
922
923 2004-01-12 Andrew Pinski <pinskia@physics.uc.edu>
924
925 PR debug/13539
926 * dbxout.c (dbxout_type): Protected inheritance is not
927 private but protected.
928
929 2004-01-12 Richard Sandiford <rsandifo@redhat.com>
930
931 * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
932
933 2004-01-12 Kazu Hirata <kazu@cs.umass.edu>
934
935 PR optimization/12508.
936 * combine.c (try_combine): Remove a dead set in a parallel
937 even if its destination is a subreg.
938
939 Revert:
940 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
941 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
942 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
943
944 2004-01-12 Geoffrey Keating <geoffk@apple.com>
945
946 * real.c: Update copyright date.
947 * emit-rtl.c: Likewise.
948 * rtl.h: Likewise.
949 * dwarf2out.c: Likewise.
950 * config/rs6000/darwin-ldouble.c: Likewise.
951 * config/rs6000/rs6000.md: Likewise.
952
953 2004-01-12 David Edelsohn <edelsohn@gnu.org>
954
955 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
956 TFmode to SImode libfuncs.
957
958 2004-01-12 Roger Sayle <roger@eyesopen.com>
959
960 PR middle-end/11397
961 * varasm.c (assemble_alias): Remove weak aliases from weak_decls.
962
963 2004-01-12 Jan Hubicka <jh@suse.cz>
964
965 PR opt/12826
966 * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
967 stored.
968
969 PR opt/12863
970 * cfgcleanup.c (label_is_jump_target_p): Move to...
971 * rtlanal.c (label_is_jump_target_p): ... here.
972 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru
973 edges unified with branch edges.
974
975 2004-01-12 Richard Earnshaw <rearnsha@arm.com>
976
977 * simplify-rtx.c (simplify_immed_subreg): Correctly extract the
978 high word of an integral CONST_DOUBLE.
979
980 2004-01-12 Paul Brook <paul@codesourcery.com>
981
982 * simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
983
984 2004-01-12 J"orn Rennecke <joern.rennecke@superh.com>
985
986 PR target/13585
987 * sh-protos.h (check_use_sfunc_addr): Declare.
988 * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
989 * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
990
991 2004-01-12 Jan Hubicka <jh@suse.cz>
992
993 * alias.c: Invlude varray.h
994 (alias_sets): Turn into varray.
995 (get_alias_set_entry): Use VARRAY; mark inline.
996 (mems_in_disjoint_alias_sets_p): Mark inline.
997 (record_alias_subset): Use varray.
998 (init_alias_once): Initialize varray.
999 (new_alias_set): Grow array.
1000 * varray.c: Make VARRAY_GENERIC_PTR non GTYized.
1001
1002 2004-01-12 Jan Hubicka <jh@suse.cz>
1003
1004 Partial fix for PR opt/10776 II
1005 * cselib.c: Include params.h
1006 (cselib_invalidate_mem): Limit amount of nonconflicting memory
1007 locations.
1008 * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
1009 * Makefile.in (cselib.o): Depend on params.h
1010
1011 2004-01-12 Richard Sandiford <rsandifo@redhat.com>
1012
1013 * combine.c (combine_simplify_rtx): Don't pass VOIDmode to
1014 simplify_unary_operation if the operand has a known mode.
1015
1016 2004-01-12 Hartmut Penner <hpenner@de.ibm.com>
1017
1018 PR target/13534
1019 * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
1020 predicate to handle 'ld' conform addresses.
1021 * gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
1022 contraint.
1023 (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
1024 are memory contraints.
1025 * gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
1026 New prototype.
1027 * gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
1028 Change 'o' to 'Y' constraint.
1029 (*movdf_softfloat64): Ditto.
1030
1031 2004-01-12 Bernardo Innocenti <bernie@develer.com>
1032
1033 * gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the
1034 brace-enclosed syntax in all C output statements.
1035
1036 2004-01-12 David Edelsohn <edelsohn@gnu.org>
1037
1038 PR target/13401
1039 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
1040 Objective-C language type value is 14.
1041
1042 2004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com>
1043
1044 PR c/12148
1045 * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
1046 `int' in a number of places to make sure we always have a SImode
1047 and not a HImode. Add a 'L' suffix to a number of constants.
1048
1049 2004-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1050
1051 * pa.c: Don't include obstack.h.
1052
1053 * pa.md: Correct constraint in pattern for loading PIC label address.
1054
1055 2004-01-11 Kaz Kojima <kkojima@gcc.gnu.org>
1056
1057 * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
1058 before defining.
1059
1060 2004-01-11 Steven Bosscher <stevenb@suse.de>
1061
1062 PR fortran/9972
1063 * toplev.c (rest_of_handle_inline): Also consider functions
1064 for deferral if the language is GNU F77.
1065
1066 2004-01-11 Zack Weinberg <zack@codesourcery.com>
1067
1068 * c-decl.c (diagnose_arglist_conflict): Add missing space to
1069 diagnostic messages.
1070
1071 2004-01-11 Jakub Jelinek <jakub@redhat.com>
1072
1073 PR middle-end/13392
1074 * builtins.c (expand_builtin_expect_jump): Handle conditional jumps
1075 to drop through label. Don't fall back to SCC even when conditional
1076 jump has not been found.
1077
1078 2004-01-11 Jan Hubicka <jh@suse.cz>
1079
1080 * invoke.texi: Fix syntax error in previous patch.
1081
1082 Partial fix for PR opt/10776
1083 * Makefile.in (reload.o): Include param.h
1084 * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
1085 * reload.c: Include params.h.
1086 (find_equiv_reg): Work limiting check.
1087 * invoke.texi: Document.
1088
1089 2004-01-11 Richard Sandiford <rsandifo@redhat.com>
1090
1091 * config/mips/mips.c (mips_symbolic_constant_p): Don't allow
1092 out-of-bounds accesses to string constants. Simplify mips16
1093 case accordingly.
1094
1095 2004-01-11 Richard Sandiford <rsandifo@redhat.com>
1096
1097 PR optimization/13469
1098 * toplev.c (rest_of_compilation): Call purge_all_dead_edges after
1099 reload_cse_regs (-fnon-call-exceptions only).
1100
1101 2004-01-11 Kazu Hirata <kazu@cs.umass.edu>
1102
1103 * config/mcore/lib1.asm: Fix comment formatting.
1104 * config/mcore/mcore-elf.h: Likewise.
1105 * config/mcore/mcore.c: Likewise.
1106 * config/mcore/mcore.h: Likewise.
1107 * config/mcore/mcore.md: Likewise.
1108
1109 2004-01-10 Zack Weinberg <zack@codesourcery.com>
1110
1111 * c-decl.c (duplicate_decls): Break apart into...
1112 (diagnose_arglist_conflict, validate_proto_after_old_defn)
1113 (locate_old_defn, diagnose_mismatched_decls, merge_decls):
1114 ... these new functions. Restructure for comprehensibility.
1115 Remove various archaic special cases. Always report the
1116 location of the previous declaration when a diagnostic is issued.
1117 (redeclaration_error_message): Fold into diagnose_mismatched_decls.
1118 (match_builtin_function_types): Delete unnecessary forward declaration.
1119
1120 2004-01-10 Zack Weinberg <zack@codesourcery.com>
1121
1122 * genautomata.c (make_automaton, NDFA_to_DFA):
1123 Print progress bars with '.' characters instead of '*'.
1124 (build_automaton): Change notes to match.
1125
1126 2004-01-10 Kazu Hirata <kazu@cs.umass.edu>
1127
1128 * config/m32r/m32r.md: Use define_constants for unspec and
1129 unspec_volatile.
1130
1131 2004-01-10 Jan Hubicka <jh@suse.cz>
1132
1133 PR opt/11635
1134 * expr.c (expand_expr_real): More curefully expand union casts.
1135
1136 2004-01-10 Kazu Hirata <kazu@cs.umass.edu>
1137
1138 * config/m32r/m32r.md (flush_icache): Use 1 for
1139 unspec_volatile.
1140
1141 2004-01-10 David Edelsohn <edelsohn@gnu.org>
1142 James E Wilson <wilson@specifixinc.com>
1143
1144 PR debug/12860
1145 * dbxout.c (dbxout_symbol): Remove initialization of
1146 current_sym_code, current_sym_value, and current_sym_addr.
1147 (dbxout_symbol_location): Same.
1148 (dbxout_prepare_symbol): Zero current_sym_code,
1149 current_sym_value, and current_sym_addr.
1150
1151 2004-01-10 Richard Sandiford <rsandifo@redhat.com>
1152
1153 * tree.c (get_unwidened): Reorder conditions so that the null pointer
1154 check is done first.
1155
1156 2004-01-09 Eric Christopher <echristo@redhat.com>
1157
1158 * toplev.c (rest_of_handle_cfg): Add reg_scan pass
1159 if we're running mark_constant_function.
1160
1161 2004-01-09 Jeff Bailey <jbailey@nisa.net>
1162
1163 PR target/12561
1164 * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
1165
1166 2004-01-09 Andrew Pinski <pinskia@physics.uc.edu>
1167
1168 PR debug/11231
1169 * dbxout.c (dbxout_type_fields): Return if any item is
1170 error_mark_node or the type is error_mark_node.
1171
1172 2004-01-09 Geoffrey Keating <geoffk@apple.com>
1173
1174 * config/rs6000/darwin-ldouble.c: Add big comment explaining
1175 exactly what is expected as a 'long double'.
1176 (_xlqadd): When a value to be returned is representable as a
1177 'double', just return it directly, do not construct it using a union.
1178 Also, correct final fixup.
1179 (_xlqmul): Likewise.
1180 (_xlqdiv): Likewise.
1181 * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
1182
1183 * config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
1184
1185 2004-01-09 Richard Henderson <rth@redhat.com>
1186
1187 * recog.c (constrain_operands): Validate mem operands.
1188
1189 2004-01-09 James E Wilson <wilson@specifixinc.com>
1190
1191 * gcc.c (init_spec): Remove -lunwind from shared case.
1192 * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
1193
1194 2004-01-09 Steve Ellcey <sje@cup.hp.com>
1195
1196 * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
1197 * configure: Regenerate
1198
1199 2004-01-09 Joseph S. Myers <jsm@polyomino.org.uk>
1200
1201 PR c/11234
1202 * c-typeck.c (build_c_cast): If pedantic, warn for conversions
1203 between function and object pointers.
1204 (digest_init): When comparing a pointer to function type to the
1205 target type, only apply TREE_TYPE once to the pointer to function
1206 type.
1207 * except.c (for_each_eh_label_1): Treat data as a pointer to a
1208 function pointer rather than casting it to a function pointer.
1209 (for_each_eh_label): Update caller.
1210 * recog.h (struct insn_data): Use a struct or union for output.
1211 * genoutput.c (output_insn_data): Update.
1212 * final.c (get_insn_template): Update.
1213
1214 2004-01-09 Mark Mitchell <mark@codesourcery.com>
1215
1216 * expr.h (expand_expr): Make it a macro, not a function.
1217 (expand_expr_real): New function.
1218 * expr.c (store_expr): Adjust logic for deciding whether or not to
1219 copy the value returned by expand_expr.
1220 (expand_expr): Rename to ...
1221 (expand_expr_real): ... this. Add alt_rtl parameter. Adjust
1222 calls to language hooks.
1223 * c-common.h (c_expand_expr): Adjust prototype.
1224 * c-common.c (c_expand_expr): Add alt_rtl parameter.
1225 * langhooks-def.h (lhd_expand_expr): Change prototype.
1226 * langhooks.c (lhd_expand_expr): Add all_rtl parameter.
1227 * langhooks.h (lang_hooks): Change type of expand_expr.
1228 * stmt.c (stmt_status): Add x_last_expr_alt_rtl.
1229 (last_expr_alt_rtl): Likewise.
1230 (expand_expr_stmt_value): Set last_expr_alt_rtl.
1231 (clear_last_expr): Clear it.
1232 (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
1233 (expand_end_bindings): Save and restor last_expr_alt_rtl.
1234 * tree.def (RTL_EXPR): Give it an additional operand.
1235 * tree.h (RTL_EXPR_ALT_RTL): New macro.
1236
1237 2004-01-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1238
1239 * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
1240 * config/m32r/m32r.c (call26_operand): Allow in PIC mode.
1241
1242 2004-01-09 Kazu Hirata <kazu@cs.umass.edu>
1243
1244 PR target/13380.
1245 * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
1246 or (ne:SI (reg:CC 17) (const_int 0)).
1247 Be specific about modes wherever possible.
1248
1249 2004-01-09 Kazu Hirata <kazu@cs.umass.edu>
1250
1251 * config/m32r/m32r.c (m32r_expand_block_move): Call
1252 gen_movestrsi_internal with two more arguments.
1253 (m32r_output_block_move): Adjust operand numbers.
1254 Properly update the source and destination pointers.
1255 * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
1256 'r+'. Change the set detinations to match_operand.
1257
1258 2004-01-09 Kazu Hirata <kazu@cs.umass.edu>
1259
1260 * final.c (FIRST_INSN_ADDRESS): Remove.
1261 (shorten_branches): Don't use FIRST_INSN_ADDRESS.
1262 * system.h (FIRST_INSN_ADDRESS): Poison.
1263 * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
1264 * config/m32r/m32r-protos.h: Remove the prototype for
1265 m32r_first_insn_address.
1266 * config/m32r/m32r.c (m32r_first_insn_address): Remove.
1267 * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
1268 * doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
1269
1270 2004-01-09 J. Brobecker <brobecker@gnat.com>
1271
1272 * dwarf2out.c (gen_enumeration_type_die): Return the DIE that
1273 we just created.
1274 (is_ada_subrange_type): DIEs for enumeration subtypes should be
1275 emitted as subrange types too.
1276 (subrange_type_die): Add handling of enumeration subtypes.
1277
1278 2004-01-08 Richard Henderson <rth@redhat.com>
1279
1280 PR opt/12441
1281 Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
1282 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
1283 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
1284 (ix86_address_cost): Be prepared for SUBREGed registers.
1285 (legitimate_address_p): Accept SUBREGed registers.
1286
1287 2004-01-08 Kelley Cook <kcook@gcc.gnu.org>
1288
1289 * Makefile.in: Rename configure.in to configure.ac
1290 * doc/sourcebuild.texi: Likewise.
1291 * configure: Regenerate.
1292 * config.in: Regenerate.
1293
1294 2004-01-08 Stuart Hastings <stuart@apple.com>
1295
1296 * config/i386/i386.md: Typos in MMX/SSE immediate shifts.
1297
1298 2004-01-08 Jan Hubicka <jh@suse.cz>
1299
1300 * cgraphunit.c (cgraph_decide_inlining): Fix typo.
1301
1302 2004-01-08 Geoffrey Keating <geoffk@apple.com>
1303
1304 * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
1305 (UNSPEC_FIX_TRUNC_TF): New constant.
1306 (movtf_internal): Make splitter active only when insn is active.
1307 (extenddftf2): Rewrite to properly load zero into low part.
1308 (extenddftf2_internal): New.
1309 (extendsftf2): Rewrite.
1310 (truncdftf2): Correct length.
1311 (floatditf2): Delete.
1312 (fix_trunc_helper): New.
1313 (fix_trunctfdi2): Use fix_trunc_helper.
1314 (fix_trunctfsi2): Likewise.fix_trunc
1315 (fix_trunctfsi2_internal): New.
1316
1317 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
1318 addresses are legitimate on Darwin even when flag_pic.
1319 (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
1320 non-offsettable addresses for loads of TFmode constants.
1321
1322 2004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1323
1324 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
1325 variables in the appropriate bss section.
1326
1327 2004-01-09 Alan Modra <amodra@bigpond.net.au>
1328
1329 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
1330 target_flags has MASK_POWERPC64 when -m64.
1331 * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
1332 to 620, 630, power3, power4 and rs64a entries.
1333 * config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
1334
1335 2004-01-08 Richard Sandiford <rsandifo@redhat.com>
1336
1337 * simplify-rtx.c (simplify_immed_subreg): Fix construction of
1338 floating-point constants.
1339
1340 2004-01-08 J. Brobecker <brobecker@gnat.com>
1341
1342 * dwarf2out.c (subrange_type_die): Add context_die parameter.
1343 Create the subrange_type DIE using the given context DIE.
1344 (modified_type_die): Update call to subrange_type_die.
1345
1346 2004-01-08 Zack Weinberg <zack@codesourcery.com>
1347
1348 * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
1349 Add multiple-include guard.
1350
1351 2004-01-08 Hartmut Penner <hpenner@de.ibm.com>
1352
1353 * gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept
1354 all vector constant loadable by vsplt*.
1355 (output_vec_const_move): Likewise.
1356
1357 2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
1358
1359 PR c/6024
1360 * c-typeck.c (comptypes): Only treat enumerated types in the same
1361 translation unit as compatible with each other when they are the
1362 same type.
1363 * doc/extend.texi: Update.
1364
1365 2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
1366
1367 PR c/12165
1368 * c-decl.c (grokdeclarator): Take type qualifiers of typedefed
1369 array type from the array element type.
1370
1371 2004-01-07 Alan Modra <amodra@bigpond.net.au>
1372
1373 * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
1374 * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
1375 * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
1376 (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
1377 * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
1378
1379 2004-01-06 Eric Christopher <echristo@redhat.com>
1380
1381 * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
1382 (DWARF2_DEBUGGING_INFO): Define.
1383 (PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
1384 * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
1385 * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
1386 for irix as.
1387 (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
1388 * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
1389 * config/mips/iris5gas.h: Ditto.
1390 (DBX_DEBUGGING_INFO): Remove.
1391 (DWARF2_DEBUGGING_INFO): Ditto.
1392 (MIPS_DEBUGGING_INFO): Ditto.
1393 (PREFERRED_DEBUGGING_TYPE): Ditto.
1394 * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
1395 (PREFERRED_DEBUGGING_TYPE): Ditto.
1396 (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
1397 * config/mips/elf64.h: Ditto.
1398
1399 2004-01-06 Jan Hubicka <jh@suse.cz>
1400
1401 * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
1402 (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
1403
1404 2004-01-06 Geoffrey Keating <geoffk@apple.com>
1405
1406 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
1407 (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
1408 * config/rs6000/darwin-ldouble.c: New.
1409
1410 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
1411 for constants.
1412 (constant_subword): Delete.
1413 * rtl.h (constant_subword): Delete prototype.
1414 (immed_double_const): Is not in varasm.c.
1415 * simplify-rtx.c (simplify_immed_subreg): New.
1416 (simplify_subreg): Use simplify_immed_subreg.
1417
1418 * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
1419 than trying to generate RTL directly.
1420 (fix_trunctfsi2): Use expand_fix rather than trying to generate
1421 RTL directly.
1422
1423 * dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
1424
1425 2004-01-06 David Edelsohn <edelsohn@gnu.org>
1426
1427 * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
1428 function into a separate macro.
1429 (read_only_data_section): Add void argument.
1430 (private_data_section): Same.
1431 (read_only_private_data_section): Same.
1432 (toc_section): Same.
1433
1434 2004-01-06 Jan Hubicka <jh@suse.cz>
1435
1436 * invoke.texi: Remove typo in last change.
1437
1438 PR target/10301
1439 * config.gcc: Accept opteron and athlon-64 as variants
1440 of k8.
1441 * i386.c (override_options): Likewise.
1442 * invoke.texi (i386 -mtune): Expand documentation.
1443
1444 2004-01-06 Kazu Hirata <kazu@cs.umass.edu>
1445
1446 * alias.c: Fix comment typos.
1447 * builtins.c: Likewise.
1448 * cfg.c: Likewise.
1449 * df.c: Likewise.
1450 * dominance.c: Likewise.
1451 * dwarf2out.c: Likewise.
1452 * emit-rtl.c: Likewise.
1453 * expr.c: Likewise.
1454 * final.c: Likewise.
1455 * fold-const.c: Likewise.
1456 * gcse.c: Likewise.
1457 * genattrtab.c: Likewise.
1458 * genrecog.c: Likewise.
1459 * gensupport.c: Likewise.
1460 * ggc-zone.c: Likewise.
1461 * integrate.c: Likewise.
1462 * local-alloc.c: Likewise.
1463 * loop.c: Likewise.
1464 * recog.c: Likewise.
1465 * regmove.c: Likewise.
1466 * reg-stack.c: Likewise.
1467 * reorg.c: Likewise.
1468 * rtlanal.c: Likewise.
1469 * rtl.h: Likewise.
1470 * sched-ebb.c: Likewise.
1471 * simplify-rtx.c: Likewise.
1472 * toplev.c: Likewise.
1473 * varasm.c: Likewise.
1474
1475 2004-01-06 Kazu Hirata <kazu@cs.umass.edu>
1476
1477 * doc/install.texi: Fix typos.
1478 * doc/invoke.texi: Likewise.
1479 * doc/md.texi: Likewise.
1480
1481 2004-01-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1482
1483 * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
1484
1485 2004-01-06 Jan Hubicka <jh@suse.cz>
1486
1487 * i386.c (init_cumulative_args): Add handling of MMX_REGPARM.
1488 (function_arg_advance): Do not pass aggregates in SSE; deal handling
1489 of MMX_REGPARM.
1490 (function_arg): Add new warnings about ABI changes; fix SSE_REGPARM;
1491 add MMX_REGPARM.
1492 * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
1493 (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
1494 (MMX_REGPARM_MAX): Similarly for -mmmx.
1495
1496 2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
1497
1498 * config/sh/linux.h: Fix comment formatting.
1499 * config/sh/netbsd-elf.h: Likewise.
1500 * config/sh/sh.c: Likewise.
1501 * config/sh/sh.h: Likewise.
1502 * config/sh/vxworks.h: Likewise.
1503
1504 2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
1505
1506 * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
1507 * toplev.c (output_file_directive): Don't use
1508 ASM_OUTPUT_MAIN_SOURCE_FILENAME.
1509
1510 2004-01-05 Daniel Berlin <dberlin@dberlin.org>
1511
1512 * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
1513 (USING_MMAP): We don't support non-mmap.
1514 (struct alloc_chunk): Steal 1 bit from typecode, use it to mark
1515 large objects.
1516 (struct page_entry): Remove bytes_free.
1517 (struct page_table_chain): Remove.
1518 (struct globals): Remove page_table member.
1519 (loookup_page_table_entry): Function deleted.
1520 (set_page_table_entry): Ditto.
1521 (ggc_allocated_p): No longer need page table lookups.
1522 (ggc_marked_p): Ditto.
1523 (alloc_small_page): Don't care about bytes_free anymore.
1524 (alloc_large_page): Round up size.
1525 (ggc_alloc_zone_1): Mark large objects as such, and calculate
1526 their size the new way.
1527 Remove page table lookups and setting.
1528 (ggc_get_size): Calculate large object size the new way.
1529 (sweep_pages): Redo to account for fact that we no longer have
1530 bytes_free.
1531 (ggc_collect): No longer need to reincrement bytes_free.
1532 (ggc_pch_alloc_object): Handle new large objects properly.
1533 (ggc_pch_read): Put PCH stuff into it's own uncollected zone.
1534
1535 2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
1536
1537 * doc/invoke.texi: Remove a page break.
1538
1539 2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
1540
1541 * config/avr/avr.c (avr_output_function_prologue): Remove an
1542 extra pair of curly braces.
1543
1544 2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
1545
1546 * config/mn10300/mn10300.c: Fix comment formatting.
1547 * config/mn10300/mn10300.h: Likewise.
1548
1549 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1550
1551 * tree.h: Update documentation on nothrow_flag.
1552 * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
1553 types.
1554
1555 2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
1556
1557 * doc/invoke.texi: Remove traces of dead ports.
1558
1559 2004-01-05 Richard Sandiford <rsandifo@redhat.com>
1560
1561 * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
1562 option.
1563
1564 2004-01-05 Richard Sandiford <rsandifo@redhat.com>
1565
1566 PR target/12945
1567 * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
1568 counter labels.
1569 * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
1570 (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
1571 string constants if TARGET_MIPS16. Use SYMBOL_REF_DECL to check
1572 the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
1573 (mips_symbol_insns): Don't trust the local/global classification.
1574 (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
1575 (override_options): Make -mabicalls -fno-unit-at-a-time imply
1576 -mno-explicit-relocs.
1577 (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
1578 between local and global symbols.
1579
1580 2004-01-05 Richard Sandiford <rsandifo@redhat.com>
1581
1582 * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
1583 (mips_preferred_reload_class): Declare.
1584 * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
1585 (EXTRA_CONSTRAINT): Update accordingly.
1586 (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
1587 * config/mips/mips.c (mips_dangerous_for_la25_p): New function.
1588 (mips_preferred_reload_class): New function. Prefer LEA_REGS if
1589 mips_dangerous_for_la25_p.
1590 (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
1591 if mips_dangerous_for_la25_p.
1592
1593 2004-01-05 Bernardo Innocenti <bernie@develer.com>
1594
1595 * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
1596 warning.
1597
1598 2004-01-04 Nathanael Nerode <neroden@gcc.gnu.org>
1599
1600 * configure.ac: Use AC_PROG_CPP_WERROR.
1601 * configure: Regenerate.
1602
1603 2004-01-04 Zack Weinberg <zack@codesourcery.com>
1604
1605 * .cvsignore: Add autom4te.cache.
1606
1607 2004-01-04 Richard Sandiford <rsandifo@redhat.com>
1608
1609 * doc/invoke.texi: Revamp documentation of MIPS options. Remove
1610 -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
1611 -m4650, -mfix7000 and -(m)no-crt0. Put endianness options first,
1612 then architecture options, then ABI options. General rewording.
1613
1614 2004-01-04 Joseph S. Myers <jsm@polyomino.org.uk>
1615
1616 PR c/3414
1617 * doc/extend.texi: Clarify definition of malloc attribute.
1618
1619 2004-01-04 Jan Hubicka <jh@suse.cz>
1620
1621 * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
1622 * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
1623 * cgraph.h (cgraph_edge): Replace inline_call by inline_failed
1624 (cgraph_inline_p): Add extra argument reason.
1625 * cgraphunit.c: Minor formating fixes.
1626 cgraph_first_inlined_callee): New functions.
1627 (record_call_1): Record builtins too.
1628 (cgraph_analyze_function): Update inline_failed messages.
1629 (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
1630 cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
1631 (cgraph_check_inline_limits): Likewise; Add argument reason.
1632 (cgraph_set_inline_failed): New static function.
1633 (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
1634 reasons.
1635 (cgraph_inline_p): Add new argument reason.
1636 * tree-inline.c (expand_call_inline): Update warning.
1637
1638 2004-01-03 Nathanael Nerode <neroden@gcc.gnu.org>
1639
1640 * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
1641 with modern equivalents.
1642 * configure: Regenerate.
1643
1644 * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
1645 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
1646 * configure: Regenerate.
1647
1648 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
1649
1650 * configure.in: Rename to configure.ac.
1651 * configure.ac: Renamed from configure.in; make minimum necessary
1652 changes for autoconf 2.5x.
1653 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
1654 * configure: Regenerate with autoconf 2.57.
1655
1656 2004-01-03 Kazu Hirata <kazu@cs.umass.edu>
1657
1658 * config/mips/linux.h: Fix comment formatting.
1659 * config/mips/mips.c: Likewise.
1660 * config/mips/mips.h: Likewise.
1661 * config/mips/mips.md: Likewise.
1662 * config/mips/netbsd.h: Likewise.
1663 * config/mips/windiss.h: Likewise.
1664
1665 2004-01-02 Richard Henderson <rth@redhat.com>
1666
1667 * config/i386/i386.md (fp constant pool splitter): Reorg suppression
1668 for sse and 387; add suppression for mmx.
1669
1670 2004-01-02 Andrew Pinski <pinskia@physics.uc.edu>
1671
1672 * loop.c (loop_optimize): Free all loops_info's mems.
1673
1674 * c-typeck.c (finish_init): Free spelling_base before
1675 setting it again.
1676
1677 * cfgloop.c (flow_loops_find): Always free the sbitmap
1678 headers.
1679
1680 * predict.c (estimate_probability): Free bbs after being
1681 done with it.
1682
1683 2004-01-02 Kazu Hirata <kazu@cs.umass.edu>
1684
1685 * config/mn10300/mn10300.h (PREDICATE_CODES): Add
1686 const_8bit_operand and call_address_operand.
1687
1688 2004-01-02 Jan Hubicka <jh@suse.cz>
1689
1690 * cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls
1691 when there is nothing to inline but warnings are requested.
1692 (cgraph_decide_inlining): Fix memory leak.
1693
1694 2004-01-02 Jan Hubicka <jh@suse.cz>
1695
1696 * expr.c (store_constructor): Fix pasto in previous patch.
1697
1698 2004-01-02 Kazu Hirata <kazu@cs.umass.edu>
1699
1700 * config/i386/cygming.h: Fix comment formatting.
1701 * config/i386/djgpp.h: Likewise.
1702 * config/i386/gthr-win32.c: Likewise.
1703 * config/i386/i386-interix.h: Likewise.
1704 * config/i386/i386.c: Likewise.
1705 * config/i386/i386.h: Likewise.
1706 * config/i386/openbsd.h: Likewise.
1707 * config/i386/winnt.c: Likewise.
1708 * config/i386/xm-mingw32.h: Likewise.
1709
1710 2004-01-02 Joseph S. Myers <jsm@polyomino.org.uk>
1711
1712 * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
1713 copyright and last modification dates.
1714
1715 2004-01-02 Andreas Jaeger <aj@suse.de>, Gerald Pfeifer <gp@suse.de>
1716
1717 * doc/install.texi (Specific): Mention x86_64.
1718
1719 2004-01-01 Hans-Peter Nilsson <hp@bitrange.com>
1720
1721 * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
1722 Call force_operand on plus_constant result.
1723
1724 2004-01-01 Jan Hubicka <jh@suse.cz>
1725
1726 * expmed.c (store_bit_field, extract_bit_field): Use new named patterns
1727 * expr.c (store_constructor): Use vec_init pattern.
1728 * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
1729 * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
1730 (vec_set_optab, vec_extract_optab, vec_init_optab): New.
1731 * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
1732 New patterns.
1733 (sse2_unpc?pd): Fix pattern.
1734 (sse2_movlpd): Kill.
1735 (sse2_movsd): Deal with movlpd too.
1736 * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
1737 (ix86_expand_vector_init): New.
1738 * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
1739 * md.texi (vec_set, vec_extract): Document
1740
1741 2003-12-31 Jan Hubicka <jh@suse.cz>
1742
1743 PR opt/13473
1744 * recog.c (validate_replace_rtx_1): Take care for RTL sharing inside
1745 ASM input operands
1746
1747 PR opt/12617
1748 * toplev.c (dump_file_index): Reorder ce3 and bbro.
1749 (dump_file): Likewise.
1750 (rest_of_compilation): Likewise.
1751
1752 PR debug/13367
1753 * cgraph.c (cgraph_function_possibly_inlined): Even with
1754 flag_really_no_inline we inline always_inline functions.
1755 * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
1756 for non-always_inline functions when there is flag_really_no_inline.
1757 (cgraph_decide_inlining): Limit work done when not inlining.
1758 (cgraph_decide_inlining_incrementally): Likewise.
1759 (cgraph_optimize_function): Check whether something got inlined.
1760 * c-objc-common.c (c_disregard_inline_limits): Do not always inline
1761 extern inline functions when not inlining.
1762
1763 * opts.c (decode_options): Disable crossjumping at -O1
1764 * invoke.texi (-O1): Document change.
1765
1766 See ChangeLog.10 for earlier changes.