1 2002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
3 * doc/install.texi: Update Texinfo version requirement
6 2002-05-01 Jakub Jelinek <jakub@redhat.com>
8 PR target/6512, PR target/5628
9 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
10 when memory is not aligned.
11 (movdf_insn_v9only_vis): Likewise.
12 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
13 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
14 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
16 2002-05-01 Aldy Hernandez <aldyh@redhat.com>
18 * gcc.dg/altivec-7.c: New.
20 * config/rs6000/altivec.h: Cleanup.
22 2002-04-30 Aldy Hernandez <aldyh@redhat.com>
24 * doc/invoke.texi (Option Summary): Add -mvrsave=.
25 (RS/6000 and PowerPC Options): Document -mvrsave=.
27 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
28 (rs6000_altivec_vrsave_string): Same.
29 (rs6000_override_options): Call rs6000_parse_vrsave_option.
30 (rs6000_parse_vrsave_option): New.
31 (rs6000_stack_info): Only generate vrsave instructions when
32 TARGET_ALTIVEC_VRSAVE.
34 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
35 (rs6000_altivec_vrsave_string): Define extern.
36 (rs6000_altivec_vrsave): Same.
37 (TARGET_ALTIVEC_VRSAVE): New.
39 2002-04-30 Richard Henderson <rth@redhat.com>
42 * toplev.c (rest_of_compilation): Don't run cross-jump before
45 2002-04-30 Tom Rix <trix@redhat.com>
47 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
48 check which_alternative.
50 2002-04-30 Kazu Hirata <kazu@hxi.com>
52 * cpplex.c: Fix comment formatting.
53 * function.c: Likewise.
54 * integrate.c: Likewise.
55 * regrename.c: Likewise.
56 * sibcall.c: Likewise.
57 * simplify-rtx.c: Likewise.
58 * tree-inline.c: Likewise.
60 2002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
62 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
63 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
64 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
65 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
66 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
67 * pa/x-ada: New file. Define ADA_CFLAGS.
69 2002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
71 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
72 from MMIX_LAST_REGISTER_FILE_REGNUM.
73 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
74 (struct machine_function): New member highest_saved_stack_register
75 previously static variable in mmix.c.
76 (MACHINE_DEPENDENT_REORG): Define.
77 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
78 (MMIX_OUTPUT_REGNO): New.
79 (mmix_target_asm_function_prologue): Move calculation of last used
80 saved-stack-register into...
81 (mmix_machine_dependent_reorg): New function. Update to also handle
83 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
84 register names, simplify somewhat by new variable regno.
85 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
87 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
88 emitting register names.
89 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
90 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
92 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
95 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
97 2002-04-30 Richard Henderson <rth@redhat.com>
99 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
100 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
101 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
102 emit_tfmode_cvt): New.
103 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
104 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
105 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
106 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
107 * config/sparc/sparc-protos.h: Update.
109 2002-04-30 Janis Johnson <janis187@us.ibm.com>
111 * install.texi (Final install): Add to the list of info to include
112 in a report of a successful bootstrap, and add link to 3.1 list.
114 Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
116 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
117 (mode): Add vector modes
118 (i387): Kill attribute.
119 (unit): New attribute.
120 (length_immediate): Grok new types.
121 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
123 (memory): Handle MMX/SSE properly.
124 (scheduling descriptions): Kill uses of fop1.
125 (sse, mmx, fp patterns): Set type and mode properly.
127 Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@cygnus.com)
129 * pa.c (override_options): Default to PA8000 scheduling.
130 * doc/invoke.texi (HP-PA options): Mention newly added 7300
131 scheduling parameter.
133 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
134 handling of double precision multiplies.
136 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
137 fpdiv and fpsqrt instructions.
138 (7200 & 7300 scheduling): Fix typo in handling of
139 store-load and store-store penalties.
141 2002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
143 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
144 mips. Add two missing commas.
146 2002-04-30 Paolo Carlini <pcarlini@unitus.it>
148 * doc/contrib.texi (Contributors): Update Paolo Carlini's
149 and Benjamin Kosnik's entries.
151 2002-04-29 David S. Miller <davem@redhat.com>
153 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
154 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
155 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
156 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
158 2002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
160 * combine.c (find_split_point): Use gen_int_mode.
162 2002-04-29 Vladimir Makarov <vmakarov@redhat.com>
164 Merging code from dfa-branch:
166 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
168 * genautomata.c (output_reserv_sets): Fix typo.
170 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
172 * genautomata.c (output_reserv_sets): Remove
173 next_cycle_output_flag.
175 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
177 * sched-rgn.c (init_ready_list): Make the DFA code handle
178 USE/CLOBBER insns in the same way as the traditional
180 (new_ready): Similarly..
182 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
184 * haifa-sched.c (schedule_block): Change the DFA state only after
187 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
189 * pa.c (hppa_use_dfa_pipeline_interface): New function.
190 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
191 (override_options): Add PA7300 scheduling support.
192 (pa_adjust_cost): Update various comments. Properly
193 handle anti and output dependencies when using the
195 (pa_issue_rate): Add PA7300 scheduling support.
196 (pa_can_combine_p): Call extract_insn before calling
197 constrain_operands (taken from mainline tree).
198 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
199 * pa.md (cpu attr): Add 7300. Rewrite pipeline
200 descriptions using DFA descriptions. Add PA7300
203 2002-03-30 David S. Miller <davem@redhat.com>
205 Add UltraSPARC-III DFA scheduling support.
206 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
207 Update FP conditional move on register insn patterns to use it, as
209 (define_attr cpu): Add ultrasparc3.
210 (define_attr us3load_type): New, update integer load patterns to
211 set it, as appropriate.
212 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
213 (rest): Add UltraSPARC3 scheduling description.
214 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
215 (PROCESSOR_ULTRASPARC3): New.
216 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
217 ({ASM,CPP}_CPU_SPEC): Likewise.
218 (REGISTER_MOVE_COST): Likewise.
219 (RTX_COSTS): Likewise.
220 * config/sparc/sparc.c (sparc_override_options,
221 sparc_initialize_trampoline, sparc64_initialize_trampoline,
222 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
223 sparc_issue_rate): Likewise.
224 * config/sparc/sol2.h: Likewise.
225 * config/sparc/sol2-sld-64.h: Likewise.
226 * config/sparc/linux64.h: Likewise.
228 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
230 * doc/md.texi: Add comments about usage the latency time for the
231 different dependencies and about case when two or more conditions
232 in different define_insn_reservations returns TRUE for an insn.
234 * doc/md.texi: Add reference for automaton based pipeline
237 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
239 * doc/passes.texi: Add missed information about genattrtab.
241 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
243 * genautomata.c (output_automata_list_transition_code): Check
244 automata_list on NULL.
246 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
248 * genautomata.c (output_insn_code_cases,
249 output_automata_list_min_issue_delay_code,
250 output_automata_list_transition_code,
251 output_automata_list_state_alts_code): Comment the functions.
253 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
255 * genautomata.c (automata_list_el_t): New typedef.
256 (get_free_automata_list_el,free_automata_list_el,
257 free_automata_list, automata_list_hash, automata_list_eq_p,
258 initiate_automata_lists, automata_list_start, automata_list_add,
259 automata_list_finish, finish_automata_lists,
260 output_insn_code_cases, output_automata_list_min_issue_delay_code,
261 output_automata_list_transition_code,
262 output_automata_list_state_alts_code, add_automaton_state,
263 form_important_insn_automata_lists): New functions and prototypes.
264 (insn_reserv_decl): Add members important_automata_list and
266 (ainsn): Add members important_p.
267 (automata_list_el): New structure.
268 (first_free_automata_list_el, current_automata_list,
269 automata_list_table): New global variables.
270 (create_ainsns): Initiate member important_p.
271 (output_internal_min_issue_delay_func): Generate the switch and
272 call output_insn_code_cases.
273 (output_internal_trans_func, output_internal_state_alts_func):
275 (generate): Call initiate_automata_lists.
276 (automaton_states): New global variable.
277 (expand_automata): Call form_important_insn_automata_lists.
278 (write_automata): Call finish_automata_lists.
280 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
282 * genautomata.c (add_excls, add_presence_absence): Check that
283 cpu units in the sets belong the same automaton.
285 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
286 about that cpu units in the sets belong the same automaton.
288 * doc/md.texi: Ditto.
290 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
291 Nitin Gupta <niting@noida.hcltech.com>
293 * config/sh/sh.c (sh_use_dfa_interface): New function.
295 (sh_issue_rate): New Function.
296 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
297 TARGET_SCHED_ISSUE_RATE: define.
299 * config/sh/sh.md: Add DFA based pipeline description for SH4.
301 (define_attr insn_class): New attribute used for DFA
303 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
304 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
305 cmpeqdi_t): Likewise.
307 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
308 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
310 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
312 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
314 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
317 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
319 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
320 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
322 (output_dfa_start_func): Initiate new variable insn_codes_length,
323 (write_automata): Output definition of the new variable.
325 2001-10-02 David S. Miller <davem@redhat.com>
327 * haifa-sched.c (advance_one_cycle): New function.
328 (schedule_block): Use it.
329 (queue_to_ready): Use it, and also make sure to advance the DFA
330 state on all stall cycles, not just those where insn_queue links
333 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
335 * haifa-sched.c (max_issue): Remove last_p argument. Only return
336 non-zero if the highest-priority instruction could be scheduled.
337 (choose_ready): Remove last argument from max_issue call.
339 2001-09-28 David S. Miller <davem@redhat.com>
341 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
342 ultrasparc and 3 for other multi-issue sparcs.
344 2001-09-27 David S. Miller <davem@redhat.com>
346 * config/sparc/sparc.md (cycle_display): New pattern.
347 * config/sparc/sparc.c (sparc_cycle_display): New.
348 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
350 2001-09-25 David S. Miller <davem@redhat.com>
352 Convert all of Sparc scheduling to DFA
353 * config/sparc/sparc.md: Kill all define_function_unit
354 directives and replace with DFA equivalent.
355 * config/sparc/sparc.c (ultrasparc_adjust_cost,
356 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
357 ultra_fpmode_conflict_exists, ultra_find_type,
358 ultra_build_types_avail, ultra_flush_pipeline,
359 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
360 ultrasparc_variable_issue, ultrasparc_sched_init,
361 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
362 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
363 ultra_cur_hist, ultra_cycles_elapsed): Kill.
364 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
365 ultrasparc_store_bypass_p): New.
366 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
369 2001-09-24 David S. Miller <davem@redhat.com>
371 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
372 ready->vec[foo] not ready[foo].
374 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
376 * doc/md.texi: Correct examples for define_insn_reservations
379 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
381 * genautomata.c (create_automata): Print message about creation of
383 (generate): Remove printing meease about creation of
386 2001-09-05 David S. Miller <davem@redhat.com>
388 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
389 * config/sparc/linux64.h: Likewise.
391 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
393 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
394 schedule_block, sched_init, sched_finish): Add missed calls of
395 use_dfa_pipeline_interface.
397 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
400 * sched-vis.c (get_visual_tbl_length): Ditto.
402 2001-08-27 Richard Henderson <rth@redhat.com>
404 * genattr.c (main): Emit state_t even when not doing scheduling.
406 2001-08-27 Richard Henderson <rth@redhat.com>
408 * genautomata.c (expand_automata): Always create a description.
410 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
412 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
413 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
414 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
417 * genattr.c (main): New variable num_insn_reservations. Increase
418 it if there is DEFINE_INSN_RESERVATION. Output automaton based
419 pipeline hazard recognizer interface.
421 * genattrtab.h: New file.
423 * genattrtab.c: Include genattrtab.h.
424 (attr_printf, check_attr_test, make_internal_attr,
425 make_numeric_value): Move protypes into genattrtab.h. Define them
427 (num_dfa_decls): New global variable.
428 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
429 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
430 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
431 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
433 * genautomata.c: New file.
435 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
437 * sched-int.h: (curr_state): Add the external definition for
438 automaton pipeline interface.
439 (haifa_insn_data): Add comments for members blockage and units.
441 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
442 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
443 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
444 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
445 TARGET_SCHED_DFA_POST_CYCLE_INSN,
446 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
447 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
449 (TARGET_SCHED): Use the new macros.
451 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
452 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
453 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
454 dfa_bubble): New members in gcc_target.sched.
456 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
457 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
458 (insn_queue): Redefine it as pointer to array.
459 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
461 (max_insn_queue_index_macro_value): New variable.
462 (curr_state, dfa_state_size, ready_try): New varaibles for
464 (ready_element, ready_remove, max_issue): New function prototypes
465 for automaton interface.
466 (choose_ready): New function prototype.
467 (insn_unit, blockage_range): Add comments.
468 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
469 FUNCTION_UNITS_SIZE == 0.
470 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
471 actual_hazard, potential_hazard): Add comments.
472 (insn_cost): Use cost -1 as undefined value. Remove
473 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
475 (ready_element, ready_remove): New functions for automaton
477 (schedule_insn): Add new code for automaton pipeline interface.
478 (queue_to_ready): Add new code for automaton pipeline interface.
479 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
480 (debug_ready_list): Print newline when the queue is empty.
481 (max_issue): New function for automaton pipeline interface.
482 (choose_ready): New function.
483 (schedule_block): Add new code for automaton pipeline interface.
484 Print ready list before scheduling each insn.
485 (sched_init): Add new code for automaton pipeline interface.
486 Initiate insn cost by -1.
487 (sched_finish): Free the current automaton state and finalize
488 automaton pipeline interface.
490 * sched-rgn.c: Include target.h.
491 (init_ready_list, new_ready, debug_dependencies): Add new code for
492 automaton pipeline interface.
494 * sched-vis.c: Include target.h.
495 (get_visual_tbl_length): Add code for automaton interface.
496 (target_units, print_block_visualization): Add comments.
498 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
499 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
500 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
501 (getruntime.o, genautomata.o): New entries.
502 (genattrtab.o): Add new dependency file genattrtab.h.
503 (genattrtab): Add new dependencies. Link it with `libm.a'.
504 (getruntime.o, hashtab.o): New entries for canadian cross.
506 * doc/md.texi: Description of automaton based model.
508 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
510 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
511 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
512 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
513 TARGET_SCHED_DFA_POST_CYCLE_INSN,
514 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
515 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
516 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
518 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
519 MAX_DFA_ISSUE_RATE): New macro descriptions.
521 * doc/contrib.texi: Add dfa based scheduler contribution.
523 * doc/gcc.texi: Add more information about genattrtab.
525 Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
527 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
528 adjust_address_nv call.
530 2002-04-29 Janis Johnson <janis187@us.ibm.com>
532 * doc/install.texi (Testing): Provide additional information, and
533 a stronger encouragement, for running the testsuites.
535 2002-04-29 DJ Delorie <dj@redhat.com>
537 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
540 2002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
542 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
543 Solaris 2 <widec.h> if missing.
544 * fixinc/fixincl.x: Regenerate.
545 * fixinc/tests/base/widec.h: New file.
547 2002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
549 * toplev.c (f_options): Add "profile" switch so that
550 -fno-profile can be used to disable -p.
552 2002-04-29 Bernd Schmidt <bernds@redhat.com>
554 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
556 * tree.c (build_common_tree_nodes_2): Likewise.
557 * tree.h (enum tree_index): Likewise.
558 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
560 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
562 (init_mmx_sse_builtins): Initialize SSE2 builtins.
563 (ix86_expand_builtin): Add support for SSE2 builtins.
564 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
565 (VALID_SSE_REG_MODE): Use it.
566 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
567 (enum ix86_builtins): Add SSE2 builtins.
568 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
569 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
570 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
571 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
572 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
573 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
574 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
575 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
576 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
577 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
578 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
579 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
580 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
581 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
582 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
583 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
584 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
585 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
586 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
587 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
588 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
589 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
590 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
591 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
592 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
593 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
594 lfence_insn): New patterns.
595 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
596 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
598 Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
600 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
602 2002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
604 * doc/contrib.texi (Contributors): Add Paolo Carlini and
606 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
607 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
608 and CPU instead of cpu.
610 Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
612 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
614 (lang_independent_options): Add -fif-conversion, -fif-conversion2
615 (rest_of_compilation): Do if conversion only when asked for.
616 (parse_options_and_default_flags): Set new variables to 1 for -O1
617 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
619 Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
621 * i386.c (dbx64_register_map): Fix typo.
623 Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
625 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
626 real_one_half, real_bb_freq_max): New static variables.
627 (debug_profile_bbauxs): Kill.
628 (process_note_predictions): Kill unused variable.
629 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
631 (propagate_freq): Use REAL_ARITHMETICS.
632 (estimate_bb_frequencies): Likevise; init new static variables.
633 * Makefile.in (predict.o): Add dependency on real.h
635 2002-04-28 David S. Miller <davem@redhat.com>
638 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
639 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
640 several {reads,writes} instead.
641 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
644 2002-04-27 David S. Miller <davem@redhat.com>
647 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
650 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
651 including signal.h and sys/ucontext.h, not needed.
653 2002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
655 * varasm.c (output_constant_def): Correct test for not calling
656 ENCODE_SECTION_INFO for INTEGER_CST.
658 2002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
660 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
661 keep most cases as function eval_token.
662 (eval_token): New function.
663 (_cpp_parse_expr): Read token here for improved diagnostics.
664 Don't use op_as_text. Detect bad ':' here.
665 (reduce): Don't detect bad ':' here.
666 (op_as_text): Remove.
667 * cpphash.h (_cpp_test_assertion): Change prototype.
668 * cpplib.c (_cpp_test_assertion): Change prototype.
670 2002-04-28 Richard Henderson <rth@redhat.com>
673 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
674 (ggc_mark_rtx_children): New.
676 2002-04-28 Jakub Jelinek <jakub@redhat.com>
679 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
680 after call peepholes for UltraSPARC.
681 (call + jump 64-bit peepholes): Remove.
683 2002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
686 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
687 result as temporary value.
689 2002-04-28 Jakub Jelinek <jakub@redhat.com>
692 * toplev.c (rest_of_compilation): Only run regrename and copy
693 propagation if optimizing.
695 2002-04-28 Jakub Jelinek <jakub@redhat.com>
698 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
699 register of REGNO_DECL (i).
700 * Makefile.in (reload1.o): Add $(TREE_H).
702 2002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
704 * cppexp.c (lex): Update to use state.skip_eval.
705 (struct op): Remove prio and flags members.
706 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
707 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
708 (LEFT_ASSOC): New macro.
709 (optab): New table of operator priorities and flags.
711 (_cpp_parse_expr): Clean up logic. Return bool. Use a
712 malloc-ed parser stack.
713 (reduce): New; reduce the operator stack.
714 (_cpp_expand_op_stack): Expand the operator stack as necessary.
715 * cpphash.h (struct op): Predeclare.
716 (struct cpp_reader): New members op_stack, op_limit.
717 (struct lexer_state): New member skip_eval.
718 (_cpp_parse_expr): Update.
719 (_cpp_expand_op_stack): New.
720 * cpplib.c (do_if): Update.
721 * cppinit.c (cpp_create_reader): Create op stack.
722 (cpp_destroy): And destroy it.
723 * cpplib.h (CPP_LAST_CPP_OP): Correct.
724 (TTYPE_TABLE): Correct.
726 2002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
729 * c-decl.c (duplicate_decls): Call merge_weak.
730 * c-pragma.c (apply_pragma_weak): Warn about misuse.
731 * output.h (merge_weak): Prototype merge_weak.
732 * varasm.c (merge_weak): New function.
733 (declare_weak): Make sure we don't give an error on VAR_DECLs.
734 Mark RTL with SYMBOL_REF_WEAK.
736 2002-04-27 Kurt Garloff <garloff@suse.de>
738 * tree-inline.c (inlinable_function_p): Improve heuristics
739 by using a smoother function to cut down allowable inlinable size.
740 * param.def: Add parameters max-inline-insns-single,
741 max-inline-slope, min-inline-insns that determine the exact
742 shape of the above function.
745 2002-04-26 Richard Henderson <rth@redhat.com>
747 * c-parse.in (malloced_yyss, malloced_yyvs): New.
748 (yyoverflow): Re-add. Set them.
749 (free_parser_stacks): New.
750 * c-common.h: Declare it.
751 * c-lex.c (c_common_parse_file): Call it.
753 2002-04-26 Richard Henderson <rth@redhat.com>
755 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
758 2002-04-26 Eric Christopher <echristo@redhat.com>
761 * config/mips/mips.c (mips_issue_rate): Define. New function.
762 (TARGET_SCHED_ISSUE_RATE): Use.
764 2002-04-25 David S. Miller <davem@redhat.com>
767 * reorg.c (optimize_skip): Do not allow exception causing
768 instructions to be considered for delay slots.
769 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
770 (relax_delay_slots): Do not try to consider exception causing
771 instructions as redundant.
773 2002-04-26 Richard Henderson <rth@redhat.com>
776 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
778 2002-04-26 Mark Mitchell <mark@codesourcery.com>
781 * config/i386/i386.md (untyped_call): Return the value in a float
782 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
785 2002-04-26 Alexandre Oliva <aoliva@redhat.com>
787 * tree.c (tree_int_cst_lt): Compare constants whose types differ
788 in unsigned-ness correctly.
790 2002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
792 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
793 portable runtime model.
795 2002-04-26 Richard Henderson <rth@redhat.com>
797 * c-parse.in (yyoverflow): Revert.
799 2002-04-26 David Edelsohn <edelsohn@gnu.org>
800 Richard Henderson <rth@redhat.com>
802 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
803 result as temporary value.
805 2002-04-26 Richard Henderson <rth@redhat.com>
808 * c-common.c (fix_string_type): Split out of ...
809 (combine_strings): ... here. Take a varray, not a tree list.
810 (c_expand_builtin_printf): Use fix_string_type.
811 * c-common.h: Update decls.
812 * c-parse.in (string): Remove. Update all uses to use STRING
813 instead, and not call combine_strings.
816 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
817 (build_asm_stmt): Likewise.
818 * objc/objc-act.c (my_build_string): Use fix_string_type.
819 (build_objc_string_object): Build varray for combine_strings.
821 2002-04-26 Bo Thorsen <bo@suse.co.uk>
823 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
826 2002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
828 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
829 (HAVE_NO_R_OPERAND): Remove.
830 (HAVE_VALUE): Remove.
831 (op_to_prio): Update.
832 (UNARY): Don't alter flags.
833 (_cpp_parse_expr): want_value used to indicate whether
834 a number or unary operator is expected next. Distinguish
835 unary and binary +/-.
836 (op_as_text): Update for unary operators.
838 2002-04-25 Richard Henderson <rth@redhat.com>
841 * c-parse.in (yyoverflow): New.
843 2002-04-25 Richard Henderson <rth@redhat.com>
846 * c-common.c (shorten_compare): Simplfy conditions leading to
847 the generation of a warning.
849 2002-04-25 Richard Henderson <rth@redhat.com>
852 * expmed.c (extract_bit_field): Fall through to generic code rather
853 than aborting on subreg special case.
855 2002-04-25 David S. Miller <davem@redhat.com>
857 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
860 2002-04-25 Steve Christiansen <smc@us.ibm.com>
862 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
864 2002-04-25 Eric Botcazou <ebotcazou@multimania.com>
866 * c-decl.c (grokdeclarator): Remove outdated ??? note
867 on invalid declaration of flexible array members.
869 2002-04-25 Richard Henderson <rth@redhat.com>
871 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
873 2002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
875 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
876 needed by the compiler, even if they are used as global regs.
878 2002-04-25 Matt Hiller <hiller@redhat.com>
880 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
882 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
883 of the corresponding functions.
884 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
887 2002-04-25 Matt Hiller <hiller@redhat.com>
889 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
891 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
892 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
893 registers, adjust comment accordingly.
894 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
895 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
896 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
897 for coprocessor registers.
898 (ADDITIONAL_REGISTER_NAMES): Include
899 ALL_COP_ADDITIONAL_REGISTER_NAMES.
901 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
902 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
903 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
904 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
905 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
907 (mips_char_to_class): Adjust comment to include coprocessor
910 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
912 (mips_reg_names, mips_regno_to_class): Include coprocessor
914 (mips_sw_reg_names): Ditto, make non-static.
915 (mips_move_1word): Handle moves to and from coprocessor registers.
916 (mips_move_2words): Handle moves to and from coprocessor
918 (mips_class_max_nregs, mips_register_move_cost): Handle
919 coprocessor register classes.
920 (override_options): Initialize mips_char_to_class and
921 mips_hard_regno_mode_ok properly for coprocessor registers.
923 * config/mips/mips.md (movdi_internal, movdi_internal2,
924 movsi_internal1, movsi_internal2): Add constraint-sets for
925 coprocessor registers.
926 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
927 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
929 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
930 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
932 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
933 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
935 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
936 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
939 * doc/tm.texi: Document feature.
941 2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
943 * integrate.c (function_attribute_inlinable_p): Simplify.
944 Check the table pointer is not NULL.
946 2002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
948 * doc/c-tree.texi: Fix typo in introduction.
950 2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
952 * c-common.h (c_common_parse_file): Update.
953 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
954 * c-lex.c (YYDEBUG): Get from c-lex.h.
955 (c_common_parse_file): Update.
956 * c-lex.h (YYDEBUG, yydebug): New.
957 * c-parse.in (YYDEBUG): Get from c-lex.h.
958 (c_set_yydebug): Remove.
959 * c-tree.h (c_set_yydebug): Remove.
960 * langhooks-def.h (lhd_do_nothing_i): New.
961 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
962 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
963 * langhooks.c (lhd_do_nothing_i): New.
964 (lhd_set_yydebug): Remove.
965 * langhooks.h (struct lang_hooks): Update.
966 * toplev.c (set_yydebug): New.
967 (compile_file): Update call to parse_file hook.
968 (decode_d_option): Update.
970 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
972 Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
974 * loop.c (load_mems): Don't change the interface of called functions.
976 * calls.c (expand_call): Take current_function_pretend_args_size
977 into account when setting argblock for sibcalls.
979 2002-04-24 Matt Hiller <hiller@redhat.com>
981 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
984 * cpplex.c (skip_line_comment): Process comment one multibyte
985 character at a time rather than one char at a time, if
987 (parse_string): Process string one multibyte character at a time
988 rather than one char at a time, if appropriate.
989 * c-lex.c (lex_string): Lex and copy multibyte strings
991 * cpplib.h (cppchar_t): Change to unsigned.
993 2002-04-24 Richard Henderson <rth@redhat.com>
996 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
999 Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
1001 * sh.c (sh_va_arg): If argument was passed by reference,
1002 dereference the pointer.
1004 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
1006 * sh.md (divsi3_i4_media): Use match_operand for input values
1007 rather than hard registers.
1008 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
1009 unnecessarily through hard registers. Keep copies of pseudo
1010 registers outside of the libcall sequence.
1012 * sh.md (casesi_shift_media): Add modes.
1014 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
1017 2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
1019 * attribs.c (c_common_attribute_table): Move table and handlers
1021 (format_attribute_table, lang_attribute_table,
1022 lang_attribute_common): Remove.
1023 (init_attributes): Replace NULL pointers with pointers to the
1025 (handle_packed_attribute, handle_nocommon_attribute,
1026 handle_common_attribute, handle_noreturn_attribute,
1027 handle_noinline_attribute, handle_always_inline_attribute,
1028 handle_used_attribute, handle_unused_attribute,
1029 handle_const_attribute, handle_transparent_union_attribute,
1030 handle_constructor_attribute, handle_destructor_attribute,
1031 handle_mode_attribute, handle_section_attribute,
1032 handle_aligned_attribute, handle_weak_attribute,
1033 handle_alias_attribute, handle_visibility_attribute,
1034 handle_no_instrument_function_attribute, handle_malloc_attribute,
1035 handle_no_limit_stack_attribute, handle_pure_attribute,
1036 handle_deprecated_attribute, handle_vector_size_attribute,
1037 vector_size_helper): Move to c-common.c.
1038 * c-common.c (c_common_attribute_table,
1039 handle_packed_attribute, handle_nocommon_attribute,
1040 handle_common_attribute, handle_noreturn_attribute,
1041 handle_noinline_attribute, handle_always_inline_attribute,
1042 handle_used_attribute, handle_unused_attribute,
1043 handle_const_attribute, handle_transparent_union_attribute,
1044 handle_constructor_attribute, handle_destructor_attribute,
1045 handle_mode_attribute, handle_section_attribute,
1046 handle_aligned_attribute, handle_weak_attribute,
1047 handle_alias_attribute, handle_visibility_attribute,
1048 handle_no_instrument_function_attribute, handle_malloc_attribute,
1049 handle_no_limit_stack_attribute, handle_pure_attribute,
1050 handle_deprecated_attribute, handle_vector_size_attribute,
1051 vector_size_helper): Move from attribs.c.
1052 * c-common.h (c_common_attribute_table,
1053 c_common_format_attribute_table): New.
1054 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
1055 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
1056 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
1057 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
1058 (LANG_HOOKS_INITIALIZER): Update.
1059 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
1060 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
1061 * target.h: Update comment.
1062 * tree.c (default_target_attribute_table): Remove.
1063 * tree.h (default_target_attribute_table, format_attribute_table,
1064 lang_attribute_table, lang_attribute_common): Remove.
1066 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
1067 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
1069 2002-04-24 Jason Merrill <jason@redhat.com>
1071 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
1072 * dwarf2out.c (dwarf_attr_name): Support it.
1073 (gen_array_type_die): Emit it.
1074 (lookup_type_die): No special handling for VECTOR_TYPE.
1075 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
1077 2002-04-24 Richard Henderson <rth@redhat.com>
1079 * config/mips/mips.md (movdi_usd): Renumber.
1081 2002-04-24 David S. Miller <davem@redhat.com>
1084 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
1085 32-bit Sparc and current_function_returns_struct is true.
1087 Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
1089 * loop.c (canonicalize_condition): Use gen_int_mode.
1091 2002-04-24 Aldy Hernandez <aldyh@redhat.com>
1093 * config/rs6000/altivec.h: Cleanup file. Add non individual
1115 (vec_vcmpequb): New.
1116 (vec_vcmpequh): New.
1117 (vec_vcmpequw): New.
1118 (vec_vcmpeqfp): New.
1119 (vec_vcmpgefp): New.
1120 (vec_vcmpgtub): New.
1121 (vec_vcmpgtsb): New.
1122 (vec_vcmpgtuh): New.
1123 (vec_vcmpgtsh): New.
1124 (vec_vcmpgtuw): New.
1125 (vec_vcmpgtsw): New.
1126 (vec_vcmpgtfp): New.
1127 (vec_vcmpgefp): New.
1132 (vec_vexptefp): New.
1137 (vec_lde): Add vector float variant.
1142 (vec_vmhaddshs): New.
1164 (vec_vmladduhm): New.
1165 (vec_vmhraddshs): New.
1167 (vec_vmsummbm): New.
1168 (vec_vmsumuhm): New.
1169 (vec_vmsumshm): New.
1170 (vec_vmsumuhs): New.
1171 (vec_vmsumshs): New.
1180 (vec_vnmsubfp): New.
1198 (vec_vrsqrtefp): New.
1209 (vec_vspltisb): New.
1210 (vec_vspltish): New.
1211 (vec_vspltisw): New.
1236 (vec_vsum4ubs): New.
1237 (vec_vsum4sbs): New.
1238 (vec_vsum4shs): New.
1239 (vec_vsum2sws): New.
1250 2002-04-23 Eric Botcazou <ebotcazou@multimania.com>
1253 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
1254 added literals from substracted literals.
1255 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
1256 (fold) [associate]: Preserve MINUS_EXPR if needed.
1258 2002-04-23 Zack Weinberg <zack@codesourcery.com>
1260 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
1263 2002-04-23 Tom Tromey <tromey@redhat.com>
1265 * gcc.c: Added --resource. For PR java/6314.
1267 2002-04-23 David O'Brien <obrien@FreeBSD.org>
1269 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
1270 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
1273 2002-04-23 David O'Brien <obrien@FreeBSD.org>
1275 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
1277 Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
1279 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
1281 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
1282 (ix86_expand_clrstr): Fix typo.
1283 * loop.c (gen_load_of_final_value): New.
1284 (loop_givs_rescan, strength_reduce, check_dbra_loop):
1287 2002-04-23 Roger Sayle <roger@eyesopen.com>
1289 * builtins.c (builtin_memset_gen_str): New function.
1290 (expand_builtin_memset): Optimize the case of constant length, but
1293 2002-04-23 Aldy Hernandez <aldyh@redhat.com>
1295 * config/rs6000/altivec.h (vec_step): Remove extraneous
1297 (vec_ctu): Cast return.
1299 2002-04-23 Alan Modra <amodra@bigpond.net.au>
1302 * function.h: (struct function): Add profile_label_no field.
1303 (current_function_profile_label_no): Define.
1304 * function.c: (profile_label_no): New static var.
1305 (expand_function_start): Increment it, and copy to
1306 current_function_profile_label_no.
1307 * output.h (profile_label_no): Delete.
1308 * final.c (profile_label_no): Delete.
1309 (profile_function): Use current_function_profile_label_no.
1310 (final_end_function): Don't increment profile_label_no here.
1311 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
1312 profile_label_no with current_function_profile_label_no.
1313 * config/pa/pa.c (current_function_number): Delete.
1314 (pa_output_function_prologue): Don't output profile label here.
1315 (hppa_profile_hook): Use label_no param rather than
1316 current_function_number.
1317 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
1318 * config/pa/pa.h: .. here.
1319 (FUNCTION_PROFILER): Output profile label here.
1321 2002-04-22 Eric Christopher <echristo@redhat.com>
1323 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
1324 patch of 2002-04-09 due to binutils issues.
1325 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
1327 2002-04-22 Aldy Hernandez <aldyh@redhat.com>
1329 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
1330 constraint to 'o' for m=r and r=m alternatives.
1331 ("*movv8hi_internal1"): Same.
1332 ("*movv16qi_internal1"): Same.
1333 ("*movv4sf_internal1"): Same.
1335 2002-04-22 Janis Johnson <janis187@us.ibm.com>
1337 * rtl.h (RTX_FLAG): New macro.
1338 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
1339 * final.c (alter_subreg): Use macro to access rtx flag.
1340 * integrate.c (copy_rtx_and_substitute): Use new access macro.
1341 * print-rtl.c (print_rtx): Use new access macro.
1343 * cse.c (insert): Check rtx code before accessing flag.
1345 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
1346 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
1347 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
1348 convert_const_symbol_ref, make_canonical, make_alternative_compare,
1349 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
1350 simplify_test_exp, optimize_attrs, simplify_by_exploding,
1351 find_and_mark_used_attributes, unmark_used_attributes,
1352 add_values_to_cover, simplify_with_current_value,
1353 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
1354 copy_rtx_unchanging, main): Use new access macros.
1356 2002-04-22 Tom Rix <trix@redhat.com>
1358 * expmed.c (init_expmed): Generate shifted constant once.
1360 2002-04-22 Zack Weinberg <zack@codesourcery.com>
1362 * c-lex.c (lex_charconst): Call convert to get constant in
1363 proper type; don't just smash the type field.
1366 * config.gcc: Add list of obsolete configurations. Disallow
1367 building these without --enable-obsolete.
1368 * doc/install.texi: Document --enable-obsolete and obsoletion
1369 policy. Mention obsoletion of individual targets in
1372 2002-04-22 Richard Henderson <rth@redhat.com>
1374 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
1376 2002-04-22 Mark Mitchell <mark@codesourcery.com>
1379 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
1380 (walk_fixup_memory_subreg): Likewise.
1381 (fixup_var_refs_insn): Adjust accordingly.
1382 (fixup_var_refs_1): Likewise.
1384 2002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
1386 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
1387 LIBPATH_ARCH64_SPEC): Define.
1388 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
1389 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
1390 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
1391 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
1393 2002-04-22 Joel Sherrill <joel@OARcorp.com>
1395 * gthr-rtems.h: Correct prototypes to remove warnings.
1397 2002-04-22 Richard Henderson <rth@redhat.com>
1400 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
1402 * gcse.c (free_insn_expr_list_list): New.
1403 (clear_modify_mem_tables): Use it. Fix bit set usage.
1404 (canon_list_insert): Use EXPR_LISTs for expressions.
1405 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
1407 2002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
1409 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
1410 file change and include code to _cpp_pop_buffer.
1411 * cpphash.h (struct pending_option): Predeclare.
1412 (struct cpp_reader): New member next_include_file.
1413 (_cpp_pop_file_buffer): Update.
1414 (_cpp_push_next_buffer): Update, rename.
1415 * cppinit.c (cpp_destroy): Free include chain and pending here.
1416 (cpp_finish_options): Simplify.
1417 (_cpp_push_next_buffer): Rename and clean up.
1418 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
1420 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
1422 2002-04-22 Aldy Hernandez <aldyh@redhat.com>
1424 * config/rs6000/altivec.h (vec_xor): Add variant for both args
1425 being vector signed int.
1427 (vec_xor): Add variant for both args being vector signed char.
1428 Remove redundant variant.
1431 2002-04-21 David S. Miller <davem@redhat.com>
1433 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
1434 compare mode in output RTL.
1436 2002-04-22 David Edelsohn <edelsohn@gnu.org>
1438 * config/rs6000/rs6000.c (rs6000_override_options): Correct
1439 style and formatting of previous patch.
1441 2002-04-22 Alan Modra <amodra@bigpond.net.au>
1443 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
1444 flag_pic for ABI_AIX.
1446 2002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
1448 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
1449 * cppfiles.c (read_include_file): Similarly.
1450 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
1451 uxstrdup ustrchr, ufputs): Similarly.
1452 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
1453 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
1454 cpp_ideq, parse_identifier, parse_number): Similarly.
1455 * cpplib.c (struct directive, dequote_string, D, run_directive,
1456 cpp_push_buffer): Similarly.
1457 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
1458 _cpp_create_definition, check_trad_stringification,
1459 cpp_macro_definition): Similarly.
1461 2002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
1463 * cppmacro.c (funlike_invocation_p): Don't step back
1466 2002-04-21 David Edelsohn <edelsohn@gnu.org>
1468 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
1471 2002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
1473 * doc/invoke.texi: Remove Chill references.
1474 * doc/gcc.texi: Update last modified date.
1476 2002-04-20 Kazu Hirata <kazu@hxi.com>
1478 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
1479 push and pop. Replace add.l with add.w.
1481 2002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
1483 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
1484 multiply instructions for H8/300H case.
1486 2002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
1488 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
1489 Bum three instructions from each routine.
1491 2002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
1493 * Makefile.in: Update.
1494 * decl.c (push_c_function_context, pop_c_function_context,
1495 mark_c_function_context): Rename for consistency.
1496 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
1497 * c-tree.h (push_c_function_context, pop_c_function_context,
1498 mark_c_function_context): Rename for consistency.
1499 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
1500 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
1501 * function.c (init_lang_status, save_lang_status,
1502 restore_lang_status, mark_lang_status, free_lang_status):
1503 Move to langhooks.h.
1504 (push_function_context_to, pop_function_context_from,
1505 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
1507 * function.h (init_lang_status, save_lang_status,
1508 restore_lang_status, mark_lang_status, free_lang_status):
1509 Move to langhooks.h.
1510 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
1511 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
1512 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
1513 LANG_HOOKS_FUNCTION_INITIALIZER): New.
1514 (LANG_HOOKS_INITIALIZER): Update.
1515 (lhd_do_nothing_f): New.
1516 * langhooks.h (struct lang_hooks_for_functions): New.
1517 (struct lang_hooks): New hooks.
1518 * langhooks.c (lhd_do_nothing_f): New.
1520 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
1521 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
1523 2002-04-19 David S. Miller <davem@redhat.com>
1525 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
1526 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
1528 2002-04-19 Jakub Jelinek <jakub@redhat.com>
1530 PR optimization/3756
1531 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
1532 x = ((int) y < 0) ? cst1 : cst2.
1534 2002-04-19 Jakub Jelinek <jakub@redhat.com>
1537 * function.c: Reapply patch for c/6358.
1538 (expand_function_end): Copy decl_rtl's mode, not
1539 current_function_return_rtx mode.
1541 2002-04-19 Joel Sherrill <joel@OARcorp.com>
1543 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
1546 2002-04-19 Tom Tromey <tromey@redhat.com>
1548 * doc/install.texi (Specific): Update status of Solaris 2.8.
1551 2002-04-19 Andreas Schwab <schwab@suse.de>
1553 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
1554 (PUT_REAL): Restore old definition.
1556 2002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
1557 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1559 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
1560 binutils 2.11.2 and higher generate smaller binaries than Sun's
1563 2002-04-19 Mark Mitchell <mark@codesourcery.com>
1566 * toplev.c (rest_of_compilation): Do not defer functions for which
1567 TREE_SYMBOL_REFERENCED has already been set.
1569 Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
1571 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
1574 2002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
1576 * builtins.c: Include langhooks.h.
1577 (lang_type_promotes_to): Remove.
1578 (expand_builtin_va_arg): Use new hook.
1579 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
1580 (simple_type_promotes_to): Move to c-typeck.c.
1581 * c-common.h (simple_type_promotes_to): Remove.
1582 * c-decl.c (duplicate_decls, grokdeclarator): Update.
1583 * c-format.c: Include langhooks.h.
1584 (check_format_types): Update.
1585 * c-tree.h (c_type_promotes_to): New.
1586 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
1587 (type_lists_compatible_p): Update.
1588 * langhooks-def.h (lhd_type_promotes_to): New.
1589 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
1590 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
1591 * langhooks.c (lhd_type_promotes_to): New.
1592 * langhooks.h (struct lang_hooks_for_types): New hook.
1593 * tree.h (lang_type_promotes_to): Remove.
1595 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
1597 2002-04-18 Richard Henderson <rth@redhat.com>
1599 * function.c: Revert patch for c/6358.
1601 2002-04-18 Richard Henderson <rth@redhat.com>
1603 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
1604 blocks. Handle multiple references to the TRAP block. Handle
1605 non-adjacent THEN and OTHER blocks.
1607 2002-04-18 Richard Henderson <rth@redhat.com>
1609 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
1610 crash with no type for by-mode libcalls.
1612 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
1614 2002-04-18 Bob Wilson <bob.wilson@acm.org>
1616 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
1617 __xtensa_nonlocal_goto): Use a syscall instructions to flush
1618 the register windows.
1620 2002-04-18 Zack Weinberg <zack@codesourcery.com>
1622 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
1623 appropriate. Document need for extended precision even when
1624 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
1625 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
1626 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
1627 instead of relying on later syntax error when REAL_WIDTH > 5.
1628 * real.c: Define NE based only on whether or not we have a
1629 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
1630 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
1631 define GET_REAL and PUT_REAL as simple memcpy operations; no
1632 need to byteswap or round.
1633 Use #error instead of #ifdef-ing out the entire file, for
1634 prompt error detection.
1636 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
1638 2002-04-18 David S. Miller <davem@redhat.com>
1640 * config/sparc/sparc.h (BRANCH_COST): Define.
1642 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
1645 2002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
1647 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
1648 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
1649 propagate_block calls after relaxation loop using new variable
1650 stabilized_prop_flags.
1652 2002-04-18 Richard Henderson <rth@redhat.com>
1654 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
1655 (ia64_va_arg): Expect variable sized types by reference.
1656 * config/ia64/ia64-protos.h: Update.
1657 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
1658 ia64_function_arg_pass_by_reference.
1660 2002-04-18 Richard Henderson <rth@redhat.com>
1662 * ifcvt.c: Include except.h.
1663 (block_has_only_trap): Break out from find_cond_trap.
1664 (find_cond_trap): Use it. Always delete the trap block.
1665 (merge_if_block): Allow then block null. Be less simplistic about
1666 what insns can end a block.
1667 * Makefile.in (ifcvt.o): Depend on except.h.
1669 * config/ia64/ia64.md (trap, conditional_trap): New.
1671 2002-04-18 Jakub Jelinek <jakub@redhat.com>
1674 * function.c (assign_parms): Assign hard current_function_return_rtx
1676 (expand_function_end): ...not here.
1678 2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
1680 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
1681 * c-tree.h (c_incomplete_type_error): New.
1682 * c-typeck.c (require_complete_type, build_component_ref): Update.
1683 (incomplete_type_error): Rename.
1684 * langhooks-def.h (lhd_incomplete_type_error): New.
1685 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
1686 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
1687 * langhooks.c (lhd_incomplete_type_error): New.
1688 * langhooks.h (struct lang_hooks_for_types): New hook.
1689 * tree.c (size_in_bytes): Use new hook.
1690 * tree.h (incomplete_type_error): Remove.
1692 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
1694 2002-04-18 Zack Weinberg <zack@codesourcery.com>
1696 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
1697 TARGET_FLOAT_FORMAT blocks.
1699 2002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1701 * doc/install.texi (Downloading the source): Do not mention Chill
1702 any longer, but mention Ada.
1703 (Configuration): Do not mention Chill any longer.
1705 2002-04-18 Hans-Peter Nilsson <hp@axis.com>
1707 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
1709 Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
1711 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
1714 2002-04-18 Jakub Jelinek <jakub@redhat.com>
1716 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
1717 instead of unsigned_type.
1719 Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
1721 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
1722 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
1725 2002-04-18 Bernd Schmidt <bernds@redhat.com>
1727 * attribs.c (vector_type_node_list): New static variable.
1728 (handle_vector_size_attribute): Use it to avoid generating a
1729 new type node each time we are called.
1731 * combine.c (subst): Avoid trying to make a vector mode subreg of
1732 an integer constant.
1733 (gen_lowpart_for_combine): Likewise.
1735 2002-04-18 Roger Sayle <roger@eyesopen.com>
1736 Jakub Jelinek <jakub@redhat.com>
1738 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
1739 for integer constant c (if x has unsigned type or sign bit is not
1740 set in c). This folds the zero/sign extension into the bit-wise and
1743 2002-04-18 Jakub Jelinek <jakub@redhat.com>
1746 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
1749 2002-04-17 NIIBE Yutaka <gniibe@m17n.org>
1751 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
1753 2002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
1755 * gcc.c (read_specs): Detect and fail if an attempt is made to
1756 rename a spec string to an already existing string.
1758 2002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
1760 * config/s390/s390.c (legitimize_pic_address): Do not generate
1761 illegal address constant without CONST.
1763 2002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1765 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
1766 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
1768 2002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
1770 PR optimization/6305
1771 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
1772 to make sure previous reloads are taken into account. Generate
1773 better code if one operand is an in-range immediate constant.
1775 2002-04-16 Andrew Haley <aph@cambridge.redhat.com>
1777 * doc/install.texi (Building): libgcj requires GNU make.
1779 2002-04-17 Jakub Jelinek <jakub@redhat.com>
1782 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
1783 even if hard quad and register is not floating.
1784 (movtf reg<-mem split): Disallow splitting if hard quad and
1785 register is floating.
1786 (movtf mem<-reg split): Likewise.
1787 * config/sparc/sparc.c (fp_register_operand): New predicate.
1788 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
1790 2002-04-17 Zack Weinberg <zack@codesourcery.com>
1792 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
1793 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
1794 (unprotoize.o): Ditto. Build from protoize.c. Define
1795 UNPROTOIZE on command line.
1796 * protoize.c: Include cppdefault.h. Delete include_defaults.
1797 (in_system_include_dir): Use cpp_include_defaults (defined in
1799 * unprotoize.c: Delete file.
1801 2002-04-17 Aldy Hernandez <aldyh@redhat.com>
1803 * config/rs6000/altivec.h (vec_ld): Add array variants.
1807 2002-04-17 Alan Matsuoka <alanm@redhat.com>
1808 Aldy Hernandez <aldyh@redhat.com>
1810 * config/rs6000/altivec.h: Define __ALTIVEC__.
1817 Add parentheses to all macro arguments.
1819 2002-04-16 Richard Henderson <rth@redhat.com>
1822 * except.c (remove_eh_handler): Insert inner regions at beginning
1823 of sibling chain. Refactor expressions.
1825 2002-04-16 Richard Henderson <rth@redhat.com>
1827 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
1828 * config/sparc/sol2-gas-bi.h: New file.
1829 * config.gcc (sparc*-solaris): Add it as needed.
1830 * configure.in (AS_SPARC64_FLAG): Remove check.
1831 * config.in, configure: Regenerate.
1833 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
1835 2002-04-16 Richard Henderson <rth@redhat.com>
1837 * config/mips/mips.c (override_options): Don't override N32 for
1841 * config/mips/mips.md (can_delay): Split out of existing define_delays.
1842 (HILO_delay): Set can_delay false.
1844 2002-04-16 Dale Johannesen <dalej@apple.com>
1846 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
1847 instruction addresses.
1848 (rs6000_output_function_epilogue): Likewise.
1850 2002-04-16 Paolo Carlini <pcarlini@unitus.it>
1852 * c-parse.in (poplevel, compstmt_start,
1853 compstmt_primary_start): Add ending ';', in accordance
1856 2002-04-16 Richard Henderson <rth@redhat.com>
1858 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
1859 Adjust tm_file order to get TARGET_DEFAULT set properly.
1860 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
1861 * doc/install.texi (sparc-solaris): Update.
1863 2002-04-16 Dale Johannesen <dalej@apple.com>
1865 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
1866 comparison operands do not match each other or if modes of
1867 conditions do not match result.
1869 2002-04-16 Hartmut Penner <hpenner@de.ibm.com>
1872 * config/s390/s390.md (mulsidi3): Set both subregs of the
1875 2002-04-16 Aldy Hernandez <aldyh@redhat.com>
1877 * config/rs6000/altivec.h (vec_addc): Type check.
1879 2002-04-16 Jakub Jelinek <jakub@redhat.com>
1882 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
1884 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
1886 2002-04-15 Richard Henderson <rth@redhat.com>
1888 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
1889 call_really_used_regs too.
1891 2002-04-15 Richard Henderson <rth@redhat.com>
1893 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
1895 2002-04-15 David S. Miller <davem@redhat.com>
1897 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
1900 2002-04-16 Jakub Jelinek <jakub@redhat.com>
1903 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
1904 CONST_VECTOR is { 0, ... 0 }.
1906 2002-04-15 Loren J. Rittle <ljrittle@acm.org>
1908 * doc/install.texi (Installing GCC: Configuration): Clarify
1909 the only supported ways to configure gcc.
1911 2002-04-15 Roland McGrath <roland@frob.com>
1913 * config.gcc (alpha*-*-gnu*): New target configuration.
1914 * config/alpha/gnu.h: New file for it.
1915 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
1917 2002-04-16 Mark Mitchell <mark@codesourcery.com>
1919 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
1920 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
1921 * tree.h (expand_start_stmt_expr): Update prototype.
1922 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
1923 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
1924 on the STMT_EXPR created for the inline function.
1926 2002-04-15 Richard Henderson <rth@redhat.com>
1928 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
1929 config/i386/linux-aout.h, config/i386/linux-oldld.h,
1930 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
1931 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
1932 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
1933 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
1934 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
1935 Define __gnu_linux__, not gnu_linux.
1936 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
1938 2002-04-15 Mark Mitchell <mark@codesourcery.com>
1940 Remove Chill front end.
1941 * gcc.c (default_compilers): Remove Chill entries.
1942 * ch: Remove directory.
1943 * doc/frontends.texi: Remove information about Chill.
1944 * doc/sourcebuild.texi: Likewise.
1945 * doc/standards.texi: Likewise.
1947 2002-04-15 Douglas B Rupp <rupp@gnat.com>
1949 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
1950 (LONGLONG_STANDALONE): Define.
1952 2002-04-15 David S. Miller <davem@redhat.com>
1954 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
1955 Call emit_library_call with LCT_NORMAL.
1956 (sparc_initialize_trampoline): Use LCT_foo instead of
1957 magic constant in emit_library_call invocations.
1958 (sparc64_initialize_trampoline): Likewise.
1959 (sparc_profile_hook): Likewise.
1960 * config/sparc/sparc.md: Likewise.
1962 * config/sparc/sparc.c (sparc_extra_constraint_check):
1963 Fix type of argument 'c'.
1964 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
1967 2002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
1969 * diagnostic.h (output_buffer_state): Redefine.
1970 (output_format_decoder): New macro.
1971 (output_prefixing_rule): Likewise.
1972 (output_line_cutoff): Likewise.
1973 (diagnostic_format_decoder): Adjust.
1974 (diagnostic_prefixing_rule): Likewise.
1975 (diagnostic_line_cutoff): Likewise.
1976 (diagnostic_state): Likewise.
1977 (diagnostic_kind_count): Likewise.
1978 (diagnostic_buffer): Now a macro.
1980 * diagnostic.c (diagnostic_buffer): Remove definition.
1981 (output_is_line_wrapping): Adjust.
1982 (set_real_maximum_length): Likewise.
1983 (output_set_maximum_length): Likewise.
1984 (init_output_buffer): Likewise.
1985 (lhd_print_error_function): Likewise.
1986 (output_do_verbatim): Likewise.
1988 2002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
1990 * cpperror.c (print_location): Don't print include chain
1992 (cpp_begin_message): Update to use DL_ macros.
1993 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
1994 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
1995 cpp_notice, cpp_notice_from_errno): Remove.
1996 (cpp_error, cpp_error_with_line): Update to take a diagnostic
1999 * cppexp.c (CPP_ICE): Remove.
2000 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
2001 lex, integer_overflow, _cpp_parse_expr): Update.
2002 * cppfiles.c (read_include_file, find_include_file,
2003 handle_missing_header, _cpp_read_file, remap_filename): Update.
2004 * cpphash.h (enum error_type): Remove.
2005 (_cpp_begin_message): Update.
2006 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
2007 cpp_handle_option, cpp_post_options): Update.
2008 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
2009 skip_whitespace, parse_identifier, parse_slow, parse_string,
2010 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
2011 cpp_interpret_charconst): Update.
2012 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
2013 lex_macro_node, do_undef, glue_header_name, parse_include,
2014 do_include_common, read_flag, do_line, do_linemarker, do_ident,
2015 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
2016 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
2017 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
2018 _cpp_pop_buffer, do_diagnostic): Update.
2019 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
2020 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
2021 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
2022 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
2023 cpp_notice, cpp_notice_from_errno): Remove.
2024 (cpp_error, cpp_error_with_line): Update to take a diagnostic
2027 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
2028 collect_args, enter_macro_context, save_parameter, parse_params,
2029 _cpp_create_definition, check_trad_stringification,
2030 cpp_macro_definition): Update.
2031 * cppmain.c (cpp_preprocess_file): Update.
2032 * fix-header.c (read_scan_file): Update.
2034 2002-04-14 Andreas Schwab <schwab@suse.de>
2036 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
2038 2002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
2040 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
2042 2002-04-13 Mark Mitchell <mark@codesourcery.com>
2044 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
2047 2002-04-13 Hans-Peter Nilsson <hp@axis.com>
2049 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
2051 2002-04-13 Joel Sherrill <joel@OARcorp.com>
2053 * config/sparc/t-elf: Enable v8 multilibs. Impacts
2054 sparc-elf and sparc-rtems targets.
2056 2002-04-13 Mark Mitchell <mark@codesourcery.com>
2058 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
2059 defined, and __gnu_hurd__ wherever __GNU__ is defined.
2060 * arm/linux-elf.h: Likewise.
2061 * cris/aout.h: Likewise.
2062 * cris/linux.h: Likewise.
2063 * i370/linux.h: Likewise.
2064 * i386/gnu.h: Likewise.
2065 * i386/linux-aout.h: Likewise.
2066 * i386/linux-oldld.h: Likewise.
2067 * i386/linux.h: Likewise.
2068 * i386/linux64.h: Likewise.
2069 * ia64/linux.h: Likewise.
2070 * m68k/linux-aout.h: Likewise.
2071 * m68k/linux.h: Likewise.
2072 * mips/linux.h: Likewise.
2073 * pa/pa-linux.h: Likewise.
2074 * pj/linux.h: Likewise.
2075 * rs6000/sysv4.h: Likewise.
2076 * s390/linux.h: Likewise.
2077 * sh/linux.h: Likewise.
2078 * sparc/linux-aout.h: Likewise.
2079 * sparc/linux.h: Likewise.
2080 * sparc/linux64.h: Likewise.
2081 * xtensa/linux.h: Likewise.
2083 2002-04-13 Richard Sandiford <rsandifo@redhat.com>
2085 * stmt.c (check_unique_operand_names): Expect operand names to
2086 be strings rather than identifiers. Use simple_cst_equal to
2088 (resolve_operand_name_1): Make same identifier to string change here.
2089 * c-parse.in (asm_operand): Convert a named operand into a string.
2090 * cp/parse.y (asm_operand): Likewise.
2092 2002-04-13 Andreas Schwab <schwab@suse.de>
2094 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
2096 2002-04-12 Mark Mitchell <mark@codesourcery.com>
2098 Revert these changes:
2100 2002-04-06 Mark Mitchell <mark@codesourcery.com>
2103 * stor-layout.c (layout_decl): Reset the RTL for the decl.
2105 2002-04-12 Richard Henderson <rth@redhat.com>
2107 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
2108 (sparc*-*-solaris): Clean up header files.
2109 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
2110 and plan on generating 64-bit code.
2111 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
2112 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
2113 * config/sparc/sol2-sld-64.h: Rename ...
2114 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
2115 for AS_SPARC64_FLAG not defined.
2116 * config/sparc/sol2-gld-bi.h: New.
2117 * config/sparc/sol2-sld.h: Remove.
2118 * config/sparc/sol26-sld.h: New.
2119 * config/sparc/sol2.h: Tidy comments.
2120 * doc/install.texi: Document sparc-solaris configury changes.
2122 2002-04-12 Richard Henderson <rth@redhat.com>
2124 * recog.c (offsettable_address_p): Match the logic in adjust_address.
2126 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
2127 in 64-bit mode only. Use only for 32-bit or MEDLOW.
2129 2002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2131 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
2133 Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
2135 * pa.c (pa_can_combine_p): Call extract_insn before calling
2138 2002-04-12 Douglas B Rupp <rupp@gnat.com>
2140 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
2141 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
2142 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2143 (CPP_PREDEFINES): Handle __declspec.
2144 * config/i386/t-interix (USER_H): Remove.
2146 2002-04-12 DJ Delorie <dj@redhat.com>
2148 * integrate.c (compare_blocks): Make comparisons safe for when
2149 sizeof(int) < sizeof(char *).
2150 (find_block): Likewise.
2152 2002-04-12 Jan Hubicka <jh@suse.cz>
2153 David Edelsohn <edelsohn@gnu.org>
2155 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
2157 (symbol_ref_operand): New.
2158 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
2159 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
2161 2002-04-12 Andreas Schwab <schwab@suse.de>
2163 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
2164 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
2165 overrides the definition in config/svr4.h.
2167 2002-04-12 Eric Norum <eric.norum@usask.ca>
2169 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
2170 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
2171 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
2172 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
2173 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
2174 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
2175 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
2176 definitions to config/rtems.h and make the targets more similar.
2178 Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2180 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
2181 POINTERS_EXTEND_UNSIGNED.
2182 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
2183 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
2185 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
2188 Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
2190 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
2191 depends on TARGET_SHMEDIA, not TARGET_SH5.
2193 2002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
2195 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
2196 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
2198 Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
2200 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
2203 2002-04-12 Andreas Schwab <schwab@suse.de>
2205 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
2207 2002-04-12 Richard Henderson <rth@redhat.com>
2210 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
2212 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
2213 modes spanning multiple hard regs.
2215 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
2217 2002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
2219 * pa.c (pa_output_function_prologue): Don't accumulate the total
2220 number of code bytes when using TARGET_64BIT, or gas, SOM and not
2221 the portable runtime.
2222 (output_deferred_plabels): Handle 64bit plabels.
2223 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
2224 generating pic code using the GAS assembler for object formats that
2225 are not SOM (ie., ELF32 and ELF64).
2226 (output_millicode_call): Check attribute type if attribute length is 28.
2227 Likewise use $PIC_pcrel$0. Only call get_attr_length and
2228 dbr_sequence_length once.
2229 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
2230 dbr_sequence_length once.
2231 * pa.h (TARGET_SOM): Define if not defined.
2232 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
2233 with GAS and not SOM.
2234 (jump, call_internal_reg, call_value_internal_reg): Likewise.
2235 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
2237 2002-04-11 David O'Brien <obrien@FreeBSD.org>
2239 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
2240 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
2241 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
2242 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
2243 elfos.h and dbxelf.h values are fine now.
2244 * config/i386/freebsd.h, config/alpha/freebsd.h
2245 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
2247 2002-04-11 David O'Brien <obrien@FreeBSD.org>
2249 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
2250 or set Acpu or Amachine. Reformat.
2251 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
2253 (LINK_SPEC): Do not need to undef.
2254 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
2255 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
2256 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
2258 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
2259 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
2260 (LINK_SPEC): Do not need to undef.
2261 (DONT_USE_BUILTIN_SETJMP): Do not define.
2262 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
2263 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
2264 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
2265 Remove trailing spaces.
2266 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
2267 __ELF__, or set Acpu or Amachine. Reformat.
2268 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
2271 2002-04-11 David O'Brien <obrien@FreeBSD.org>
2273 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
2274 all other *-*-freebsd* targets.
2276 2002-04-11 Richard Henderson <rth@redhat.com>
2278 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
2280 2002-04-11 David O'Brien <obrien@FreeBSD.org>
2282 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
2283 Include {cpu}/{cpu}.h thru tm_file.
2284 (alpha*-*-linux*ecoff): Remove target.
2285 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
2286 (LINK_SPEC): Remove, is not OS independent.
2287 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
2288 (LINK_SPEC): Do not need to #undef any longer.
2289 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
2291 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
2293 (LINK_SPEC): Moved here from alpha/elf.h.
2294 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
2296 * config/alpha/linux-ecoff.h: Remove.
2297 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
2298 (CPP_SPEC): Define _POSIX_SOURCE as needed.
2299 (CPP_SUBTARGET_SPEC): Do not define.
2300 (LINK_SPEC): Do not need to #undef any longer.
2301 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
2302 * config/alpha/vms.h: Likewise.
2304 2002-04-11 Richard Sandiford <rsandifo@redhat.com>
2306 * doc/extend.texi: Remove old claim that typedefs cannot have
2307 an alignment attribute.
2309 2002-04-11 Jakub Jelinek <jakub@redhat.com>
2311 PR optimization/6177
2312 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
2313 bitpos is 0 and bitsize CONCAT size.
2315 2002-04-11 Jakub Jelinek <jakub@redhat.com>
2318 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
2320 2002-04-10 David O'Brien <obrien@FreeBSD.org>
2322 * config/alpha/freebsd.h: Minor reformatting.
2323 (CPP_SPEC): Define ELF and add cpp_subtarget.
2324 (ASM_SPEC): No longer needed.
2326 2002-04-11 Richard Henderson <rth@redhat.com>
2328 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
2329 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
2330 (dimode mem/zero splitter): New.
2332 2002-04-11 Hans-Peter Nilsson <hp@axis.com>
2334 * config/cris/cris.c (cris_override_options): Tweak error message
2335 for PIC not implemented.
2337 * config/cris/cris.h: Tweak comments related to parameter-passing.
2339 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
2341 2002-04-10 Richard Henderson <rth@redhat.com>
2343 * except.c (add_ehl_entry): Allow duplicates after landing pad
2346 2002-04-10 David Edelsohn <edelsohn@gnu.org>
2348 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
2350 2002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
2352 * c-decl.c (c_init_decl_processing): Move generation of
2353 decls for g77_integer_type_node and friends from here ...
2354 * c-common.c (c_common_nodes_and_builtins): ... to here.
2356 2002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
2358 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
2359 is only used as frame pointer when frame_pointer_needed is true.
2361 2002-04-10 Richard Earnshaw <rearnsha@arm.com>
2364 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
2365 for the fact that the pool entry uses two words.
2366 (movdf_hard_insn): Similarly. Also, ADR instruction can span
2368 (movdf_soft_insn): Similarly.
2369 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
2370 for the fact that the pool entry uses three words.
2372 2002-04-10 Richard Sandiford <rsandifo@redhat.com>
2374 * config/mips/mips.c (mips_va_arg): When using the struct version
2375 of the EABI va_list, allow arguments in the register save area to
2376 take up less room than a stack argument.
2378 2002-04-10 Richard Henderson <rth@redhat.com>
2380 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
2381 if EXPAND_INITIALIZER.
2383 2002-04-09 Richard Henderson <rth@redhat.com>
2385 * config/alpha/alpha.md (movdi_er_maybe_g): New.
2386 * config/alpha/alpha.c (alpha_expand_mov): Use it.
2388 2002-04-10 Alan Modra <amodra@bigpond.net.au>
2390 PR optimization/6233
2391 * rtlanal.c (pure_call_p): New function.
2392 * rtl.h (pure_call_p): Declare.
2393 * loop.c (prescan_loop): Use it to set has_nonconst_call.
2394 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
2396 2002-04-09 Eric Christopher <echristo@redhat.com>
2398 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
2399 information to .comm directive.
2401 2002-04-09 Richard Henderson <rth@redhat.com>
2404 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
2406 2002-04-09 Richard Henderson <rth@redhat.com>
2408 * basic-block.h (flow_delete_block_noexpunge): Declare.
2409 (expunge_block_nocompact): Declare.
2410 * cfg.c (expunge_block_nocompact): Split out from ...
2411 (expunge_block): ... here.
2412 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
2413 (flow_delete_block_noexpunge): Split out from ...
2414 (flow_delete_block): ... here.
2415 * cfgcleanup.c (delete_unreachable_blocks): Compact while
2416 removing dead blocks.
2417 * except.c (exception_handler_labels): Remove.
2418 (exception_handler_label_map): New.
2419 (struct eh_region): Add aka member.
2420 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
2421 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
2422 (for_each_eh_label, for_each_eh_label_1): New.
2423 (init_eh): Register exception_handler_label_map.
2424 (free_eh_status): Use free_region.
2425 (find_exception_handler_labels): Use the map, not the list.
2426 (remove_exception_handler_label): Likewise.
2427 (maybe_remove_eh_handler): Likewise.
2428 (remove_eh_handler): Use the region aka bitmap.
2429 * except.h (exception_handler_labels): Remove.
2430 (for_each_eh_label): Declare.
2431 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
2432 * loop.c (invalidate_loops_containing_label): New.
2433 (find_and_verify_loops): Use it. Use for_each_eh_label.
2434 * sched-rgn.c (is_cfg_nonregular): Use
2435 current_function_has_exception_handlers.
2437 2002-04-09 Richard Henderson <rth@redhat.com>
2439 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
2440 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
2441 Do not return changed status.
2442 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
2443 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
2444 New functions that do return changed status.
2445 * sbitmap.h: Update decls.
2446 * gcse.c, lcm.c: Use _cg functions as needed.
2448 Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
2450 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
2451 (sh64-*-elf*, sh-*-rtemself*): Likewise.
2452 * config/sh/embed_bb.c: New file.
2453 * config/sh/embed-elf.h: New file.
2454 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
2455 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
2456 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
2458 (SUBTARGET_CPP_PTR_SPEC): Don't define.
2459 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
2460 Add subtarget_asm_endian_spec.
2461 (ASM_SPEC): Use subtarget_asm_endian_spec.
2462 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
2463 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
2464 (WCHAR_UNSIGNED): Define.
2465 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
2466 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
2467 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
2469 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
2470 (sh_adjust_cost): Likewise.
2471 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
2473 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
2474 (WCHAR_TYPE_SIZE): Likewise.
2475 (ASM_SPEC): Use subtarget_asm_endian_spec.
2476 (SH_ELF_WCHAR_TYPE): #undef/ #define.
2477 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
2478 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
2479 (MAX_WCHAR_TYPE_SIZE): Don't #define .
2480 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
2481 (USER_LABEL_PREFIX): Don't #undef /#define .
2482 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
2483 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
2484 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
2485 (ASM_SPEC): Likewise.
2486 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
2487 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
2488 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
2489 (LIB2FUNCS_EXTRA): Define.
2490 * t-sh64 (LIB2FUNCS_EXTRA): Define.
2491 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
2492 (LIB1ASMFUNCS_CACHE): Define.
2493 (LIB2FUNCS_EXTRA): Redefine empty.
2495 2002-04-08 Richard Henderson <rth@redhat.com>
2497 * reorg.c (get_branch_condition): Use reversed_comparison_code.
2499 2002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2501 * config/m68hc11/larith.asm (__map_data_section): Fix condition
2502 and optimize for size.
2503 (__do_global_ctors): Fix pointer comparison.
2504 (__do_global_dtors): Likewise.
2506 2002-04-09 David S. Miller <davem@redhat.com>
2508 * config/sparc/sparc.c (sparc_extra_constraint_check): New
2509 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
2510 allow reloading pseudos.
2511 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
2512 * config/sparc/sparc-protos.h: Declare it.
2514 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
2515 unsigned comparison warning.
2516 (output_restore_regs): Mark leaf_function as unused.
2518 Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2520 * expr.c (is_aligning_offset): New function.
2521 (expand_expr, case COMPONENT_EXPR): Call it.
2523 2002-04-08 David S. Miller <davem@redhat.com>
2526 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
2528 Make init_priority work on Sparc when using GNU ld.
2529 * config/sparc/linux.h, config/sparc/linux64.h,
2530 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
2531 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
2532 * config/sparc/sol2-gld.h: New file to do the same.
2533 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
2534 sparc/sol2-gld.h to tm_file.
2536 PR optimization/4328
2537 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
2538 * doc/md.texi: Document it.
2539 * config/sparc/sparc.md (movdi_insn_sp64_novis,
2540 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
2541 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
2542 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
2543 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
2545 2002-04-08 Andreas Jaeger <aj@suse.de>
2547 * stmt.c (expand_asm_operands): Revert last patch from Richard
2550 2002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2552 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
2553 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
2555 2002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2557 * doc/contrib.texi (Contributors): Add David O'Brien.
2559 2002-04-08 Alan Modra <amodra@bigpond.net.au>
2561 * configure.in (auto-build.h): Use target_alias and build_alias
2562 when running configure.
2563 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
2564 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
2565 * configure: Regenerate.
2567 2002-04-07 David S. Miller <davem@redhat.com>
2569 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
2571 2002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
2574 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
2575 generating 32-bit pic code.
2577 2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
2579 * cppinit.c (cpp_create_reader): Initialize
2580 discard_comments_in_macro_exp.
2581 (COMMAND_LINE_OPTIONS): Add "-CC" option.
2582 (cpp_handle_option): Handle "-CC" option.
2583 * cpplex.c (save_comment): If saving a C++ comment in
2584 a directive, convert it to a C comment.
2585 (_cpp_lex_direct): Pass second comment start character to
2586 save_comment to indicate comment type.
2587 * cpplib.c (_cpp_handle_directive): If processing
2588 a "#define" directive and discard_comments_in_macro_exp
2589 is false, re-enable saving of comments.
2590 (lex_macro_node): If discard_comments_in_macro_exp is false,
2591 discard any comments before the macro identifier.
2592 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
2594 * cppmacro.c (cpp_get_token): If expanding a macro while
2595 processing a directive, discard any comments we might encounter.
2596 (parse_params): If discard_comments_in_macro_exp is false,
2597 ignore comments in the macro parameter list.
2598 * gcc.c (cpp_unique_options): Add "-CC" option.
2599 (option_map): Map "--comments-in-macros" to "-CC".
2600 * doc/cppopts.texi: Document "-CC" option.
2601 * f/lang-specs.h: Add "-CC" option.
2602 * testsuite/gcc.dg/cpp/maccom1.c: New test.
2603 * testsuite/gcc.dg/cpp/maccom2.c: New test.
2604 * testsuite/gcc.dg/cpp/maccom3.c: New test.
2605 * testsuite/gcc.dg/cpp/maccom4.c: New test.
2606 * testsuite/gcc.dg/cpp/maccom5.c: New test.
2607 * testsuite/gcc.dg/cpp/maccom6.c: New test.
2609 2002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
2612 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
2614 2002-04-06 Mark Mitchell <mark@codesourcery.com>
2617 * stor-layout.c (layout_decl): Reset the RTL for the decl.
2620 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
2621 RTX_UNCHANGING_P for the functions arguments when a tail call
2624 2002-04-06 Jason Merrill <jason@redhat.com>
2626 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
2627 (parse_options_and_default_flags): Set them appropriately.
2628 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
2630 2002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
2632 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
2635 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
2638 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
2639 types come in by-reference. Fix typo in comment.
2641 2002-04-05 David S. Miller <davem@redhat.com>
2643 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
2644 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
2645 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
2646 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
2648 2002-04-05 David S. Miller <davem@redhat.com>
2650 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
2651 are not going to emit return instructions, emit at least a nop
2652 for the sake of sane backtraces.
2654 2002-04-05 Richard Henderson <rth@redhat.com>
2656 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
2658 2002-04-05 Jakub Jeilnek <jakub@redhat.com>
2660 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
2662 2002-04-05 Alexandre Oliva <aoliva@redhat.com>
2664 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
2665 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
2666 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
2668 2002-04-05 Andreas Schwab <schwab@suse.de>
2670 * c-convert.c: Include c-common.h.
2671 * Makefile.in (c-convert.o): Updated.
2673 2002-04-05 Jakub Jelinek <jakub@redhat.com>
2675 * mklibgcc.in: Use separate libgcc.map for each multilib.
2676 * Makefile.in (distclean): Don't remove libgcc.map here.
2678 2002-04-05 Jakub Jelinek <jakub@redhat.com>
2680 * Makefile.in (s-mlib): Handle --disable-multilib by separate
2681 genmultilib invocation.
2683 2002-04-04 Richard Sandiford <rsandifo@redhat.com>
2685 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
2686 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
2687 to num_gprs for symmetry.
2688 * config/mips/mips.c: Adjust accordingly.
2690 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
2692 * c-common.c (truthvalue_conversion): Rename, update.
2693 * c-common.h (c_common_truthvalue_conversion): New.
2694 * c-convert.c (convert): Update.
2695 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
2696 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
2697 * c-typeck.c (build_binary_op, build_unary_op,
2698 build_conditional_expr): Update.
2699 * fold-const.c (constant_boolean_node, fold): Use langhook.
2700 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
2701 * langhooks.h (struct lang_hooks): New hook.
2702 * stmt.c (expand_decl_cleanup): Use langhook.
2703 * tree.h (truthvalue_conversion): Remove.
2705 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
2707 2002-04-05 Alan Modra <amodra@bigpond.net.au>
2709 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
2710 Add rules to make null object file.
2712 2002-04-04 Jim Blandy <jimb@redhat.com>
2714 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
2715 macro formal parameter names.
2717 2002-04-04 David S. Miller <davem@redhat.com>
2719 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
2721 2002-04-04 Richard Henderson <rth@redhat.com>
2724 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
2725 Support copies into and out of memory. Don't accept allows_reg
2726 and allows_mem as gospel.
2728 2002-04-04 Richard Henderson <rth@redhat.com>
2731 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
2732 (write_dependence_p): Likewise.
2734 2002-04-04 Richard Henderson <rth@redhat.com>
2736 * predict.c (estimate_bb_frequencies): Do frequency calculation
2737 with a volatile temporary.
2739 2002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
2741 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
2743 2002-04-04 Jakub Jelinek <jakub@redhat.com>
2746 * final.c (final_start_function): Don't bump profile_label_no here...
2747 (final_end_function): ...but here.
2749 2002-04-04 Jakub Jelinek <jakub@redhat.com>
2751 * config/sparc/sparc.md (pic): New attribute.
2752 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
2754 (split after do_builtin_setjmp_setup): New.
2756 2002-04-04 Jakub Jelinek <jakub@redhat.com>
2759 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
2762 2002-04-04 Jakub Jelinek <jakub@redhat.com>
2764 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
2765 UNITS_PER_WORD for zero sized aggregates.
2767 2002-04-03 David S. Miller <davem@redhat.com>
2769 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
2770 one-character spec for this, just use %(link_gcc_c_sequence).
2772 2002-04-03 David S. Miller <davem@redhat.com>
2774 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
2777 2002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
2779 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
2780 (DWARF_FRAME_RETURN_COLUMN): Move.
2781 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2782 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
2783 * pa.c (except.h, predict.h): Include.
2785 (store_reg_modify, set_reg_plus_d): Revise prototypes.
2786 (output_ascii): Add cast.
2787 (store_reg_modify): Revise to add frame notes.
2788 (set_reg_plus_d): Likewise.
2789 (compute_frame_size): Include space for eh data registers in frame if
2790 the current function calls eh_return.
2791 (hppa_expand_prologue): Ensure register %r2 is saved if the current
2792 function calls eh_return. Save eh data registers if the current
2793 function calls eh_return. Fix code to add frame notes. Emit
2794 blockage to prevent insns with frame notes being scheduled in the
2795 delay slot of calls.
2796 (hppa_expand_epilogue): Restore eh data registers and do final stack
2797 adjustment if the current function calls eh_return. Don't add frame
2799 (output_call): Revise for change in length of call insn. Don't do
2800 return pointer adjustment for an unconditional jump in the delay slot
2801 of a call when using frame notes.
2802 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
2803 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
2804 (ARG_POINTER_CFA_OFFSET): Define.
2805 * pa.md (return_external_pic): New pattern.
2806 (prologue): Correct formatting. Use return_external_pic if current
2807 function calls eh_return.
2808 (call_internal_symref, call_value_internal_symref,
2809 sibcall_internal_symref, sibcall_value_internal_symref): Change default
2810 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
2812 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
2814 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
2815 list of targets to check using "nop" insn.
2816 * configure: Rebuilt.
2818 2002-04-04 Alan Modra <amodra@bigpond.net.au>
2820 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
2822 2002-04-03 David S. Miller <davem@redhat.com>
2824 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
2825 library sequence passed to the linker.
2826 (LINK_COMMAND_SPEC): Use it.
2827 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
2828 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
2829 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2831 2002-04-03 Jason Merrill <jason@redhat.com>
2833 * except.c (struct eh_status): Remove protect_list.
2834 (begin_protect_partials, end_protect_partials): Remove.
2835 (add_partial_entry): Remove.
2836 * except.h: Remove prototypes.
2838 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
2839 expand_decl_cleanup_eh.
2842 * tree.h (CLEANUP_EH_ONLY): New macro.
2843 * stmt.c (expand_decl_cleanup_eh): New fn.
2844 (expand_cleanups): Check CLEANUP_EH_ONLY.
2845 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
2846 Use expand_decl_cleanup_eh.
2847 (expand_stmt): Adjust.
2848 * c-common.h: Adjust prototype.
2850 2002-04-04 Hans-Peter Nilsson <hp@axis.com>
2852 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
2853 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
2854 (cris_target_asm_function_epilogue): Ditto.
2855 (cris_initial_frame_pointer_offset): Ditto.
2856 (cris_simple_epilogue): Ditto.
2857 (cris_expand_builtin_va_arg): Variable-size types come in
2860 2002-04-03 David S. Miller <davem@redhat.com>
2862 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
2864 (set_fast_math): Correct 'fsr' type.
2866 2002-04-03 Richard Henderson <rth@redhat.com>
2869 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
2870 * toplev.c (check_global_declarations): Use it.
2871 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
2872 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
2873 (LANG_HOOKS_DECLS): Add it.
2874 * langhooks.c (lhd_warn_unused_global_decl): New.
2875 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
2876 * c-objc-common.c (c_warn_unused_global_decl): New.
2877 * c-tree.h (c_warn_unused_global_decl): Declare.
2878 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
2880 2002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
2882 * langhooks-def.h (lhd_set_decl_assembler_name,
2883 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
2884 (LANG_HOOKS_INITIALIZER): Update.
2885 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
2886 * langhooks.h (struct lang_hooks): New hook.
2887 * tree.c (set_decl_assembler_name): Move to langhooks.c.
2888 (lang_set_decl_assembler_name): Remove.
2889 (init_obstacks): Don't set hook.
2890 (decl_assembler_name): New function.
2891 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
2892 (decl_assembler_name): New.
2893 (lang_set_decl_assembler_name): Remove.
2895 2002-04-03 Jakub Jelinek <jakub@redhat.com>
2897 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
2898 works properly with .hidden symbols.
2899 * configure: Rebuilt.
2900 * config.in: Rebuilt.
2901 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
2902 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
2903 properly with .hidden symbols.
2905 2002-04-03 Jakub Jelinek <jakub@redhat.com>
2908 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
2911 2002-04-03 Richard Henderson <rth@redhat.com>
2914 * sched-rgn.c (sets_likely_spilled): New.
2915 (sets_likely_spilled_1): New.
2916 (add_branch_dependences): Use it.
2918 2002-04-02 Richard Henderson <rth@redhat.com>
2921 * loop.h (LOOP_FIRST_PASS): New.
2922 * loop.c (strength_reduce): Mind it when deciding to unroll.
2923 * toplev.c (rest_of_compilation): Set it.
2925 2002-04-02 David S. Miller <davem@redhat.com>
2927 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
2928 mems_ok_for_ldd_peep when the order of the loads being examined
2930 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
2931 existing comment to increase comprehension of this situation.
2933 2002-04-02 Zack Weinberg <zack@codesourcery.com>
2935 * config/sh/sh.md: Don't use union real_extract.
2937 2002-04-02 Richard Henderson <rth@redhat.com>
2939 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
2941 2002-04-02 David O'Brien <obrien@FreeBSD.org>
2943 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
2944 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
2945 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
2946 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
2947 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
2948 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
2949 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
2950 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
2951 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
2952 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
2953 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
2954 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
2955 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
2956 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
2957 Include as many configury headers via tm_file as possible. This
2958 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
2959 * config/openbsd-oldgas.h: New file.
2960 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
2961 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
2962 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
2963 config/i386/i386-coff.h, config/i386/i386-interix.h,
2964 config/i386/iscdbx.h, config/i386/linux-aout.h,
2965 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
2966 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
2967 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
2968 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
2969 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
2970 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
2971 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
2972 config/i386/vxi386.h: Do not directly include configury headers.
2973 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
2974 Directly include configury headers that are no longer automatically
2975 included by the above headers.
2976 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
2977 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
2978 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
2979 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
2980 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
2981 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
2982 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
2983 (TARGET_VERSION): Define.
2984 * config/i386/beos-elf.h, config/i386/freebsd.h,
2985 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
2986 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
2987 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
2988 config/i386/sco5.h, config/i386/sysv4.h
2989 (TARGET_VERSION): Do not need to protect.
2990 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
2991 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
2992 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
2993 config/i386/i386-interix.h, config/i386/linux-aout.h,
2994 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
2995 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
2996 (YES_UNDERSCORES): Do not define - not needed.
2997 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
2998 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
2999 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
3000 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
3001 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
3002 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
3003 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
3004 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
3006 2002-04-02 Eric Botcazou <ebotcazou@multimania.com>
3007 Richard Henderson <rth@redhat.com>
3010 * function.c (assign_temp): Accept either type or decl argument.
3011 Detect variables whose size is too large to fit into an integer.
3012 * stmt.c (expand_decl): Pass the decl, not the type.
3014 2002-04-02 David O'Brien <obrien@FreeBSD.org>
3016 * protoize.c: Match include directory usage with cppdefault.c.
3018 2002-04-03 Jeffrey A Law (law@redhat.com)
3019 Hans-Peter Nilsson <hp@bitrange.com>
3021 * combine.c (simplify_comparison): Avoid narrowing a comparison
3022 with a paradoxical subreg when doing so would drop signficant bits.
3024 2002-04-02 Steve Ellcey <sje@cup.hp.com>
3026 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
3027 if POINTERS_EXTEND_UNSIGNED is defined.
3029 2002-04-02 Richard Henderson <rth@redhat.com>
3032 * local-alloc.c (contains_replace_regs): LO_SUM may contain
3035 2002-04-02 Richard Henderson <rth@redhat.com>
3037 * doc/standards.texi: Document required freestanding libc entry points.
3039 2002-04-02 Alan Modra <amodra@bigpond.net.au>
3041 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
3042 associated splitter. Remove MQ constraint.
3043 (ctrdi_internal4): Correct CCmode clobber.
3045 2002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
3047 * milli64.S ($$dyncall): New function.
3048 * t-linux (LIB1ASMFUNCS): Revise module list.
3049 (LIB1ASMSRC): Use pa/milli64.S.
3051 2002-04-02 Richard Henderson <rth@redhat.com>
3053 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
3054 rename solaris_sys_varargs_h.
3056 Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3058 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
3059 the same mode as its component.
3061 2002-04-02 Richard Henderson <rth@redhat.com>
3064 * final.c (this_is_asm_operands): Export.
3065 * output.h (this_is_asm_operands): Declare.
3066 * config/i386/i386.c (print_operand): Error odd asm operands.
3068 2002-04-02 Richard Henderson <rth@redhat.com>
3071 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
3073 2002-04-01 Richard Henderson <rth@redhat.com>
3076 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
3077 * fixinc/fixincl.x: Rebuild.
3079 2002-04-01 Richard Henderson <rth@redhat.com>
3081 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
3082 (atomic_alloc, atomic_free): New.
3083 (SIZE, MASK_FOR, PTR_IN): New.
3084 (emergency_reg_state, emergency_reg_state_free): New.
3085 (emergency_labeled_state, emergency_labeled_state_free): New.
3086 (reg_state_alloced, labeled_state_alloced): New.
3087 (alloc_reg_state, free_reg_state): New.
3088 (alloc_label_state, free_label_state, free_label_states): New.
3089 (push, pop, dup_state_stack, free_state_stack): Use them.
3090 (desc_label_state): Likewise.
3091 (uw_frame_state_for): Free label states and state stack.
3092 (uw_update_reg_address): Eliminate warnings.
3094 2002-04-01 Vladimir Makarov <vmakarov@redhat.com>
3096 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
3097 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
3099 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
3101 * c-decl.c (grokdeclarator): Update.
3102 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
3103 * c-tree.h (c_mark_addressable): New.
3104 * c-typeck.c (default_function_array_conversion, build_unary_op,
3105 build_array_ref, convert_for_assignment): Update.
3106 (mark_addressable): Rename.
3107 * calls.c (try_to_integrate, expand_call): Use langhook.
3108 * expr.c (expand_expr): Use langhook.
3109 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
3110 * langhooks.h (struct lang_hooks): New hook.
3111 * stmt.c (expand_asm_operands): Use langhook.
3112 * tree.h (mark_addressable): Remove.
3114 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
3116 2002-04-01 Bob Wilson <bob.wilson@acm.org>
3118 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
3121 2002-04-01 Bob Wilson <bob.wilson@acm.org>
3123 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
3124 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
3126 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
3128 * c-common.c (unsigned_conversion_warning, convert_and_check,
3129 unsigned_type, signed_type, shorten_compare,
3130 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
3131 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
3132 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
3134 * c-decl.c (grokdeclarator): Update.
3135 * c-format.c (check_format_types): Update.
3136 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
3137 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
3138 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
3139 * convert.c (convert_to_integer): Use new hooks.
3140 * expmed.c (make_tree): Use new hooks.
3141 * expr.c (store_expr): Use new hooks.
3142 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
3143 all_ones_mask_p, unextend, fold): Use new hooks.
3144 * langhooks.h (struct lang_hooks_for_types): New hooks.
3145 * tree.h (signed_or_unsigned_type, signed_type,
3146 unsigned_type): Remove.
3148 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
3149 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
3151 2002-03-31 Richard Henderson <rth@redhat.com>
3153 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
3154 (desc_frgr_mem): Fix reference to f16-f31.
3156 2002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3158 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
3159 RTVEC_ELT): Const-ify.
3160 * varray.h (VARRAY_CHECK): Const-ify.
3161 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
3162 ggc_mark_rtvec, ggc_mark): Const-ify.
3164 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
3166 * diagnostic.c: Include langhooks-def.h.
3167 * Makefile.in (diagnostic.o): Update.
3169 2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
3171 * c-common.c (c_unsafe_for_reeval): Rename.
3172 * c-common.h (c_unsafe_for_reeval): Rename.
3173 * c-decl.c (finish_incomplete_decl): Rename.
3174 (c_init_decl_processing): Don't set langhook.
3175 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
3176 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
3177 * c-objc-common.c (c_objc_common_init): Don't set langhook.
3178 * c-tree.h (finish_incomplete_decl): Rename.
3179 * langhooks-def.h (lhd_unsafe_for_reeval): New.
3180 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
3181 (LANG_HOOKS_INITIALIZER): Update.
3182 * langhooks.c (lhd_unsafe_For_reeval): New.
3183 * langhooks.h (struct langhooks): New hooks.
3184 * toplev.c (incomplete_decl_finalize_hook): Remove.
3185 (wrapup_global_declarations): Update.
3186 * tree.c (lang_unsafe_for_reeval): Remove.
3187 (unsafe_for_reeval): Update.
3188 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
3191 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
3192 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
3194 2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
3196 * diagnostic.c (print_error_function): Remove.
3197 (default_print_error_function): Rename.
3198 (report_error_function): Update.
3199 * diagnostic.h (print_error_function): Remove.
3200 (default_print_error_function): Remove.
3201 * langhooks-def.h (struct diagnostic_context): Predeclare.
3202 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
3203 (LANG_HOOKS_INITIALIZER): Update.
3204 * langhooks.h (struct diagnostic context): Predeclare.
3205 (struct lang_hooks): New hook.
3207 2002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3209 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
3210 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
3212 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
3213 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
3214 of PIC_OFFSET_TABLE_REGNUM thruout.
3215 * config/rs6000/rs6000.md: Likewise.
3216 * config/rs6000/darwin.h: Likewise.
3218 Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3220 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
3221 unsigned HOST_WIDE_INT, not unsigned int.
3223 2002-03-31 Jakub Jelinek <jakub@redhat.com>
3225 PR middle-end/6096, middle-end/6098, middle-end/6099
3226 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
3228 (fill_slots_from_thread): Likewise.
3230 2002-03-31 Jakub Jelinek <jakub@redhat.com>
3232 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
3233 floating fields in float regs.
3234 (function_arg_record_value_2): Likewise.
3236 2002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
3238 * config/mmix/mmix.md (define_constants): Remove misleading
3239 FIXME. Add MMIX_fp_rO_OFFSET.
3240 ("nonlocal_goto_receiver"): Don't have stack-frame address of
3241 saved rO as part of the pattern. Remove FIXME.
3242 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
3243 here, at output-time.
3245 2002-03-31 Jakub Jelinek <jakub@redhat.com>
3248 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
3250 (output_v9branch): Likewise.
3252 2002-03-31 Alexandre Oliva <aoliva@redhat.com>
3254 * gcc.c: Revert previous patch for now.
3255 * config/i386/djgpp.h: Likewise.
3257 2002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
3259 * config/mmix/crti.asm (_init): Register _fini with atexit.
3260 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
3262 2002-03-31 Richard Henderson <rth@redhat.com>
3265 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
3266 (ASM_OUTPUT_DEF_FROM_DECLS): New.
3268 2002-03-31 Richard Henderson <rth@redhat.com>
3270 * libgcc2.c (__bb_exit_func): Make static.
3272 * config/alpha/alpha.md (trap): New.
3274 2002-03-31 Richard Henderson <rth@redhat.com>
3276 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
3277 promoted argument types; build trap.
3278 (expand_builtin_trap): New.
3279 (expand_builtin): Use it.
3280 * stmt.c (expand_nl_goto_receivers): Likewise.
3281 * expr.h (expand_builtin_trap): Declare.
3282 * libfuncs.h (LTI_abort, abort_libfunc): New.
3283 * optabs.c (init_optabs): Init abort_libfunc.
3285 2002-03-31 Alexandre Oliva <aoliva@redhat.com>
3287 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
3288 (LINK_COMMAND_SPEC): ... from here.
3289 (init_gcc_specs): Duplicate it here too, omitting
3290 shared_name in the second copy.
3291 (init_spec): Test for duplicate
3292 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
3294 2002-03-30 David S. Miller <davem@redhat.com>
3296 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3297 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
3299 2002-03-30 Roger Sayle <roger@eyesopen.com>
3300 Richard Henderson <rth@redhat.com>
3302 * regmove.c (combine_stack_adjustments_for_block): Avoid
3303 emitting a stack adjustment of zero bytes. Let delete_insn
3306 2002-03-30 Richard Henderson <rth@redhat.com>
3308 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
3309 (sparc_emitting_epilogue): New.
3310 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
3311 * config/sparc/sparc-protos.h: Update.
3312 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
3313 (TARGET_SWITCHES): Update.
3314 * config/sparc/sparc.md (return): Remove.
3315 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
3316 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
3317 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
3318 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
3319 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
3320 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
3321 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
3322 Remove MASK_EPILOGUE.
3323 * doc/invoke.texi: Update.
3325 2002-03-30 Daniel Berlin <dan@dberlin.org>
3327 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
3328 CPP will start the file for us.
3330 2002-03-30 Richard Henderson <rth@redhat.com>
3333 * config/ia64/ia64.c (group_barrier_needed_p): Special case
3334 prologue_allocate_stack.
3335 (ia64_single_set): Use insn codes for recognition of special
3336 cases, not rtl matching.
3337 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
3339 Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
3341 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
3343 2002-03-30 Richard Henderson <rth@redhat.com>
3346 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
3347 or -fomit-frame-pointer with profiling.
3348 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
3349 (FUNCTION_PROFILER): Do nothing.
3350 (PROFILE_HOOK): New.
3351 * config/sparc/sparc.c (sparc_override_options): Don't check
3352 code models for profiling.
3353 (sparc_function_profiler): Remove.
3354 (sparc_profile_hook): New.
3355 * config/sparc/sparc-protos.h: Update.
3357 2002-03-30 Jakub Jelinek <jakub@redhat.com>
3359 PR optimization/6086
3360 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
3361 of SUBREG of volatile MEM or because the MEM was mode dependent,
3362 return CLOBBER instead of unmodified SUBREG.
3364 Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
3366 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
3367 when not optimizing.
3369 * toplev.c (rest_of_compilation): Cann mark_constant_function
3370 only when optimizing.
3372 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
3375 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
3376 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
3377 (try_optimize_cfg): clear all AUX fields.
3379 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
3380 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
3381 (ix86_address_cost): Be prepared for SUBREGed registers.
3382 (legitimate_address_p): Accept SUBREGed registers.
3384 2002-03-29 Richard Henderson <rth@redhat.com>
3387 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
3389 2002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3391 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
3392 for aggregate and TFmode types.
3394 2002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
3396 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
3398 2002-03-29 Richard Henderson <rth@redhat.com>
3401 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
3402 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
3404 2002-03-29 Richard Henderson <rth@redhat.com>
3407 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
3408 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
3409 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
3410 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
3412 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
3414 2002-03-29 Dale Johannesen <dalej@apple.com>
3416 * loop.c (combine_movables): Do allow combination of pseudos.
3418 2002-03-29 Loren J. Rittle <ljrittle@acm.org>
3420 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
3421 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
3422 No functional change except ...
3423 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
3424 * doc/install.texi (*-*-freebsd*): Document port configuration.
3426 2002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
3428 * Makefile.in (convert.o, calls.o, expmed.o): Update.
3429 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
3431 * builtin-types.def (BT_PTRMODE): Update.
3432 * c-common.c (type_for_size): Rename c_common_type_for_size.
3433 (type_for_mode): Similarly.
3434 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
3436 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
3437 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
3438 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
3440 * c-typeck.c (common_type, comptypes, default_conversion):
3442 * calls.c: Include langhooks.h.
3443 (emit_library_call_value_1): Use new hooks. Avoid redundant
3445 * convert.c: Include langhooks.h
3446 (convert_to_pointer, convert_to_integer): Use new hooks.
3447 * except.c (init_eh): Similarly.
3448 * expmed.c: Include langhooks.h.
3449 (expand_mult_add): Use new hooks.
3450 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
3451 try_casesi): Similarly.
3452 * fold-const.c (optimize_bit_field_compare, make_range,
3453 decode_field_reference, fold_truthop, fold): Similarly.
3454 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
3455 put_var_into_stack): Similarly.
3456 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
3457 LANG_HOOKS_TYPE_FOR_SIZE): New.
3458 (LANG_HOOKS_TYPES_INITIALIZER): Update.
3459 * langhooks.h (lang_hooks_for_types): New hooks.
3460 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
3461 * tree.c (get_unwidened, get_narrower): Similarly.
3462 * tree.h (type_for_mode, type_for_size): Remove.
3463 * varasm.c (force_const_mem): Use new hooks.
3464 * utils2.c (nonbinary_modular_operation): Update.
3466 * objc-act.c (handle_impent): Update.
3467 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
3470 2002-03-29 Steve Ellcey <sje@cup.hp.com>
3472 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
3473 * config/ia64/ia64.c (basereg_operand): New.
3474 * config/ia64/ia64-protos.h (basereg_operand): Declare.
3475 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
3477 2002-03-29 Hans-Peter Nilsson <hp@bitrange.com>