12008-06-05  Richard Sandiford  <rdsandiford@googlemail.com>
2
3	* config/mips/mips.c (mips_emit_loadgp): Emit a blockage if
4	current_function_profile.
5	* config/mips/mips.md (loadgp_blockage): Use SI rather than DI.
6
72008-05-29  Eric Botcazou  <ebotcazou@adacore.com>
8
9	* tree-nested.c (check_for_nested_with_variably_modified): Fix typo.
10
112008-04-08  Richard Guenther  <rguenther@suse.de>
12
13	* fold-const.c (fold_widened_comparison): Do not allow
14	sign-changes that change the result.
15
162008-03-25  Richard Guenther  <rguenther@suse.de>
17
18	Backport from mainline:
19	2008-02-12  Richard Guenther  <rguenther@suse.de>
20
21	PR middle-end/35163
22	* fold-const.c (fold_widened_comparison): Use get_unwidened in
23	value-preserving mode.  Disallow final truncation.
24
252008-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
26
27	Backport:
28	2007-09-27  Matthias Klose  <doko@ubuntu.com>
29
30	* config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
31	multilib osdirname if it exists.
32	* config/rs6000/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
33
342008-02-14  Alan Modra  <amodra@bigpond.net.au>
35
36	PR target/34393
37	* config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
38	to a reg.
39
402008-02-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
41
42	PR middle_end/34150
43	* pa.c (legitimize_pic_address): Add REG_EQUAL note on sets with a
44	pic_label_operand source.  Similarly, add a REG_LABEL note and
45	update LABEL_NUSES during and after reload.
46
472008-02-08  Steven Bosscher  <stevenb.gcc@gmail.com>
48
49	PR middle-end/34627
50	* combine.c (simplify_if_then_else): Make sure the comparison is
51	against const0_rtx when simplifying to (abs x) or (neg (abs X)).
52
532008-02-04  Richard Guenther  <rguenther@suse.de>
54
55	PR middle-end/33631
56	* expr.c (count_type_elements): Give for unions instead of
57	guessing.
58
592008-02-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
60
61	Backport:
62	2007-08-02  Nathan Froyd  <froydnj@codesourcery.com>
63
64	PR middle-end/25445
65	* varasm.c (default_binds_local_p_1): Consult flag_whole_program
66	if we are compiling with -fPIC.
67
682008-01-31  Richard Henderson  <rth@redhat.com>
69
70        PR c/34993
71        * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN
72        for unbounded arrays.
73
742008-01-31  Andreas Krebbel  <krebbel1@de.ibm.com>
75
76	* config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange
77	the overflow check to make it easier to read.
78	(__fixtfdi): Change the type of the ll member in union
79	long_double to UDItype_x.
80
812008-01-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
82
83	Backport:
84	2007-11-07  Kenneth Zadeck <zadeck@naturalbridge.com>
85	
86	PR middle-end/33826
87	* ipa-pure-const (static_execute): Added code to keep recursive
88	functions from being marked as pure or const.
89	* ipa-utils (searchc): Fixed comment.
90	
912008-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
92
93	PR libgfortran/34699
94	* pa-hpux.h (LINK_SPEC): Only search /lib/pa1.1 and /usr/lib/pa1.1 on
95	static links.
96	* pa-hpux10.h (LINK_SPEC): Likewise.
97	* pa-hpux11.h (LINK_SPEC): Don't search /lib/pa1.1 and /usr/lib/pa1.1.
98
992008-01-14  Eric Botcazou  <ebotcazou@adacore.com>
100
101	PR rtl-optimization/31944
102	* cse.c (remove_pseudo_from_table): New function.
103	(merge_equiv_classes): Use above function to remove pseudo-registers.
104	(invalidate): Likewise.
105
1062007-12-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
107
108	PR driver/33772
109	* collect2.c (SHLIB_SUFFIX): Define if not defined.
110	(write_c_file_stat): Use SHLIB_SUFFIX.
111	* som.h (SHLIB_SUFFIX): Define.
112	* doc/tm.texi (SHLIB_SUFFIX): Document.
113
1142007-12-20  Jakub Jelinek  <jakub@redhat.com>
115
116	PR bootstrap/34003
117	* c-decl.c (merge_decls): Copy RTL from olddecl to newdecl.
118	* config/pa/pa.c (pa_encode_section_info): If !first, preserve
119	SYMBOL_FLAG_REFERENCED flag.
120
1212007-12-19  Kaz Kylheku  <kaz@zeugmasystems.com>
122
123	PR rtl-optimization/34456
124	* resource.c (mark_set_resources): Use regs_invalidated_by_call
125	rather than call_used_regs and global_regs.
126
1272007-11-29  Matthias Klose  <doko@ubuntu.com>
128
129	Backport from mainline:
130	2007-11-17  Richard Guenther  <rguenther@suse.de>
131
132	PR middle-end/34130
133	* fold-const.c (extract_muldiv_1): Do not move negative
134	constants inside ABS_EXPR.
135
1362007-11-16  Richard Guenther  <rguenther@suse.de>
137
138	PR middle-end/34030
139	* fold-const.c (fold_binary): Use correct types for folding
140	1 << X & Y to Y >> X & 1.
141
1422007-11-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
143
144	PR rtl-optimization/33822
145	* rtl.h (REG_OFFSET): Fix comment.
146	* var-tracking.c (INT_MEM_OFFSET): New macro.
147	(var_mem_set): Use it.
148	(var_mem_delete_and_set): Likewise.
149	(var_mem_delete): Likewise.
150	(vt_get_decl_and_offset): Likewise.
151	(offset_valid_for_tracked_p): New predicate.
152	(count_uses): Do not track locations with invalid offsets.
153	(add_uses): Likewise.
154	(add_stores): Likewise.
155
1562007-11-04  Hirohisa Yamaguchi  <umq@ueo.co.jp>
157
158	* config/freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS): Fix
159	broken else-if chain.
160
1612007-11-04  Gerald Pfeifer  <gerald@pfeifer.com>
162
163	* config.gcc: Proactively add FreeBSD 10 and FreeBSD 11.
164	* config/freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS): Ditto.
165
1662007-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
167
168	Backport from mainline:
169	2006-12-11  Zdenek Dvorak  <dvorakz@suse.cz>
170
171	PR rtl-optimization/30113
172	* loop-iv.c (implies_p): Require the mode of the operands to be
173	scalar.
174
1752007-10-30  Ian Lance Taylor  <iant@google.com>
176
177	* ifcvt.c (noce_can_store_speculate_p): New static function.
178	(noce_process_if_block): Call it.
179	(find_if_header): Only call find_if_case_1 and find_if_case_2 if
180	life_data_ok is set.
181	(if_convert): Always compute postdominators.
182
1832007-10-29  Janis Johnson  <janis187@us.ibm.com>
184
185	* doc/invoke.texi (Option Summary, optimizations): Remove
186	-fbounds-check.  Show that the value for options -falign-jumps,
187	-falign-labels, -falign-loops, -falign-functions,
188	-fsched-stalled-insns, and -fsched-stalled-insns-dep is optional.
189	Break up a long line.  Add -ftree-vrp and -funit-at-a-time.
190	(Option Summary, code gen options)  Add -fno-stack-limit.
191	* doc/invoke.texi (Option Summary, optimizations):
192	(Optimization Options): Remove -fbounds-check, which is also
193	documented under Code Generation Options.  In the descriptions for
194	-fsched-stalled-insns and -fsched-stalled-insns-dep, show the
195	options with and without values.  Change -fno-cprop-registers
196	to -fcprop-registers to match other options, and say when it is
197	enabled rather than disabled.  Remove extra index entry for
198	-fno-cx-limited-range.  Add opindex for several optimization
199	options, and fix typos in the opindex commands for several others.
200	(Code Gen Options): Add index entry for -ftls-model.
201
2022007-10-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
203
204	* doc/rtl.texi (Flags): Fix MEM_SCALAR_P entry.
205	Document MEM_POINTER.  Replace mentions of "integrated"
206	field with "return_val".  Delete outdated stuff.
207
2082007-10-20  Jakub Jelinek  <jakub@redhat.com>
209
210	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Point
211	saved CR2 offset to low 32 bits of regs->ccr rather than the whole
212	64-bit register in 64-bit libgcc.
213
2142007-09-23  H.J. Lu  <hongjiu.lu@intel.com>
215
216	* configure.ac (ld_vers): Support GNU linker version xx.xx.*
217	* configure: Regenerated.
218
2192007-09-23  Jakub Jelinek  <jakub@redhat.com>
220
221	* configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above.
222	* configure: Regenerated.
223
2242007-09-13  H.J. Lu  <hongjiu.lu@intel.com>
225
226	PR bootstrap/33418
227	* configure.ac (ld_vers): Support Linux linker.
228	* configure: Regenerated.
229
2302007-09-06  Richard Sandiford  <richard@codesourcery.com>
231
232	PR target/33256
233	* config/mips/mips.c (mips_classify_symbolic_expression): New function.
234	(mips_classify_address): Use it instead of mips_symbolic_constant_p.
235	(print_operand_reloc): Likewise.
236
2372007-08-24  Jakub Jelinek  <jakub@redhat.com>
238
239	PR middle-end/32912
240	* fold-const.c (fold_binary): Only optimize X | ~X and X ^ ~X for
241	integral types.
242
2432007-08-22  Richard Guenther  <rguenther@suse.de>
244
245	PR tree-optimization/33142
246	* tree-vrp.c (extract_range_from_unary_expr): Compare with
247	TYPE_MIN/MAX_VALUE using tree_int_cst_equal.
248
2492007-08-21  Adam Nemet  <anemet@caviumnetworks.com>
250
251	* config/mips/predicates.md (const_call_insn_operand): Invoke
252	SYMBOL_REF_LONG_CALL_P only on SYMBOL_REFs.
253
2542007-08-02  Andreas Krebbel  <krebbel1@de.ibm.com>
255
256	* config/s390/s390.md ("*xordi3_cconly"): Change xr to xg.
257
2582007-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
259
260	* config/s390/s390.md (TF in GPR splitter): Change operand_subword
261	parameter to TFmode.
262
2632007-07-16  Richard Guenther  <rguenther@suse.de>
264	    Uros Bizjak  <ubizjak@gmail.com>
265
266	* tree-if-conv.c (find_phi_replacement_condition): Unshare "*cond"
267	before forcing it to gimple operand.
268
2692007-07-13  Paolo Bonzini  <bonzini@gnu.org>
270
271	Revert these patches:
272
273	2007-07-09  Paolo Bonzini  <bonzini@gnu.org>
274
275        PR middle-end/32004
276        * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
277
278	2007-07-06  Paolo Bonzini  <bonzini@gnu.org>
279
280	PR middle-end/32004
281	* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
282	pass_match_asm_constraints): New.
283	* passes.c (init_optimization_passes): Add new pass.
284	* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
285	* function.h (struct function): Add has_asm_statement bit.
286	(current_function_has_asm_statement): New.
287	* tree-pass.h (pass_match_asm_constraints): New.
288
2892007-07-09  Paolo Bonzini  <bonzini@gnu.org>
290
291        PR middle-end/32004
292        * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
293
2942007-07-09  Uros Bizjak  <ubizjak@gmail.com>
295
296	PR tree-optimization/32681
297	* tree-if-conv.c (find_phi_replacement_condition): Use the condition
298	saved in second_edge->aux when first_bb is a loop header.
299
3002007-07-07 Anatoly Sokolov <aesok@post.ru>
301
302	PR target/31331
303	* config/avr/avr.c (avr_naked_function_p): Handle receiving a type
304	rather than a decl. 
305	(avr_attribute_table): Make "naked" attribute apply to function types
306	rather than to decls.
307	(avr_handle_fntype_attribute): New function.
308
3092007-07-07  Uros Bizjak  <ubizjak@gmail.com>
310
311	PR target/32660
312	Backport from mainline.
313	* config/i386/sse.md (*vec_extractv2di_1_sse2): New.
314	(*vec_extractv2di_1_sse): New.
315
3162007-07-06  Paolo Bonzini  <bonzini@gnu.org>
317
318	PR middle-end/32004
319	* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
320	pass_match_asm_constraints): New.
321	* passes.c (init_optimization_passes): Add new pass.
322	* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
323	* function.h (struct function): Add has_asm_statement bit.
324	(current_function_has_asm_statement): New.
325	* tree-pass.h (pass_match_asm_constraints): New.
326
3272007-07-06  Uros Bizjak  <ubizjak@gmail.com>
328
329	PR rtl-optimization/32450
330	* function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
331	to ensure that instructions are not moved into the prologue when
332	profiling is on.
333
3342007-07-04  Uros Bizjak  <ubizjak@gmail.com>
335
336	PR tree-optimization/31966
337	PR tree-optimization/32533
338	* tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not
339	"basic_block" description as its third argument.  Update function
340	calls to get destination bb from "edge" argument.  Save "cond" into
341	aux field of the edge.  Update prototype for changed arguments.
342	(if_convertible_loop_p): Clear aux field of incoming edges if bb
343	contains phi node.
344	(find_phi_replacement_condition): Operate on incoming edges, not
345	on predecessor blocks.  If there is a condition saved in the
346	incoming edge aux field, AND it with incoming bb predicate.
347	Return source bb of the first edge.
348	(clean_predicate_lists): Clean aux field of outgoing node edges.
349	(tree_if_conversion): Do not initialize cond variable. Move
350	variable declaration into the loop.
351	(replace_phi_with_cond_gimple_modify_stmt): Remove unneded
352	initializations of new_stmt, arg0 and arg1 variables.
353
3542007-07-04  Kaz Kojima  <kkojima@gcc.gnu.org>
355
356	PR target/32506
357	Backport from mainline.
358	* config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand
359	predicate instead of target_operand.
360	(divsi3_i1_media, divsi3_media_2): Likewise.
361
3622007-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
363
364	PR target/28307
365	* gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
366	(__gthrw_pragma): Provide default definition.
367	(__gthrw2): Use it.
368	* gthr-posix.c (__gthrw_pragma): Define.
369
3702007-06-30  Alexandre Oliva  <aoliva@redhat.com>
371
372	* dwarf2out.c (dwarf2out_finish): Accept namespaces as context of
373	limbo die nodes.
374
3752007-06-28  Seongbae Park  <seongbae.park@gmail.com>
376
377	* config/arm/arm.c (arm_get_frame_offsets): Set
378	offsets->locals_base to avoid negative stack size.
379	(thumb1_expand_prologue): Assert on negative stack size.
380
3812007-06-28  Jakub Jelinek  <jakub@redhat.com>
382
383	* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
384	decl is non-external for AIX ABI.
385
3862007-06-28  David Edelsohn  <edelsohn@gnu.org>
387
388	* config/rs6000/predicates.md (current_file_function_operand):
389	Ensure the symbol is non-external for AIX ABI.
390
3912007-06-21  Uros Bizjak  <ubizjak@gmail.com>
392
393	PR target/32389
394	* config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL.
395	* config/i386/i386.c (assign_386_stack_local): Assert that
396	SLOT_VIRTUAL is valid only before virtual regs are instantiated.
397	(ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]:
398	Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP.
399	* config/i386/i386.md (truncdfsf2, truncxfsf2, truncxfdf2): Ditto.
400
4012007-06-20  Jakub Jelinek  <jakub@redhat.com>
402
403	PR inline-asm/32109
404	* gimplify.c (gimplify_asm_expr): Issue error if type is addressable
405	and !allows_mem.
406
407	PR middle-end/32285
408	* calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
409	if ACCUMULATE_OUTGOING_ARGS.
410
4112007-06-20  Kaz Kojima  <kkojima@gcc.gnu.org>
412
413	PR rtl-optimization/28011
414	Backport from mainline.
415	* reload.c (push_reload): Set dont_share if IN appears in OUT
416	also when IN is a PLUS rtx.
417	(reg_overlap_mentioned_for_reload_p): Return true if X and IN
418	are same PLUS rtx.
419
4202007-06-19  Jakub Jelinek  <jakub@redhat.com>
421
422	PR tree-optimization/32353
423	* tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL.
424
4252007-06-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
426
427	* config/sparc/sparc.c (sparc_override_options): Initialize
428	fpu mask correctly.
429
4302007-06-08  Kaz Kojima  <kkojima@gcc.gnu.org>
431
432	PR target/32163
433	Backport from mainline.
434	* config/sh/sh.md (symGOT_load): Don't schedule insns when
435	the symbol is generated with the stack protector.
436
4372007-05-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
438
439	Backport from mainline:
440	2007-05-05  Aurelien Jarno  <aurelien@aurel32.net>
441
442	* config/pa/pa.md: Split tgd_load, tld_load and tie_load
443	into pic and non-pic versions. Mark r19 as used for 
444	tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used 
445	for tgd_load, tld_load and tie_load .
446	* config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic
447	version of tgd_load, tld_load and tie_load depending on the 
448	value of flag_pic.
449
4502007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
451
452	PR target/31701
453	Backport from mainline.
454	* config/sh/sh.c (output_stack_adjust): Avoid using the frame
455	register itself to hold the offset constant.  Tell flow the use
456	of r4 and r5 when they are used.
457
4582007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
459
460	PR target/31480
461	Backport from mainline.
462	* config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
463	is null.
464
4652007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
466
467	PR target/31022
468	Backport from mainline.
469	* config/sh/sh.c (sh_adjust_cost): Use the result of single_set
470	instead of PATTERN.
471
4722007-05-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
473
474	PR rtl-optimization/31691
475	* combine.c (simplify_set): Build a new src pattern instead of
476	substituting its operands in the COMPARE case.
477
4782007-05-16  Richard Guenther  <rguenther@suse.de>
479
480	Backport from mainline:
481	2006-06-09  Richard Guenther  <rguenther@suse.de>
482
483	PR tree-optimization/26998
484	* tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR
485	of signed types, only TYPE_MIN_VALUE is special, but for both,
486	minimum and maximum value.  Likewise VR_ANTI_RANGE is special
487	in this case, as is -fwrapv.
488
4892007-05-11  Kaz Kojima  <kkojima@gcc.gnu.org>
490
491	PR target/31876
492	* config/sh/sh.md (andsi3): Avoid calling gen_lowpart on
493        a SImode SUBREG of a floating point register.
494
4952007-05-08  Andreas Krebbel  <krebbel1@de.ibm.com>
496
497	* loop.c (move_movables): Remove REG_EQUAL notes for conditional
498	invariants as well.
499
5002007-04-29  Bernd Schmidt  <bernd.schmidt@analog.com>
501
502	* reload.c (combine_reloads): When trying to use a dying register,
503	check whether it's uninitialized and don't use if so.
504
5052007-04-27  Ulrich Weigand  <uweigand@de.ibm.com>
506
507	PR middle-end/30761
508	* reload1.c (eliminate_regs_in_insn): In the single_set special
509	case, attempt to re-recognize the insn before falling back to
510	having reload fix it up.
511
5122007-04-26  Ian Lance Taylor  <iant@google.com>
513
514	PR target/28675
515	* reload.c (find_reloads_subreg_address): If the address was valid
516	in the original mode but not in the new mode, reload the whole
517	address.
518
5192007-04-25  Anatoly Sokolov <aesok@post.ru>
520
521	PR target/18989
522 	* config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine.
523
5242007-04-25  Richard Guenther  <rguenther@suse.de>
525
526	Backport from mainline:
527	2006-10-13  Richard Guenther  <rguenther@suse.de>
528
529	PR tree-optimization/29446
530	* tree-vrp.c (fix_equivalence_set): Remove.
531	(extract_range_from_assert): Do not call fix_equivalence_set.
532	(debug_value_range): Print a newline.
533	(compare_name_with_value): For equivalence sets with
534	inconsistent value ranges conservatively bail out.
535	(compare_names): Likewise.
536
5372007-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>
538
539	PR target/31641
540	* config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length
541	argument of 0 for memset.
542	(s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use
543	unsigned shift instead of the signed variant.
544
5452007-04-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
546
547	PR middle-end/31448
548	* expr.c (reduce_to_bit_field_precision): Handle
549	CONST_INT rtx's.
550
5512007-04-20  Richard Henderson  <rth@redhat.com>
552
553	PR target/28623
554	* config/alpha/alpha.c (get_unaligned_address): Remove extra_offset
555	argument; update all callers.
556	(get_unaligned_offset): New.
557	* config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use
558	get_unaligned_address, just pass on the address directly.
559	(unaligned_extendqidi): Use gen_lowpart instead of open-coding
560	the subreg in the helper patterns.
561	(unaligned_extendqidi_le): Use get_unaligned_offset.
562	(unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise.
563	(unaligned_extendhidi_be): Likewise.
564	(unaligned_extendhidi): Tidy.
565	* config/alpha/alpha-protos.h: Update.
566
5672007-04-20  Richard Henderson  <rth@redhat.com>
568
569	* config/alpha/linux.h (CPP_SPEC): Undef before redefine.
570
5712007-04-20  Jakub Jelinek  <jakub@redhat.com>
572
573	* config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED
574	for __builtin_ia32_cmpordss.
575
576	PR tree-optimization/31632
577	* fold-const.c (fold_binary): Use op0 and op1 instead of arg0
578	and arg1 for optimizations of comparison against min/max values.
579	Fold arg0 to arg1's type for optimizations of comparison against
580	min+1 and max-1 values.
581
5822007-04-18  Anatoly Sokolov <aesok@post.ru>
583
584	* config/avr/avr.c (ptrreg_to_str): Replace error() with
585	output_operand_lossage().
586
5872007-04-17  Anatoly Sokolov <aesok@post.ru>
588
589	PR target/30483
590	* config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with
591	error().
592
5932007-04-16  Matthias Klose  <doko@debian.org>
594
595	* config/alpha/linux.h (CPP_SPEC): Define.
596	* config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend.
597
5982007-04-16  H.J. Lu  <hongjiu.lu@intel.com>
599
600	* Backport from mainline:
601	2007-04-16  H.J. Lu  <hongjiu.lu@intel.com>
602
603	PR target/31582
604	* config/i386/i386.c (ix86_expand_vec_set_builtin): Make a
605	copy of source, pass it to ix86_expand_vector_set and return
606	it as target.
607
6082007-04-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>
609
610	PR tree-opt/30045
611	* tree-vrp.c (nonnull_arg_p): Treat the static decl as always
612	non null.
613
6142007-04-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>
615
616	PR middle-end/30729
617	* stmt.c (warn_if_unused_value): VA_ARG_EXPR has side
618	effects unknown to this function, return early.
619
6202007-04-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>
621
622	PR c/31520
623	* c-decl.c (finish_decl): Grab the type of the decl after the call
624	to store_init_value.
625
6262007-04-07  Anatoly Sokolov <aesok@post.ru>
627
628	PR target/30289
629	* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as 
630	earlyclobber.
631
6322007-04-05  Anatoly Sokolov <aesok@post.ru>
633
634	PR target/25448
635	* config/avr/avr.c (avr_handle_fndecl_attribute): Use the 
636	DECL_ASSEMBLER_NAME, not the DECL_NAME.
637
6382007-04-04  Richard Henderson  <rth@redhat.com>
639
640	PR target/31361
641	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
642	v8hi_ftype_v8hi_v2di, v4si_ftype_v4si_v2di.  Use like-types for
643	the variable shift builtins.
644	(ix86_expand_builtin): Properly expand the variable shift builtins.
645	* config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make
646	operand 2 be TImode.
647	* config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
648	_mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
649	_mm_srli_epi32, _mm_srli_epi64): Turn into macros.
650	(_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
651	(_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
652	_mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
653	two-vector shift builtins.
654
6552007-04-02  Anatoly Sokolov <aesok@post.ru>
656
657	PR target/31137
658	* config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.
659
6602007-04-02  H.J. Lu  <hongjiu.lu@intel.com>
661
662	* Backport from mainline:
663	2007-03-28  Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
664
665	PR target/31380
666	* config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX.
667
6682007-03-30  Anatoly Sokolov <aesok@post.ru>
669
670	* config/avr/avr.c (avr_override_options): Clear 
671	'flag_delete_null_pointer_checks'.
672
6732007-03-21  Richard Henderson  <rth@redhat.com>
674
675	PR target/31245
676	* config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
677	* config/i386/mmintrin.h (__m64): Likewise.
678	* config/i386/xmmintrin.h (__m128): Likewise.
679
6802007-03-19  Seongbae Park <seongbae.park@gmail.com>
681
682	PR tree-optimization/30590
683	* tree-nrv.c (tree_nrv): Check for the partial update
684	of the return value.
685
6862007-03-19  Jeff Law  <law@redhat.com>
687
688	* tree-cfg.c (find_taken_edge): Tighten conditions for
689	optimizing computed gotos.
690
6912007-03-19  Brooks Moses  <brooks.moses@codesourcery.com>
692
693	* doc/extend.texi: Edit "gnu_inline" documentation.
694	* doc/invoke.texi: Edit "-fgnu89-inline" documentation.
695
6962007-03-19  Ian Lance Taylor  <iant@google.com>
697
698	* c.opt (fgnu89-inline): New option.
699	* c-opts.c (c_common_post_options): Warn about -fno-gnu89-inline.
700	* c-common.c (c_common_attributes): Add gnu_inline attribyte.
701	(handle_gnu_inline_attribute): New static function.
702	* c-cppbuiltin.c (c_cpp_builtins): Define __GNUC_GNU_INLINE__.
703	* doc/invoke.texi (Option Summary): Mention -fgnu89-inline.
704	(C Dialect Options): Document -fgnu89-inline.
705	* doc/extend.texi (Function Attributes): Document gnu_inline.
706	(Inline): Mention that C99 inline will be implemented in 4.3.
707	Refer to ways to get the old handling.
708	* doc/cpp.texi (Common Predefined Macros): Document
709	__GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
710
7112007-03-17  Alexandre Oliva  <aoliva@redhat.com>
712
713	PR debug/29906
714	* dwarf2out.c (force_type_die): Adjust comment.
715	(dwarf2out_imported_module_or_decl): Handle base AT_import types.
716
7172007-03-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
718
719	* pa.c (attr_length_call): Partially revert change of 2007-03-09.
720	(output_call): Likewise.
721
7222007-03-15  Richard Guenther  <rguenther@suse.de>
723
724	Backport from mainline:
725	2007-02-28  Richard Guenther  <rguenther@suse.de>
726
727	PR middle-end/30364
728	* fold-const.c (fold_binary): Do not associate expressions
729	with more than one variable for integer types that do not wrap.
730
7312007-03-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
732
733	PR target/31123
734	* pa.md (vdepi_ior): Don't allow zero length deposit.  Likewise for
735	two unamed patterns.
736	
7372007-03-12  Roger Sayle  <roger@eyesopen.com>
738	    Andrew Pinski  <andrew_pinski@playstation.sony.com>
739
740	PR middle-end/30433
741	* fold-const.c (fold_relational_const): Add back compile-time
742	evaluation of complex constant equality/inequality comparisons.
743
7442007-03-12  Richard Henderson  <rth@redhat.com>
745
746	PR target/26090
747	* config/alpha/alpha.c (alpha_elf_select_section): New.
748	(alpha_elf_unique_section, alpha_elf_section_type_flags): New.
749	(alpha_elf_select_rtx_section): Force flag_pic true.
750	(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
751	(TARGET_SECTION_TYPE_FLAGS): New.
752
7532007-03-12  Ira Rosen  <irar@il.ibm.com>
754
755	PR tree-optimization/29925
756	* tree-data-ref.c (analyze_offset): Add a return value (bool) to
757	indicate success/failure of the analysis. Add negation to subtrahend
758	in case of subtraction. Fail if both operands contain constants.
759	(create_data_ref): Fail if analyze_offset fails.
760
7612007-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
762
763	* pa.c (attr_length_call): Revise condition for long pc-relative branch.
764	(output_call): Use "LONG_PIC_SDIFF" instruction sequence for long local
765	calls on the SOM target.  Don't use "LONG_PIC_PCREL" call sequence on
766	SOM target.
767
7682007-03-09  Alexandre Oliva  <aoliva@redhat.com>
769
770	PR rtl-optimization/30643
771	* cse.c (cse_insn): Recompute dest_hash after insert_regs for
772	dest_addr_elt.
773
7742007-03-08  Andreas Schwab  <schwab@suse.de>
775
776	* c-common.c (fold_offsetof_1): Remove extra argument in recursive
777	call.
778
7792007-03-08  Volker Reichelt  <reichelt@netcologne.de>
780
781	PR c++/30852
782	* c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.
783
7842007-03-07  Richard Henderson  <rth@redhat.com>
785
786	PR target/30848
787	* reg-stack.c (emit_swap_insn): If a malformed asm was seen,
788	silently fix up the stack in the case of a missing register.
789
7902007-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
791
792	* convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
793	conversion.
794	
7952007-03-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
796
797	* pa.md: In unamed move patterns, disparge copies between general
798	and floating point registers using '?' modifier.  Don't include 'f'
799	constraint for register preferences in DImode, SImode, HImode and
800	QImode patterns.  Likewise for 'r' in DFmode and SFmode patterns.
801	Remove constraints for copies between general and floating registers
802	in soft-float DFmode pattern.
803	(movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard
804	floating register.
805	(movsf): Likewise. 
806
8072007-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
808
809	* pa/predicates.md (move_src_operand): Allow zero for mode.
810	* pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode
811	move pattern.
812
8132007-02-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
814
815	PR rtl-optimization/30931
816	* loop.c (combine_givs_p): Return false if either GIV is not
817	always executed.
818
8192007-02-21 Ira Rosen  <irar@il.ibm.com>
820
821	* Makefile.in (tree-ssa-alias.o): Depend on pointer-set.h.
822
8232007-02-20 Ira Rosen  <irar@il.ibm.com>
824
825	* tree-ssa-alias.c: Include pointer-set.h. 
826	(may_aliases_intersect): Use the correct type (varray) for
827	may_aliases sets.
828
8292007-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
830
831	Backport from mainline.
832	PR rtl-optimization/29599
833	* reload1.c (eliminate_regs_in_insn): Take the destination
834	mode into account when computing the offset.
835
8362007-02-18  Roger Sayle  <roger@eyesopen.com>
837
838	Backport from mainline.
839	PR middle-end/24427
840	PR rtl-optimization/28173
841	* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2
842	into (X,C2) if C1 is a subset of the bits of C2.  Transform
843	(X&C1)|C2 into X|C2 if C1|C2 == ~0.  Canonicalize (X&C1)|C2 as
844	(X&(C1&~C2))|C2.
845	<BIT_AND_EXPR>: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2).
846
8472007-02-18 Ira Rosen  <irar@il.ibm.com>
848
849	* tree-ssa-alias.c (may_aliases_intersect): New function.
850	* tree-data-ref.c (ptr_ptr_may_alias_p): Call may_aliases_intersect 
851	for different tags.
852	* tree-flow.h (may_aliases_intersect): Add function declaration.
853
8542007-02-17  Alexandre Oliva  <aoliva@redhat.com>
855
856	PR tree-optimization/30823
857	* tree-sra.c (sra_build_assignment): Drop type-checking assert.
858
8592007-02-16  Guy Martin  <gmsoft@gentoo.org>
860
861	* pa.md (tp_load): Correct mfctl instruction syntax.
862
8632007-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
864
865	PR rtl-optimization/30787
866	* loop.c (strength_reduce): Don't reduce giv that is not always
867	executed and where add_val or mult_val can trap.
868
8692007-02-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
870
871	PR other/27843
872	* Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid
873	nested double- and backquotes.
874
8752007-02-15  Anatoly Sokolov <aesok@post.ru>
876
877	PR target/19087
878	* config/avr/avr.c (DWARF2_ADDR_SIZE): Define.
879	
8802007-02-15  Bob Wilson  <bob.wilson@acm.org>
881
882	* config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs.
883
8842007-02-15  Alexandre Oliva  <aoliva@redhat.com>
885
886	* tree-sra.c (instantiate_missing_elements): Canonicalize
887	bit-field types.
888	(sra_build_assignment): New.
889	(generate_copy_inout, generate_element_copy,
890	generate_element_zero, generate_one_element_init): Use it.
891
8922007-02-15  Alexandre Oliva  <aoliva@redhat.com>
893
894	PR debug/30189
895	* dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE
896	even if cv-qualification is the same.
897
8982007-02-14  Eric Botcazou  <ebotcazou@adacore.com>
899	    Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
900
901	PR rtl-optimization/28772
902	* Makefile.in (haifa-sched.o): Add dependency on $(PARAMS_H).
903
904	Backport from mainline:
905	2006-04-13  Eric Botcazou  <ebotcazou@adacore.com>
906
907	* params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter,
908	defaulting to 100.
909	* params.h (MAX_SCHED_READY_INSNS): New macro.
910	* haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle
911	past MAX_SCHED_READY_INSNS during the first scheduling pass.
912	(schedule_block): Delay insns past MAX_SCHED_READY_INSNS in
913	the ready list for 1 cycle during the first scheduling pass.
914	* doc/invoke.texi (--param): New parameter max-sched-ready-insns.
915
9162007-02-14  Jakub Jelinek  <jakub@redhat.com>
917
918	PR middle-end/30473
919	* builtins.c (fold_builtin_sprintf): Do not attempt to optimize
920	sprintf (str, "%s").  Do not optimize sprintf (str, "nopercent", p++).
921
9222007-02-14  Richard Guenther  <rguenther@suse.de>
923
924	Backport from mainline:
925	2007-01-30  Richard Guenther  <rguenther@suse.de>
926
927	PR middle-end/30313
928	* passes.c (execute_one_pass): Reset in_gimple_form to not
929	confuse non-unit-at-a-time mode.
930
9312007-02-14  Mark Mitchell  <mark@codesourcery.com>
932
933	* DEV-PHASE: Set to prerelease.
934	* BASE-VER: Increment.
935
9362007-02-13  Release Manager
937
938	* GCC 4.1.2 released.
939
9402007-02-06  Mark Mitchell  <mark@codesourcery.com>
941
942	PR target/29487
943	* tree.h (DECL_REPLACEABLE_P): New macro.
944	* except.c (set_nothrow_function_flags): Likewise.
945
9462007-02-06  Rask Ingemann Lamberisen  <rask@sygehus.dk>
947
948	PR 30370 
949	* config/rs6000/t-ppccomm: Correct Makefile typo.
950
9512007-01-29  Josh Conner  <jconner@apple.com>
952
953	PR middle-end/29683
954	* calls.c (compute_argument_addresses): Set stack and stack_slot
955	for partial args, too.
956	(store_one_arg): Use locate.size.constant for the size when
957	generating a save_area.
958
9592007-01-28  Ralf Wildenhalf Wildenhues  <Ralf.Wildenhues@gmx.de>
960
961	* doc/sourcebuild.texi: Add comma for clarity.
962	* doc/extend.texi: Fix some typos.
963	* doc/passes.texi: Likewise.
964	* doc/cppinternals.texi: Likewise.
965	* doc/c-tree.texi: Likewise.
966	* doc/tree-ssa.texi: Likewise.
967	* doc/install.texi: Likewise.
968
9692007-01-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
970
971	PR rtl-optimization/29329
972	* combine.c (replaced_rhs_insn): Rename to i2mod.
973	(replaced_rhs_value): Rename to i2mod_new_rhs.
974	(i2mod_old_rhs): New global variable.
975	(combine_instructions): Adjust for above change.  Save a copy of
976	the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL
977	note are substituted in the second instruction.
978	(distribute_notes) <REG_DEAD>: Adjust for above change.  Do not
979	ditch the note if it pertains to the second eliminated register
980	and this register is mentioned in i2mod_old_rhs.
981
982	Revert:
983	2006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
984
985	* combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
986	the insn to which the note was originally attached.
987
9882007-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
989
990	* pa.c (output_move_double): Change array size of xoperands to 4.
991
9922007-01-17  Tom Tromey  <tromey@redhat.com>
993
994	* doc/sourcebuild.texi (libgcj Tests): Use sourceware.org.
995	* doc/install.texi (Testing): Use sourceware.org.
996	(Binaries): Likewise.
997	(Specific): Likewise.
998	* doc/contrib.texi (Contributors): Use sourceware.org.
999
10002007-01-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1001
1002	* pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine.
1003	* pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS.
1004	(ASM_OUTPUT_INTERNAL_LABEL): Define.
1005
10062007-01-09  Nicolas Pitre  <nico@cam.org>
1007
1008	PR target/30173
1009	* arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.
1010
10112007-01-08  Nick Clifton  <nickc@redhat.com>
1012
1013	* config/frv/predicates.md (reg_or_0_operand): Accept
1014	CONST_DOUBLEs.
1015
10162007-01-06  Richard Sandiford  <richard@codesourcery.com>
1017
1018	Backport from mainline:
1019	2006-05-23  Richard Sandiford  <richard@codesourcery.com>
1020
1021	PR rtl-optimization/27736
1022	* combine.c (replaced_rhs_value): New variable.
1023	(combine_instructions): Set it.
1024	(distribute_notes): When distributing a note in replaced_rhs_insn,
1025	check whether the value was used in replaced_rhs_value.
1026
1027	2006-05-22  Richard Sandiford  <richard@codesourcery.com>
1028
1029	PR rtl-optimization/25514
1030	* combine.c (replaced_rhs_insn): New variable.
1031	(combine_instructions): Set replaced_rhs_insn when trying to replace
1032	a SET_SRC with a REG_EQUAL note.
1033	(distribute_notes): Use replaced_rhs_insn when determining the live
1034	range of a REG_DEAD register.
1035
10362007-01-05  Richard Guenther  <rguenther@suse.de>
1037
1038	PR tree-optimization/30212
1039	* tree-vrp.c (adjust_range_with_scev): Do not adjust invalid
1040	ranges by using TYPE_MIN_VALUE or TYPE_MAX_VALUE.
1041
10422007-01-05  Richard Guenther  <rguenther@suse.de>
1043
1044	PR middle-end/27826
1045	* tree.c (get_narrower): Do not construct COMPONENT_REFs
1046	with mismatched types.  Instead explicitly build a
1047	conversion NOP_EXPR.
1048
10492007-01-05  Richard Guenther  <rguenther@suse.de>
1050
1051	Backport from mainline:
1052	2006-06-24  Jan Hubicka  <jh@suse.cz>
1053
1054	PR c/25795
1055	PR c++/27369
1056	* craph.c (cgraph_varpool_nodes): Export.
1057	(decide_is_variable_needed): Do not worry about "used" attribute.
1058	* cgraph.h (cgraph_varpool_nodes): Declare.
1059	* cgraphunit.c (decide_is_function_needed): Do not worry about "used"
1060	attribute.
1061	(process_function_and_variable_attributes): New function.
1062	(cgraph_finalize_compilation_unit): Call it.
1063	* c-decl.c (finish_decl): Do not worry about used attribute.
1064	* c-common.c (handle_externally_visible_attribute): Only validate.
1065
10662007-01-05  Joel Brobecker  <brobecker@adacore.com>
1067
1068	* doc/install.texi (Final install): Document the fact that
1069	the GNAT runtime should not be stripped.
1070
10712007-01-05  Jakub Jelinek  <jakub@redhat.com>
1072
1073	PR c/30360
1074	* libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
1075	denom against 0.0.
1076
1077	Backport from mainline:
1078	2006-09-17  Steven Bosscher  <steven@gcc.gnu.org>
1079
1080	PR c/25993
1081	* c-opts.c (c_common_handle_option): Ignore the -std options
1082	if the input language is assembly.
1083
10842007-01-05  Richard Guenther  <rguenther@suse.de>
1085
1086	PR middle-end/28116
1087	* tree-inline.c (copy_body_r): Mark argument of ADDR_EXPR
1088	addressable.
1089
10902007-01-05  Richard Guenther  <rguenther@suse.de>
1091
1092	Backport from mainline:
1093	2006-10-15  Jan Hubicka  <jh@suse.cz>
1094
1095	PR middle-end/29241
1096	* cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions
1097	declared always_inline even when not inlining.
1098
10992007-01-03  Jakub Jelinek  <jakub@redhat.com>
1100
1101	PR middle-end/30286
1102	* fold-const.c (negate_expr): Don't call fold_build1
1103	for INTEGER_CST or REAL_CST.
1104
11052006-12-27  Ian Lance Taylor  <iant@google.com>
1106
1107	PR debug/26964
1108	* dwarf2out.c (gen_type_die): Don't write out a DIE for
1109	ENUMERAL_TYPE if it was already written out.
1110
11112006-12-23  Eric Botcazou  <ebotcazou@adacore.com>
1112
1113	* dwarf2out.c (dbx_reg_number): Do leaf register remapping
1114	only if the function is leaf.
1115	(multiple_reg_loc_descriptor): Likewise.
1116
1117	Backport from mainline:
1118	2006-05-13  Nick Clifton  <nickc@redhat.com>
1119
1120	* dwarf2out.c (dbx_reg_number): Check return value from
1121	LEAF_REG_REMAP and only use it if it is valid.
1122	(multiple_reg_loc_descriptor): Likewise.
1123
11242006-12-21  Jakub Jelinek  <jakub@redhat.com>
1125
1126	PR target/30230
1127	* config/ia64/ia64.c (ia64_add_bundle_selector_before): New function.
1128	(bundling): Use it.
1129
11302006-12-17  Matthias Klose  <doko@debian.org>
1131
1132	PR libstdc++/11953
1133	* config/mips/linux.h (SUBTARGET_CPP_SPEC): Extend.
1134
11352006-12-16  Joseph Myers  <joseph@codesourcery.com>
1136	    David Edelsohn  <edelsohn@gnu.org>
1137
1138	PR target/24036
1139	* doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING,
1140	HARD_REGNO_NREGS_WITH_PADDING): Document new target macros.
1141	* defaults.h (HARD_REGNO_NREGS_HAS_PADDING,
1142	HARD_REGNO_NREGS_WITH_PADDING): Define.
1143	* config/i386/i386.h (HARD_REGNO_NREGS_HAS_PADDING,
1144	HARD_REGNO_NREGS_WITH_PADDING): Define.
1145	* rtlanal.c (subreg_regno_offset, subreg_offset_representable_p):
1146	Use new macros to detect modes with holes; do not look at integer
1147	units.
1148	(subreg_offset_representable_p): Check for and disallow cases
1149	where the modes use different numbers of bits from registers.
1150	* config/rs6000/rs6000.c (rs6000_emit_move): Handle TFmode
1151	constant for soft-float.
1152	(rs6000_hard_regno_nregs): Use UNITS_PER_FP_WORD for e500 GPRs
1153	containing doubles.
1154	(rs6000_split_multireg_move): Use DFmode reg_mode for TFmode moves
1155	in E500 double case.
1156	* config/rs6000/rs6000.md (movtf): Allow soft-float.
1157	(movtf_softfloat): New.
1158
11592006-12-15  Jakub Jelinek  <jakub@redhat.com>
1160
1161	PR target/30185
1162	* config/rs6000/rs6000.md (div<mode>3): Use correct mode in
1163	force_reg call.
1164
11652006-12-12  Jakub Jelinek  <jakub@redhat.com>
1166
1167	PR libstdc++/11953
1168	* gthr-posix.h (_REENTRANT): Only define if __osf__ is defined.
1169
1170	* config/ia64/linux.h (CPP_SPEC): Define.
1171	* config/s390/linux.h (CPP_SPEC): Define.
1172
11732006-12-12  Jim Wilson  <wilson@specifix.com>
1174	    Jakub Jelinek  <jakub@redhat.com>
1175
1176	PR rtl-optimization/27761
1177	* combine.c (try_combine): Don't create a useless garbage SET
1178	if PATTERN (i2) is a PARALLEL.  If added_sets_1, save
1179	PATTERN (i1) resp. SET from i1src to i1dest in i1pat
1180	and use it to prevent accidental modification of i1src.
1181
11822006-12-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1183
1184	PR target/30039
1185	* pa.md (high:DI and lo_sum:DI): Handle 64-bit CONST_INTs in 32-bit
1186	patterns.  Correct length of high:DI instruction sequence.
1187
11882006-11-29  Joseph Myers  <joseph@codesourcery.com>
1189
1190	* config/rs6000/predicates.md (gpc_reg_operand): Check
1191	invalid_e500_subreg.
1192	* config/rs6000/rs6000.c (invalid_e500_subreg): Don't allow any
1193	SImode subregs of SPE vectors.
1194	* config/rs6000/rs6000.md (insv): Fail for invalid E500 subregs.
1195	* jump.c (true_regnum): Require subregs to satisfy
1196	subreg_offset_representable_p.
1197
11982006-11-29  Jie Zhang  <jie.zhang@analog.com>
1199
1200	* doc/tm.texi (NO_PROFILE_COUNTERS): Document more accurately.
1201
12022006-11-29  Joseph Myers  <joseph@codesourcery.com>
1203
1204	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): If
1205	STRICT_ALIGNMENT and the type is more aligned than the saved
1206	registers, copy via a temporary.
1207
12082006-11-28  Joseph Myers  <joseph@codesourcery.com>
1209
1210	* function.c (instantiate_virtual_regs_in_insn): Call force_reg
1211	inside start_sequence / end_sequence pair.
1212
12132006-11-27  Michael Matz  <matz@suse.de>
1214	    Andreas Krebbel  <krebbel1@de.ibm.com>
1215
1216	PR target/29319
1217	* config/s390/predicates.md (larl_operand): Check addend of larl
1218	operand to be in range of -/+2GB.
1219	* config/s390/s390.c (legitimize_pic_address): Likewise.  
1220	Changed type of variable even to HOST_WIDE_INT.
1221
12222006-11-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1223
1224	PR tree-opt/29964
1225	* ipa-pure-const.c (check_tree): If the original tree
1226	is volatile return early and say the function is not pure
1227	nor const.  Remove the volatile check for writes.  
1228	(analyze_function): Print out the result of the local
1229	analysis pass.
1230
12312006-11-24  Jakub Jelinek  <jakub@redhat.com>
1232
1233	PR c/29736
1234	* c-common.c (handle_vector_size_attribute): Disallow VECTOR_TYPE
1235	or UNION_TYPE inner types.
1236
12372006-11-24  Joseph Myers  <joseph@codesourcery.com>
1238
1239	* config/rs6000/eabispe.h (TARGET_DEFAULT): Include
1240	MASK_STRICT_ALIGN.
1241	* config/rs6000/linuxspe.h (TARGET_DEFAULT): Likewise.
1242	* config/rs6000/rs6000.c (rs6000_override_options): Use
1243	MASK_STRICT_ALIGN for 8540 and 8548.  Add MASK_STRICT_ALIGN to
1244	POWERPC_MASKS.
1245
12462006-11-24  Andreas Krebbel  <krebbel1@de.ibm.com>
1247
1248	* config/s390.c (s390_emit_compare_and_swap): New function.
1249	(s390_expand_cs_hqi, s390_expand_atomic): Call 
1250	s390_emit_compare_and_swap.
1251
12522006-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1253
1254	* pa.c (return_addr_rtx): Change 0xe0400002 to -532676606.
1255
12562006-11-22  Joseph Myers  <joseph@codesourcery.com>
1257
1258	* config/rs6000/spe.md (SPE64): New mode macro.
1259	(mov_sidf_e500_subreg0): Change to mov_si<mode>_e500_subreg0.  Add
1260	memory load.
1261	(mov_si<mode>_e500_subreg0_2): New.
1262	(mov_sidf_e500_subreg4): Change to mov_si<mode>_e500_subreg4.  Add
1263	memory load.
1264	(mov_si<mode>_e500_subreg4_2): New.
1265	* config/rs6000/predicates.md (input_operand): Do not allow
1266	invalid E500 subregs.
1267	(rs6000_nonimmediate_operand): Check for invalid E500 subregs also
1268	if TARGET_SPE.
1269	* config/rs6000/rs6000.c (invalid_e500_subreg): Check for subregs
1270	involving DFmode if TARGET_E500_DOUBLE.  Check for subregs
1271	involving vector modes if TARGET_SPE.
1272
12732006-11-20  Anatoly Sokolov <aesok@post.ru>
1274
1275	PR target/18553
1276	PR target/29449
1277	* config/avr/avr.h (OBJECT_FORMAT_ELF): Define.
1278
1279	* config/avr/avr.h (DWARF2_DEBUGGING_INFO): Define.
1280
12812006-11-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1282
1283	PR target/29114
1284	* pa.c (emit_move_sequence): Don't split constants with PLUS for modes
1285	larger than BITS_PER_WORD.
1286
12872006-11-19  Richard Guenther  <rguenther@suse.de>
1288
1289	Backport from mainline:
1290	2006-11-15  Paolo Bonzini  <bonzini@gnu.org>
1291
1292	PR middle-end/29753
1293	* gimplify.c (fold_indirect_ref_rhs): Use
1294	STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS.
1295
12962006-11-19  Richard Guenther  <rguenther@suse.de>
1297
1298	Backport from mainline:
1299	2006-09-22  Zdenek Dvorak <dvorakz@suse.cz>
1300
1301	PR tree-optimization/28888
1302	* tree-if-conv.c (combine_blocks): Rewritten.
1303	* tree-cfg.c (tree_verify_flow_info): Check that edges with
1304	EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
1305
13062006-11-18  Joseph Myers  <joseph@codesourcery.com>
1307
1308	* config/rs6000/spe.md (movv4hi_internal): Add alternative for
1309	easy vector constant loads.
1310
13112006-11-18  Joseph Myers  <joseph@codesourcery.com>
1312
1313	* config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define.
1314	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
1315	__NO_LWSYNC__ if TARGET_NO_LWSYNC.
1316	* config/rs6000/sync.md (lwsync): Emit plain sync if
1317	TARGET_NO_LWSYNC.
1318
13192006-11-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1320
1321	PR tree-opt/29788
1322	* fold-const.c (fold_indirect_ref_1): Fold *&CONST_DECL down
1323	to what is the const decl is a place holder for.
1324
13252006-11-17  Jakub Jelinek  <jakub@redhat.com>
1326
1327	PR middle-end/29584
1328	* tree-ssa-dom.c (simplify_switch_and_lookup_avail_expr): Don't
1329	optimize if DEF doesn't have integral type.
1330
13312006-11-17  Uros Bizjak  <ubizjak@gmail.com>
1332
1333	* config/i386/i386.c (ix86_function_sseregparm): Fix comment:
1334	number of arguments passed to local functions in SSE registers is 3.
1335
1336	* doc/invoke.texi (Function Attributes) [sseregparm]: Correct
1337	number of arguments passed in SSE registers to 3.
1338
13392006-11-16  Eric Botcazou  <ebotcazou@adacore.com>
1340
1341	PR middle-end/26306
1342	* gimplify.c (gimplify_expr): Only force a load for references to
1343	non-BLKmode volatile values.
1344	* doc/implement-c.texi (Qualifiers implementation): Document the
1345	interpretation of what a volatile access is.
1346	* doc/extend.texi (C++ Extensions): Rework same documentation.
1347
13482006-11-16  Joseph Myers  <joseph@codesourcery.com>
1349
1350	* config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
1351	memory operand.
1352
13532006-11-15  Steve Ellcey  <sje@cup.hp.com>
1354
1355	* config/ia64/ia64.c (ia64_hpux_init_libfuncs):  Use HP-UX millicode
1356	routines for integer division.
1357
13582006-11-15  Jakub Jelinek  <jakub@redhat.com>
1359
1360	PR tree-optimization/29581
1361	* lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT,
1362	REPLACEMENTS, FIRSTBSI arguments.  If initial condition or
1363	type is different between Y and USE, create a temporary
1364	variable, initialize it at the beginning of the body bb
1365	and use it as replacement instead of Y.
1366
13672006-11-15  Richard Guenther  <rguenther@suse.de>
1368
1369	Backport from mainline: 
1370	2006-11-12  Michael Matz  <matz@suse.de>
1371		    Roger Sayle  <roger@eyesopen.com>
1372
1373	PR rtl-optimization/29797
1374	* ifcvt.c (noce_try_bitop): Correct calculation of bitnum on
1375	BITS_BIG_ENDIAN targets.
1376
13772006-11-13  Jakub Jelinek  <jakub@redhat.com>
1378
1379	* configure.ac (ld_vers): Parse GNU ld version 2.17.50.0.3-6 20060715
1380	style versions.
1381	* configure: Rebuilt.
1382
13832006-11-13  Richard Guenther  <rguenther@suse.de>
1384
1385	Backport from mainline:
1386	2006-10-23  Richard Guenther  <rguenther@suse.de>
1387
1388	PR middle-end/21032
1389	* convert.c (convert_to_real): Fold (float)-x to -(float)x
1390	only if not flag_rounding_math.
1391
13922006-11-11  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1393
1394	PR tree-opt/28545
1395	* tree-vrp.c (replace_uses_by_vrp): New function.
1396	(remove_range_assertions): Use it.
1397
13982006-11-12  Jie Zhang  <jie.zhang@analog.com>
1399
1400	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Use builtin_define_std
1401	instead of builtin_define for bfin and BFIN.
1402
14032006-11-11  Jie Zhang  <jie.zhang@analog.com>
1404
1405	* config/bfin/bfin.h (FUNCTION_PROFILER): Don't use LABELNO.
1406	(NO_PROFILE_COUNTERS): Define as 1.
1407
14082006-11-09  Janis Johnson  <janis187@us.ibm.com>
1409
1410	Backports from mainline.
1411	* doc/sourcebuild.texi (Test Directives): Document dg-shouldfail,
1412	output-exists and output-exists-not.
1413
14142006-11-07  Richard Guenther  <rguenther@suse.de>
1415
1416	PR tree-optimization/29610
1417	* tree-cfgcleanup.c (cleanup_control_flow): Honor return value
1418	of tree_purge_dead_eh_edges as it may free dominators.
1419
1420	* g++.dg/other/pr29610.C: New testcase.
1421
14222006-11-07  Jie Zhang  <jie.zhang@analog.com>
1423
1424	* gcc.c (process_command): Treat -b as normal switch if its argument
1425	has no dash.
1426
14272006-11-05  Jakub Jelinek  <jakub@redhat.com>
1428
1429	PR middle-end/29695
1430	* fold-const.c (fold_ternary): Fix A < 0 ? <sign bit of A> : 0
1431	simplification.
1432
14332006-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
1434
1435	* doc/install.texi (sparc-sun-solaris2*): Update GMP/MPFR build
1436
1437	(sparc64-sun-solaris2*): Likewise.
1438
14392006-11-02  Zdenek Dvorak <dvorakz@suse.cz>
1440
1441	PR tree-optimization/27891
1442	* tree-ssa-loop-ivopts.c (rewrite_use_outer): Do not insert code
1443	on abnormal edge.
1444
14452006-11-01  David Edelsohn  <edelsohn@gnu.org>
1446	    Ian Lance Taylor  <ian@airs.com>
1447
1448	PR middle-end/29250
1449	* expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
1450	CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
1451	recursing.
1452
14532006-11-01  Chris Johns <chris@contemporary.net.au>
1454
1455	PR bootstrap/28400
1456	* Makefile.in (install-driver): Use exeext when installing
1457	$target-gcc-$version.
1458	
14592006-11-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
1460
1461	PR rtl-optimization/28970
1462	* loop.c (loop_giv_reduce_benefit): Take the max of the addition
1463	cost on all the increments of the BIV.
1464
14652006-11-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1466
1467	* builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE.
1468
14692006-10-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
1470
1471	PR rtl-optimization/29631
1472	* loop.c (basic_induction_var): Add new parameter inner_mode.
1473	<PLUS>: If set, convert the increment to it before sign-extending.
1474	<CONST_INT>: Likewise.
1475	<SUBREG>: Set it.
1476	<ASHIFTRT>: Likewise.  Return 0 if flag_wrapv.
1477	(check_insn_for_bivs): Pass VOIDmode as inner_mode to above.
1478
14792006-10-30  Jakub Jelinek  <jakub@redhat.com>
1480
1481	PR tree-optimization/29637
1482	* tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT
1483	of the innertype is the innertype itself.
1484
14852006-10-28 Uros Bizjak <uros@kss-loka.si>
1486
1487	PR target/29377
1488	* config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
1489	argument to HOST_WIDE_INT.  Update function prototype.
1490	(round_frame_size): Change return type to HOST_WIDE_INT.  Change
1491	"size" argument to HOST_WIDE_INT.  Update function prototype.
1492
14932006-10-26  Andreas Krebbel  <krebbel1@de.ibm.com>
1494
1495	* config/s390/s390.c (s390_init_frame_layout): Check positive
1496	frame_size.
1497
14982006-10-25  Steve Ellcey  <sje@cup.hp.com>
1499
1500	* config/ia64/hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++.
1501	Add unix98.o to link line.
1502
15032006-10-25  Paolo Bonzini  <bonzini@gnu.org>
1504
1505	PR c/29092
1506	* c-typeck.c (digest_init): Always allow initializing vectors
1507	that have static storage duration with compound literals.
1508	* tree.c (build_type_attribute_qual_variant): New, based on
1509	build_type_attribute_variant.
1510	(build_type_attribute_variant): Rewrite using the former.
1511	(make_vector_type): Use build_type_attribute_qual_variant to build
1512	type variants.  Use type_hash_canon on the others.
1513
15142006-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
1515
1516	* config/s390/predicates.md ("bras_sym_operand"): Do not accept
1517	nonlocal function symbols if flag_pic.
1518
15192006-10-19  Eric Botcazou  <ebotcazou@adacore.com>
1520
1521	* fold-const.c (add_double): Rename to add_double_with_sign.
1522	Add 'unsigned_p' parameter and take it into account for the overflow.
1523	(mul_double): Rename to mul_double_with_sign. 
1524	Add 'unsigned_p' parameter and take it into account for the overflow.
1525	(fold_div_compare): Call add_double_with_sign instead of add_double
1526	and mul_double_with_sign instead of mul_double, passing them the
1527	unsignedness of the type.
1528	* tree.h (add_double): Macroize.
1529	(add_double_with_sign): New prototype.
1530	(mul_double): Macroize.
1531	(mul_double_with_sign): New prototype.
1532
15332006-10-19 Ira Rosen  <irar@il.ibm.com>
1534
1535	Backport from mainline:
1536	2006-08-07  Victor Kaplansky <victork@il.ibm.com>
1537
1538	PR tree-optimization/26969
1539	* tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
1540	with an empty list of PHIs.
1541
15422006-10-18  Richard Guenther  <rguenther@suse.de>
1543
1544	Backport from mainline:
1545	2006-08-16  Zdenek Dvorak <dvorakz@suse.cz>
1546
1547	PR gcov/profile/26570
1548	* value-prof.c (static_values): Removed.
1549	(tree_find_values_to_profile): Do not set static_values.
1550	(find_values_to_profile): Do not free static_values.
1551	* profile.c (instrument_values): Do not free the values.
1552	(branch_prob): Free the values.
1553
15542006-10-18  Richard Guenther  <rguenther@suse.de>
1555
1556	Backport from mainline:
1557	2006-05-11  Jan Hubicka  <jh@suse.cz>
1558
1559	PR debug/26881
1560	* Makefile.in (gt-cgraphunit.h): Add.
1561	* cgraphunit.c: Include gt-cgraphunit.h.
1562	(local_static_output): New static vector.
1563	(cgraph_varpool_assemble_decl): Defer outputting debug info
1564	for local statics to...
1565	(cgraph_varpool_debug_local_statics): ... here.
1566	(cgraph_optimize): Use it.
1567
15682006-10-18  Richard Guenther  <rguenther@suse.de>
1569
1570	* except.c (set_nothrow_function_flags): Fix return value.
1571
15722006-10-17  Paul Brook  <paul@codesourcery.com>
1573
1574	Backport from mainline:
1575	* config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate.
1576
15772006-10-16  Richard Guenther  <rguenther@suse.de>
1578
1579	PR target/28960
1580	Backport from mainline:
1581	2006-08-23  Stuart Hastings  <stuart@apple.com>
1582
1583	PR target/28825
1584	* config/i386/i386.c (ix86_expand_vector_init_duplicate,
1585	ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test.
1586
15872006-10-16  Richard Guenther  <rguenther@suse.de>
1588
1589	Backport from mainline:
1590	2006-10-10  Richard Guenther  <rguenther@suse.de>
1591
1592	PR inline-asm/29119
1593	* gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue
1594	addressable.
1595
15962006-10-16  Richard Guenther  <rguenther@suse.de>
1597
1598	Backport from mainline:
1599	2006-08-13  Alexandre Oliva  <aoliva@redhat.com>
1600		    Andrew Pinski  <pinskia@physics.uc.edu>
1601
1602	PR c/27184
1603	* tree.c (build_array_type): Unify array types with
1604	unspecified index_type.
1605	* c-decl.c (grokdeclarator): Make sure we do not modify a
1606	unified incomplete array type.
1607	* c-typeck.c (store_init_value): Create distinct type before
1608	filling in the index type in an initializer from a compound
1609	literal.
1610
1611	* c-decl.c (grokdeclarator): Remove code where we copy the
1612	array type over.
1613
16142006-10-16  Jakub Jelinek  <jakub@redhat.com>
1615
1616	PR c/29091
1617	* varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than
1618	the number of vector elements fill the rest with zeros.
1619
16202006-10-16  Richard Guenther  <rguenther@suse.de>
1621
1622	PR target/25519
1623	* doc/extend.texi (X86 Built-in Functions): Fix typos in
1624	SSE builtin documentation.  Document SSE2 builtins.
1625
16262006-10-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1627
1628	* pa64-hpux.h (LINK_SPEC): Force __cxa_finalize to be an undefined
1629	symbol in the output file for non-shared links when -nostdlib or
1630	-nodefaultlibs isn't specified.
1631
1632	* config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*): Default to
1633	posix thread support.
1634
16352006-10-14  Richard Guenther  <rguenther@suse.de>
1636
1637	PR rtl-optimization/29323
1638	* except.c (set_nothrow_function_flags): For functions
1639	that do not bind local bail out early.
1640
16412006-10-14  Uros Bizjak  <uros@kss-loka.si>
1642
1643	* config/i386/athlon.md (athlon_fist): Add fisttp.
1644
16452006-10-12  Jie Zhang  <jie.zhang@analog.com>
1646
1647	* config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of
1648	emit_insn to emit eh_return_internal instruction.
1649	(eh_return_internal): Explicitly set pc.
1650
16512006-10-06  Steve Ellcey  <sje@cup.hp.com>
1652
1653	PR target/28490
1654	Backport from mainline
1655	2006-09-15  Jim Wilson  <wilson@specifix.com>
1656	2006-09-19  Steve Ellcey  <sje@cup.hp.com>
1657	* config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
1658	pointers as legitimate constants.  Handle symbol offsets same as
1659	they are handled in ia64_expand_move and move_operand.
1660
16612006-10-06  Jakub Jelinek  <jakub@redhat.com>
1662
1663	* tree-loop-linear.c (linear_transform_loops): Don't forget to
1664	free DEPENDENCE_RELATIONS and DATAREFS.
1665
1666	PR target/28924
1667	* builtins.c (expand_builtin_sync_operation,
1668	expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set):
1669	Use convert_to_mode to handle promoted arguments.
1670
16712006-10-05  Uros Bizjak  <uros@kss-loka.si>
1672
1673	* config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>",
1674	"sync_ior<mode>", "sync_and<mode>", "sync_xor<mode>"):
1675	Use <modeconstraint> instead of "r" as operand 1 constraint.
1676
16772006-10-06  Jakub Jelinek  <jakub@redhat.com>
1678
1679	PR tree-optimization/29290
1680	* tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has
1681	multiple exits.
1682
1683	PR target/29198
1684	* config/i386/i386.c (legitimize_pic_address): Reject TLS symbols.
1685	* config/i386/predicates.md (local_symbolic_operand): Likewise.
1686
16872006-10-05  David Edelsohn  <edelsohn@gnu.org>
1688
1689	Backport from mainline
1690	2006-09-11  Guenter Roeck  <guenter@roeck-us.net>
1691		    David Edelsohn  <edelsohn@gnu.org>
1692
1693	PR target/27287
1694	* config/rs6000/spe.md (frob_df_di): Remove %H.
1695	(frob_di_df): Remove %H.  Change evmergelo to mr.
1696	(frob_di_df_2): Remove %H.  Change evldd to two loads.
1697
16982006-10-05  Andrew Pinski  <pinskia@physics.uc.edu>
1699
1700	PR debug/28980
1701	* dwarf2out.c (loc_descriptor_from_tree_1): Handle
1702	FUNCTION_DECL.
1703
17042006-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
1705
1706	PR c/27490
1707	PR c/27489
1708	* c-typeck.c (build_compound_expr): If the second expression
1709	is an error mark, then just return an error mark instead of
1710	creating a COMPOUND_EXPR.
1711
17122006-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
1713
1714	PR tree-opt/28952
1715	* tree-vect-transform.c (vectorizable_condition): Move the check
1716	for the type after the check for simple condition.
1717
17182006-10-03  Andrew Pinski  <pinskia@physics.uc.edu>
1719
1720	PR middle-end/28862
1721	* stor-layout.c (relayout_decl): Don't zero the alignment if it
1722	was set by the user.
1723
17242006-10-02  Jakub Jelinek  <jakub@redhat.com>
1725
1726	Backport from mainline
1727	2006-02-20  Angel Nunez Mencias  <anunez@de.ibm.com>
1728
1729	* config/s390/s390.c (legitimize_pic_address): Assertions checking
1730	for non tls symbols added.
1731	(legitimize_address): Do nothing for PLUS expressions if one of the
1732	addends is a tls symbol reference.
1733
17342006-10-02  Jakub Jelinek  <jakub@redhat.com>
1735
1736	PR c/29154
1737	* gimplify.c (gimplify_self_mod_expr): Run inner expression's post
1738	side effects after the outer expression's post side effects.
1739
17402006-09-27  Paul Brook  <paul@codesourcery.com>
1741
1742	PR target/29230
1743	Backport from mainline.
1744	* config/arm/arm.md (arith_adjacentmem): Handle large offsets.
1745
17462006-09-25  Matthias Klose  <doko@debian.org>
1747
1748	* doc/invoke.texi: Add missing full stop.
1749
17502006-09-24  Roger Sayle  <roger@eyesopen.com>
1751
1752	PR debug/29132
1753	Backport from mainline
1754	* dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label,
1755	dw_fde_current_label, to be the start of the function, i.e. the same
1756	value as dw_fde_begin.
1757
17582006-09-20  Steven Bosscher  <steven@gcc.gnu.org>
1759
1760	PR middle-end/26983
1761	Backport from mainline
1762	* builtins.c (expand_builtin_setjmp): Force next_lab to be
1763	preserved.
1764
17652006-09-20  Paul Brook  <paul@codesourcery.com>
1766
1767	Backport from mainline.
1768	* config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
1769	positive offsets.
1770
17712006-09-18  Roger Sayle  <roger@eyesopen.com>
1772
1773	PR middle-end/4520
1774	Backport from mainline
1775	* cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
1776	and symbols.  Instead use the implementation from cse.c's hash_rtx.
1777
17782006-09-18  Richard Guenther  <rguenther@suse.de>
1779
1780	Backport from mainline:
1781	PR tree-optimization/28900
1782	* tree-if-conv.c (find_phi_replacement_condition): Gimplify
1783	compound conditional before creating COND_EXPR condition.
1784
17852006-09-18  Richard Guenther  <rguenther@suse.de>
1786
1787	Backport from mainline:
1788	J"orn Rennecke  <joern.rennecke@st.com>
1789	Richard Guenther  <rguenther@suse.de>
1790	Adam Nemet  <anemet@caviumnetworks.com>
1791
1792	PR middle-end/27226
1793	* builtins.c (get_pointer_alignment): Handle more forms
1794	of base addresses that can be used to derive more precise
1795	information about alignment.
1796
17972006-09-15 Uros Bizjak <uros@kss-loka.si>
1798
1799	PR target/28946
1800	* config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
1801	"*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
1802	"*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
1803	"*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
1804	"*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
1805	"*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
1806	"*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
1807	"*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
1808	"*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
1809	implement only CC setting effects of shift instructions.
1810
18112006-09-14  Jason Merrill  <jason@redhat.com>
1812
1813	PR middle-end/28493
1814	* builtins.c (expand_builtin_setjmp_receiver): Clobber
1815	hard_frame_pointer_rtx after using it to update the frame pointer.
1816
18172006-09-14  Anatoly Sokolov <aesok@post.ru>
1818
1819	PR target/26504
1820	* config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
1821
18222006-09-12  H.J. Lu  <hongjiu.lu@intel.com>
1823
1824	* doc/invoke.texi (mpreferred-stack-boundary): Remove exception
1825	for -Os. Update __m128 alignment requirement.
1826
18272006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
1828
1829	PR rtl-optimization/28243
1830	* combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
1831	the insn to which the note was originally attached.
1832
18332006-09-11  H.J. Lu  <hongjiu.lu@intel.com>
1834
1835	PR target/13685
1836	PR target/27537
1837	PR target/28621
1838	* config/i386/i386.c (override_options): Always default to 16
1839	byte stack boundary.
1840
18412006-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
1842
1843	PR rtl-optimization/28726
1844	* sched-deps.c (sched_analyze_reg): New function extracted from...
1845	(sched_analyze_1): ...here.  Call it to analyze references to
1846	registers.  Treat again writes to a stack register as writing to the
1847	register.
1848	(sched_analyze_2): ...and here.  Call it to analyze references to
1849	registers.  Treat again reads of a stack register as reading the
1850	register.
1851
18522006-09-11  Hideki Iwamoto  <h-iwamoto@kit.hi-ho.ne.jp>
1853
1854	* doc/cpp.texi: Fix names of charset options.
1855
18562006-09-10  Roger Sayle  <roger@eyesopen.com>
1857	    Nicolas Setton <setton@adacore.com>
1858
1859	Backport from mainline
1860	* dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
1861
18622006-09-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
1863
1864	PR rtl-optimization/28636
1865	* combine.c (force_to_mode): Test for side-effects before
1866	substituting by zero.
1867	(simplify_shift_const): Likewise for zero or other constants.
1868
18692006-09-10  Richard Sandiford  <richard@codesourcery.com>
1870
1871	PR target/29006
1872	* config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
1873	* config/mips/mips.c (mips_expand_unaligned_store): Use the mode
1874	returned by mode_for_size, rather than the mode of src itself,
1875	to choose between 32-bit and 64-bit patterns.
1876	(mips_mem_fits_mode_p): New function.
1877	* config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
1878	that the size of the source matches the size of the destination.
1879	(mov_<store>l, mov_<store>r): Likewise.
1880
18812006-09-10  Richard Sandiford  <richard@codesourcery.com>
1882
1883	PR target/27681
1884
1885	Backport from mainline:
1886
1887	2006-05-23  Richard Sandiford  <richard@codesourcery.com>
1888
1889	* libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro.
1890	(LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than
1891	MIN_UNITS_PER_WORD to set the default.  Also use it in the guard.
1892
1893	2006-05-22  Richard Sandiford  <richard@codesourcery.com>
1894
1895	* mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
1896
1897	2006-05-19  Richard Sandiford  <richard@codesourcery.com>
1898
1899	* libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
1900	libgcc2.h.
1901	(LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
1902	MIN_UNITS_PER_WORD logic from libgcc2.h.  Do nothing if
1903	LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
1904	* libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
1905	Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
1906	determine the size of Wtype, etc.
1907	* mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
1908	(swfloatfuncs): New variable.
1909	(dwfloatfuncs): Likewise.
1910	(lib2funcs): Remove floating-point conversion functions from
1911	initial assignment.  Use LIB2_SIDITI_CONV_FUNCS to determine
1912	the set of conversion routines needed.  Allow entries to specify
1913	an object name, filename and word size.  Update users accordingly.
1914	* Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
1915	* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
1916
1917	Revert:
1918
1919	2006-02-08  Roger Sayle  <roger@eyesopen.com>
1920
1921	PR target/22209
1922	* config/fixtfdi.c: New libgcc source file.
1923	* config/fixunstfdi.c: New source file.
1924	* config/floatditf.c: New source file.
1925	* config/floatunditf.c: New souce file.
1926	* config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
1927	files above instead of config/mips/_tilib.c.
1928	* config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
1929
19302006-09-09  Richard Sandiford  <richard@codesourcery.com>
1931
1932	PR rtl-optimization/28634
1933	* reorg.c (fill_slots_from_thread): Do not assume A + X - X == A
1934	for floating-point modes unless flag_unsafe_math_optimizations.
1935
19362006-09-07  Jason Merrill  <jason@redhat.com>
1937
1938	PR middle-end/27724
1939	* varasm.c (output_constant): Only strip actual no-op conversions.
1940
19412006-09-06  Matthias Klose  <doko@debian.org>
1942
1943	PR bootstrap/26764
1944	PR bootstrap/27334
1945	* Makefile.in (s-macro_list): Conform to POSIX rules in single quoted
1946	strings.
1947
19482006-09-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
1949
1950	PR rtl-optimization/28386
1951	* loop.c (biased_biv_may_wrap_p): Rename to biv_may_wrap_p and
1952	remove 'bias' parameter.
1953	(maybe_eliminate_biv_1): Adjust for above change.
1954
19552006-09-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
1956
1957	PR rtl-optimization/27616
1958	* cse.c (table_size): New static variable.
1959	(new_basic_block): Initialize it to 0.
1960	(remove_from_table): Decrement it.
1961	(insert): Increment it.
1962	(fold_rtx_mem_1): New function, renamed from fold_rtx_mem.
1963	(fold_rtx_mem): Enforce a cap on the recursion depth.  Call
1964	fold_rtx_mem_1 if under the cap.
1965	(fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little
1966	the lookup of the equivalent expression and test for equality of the
1967	first operand of the equivalent expression before in turn looking up
1968	an equivalent constant for the second operand.
1969
19702006-09-01  Richard Guenther  <rguenther@suse.de>
1971
1972	Backport from mainline:
1973	PR middle-end/28814
1974	* fold-const.c (fold_binary): Fold temporary to correct
1975	type before constructing new comparison.
1976
19772006-09-01  Roger Sayle  <roger@eyesopen.com>
1978
1979	PR other/22313
1980	* dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is
1981	NULL, otherwise use an advance_loc4 to adjust relative to the 
1982	current label.
1983	(output_cfi) <DW_CFA_set_loc>: Update the current label.
1984	(dwarf2out_switch_text_section): Reset the current label to avoid
1985	using advance_loc4 over section boundaries.
1986
19872006-09-01  Jakub Jelinek  <jakub@redhat.com>
1988
1989	PR middle-end/28683
1990	* cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
1991	3 following insns.
1992
19932006-08-31  Andreas Krebbel  <krebbel1@de.ibm.com>
1994
1995	PR target/24367
1996	* config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like
1997	r12 + SYMBOLIC_CONST.
1998
19992006-08-25  Joseph S. Myers  <joseph@codesourcery.com>
2000
2001	PR c/27893
2002	* gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval):
2003	Treat sizes as variable whenever not INTEGER_CST.
2004
20052006-08-25  Fariborz Jahanian  <fjahanian@apple.com>
2006
2007	PR c/28418
2008	* c-gimplify.c (gimplify_compound_literal_expr): Don't add
2009	variable again if DECL_SEEN_IN_BIND_EXPR_P.
2010
20112006-08-25  Joseph S. Myers  <joseph@codesourcery.com>
2012
2013	PR c/28299
2014	* c-decl.c (start_function): Don't try to process prototype
2015	information from old declaration that isn't a function.
2016
20172006-08-25  Joseph Myers  <joseph@codesourcery.com>
2018
2019	PR c/27558
2020	Backport:
2021	2006-04-20  Jakub Jelinek  <jakub@redhat.com>
2022	* c-pretty-print.c (pp_c_direct_abstract_declarator): Print
2023	TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
2024	than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).
2025
20262006-08-25  Alan Modra  <amodra@bigpond.net.au>
2027
2028	PR target/27075
2029	* config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax
2030	for 8 byte objects.
2031
20322006-08-21  Mark Shinwell  <shinwell@codesourcery.com>
2033
2034	* config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in
2035	necessary places to pass the correct "number of registers" values
2036	to _Unwind_VRS_Pop.
2037
20382006-08-18  Joseph Myers  <joseph@codesourcery.com>
2039
2040	PR target/27565
2041	* config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust
2042	alignment of SPE vector types.
2043
20442006-08-17  Sebastian Pop  <pop@cri.ensmp.fr>
2045
2046	PR middle-end/25211
2047	PR middle-end/20256
2048	PR middle-end/26435
2049	* tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p.
2050	Call rewrite_into_loop_closed_ssa only when something changed.
2051	* lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration.
2052	* lambda-code.c (can_convert_to_perfect_nest): Declared.
2053	(gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter.
2054	Test for perfect_nest_p here.  Fix formating.
2055	(replace_uses_equiv_to_x_with_y): Fix formating.
2056	(stmt_uses_op): Removed.
2057	(can_convert_to_perfect_nest): Removed loopivs parameter.
2058	Complete the test by checking the scalar dependences.
2059	(perfect_nestify): Remove the test for can_convert_to_perfect_nest.
2060	Fix formating.  Don't copy statements in the inner loop: move them to
2061	the inner loop header.
2062
20632006-08-16  Joseph S. Myers  <joseph@codesourcery.com>
2064
2065	PR c/27697
2066	* c-typeck.c (build_component_ref): Combine qualifiers of
2067	structure or union and field.
2068
20692006-08-15  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2070
2071	PR c/28649
2072	* c-parser.c (c_parser_compound_statement_nostart): Reset
2073	parser->error after each statement.
2074
20752006-08-14  Andrew Pinski  <pinskia@gmail.com>
2076
2077	PR middle-end/28075
2078	* tree-inline.c (setup_one_parameter): Strip useless
2079	type conversion before adding it to the IR.
2080	(declare_return_variable): Likewise.
2081
20822006-08-13  Andrew MacLeod  <amacleod@redhat.com>
2083
2084	PR middle-end/27793
2085	* tree-dfa.c (add_referenced_var): Assert DECL_UID is unique for
2086	different decls.
2087
20882006-08-13  Jakub Jelinek  <jakub@redhat.com>
2089
2090	PR c++/28677
2091	Revert:
2092	2006-06-06  Andrew MacLeod  <amacleod@redhat.com>
2093	PR middle-end/27793
2094	* tree-dfa.c (referenced_vars_dup_list): New.  List of duplicate 
2095	referenced_variables with matching DECL_UID's.
2096	(find_referenced_vars): Make sure duplicate list is empty to start.
2097	(add_referenced_var): Add var to duplicate list if required.
2098	* tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates.
2099	* tree-flow.h (referenced_vars_dup_list): External declaration.
2100
21012006-08-13  Matthias Klose  <doko@debian.org>
2102
2103	* doc/invoke.texi: Fix spelling errors.
2104
21052006-08-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
2106
2107	PR rtl-optimization/23454
2108	* reorg.c (relax_delay_slots): Update comment.
2109
21102006-08-11  Paolo Bonzini  <bonzini@gnu.org>
2111
2112	PR target/27827
2113	* config/i386/i386.md: Add peephole2 to avoid "fld %st"
2114	instructions.
2115
21162006-08-11  Richard Guenther  <rguenther@suse.de>
2117
2118	PR middle-end/28651
2119	* simplify-rtx.c (simplify_const_relational_operation):
2120	Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison
2121	codes.
2122
21232006-08-05  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2124
2125	PR c/27721
2126	* c-typeck.c (build_modify_expr): Test earlier for non-lvalues.
2127
2128	PR c/28136
2129	* c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify.
2130
21312006-08-03  Mark Mitchell  <mark@codesourcery.com>
2132
2133	PR c++/28148
2134	* varasm.c (output_constant): Give the front end another chance to
2135	expand constants, after stripping NOPs.
2136
21372006-08-03  David Edelsohn  <edelsohn@gnu.org>
2138
2139	Backport from mainline
2140	PR target/27566
2141	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
2142	not reload a SPE symbol_ref into a lo_sum address.
2143
21442006-08-03  Steve Ellcey  <sje@cup.hp.com>
2145
2146	PR rtl-optimization/28221
2147	Backport from mainline.
2148	2005-11-30  Nathan Sidwell  <nathan@codesourcery.com>
2149	* loop-doloop.c (add_test): Only add jump note if we did emit a jump.
2150	2006-05-01  Zdenek Dvorak  <dvorakz@suse.cz>
2151	PR rtl-optimization/27291
2152	* loop-doloop.c (add_test, doloop_modify): Handle the case condition
2153	is folded to a constant.
2154
21552006-08-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2156
2157	PR c++/28257
2158	PR c++/28259
2159	PR c++/28267
2160	* toplev.c (compile_file): Return early on errorcount or sorrycount.
2161	* cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
2162	(cgraph_optimize): Likewise.
2163
21642006-08-02  Janis Johnson  <janis187@us.ibm.com>
2165
2166	Backport from mainline
2167	* doc/sourcebuild.texi (Test Directives): Document dg-shouldfail.
2168
21692006-08-01  Steven Bosscher  <steven@gcc.gnu.org>
2170
2171	PR debug/25468
2172	Backport from mainline
2173	* config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks.
2174	Cache the last found '\0' marker to avoid quadratic behavior.
2175
21762006-07-29  Roger Sayle  <roger@eyesopen.com>
2177
2178	PR middle-end/28473
2179	Backport from mainline
2180	* convert.c (convert_to_integer): When transforming (T)foo(x) into
2181	bar(x) check that bar's result type can represent all the values of T.
2182	* builtins.c (fold_fixed_mathfn): When long and long long are the
2183	same size, canonicalize llceil*, llfloor*, llround* and llrint*
2184	functions to their lceil*, lfloor*, lround* and lrint* forms.
2185
21862006-07-26  David delsohn  <edelsohn@gnu.org>
2187
2188	Backport from mainline
2189	2006-07-14  Eliot Dresselhaus  <eliot@sonic.net>
2190
2191	PR target/27287
2192	* config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
2193
2194	2006-07-06  David Edelsohn  <edelsohn@gnu.org>
2195
2196	PR target/28150
2197	* config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow
2198	PRE_{INC,DEC} of TFmode.
2199
2200	2006-07-06  David Edelsohn  <edelsohn@gnu.org>
2201		    Alan Modra  <amodra@bigpond.net.au>
2202
2203	PR target/28170
2204	* config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop
2205	bounds. Simplify.
2206
22072006-07-26  Richard Sandiford  <richard@codesourcery.com>
2208
2209	PR middle-end/28403
2210	* optabs.c (expand_doubleword_shift): Wrap the call to
2211	do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP.
2212
22132006-07-26  Richard Sandiford  <richard@codesourcery.com>
2214
2215	PR middle-end/28402
2216	* optabs.c (expand_binop): Pass next_methods rather than methods
2217	to expand_doubleword_shift.
2218
22192006-07-25  Zdenek Dvorak <dvorakz@suse.cz>
2220
2221	* tree-chrec.c (chrec_convert_aggressive): Return NULL on failure.
2222
22232006-07-24  Richard Guenther  <rguenther@suse.de>
2224
2225	Backport from mainline
2226	2006-07-17  Zdenek Dvorak <dvorakz@suse.cz>
2227
2228	* tree-chrec.c (avoid_arithmetics_in_type_p): New.
2229	(convert_affine_scev, chrec_convert_aggressive): Use
2230	avoid_arithmetics_in_type_p.  Do not check for the subtypes
2231	separately.
2232
22332006-07-24  Richard Guenther  <rguenther@suse.de>
2234
2235	PR tree-optimization/28238
2236	* tree-inline.c (copy_bb): Check if we produced valid
2237	gimple copying and substituting a stmt.  If not, gimplify
2238	it.
2239
22402006-07-24  Toon Moene  <toon@moene.indiv.nluug.nl>
2241
2242	* doc/invoke.texi: Remove mention of f77; Reformat table for
2243	inline parameter options correctly; mention that -malign-double
2244	is default on x86-64 targets.
2245
22462006-07-24  Richard Guenther  <rguenther@suse.de>
2247
2248	PR tree-optimization/27795
2249	PR tree-optimization/27639
2250	PR tree-optimization/26719
2251	Backport from mainline
2252	2006-05-24  Zdenek Dvorak <dvorakz@suse.cz>
2253
2254	* tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust
2255	call to scev_probably_wraps_p.
2256	* tree-ssa-loop-niter.c (compare_trees, convert_step_widening,
2257	used_in_pointer_arithmetic_p, convert_step): Removed.
2258	(nowrap_type_p): New function.
2259	(scev_probably_wraps_p): Rewritten.
2260	* tree-scalar-evolution.c (instantiate_parameters_1): Do not call
2261	chrec_convert if chrec_convert_aggressive might have been used.
2262	* tree-chrec.c (convert_affine_scev, chrec_convert_1,
2263	scev_direction): New functions.
2264	(chrec_convert): Changed to a wrapper over chrec_convert_1.
2265	* tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev
2266	instead of convert_step.
2267	* tree-flow.h (scev_probably_wraps_p): Declaration changed.
2268	(convert_step): Declaration removed.
2269	(convert_affine_scev, nowrap_type_p, scev_direction): Declare.
2270
22712006-07-24  Richard Guenther  <rguenther@suse.de>
2272
2273	PR tree-optimization/28029
2274	Backport
2275	2006-02-15 Daniel Berlin  <dberlin@dberlin.org>
2276
2277	* tree-ssa-alias.c (get_tmt_for): Don't handle TYPE_READONLY
2278	specially here.
2279
22802006-07-24  Roger Sayle  <roger@eyesopen.com>
2281
2282	PR target/28247
2283	* gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and
2284	mutex_destroy even when !_LIBOOBJC.  Remove duplicate prototype of
2285	the __gthrw form of thr_keycreate.
2286	(__gthread_key_delete): Silence the unused argument warning.
2287
22882006-07-21  Roger Sayle  <roger@eyesopen.com>
2289
2290	PR middle-end/28283
2291	* expmed.c (expand_shift): Additionally check that the shift_cost
2292	is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
2293	before implementing a LSHIFT_EXPR as a sequence of additions.
2294	* config/sh/sh.c (shift_costs): Return MAX_COST to inform the
2295	middle-end that DImode shifts need to be synthesized by expand.
2296
22972006-07-20  Richard Henderson  <rth@redhat.com>
2298
2299	PR 27889
2300	* tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P
2301	if needed.
2302
23032006-07-20  Paul Brook  <paul@codesourcery.com>
2304
2305	Backport from mainline.
2306	PR 27363
2307	* cse.c (cse_insn): Add destination addresses to hash table. Check if
2308	they are invalidated by this instruction.
2309
23102006-07-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2311
2312	PR c/28286
2313	* c-pragma.c (handle_pragma_pack): Handle invalid constants.
2314
23152006-07-18  Andrew Haley  <aph@redhat.com>
2316
2317	PR tree-optimization/19505
2318	* tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH
2319	edge leaving this block, make sure that the destination of this
2320	block has only one predecessor.
2321
23222006-07-18  Alexandre Oliva  <aoliva@redhat.com>
2323
2324	PR c/26993
2325	* c-common.c (handle_weakref_attribute): Ignore attribute in
2326	the same conditions the alias attribute is ignored.
2327
23282006-07-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
2329
2330	* doc/install.texi (sparc-sun-solaris2*): Add GMP version number.
2331
23322006-07-12  Paolo Carlini  <pcarlini@suse.de>
2333
2334	PR libstdc++/27878
2335	* doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x,
2336	x < 19, vs wchar_t support.
2337
23382006-07-12  Richard Guenther  <rguenther@suse.de>
2339
2340	PR tree-optimization/28187
2341	* tree-vrp.c (vrp_operand_equal_p): New function.
2342	(vrp_bitmap_equal_p): Likewise.
2343	(update_value_range): Use them to compare old and new
2344	max and min values.
2345
23462006-07-11  Richard Guenther  <rguenther@suse.de>
2347
2348	PR tree-optimization/28162
2349	* fold-const.c (fold_binary): For (-A) * (-B) -> A * B
2350	make sure to convert the operands to the correct type.
2351
23522006-07-08  Matthias Klose  <doko@debian.org>
2353
2354	* doc/sourcebuild.texi: Fix typo.
2355
23562006-07-05  Jason Merrill  <jason@redhat.com>
2357
2358	PR c++/13983
2359	PR c++/17519
2360	* stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
2361
23622006-07-04  Paolo Bonzini  <bonzini@gnu.org>
2363
2364	PR tree-optimization/28218
2365
2366	* tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls
2367	to calculate and free the dominator information.
2368	    
23692006-07-04  Peter O'Gorman  <peter@pogma.com>
2370
2371	* mklibgcc.in: chmod 644 before ranlib during install.
2372
23732006-07-04  Jakub Jelinek  <jakub@redhat.com>
2374
2375	PR middle-end/26991
2376	Backport from mainline
2377	2006-02-16  Bernd Schmidt  <bernd.schmidt@analog.com>
2378
2379	PR rtl-optimization/25636
2380	* local-alloc.c (update_equiv_regs): Lose a bogus rtx_equal_p test
2381	when deciding whether an insn is an initializing insn.
2382
23832006-07-04  Alan Modra  <amodra@bigpond.net.au>
2384
2385	PR target/28207
2386	* config/rs6000/rs6000.c (function_arg_boundary): Double-word align
2387	128-bit IBM long doubles for ABI_V4.
2388
23892006-07-03  Pete Steinmetz  <steinmtz@us.ibm.com>
2390
2391	Backport from mainline
2392	* doc/invoke.texi: Add cpu_type power6.
2393	* config.gcc: Add cpu_type power6.
2394	* config/rs6000/rs6000.c (rs6000_override_options): Alias power6
2395	to power5+ with Altivec.
2396	* config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6.
2397	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6.
2398
23992006-07-01  Roger Sayle  <roger@eyesopen.com>
2400
2401	PR middle-end/27428
2402	* c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount
2403	to indicate the cpplib has issued an error message for us.
2404
24052006-07-01  Martin Michlmayr  <tbm@cyrius.com>
2406
2407	* doc/gcov.texi (Invoking Gcov): Add a missing word.
2408
24092006-06-28  Jason Merrill  <jason@redhat.com>
2410
2411	PR c++/27768
2412	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
2413	may_aliases already in the tag's annotations to the bitmap.
2414
24152006-06-25  Eric Botcazou  <ebotcazou@adacore.com>
2416
2417	PR middle-end/28151
2418	* fold-const.c (const_binop): Be prepared for self returning zero.
2419	Simplify code handling complex values.
2420
24212006-06-23  Richard Guenther  <rguenther@suse.de>
2422
2423	PR middle-end/28045
2424	* fold-const.c (operand_equal_p): Check if the argument types
2425	have the same precision before stripping NOPs.
2426
24272006-06-21  Richard Henderson  <rth@redhat.com>
2428
2429	PR target/26347
2430	PR target/27082
2431	* config/alpha/predicates.md (small_symbolic_operand): Deny weak
2432	symbols.
2433	(global_symbolic_operand): Allow weak symbols, even if local_p.
2434
24352006-06-21  Richard Guenther  <rguenther@suse.de>
2436
2437	PR tree-optimization/27781
2438	* Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency.
2439	* ipa-pure-const.c (target.h): Include.
2440	(analyze_function): Do not analyze functions that do not
2441	bind locally.
2442
24432006-06-21  Jakub Jelinek  <jakub@redhat.com>
2444
2445	* varasm.c (mergeable_string_section): Check for embedded NULs and
2446	NUL termination in the first int_size_in_bytes (TREE_TYPE (decl))
2447	rather than TREE_STRING_LENGTH bytes.
2448
24492006-06-20  Roger Sayle  <roger@eyesopen.com>
2450
2451	PR target/27861
2452	* expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may
2453	have stripped a SUBREG from the shift count, so we may need to
2454	convert_to_mode back to the type's mode before calling make_tree.
2455	Use new_amount instead of amount to avoid expanding a tree twice.
2456
24572006-06-18  Roger Sayle  <roger@eyesopen.com>
2458
2459	PR middle-end/27802
2460	* reg-stack.c (subst_stack_regs): Handle noreturn function calls
2461	that (would) return their results in stack registers.
2462
24632006-06-16  Richard Guenther  <rguenther@suse.de>
2464
2465	PR tree-optimization/27830
2466	* tree-inline.c (copy_body_r): For copying the operand
2467	of an ADDR_EXPR make sure to fold &* afterwards.
2468
24692006-06-14  Roger Sayle  <roger@eyesopen.com>
2470
2471	PR target/27858
2472	Revert incorrect fix for PR target/27158
2473	2006-05-11  Roger Sayle  <roger@eyesopen.com>
2474	* reload.c (find_reloads_toplev): Only return the simplified SUBREG
2475	of a reg_equiv_constant if the result is a legitimate constant.
2476
24772006-06-14  Roger Sayle  <roger@eyesopen.com>
2478
2479	PR target/27158
2480	* config/rs6000/rs6000.c (const_vector_elt_as_int): New function to
2481	extract a CONST_VECTOR element and interpret it as an integer.
2482	(vspltis_constant): Use const_vector_elt_as_int instead of the
2483	macro CONST_VECTOR_ELT in order to handle FP vector modes.
2484	* config/rs6000/predicates.md (easy_vector_const): Consider
2485	floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant.
2486
24872006-06-14  Andreas Krebbel  <krebbel1@de.ibm.com>
2488
2489	PR middle-end/27959
2490	* reload1.c (reload): Remove registers returned by update_eliminables
2491	from used_spill_regs.
2492
24932005-06-13  Bernd Schmidt  <bernd.schmidt@analog.com>
2494
2495	PR bootstrap/22541
2496	From Dan Kegel <dank@kegel.com>:
2497	* Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR.
2498
24992006-06-13  Paolo Bonzini  <bonzini@gnu.org>
2500
2501	PR middle-end/27733
2502	* expmed.c (struct alg_hash_entry): Fix type of field T
2503	to match synth_mult argument.
2504	(NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.
2505
25062006-06-12  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2507
2508	PR target/27421
2509	* config/i386/i386.c (classify_argument): Skip fields with invalid
2510	types in unions.
2511
25122006-06-09  Ralf Corsepius  <ralf.corsepius@rtems.org>
2513
2514	* config/mips/t-rtems: Add EL/EB multilib variants.
2515
25162006-06-07  Uros Bizjak  <uros@kss-loka.si>
2517
2518	PR target/27790
2519	* config/i386/i386.c (ix86_expand_int_vcond): Force cop0
2520	into register for (code == GTU).
2521
25222006-06-06  Andrew MacLeod  <amacleod@redhat.com>
2523
2524	PR middle-end/27793
2525	* tree-dfa.c (referenced_vars_dup_list): New.  List of duplicate 
2526	referenced_variables with matching DECL_UID's.
2527	(find_referenced_vars): Make sure duplicate list is empty to start.
2528	(add_referenced_var): Add var to duplicate list if required.
2529	* tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates.
2530	* tree-flow.h (referenced_vars_dup_list): External declaration.
2531
25322006-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
2533
2534	PR target/27842
2535	* config/rs6000/altivec.md (UNSPEC_VSLW): Remove.
2536	("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove.
2537	("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use
2538	V4SImode temporaries and operations instead.
2539
25402006-06-05  Roger Sayle  <roger@eyesopen.com>
2541
2542	PR target/26223
2543	* config/i386/i386.c (construct_container): Split static issued_error
2544	flag into issued_sse_arg_error, issued_sse_ret_error and
2545	issued_x87_ret_error.  Issue a daignostic if the x86-64 ABI
2546	requires the use of x87 registers and the user explicitly
2547	specified the -mno-80387 command line option.
2548
25492006-06-05  Joseph S. Myers  <joseph@codesourcery.com>
2550
2551	PR c/25161
2552	PR c/27020
2553	* c-decl.c (grokdeclarator): Disallow variably modified types at
2554	file scope.  Avoid marking shared array type of constant size as
2555	VLA.
2556
25572006-06-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2558
2559	PR c++/27601
2560	* c-common.c (fold_offsetof_1): Handle static members.
2561
25622006-06-01  Alan Modra  <amodra@bigpond.net.au>
2563
2564	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
2565	fp regs if the last fp arg doesn't fit in regs.
2566
25672006-05-31  Jie Zhang  <jie.zhang@analog.com>
2568
2569	* config/bfin/bfin.c (bfin_delegitimize_address): New.
2570	(TARGET_DELEGITIMIZE_ADDRESS): Define.
2571
25722006-05-30  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2573
2574	PR c/27718
2575	* c-typeck.c (c_expr_sizeof_type): Handle invalid types.
2576
25772006-05-29  Diego Novillo  <dnovillo@redhat.com>
2578
2579	PR 26242
2580	* passes.texi: Add documentation for pass_vrp,
2581	pass_fre, pass_store_ccp, pass_copy_prop,
2582	pass_store_copy_prop, pass_merge_phi, pass_nrv,
2583	pass_return_slot, pass_object_sizes, pass_lim,
2584	pass_linear_transform, pass_empty_loop, pass_complete_unroll,
2585	and pass_stdarg.
2586
25872006-05-29  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2588
2589	PR c++/27451
2590	* stmt.c (expand_asm_operands): Skip asm statement with erroneous
2591	clobbers.
2592
2593	PR c/26818
2594	* c-decl.c (finish_struct): Skip erroneous fields.
2595
25962006-05-28  Kazu Hirata  <kazu@codesourcery.com>
2597
2598	PR tree-optimization/26622.
2599	* fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert
2600	on arg1.
2601
26022006-05-26  Eric Botcazou  <ebotcazou@adacore.com>
2603
2604	* doc/invoke.texi (Optimize Options): Document that -funit-at-a-time
2605	is enabled at -O and above.
2606
26072006-05-26  Jakub Jelinek  <jakub@redhat.com>
2608
2609	PR target/27758
2610	Backported from mainline
2611	2006-01-25  Andrew Pinski  <pinskia@physics.uc.edu>
2612
2613	PR target/25758
2614	* config/i386/i386.c (output_pic_addr_const) <case SYMBOL_REF>:
2615	Use output_addr_const instead of assemble_name.
2616
26172006-05-26  Richard Guenther  <rguenther@suse.de>
2618
2619	PR middle-end/27743
2620	* fold-const.c (fold_binary): Do not look at the stripped
2621	op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization.
2622
26232006-05-24  Mark Mitchell  <mark@codesourcery.com>
2624
2625	* DEV-PHASE: Set to prerelease.
2626	* BASE-VER: Increment.
2627
26282006-05-24  Release Manager
2629
2630	* GCC 4.1.1 released.
2631
26322006-05-22  Gerald Pfeifer  <gerald@pfeifer.com>
2633
2634	* doc/install.texi (Configuration): Remove reference to CrossGCC
2635	FAQ which was gone.
2636	(Building): Ditto.
2637
26382006-05-17  H.J. Lu  <hongjiu.lu@intel.com>
2639
2640	* Makefile.in: Undo the last 2 changes.
2641	* optc-gen.awk: Likewise.
2642
2643	* common.opt: Undo the last change.
2644	* doc/options.texi: Likewise.
2645	* gcc.c: Likewise.
2646	* opts.c: Likewise.
2647	* opts.h: Likewise.
2648
2649	* opts-common.c: Removed.
2650
26512005-05-17  Bernd Schmidt  <bernd.schmidt@analog.com>
2652
2653	PR middle-end/27620
2654	* expr.c (safe_from_p): Handle CONSTRUCTOR again.
2655
26562006-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
2657
2658	PR tree-optimization/27548
2659	* tree-scalar-evolution.c (scev_const_prop): Do not prolong life
2660	range of ssa names that appear on abnormal edges.
2661	* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export.
2662	* tree-flow.h (contains_abnormal_ssa_name_p): Declare.
2663
26642006-05-17  Jakub Jelinek  <jakub@redhat.com>
2665
2666	PR tree-optimization/27549
2667	Backported from mainline
2668
2669	2006-05-01  Zdenek Dvorak  <dvorakz@suse.cz>
2670
2671	PR tree-optimization/27283
2672	* tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees,
2673	not whole # of iteration descriptions.
2674	(niter_for_exit): Return just # of iterations.  Fail if # of iterations
2675	uses abnormal ssa name.
2676	(niter_for_single_dom_exit): Ditto.
2677	(find_induction_variables, may_eliminate_iv): Expect niter_for_exit to
2678	return just the number of iterations.
2679	(add_iv_outer_candidates, may_replace_final_value): Likewise.
2680
26812006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
2682
2683	* Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.
2684	(gcc-options.o): New rule.
2685
2686	* optc-gen.awk: Protect variables for gcc-options.o with
2687	#ifdef GCC_DRIVER/#endif.
2688
26892006-05-16  Roger Sayle  <roger@eyesopen.com>
2690
2691	PR target/26600
2692	* config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode
2693	integer constants other than zero are only legitimate on TARGET_64BIT.
2694	<CONST_VECTOR> Only zero vectors are legitimate.
2695	(ix86_cannot_force_const_mem): Integral and vector constants can
2696	always be put in the constant pool.
2697
26982006-05-16  Andrew MacLeod  <amacleod@redhat.com>
2699
2700	PR c++/26757
2701	* tree-dfa.c (struct walk_state): Remove.
2702	(add_referenced_var): Change Parameters.
2703	(find_referenced_vars): Done use a walk_state.
2704	(find_vars_r): Unused parameter and change parms to add_referenced_var.
2705	(referenced_var_insert): Assert same UID has not been inserted.
2706	(add_referenced_var): Check if var exists via referenced_var table.
2707	(get_virtual_var): Call add_referenced_var with new parameter.
2708
27092006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
2710
2711	PR driver/26885
2712	* Makefile.in (GCC_OBJS): New.
2713	(OBJS-common): Add opts-common.o.
2714	(xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS).
2715	(cpp$(exeext)): Likewise.
2716	(gcc.o): Also depend on opts.h.
2717	(opts-common.o): New.
2718
2719	* common.opt (gcoff): Add Negative(gdwarf-2).
2720	(gdwarf-2): Add Negative(gstabs).
2721	(gstabs): Add Negative(gstabs+).
2722	(gstabs+): Add Negative(gvms).
2723	(gvms): Add Negative(gxcoff).
2724	(gxcoff): Add Negative(gxcoff+).
2725	(gxcoff+): Add Negative(gcoff).
2726	* config/i386/i386.opt (m32): Add Negative(m64).
2727	(m64): Add Negative(m32).
2728
2729	* doc/options.texi: Document the Negative option.
2730
2731	* gcc.c: Include "opts.h".
2732	(main): Call prune_options after expandargv.
2733
2734	* optc-gen.awk: Generate common declarations for all flag
2735	variables in options.c. Output the neg_index field.
2736
2737	* opts.c (find_opt): Moved to ...
2738	* opts-common.c: Here. New file.
2739
2740	* opts.h (cl_option): Add a neg_index field.
2741	(find_opt): New.
2742	(prune_options): Likewise.
2743
27442006-05-16  Richard Guenther  <rguenther@suse.de>
2745
2746	PR tree-optimization/27603
2747	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
2748	Do computation in original type, do division only for nonzero
2749	steps.
2750
27512006-05-15  Andreas Krebbel  <krebbel1@de.ibm.com>
2752
2753	* expmed.c (store_bit_field): Handle paradoxical subregs on big endian
2754	machines.
2755
27562006-05-15  Andreas Krebbel  <krebbel1@de.ibm.com>
2757
2758	PR rtl-optimization/14261
2759	* ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting
2760	move would be an INSV insn.
2761	(noce_process_if_block): Don't optimize if the destination is a 
2762	ZERO_EXTRACT which can't be handled by noce_emit_move_insn.
2763
27642006-05-15  Roger Sayle  <roger@eyesopen.com>
2765
2766	PR rtl-optimization/22563
2767	Backports from mainline
2768	* expmed.c (store_fixed_bit_field): When using AND and IOR to store
2769	a fixed width bitfield, always force the intermediates into pseudos.
2770	Also check whether the bitsize is valid for the machine's "insv"
2771	instruction before moving the target into a pseudo for use with
2772	the insv.
2773	* config/i386/predicates.md (const8_operand): New predicate.
2774	* config/i386/i386.md (extv, extzv, insv): Use the new
2775	const8_operand predicate where appropriate.
2776
27772006-05-13  Roger Sayle  <roger@eyesopen.com>
2778
2779	PR middle-end/26729
2780	* fold-const.c (fold_truthop): Check integer_nonzerop instead of
2781	!integer_zerop to avoid problems with TREE_OVERFLOW.
2782
27832005-05-13  Zdenek Dvorak  <dvorakz@suse.cz>
2784
2785	PR rtl-optimization/27335
2786	* loop-unroll.c (peel_loops_completely): Use loops->parray to walk the
2787	loops.
2788
27892006-05-12  Andreas Krebbel  <krebbel1@de.ibm.com>
2790
2791	* config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for
2792	On contraint.
2793	* config/s390/s390.md: Adjust comment describing On constraint.
2794
27952006-05-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2796
2797	PR target/27421
2798	* config/i386/i386.c (classify_argument): Skip fields with invalid
2799	types.
2800
2801	PR middle-end/27384
2802	* fold-const.c (size_binop): Move sanity check for arguments to
2803	the beginning of the function.
2804
2805	PR middle-end/27488
2806	* fold-const.c (tree_expr_nonnegative_p): Return early on invalid
2807	expression.
2808
28092006-05-11  Roger Sayle  <roger@eyesopen.com>
2810
2811	PR target/27158
2812	* reload.c (find_reloads_toplev): Only return the simplified SUBREG
2813	of a reg_equiv_constant if the result is a legitimate constant.
2814
28152006-05-09  Steve Ellcey  <sje@cup.hp.com>
2816
2817	PR bootstrap/26872
2818	* config.gcc (hppa[12]*-*-hpux10*): Set gas to yes.
2819	(hppa*64*-*-hpux11*): Ditto.
2820	(hppa[12]*-*-hpux11*): Ditto.
2821
28222006-05-09  David Edelsohn  <edelsohn@gnu.org>
2823
2824	PR target/26545
2825	* config/rs6000/aix41.h (TARGET_64BIT): Define.
2826
28272006-05-09  Richard Guenther  <rguenther@suse.de>
2828
2829	PR tree-optimization/27136
2830	* tree-ssa-loop-niter.c (get_val_for): Correct function
2831	comment, assert requirements.
2832	(loop_niter_by_eval): Stop processing if the iterated
2833	value did not simplify.
2834
28352006-05-09  Richard Guenther  <rguenther@suse.de>
2836
2837	PR tree-optimization/27409
2838	* tree-ssa-structalias.c (get_constraint_for_component_ref):
2839	Do not try to find zero-sized subvars.
2840
28412006-05-08  Alan Modra  <amodra@bigpond.net.au>
2842
2843	PR middle-end/27260
2844	* builtins.c (expand_builtin_memset): Expand val in original mode.
2845
28462006-05-06   Richard Guenther  <rguenther@suse.de>
2847
2848	PR tree-optimization/27151
2849	* tree-vect-transform.c (vectorizable_condition): Punt on
2850	values that have a different type than the condition.
2851
28522006-05-04  David Edelsohn  <edelsohn@gnu.org>
2853
2854	PR target/26481
2855	* config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint
2856	with output modifier.
2857
28582006-05-04  Richard Sandiford  <richard@codesourcery.com>
2859
2860	PR target/26765
2861	* config/mips/mips.c (mips_symbolic_address_p): Return true
2862	for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
2863	SYMBOL_GOTTPREL, and SYMBOL_TLS.
2864
28652006-05-04  David Edelsohn  <edelsohn@gnu.org>
2866
2867	PR target/26481
2868	* config/rs6000/rs6000.md (store_multiple_power): Delete.
2869	(stmsi[345678]_power): New.
2870
28712006-05-04  Jakub Jelinek  <jakub@redhat.com>
2872
2873	PR tree-optimization/27285
2874
2875	Backport from mainline:
2876
2877	2006-03-28  Zdenek Dvorak  <dvorakz@suse.cz>
2878
2879	PR tree-optimization/25985
2880	* tree-ssa-loop-niter.c (number_of_iterations_le,
2881	number_of_iterations_ne): Make comments more precise.
2882	(number_of_iterations_cond): Add only_exit argument.  Use the
2883	fact that signed variables do not overflow only when only_exit
2884	is true.
2885	(loop_only_exit_p): New.
2886	(number_of_iterations_exit): Pass result of loop_only_exit_p to
2887	number_of_iterations_cond.
2888
28892006-05-02  Jeff Law  <law@redhat.com>
2890
2891	PR tree-optimization/27364
2892	* tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from
2893	multiply expressions.
2894
28952006-05-02  Roger Sayle  <roger@eyesopen.com>
2896
2897	PR c/25309
2898	* c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT.
2899	(push_array_bounds): Delete prototype.  Change BOUNDS argument to
2900	an unsigned HOST_WIDE_INT.
2901	(print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the
2902	array index.
2903	(really_start_incremental_init): No need to call convert because
2904	bitsize_zero_node is already of type bitsizetype.
2905	(push_init_level): Extract the value of constructor_index as an
2906	unsigned HOST_WIDE_INT quantity, using tree_low_cst.
2907	(process_init_element): Likewise.
2908
29092006-05-02  Kazu Hirata  <kazu@codesourcery.com>
2910
2911	PR target/27387
2912	* arm.c (arm_output_mi_thunk): Use pc-relative addressing when
2913	-mthumb -fPIC are used.
2914
29152006-05-01  Kazu Hirata  <kazu@codesourcery.com>
2916
2917	PR target/27374
2918	* config/arm/vfp.md (*arm_movdi_vfp): Correct the output
2919	templates for case 3 and 4.
2920
29212006-05-01  Richard Guenther  <rguenther@suse.de>
2922
2923	PR middle-end/26565
2924	* builtins.c (get_pointer_alignment): Handle component
2925	references for field alignment.
2926
29272006-04-28  Richard Guenther  <rguenther@suse.de>
2928
2929	PR target/26826
2930	* reload.c (push_reload): Guard calls to get_secondary_mem
2931	for memory subregs.
2932
29332006-04-28  Andrew Pinski  <pinskia@gcc.gnu.org>
2934	Richard Guenther  <rguenther@suse.de>
2935
2936	PR tree-optimization/27236
2937	* tree-inline.c (copy_body_r): Make sure to copy
2938	TREE_THIS_VOLATILE flag.
2939
29402006-04-28  Richard Guenther  <rguenther@suse.de>
2941
2942	PR middle-end/26869
2943	* tree-complex.c (update_parameter_components): Don't handle
2944	unused parameters which have no default def.
2945
29462006-04-28  Andrew Pinski  <pinskia@gcc.gnu.org>
2947	Richard Guenther  <rguenther@suse.de>
2948
2949	PR tree-optimization/27218
2950	* tree-inline.c (expand_call_inline): Strip useless type
2951	conversions for the return slot address.
2952
29532006-04-27  Richard Guenther  <rguenther@suse.de>
2954
2955	PR rtl-optimization/26685
2956	* params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
2957	this one "max-flow-memory-locations".
2958
29592006-04-25  Jakub Jelinek  <jakub@redhat.com>
2960
2961	PR tree-optimization/26865
2962	* tree-ssa-structalias.c (find_func_aliases): Check that anyoffsetrhs
2963	type is pointer or array type.
2964
29652006-04-24  Roger Sayle  <roger@eyesopen.com>
2966
2967	PR target/26961
2968	* fold-const.c (fold_ternary): When converting "A ? B : C" into either
2969	"A op B" or "A op C", we may need to convert A to the type of B and C.
2970
29712006-04-23  Roger Sayle  <roger@eyesopen.com>
2972
2973	PR target/21283
2974	* config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
2975	a SImode SUBREG of a floating point register after no_new_pseudos.
2976
29772006-04-23  Roger Sayle  <roger@eyesopen.com>
2978
2979	* config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
2980	identify potentially eliminable registers to additionally catch
2981	VIRTUAL_INCOMING_ARGS_REGNUM.
2982	(addsi3): Update the conditions on when to use addsi_small_int.
2983
29842006-04-23  Eric Botcazou  <ebotcazou@adacore.com>
2985
2986	* tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too.
2987
29882006-04-21  Carlos O'Donell  <carlos@codesourcery.com>
2989	
2990	Backport from mainline:
2991	2006-04-19  Carlos O'Donell  <carlos@codesourcery.com>
2992		    Nathan Sidwell  <nathan@codesourcery.com>
2993	PR c/26774
2994	* stor-layout.c (update_alignment_for_field): Do not align 
2995	ERROR_MARK nodes.
2996	(place_union_field): Place union field at the start of the union.
2997	(place_field): Move ERROR_MARK check later, and use the current
2998	allocation position to maintain monotonicity.
2999
30002006-04-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3001
3002	PR c/25875
3003	* c-typeck.c (digest_init): Robustify.
3004
30052006-04-21  Steve Ellcey  <sje@cup.hp.com>
3006
3007	* config/pa/t-pa64: Add dependencies on $(GCC_PASSES).
3008
30092006-04-21  Paul Brook  <paul@codesourcery.com>
3010
3011	Backport from mainline.
3012	* config/arm/arm.c (arm_override_options): Error on iWMMXt and
3013	hardware floating point.
3014
30152006-04-20  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3016
3017	PR mudflap/26789
3018	* tree-mudflap.c (mudflap_finish_file): Skip function when there were
3019	errors.
3020
30212006-04-20  Kaz Kojima  <kkojima@gcc.gnu.org>
3022
3023	PR target/27182
3024	* config/sh/sh.md (movsicc_true+3): Tweak condition for the case
3025	that the last insn has the REG_INC note.
3026
30272006-04-19  Jeff Law  <law@redhat.com>
3028
3029	PR tree-optimization/26854
3030	* tree-ssa-dse.c (dse_optimize_stmt): Use has_single_use rather
3031	than num_imm_uses.
3032	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Similarly.
3033
30342006-04-18  Jeff Law  <law@redhat.com>
3035
3036	PR tree-optimization/27087
3037	* tree-ssa-copy.c (may_propagate_copy): Test flow sensitive
3038	alias information too.
3039
30402006-04-18  Andreas Krebbel  <krebbel1@de.ibm.com>
3041
3042	* builtins.c (expand_builtin_strcmp): Cover label definition of 
3043	do_libcall with HAVE_cmpstrnsi.
3044
30452006-04-18  Paolo Bonzini  <bonzini@gnu.org>
3046
3047	PR tree-optimization/26643
3048
3049	Backport from mainline:
3050	2006-03-29  Zdenek Dvorak <dvorakz@suse.cz>
3051
3052	PR tree-optimization/26643
3053	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle
3054	bit_field_refs.
3055
30562006-04-18  Paolo Bonzini  <bonzini@gnu.org>
3057
3058	PR tree-optimization/26821
3059
3060	Backport from mainline:
3061
3062	2006-04-18  Paolo Bonzini  <bonzini@gnu.org>
3063
3064	PR tree-optimization/26821
3065	* tree-ssa-math-opts.c (get_constant_one): New.
3066	(insert_reciprocals): Use it.
3067
3068	2006-02-02  Paolo Bonzini  <bonzini@gnu.org>
3069	    
3070	* tree-flow-inline.h (bsi_after_labels): Rewrite, return
3071	what its name says.
3072	* lambda-code.c (perfect_nestify): Use bsi_insert_before on
3073	bsi_after_labels iterator.
3074	* tree-if-conv.c (find_phi_replacement_condition,
3075	replace_phi_with_cond_modify_expr): Likewise.
3076	* tree-scalar-evolution.c (scev_const_prop): Likewise.
3077	* tree-ssa-loop-ivopts.c (compute_phi_arg_on_exit): Likewise.   
3078
30792006-04-18  Alan Modra  <amodra@bigpond.net.au>
3080
3081	PR middle-end/27095
3082	* builtins.c (expand_builtin_memset): Stabilize args before expansion
3083	and emit libcall here in case the builtin fails.
3084	(expand_builtin_strcmp): Always emit the libcall here on failure.
3085
30862006-04-16  Uros Bizjak  <uros@kss-loka.si>
3087
3088	PR middle-end/27134
3089	* builtins.c (expand_builtin_int_roundingfn): Use expand_expr()
3090	to expand fallback builtin function call.
3091
30922006-04-14  Alexey Starovoytov  <alexey.starovoytov@sun.com>
3093	    Eric Botcazou  <ebotcazou@libertysurf.fr>
3094
3095	* config/sparc/sparc.c (emit_and_preserve): Allocate space for the
3096	register save area.
3097
30982006-04-13  Paolo Bonzini  <bonzini@gnu.org>
3099	    Ulrich Weigand  <uweigand@de.ibm.com>
3100
3101	PR target/27006
3102	* config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n
3103	to be even.
3104
31052006-04-13  Alan Modra  <amodra@bigpond.net.au>
3106
3107	PR target/26459
3108	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
3109	optimize to lo_sum for DFmode if !TARGET_FPRS.
3110
31112006-04-07  Jan Hubicka  <jh@suse.cz>
3112
3113	* ipa-inline.c (cgraph_early_inlining): Collect garbage.
3114
31152006-04-11  Mark Mitchell  <mark@codesourcery.com>
3116
3117	PR target/26459
3118	* config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test
3119	rs6000_explicit_options.float_gprs.
3120
31212006-04-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
3122
3123	* doc/install.texi (*-*-solaris2*): Point to the configure page.
3124
31252006-04-10  Jakub Jelinek  <jakub@redhat.com>
3126
3127	PR debug/27057
3128	* dwarf2out.c (is_symbol_die): Return true also for namespaces.
3129
31302006-04-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3131
3132	PR target/26508
3133	* config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts.
3134	* pa64-hpux.h (LIB_SPEC): Don't append milli.a.
3135	(LINK_GCC_C_SEQUENCE_SPEC): Define.  Append milli.a here.
3136	(PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines.
3137	(PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK.
3138	(PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text
3139	section.  Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB
3140	stubs.  Add ".align 8" directives before all ".dword" directives.
3141	(GTHREAD_USE_WEAK): Revise comment.
3142	(TARGET_ATTRIBUTE_WEAK): Define.
3143	* pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o,
3144	dfi-stub.o, cxaf-stub.o and jvrc-stub.o.
3145	* stublib.c: New file.
3146
31472006-04-09  Gerald Pfeifer  <gerald@pfeifer.com>
3148
3149	* doc/install.texi (Prerequisites): Refine some wording on
3150	bootstrapping and ksh.
3151	Move the version numbers of DejaGnu here from the testing section
3152	and fix casing of names.
3153	Fix markup and clarify wording for autogen requirements.
3154	Refer to GCJ instead of just java.
3155	Refer to SVN instead of CVS.
3156	Describe diffutils as useful instead of necessary.
3157	(Downloading the source): Refer to SVN instead of CVS.
3158	Adjust a link to our web site accordingly.
3159	(Configuration): Fix casing of Bison.
3160	(Specific): Avoid reference to CVS.
3161	(Building): Refer to SVN instead of CVS.  
3162	Fix a sentence on the use of Bison and remove duplicate (and
3163	incorrect) version number of Bison requirement.
3164
31652006-04-08  Matthias Klose  <doko@debian.org>
3166
3167	* Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
3168
31692006-04-07  Richard Guenther  <rguenther@suse.de>
3170
3171	PR tree-optimization/26919
3172	* ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument
3173	to cgraph_estimate_size_after_inlining.
3174
31752006-04-05  Sebastian Pop  <pop@cri.ensmp.fr>
3176
3177	PR tree-optimization/26996
3178	* tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze
3179	VECTOR_TYPE variables.
3180
31812006-04-05  Richard Guenther  <rguenther@suse.de>
3182
3183	PR tree-optimization/26763
3184	* fold-const.c (fold_binary): Fold PTR + CST CMP PTR + CST
3185	only for EQ_EXPR and NE_EXPR.
3186
31872006-04-04  Paul Brook  <paul@codesourcery.com>
3188
3189	Backport form mainline.
3190	2006-01-14  Zdenek Dvorak <dvorakz@suse.cz>
3191	* tree-ssa-loop-niter.c (number_of_iterations_cond): Split into several
3192	functions.
3193	(number_of_iterations_ne, number_of_iterations_lt_to_ne,
3194	assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt,
3195	number_of_iterations_le): New functions.
3196	(number_of_iterations_special): Removed.
3197	(number_of_iterations_exit): Do not use number_of_iterations_special.
3198	* tree.c (unsigned_type_for): Always return integer type.
3199
3200	2005-01-06  Zdenek Dvorak <dvorakz@suse.cz>
3201	PR tree-optimization/18527
3202	* tree-ssa-loop-niter.c (number_of_iterations_cond,
3203	number_of_iterations_special, number_of_iterations_exit):
3204	Move base and step of an iv to a single structure.  Add
3205	no_overflow flag, and use it in # of iterations analysis.
3206	* tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Add
3207	folded_casts argument.
3208	(simple_iv): Pass base and step in a structure.  Set no_overflow
3209	flag.
3210	(scev_const_prop): Add argument to analyze_scalar_evolution_in_loop.
3211	Evaluate expensiveness of computing # of iterations instead of
3212	the final expression.
3213	* tree-scalar-evolution.h (affine_iv): New structure.
3214	(simple_iv): Declaration changed.
3215	* tree-chrec.c (chrec_apply): Handle chrecs containing symbols.
3216	* tree-ssa-loop-ivopts.c (determine_biv_step, find_givs_in_stmt_scev,
3217	find_givs_in_stmt): Changed due to simple_iv change.
3218
32192006-04-03  Paolo Bonzini  <bonzini@gnu.org>
3220
3221	PR tree-optimization/26830
3222	* tree-cfg.c (tree_duplicate_sese_region): Do not update SSA.
3223	* tree-ssa-loop-ch.c (copy_loop_headers): Count successfully duplicated
3224	headers and, if there was any, update SSA at the end.
3225	
3226	Backport from mainline:
3227	2006-03-30  Paolo Bonzini  <bonzini@gnu.org>
3228
3229	* tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth.
3230	(copy_prop_visit_stmt): Remove write-only variable ann.
3231	(init_copy_prop): Check variable loop depth here.  Do not simulate
3232	memory-tag and virtual operand PHIs except for store copy prop.
3233
3234
32352006-03-31  H.J. Lu  <hongjiu.lu@intel.com>
3236
3237	PR testsuite/25741
3238	Backport from mainline
3239	2006-01-16  H.J. Lu  <hongjiu.lu@intel.com>
3240
3241	* Makefile.in (check-%): Depend on site.exp instead of
3242	$(TESTSUITEDIR)/site.exp. Run "runtest" in separate language
3243	directories.
3244
3245	2006-01-17  Shantonu Sen  <ssen@opendarwin.org>
3246
3247	* Makefile.in (check-%, check-consistency): Use $${srcdir}
3248	instead of $(srcdir) and ${srcdir}.
3249
32502006-03-31  Richard Guenther  <rguenther@suse.de>
3251
3252	PR bootstrap/26936
3253	Backport from mainline.
3254	2006-02-25  Juergen Weigert  <jw@suse.de>
3255		Richard Guenther  <rguenther@suse.de>
3256 
3257	* scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF.
3258
32592006-03-31  Alan Modra  <amodra@bigpond.net.au>
3260
3261	PR target/26459
3262	* config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08
3263	change to FLOAT_REGS.
3264
3265	* config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee.
3266	(rs6000_override_options): Use it.
3267	(rs6000_handle_option): Set it.  Set rs6000_explicit_options.abi
3268	only for -mabi=spe/no-spe and -mabi=altivec.
3269
32702006-03-30  Jie Zhang  <jie.zhang@analog.com>
3271
3272	* config/bfin/bfin.c (single_move_for_strmov): Renamed to...
3273	(single_move_for_movmem): ... this. Also change all uses.
3274	(bfin_expand_strmov): Renamed to...
3275	(bfin_expand_movmem): ... this. Also change all uses.
3276	* config/bfin/bfin.md (movstrsi): Renamed to...
3277	(movstrsi): ...this.
3278
32792006-03-28  Daniel Berlin  <dberlin@dberlin.org>
3280
3281	* tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE
3282	from parent_var.
3283
32842006-03-27  Alan Modra  <amodra@bigpond.net.au>
3285
3286	PR target/26459
3287	* config/rs6000/rs6000.md (DF reg move peephole): Prevent
3288	peephole removing spe frob_di_df_2.
3289
32902006-03-24  Alan Modra  <amodra@bigpond.net.au>
3291
3292	PR target/26607
3293	* config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__
3294	or __LITTLE_ENDIAN__.
3295
32962006-03-23  Richard Henderson  <rth@redhat.com>
3297
3298	* config/alpha/alpha.c (alpha_legitimate_constant_p): Reject
3299	tls symbols.
3300
3301	PR target/26347
3302	* config/alpha/predicates.md (local_symbolic_operand): Reject
3303	weak symbols.
3304
33052006-03-22  Jie Zhang  <jie.zhang@analog.com>
3306
3307	* config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove.
3308
33092006-03-21  Jason Merrill  <jason@redhat.com>
3310
3311	* builtins.c (expand_builtin_fork_or_exec): Fix pasto.
3312
3313	PR middle-end/20297
3314	* expr.c (init_block_move_fn): Force default visibility.
3315	(init_block_clear_fn): Likewise.
3316	* builtins.c (expand_builtin_fork_or_exec): Likewise.
3317	* targhooks.c (default_external_stack_protect_fail): Likewise.
3318
33192006-03-16  David Edelsohn  <edelsohn@gnu.org>
3320
3321	Backport from mainline.
3322	* config/rs6000/rs6000.c (rs6000_init_builtins): Change
3323	decl libname for clog to __clog on AIX.
3324
33252006-03-16  Steve Ellcey  <sje@cup.hp.com>
3326
3327	PR target/25917
3328	Backport from mainline.
3329	* config/ia64/predicates.md (extr_len_operand): New predicate.
3330	* config/ia64/ia64.md (extv): Tighten constraints.
3331	(extzv): Ditto.
3332	(*tbit_and_2): Ditto.
3333	(*tbit_and_3): Ditto.
3334	(*tbit_or_2): Ditto.
3335	(*tbit_or_3): Ditto.
3336	(*bit_zero): Ditto.
3337	(*bit_one): Ditto.
3338
33392006-03-16  Paul Brook  <paul@codesourcery.com>
3340
3341	Backport from mainline.
3342	* config/arm/arm.c (minipool_pad): New.
3343	(add_minipool_forward_ref): Include pool alignment padding in address
3344	calculation.
3345	(push_minipool_fix): Set minipool_pad.
3346	(minipool_pad): Ditto.
3347
33482006-03-14  Roger Sayle  <roger@eyesopen.com>
3349
3350	PR middle-end/19543
3351	Backport from mainline.
3352	* varasm.c (compare_constant) <INTEGER_CST>: Integer constants are
3353	only equivalent if the have both the same mode and precision.
3354
33552006-03-14  Roger Sayle  <roger@eyesopen.com>
3356
3357	PR other/26489
3358	Backport from mainline.
3359	* gthr-posix.h (__gthrw2): Define to take three parameters, the
3360	declared name, the weak reference name, and the typeof name.
3361	(__gthrw): Avoid expanding the declared name suffix.
3362	(__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls.
3363
33642006-03-14  Roger Sayle  <roger@eyesopen.com>
3365
3366	PR middle-end/26557
3367	* stmt.c (emit_case_nodes): Handle the case where the index is a
3368	CONST_INT, where the comparison mode is specified by the index type.
3369
33702006-03-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3371
3372	* pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo.
3373
33742006-03-14  Richard Guenther  <rguenther@suse.de>
3375
3376	PR tree-optimization/26672
3377	* tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in
3378	SSA form.
3379
33802006-03-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3381
3382	* pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O
3383	is defined.
3384
33852006-03-13  Jie Zhang  <jie.zhang@analog.com>
3386
3387	* config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC.
3388
33892006-03-13  Bernd Schmidt  <bernd.schmidt@analog.com>
3390
3391	* config/bfin/lib1funcs.asm (___umodsi3): Use stack to save contents
3392	of RETS.
3393	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If
3394	TARGET_ID_SHARED_LIBRARY, define __ID_SHARED_LIB__.
3395	* config/bfin/crti.S: Use it instead of __PIC__.
3396	* config/bfin/crtn.S: Likewise.
3397
3398	* config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol,
3399	call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY,
3400	not if flag_pic.
3401	Lose 'G' modifier for call operand.
3402	* config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't
3403	recognize 'G' modifier.
3404
34052006-03-13  Eric Botcazou  <ebotcazou@adacore.com>
3406
3407	PR middle-end/18859
3408	* stmt.c (expand_case): Discard empty ranges.
3409
34102006-03-10  Jason Merrill  <jason@redhat.com>
3411
3412	PR c/26004
3413	* gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if 
3414	the target was declared 'register'.
3415
34162006-03-09  Roger Sayle  <roger@eyesopen.com>
3417
3418	PR tree-optimization/26524
3419	* tree-scalar-evolution.c (interpret_rhs_modify_expr): Use
3420	fold_convert to create a constant of the appropriate type.
3421
34222006-03-07  Richard Guenther  <rguenther@suse.de>
3423
3424	PR tree-optimization/26587
3425	* tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR.
3426
34272006-03-03  Steve Ellcey  <sje@cup.hp.com>
3428
3429	PR rtl-optimization/26345
3430	PR target/19061
3431	* config/ia64/predicates.md (basereg_operand): Don't look in subregs.
3432
34332006-03-02  Alan Modra  <amodra@bigpond.net.au>
3434
3435	PR target/26453
3436	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
3437	output traceback table for thunks.  Localise rs6000_stack_info call.
3438
34392006-02-28  David Edelsohn  <edelsohn@gnu.org>
3440
3441	* doc/install.texi: Require GNU tar version 1.14.
3442
34432006-02-28  Mark Mitchell  <mark@codesourcery.com>
3444
3445	* BASE-VER: 4.1.1.
3446	* DEV-PHASE: Prerelease.
3447
34482006-02-28  Release Manager
3449
3450	* GCC 4.1.0 released.
3451
34522006-02-23  Mark Mitchell  <mark@codesourcery.com>
3453
3454	Backport:
3455	2006-02-20  Roger Sayle  <roger@eyesopen.com>
3456	* gthr-posix.h: On Tru64, map __gthr_foo as a weak reference to
3457	__foo and not foo when _PTHREAD_USE_MANGLED_NAMES_ is defined.
3458
34592006-02-23  Mark Mitchell  <mark@codesourcery.com>
3460
3461	Backport:
3462	2006-02-21  Jakub Jelinek  <jakub@redhat.com>
3463	PR middle-end/26379
3464	* combine.c (simplify_shift_const_1): Disable nested shifts
3465	optimization for vector shifts.
3466
34672006-02-23  Mark Mitchell  <mark@codesourcery.com>
3468
3469	Backport:
3470	2006-02-16  Denis Nagorny <denis_nagorny@linux.intel.com>
3471	PR rtl-optimization/25603
3472	* reload.c (reg_inc_found_and_valid_p): New. Check REG_INC note.
3473	(regno_clobbered_p): Use it. Reusing SETS argument for REG_INC case.
3474	* reload1.c (choose_reload_regs): Added call of regno_clobbered_p 
3475	with new meaning of SETS.
3476
34772006-02-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3478
3479	* doc/install.texi: Add missing `@samp'.
3480
34812006-02-19  David Edelsohn  <edelsohn@gnu.org>
3482
3483	PR target/26350
3484	* config/rs6000/rs6000.md (extenddftf2): Force 0.0 to validized
3485	MEM for ABI_V4 pic.
3486
34872006-02-18  Mark Wielaard  <mark@klomp.org>
3488
3489	* doc/contrib.texi (Contributors): Add classpath/libgcj hackers
3490	who added new 4.1 features, bug fixes and integration support.
3491
34922006-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3493
3494	* doc/install.texi (hppa*-hp-hpux*): Update for 4.1.0.
3495
34962006-02-18  Olivier Hainque  <hainque@adacore.com>
3497
3498	PR ada/13408
3499	* pa.h (WIDEST_HARDWARE_FP_SIZE): Define.
3500
35012006-02-18  Jakub Jelinek  <jakub@redhat.com>
3502
3503	PR middle-end/26334
3504	* stmt.c (decl_overlaps_hard_reg_set_p): Use DECL_HARD_REGISTER
3505	instead of DECL_REGISTER.
3506
35072006-02-17  Roger Sayle  <roger@eyesopen.com>
3508	    Richard Sandiford  <richard@codesourcery.com>
3509
3510	PR target/22209
3511	* config/mips/mips.h (MIN_UNITS_PER_WORD): Don't define for libgcc.
3512	* config/mips/_tilib.c: Remove.
3513	* config/fixtfdi.c: New libgcc source file.
3514	* config/fixunstfdi.c: New source file.
3515	* config/floatditf.c: New source file.
3516	* config/floatunditf.c: New souce file.
3517	* config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
3518	files above instead of config/mips/_tilib.c.
3519	* config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
3520
35212006-02-17  Jakub Jelinek  <jakub@redhat.com>
3522
3523	PR middle-end/26300
3524	* combine.c (make_extraction): Bail out if ORIG_POS is negative.
3525
35262005-02-16  Zdenek Dvorak  <dvorakz@suse.cz>
3527
3528	PR tree-optimization/26209
3529	* tree-ssa-loop.c (pass_scev_cprop): Add TODO_cleanup_cfg.
3530	* tree-cfgcleanup.c (cleanup_control_flow): Remove dead
3531	eh edges.
3532	* tree-cfg.c (replace_uses_by): Do not alter cfg.
3533
3534	* tree-cfgcleanup.c (cleanup_tree_cfg_loop): Call scev_reset if cfg
3535	changes.
3536	* Makefile.in (tree-cfgcleanup.o): Add SCEV_H dependency.
3537
35382006-02-15  J"orn Rennecke <joern.rennecke@st.com>
3539
3540	PR middle-end/25335
3541	* reload1.c (gen_reload): Also use find_replacement in UNARY_P case.
3542
35432006-02-15  Hans-Peter Nilsson  <hp@axis.com>
3544
3545	PR target/23424
3546	* config/cris/predicates.md ("cris_bdap_sign_extend_operand"):
3547	Reenable.
3548
35492006-02-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3550
3551	PR target/26255
3552	* pa.md: Create separate HI and QI move patterns for 32-bit and 64-bit
3553	with hardware float support, and software float support.  Add fcpy
3554	alternative to hardware patterns.  Add alternatives to copy between
3555	general and floating-point registers to the 32-bit pattern.
3556	* pa32-regs.h (VALID_FP_MODE_P): Allow QImode and HImode.
3557	* pa64-regs.h (VALID_FP_MODE_P): Likewise.
3558
35592006-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3560
3561	PR bootstrap/26053
3562	* configure.ac (HAVE_COMDAT_GROUP): Don't assume non-GNU linkers
3563	support COMDAT group.
3564	* configure: Regenerate.
3565
35662006-02-14  Michael Matz  <matz@suse.de>
3567
3568	PR middle-end/22275
3569
3570	* stor-layout.c (layout_decl): Zero-width bitfields aren't
3571	influenced by maximum_field_alignment or DECL_PACKED.
3572	(update_alignment_for_field): Ditto.
3573	(place_field): Ditto.
3574	* doc/extend.texi (<#pragma pack>, <Type Attributes>): Document
3575	this behaviour.
3576
35772006-02-14  Michael Matz  <matz@suse.de>
3578
3579	* tree-ssa-structalias.c: Include <params.h>.
3580	* Makefile.in (tree-ssa-structalias.o): Adjust dependencies.
3581
35822006-02-14  Daniel Berlin  <dberlin@dberlin.org>
3583
3584	Fix PR tree-optimization/26260
3585
3586	* doc/invoke.texi (max-fields-for-field-sensitive): Document
3587	param.
3588	* params.h (MAX_FIELDS_FOR_FIELD_SENSITIVE): New.
3589	* params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto.
3590	* tree-ssa-structalias.c (create_variable_info_for): Use
3591	MAX_FIELDS_FOR_FIELD_SENSITIVE.
3592	
35932006-02-14  J"orn Rennecke <joern.rennecke@st.com>
3594
3595	PR target/26141
3596	* sh.c (sh_gimplify_va_arg_expr): Don't change the result type when
3597	computing the effective result type.
3598
35992006-02-14  J"orn Rennecke <joern.rennecke@st.com>
3600
3601	PR inline-asm/16194
3602	* tree.h (decl_overlaps_hard_reg_set_p) Don't declare.
3603	(tree_overlaps_hard_reg_set): Declare.
3604	* stmt.c (decl_overlaps_hard_reg_set_p): Now static.  Change return
3605	type and signature to match function type expected by walk_tree.
3606	(tree_overlaps_hard_reg_set): New function.
3607	(decl_conflicts_with_clobbers_p): Rename to:
3608	(tree_conflicts_with_clobbers_p).  Take HARD_REG_SET * argument.
3609	Use tree_overlaps_hard_reg_set.  Changed caller.
3610	* doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace
3611	decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set.
3612	* cris.c (cris_md_asm_clobbers): Likewise.
3613
36142006-02-14  Richard Guenther  <rguenther@suse.de>
3615
3616	PR tree-optimization/26258
3617	* tree-ssa-structalias.c (find_func_aliases): Handle aggregates
3618	in PHI argument processing.
3619
36202006-02-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3621
3622	* pa/quadlib.c: Use defines instead of enum qfcmp_magic.
3623
36242006-02-13  Jakub Jelinek  <jakub@redhat.com>
3625
3626	PR middle-end/26092
3627	* gimplify.c (gimplify_call_expr): Don't call get_callee_fndecl
3628	twice if decl is a builtin.  When trying again, call get_callee_fndecl
3629	first to verify it is still a builtin.
3630
36312006-02-11  Jason Merrill  <jason@redhat.com>
3632
3633	PR tree-opt/24365
3634	* tree-inline.c (declare_return_variable): Just don't use the
3635	modify target if it's a gimple complex reg and the return slot
3636	isn't.
3637
36382006-02-11  David Edelsohn  <edelsohn@gnu.org>
3639
3640	* doc/invoke.texi (xl-compat): Document conversion and support
3641	routine names.
3642
36432006-02-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3644
3645	* doc/contrib.texi: Update my entry.
3646
36472006-02-11  Jakub Jelinek  <jakub@redhat.com>
3648
3649	PR target/25864
3650	Backport from mainline
3651
3652	2006-02-06  Aldy Hernandez  <aldyh@redhat.com>
3653
3654	* config/s390/s390.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
3655	(s390_mangle_fundamental_type): New.
3656	* config/s390/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
3657	Define.
3658
3659	* config/alpha/alpha.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
3660	(alpha_mangle_fundamental_type): New.
3661	* config/alpha/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
3662	Define.
3663
3664	* config/sparc/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
3665	Define.
3666	* config/sparc/linux64.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
3667	Define.
3668	* config/sparc/sparc.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
3669	(sparc_mangle_fundamental_type): New.
3670
36712006-02-10  Jakub Jelinek  <jakub@redhat.com>
3672
3673	PR target/25864
3674	Backport from mainline
3675
3676	2006-02-04  David Edelsohn  <edelsohn@gnu.org>
3677		    Jakub Jelinek  <jakub@redhat.com>
3678
3679	* config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle
3680	IBM extended float format long double as "g" on powerpc*-linux.
3681
3682	2006-02-01  Jakub Jelinek  <jakub@redhat.com>
3683
3684	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): For
3685	-msoft-float -mlong-double-128 only issue a warning, but don't
3686	swich to DFmode long double.
3687
3688	2006-01-28  David Edelsohn  <edelsohn@gnu.org>
3689
3690	* config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
3691	and -mlong-double-128 are incompatible.
3692	* config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
3693	* config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
3694	(TARGET_LIBGCC2_CFLAGS): Define.
3695	* config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same.
3696	(TARGET_LIBGCC2_CFLAGS): Same.
3697	* config/rs6000/ppc64-fp.c: Compile for 64-bit AIX.
3698
3699	2006-01-27  Jakub Jelinek  <jakub@redhat.com>
3700
3701	* libgcc-std.ver: Add GCC_4.1.0 symbol version.
3702	* config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Only append
3703	-mno-minimal-toc to previous content.
3704	(bispecs): Remove goal.
3705	* config/rs6000/ppc64-fp.c: Define TMODES before including fp-bit.h.
3706	* config/rs6000/darwin-ldouble.c: Don't provide _xlq*@GCC_3.4
3707	compatibility aliases on powerpc-*-*gnu*.
3708	* config/rs6000/libgcc-ppc-glibc.ver: New file.
3709	* config/rs6000/t-ppccomm (SHLIB_MAPFILES): Append
3710	libgcc-ppc-glibc.ver on powerpc*-*-*gnu*.
3711	(TARGET_LIBGCC2_CFLAGS): Append -specs=ldblspecs.
3712	(ldblspecs): New goal.
3713	* config/rs6000/t-linux64 (SHLIB_MAPFILES): Removed.
3714	* mklibgcc.in: If $TPBIT is empty, don't compile _sf_to_tf and
3715	_df_to_tf.
3716	* config/fp-bit.h (TMODES): Don't define if none of TFLOAT,
3717	L_sf_to_tf or L_df_to_tf is defined.
3718
3719	2006-01-27  David Edelsohn  <edelsohn@gnu.org>
3720		    Alan Modra  <amodra@bigpond.net.au>
3721
3722	* config/rs6000/linux.h (POWERPC_LINUX): Define.
3723	* config/rs6000/linux64.h (POWERPC_LINUX): Define.
3724	* config/rs6000/darwin-ldouble.c: Build on 32-bit PowerPC.
3725	* config/rs6000/darwin.h (TARGET_IEEEQUAD): Define to zero.
3726	* config/rs6000/aix.h (TARGET_IEEEQUAD): Define to zero.
3727	* config/rs6000/rs6000.c (rs6000_ieeequad): New variable.
3728	(rs6000_override_options): Initialize rs6000_ieeequad.
3729	Initialize TFmode format to ibm_extended_format if not
3730	TARGET_IEEEQUAD.
3731	(rs6000_handle_option): Accept -mabi= ibmlongdouble and
3732	ieeelongdouble.
3733	(rs6000_emit_move): Move !TARGET_IEEEQUAD as two parts.
3734	(rs6000_return_in_memory): Only return IEEEQUAD in memory.
3735	(function_arg_advance): IBM long double passed in two FPRs, not
3736	split.
3737	(function_arg): IBM long double passed in FPRs.
3738	(rs6000_pass_by_reference): Only IEEEQUAD passed by reference.
3739	(rs6000_gimplify_va_arg): IBM long double passed in two FPRs.
3740	Only multireg GPR aligned.
3741	(rs6000_init_libfuncs): Enable IBM long double functions if not
3742	IEEEQUAD.
3743	(rs6000_generate_compare): Use IBM long double compare if not
3744	TARGET_IEEEQUAD.
3745	* config/rs6000/rs6000.h (rs6000_ieeequad): Declare.
3746	(TARGET_IEEEQUAD): Define.
3747	(CANNOT_CHANGE_MODE_CLASS): Any mode larger than doubleword if
3748	not TARGET_IEEEQUAD.
3749	* config/rs6000/rs6000.md: Enable TFmode patterns if
3750	!TARGET_IEEEQUAD.
3751	* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
3752	* config/rs6000/svr4.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
3753	and -mlong-double-128 are incompatible.
3754	* doc/invoke.texi (-mabi): Collect options together.  Add
3755	ibmlongdouble and ieeelongdouble.
3756
37572006-02-08  Jason Merrill  <jason@redhat.com>
3758
3759	PR c++/25979
3760	* tree.def: Elaborate on difference from MODIFY_EXPR.
3761	* doc/c-tree.texi (INIT_EXPR): Likewise.
3762	* gimplify.c (internal_get_tmp_var): Use INIT_EXPR.
3763	(gimplify_decl_expr, gimplify_init_ctor_eval): Likewise.
3764	(gimplify_target_expr): Likewise.
3765	(gimplify_cond_expr): Remove target handling.
3766	(gimplify_modify_expr): Don't clobber INIT_EXPR code here.
3767	(gimplify_expr): Clobber it here.
3768	(gimplify_modify_expr_rhs): Push assignment into COND_EXPR here.
3769	Do return slot optimization if we have an INIT_EXPR.
3770
3771	PR tree-opt/24365
3772	* tree-inline.c (declare_return_variable): Also clear 
3773	DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case.
3774
3775	PR c++/16405
3776	* gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling.
3777
3778	PR middle-end/22439
3779	* gimplify.c (gimplify_one_sizepos): Fix typo.
3780
37812006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
3782
3783	PR tree-opt/25251
3784	* tree-cfg.c (cleanup_dead_labels): Also don't remove
3785	forced labels.
3786
37872006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
3788
3789	* tree-flow-inline.h (var_can_have_subvars): 
3790	Volatile variables should not have subvariables.
3791
37922006-02-09  Diego Novillo  <dnovillo@redhat.com>
3793
3794	PR 26180
3795	* tree-vrp.c (vrp_int_const_binop): Detect overflow when
3796	multiplying unsigned values.
3797	Tidy comments.
3798
37992006-02-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
3800
3801	* config/sparc/sparc.c (tls_call_delay): Fix oversight.
3802
38032006-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3804
3805	PR target/26109
3806	* pa.c (attr_length_indirect_call): Don't return length 8 for distances
3807	>= 240000 when generating code for SOM runtime.
3808	(output_indirect_call): Don't use "b,l" instruction for indirect calls
3809	to $$dyncall when generating code for SOM runtime..
3810
38112006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
3812
3813	* config/sol26.h (CPP_SUBTARGET_SPEC): Accept -pthread.
3814	* config/sol2.h (CPP_SUBTARGET_SPEC): Likewise.
3815	(LIB_SPEC): Likewise.
3816	* doc/invoke.texi (SPARC options): Document -pthread.
3817
38182006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
3819
3820	* configure.ac (TLS assembler check): Do not enable TLS by
3821	default on SPARC/Solaris before version 10.
3822	* configure: Regenerate.
3823
38242006-02-07  Alexandre Oliva  <aoliva@redhat.com>
3825
3826	PR debug/24444
3827	* config/ia64/unwind-ia64.c: Revert last change.
3828	* config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Removed.
3829	(INCOMING_FRAME_SP_OFFSET): Define.
3830
38312006-02-06  Andreas Tobler  <a.tobler@schweiz.ch>
3832
3833	* config/sparc/freebsd.h (ENDFILE_SPEC): Add space to separate
3834	object files.
3835
38362006-02-06  Andrew Pinski  <pinskia@physics.uc.edu>
3837
3838	PR target/23359
3839	* config/i386/i386.md (trap): Use ASM_SHORT instead of .word.
3840
38412006-02-06  Jakub Jelinek  <jakub@redhat.com>
3842
3843	* config.gcc (s390-*-linux*): Add s390/t-linux to tmake_file.
3844	(s390x-*-linux*): Likewise.
3845	* config/s390/t-linux64 (SHLIB_MAPFILES): Removed.
3846	* config/s390/t-linux: New file.
3847
38482006-02-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
3849
3850	* config/sparc/sol2-bi.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDMID.
3851
38522006-02-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3853
3854	* pa/x-ada-hpux10, pa/t-pa-hpux10, pa/t-pa-hpux11: New files.
3855	* config.gcc (hppa[12]*-*-hpux10*): Use pa/t-pa-hpux10 instead of
3856	pa/t-pa.
3857	* config.gcc (hppa[12]*-*-hpux11*): Use pa/t-pa-hpux11 instead of
3858	pa/t-pa.
3859	* config.host (hppa*-*-hpux10*): Use pa/x-ada-hpux10 instead of
3860	pa/x-ada.
3861	* pa/t-pa-hpux: Add lib2funcs.asm and quadlib.c rules.
3862	* pa/t-pa64: Delete quadlib.c rule.
3863	* pa/x-ada: Revert last change.
3864	* pa/t-pa: Revert last change.  Delete quadlib.c rule.
3865
38662006-02-04  Alexandre Oliva  <aoliva@redhat.com>
3867
3868	PR debug/24444
3869	* config/ia64/ia64.c: Include debug.h.
3870	(MAX_ARTIFICIAL_LABEL_BYTES): New.
3871	(ia64_label_after_insn, ia64_dwarf2out_def_steady_cfa): New.
3872	(IA64_CHANGE_CFA_IN_EPILOGUE): Define to 0.
3873	(process_epilogue, process_set, process_for_unwind_directive):
3874	Output unwind info only if requested.  Add CFA info if requested.
3875	Add new arguments as needed.  Adjust callers.
3876	* config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Override
3877	incorrect default.
3878	(DWARF2_FRAME_INFO): Define to zero.
3879	* config/ia64/unwind-ia64.c: Remove code that compensated for
3880	the CFA offset error fixed above.
3881	* config/ia64/t-ia64 (ia64.o): Depend on debug.h.
3882	* dwarf2out.c (DWARF2_FRAME_INFO): Define default.
3883	(dwarf2out_do_frame): Require nonzero DWARF2_UNWIND_INFO for
3884	-funwind-tables and -fexceptions to enable frame info.
3885	(dwarf2out_frame_init): Define initial CFA even if
3886	DWARF2_UNWIND_INFO is disabled.  Call initial_return_save if
3887	DWARF2_UNWIND_INFO is nonzero, not just defined.
3888	(dwarf2out_frame_finish): Output non-EH call frame info only
3889	if DWARF2_FRAME_INFO is nonzero.
3890	(convert_cfa_to_loc_list,
3891	compute_frame_pointer_to_cfa_displacement): Define even if
3892	unwind info is not supported.
3893	(gen_subprogram_die): Use the above unconditionally.  Remove
3894	legacy alternate code.
3895	* toplev.c (compile_file): Compile in call to
3896	dwarf2out_frame_finish if DWARF2_DEBUGGING_INFO is defined.
3897	(lang_dependent_init): Ditto for dwarf2out_frame_init.
3898
38992006-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3900
3901	PR target/25926
3902	* pa/x-ada (X_ADA_CFLAGS): Define _X_HPUX10 on HP-UX 10.
3903	* pa/t-pa (TARGET_LIBGCC2_CFLAGS): Define _T_HPUX10 on HP-UX 10.
3904
39052006-02-03  Richard Henderson  <rth@redhat.com>
3906
3907	PR target/26090
3908	* config/ia64/sysv4.h (TARGET_ASM_SELECT_RTX_SECTION,
3909	TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION,
3910	TARGET_ASM_SELECT_RTX_SECTION, TARGET_RWRELOC): Copy from
3911	the hpux definition.
3912
39132006-02-03  Jason Merrill  <jason@redhat.com>
3914
3915	PR c++/25979
3916	* gimplify.c (gimplify_modify_expr_rhs): Disable *& optimization for now.
3917
3918	PR middle-end/25977
3919	* gimplify.c (gimplify_modify_expr_rhs): It's not always safe to do RVO
3920	on the return slot if it's an NRV.
3921
39222006-01-31  Andrew Pinski  <pinskia@physics.uc.edu>
3923
3924	PR middle-end/26001
3925	* expr.c (expand_expr_real_1) <case ARRAY_REF>:
3926	Use the corrected index for the character
3927	out of the string constant.
3928
39292006-02-03  Steve Ellcey  <sje@cup.hp.com>
3930
3931	PR middle-end/24901
3932	* fold-const.c (fold_checksum_tree): Change type of buf.
3933
39342006-02-03  Alan Modra  <amodra@bigpond.net.au>
3935
3936	PR target/25960
3937	* config/rs6000/darwin-ldouble.c (__gcc_qadd): Preserve -0.0 result.
3938
39392006-02-03  Andreas Krebbel  <krebbel1@de.ibm.com>
3940	    Ulrich Weigand  <uweigand@de.ibm.com>
3941
3942	PR target/25864
3943	* config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf",
3944	"x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations.
3945	* config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions.
3946	* config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr 
3947	and dxr fields.
3948	(z900_cost, z990_cost, z9_109_cost): Values for the new fields added.
3949	(s390_rtx_costs): Use the new fields to calculate rtx costs.
3950	(s390_secondary_input_reload_class, s390_secondary_output_reload_class):
3951	Define secondary reloads for TFmode moves.
3952	(constant_modes): Add TFmode.
3953	(NR_C_MODES): Set to 8.
3954	* config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Add __LONG_DOUBLE_128__
3955	builtin define.
3956	(LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64.
3957	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define.
3958	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS, 
3959	CANNOT_CHANGE_MODE_CLASS): Consider TFmode.
3960	* config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf, 
3961	fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values.
3962	(FPR mode macro): Add TFmode.
3963	(DSF mode macro): New.
3964	(<de>, <dee> mode attributes): Removed.
3965	(<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New.
3966	("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs", 
3967	"*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee", 
3968	"floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3", 
3969	"*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm", 
3970	"*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly", 
3971	"*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>",
3972	"*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc", 
3973	"*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm", 
3974	"*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2",
3975	"*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly", 
3976	"*negabs<mode>2", "sqrt<mode>2"):
3977	Changed <de> to <xde>. R constraint replaced by <Rf>.
3978	("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by 
3979	<Rf>.
3980	("fix_trunc<FPR:mode>di2"): 'FPR:' removed.
3981	("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF.
3982	("*movtf_64", "*movtf_31"): New insn definitions followed by 5 
3983	splitters.
3984	("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2", 
3985	"extenddftf2", "extendsftf2"): New expanders.
3986	("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee", 
3987	"*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm",
3988	"*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns.
3989	* config/s390/s390.opt (mlong-double-128, mlong-double-64):
3990	New options.
3991	* config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined.
3992	* config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2, 
3993	__fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi,
3994	__floatditf): Add a GCC_4.1.0 symbol version tag.
3995	* doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document
3996	the new options.
3997
39982006-01-31  Jakub Jelinek  <jakub@redhat.com>
3999
4000	* config/s390/s390.c (init_alignment_context): Set
4001	ALIAS_SET_MEMORY_BARRIER on the MEM.
4002
40032006-01-31  Carlos O'Donell  <carlos@codesourcery.com>
4004
4005	* optabs.c (prepare_cmp_insn): If unbiased and unsigned then bias
4006	the comparison routine return.
4007
40082006-01-31  Nathan Sidwell  <nathan@codesourcery.com>
4009
4010	* config/m68k/lb1sf68.asm: Use moveq to load small constants.
4011
40122006-01-31  Richard Guenther  <rguenther@suse.de>
4013
4014	Backport
4015	2006-01-03  Adrian Straetling  <straetling@de.ibm.com>
4016
4017	* builtins.c (get_builtin_sync_mem): New function.
4018	(expand_builtin_sync_operation, expand_builtin_compare_and_swap,
4019	expand_builtin_lock_test_and_set, expand_builtin_lock_release):
4020	Call get_builtin_sync_mem to generate mem rtx.
4021
4022	2006-01-25  Richard Henderson <rth@redhat.com>
4023
4024	* alias.h (ALIAS_SET_MEMORY_BARRIER): New.
4025	* alias.c (true_dependence): Respect it.
4026	(canon_true_dependence, write_dependence_p): Likewise.
4027	* builtins.c (get_builtin_sync_mem): Set it.
4028
40292006-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
4030
4031	PR target/26018
4032	* config/s390/s390.c (struct machine_function): New flag
4033	decomposed_literal_pool_addresses_ok_p.
4034	(s390_reorg): Set it before final stage of literal pool transforms.
4035	(s390_decompose_address): Only accept displacements of the form
4036	(minus (label_ref ...) (label_ref ...)) if that flag is set.
4037
40382006-01-30  J"orn Rennecke <joern.rennecke@st.com>
4039
4040	Merged from mainline r107469:
4041	* caller-save.c: (this_insn_sets): Move into:
4042	(save_call_clobbered_regs).
4043	(mark_set_regs): Get this_insn_sets from data.
4044
4045	(save_call_clobbered_regs): Take sets of the return value by
4046	sibcalls into account.
4047
40482006-01-30  J"orn Rennecke <joern.rennecke@st.com>
4049
4050	PR target/14798:
4051	* sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable.
4052	(pragma_trap, pragma_nosave_low_regs): Likewise.
4053	(current_function_anonymous_args): Likewise.
4054	(sh_deferred_function_attributes): New variable.
4055	(sh_deferred_function_attributes_tail): Likewise.
4056	(print_operand): For '@', look up trap_exit attribute.
4057	(calc_live_regs): Look up trapa_handler attribute.  For trapa
4058	handlers, save/restore fpscr, but don't do any other
4059	interrupt-specific saves.
4060	Don't save r0..r7 if the nosave_low_regs attribute is in effect.
4061	Fix check for partially saved registers to check for SHmedia.
4062	(sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute.
4063	(sh_output_function_epilogue): Don't clear any of the removed
4064	variables.
4065	(sh_insert_attributes): Don't check pragma_interrupt.
4066	Insert deferred attributes.  Check that interrupt attribute is
4067	present for other attributes that require its presence.
4068	(sh_attribute_table): Add new attributes trapa_handler and
4069	nosave_low_regs.
4070	(sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
4071	Don't check for pragma_interrupt.  Don't store argument.
4072	* sh.h (pragma_interrupt, sp_switch): Don't declare.
4073	(sh_deferred_function_attributes): Declare.
4074	(sh_deferred_function_attributes_tail): Likewise.
4075	* sh.md (sp_switch_1): Add operand.  Change generator caller.
4076	(sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove.
4077	(*return_i): Don't use when trap_exit attribute is in effect.
4078	(*return_trapa): New insn pattern.
4079	* sh-c.c: New file.
4080	* config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza,
4081	setting c_target_objs and cxx_target_objs.
4082	* t-sh: Add rule for sh-c.o.
4083
4084	* config/sh/sh.c (sh_cfun_trap_exit_p): New function.
4085	* sh-protos.h (sh_cfun_trap_exit_p): Declare.
4086
40872006-01-29  Eric Botcazou  <ebotcazou@adacore.com>
4088
4089	Revert
4090
4091	2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
4092	* tree.c (build_qualified_type): Chain the new type to the original
4093	type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
4094	a POINTER_TYPE or a REFERENCE_TYPE respectively.
4095	(build_pointer_type_for_mode): Only return unqualified types.
4096	(build_reference_type_for_mode): Likewise.
4097
40982006-01-28  Hans-Peter Nilsson  <hp@axis.com>
4099
4100	PR target/25706
4101	* config/cris/cris.md ("*extopqihi_side", "*extop<mode>si_side")
4102	("*extop<mode>si_swap_side_biap", "*extop<mode>si_swap_side",
4103	("*extopqihi", "*extop<mode>si", "*extop<mode>si_swap"): Use %E
4104	output pattern modifier, not %e.
4105	* config/cris/cris.c (cris_op_str): Update comment about pattern
4106	modifier.
4107	(cris_print_operand) <case 'e'>: Clear cris_output_insn_is_bound
4108	before falling through into...
4109	<case 'E'>: Redefined from old 'e' case.
4110
4111	PR target/25718
4112	* config/cris/cris.md ("uminsi3"): Don't use 8- or 16-bit sizes
4113	for a negative bound.
4114
4115	PR target/25947
4116	* config/cris/cris.c (cris_order_for_addsi3): New function.
4117	* config/cris/cris-protos.h: Prototype it.
4118	* config/cris/cris.md (split for "move.S1 [rx=rx+i],ry")
4119	(split for "move.S1 ry,[rx=rx+i]", split for "clear.[bwd] [rx=rx+i]")
4120	(split for "mov(s|u).S1 [rx=rx+i],ry", split for "op.S1 [rx=rx+i],ry")
4121	(split for "op.S1 [rx=rx+i],ry (swapped)")
4122	(split for "op(s|u).S1 [rx=rx+i],ry")
4123	(split for "op(s|u).S1 [rx=rx+i],ry (swapped, plus or bound)"):
4124	Apply cris_order_for_addsi3 when generating addsi3 insns.
4125
41262006-01-26 Alexandre Oliva  <aoliva@redhat.com>
4127
4128	PR other/24829
4129	PR target/24831
4130	* gthr-dce.h: Do not gthrw-ify pthread_once_init,
4131	pthread_key_delete.  From John David Anglin.  gthrw-ify
4132	pthread_getunique_np only if it it's not a macro.  Delete
4133	UNUSED macro.
4134	(__gthread_objc_condition_allocate, __gthread_objc_condition_deallocate,
4135	__gthread_objc_condition_wait, __gthread_objc_condition_broadcast,
4136	__gthread_objc_condition_signal, __gthread_key_delete): Add
4137	"__attribute__ ((__unused__))" to unused arguments.
4138	(__gthread_recursive_mutex_init_function): Add missing return.
4139	* gthr-dce.h, gthr-tpf.h, gthr-solaris.h, gthr-posix.h,
4140	gthr-posix95.h: Use macro-based approach for name redirection
4141	on targets missing weakref.
4142
41432006-01-26  Alexandre Oliva  <aoliva@redhat.com>
4144
4145	PR c/25892
4146	* c.opt (Wpointer-sign): Init to -1.
4147	* c-opts.c (c_common_handle_option): Set to 1 on OPT_Wall and
4148	OPT_pedantic, to 0 otherwise.
4149	* doc/invoke.texi: Update.
4150
41512006-01-24  David Daney  <ddaney@avtrex.com>
4152
4153	PR java/25816
4154	* configure.ac (enable_tls): New enable option.
4155	(HAVE_AS_TLS): Don't do assembler check if enable_tls set.
4156	* configure: Regenerate.
4157	* doc/install.texi (--enable-tls): Document new option.
4158	(--disable-tls): Ditto.
4159
41602006-01-23  Richard Guenther  <rguenther@suse.de>
4161	Steven Bosscher <stevenb.gcc@gmail.com>
4162
4163	PR rtl-optimization/24626
4164	* cfgloopmanip.c (lv_adjust_loop_entry_edge): Don't set
4165	EDGE_TRUE_VALUE if in RTL mode.
4166
4167	Revert
4168	2005-03-30 Mostafa Hagog <mustafa@il.ibm.com>
4169	* cfgrtl.c (rtl_verify_flow_info_1): Fix.
4170
41712006-01-23  Steven Bosscher  <stevenb.gcc@gmail.com>
4172	Jan Hubicka  <jh@suse.cz>
4173	Richard Guenther  <rguenther@suse.de>
4174
4175	PR rtl-optimization/25654
4176	* cfgexpand.c (aggregate_contains_union_type): New function.
4177	(add_alias_set_conflicts): Call it.  Make sure to add conflicts
4178	for structure variables that contain a union type.
4179
41802006-01-21  Joseph S. Myers  <joseph@codesourcery.com>
4181
4182	* gcc.c (process_command), gcov.c (print_version), gcov-dump.c
4183	(print_version), mips-tdump.c (main), mips-tfile.c (main): Update
4184	copyright notice dates.
4185
41862006-01-19  Paul Brook  <paul@codesourcery.com>
4187
4188	* config/arm/arm.c (arm_compute_func_type): Treat all functions
4189	as nothrow when unwinding tables are disabled.
4190
41912006-01-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4192
4193	PR testsuite/25171
4194	* c-decl.c (check_bitfield_type_and_width): Don't issue pedwarn "type
4195	of bit-field" when in system header.
4196
41972006-01-19  Richard Sandiford  <richard@codesourcery.com>
4198
4199	PR c/25805
4200	* c-decl.c (add_flexible_array_elts_to_size): New function.
4201	(finish_decl): Use it.
4202
42032006-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4204
4205	PR target/25731
4206	* config.gcc (hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*,
4207	hppa[12]*-*-hpux11*): Override default shared libgcc version for both
4208	sjlj and dwarf2 exception handling.
4209	* pa/t-hpux-shlib (SHLIB_SOVERSION): New make variable.
4210	Rework to allow overriding SHLIB_EXT and SHLIB_SOVERSION.
4211	* pa/pa.c (function_value): Treat complex and vector types as
4212	aggregates.
4213	(function_arg): Likewise.  Only pass scalar floats in the floating
4214	point argument registers.
4215	* pa/t-slibgcc-dwarf-ver: New file.
4216	* pa/t-slibgcc-sjlj-ver: New file.
4217	* pa/t-slibgcc-elf-ver: Delete file.
4218
42192006-01-17  Jakub Jelinek  <jakub@redhat.com>
4220
4221	PR c/25682
4222	* c-typeck.c (build_unary_op): Fold offsetof-like expressions
4223	even when the pointer is not NULL.
4224
42252006-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4226
4227	* pa.md: Disparage copies between general and floating-point registers
4228	in 32-bit move patterns.
4229
42302006-01-16  Steven Bosscher  <stevenb.gcc@gmail.com>
4231	Richard Guenther  <rguenther@suse.de>
4232
4233	PR rtl-optimization/24257
4234	* gcse.c (find_moveable_store): Only consider a store movable
4235	when the SET_SRC of the insn can be assigned to a register.
4236
42372006-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4238
4239	PR target/25168
4240	* tree.c (get_file_function_name_long): Concatenate the first global
4241	object name with a string derived from the input filename of the object
4242	for type "F".
4243
42442006-01-13  Andrew Pinski  <pinskia@physics.uc.edu>
4245
4246	PR tree-opt/24365
4247	* tree-inline.c (declare_return_variable): If the return variable
4248	was marked as a non gimple complex, set the return slot variable
4249	to be a non gimple comple variable.
4250
42512006-01-11  Paolo Bonzini  <bonzini@gnu.org>
4252
4253	PR tree-optimization/23109
4254	PR tree-optimization/23948
4255	PR tree-optimization/24123
4256
4257	* Makefile.in (tree-ssa-math-opts.o): Adjust dependencies.
4258	* tree-cfg.c (single_noncomplex_succ): New.
4259	* tree-flow.h (single_noncomplex_succ): Declare it.
4260	* tree-ssa-math-opts.c (enum place_reciprocal): Remove.
4261	* tree-ssa-math-opts.c (enum place_reciprocal): Remove.
4262	(struct occurrence, occ_head, occ_pool, is_divide_by, compute_merit,
4263	insert_bb, register_division_in, insert_reciprocals,
4264	replace_reciprocal, free_bb): New.
4265	(execute_cse_reciprocals_1): Rewritten.
4266	(execute_cse_reciprocals): Adjust calls to execute_cse_reciprocals_1.
4267	Do not commit any edge insertion.  Always compute dominators and
4268	create the allocation pool.
4269	* target-def.h (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): New.
4270	* target.h (struct gcc_target): Add min_divistions_for_recip_mul.
4271	* targhooks.c (default_min_divistions_for_recip_mul): New.
4272	* targhooks.h (default_min_divistions_for_recip_mul): New prototype.
4273	* passes.c (init_optimization_passes): Run recip after tree loop
4274	optimizations.
4275	* doc/tm.texi (Misc): Document TARGET_MIN_DIVISIONS_FOR_RECIP_MUL.
4276
42772006-01-11  Jan Hubicka  <jh@suse.cz>
4278
4279	PR target/25042
4280	* i386.c (ix86_init_mmx_sse_builtins): Do not delcare float128
4281
42822006-01-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4283
4284	PR target/20754
4285	* config/pa/pa.md: Create separate 32 and 64-bit move patterns
4286	for SI, DI, SF and DF modes.  Add alternatives to copy between
4287	general and floating point registers to the 32-bit patterns.
4288	* config/pa/pa-64.h (SECONDARY_MEMORY_NEEDED_RTX): Delete undefine.
4289	* config/pa/pa.h (SECONDARY_MEMORY_NEEDED_RTX): Delete define.
4290	(SECONDARY_MEMORY_NEEDED): Secondary memory is only needed when
4291	generating 64-bit code.
4292	* config/pa/pa.c (output_move_double): Handle copies between general
4293	and floating registers.
4294
42952006-01-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
4296
4297	PR rtl-optimization/25367
4298	* config/sparc/sparc.h (HARD_REGNO_RENAME_OK): New macro.
4299
43002006-01-10  Jan Beulich  <jbeulich@novell.com>
4301
4302	* config/i386/netware.h (TARGET_SUBTARGET_DEFAULT): Include
4303	MASK_ALIGN_DOUBLE.
4304	* config/i386/nwld.h (LINK_SPEC): Add --extensions:GNU option.
4305	* config/i386/t-nwld (SHLIB_LINK): Insert spaces between expr
4306	arguments.
4307
43082006-01-09  Kazu Hirata  <kazu@codesourcery.com>
4309
4310	PR tree-optimization/25125
4311	* convert.c (convert_to_integer): Don't narrow the type of a
4312	PLUX_EXPR or MINUS_EXPR if !flag_wrapv and the unwidened type
4313	is signed.
4314
43152006-01-08  Ian Lance Taylor  <ian@airs.com>
4316	    David Edelsohn  <edelsohn@gnu.org>
4317
4318	PR rtl-optimization/25662
4319	* optabs.c (simplify_expand_binop): Use simplify_binary_operation
4320	for constant operands instead of simplify_gen_binary.
4321
43222006-01-04  Jakub Jelinek  <jakub@redhat.com>
4323
4324	* config/i386/pmm_malloc.h (posix_memalign): If __cplusplus,
4325	make the prototype extern "C" and add throw ().
4326
4327	PR target/25554
4328	* config/i386/i386.md (testqi_ext_3): Ensure len is positive
4329	and pos non-negative and pos + len <= 32.
4330	(testqi_ext_3_rex64): Ensure len is positive and pos non-negative,
4331	drop pos + len < HOST_BITS_PER_WIDE_INT test.
4332	(testqi_ext_3* splitter): Handle pos + len == HOST_BITS_PER_WIDE_INT.
4333
4334	PR c/25559
4335	* c-common.c (handle_vector_size_attribute): Reject zero vector size
4336	as well as sizes not multiple of component size.
4337
4338	PR debug/25562
4339	* function.c (instantiate_expr): New function.
4340	(instantiate_decls_1, instantiate_decls): If DECL_HAS_VALUE_EXPR_P,
4341	walk its DECL_VALUE_EXPR with instantiate_expr.
4342
4343	* dwarf2out.c (loc_descriptor_from_tree_1): Don't add
4344	DW_OP_deref{,_size} if address isn't going to be added.
4345
43462006-01-03  Steven Bosscher  <stevenb.gcc@gmail.com>
4347
4348	* fold-const.c (operand_equal_p): Accept a NULL operand 0 for
4349	COMPONENT_REFs.
4350	* emit-rtl.c (mem_attrs_htab_eq): Use iterative_hash_expr for
4351	hashing trees instead of a pointer hash.
4352	(mem_attrs_htab_eq): Do a deep compare instead of a pointer
4353	compare for MEM_EXPR.
4354
4355	PR rtl-optimization/25130
4356	* cse.c (exp_equiv_p): Compare MEM_ATTRS instead of MEM_ALIAS_SET
4357	when comparing MEMs for GCSE
4358
43592006-01-03  Richard Guenther  <rguenther@suse.de>
4360
4361	PR c/25183
4362	* stmt.c (add_case_node): Make sure to clear overflow flags
4363	from ranges.
4364
43652005-12-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4366
4367	PR fortran/25586
4368	* pa.md: Remove REG_POINTER check from REG+REG peephole2 floating-point
4369	store patterns.
4370
43712005-12-29  Daniel Jacobowitz  <dan@codesourcery.com>
4372	Paul Brook  <paul@codesourcery.com>
4373
4374	* config/m68k/m68k.c (m68k_output_pic_call): Don't use bsr.l for
4375	!TARGET_68020.
4376	* config/m68k/t-m68kelf (EXTRA_PARTS): Remove.
4377	(EXTRA_MULTILIB_PARTS): Set.
4378	* config/m68k/t-uclinux (EXTRA_PARTS): Remove.
4379	(EXTRA_MULTILIB_PARTS): Set.
4380
43812005-12-29  Hans-Peter Nilsson  <hp@axis.com>
4382
4383	PR target/24342
4384	* config/cris/cris.c (cris_split_movdx): Add REG_INC notes for
4385	emitted insns with post-increments.
4386	(cris_expand_epilogue): Ditto.
4387
43882005-12-29  Alan Modra  <amodra@bigpond.net.au>
4389
4390	PR target/25572
4391	* config/rs6000/rs6000.c (create_TOC_reference): Set regs_ever_live.
4392
43932005-12-26  Mark Mitchell  <mark@codesourcery.com>
4394
4395	PR c++/23171, c++/23172, c++/25417.
4396	* c-decl.c (compound_literal_number): Remove.
4397	(build_compound_literal): Use set_compound_literal_name.
4398	* c-common.c (compound_literal_number): New variable.
4399	(set_compound_literal_name): New function.
4400	* c-common.h (set_compound_literal_name): Declare.
4401	
44022005-12-24  Mark Mitchell  <mark@codesourcery.com>
4403
4404	PR c++/23171
4405	* varasm.c (initializer_constant_valid_p): An ADDR_EXPR of a
4406	CONSTRUCTOR is invalid.
4407
44082005-12-23  Ulrich Weigand  <uweigand@de.ibm.com>
4409
4410	PR rtl-optimization/21041
4411	* reload.c (find_reloads_subreg_address): Replace paradoxical
4412	subreg of MEM by widened access only if the resulting memory
4413	is properly aligned, even on !STRICT_ALIGNMENT targets.
4414
44152005-12-23  Jakub Jelinek  <jakub@redhat.com>
4416
4417	PR target/25005
4418	* regrename.c (replace_oldest_value_reg): Use validate_change with
4419	IN_GROUP set to 1 instead of doing direct modifications.
4420	(copyprop_hardreg_forward_1): Likewise.  If any replace_oldest_*
4421	replacements have been performed on an instruction, use
4422	apply_change_group ().
4423
44242005-12-23  Alan Modra  <amodra@bigpond.net.au>
4425
4426	PR rtl-optimization/25432
4427	* reload1.c (eliminate_regs_in_insn): Update insn code on
4428	successfully re-recognizing modified insn.
4429
44302005-12-22  Andrew Pinski <pinskia@physics.uc.edu>
4431
4432	PR tree-opt/25513
4433	* tree-dfa.c (make_rename_temp): Set DECL_COMPLEX_GIMPLE_REG_P complex
4434	variables.
4435
44362005-12-21  Andrew Pinski  <pinskia@physics.uc.edu>
4437
4438	PR debug/25518
4439	* dwarf2out.c (dwarf2out_switch_text_section): Declare when
4440	DWARF2_UNWIND_INFO is defined or when DWARF2_DEBUGGING_INFO is
4441	defined.
4442
44432005-12-20  Zdenek Dvorak  <dvorakz@suse.cz>
4444
4445	PR tree-optimization/24793
4446	* tree-ssa-loop-ivopts.c (get_ref_tag): Remember the
4447	original reference if there are subvars.
4448	* tree-ssa-operands.c (get_tmr_operands): Handle subvars.
4449
44502005-12-21  Steven Bosscher  <stevenb@suse.de>
4451
4452	PR rtl-optimization/25196
4453	* postreload-gcse.c (record_last_set_info): Notice stack pointer
4454	changes in push insns without REG_INC notes.
4455
44562005-12-21  Andrew Haley  <aph@redhat.com>
4457
4458	PR middle-end/25121
4459	* recog.c (peephole2_optimize): Don't peephole any
4460	RTX_FRAME_RELATED_P insns.
4461
44622005-12-20  Richard Guenther  <rguenther@suse.de>
4463
4464	PR middle-end/24306
4465	* builtins.c (std_gimplify_va_arg_expr): Do not align
4466	va frame for zero sized types.
4467	* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
4468
44692005-12-19  Andrew Pinski  <pinskia@physics.uc.edu>
4470
4471	PR middle-end/22313
4472	* dwarf2out.c (dwarf2out_switch_text_section): Export.
4473	* debug.h (dwarf2out_switch_text_section): Prototype.
4474	* final.c (final_scan_insn): Call dwarf2out_switch_text_section
4475	if we need to call it for dwarf2 unwind info.
4476
44772005-12-20  Kaz Kojima  <kkojima@gcc.gnu.org>
4478
4479	PR rtl-optimization/24982
4480	* reload.c (refers_to_regno_for_reload_p): Take
4481	reg_equiv_invariant and reg_equiv_init into account.
4482	* reload.h (reg_equiv_invariant): Declare.
4483
44842005-12-19  Paolo Bonzini  <bonzini@gnu.org>
4485
4486	PR target/25180
4487	* config/rs6000/predicates.md (logical_const_operand): Split
4488	out of logical_operand.
4489	(logical_operand): Use it.
4490	* config/rs6000/rs6000.md (cmp -> xor peephole2): Use
4491	logical_const_operand.
4492
44932005-12-19  Nathan Sidwell  <nathan@codesourcery.com>
4494
4495	* config/mt/mt.md (decrement_and_branch_until_zero): Add another
4496	scratch.  Correct its reload split. Adjust its peephole.
4497	(nop): Use 'nop'.
4498	* config/mt/mt.c (MT_INT_ARG_FIRST): Remove.
4499	(mt_asm_output_opcode, mt_print_operand): Use 'nop'.
4500	(mt_function_arg_slotno): Use FIRST_ARG_REGNUM.
4501	(mt_builtin_saveregs): Replace with ...
4502	(mt_setup_incoming_varargs): ... here.  Save just the varadic
4503	args.
4504	(mt_va_start): Remove.
4505	(mt_reorg_hazard): Ignore USE insns.  Don't call set_noop_p.
4506	(mt_machine_reorg): Split all insns here.
4507	(TARGET_SETUP_INCOMING_VARARGS): Override.
4508	* config/mt/mt.h (TARGET_CPU_CPP_BUILTINS): Define __mt__ only.
4509	Set to CPU type.
4510	(EXPAND_BUILTIN_VA_START): Remove.
4511
45122005-12-18  Andreas Krebbel  <krebbel1@de.ibm.com>
4513
4514	* tree-cfg.c (tree_flow_call_edges_add): Check for empty basic blocks.
4515
45162005-12-18  Jan Hubicka  <jh@suse.cz>
4517
4518	PR rtl-optimization/25224
4519	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free copy
4520	tables.
4521
45222005-12-18  Dorit Nuzman  <dorit@il.ibm.com>
4523
4524	PR tree-optimization/24378
4525	* tree-vect-transform.c (vect_transform_loop): Create single-predecessor
4526	basic-block after loop-versioning.
4527
45282005-12-17  Steven Bosscher  <stevenb@suse.de>
4529
4530	PR rtl-optimization/23837
4531	* optabs.c (expand_binop): For a multi-word rotate, never emit
4532	a REG_NO_CONFLICT block.
4533
45342005-12-16  Nathan Sidwell  <nathan@codesourcery.com>
4535
4536	Second part of MS1->MT renaming
4537	* config/mt/mt.md (doloop_end): Call mt_add_loop.
4538	(movqi, movhi): Call mt_set_memflags.
4539	(*movdf_internal): Call mt_split_words. 
4540	(reload_inqi, reload_outqi, reload_inhi, reload_outhi): Call
4541	mt_set_memflags.
4542	(cmpsi): Store to mt_compare_op[01].
4543	(beq, bne, bge, bgt, ble, blt, bgeu, bgtu, bleu, bltu, bunge,
4544	bungt, bunle, bunlt): Call mt_emit_cbranch.
4545	(prologue): Call mt_expand_prologue.
4546	(epilogu): Call mt_expend_epilogue.
4547	(eh_return): Call mt_expand_eh_return.
4548	(eh_epilogue): Call me_emit_eh_epilogue.
4549	(conditional_trap): Store to mt_compare_op[01].
4550	* config/mt/crti.asm: Adjust comment.
4551	* config/mt/crtn.asm: Adjust comment.
4552	* config/mt/mt.c (MT_INT_ARG_FIRST): Renamed.
4553	(mt_compare_op0, mt_compare_op1): Renamed.
4554	(current_frame_info, zero_frame_info): Adjust type.
4555	(mt_ucmpsi3_libcall): Renamed.
4556	(mt_flag_delayed_branch): Renamed.
4557	(mt_struct_value_rtx, mt_return_addr_rtx): Renamed.
4558	(mt_nops_required, mt_nop_reasons): Renamed.
4559	(mt_asm_output_opcode, mt_get_attr_type, mt_final_prescan_insn,
4560	mt_debug_stack, mt_print_operand_simple_address,
4561	mt_print_operand_address, mt_print_operand): Renamed, adjusted.
4562	(mt_init_cumulative_args, mt_function_arg_slotno, mt_function_arg,
4563	mt_function_arg_advance, mt_arg_partial_bytes,
4564	mt_pass_by_reference, mt_function_arg_boundary,
4565	mt_reg_ok_for_base_p, mt_legitimate_simple_address_p,
4566	mt_legitimate_address_p): Renamed, adjusted.
4567	(mt_cpu): Renamed.
4568	(mt_init_machine_status, mt_override_options, mt_builtin_saveregs,
4569	mt_va_start, mt_compute_frame_size, mt_emit_save_restore,
4570	mt_emit_save_fp, mt_emit_save_regs, mt_interrupt_function_p, 
4571	mt_expand_prologue, mt_epilogue_uses, mt_expand_epilogue,
4572	mt_expand_eh_return, mt_emit_eh_prologue,
4573	mt_handl_interrupt_attribute): Renamed, adjusted.
4574	(mt_attribute_table): Renamed, adjusted.
4575	(mt_initial_elimination_offset, mt_generate_compare,
4576	mt_emit_cbranch, mt_set_memflags_1, mt_set_memflags,
4577	mt_secondary_reload_class, mt_function_value, mt_split_words,
4578	mt_pass_in_stack, mt_add_loop, mt_loop_nesting, mt_block_length,
4579	mt_scan_loop, mt_reorg_loops): Renamed, adjusted.
4580	(mt_labels): Renamed.
4581	(mt_add_branches, mt_check_delay_slot, mt_reorg_hazard,
4582	mt_machine_reorg): Renamed, adjusted.
4583	(mt_attribute_table: Renamed.
4584	(TARGET_ATTRIBUTE_TABLE, TARGET_STRUCT_VALUE_RTX,
4585	TARGET_PASS_BY_REFERENCE, TARGET_MUST_PASS_IN_STACK,
4586	TARGET_ARG_PARTIAL_BYTES, TARGET_MACHINE_DEPENDENT_REORG): Adjust.
4587	* config/mt/mt.opt (march): Set mt_cpu_string.
4588	* config/mt/mt.h (mt_ucmpsi3_libcall, mt_cpu): Renamed.
4589	(TARGET_CPU_CPP_BUILTINS): Adjust.
4590	(TARGET_MS1_64_001, TARGET_MS1_16_002, TARGET_MS1_16_003,
4591	TARGET_MS2): Adjust.
4592	(TARGET_VERSION, OVERRIDE_OPTIONS, SECONDARY_RELOAD_CLASS): Adjust.
4593	(MT_MIN_INT): Renamed.
4594	(RETURN_ADDR_RTX): Adjust.
4595	(struct mt_frame_info): Renamed.
4596	(current_frame_info): Adjust type.
4597	(INITIAL_ELIMINATION_OFFSET): Adjust.
4598	(MT_NUM_ARG_REGS): Renamed.
4599	(REG_PARM_STACK_SPACE, FUNCTION_ARG, INIT_CUMULATVE_ARGS,
4600	FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY, FUNCTION_VALUE,
4601	LIBCALL_VALUE, EPILOGUE_USES, EXPAND_BUILTIN_VA_START,
4602	GO_IF_LEGITIMATE_ADDRESS, REG_OK_FOR_BASE_P, ASM_OUTPUT_OPCODE,
4603	FINAL_REPSCAN_INSN, PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Adjust.
4604	(mt_compare_op0, mt_compare_op1): Renamed.
4605	* config/mt/mt-protos.h: Rename prototypes.
4606
4607	* config/mt/mt.c (mt_override_options): Require lower case
4608	architectures.  Revert accidental default to ms2.
4609	* config/mt/mt.h (ASM_SPEC, LIBSPEC, STARTFILE_SPEC,
4610	ENDFILE_SPEC): Require lower case architectures.  Revert default
4611	to ms2.
4612
4613	* doc/invoke.texi (MT Options): Rename and update.
4614	* doc/md.texi (MorphoTech family): Rename and update.
4615
4616	* config/mt/t-mt (crti.o, crtn.o): Add multilib options.
4617	(EXTRA_MULTILIB_PARTS): Define.
4618
4619	* config/mt/t-mt (MULTILIB_OPTIONS): Add ms2
4620	(MULTILIB_DIRNAMES): Add ms2.  Prefix ms1 dirs with 'ms1'.
4621	* config/mt/mt.c (ms1_final_prescan): Use TARGET_MS2,
4622	TARGET_MS1_64_001 appropriately.
4623	(ms1_machine_reorg): Use TARGET_MS2.
4624
4625	2005-12-09  Aldy Hernandez  <aldyh@redhat.com>
4626	* config/mt/t-mt (MULTILIB_OPTIONS): Define.
4627	(MULTILIB_DIRNAMES): Define.
4628
4629	* config.gcc (ms1): Replace with ...
4630	(mt): ... this.
4631	* config/ms1: Rename to ...
4632	* config/mt: ... here.  Rename ms1 files to mt.
4633	* config/mt/mt.c: Adjust gt-mt.h #include.
4634	* config/mt/t-mt (LIB1ASMSRCS, LIB2FUNCS_EXTRA): Adjust.
4635	(crti.o, crtn.o): Adjust file names.
4636
46372005-12-16  Andrew Haley  <aph@redhat.com>
4638
4639	* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Guard
4640	against prev_cache_entry == NULL when moving a cache entry to the
4641	head of the list.
4642	
46432005-12-16  Nathan Sidwell  <nathan@codesourcery.com>
4644
4645	* config/ms1/ms1.c (ms1_reorg_hazard): Don't count noop moves.
4646
46472005-12-16  Jakub Jelinek  <jakub@redhat.com>
4648
4649	PR rtl-optimization/24899
4650	* loop.c (strength_reduce): Don't reduce giv that is not always
4651	computable and where add_val or mult_val can trap.
4652
4653	* doc/invoke.texi (-fdump-tree-*): Remove note about C/C++ only.
4654
46552005-12-16  Andreas Krebbel  <krebbel1@de.ibm.com>
4656
4657	PR 24823
4658	* flow.c (mark_used_dest_regs): New function.
4659	(mark_used_regs): Call mark_used_dest_regs.
4660
46612005-12-15  Jakub Jelinek  <jakub@redhat.com>
4662
4663	* varasm.c (default_unique_section_1): Use special section
4664	names for SECCAT_DATA_REL{,_RO}{,_LOCAL}.
4665
46662005-12-15  Jan Hubicka  <jh@suse.cz>
4667
4668	PR target/24969
4669	* i386.c (classify_argument): Properly adjust offset of bitfield for
4670	substructures.
4671
46722005-12-15  Eric Botcazou  <ebotcazou@adacore.com>
4673
4674	PR ada/18659
4675	PR ada/18819
4676	* doc/invoke.texi (Optimize Options): Document that
4677	-ftree-sra is not automatically enabled for the Ada compiler.
4678
46792005-12-15  Olivier Hainque  <hainque@adacore.com>
4680
4681	* stor-layout.c (layout_type): Don't complain about a too small
4682	an array element type size compared to its alignment when the
4683	size overflows.
4684
46852005-12-14  Jeff Law  <law@redhat.com>
4686
4687	PR tree-optimization/23838
4688	* tree-ssa-dse.c (dse_optimize_stmt): Correctly handle PHI nodes which
4689	represent a use and definition of the same SSA_NAME.
4690
46912005-12-14  Ulrich Weigand  <uweigand@de.ibm.com>
4692
4693	PR rtl-optimization/25310
4694	* reload1.c (eliminate_regs_in_insn): Handle lowpart SUBREGs
4695	of the eliminable register when substituting into a PLUS.
4696
46972005-12-14  Jakub Jelinek  <jakub@redhat.com>
4698
4699	PR debug/25023
4700	* config/i386/i386.c (ix86_force_to_memory): Always use
4701	SImode push for HImode in -m32.
4702	(ix86_free_from_memory): Likewise.
4703
4704	PR target/25254
4705	PR target/24188
4706	* config/i386/i386.c (x86_64_elf_select_section): If DECL is not
4707	DECL_P, call named_section_flags rather than named_section.  Supply
4708	section flags to it.
4709
47102005-12-13  Jakub Jelinek  <jakub@redhat.com>
4711
4712	PR debug/25023
4713	PR target/25293
4714	* expr.c (emit_move_resolve_push): Handle PRE_MODIFY
4715	and POST_MODIFY with CONST_INT adjustment equal to PUSH_ROUNDING.
4716	Fix POST_INC/POST_DEC handling if PUSH_ROUNDING is not identity.
4717	* config/i386/i386.md (pushhi2, pushqi2): Use pushl instead of pushw.
4718	Set mode to SI, adjust constraints.
4719	(pushhi2_rex64, pushqi2_rex64): Set mode to DI.
4720	* config/i386/i386.h (PUSH_ROUNDING): Round up to 4 instead of 2 for
4721	32-bit code.
4722
47232005-12-13  Paul Brook  <paul@codesourcery.com>
4724
4725	* config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=gnu for
4726	apcs/atpcs.
4727
47282005-12-13  Alan Modra  <amodra@bigpond.net.au>
4729
4730	* config/rs6000/linux64.h (TARGET_ALIGN_NATURAL): Define.
4731
47322005-12-12  Alan Modra  <amodra@bigpond.net.au>
4733
4734	PR target/25212
4735	* config/rs6000/rs6000.c (legitimate_indexed_address_p): Allow pattern
4736	generated by reload.
4737	(print_operand): Check that both operands of indexed address are regs.
4738	(print_operand_address): Likewise.
4739	* config/rs6000/rs6000.h (INT_REG_OK_FOR_INDEX_P): Simplify.
4740	(INT_REG_OK_FOR_BASE_P): Correct.
4741	* config/rs6000/predicates.md (indexed_or_indirect_operand): Use
4742	indexed_or_indirect_address.
4743	(indexed_or_indirect_address): Don't test for base reg.  Call
4744	address_operand last.  Make it a special predicate.
4745
47462005-12-10  Mark Mitchell  <mark@codesourcery.com>
4747
4748	PR c++/25010
4749	* ipa-inline.c (cgraph_clone_inlined_nodes): Do not assume that
4750	DECL_EXTERNAL functions have no bodies.  Tidy.
4751
47522005-12-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4753
4754	PR target/25258
4755	* pa.c (som_text_section_asm_op): Use .NSUBSPA directive when changing
4756	to the text subspace to output debugging information.
4757
47582005-12-09  Bernd Schmidt  <bernd.schmidt@analog.com>
4759
4760	* config/bfin/bfin.c: Include "cgraph.h".
4761	(bfin_load_pic_reg): Omit loading pic reg if in a local function.
4762	Return the reg that holds the pointer to the GOT.
4763	(bfin_expand_prologue): Use return value of bfin_load_pic_reg when
4764	doing stack checking.
4765
47662005-12-09  Ulrich Weigand  <uweigand@de.ibm.com>
4767
4768	PR target/25311
4769	* config/s390/s390.c (struct s390_address): New field literal_pool.
4770	(s390_decompose_address): Compute literal_pool field.  Do not 
4771	assume register %r13 is always (and solely) used as pool base.
4772	(s390_extra_constraint_str): Use literal_pool field.
4773
47742005-12-09  Thiemo Seufer  <ths@networkno.de>
4775
4776	* config/mips/mips.c (override_options): Don't allow too small
4777	integers in FP registers.
4778
47792005-12-09  Alan Modra  <amodra@bigpond.net.au>
4780
4781	PR debug/24908
4782	* dwarf2out.c (dwarf2out_frame_debug_expr): Don't assert that
4783	call_used_regs can't be used to save reg in another reg.
4784
47852005-12-09  Hans-Peter Nilsson  <hp@axis.com>
4786
4787	PR target/23424
4788	* recog.c (constrain_operands): Strip unary operators
4789	only ifndef KEEP_UNARY_OPERATORS_AT_CONSTRAINT_CHECKING.
4790	* reload.c (find_reloads): Ditto.
4791	* config/cris/cris.h (KEEP_UNARY_OPERATORS_AT_CONSTRAINT_CHECKING):
4792	Define.
4793
47942005-12-08  Zdenek Dvorak  <dvorakz@suse.cz>
4795
4796	PR tree-optimization/25248
4797	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Do not use
4798	evolution_of_loop from the failed attempt.  Remove handling of
4799	MULT_EXPR.
4800
48012005-12-08  Richard Guenther  <rguenther@suse.de>
4802
4803	Backport from mainline
4804	2005-11-28  Richard Guenther  <rguenther@suse.de>
4805
4806	* c-common.c (strict_aliasing_warning): Handle all
4807	component-ref like accesses.
4808
4809	2005-11-24  Richard Guenther  <rguenther@suse.de>
4810		Dirk Mueller <dmueller@suse.de>
4811
4812	PR c++/14024
4813	* c-common.h (strict_aliasing_warning): Declare.
4814	* c-common.c (strict_aliasing_warning): New function,
4815	split out from ...
4816	* c-typeck.c (build_c_cast): ... here.
4817
48182005-12-08  Andreas Krebbel  <krebbel1@de.ibm.com>
4819	    Jakub Jelinek  <jakub@redhat.com>
4820
4821	PR target/25268
4822	* config/s390/s390.c (s390_decompose_shift_count): Remove BITS
4823	argument.  Don't drop outer ANDs.
4824	(s390_extra_constraint_str, print_shift_count_operand): Adjust callers.
4825	* config/s390/s390-protos.h (s390_decompose_shift_count): Adjust
4826	prototype.
4827	* config/s390/predicates.md (setmem_operand): Remove.
4828	(shift_count_operand): Rename to...
4829	(shift_count_or_setmem_operand): ... this.  Adjust
4830	s390_decompose_shift_count caller.
4831	* config/s390/s390.md (<shift>di3_31_and, <shift>di3_64_and,
4832	ashrdi3_cc_31_and, ashrdi3_cconly_31_and, ashrdi3_31_and,
4833	ashrdi3_cc_64_and, ashrdi3_cconly_64_and, ashrdi3_64_and,
4834	<shift>si3_and, ashrsi3_cc_and, ashrsi3_cconly_and, ashrsi3_and,
4835	rotl<mode>3_and, setmem_long_and): New insns.
4836	(<shift>di3_31, <shift>di3_64, ashrdi3_cc_31, ashrdi3_cconly_31,
4837	ashrdi3_31, ashrdi3_cc_64, ashrdi3_cconly_64, ashrdi3_64,
4838	<shift>si3, ashrsi3_cc, ashrsi3_cconly, ashrsi3, rotl<mode>3,
4839	<shift>di3, ashrdi3): Use shift_count_or_setmem_operand instead
4840	of shift_count_operand.
4841	(setmem_long): Use shift_count_or_setmem_operand instead of
4842	setmem_operand.
4843
48442005-12-07  Adrian Straetling  <straetling@de.ibm.com>
4845
4846	* config/s390/s390.c (s390_expand_atomic): New function.
4847	Adjust comment of helper functions.
4848	* config/s390/s390-protos.h (s390_expand_atomic): Declare.
4849	* config/s390/s390.md ("ATOMIC"): New code macro.
4850	("atomic"): Corresponding new code attribute.
4851	("sync_lock_test_and_set[hq]i", 
4852	"sync_{new_,old_,}{and,ior,xor,add,sub,nand}[hq]i"): New pattern.
4853
48542005-12-07  Adrian Straetling  <straetling@de.ibm.com>
4855
4856	* config/s390/s390.c (s390_expand_mask_and_shift, 
4857	struct alignment_context, init_alignment_context, 
4858	s390_expand_cs_hqi): New.
4859	* config/s390/s390-protos.h (s390_expand_cs_hqi): Declare.
4860	* config/s390/s390.md ("sync_compare_and_swaphi",
4861	"sync_compare_and_swapqi"): New pattern.
4862
48632005-12-07  Adrian Straetling  <straetling@de.ibm.com>
4864
4865	  * doc/md.texi: Adapt to implementation.
4866
48672005-12-07  Aldy Hernandez  <aldyh@redhat.com>
4868
4869       PR C++/24138
4870	* tree.c (integer_all_onesp): Always return true if all bits on.
4871
4872	* testsuite/g++.dg/init/array0.C: New.
4873
48742005-12-06  Andreas Schwab  <schwab@suse.de>
4875
4876	* opts.c (decode_options): Fix typo in message.
4877
48782005-12-06  Alan Modra  <amodra@bigpond.net.au>
4879
4880	PR other/13873
4881	* longlong.h: Merge PPC tests from upstream.
4882
48832005-12-05  James E Wilson  <wilson@specifix.com>
4884
4885	PR target/24934
4886	* opts.c (decode_options): Turn off partitioning if flag_unwind_tables
4887	is set.
4888
48892005-12-05  Geoffrey Keating  <geoffk@apple.com>
4890
4891	* config/rs6000/host-darwin.c (segv_handler): Unblock SEGV so
4892	we don't go into an infinite loop.
4893
48942005-12-04  Joseph S. Myers  <joseph@codesourcery.com>
4895
4896	* doc/invoke.texi, doc/standards.texi: Refer to
4897	gcc-4.1/c99status.html.
4898
48992005-12-02  Jakub Jelinek  <jakub@redhat.com>
4900
4901	PR target/25199
4902	* config/i386/i386.md (movqi_1): Only force imovx for alternative
4903	5 if operand 1 is not aligned.  Undo previous constraint change.
4904	* config/i386/predicates.md (aligned_operand): Use MEM_ALIGN.
4905
49062005-12-02  Alan Modra  <amodra@bigpond.net.au>
4907
4908	PR middle-end/25176
4909	* function.c (expand_function_end): Emit blockage for unwinder
4910	after return label.
4911
49122005-12-01  Richard Henderson  <rth@redhat.com>
4913
4914	* optabs.c (expand_vec_cond_expr): Use EXPAND_NORMAL.
4915
49162005-11-30  Dale Johannesen  <dalej@apple.com>
4917	    Andrew Pinski  <pinskia@physics.uc.edu>
4918
4919	PR rtl-opt/24930
4920	* combine.c (find_split_point):  Sign extend bitmask
4921	when changing bitfield assignment to IOR of AND.
4922
49232005-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4924
4925	PR middle-end/25158
4926	* builtins.c (fold_builtin_fputs): Defer check for missing
4927	replacement functions.
4928
49292005-11-30  Kean Johnston  <jkj@sco.com>
4930
4931	* config/i386/i386.c: Check the value of SUPPORTS_ONE_ONLY, not
4932	simply its presense in case targets #define SUPPORTS_ONE_ONLY 0.
4933
49342005-11-30  Nathan Sidwell  <nathan@codesourcery.com>
4935
4936	* config/ms1/ms1.md (decrement_and_branch_until_zero): Add early
4937	clobber to scratch reg.
4938	(*decrement_and_branch_until_zero_no_clobber): Remove.
4939	(decrement_and_branch peephole): Add dummy scratch reg to pattern.
4940	(mulhish3): Use TARGET_MS1_16_003, TARGET_MS2.
4941	* config/ms1/ms1.opt (mmul): Remove.
4942	* config/ms1/ms1.h (ASM_SPEC): Cope with uppercase arch names.
4943	(LINK_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Default to 16-002.
4944
49452005-11-30  Jeff Law  <law@redhat.com>
4946
4947	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Properly
4948	handle SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
4949
49502005-11-28  Nathan Sidwell  <nathan@codesourcery.com>
4951
4952	PR c++/21166
4953	* c-decl.c (finish_struct):  Only set DECL_PACKED on a field
4954	when its natural alignment is > BITS_PER_UNIT.
4955	* stor-layout.c (finalize_type_size): Revert my patch of 2005-08-08.
4956	* c-common.c (handle_packed_attribute): Ignore packing on a field
4957	whose type is naturally char aligned.
4958
49592005-11-30  Jakub Jelinek  <jakub@redhat.com>
4960
4961	* config/ia64/ia64.c (ia64_expand_tls_address): Add ORIG_OP1 argument.
4962	Move ADDEND_{HI,LO} computation into TLS_MODEL_INITIAL_EXEC case.
4963	(ia64_expand_move): Adjust caller.
4964
4965	* config/ia64/ia64.c (ia64_expand_atomic_op): Only use
4966	fetchadd{4,8}.acq instruction if CODE is PLUS or MINUS, for MINUS
4967	negate VAL.
4968
49692005-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4970
4971	PR middle-end/20109
4972	PR middle-end/25120
4973	* builtins.c (init_target_chars): New.
4974	(expand_builtin_printf, expand_builtin_fprintf,
4975	expand_builtin_sprintf, fold_builtin_sprintf,
4976	maybe_emit_sprintf_chk_warning, fold_builtin_sprintf_chk,
4977	fold_builtin_snprintf_chk, fold_builtin_printf,
4978	fold_builtin_fprintf): Check for matching format strings using
4979	the target charset.
4980
49812005-11-28  Alexandre Oliva  <aoliva@redhat.com>
4982
4983	PR libfortran/24991
4984	* config/darwin.c (machopic_indirection_name,
4985	machopic_output_indirection): Follow transparent alias chain.
4986
49872005-11-28  Alexandre Oliva  <aoliva@redhat.com>
4988
4989	* varasm.c (ultimate_transparent_alias_target): Add comment.
4990
49912005-11-26  Roger Sayle  <roger@eyesopen.com>
4992
4993	PR middle-end/21309
4994	* expmed.c (choose_mult_variant): Return immediately when mult_cost
4995	is less than zero.  Limit mult_cost to a reasonable upper bound for
4996	the synthetic multiplication sequence.
4997
49982005-11-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4999
5000	PR middle-end/25022
5001	* builtins.c (expand_builtin_printf, expand_builtin_fprintf,
5002	fold_builtin_fputs, fold_builtin_printf, fold_builtin_fprintf):
5003	Lookup the explicit replacement functions for any unlocked
5004	stdio builtin transformations.
5005
50062005-11-25  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
5007
5008	* fold-const.c (negate_mathfn_p): Fix comment.
5009
50102005-11-22  Eric Botcazou  <ebotcazou@adacore.com>
5011
5012	PR middle-end/22561
5013	* tree-ssa-structalias.c (get_constraint_for): Handle ARRAY_RANGE_REF.
5014
50152005-11-22  Kazu Hirata  <kazu@codesourcery.com>
5016
5017	PR target/23435
5018	* m68k.md (zero_extendsidi2): Force operands[1] to a register
5019	if both operands[0] and operands[1] are memory.
5020
50212005-11-22  Jan Hubicka  <jh@suse.cz>
5022
5023	PR tree-optimization/24653
5024	* tree-ssa-ccp.c (ccp_fold): Strip down useless conversions.
5025
50262005-11-23  Alan Modra  <amodra@bigpond.net.au>
5027
5028	PR target/24954
5029	* config/rs6000/predicates.md (easy_vector_constant_add_self): Fix
5030	typo last change.
5031
50322005-11-22  Alan Modra  <amodra@bigpond.net.au>
5033
5034	PR middle-end/24950
5035	* expmed.c (store_bit_field): Don't attempt to insv a field
5036	larger than the reg.
5037
50382005-11-22  Alan Modra  <amodra@bigpond.net.au>
5039
5040	PR target/24954
5041	* config/rs6000/predicated.md (easy_vector_constant_add_self): Use
5042	explicit sign extension, not a (char) cast.
5043
50442005-11-21  Joel Sherrill <joel.sherrill@oarcorp.com>
5045
5046	* config/arm/rtems-elf.h: Added definition of LINK_GCC_C_SEQUENCE_SPEC
5047	which matches behavior of gcc 4.0 and older for RTEMS targets.  The
5048	default now includes a linker group which makes the RTEMS one nest.
5049
50502005-11-21  David Edelsohn  <edelsohn@gnu.org>
5051
5052	PR target/24953
5053	* config/rs6000/predicates.md (vrsave_operation): Check
5054	UNSPEC_VOLATILE value.
5055
50562005-11-21  Paolo Bonzini  <bonzini@gnu.org>
5057
5058	PR target/24951
5059	* config/rs6000/rs6000.c (output_vec_const_move): Load cst and
5060	cst2 only for SPE vectors.
5061
50622005-11-21  Kazu Hirata  <kazu@codesourcery.com>
5063
5064	PR middle-end/20583
5065	* cse.c (cse_insn): Reject invalid forms of CONST earlier.
5066
50672005-11-20  Ian Lance Taylor  <ian@airs.com>
5068
5069	PR rtl-optimization/24883
5070	* combine.c (combinable_i3pat): When checking whether the
5071	destination of i3 is used in i3, consider paradoxical subregs.
5072
50732005-11-20  Richard Henderson  <rth@redhat.com>
5074
5075	PR 24931
5076	* tree-sra.c (struct sra_elt): Add all_no_warning.
5077	(struct sra_walk_fns) <use>: Add use_all argument.
5078	(sra_walk_expr): Pass it.
5079	(sra_walk_modify_expr): Likewise.
5080	(scalarize_ldst): Likewise.
5081	(scan_use): Update for new argument.
5082	(mark_no_warning): New.
5083	(scalarize_use): Use it.
5084
50852005-11-19  Richard Henderson  <rth@redhat.com>
5086
5087	PR tree-opt/24665
5088	* tree-gimple.c (is_gimple_id): Export.
5089	* tree-gimple.h (is_gimple_id): Declare.
5090	* tree-ssa-ccp.c (ccp_decl_initial_min_invariant): New.
5091	(get_default_value): Use it.
5092	(maybe_fold_stmt_indirect): Likewise.
5093
50942005-11-20  Andreas Schwab  <schwab@suse.de>
5095
5096	PR target/24757
5097	* config/ia64/ia64.c (ia64_expand_atomic_op): Fix condition of cmp
5098	insn.
5099
51002005-11-19  Hans-Peter Nilsson  <hp@axis.com>
5101
5102	PR middle-end/24912
5103	PR middle-end/24750
5104	* reload.c (find_reloads_address_1): Mention dependency on
5105	gen_reload.
5106	* reload1.c (gen_reload): For IN with an unary operation, try
5107	moving inner expression to OUT if trivial SET is not valid.
5108	Confirm that the result is valid.  Move common code block into...
5109	(emit_insn_if_valid_for_reload): New function.
5110
51112005-11-19  Jakub Jelinek  <jakub@redhat.com>
5112
5113	* gcc.c (version_compare_spec_function): Use '%s' rather than %qs in
5114	fatal format string.
5115
51162005-11-18  Mark Mitchell  <mark@codesourcery.com>
5117
5118	* DEV-PHASE: Change to prerelease.
5119
51202005-11-18  James E Wilson  <wilson@specifix.com>
5121
5122	* builtins.c (fold_builtin_strstr): Pass s1 through fold_convert before
5123	returning it.
5124
51252005-11-18  Mike Stump  <mrs@apple.com>
5126
5127	* c-common.c (handle_cleanup_attribute): Use a lang hook for lookup_name.
5128	* config/darwin-c.c (darwin_pragma_unused): Likewise.
5129	* c-decl.c (lookup_name_two) Remove.
5130	* c-tree.h (lookup_name_two): Remove.
5131	* c-objc-common.h (LANG_HOOKS_LOOKUP_NAME): Add.
5132	* langhooks-def.h (LANG_HOOKS_LOOKUP_NAME): Add.
5133	(LANG_HOOKS_DECLS): Add initializer for LANG_HOOKS_LOOKUP_NAME.
5134	* langhooks.h (lang_hooks_for_decls): Add lookup_name.
5135	
51362005-11-18  Richard Earnshaw  <richard.earnshaw@arm.com>
5137
5138	PR target/24914
5139	* arm.c (arm_hard_regno_mode_ok): Co-processor registers aren't ok
5140	when not generating code to use that co-processor.
5141
51422005-11-18  James A. Morrison  <phython@gcc.gnu.org>
5143
5144	* tree-flow.h (reserve_phi_args_for_new_edge, create_phi_node,
5145	add_phi_arg, remove_phi_args, remove_phi_node phi_reverse): Mention that
5146	these functions are now in tree-phinodes.c.
5147
51482005-11-18  Jie Zhang  <jie.zhang@analog.com>
5149
5150	* config/bfin/bfin.md (trap): New pattern.
5151
51522005-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5153
5154	* tree-ssa-dom.c (extract_range_from_cond): Deal with variable bounds
5155	on types.
5156
5157	* expr.c (expand_expr_real): Don't call record_block_change unless
5158	ib_boundaries_block is non-null
5159
5160	* postreload.c (reload_cse_move2add): Don't try to work with BImode.
5161
5162	* fold-const.c (build_range_check): Use proper type for subtraction
5163	when merging lower bound.
5164
51652005-11-18  Zdenek Dvorak  <dvorakz@suse.cz>
5166
5167	PR rtl-optimization/24497
5168	* loop-unroll.c (apply_opt_in_copies): Do not verify equality of
5169	the copied insn.
5170
51712005-11-18  Zdenek Dvorak  <dvorakz@suse.cz>
5172
5173	* tree-scalar-evolution.c (expression_expensive_p): New function.
5174	(scev_const_prop): Use compute_overall_effect_of_inner_loop.
5175
51762005-11-18  Bernd Schmidt  <bernd.schmidt@analog.com>
5177
5178	* config/bfin/crtlibid.s: New file.
5179
51802005-11-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5181
5182	PR target/24348
5183	* config.gcc (hppa*-*-hpux*): Add pa/t-slibgcc-elf-ver to tmake config
5184	when not using sjlj exceptions.
5185	* config/pa/pa64-hpux.h (LIB_SPEC): Add -lpthread in static links.
5186	* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
5187	* config/pa/som.h (ASM_PREFERRED_EH_DATA_FORMAT): Delete define.
5188	* config/pa/linux-unwind.h (pa32_fallback_frame_state): Use
5189	DWARF_ALT_FRAME_RETURN_COLUMN instead of column 0 as return column.
5190	* config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): New define.
5191	* config/pa/pa-linux.h (INCOMING_RETURN_ADDR_RTX,
5192	DWARF_FRAME_RETURN_COLUMN, ASM_PREFERRED_EH_DATA_FORMAT,
5193	ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Delete defines.
5194	* config/pa/pa.h (ARG_POINTER_CFA_OFFSET): Delete.
5195	(FRAME_POINTER_CFA_OFFSET, INCOMING_RETURN_ADDR_RTX,
5196	DWARF_FRAME_RETURN_COLUMN, DWARF_ALT_FRAME_RETURN_COLUMN,
5197	ASM_PREFERRED_EH_DATA_FORMAT, ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New
5198	defines.
5199	* config/pa/hpux-unwind.h: New file.
5200
52012005-11-17  Alexandre Oliva  <aoliva@redhat.com>
5202
5203	* config/rs6000/rs6000.h (ASM_OUTPUT_WEAKREF): Define.
5204	* defaults.h (ASM_OUTPUT_WEAKREF): Add decl argument.
5205	* varasm.c (do_assemble_alias): Adjust call.
5206	(weak_finish): Don't use ASM_WEAKEN_LABEL if ASM_WEAKEN_DECL
5207	is defined.
5208	* doc/tm.texi (ASM_OUTPUT_WEAKREF): Document it.
5209
52102005-11-17  James E Wilson  <wilson@specifix.com>
5211
5212	* tree.def (FUNCTION_DECL): Correct typo in comment.
5213
52142005-11-17  Richard Henderson  <rth@redhat.com>
5215
5216	* dwarf2out.c (dw_cfi_oprnd_struct): Reduce dw_cfi_reg_num to int.
5217	(lookup_cfa_1): Apply data alignment to DW_CFA_def_cfa_offset_sf
5218	and DW_CFA_def_cfa_sf.
5219	(def_cfa_1): Use DW_CFA_def_cfa_offset_sf with negative values.
5220	(dbx_reg_number): Don't assert particular registers here.
5221	(based_loc_descr): ... do it here instead.  Fold in ...
5222	(eliminate_reg_to_offset): ... this function.
5223	(compute_frame_pointer_to_cfa_displacement): Fold in the effects
5224	of eliminate_reg_to_offset; use FRAME_POINTER_CFA_OFFSET.
5225	* unwind-dw2.c (execute_cfa_program): Apply data align factor
5226	to DW_CFA_def_cfa_offset_sf and DW_CFA_def_cfa_sf.
5227	* function.c (instantiate_new_reg): Use FRAME_POINTER_CFA_OFFSET.
5228	(instantiate_virtual_regs): Likewise.
5229	* var-tracking.c (adjust_stack_reference): Likewise.
5230	* doc/tm.texi (FRAME_POINTER_CFA_OFFSET): New.
5231
52322005-11-17  Bernd Schmidt  <bernd.schmidt@analog.com>
5233
5234	* config/bfin/elf.h (STARTFILE_SPEC): Add "crtlibid%O%s"
5235	* config/bfin/uclinux.h (STARFILE_SPEC): Likewise.
5236	* config/bfin/t-bfin-elf (EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Add
5237	crtlibid.o.
5238	($(T)crtlibid.o): New rule.
5239
52402005-11-16  Richard Guenther  <rguenther@suse.de>
5241
5242	PR middle-end/24851
5243	* fold-const.c (extract_array_ref): Return byte offset
5244	in all cases.
5245	(fold_binary): Fold &x[a] CMP &x[b] to
5246	a*sizeof(*x) CMP b*sizeof(*x) to get correct overflow
5247	behavior.
5248
52492005-11-16  Richard Henderson  <rth@redhat.com>
5250
5251	PR middle-end/23497
5252	* tree-ssa.c (warn_uninitialized_var): Skip real and imaginary
5253	parts of an SSA_NAME.
5254
52552005-11-16  Richard Earnshaw  <richard.earnshaw@arm.com>
5256
5257	PR target/24861
5258	* arm.md (split for movsf with immediate): Restrict split to insns
5259	that set a general register.
5260
52612005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
5262
5263	* config/ia64/unwind-ia64.c (uw_advance_context): New.  Call
5264	uw_update_context.
5265	* unwind-dw2.c (uw_advance_context): Likewise.
5266	* unwind-sjlj.c (uw_advance_context): Likewise.  Also call
5267	_Unwind_SjLj_Unregister.
5268	* unwind.inc (_Unwind_ForcedUnwind_Phase2): Call uw_advance_context.
5269
52702005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
5271
5272	* unwind-sjlj.c (_Unwind_GetCFA): Handle the builtin_setjmp case.
5273
52742005-11-16  Eric Botcazou  <ebotcazou@adacore.com>
5275
5276	* config/alpha/alpha.c (alpha_init_builtins): Use type_for_mode
5277	langhook to get a DImode integer type.
5278
52792005-11-16  Richard Henderson  <rth@redhat.com>
5280	    J"orn Rennecke <joern.rennecke@st.com>
5281	    Ulrich Weigand  <uweigand@de.ibm.com>
5282
5283	PR rtl-opt/24160
5284	PR target/24621
5285	* reload1.c (reg_equiv_invariant): New.
5286	(reload): Allocate, initialize, and free it.
5287	(calculate_needs_all_insns): Check it when skipping equivalence
5288	setting insns.
5289	(alter_reg): Likewise.
5290	(eliminate_regs_1): Rename from eliminate_regs.  Add new
5291	may_use_invariant argument; only use reg_equiv_invariant when true.
5292	(eliminate_regs): New.
5293	(eliminate_regs_in_insn): Use eliminate_regs_1; track when we're in
5294	a context for which may_use_invariant may be true.
5295
52962005-11-16  Eric Botcazou  <ebotcazou@adacore.com>
5297
5298	* fold-const.c (const_binop): Don't constant fold the operation
5299	if the result has overflowed and flag_trapping_math.
5300	* simplify-rtx.c (simplify_const_binary_operation): Likewise.
5301
53022005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
5303
5304	* config/arm/unwind-arm.c (abort): Add prototype here.
5305	(UCB_FORCED_STOP_ARG): Correct typo in macro argument.
5306	(struct phase1_vrs): Add prev_sp.
5307	(unwind_phase2_forced): Save the original core registers instead of
5308	modifying entry_vrs.  Take a new flag argument for resuming unwinding
5309	and set action flags accordingly.  Always set _US_END_OF_STACK when
5310	get_eit_entry fails.  Unwind before calling the stop function.
5311	(_Unwind_GetCFA): New function.
5312	(__gnu_Unwind_ForcedUnwind): Update call to unwind_phase2_forced.
5313	(__gnu_Unwind_Resume_or_Rethrow): Likewise.
5314	(__gnu_Unwind_Resume): Do not unwind here for forced unwinding;
5315	just call unwind_phase2_forced.
5316	(_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Move to here.
5317	* config/arm/unwind-arm.h (abort): Remove prototype.
5318	(_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Change to
5319	prototypes.
5320	(_Unwind_GetCFA): New prototype.
5321	* config/arm/pr-support.c (abort): Add prototype here.
5322	* unwind-c.c (PERSONALITY_FUNCTION) [__ARM_EABI_UNWINDER__]: Handle
5323	forced unwinding.
5324	* config/arm/arm.c (arm_expand_prologue, thumb_expand_prologue): Do
5325	not schedule the prologue with non-call exceptions and EABI.
5326
53272005-11-16  Nathan Sidwell  <nathan@codesourcery.com>
5328
5329	* config/arm/unwind-arm.h: Reorder interface function declarations.
5330	(_URC_END_OF_STACK): New enumeration value.
5331	(_US_UNWIND_ACTION_MASK, _US_FORCE_UNWIND, _US_END_OF_STACK): Likewise.
5332	(struct _Unwind_Control_Block): Document reserved field use.
5333	(_Unwind_Stop_Fn): New typedef.
5334	(_Unwind_ForcedUnwind): Declare.
5335	(_Unwind_Resume_or_Rethrow): Declare.
5336	* config/arm/libunwind.S (UNWIND_WRAPER): Add nargs
5337	argument.  Adjust.
5338	(_Unwind_Resume_or_Rethrow, _Unwind_ForcedUnwind): New.
5339	* config/arm/unwind-arm.c (UCB_FORCED_STOP_FN)
5340	(UCB_FORCED_STOP_ARG): New.
5341	(search_EIT_table): Update boundary condition checks.
5342	(get_eit_entry): Return _URC_END_OF_STACK when cannot unwind.
5343	(unwind_phase2): Replace for with do..while.
5344	(unwind_phase2_forced): New.
5345	(__gnu_Unwind_RaiseException): Replace for with do..while.
5346	(__gnu_Unwind_ForcedUnwind): New.
5347	(__gnu_Unwind_Resume): Set FORCE_UNWIND flag, if forced unwinding.
5348	Use appropriate phase2 unwinder.
5349	(__gnu_Unwind_Resume_or_Rethrow): New.
5350	(__gnu_unwind_pr_common): Cope with forced unwinding.
5351
53522005-11-16  David Edelsohn  <edelsohn@gnu.org>
5353
5354	PR target/24772
5355	* config/rs6000/predicates.md (vrsave_operation): SET_SRC is a VEC.
5356
5357	* config/rs6000/rs6000.md (btruncsf2, ceilsf2, floorsf2,
5358	roundsf2): Remove "s" from mnemonic.
5359
53602005-11-16  Bernd Schmidt  <bernd.schmidt@analog.com>
5361
5362	* config/bfin/crti.s (__init, __fini): Use appropriate prologue if
5363	__PIC__ is defined.
5364	* config/bfin/crtn.s: Change epilogues to match.
5365	* config/bfin/t-bfin-elf (EXTRA_MULTILIB_PARTS): Define.
5366	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If flag_pic, define
5367	__PIC__ and __pic__.
5368
53692005-11-16  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
5370
5371	PR 24357
5372	* doc/invoke.texi: Distinguish between free and fixed form instead of
5373	Fortran and Fortran 90/95.  Remove ratfor from the list of supported
5374	languages.
5375	* gcc.c (default_compilers): Remove double entries, add entries for
5376	suffixes '.F90' and '.F95'.
5377
53782005-11-16  Eric Botcazou <ebotcazou@adacore.com>
5379
5380	* config/alpha/alpha.c (alpha_expand_prologue): Fix off-by-one bug
5381	in the stack probing loop.
5382
53832005-11-15  David Edelsohn  <edelsohn@gnu.org>
5384
5385	* configure.ac: Use .machine power5 not power5x.
5386	* configure: Regenerate.
5387
53882005-11-15  Mike Stump  <mrs@apple.com>
5389
5390	* c-decl.c (lookup_name_two): Add.
5391	* c-tree.h (lookup_name_two): Likewise.
5392	* c-common.c (handle_cleanup_attribute): Use lookup_name_two instead.
5393	* config/darwin-c.c (darwin_pragma_unused): Likewise.
5394
53952005-11-16  Alan Modra  <amodra@bigpond.net.au>
5396
5397	PR rtl-optimization/23392
5398	* regrename.c (enum scan_actions) Add mark_access.
5399	(scan_actions_name): Ditto.
5400	(scan_rtx_reg): Handle mark_access.
5401	(scan_rtx_address): Do nothing for mark_access.
5402	(build_def_use): Mark source registers in REG_FRAME_RELATED_EXPR
5403	and regs in REG_INC notes before closing chains for dead regs.
5404	Mark destination regs in REG_FRAME_RELATED_EXPR notes after
5405	opening chains for new writes.
5406
54072005-11-15  David Edelsohn  <edelsohn@gnu.org>
5408
5409	* c.opt (ffixed-line-length-none): New.
5410
54112005-11-15  Steve Ellcey  <sje@cup.hp.com>
5412
5413	* mklibgcc.in: Change contents of eh_dummy.c.
5414
54152005-11-15  Daniel Jacobowitz  <dan@codesourcery.com>
5416
5417	* loop.c (scan_loop): Do not insert temporaries for hard registers.
5418
54192005-11-15  Daniel Jacobowitz  <dan@codesourcery.com>
5420
5421	* config/arm/lib1funcs.asm (div0) [L_dvmd_lnx]: Call raise instead
5422	of making syscalls.
5423	* config/arm/linux-eabi.h (CLEAR_INSN_CACHE): Define.  Set r7 also.
5424
54252005-11-15  Jan Hubicka  <jh@suse.cz>
5426
5427	* invoke.texi (large-unit-insns): Document.
5428	* ipa-inline.c (cgraph_decide_inlining): Use large-unit-insns param.
5429	* params.def (large-unit-insns): New param.
5430
54312005-11-15  Hans-Peter Nilsson  <hp@axis.com>
5432
5433	PR target/24869
5434	* config/cris/cris.md ("*mov_sidesisf_mem"): Do not match
5435	special register for operand 3.  Reindent constraints to align
5436	them vertically.
5437
54382005-11-14  David Edelsohn  <edelsohn@gnu.org>
5439
5440	* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf,
5441	-mpopcntb, -mfprnd. Add -mcpu=power5+.
5442	* configure.ac: Add test for FP rounding instructions.
5443	* configure: Regenerate.
5444	* config.in: Regenerate.
5445	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
5446	_ARCH_PPCSQ, _ARCH_PPCGR, _ARCH_PWR4, _ARCH_PWR5, _ARCH_PWR5X if
5447	features enabled.
5448	* config/rs6000/rs6000.opt (mfprnd): New.
5449	* config/rs6000/rs6000.c (processor_target_table): Add power5+.
5450	(POWERPC_MASKS): Add MASK_POPCNTB and MASK_FPRND.
5451	* config/rs6000/aix52.h (ASM_CPU_SPEC): Add -mpower5+.
5452	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mpower5+.
5453	(TARGET_FPRND): New.
5454	* config/rs6000/rs6000.md (UNSPEC_FRIM, UNSPEC_FRIN, UNSPEC_FRIP,
5455	UNSPEC_FRIZ): New.
5456	(btrunc<mode>2): New.
5457	(ceil<mode>2): New.
5458	(floor<mode>2): New.
5459	(round<mode>2): New.
5460
54612005-11-14  Geoffrey Keating  <geoffk@apple.com>
5462
5463	* gcc.c (version_compare_spec_function): Use fatal() rather than
5464	abort().
5465
5466	* config/rs6000/darwin.h (DARWIN_CRT2_SPEC): New.
5467	(SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2).
5468	* config/i386/darwin.h (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2)
5469	as empty.
5470	* config/darwin.h (STARTFILE_SPEC): Use %(darwin_crt2) to possibly
5471	link in crt2.o.
5472	
5473	* config/darwin.h (REAL_LIBGCC_SPEC): Link in shared libgcc depending
5474	on -mmacosx-version-min setting.
5475
54762005-11-14  Diego Novillo  <dnovillo@redhat.com>
5477
5478	PR 24840
5479	* tree-vrp.c (infer_value_range): Return false if STMT is a
5480	block terminator and its basic block has no successors.
5481
54822005-11-14  Mike Stump  <mrs@apple.com>
5483
5484	* config/i386/i386.c (override_options): -masm=intel isn't
5485	supported on darwin.
5486	* doc/invoke.texi (i386 and x86-64 Options): Likewise.
5487
54882005-11-15  Joseph S. Myers  <joseph@codesourcery.com>
5489
5490	* crtstuff.c: Undefine gid_t, pid_t, rlim_t, ssize_t, uid_t and
5491	vfork after including auto-host.h.
5492
54932005-11-15  Alan Modra  <amodra@bigpond.net.au>
5494
5495	PR rtl-optimization/22002
5496	* combine.c (distribute_notes): Detect cases where a reg dies
5497	two or more times in a bb, including on the insn we are combining,
5498	and place the death note on the correct range.
5499
55002005-11-14  Dale Johannesen  <dalej@apple.com>
5501
5502	* expmed.c (store_bit_field):  Add offset unconditionally for
5503	memory targets.
5504	(extract_bit_field):  Don't force extzv or extv operand into
5505	a register if field is too big.
5506
55072005-11-14  Daniel Jacobowitz  <dan@codesourcery.com>
5508
5509	* config/arm/arm.c (pic_labelno): New.
5510	(arm_load_pic_register): Use an UNSPEC_PIC_LABEL instead of a
5511	LABEL_REF.  Pass only the labelno to PIC insns.
5512	(arm_call_tls_get_addr, legitimize_tls_address): Likewise.
5513	(arm_output_addr_const_extra): Handle UNSPEC_PIC_LABEL.
5514	* arm.md (UNSPEC_PIC_LABEL): New constant.
5515	(pic_add_dot_plus_four, pic_add_dot_plus_eight)
5516	(tls_load_dot_plus_eight): Expect a labelno instead of a LABEL_REF.
5517	Use the correct label prefix.
5518
55192005-11-14  Daniel Jacobowitz  <dan@codesourcery.com>
5520
5521	* config/arm/arm.c (legitimize_tls_address): Use correct rtx for
5522	REQ_EQUIV note.
5523
55242005-11-14  Richard Earnshaw  <richard.earnshaw@arm.com>
5525
5526	* loop-invariant.c: Include tm_p.h.
5527	* Makefile.in: Updated.
5528
55292005-11-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5530
5531	* pa.c (store_reg): Revise generation of frame notes in large frames.
5532	(set_reg_plus_d): Likewise.
5533
55342005-11-13  Andrew MacLeod  <amacleod@redhat.com>
5535
5536	PR tree-optimization/24709
5537	* tree-ssa-operands.c (verify_imm_links): Increase limit for infinite
5538	loop check.
5539
55402005-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
5541
5542	* gthr-posix95.h: Remove declaration of pthread_mutexattr_settype
5543	and duplicate declaration of pthread_self.
5544
55452005-11-13  Eric Botcazou  <ebotcazou@adacore.com>
5546	    Ian Lance Taylor  <ian@airs.com>
5547
5548	PR middle-end/24003
5549	* calls.c (expand_call): If TARGET is a MEM and some part of the
5550	argument area has been saved, force TARGET to a register.
5551
55522005-11-13  Razya Ladelsky <razya@il.ibm.com>
5553
5554	* ipa-prop.c (ipa_callsite_compute_param ): Removed obsolete type 
5555	checking.
5556
55572005-11-13  Jason Merrill  <jason@redhat.com>
5558
5559	PR c++/22489
5560	* dwarf2out.c (gen_subprogram_die): Force a declaration die for
5561	lazily declared methods.
5562	(force_decl_die): Stop if forcing out the context already make a
5563	DIE for the decl.
5564	(force_type_die): Likewise.
5565
55662005-11-13  Andrew Pinski  <pinskia@physics.uc.edu>
5567
5568	PR middle-end/24820
5569	* builtins.c (integer_valued_real_p): Add break in
5570	REAL_CST having TREE_OVERFLOW set.
5571
55722005-11-13  Zdenek Dvorak  <dvorakz@suse.cz>
5573
5574	* tree-ssa-loop-ivopts.c (get_address_cost): Prevent splitting
5575	addressing modes during calculation of costs.
5576
55772005-11-12  Eric Botcazou  <ebotcazou@adacore.com>
5578
5579	* function.c (assign_stack_local_1): Restrict sanity check
5580	on frame size overflow to 32-bit and above platforms.
5581
55822005-11-12  Hans-Peter Nilsson  <hp@axis.com>
5583
5584	* config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
5585	* config/cris/cris.c: Include reload.h.
5586	(cris_initial_elimination_offset): New function.
5587	* config/cris/cris-protos.h: (cris_initial_elimination_offset):
5588	Prototype.
5589
55902005-11-12  Richard Guenther  <rguenther@suse.de>
5591
5592	* gcse.c (find_rtx_in_ldst): Handle NULL pre_ldst_table.
5593
55942005-11-12  Jan Hubicka  <jh@suse.cz>
5595
5596	* expr.c (expand_expr_real_1): <MAX_EXPR, MIN_EXPR>: Canonicalize
5597	to compare against 0 when possible.
5598
55992005-11-12  Jie Zhang  <jie.zhang@analog.com>
5600
5601	* config/bfin/bfin.h (REGISTER_NAMES, SHORT_REGISTER_NAMES,
5602	HIGH_REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
5603	REG_ALLOC_ORDER, enum reg_class): Rearrange I/B/L registers.
5604	* config/bfin/bfin.md: Redefine REG_ constants for I/B/L registers
5605	in the new order.
5606
56072005-11-12  Hans-Peter Nilsson  <hp@axis.com>
5608
5609	* recog.c (constrain_operands) <case 'g'>: For a match, require
5610	that a non-register matches general_operand when strict >= 0.
5611
56122005-11-11  Steven Bosscher  <stevenb@suse.de>
5613
5614	* loop-invariant.c (move_loop_invariants): Fix a thinko in the
5615	previous checkin.
5616
56172005-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
5618
5619	* tree-ssa-dse.c (struct address_walk_data, memory_ssa_name_same)
5620	(memory_address_same): New.
5621	(dse_optimize_stmt): Call memory_address_same.
5622
56232005-11-12  Hans-Peter Nilsson  <hp@axis.com>
5624
5625	PR middle-end/24750
5626	* reload.c (find_reloads_address_1) <case TRUNCATE, SIGN_EXTEND,
5627	ZERO_EXTEND>: New cases.
5628
56292005-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
5630
5631	* longlong.h (__clz_tab): Always provide.
5632
56332005-11-11  Steven Bosscher  <stevenb@suse.de>
5634
5635	PR 24265
5636	* loop-invariant.c (may_assign_reg_p): Make sure a hard register
5637	can be assigned to.
5638	(find_invariant_insn): Do the cheapest check, may_assign_reg_p,
5639	before check_maybe_invariant.
5640	(move_invariant_reg): Use gen_move_insn instead of replacing
5641	SET_DEST with the temporary for the invariant.
5642	(move_loop_invariants): If checking is enabled, do internal
5643	consistency checks after completing the pass.
5644
56452005-11-11  David Edelsohn  <edelsohn@gnu.org>
5646
5647	PR 24644
5648	* common.opt (Wvolatile-register-var): New.
5649	* varasm.c (make_decl_rtl): Only emit warning when option
5650	specified.  Clarify warning message.
5651	* doc/invoke.texi (Wvolatile-register-var): Document new option.
5652
5653	* doc/md.texi (copysign): Document standard named pattern.
5654
56552005-11-11  Jie Zhang  <jie.zhang@analog.com>
5656
5657	* config/bfin/bfin.c (bfin_expand_strmov): Correctly move the trailing
5658	bytes when align is 2.
5659	* config/bfin/bfin.md (rep_movsi, rep_movhi): Make LSETUP be followed
5660	by the first instruction of the loop.
5661
56622005-11-11  Jason Merrill  <jason@redhat.com>
5663
5664	PR c++/24686
5665	* gimplify.c (gimplify_cleanup_point_expr): Also save and restore 
5666	the cleanup list.
5667
56682005-11-11  Zdenek Dvorak  <dvorakz@suse.cz>
5669
5670	PR rtl-optimization/22509
5671	* local-alloc.c (memref_used_between_p): Check whether a function call
5672	could not reference the memref.
5673
56742005-11-11  Ulrich Weigand  <uweigand@de.ibm.com>
5675
5676	* postreload.c (reload_cse_simplify_operands): Fix bug in sorting
5677	algorithm so as to choose the best, not the worst, alternative.
5678	Reset accumulated register class before processing next alternative.
5679
56802005-11-11  Kaz Kojima  <kkojima@gcc.gnu.org>
5681
5682	PR target/24445
5683	* calls.c (expand_call): Copy a return value to a plain register
5684	if needed.
5685
56862005-11-10  Alexandre Oliva  <aoliva@redhat.com>
5687
5688	PR target/24778
5689	* varasm.c (assemble_name): Recompute name only for transparent
5690	aliases.
5691
56922005-11-10  Hans-Peter Nilsson  <hp@axis.com>
5693
5694	* tree-ssa-structalias.c (heapvar_lookup): Fix typo: stmt to from.
5695
56962005-11-04  Jeff Law  <law@redhat.com>
5697
5698	PR middle-end/23181
5699	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Do not
5700	perform reassociation if the parent statement will not die as
5701	a result of the optimization.
5702
57032005-11-10  Daniel Berlin  <dberlin@dberlin.org>
5704
5705	* tree-ssa-alias.c (compute_may_aliases): Remove call to 
5706	delete_old_heap_vars.
5707	* tree-dfa.c (referenced_var_remove): Remove function.
5708	* tree-ssa.c (init_tree_ssa): Call init_alias_heapvars.
5709	(delete_tree_ssa): Remove call to delete_old_heapvars.
5710	Add call to delete_alias_heapvars.
5711	* tree-flow.h (referenced_var_remove): Remove prototype
5712	(init_alias_heapvars): New prototype.
5713	(delete_alias_heapvars): Ditto.
5714	* Makefile.in (tree-ssa-structalias.o): Add
5715	gt-tree-ssa-structalias.o
5716	(GTFILES): Add tree-ssa-structalias.h and
5717	tree-ssa-structalias.c.
5718	(s-gtype): Add gt-tree-ssa-structalias.h.
5719	* tree-ssa-structalias.c (heapvars): Remove.
5720	(oldheapvars): Remove.
5721	(heapvar_for_stmt): New variable.
5722	(heapvar_lookup): New function.
5723	(heapvar_insert): Ditto.
5724	(get_constraint_for): See if we have an old heapvar
5725	to reuse.
5726	(init_alias_heapvars): New function.
5727	(delete_alias_heapvars): Ditto.
5728	Add include of gt-tree-ssa-structalias.h.
5729
57302005-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5731
5732	PR middle-end/22127
5733	* calls.c (special_function_p): Set ECF_RETURNS_TWICE for getcontext.
5734
57352005-11-10  Eric Botcazou  <ebotcazou@adacore.com>
5736
5737	* tree.c (int_fits_type_p): Only look at the base type
5738	if it has the same precision as the original type.
5739
57402005-11-10  Jakub Jelinek  <jakub@redhat.com>
5741
5742	PR other/4372
5743	* varasm.c (assemble_alias): Use %q+D in the error
5744	message instead of %J and %qD.
5745
57462005-11-10  Richard Guenther  <rguenther@suse.de>
5747
5748	* gcse.c (free_ldst_entry): Only free hashtable if
5749	it exists.
5750
57512005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
5752
5753	* function.c (assign_stack_local_1): Issue an error message if
5754	the frame size overflows in the signed target arithmetics.
5755
57562005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
5757
5758	* tree.c (build_qualified_type): Chain the new type to the original
5759	type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
5760	a POINTER_TYPE or a REFERENCE_TYPE respectively.
5761	(build_pointer_type_for_mode): Only return unqualified types.
5762	(build_reference_type_for_mode): Likewise.
5763
57642005-11-09  Jakub Jelinek  <jakub@redhat.com>
5765
5766	* Makefile.in (gnucompare): Do comparison of all files using one of
5767	the chosen methods and only afterwards decide if just warning should
5768	be issued or comparison failure raised.
5769
57702005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
5771
5772	* ifcvt.c (noce_get_alt_condition): Use prev_nonnote_insn.
5773	(noce_try_abs): Negate if the comparison is reversed.
5774	Look only one instruction backwards for a REG_EQUAL note.
5775
57762005-11-09  Alexandre Oliva  <aoliva@redhat.com>
5777
5778	PR other/4372
5779	* gthr-dce.h, gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
5780	gthr-tpf.h: Define __gthrw.  For all identifiers that might
5781	be weak, introduce weakrefs or non-weak aliases with __gthrw,
5782	and prefix all uses with __ghtrw.
5783
57842005-11-09  Alexandre Oliva  <aoliva@redhat.com>
5785
5786	PR other/4372
5787	* tree.h (IDENTIFIER_TRANSPARENT_ALIAS): New.
5788	(TREE_DEPRECATED): Adjust comment.  Check for a DECL.
5789	* c-common.c (handle_weakref_attribute): New.
5790	(c_common_attribute_table): Add weakref.
5791	* configure.ac (HAVE_GAS_WEAKREF): Check for weakref support
5792	in the assembler.
5793	* configure, config.in: Rebuilt.
5794	* defaults.h (ASM_OUTPUT_WEAKREF): Define if HAVE_GAS_WEAKREF.
5795	* doc/extend.texi: Document weakref attribute.
5796	* varasm.c (ultimate_transparent_alias_target): New
5797	(assemble_name): Use it.
5798	(weak_finish_1): Split out of...
5799	(weak_finish): ... and deal with weakrefs in...
5800	(weakref_targets): ... new list.
5801	(globalize_decl): Clean up weakref_targets.
5802	(do_assemble_alias): Handle weakrefs.
5803	(finish_aliases_1): Do not reject weakrefs to external symbols.
5804	(assemble_alias): Handle weakrefs.
5805
58062005-11-09  Richard Guenther  <rguenther@suse.de>
5807
5808	PR tree-optimization/24716
5809	* tree-scalar-evolution.c (analyze_evolution_in_loop): Use
5810	t_bool to track results from follow_ssa_edge.
5811
58122005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
5813
5814	* final.c (force_source_line): New global variable.
5815	(final_scan_insn): Set it to true instead of clearing last_filename.
5816	(notice_source_line): Return true if force_source_line is true,
5817	unless source info is absent.
5818
58192005-11-09  Andrew Pinski  <pinskia@physics.uc.edu>
5820
5821	PR c/24644
5822	* dwarf2-out.c (add_name_and_src_coords_attributes): Don't add
5823	a linkage name for a variable if it a register variable.
5824	* c-decl.c (grokdeclarator): Global register variables
5825	should be set as PUBLIC.
5826
58272005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
5828
5829	PR 24624
5830	* config/s390/s390.c (struct s390_frame_layout): New fields 
5831	first_save_gpr_slot and last_save_gpr_slot.
5832	(cfun_grps_save_area_size, s390_frame_info, s390_emit_prologue,  
5833	s390_emit_epilogue, s390_initial_elimination_offset): Replaced 
5834	first_save_gpr and last_save_gpr with the _slot variants.
5835	(s390_register_info): Calculate first_save_gpr_slot and 
5836	last_save_gpr_slot using regs_ever_live.
5837
58382005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
5839
5840	PR 24623
5841	* config/s390/s390.c (s390_regs_ever_clobbered): Only save live eh regs
5842	for a function containing a landing pad.
5843
58442005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
5845
5846	PR 24034
5847	* flow.c (mark_set_1): Handle CLOBBERs like SETs if the register
5848	is live afterwards.
5849
58502005-11-08  Bernd Schmidt  <bernd.schmidt@analog.com>
5851
5852	* config/bfin/t-bfin-elf (MULTILIB_OPTIONS, MULTILIB_DEFAULTS,
5853	MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): New.
5854
58552005-11-09  Nathan Sidwell  <nathan@codesourcery.com>
5856
5857	Add ms2 support
5858	* config/ms1/ms1.md (UNSPEC_BLOCKAGE, UNSPEC_EI, UNSPEC_DI): New
5859	constants.
5860	(call,load,store): New insn types.
5861	(mem_access, branch_access): Adjust reservation conditions.
5862	(define_delay): Adjust condition.
5863	(decrement_and_branch_until_zero): Allow for ms2.  Set branch
5864	type.
5865	(*decrement_and_rbanch_until_zero_no_clobber): Allow for ms2.
5866	(*movqi_internal,*movsi_internal,*movsf_internal): Use load,store
5867	insn type.
5868	(call_internal, call_value_internal, return_internal,
5869	return_interrupt_internal, eh_return_internal, indirect_jump,
5870	tablejump): Set call insn type.
5871	(blockage, ei, di): Use appropriate unspec const.
5872	* config/ms1/ms1.c (ms1_flag_delayed_branch): New.
5873	(ms1_get_attr_type): Adjust to give load & store types.
5874	(ms1_final_prescan_insn): Adjust for new insn types.  Don't look
5875	backwards past a barrier.
5876	(ms1_override_options): Accept ms2 arch.  Copy and reset delayed
5877	branch scheduling.
5878	(struct branch_info, struct label_info): New.
5879	(ms1_labels): New.
5880	(ms1_add_branches, ms1_check_delay_slot, ms1_reorg_hazard): New.
5881	(ms1_machine_reorg): New.
5882	(TARGET_MACHINE_DEPENDENT_REORG): Override.
5883	* config/ms1/crtn.asm: Add nop for ms2 JAL hazard.
5884	* config/ms1/ms1.h (processor_type): Add PROCESSOR_MS2.
5885	(ASM_SPEC, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Add ms2.
5886	(TARGET_MS2): New.
5887
58882005-11-09  Per Bothner  <per@bothner.com>
5889	    Uros Bizjak  <uros@kss-loka.si>
5890	
5891	PR c/24101
5892	* toplev.c (process_options): Initialize debug_hooks early
5893	in case lang_hooks.post_options ends up calling a debug_hook.
5894
58952005-11-08  Jakub Jelinek  <jakub@redhat.com>
5896
5897	* dwarf2out.c (multiple_reg_loc_descriptor): Don't assume
5898	DBX_REGISTER_NUMBER being contiguous.
5899
59002005-11-08  James A. Morrison  <phython@gcc.gnu.org>
5901	    Diego Novillo  <dnovillo@redhat.com>
5902
5903	PR 23046
5904	* tree-vrp.c (register_edge_assert_for): Do not register
5905	always-false predicates.
5906
59072005-11-08  Devang Patel <dpatel@apple.com>
5908
5909	PR tree-optimization/23115
5910	* tree-if-conv.c (find_phi_replacement_condition): Check domninated_by
5911	relation.
5912
59132005-11-08  Joseph S. Myers  <joseph@codesourcery.com>
5914
5915	* config/rs6000/t-fprules (MULTILIB_MATCHES_FLOAT): Include
5916	-mcpu=440.
5917
59182005-11-08  Daniel Berlin  <dberlin@dberlin.org>
5919
5920	Fix PR tree-optimization/23382
5921
5922	* tree-ssa-alias.c (compute_may_aliases): Call
5923	delete_old_heap_vars.
5924	* tree-dfa.c (referenced_var_remove): New function.
5925	* tree-ssa.c (delete_tree_ssa): Call delete_old_heap_vars.
5926	* tree-flow.h (referenced_var_remove): Add prototype.
5927	(delete_old_heap_vars): Ditto.
5928	* tree-ssa-structalias.c (heapvars): New variable.
5929	(oldheapvars): Ditto.
5930	(get_constraint_for): Put heap vars on heapvars list.
5931	(delete_old_heap_vars): New function.
5932	
59332005-11-08  Jason Merrill  <jason@redhat.com>
5934
5935	* tree.h (CALL_FROM_THUNK_P): Add CALL_EXPR_CHECK.
5936
59372005-11-08  Uros Bizjak  <uros@kss-loka.si>
5938
5939	PR target/19340
5940	* reg-stack.c (reg_to_stack): Update register liveness also
5941	for flag_sched2_use_traces.
5942
59432005-11-08  Alan Modra  <amodra@bigpond.net.au>
5944
5945	PR target/23704
5946	* config/rs6000/rs6000.c (rs6000_handle_option <OPT_m64>): Don't
5947	override prior explicit -mno-powerpc-gfxopt.
5948
59492005-11-07  Eric Botcazou  <ebotcazou@adacore.com>
5950
5951	* expmed.c (extract_bit_field): Do not use insv/extv/extzv patterns
5952	if the bitsize is zero.
5953	* doc/md.texi (Standard Pattern Names): Document it.
5954
5955	* config/ia64/ia64.c (ia64_pass_by_reference): Delete.
5956	(TARGET_PASS_BY_REFERENCE): Likewise.
5957
59582005-11-07  Ian Lance Taylor  <ian@airs.com>
5959
5960	PR rtl-optimization/24683
5961	* config/i386/i386.c (legitimize_pic_address): If constant operand
5962	to PLUS is too large, put it in a register.
5963
59642005-11-07  Jie Zhang  <jie.zhang@analog.com>
5965
5966	* configure.ac: Enable checking assembler dwarf2 support for bfin
5967	target.
5968	* configure: Regenerate.
5969
59702005-11-07  Paolo Bonzini  <bonzini@gnu.org>
5971
5972	PR target/24230
5973
5974	* config/rs6000/rs6000.c (easy_vector_splat_const, easy_vector_same,
5975	gen_easy_vector_constant_add_self): Delete.
5976	(vspltis_constant, easy_altivec_constant, gen_easy_altivec_constant):
5977	New.
5978	(output_vec_const_move): Use gen_easy_altivec_constant.
5979	(rs6000_expand_vector_init): Do not emit a set of a VEC_DUPLICATE.
5980	* config/rs6000/predicates.md (easy_vector_constant): Reorganize tests.
5981	(easy_vector_constant_add_self): Rewritten.
5982	* config/rs6000/rs6000-protos.h (easy_vector_splat_const,
5983	easy_vector_same, gen_easy_vector_constant_add_self): Remove prototype.
5984	(easy_altivec_constant, gen_easy_altivec_constant): Add prototype.
5985	* config/rs6000/altivec.md (easy_vector_constant_add_self splitters):
5986	Macroize and adjust for the other changes.
5987
59882005-11-07  Paolo Bonzini  <bonzini@gnu.org>
5989
5990	PR c/24599
5991
5992	* c-typeck.c (build_c_cast): Try using a shared constant, and see
5993	if TREE_OVERFLOW or TREE_CONSTANT_OVERFLOW really changed.
5994
59952005-11-07  Jakub Jelinek  <jakub@redhat.com>
5996
5997	PR rtl-optimization/23567
5998	* ifcvt.c (noce_mem_write_may_trap_or_fault_p): New function.
5999	(noce_process_if_block): Don't do any optimizations except
6000	if (cond) x = x; if !set_b and write into orig_x may trap
6001	or fault.  Remove the MEM_READONLY_P check.
6002
60032005-11-06  Diego Novillo  <dnovillo@redhat.com>
6004
6005	PR 24670
6006	* tree-vrp.c (fix_equivalence_set): New.
6007	(extract_range_from_assert): Call it.
6008
60092005-11-05  Ian Lance Taylor  <ian@airs.com>
6010
6011	PR target/22432
6012	* combine.c (apply_distributive_law): Don't distribute across a
6013	vector mode subreg.
6014
60152005-11-05  Kazu Hirata  <kazu@codesourcery.com>
6016
6017	* c-typeck.c, config/i386/netware.h, config/m32c/cond.md,
6018	config/ms1/ms1.h, config/rs6000/predicates.md,
6019	config/s390/s390.c, params.def, postreload-gcse.c,
6020	tree-flow-inline.h, tree-ssa-operands.c, tree-vectorizer.c,
6021	tree-vrp.c, tree.c: Fix comment typos.
6022	* doc/invoke.texi: Fix typos.
6023
60242005-11-05  Sebastian Pop  <pop@cri.ensmp.fr>
6025
6026	* lambda-code.c (lambda_transform_legal_p): Use DDR_NUM_DIST_VECTS
6027	for testing whether the data_dependence_relation contains distance
6028	vectors.  Iterate over all distance vectors of the ddr.
6029	* lambda.h: Define a vec of lambda_vector pointers.
6030	* tree-data-ref.c (dump_data_dependence_relation,
6031	dump_data_dependence_direction): Iterate over all distance and
6032	direction vectors of the ddr.
6033	(initialize_data_dependence_relation): Initialize DDR_DIR_VECTS and
6034	DDR_DIST_VECTS.
6035	(build_classic_dist_vector, build_classic_dir_vector): Push a set
6036	of distance/direction vectors instead of a single one.
6037	* tree-data-ref.h (dir_vects, dist_vects): Replace dir/dist 
6038	lambda_vectors with a vec of lambda_vectors.
6039	(DDR_DIR_VECT, DDR_DIST_VECT): Redefined as operations on vec.
6040	(DDR_DIR_VECTS, DDR_DIST_VECTS, DDR_NUM_DIR_VECTS,
6041	DDR_NUM_DIST_VECTS): New.
6042	* tree-loop-linear.c (gather_interchange_stats): Test for the
6043	existence of distance vectors only after having checked that there
6044	is a dependence.  Iterate over all distance vectors of the ddr.
6045	(linear_transform_loops): Use dump_data_dependence_relation.
6046	* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Test for
6047	distance vectors using DDR_NUM_DIST_VECTS.  Iterate over all the
6048	distance vectors of the ddr.
6049
60502005-11-05  Bernd Schmidt  <bernd.schmidt@analog.com>
6051
6052	* config/bfin/bfin.c (n_dregs_to_save, n_pregs_to_save,
6053	expand_prologue_reg_save, expand_epilogue_reg_restore): New argument
6054	IS_INTHANDLER; all callers changed.
6055	(n_regs_saved_by_prologue): Take interrupt handler attributes into
6056	account.
6057	(do_link, do_unlink): New argument ALL; all callers changed.
6058	(expand_interrupt_handler_prologue, expand_interrupt_handler_epilogue):
6059	If function isn't leaf, save and restore all registers.
6060	(bfin_function_ok_for_sibcall): Only true if not an interrupt or
6061	exception handler.
6062
60632005-11-05  Jan Hubicka  <jh@suse.cz>
6064
6065	PR rtl-optimization/23490
6066	* doc/invoke.texi (max-predicted-iterations, max-cse-insns,
6067	max-flow-memory-location): Document.
6068	* flow.c: Include params.h
6069	(MAX_MEM_SET_LIST_LEN): Kill.
6070	(add_to_mem_set_list): Use new param.
6071	* cse.c (cse_basic_block): Replace 1000 by new param.
6072	* params.def (PARAM_MAX_PREDICTED_ITERATIONS, PARAM_MAX_CSE_INSNS,
6073	PARAM_MAX_FLOW_MEMORY_LOCATIONS): New.
6074	* predict.c (predict_loops): Use new param.
6075	* predict.def (MAX_PRED_LOOP_ITERATIONS): Remove.
6076
6077	* ipa-inline.c (cgraph_decide_inlining_of_small_function, 
6078	cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
6079	Do not hold memory returned by cgraph_node_name across other call.
6080
60812005-11-04  Hans-Peter Nilsson  <hp@axis.com>
6082
6083	PR target/23424
6084	* config/cris/predicates.md ("cris_bdap_sign_extend_operand"):
6085	Disable.
6086
60872005-11-04  Jeff Law  <law@redhat.com>
6088
6089	PR/21883
6090	* doc/invoke.texi: Document max-jump-thread-duplication-stmts PARAM.
6091	* tree-ssa-dom.c: Include params.h.
6092	(thread_across_edge): If there are too many statements in the
6093	target block, then do not thread through it.
6094	* Makefile.in (tree-ssa-dom.o): Depend on $(PARAMS_H).
6095	* params.def (PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS): New PARAM.
6096
60972005-11-03  Diego Novillo  <dnovillo@redhat.com>
6098
6099	PR 24627
6100	* tree-ssa-dce.c (pass_dce, pass_dce_loop, pass_cd_dce): Use
6101	TODO_update_ssa instead of TODO_update_ssa_no_phi.
6102
61032005-11-04  Sebastian Pop  <pop@cri.ensmp.fr>
6104
6105	PR/18595
6106	* tree-scalar-evolution.c (instantiate_parameters_1,
6107	instantiate_parameters, resolve_mixers): Compute the size of an
6108	expression to be instantiated and give up the instantiation if the
6109	size exceeds PARAM_SCEV_MAX_EXPR_SIZE.
6110
61112005-11-04  Richard Guenther  <rguenther@suse.de>
6112
6113	* tree-flow.h (ref_contains_indirect_ref): Rename to
6114	array_ref_contains_indirect_ref.
6115	* tree-flow-inline.h (ref_contains_indirect_ref): Likewise.
6116	(array_ref_contains_indirect_ref): Make comment match the code
6117	and vice-versa.
6118	(ref_contains_array_ref): Likewise.
6119	* tree-ssa-structalias.c (find_func_aliases): Remove call to
6120	ref_contains_indirect_ref.
6121	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
6122	Rename calls to ref_contains_indirect_ref.
6123
61242005-11-04 Paul Brook  <paul@codesourcery.com>
6125
6126	* config/arm/arm.c (arm_load_pic_register): Pass extra reg to
6127	gen_pic_add_dot_plus_four and gen_pic_add_dot_plus_eight.
6128	(arm_call_tls_get_addr, legitimize_tls_address): Likewise.
6129	* config/arm/arm.md: Use match_operand in peephole input templates
6130	and match_dup in peephole output templates.
6131
61322005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
6133
6134	* config/arm/arm.c (arm_init_libfuncs): Use __aeabi_idiv and
6135	__aeabi_uidiv.
6136
61372005-11-04  Mark Mitchell  <mark@codesourcery.com>
6138	    Daniel Jacobowitz  <dan@codesourcery.com>
6139
6140	* longlong.h (add_ssaaaa): Clobber condition code register
6141	in ARM version.
6142	(sub_ddmmss): Likewise.
6143	(umul_ppmm): Likewise.
6144
61452005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
6146	    Paul Brook  <paul@codesourcery.com>
6147	    Phil Blundell  <pb@reciva.com>
6148
6149	* configure.ac: Add test for ARM TLS support.
6150	* configure: Regenerated.
6151	* config/arm/arm-protos.h (legitimize_tls_address)
6152	(arm_tls_referenced_p, tls_mentioned_p)
6153	(arm_output_addr_const_extra): New prototypes.
6154	(thumb_legitimize_pic_address): Delete.
6155	* config/arm/arm.c: Include "gt-arm.h".
6156	(enum tls_reloc): New.
6157	(arm_cannot_copy_insn_p, arm_tls_symbol_p, load_tls_operand)
6158	(pcrel_constant_p, get_tls_get_addr, arm_load_tp)
6159	(arm_call_tls_get_addr, legitimize_tls_address)
6160	(arm_tls_referenced_p, arm_tls_operand_p_1, tls_mentioned_p)
6161	(arm_init_tls_builtins, arm_emit_tls_decoration)
6162	(arm_output_addr_const_extra): New functions.
6163	(TARGET_CANNOT_COPY_INSN_P, TARGET_CANNOT_FORCE_CONST_MEM)
6164	(TARGET_HAVE_TLS): Define.
6165	(target_thread_pointer): New.
6166	(arm_override_options): Handle -mtp=.
6167	(legitimize_pic_address): Ignore UNSPECs.
6168	(arm_legitimate_address_p, thumb_legitimate_address_p): Handle PC
6169	relative symbols.
6170	(arm_legitimize_address, thumb_legitimize_address): Handle TLS.
6171	(tls_get_addr_libfunc): New variable.
6172	(symbol_mentioned_p, label_mentioned_p): Ignore UNSPEC_TLS.
6173	(arm_init_builtins): Call arm_init_tls_builtins.
6174	(arm_expand_builtin): Handle ARM_BUILTIN_THREAD_POINTER.
6175	(arm_encode_section_info): Call default_encode_section_info.
6176	* config/arm/arm.h (TARGET_HARD_TP, TARGET_SOFT_TP): Define.
6177	(enum arm_tp_type): New.
6178	(target_thread_pointer): Add declaration.
6179	(LEGITIMATE_CONSTANT_P): Handle TLS.
6180	(LEGITIMATE_PIC_OPERAND_P): Handle TLS.
6181	(OUTPUT_ADDR_CONST_EXTRA): Call arm_output_addr_const_extra.
6182	(enum arm_builtins): Add ARM_BUILTIN_THREAD_POINTER.
6183	* config/arm/arm.md: Add UNSPEC_TLS.
6184	(movsi): Handle TLS.
6185	(pic_add_dot_plus_four, pic_add_dot_plus_eight): Allow for
6186	non-PIC.
6187	(tls_load_dot_plus_eight): New insn and a peephole to create it.
6188	(load_tp_hard, load_tp_soft): New insns.
6189	* arm.opt: Add -mtp=.
6190	* doc/invoke.texi (ARM Options): Document -mtp.
6191
61922005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
6193
6194	* config/arm/lib1funcs.asm: Don't include "libunwind.S".
6195	* config/arm/libunwind.S: Include "lib1funcs.asm".
6196	* config/arm/t-bpabi (LIB1ASMFUNCS): Remove _unwind.
6197	(LIB2ADDEH): Add libunwind.S.
6198	(LIB2ADDEHDEP): Add lib1funcs.asm.
6199	* mklibgcc.in: Handle asm files in libgcc_eh.a.
6200
62012005-11-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
6202
6203	PR fortran/18452
6204	* c.opt: Add a -lang-fortran option.
6205	* c-opts.c: Add a lang_fortran flag.
6206	(c_common_init_options): Handling the -lang-fortran option.
6207	(c_common_handle_option): Add a case for Fortran options in
6208	preprocessing. Remove cases for -ffixed-form and
6209	-ffixed-line-length. Add a case for -lang-fortran.
6210
62112005-11-03  David Edelsohn  <edelsohn@gnu.org>
6212
6213	* config/rs6000/rs6000.c: Include params.h
6214	(optimization_options): Set max-grow-copy-bb-insns default to 16.
6215	(bdesc_2arg): Delete vpkuhss and vpkuwss.
6216	* config/rs6000/altivec.md (UNSPEC_VPKUHSS): Delete.
6217	(UNSPEC_VPKUWSS): Delete.
6218	(altivec_vpkuhss): Delete.
6219	(altivec_vpkuwss): Delete.
6220	* config/rs6000/rs6000.md (plus_eqsi): Remove optimize_size from
6221	final condition.
6222	(neg_eq0<mode>): Remove final condition.
6223	(neg_eq<mode>): Remove condition and split-condition.
6224
62252005-11-04  Alan Modra  <amodra@bigpond.net.au>
6226
6227	* config/rs6000/rs6000.c (output_toc): Make "offset" HOST_WIDE_INT.
6228	Use associated print macros.
6229
62302005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
6231
6232	PR c++/17964
6233	* diagnostic.c (diagnostic_set_info_translated): New function.
6234	(diagnostic_set_info): Use it.  Add comment.
6235	* diagnostic.h (diagnostic_set_info_translated): Declare.
6236
62372005-11-03  Eric Botcazou  <ebotcazou@adacore.com>
6238
6239	* dwarf2asm.c (dw2_force_const_mem): Add new parameter 'public'.
6240	On USE_LINKONCE_INDIRECT platforms, build a DECL_ONE_ONLY indirect
6241	reference only if 'public' is true.
6242	(dw2_output_indirect_constant_1): On USE_LINKONCE_INDIRECT platforms,
6243	emit the .hidden directive only if the indirect reference is public.
6244	(dw2_asm_output_encoded_addr_rtx): Add new parameter 'public'.
6245	Pass it to dw2_force_const_mem.
6246	* dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): New param 'public'.
6247	* dwarf2out.c (output_cfi): Adjust calls to above function.
6248	(output_call_frame_info): Likewise.
6249	* except.c (output_ttype): Pass TREE_PUBLIC of the type_info object
6250	as 'public' argument to dw2_asm_output_encoded_addr_rtx.
6251
62522005-11-03  Zdenek Dvorak  <dvorakz@suse.cz>
6253
6254	PR tree-optimization/24483
6255	* tree-ssa-loop-ivopts.c (aff_combination_add_elt): Move rest
6256	field to elts if possible.
6257
62582005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
6259
6260	PR middle-end/23155
6261	* gimplifier.c (gimplify_expr): Create a temporary for lvalue
6262	CONSTRUCTOR.
6263
62642005-11-03  Daniel Berlin  <dberlin@dberlin.org>
6265
6266	Fix PR tree-optimization/24351
6267
6268	* tree-ssa-structalias.c (struct variable_info): Add
6269	collapsed_into.
6270	(get_varinfo_fc): New function to follow collapsing.
6271	(new_var_info): Set collapsed_to to NULL.
6272	(dump_constraint): Follow collapsing.
6273	(build_constraint_graph): Handle collapsing.
6274	(do_simple_structure_copy): Return false if something bad
6275	happened.
6276	(collapse_rest_of_var): New function.
6277	(do_structure_copy): Collapse if do_simple_structure_copy returns
6278	false.
6279	
62802005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
6281
6282	PR middle-end/24589
6283	* gimplify.c (gimplify_expr) <case CONSTRUCTOR>: Add the
6284	expressions to a statement list instead of gimplifying them.
6285
62862005-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
6287
6288	PR rtl-optimization/23585
6289	* rtlanal.c (rtx_addr_can_trap_p_1) <PLUS>: Return 0 for an address
6290	that can't trap plus a constant integer, if the mode has zero size.
6291
62922005-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
6293
6294	PR target/24620
6295	* config/s390/s390.md ("*insv<mode>_reg_imm"): Accept any CONST_INT
6296	as operand 2.
6297	("*insv<mode>_reg_extimm"): Likewise.
6298
62992005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
6300
6301	PR c/24329
6302	* c-pretty-print.c (pp_c_type_specifier): Do not recurse if
6303	c_common_type_for_mode returns an unnamed type.
6304
63052005-11-02  Richard Henderson  <rth@redhat.com>
6306
6307	PR target/9350
6308	PR target/24374
6309	* dwarf2out.c (dwarf2out_reg_save_reg): New.
6310	(dwarf2out_frame_debug_expr): Return after dwarf_handle_frame_unspec.
6311	* function.c (assign_parms): Use calls.internal_arg_pointer.
6312	(expand_main_function): Remove FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN
6313	code.
6314	* target-def.h (TARGET_INTERNAL_ARG_POINTER): New.
6315	(TARGET_CALLS): Add it.
6316	* target.h (struct gcc_target): Add calls.internal_arg_pointer.
6317	* targhooks.c (default_internal_arg_pointer): New.
6318	* targhooks.h (default_internal_arg_pointer): Declare.
6319	* tree.h (dwarf2out_reg_save_reg): Declare.
6320	* doc/tm.texi (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Remove.
6321	* config/i386/i386.c (dbx_register_map): Add return column.
6322	(dbx64_register_map, svr4_dbx_register_map): Likewise.
6323	(TARGET_INTERNAL_ARG_POINTER, ix86_internal_arg_pointer): New.
6324	(TARGET_DWARF_HANDLE_FRAME_UNSPEC, ix86_dwarf_handle_frame_unspec): New.
6325	(ix86_function_ok_for_sibcall): Disable if force_align_arg_pointer.
6326	(ix86_save_reg): Save force_align_arg_pointer.
6327	(ix86_emit_save_regs): Make regno unsigned.
6328	(ix86_emit_save_regs_using_mov): Likewise.
6329	(ix86_expand_prologue): Handle force_align_arg_pointer.
6330	(ix86_expand_epilogue): Likewise.
6331	* config/i386/i386.h: (dbx_register_map): Update.
6332	(dbx64_register_map, svr4_dbx_register_map): Update.
6333	(struct machine_function): Add force_align_arg_pointer.
6334	* config/i386/i386.md (UNSPEC_REG_SAVE, UNSPEC_DEF_CFA): New.
6335	(UNSPEC_TP, UNSPEC_TLS_GD, UNSPEC_TLS_LD_BASE): Renumber.
6336	(TARGET_PUSH_MEMORY peepholes): Disable if RTX_FRAME_RELATED_P.
6337
63382005-11-02  Jan Hubicka  <jh@suse.cz>
6339
6340	PR target/23303
6341	* i386.md: Add peep2 for simplyfing array accesses.
6342
63432005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
6344
6345	PR target/24615
6346	* config/s390/s390-protos.h (s390_decompose_shift_count): Declare.
6347	* config/s390/s390.c (s390_decompose_shift_count): New function.
6348	(s390_extra_constraint_str) ['Y']: Use s390_decompose_shift_count.
6349	(print_shift_count_operand): Use s390_decompose_shift_count.
6350	* config/s390/predicates.md ("setmem_operand", "shift_count_operand"):
6351	Use s390_decompose_shift_count.  Do not accept any non-base hard regs.
6352
63532005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
6354
6355	PR target/24600
6356	* loop.c (loop_givs_rescan): Use force_operand to expand
6357	complex GIVs.
6358
63592005-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
6360
6361	PR 22429
6362	* fold-const.c (build_range_check): Use unsigned when signed
6363	overflow is undefined also.  If etype is subtype, make sure that
6364	the subtraction is in the supertype.
6365
63662005-11-02  Richard Henderson  <rth@redhat.com>
6367
6368	PR target/24178
6369	* config/alpha/alpha.c (get_aligned_mem): Honor alignment given
6370	by MEM_ALIGN.
6371
63722005-11-01  Richard Henderson  <rth@redhat.com>
6373
6374	PR 21518
6375	* loop.c (scan_loop): Do not propagate computations to a hard
6376	register destination with SMALL_REGISTER_CLASSES.
6377
63782005-11-01  Joseph S. Myers  <joseph@codesourcery.com>
6379
6380	* config/rs6000/rs6000.c (rs6000_rtx_costs): Do not add extra
6381	costs for MULT inside PLUS or MINUS.
6382
63832005-11-01  Bob Wilson  <bob.wilson@acm.org>
6384
6385	* config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Add a byte of padding.
6386	(TRAMPOLINE_SIZE): Round up to 60.
6387	* config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Likewise.
6388
63892005-10-31  James E. Wilson  <wilson@specifix.com>
6390
6391	PR debug/24444
6392	* dwarf2out.c (convert_cfa_to_loc_list): Put inside DWARF2_UNWIND_INFO
6393	ifdef.  Put ifdefs around call in gen_subprogram_die.
6394	(compute_frame_pointer_to_cfa_displacement): Likewise.
6395	(gen_subprogram_die): Restore old code for when DWARF2_UNWIND_INFO is
6396	not defined.
6397	
6398	PR rtl-optimization/17356
6399	*  cfgrtl.c (purge_dead_edges): Undo last change.  In EDGE_EH code,
6400	add check for CALL_INSN if EDGE_ABRNOMAL_CALL true.
6401
64022005-10-31  Jan Hubicka  <jh@suse.cz>
6403
6404	PR middle-end/24093
6405	* cgraph.c (cgraph_clone_edge, cgraph_clone_node): Watch negative
6406
6407	PR target/20928
6408	* i386.c (legitimize_pic_address): Deal with large immediates.
6409
6410	PR profile/20815
6411	* coverage.c (coverage_checksum_string): Fix code to stip random seeds
6412	from symbol names while computing checkup.
6413
6414	PR profile/24487
6415	* predict.c (predict_loops): Do not estimate more than
6416	MAX_PRED_LOOP_ITERATIONS in PRED_LOOP_ITERATIONS heuristic.
6417	* predict.def (MAX_PRED_LOOP_ITERATIONS): Define.
6418
64192005-10-31  Andrew MacLeod  <amacleod@redhat.com>
6420	
6421	PR tree-optimization/19097
6422	* tree-ssa-operands.c (correct_use_link): Don't look for modified stmts.
6423
64242005-10-31  J"orn Rennecke <joern.rennecke@st.com>
6425
6426	* optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account.
6427
64282005-10-31  Andrew Pinski  <pinskia@physics.uc.edu>
6429
6430	PR middle-end/23492
6431	* tree-inline.c (setup_one_parameter): If the init_stmt
6432	is NULL, don't insert the statement.
6433
64342005-10-30  Jan Hubicka  <jh@suse.cz>
6435
6436	PR tree-optimization/24172
6437	* tree-inline.c (copy_body_r): Unshare the substituted value first.
6438
64392005-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
6440
6441	* config/mmix/mmix.c (mmix_intval): Correct handling of DFmode
6442	constants for hosts with long != 32 bits.
6443
64442005-10-28  Andreas Krebbel <krebbel1@de.ibm.com>
6445
6446	PR middle-end/24093
6447	* ipa-inline.c (craph_decide_recursive_inlining): Fix return value.
6448
64492005-10-28  Aldy Hernandez  <aldyh@redhat.com>
6450
6451	* config/ms1/ms1.h (TARGET_MS1_64_001): New.
6452	(TARGET_MS1_16_002): New.
6453	(TARGET_MS1_16_003): New.
6454
6455	* config/ms1/ms1.md ("decrement_and_branch_until_zero"): Rewrite.
6456	("*decrement_and_branch_until_zero_no_clobber"): New.
6457	Add corresponding splitter for decrement_and_branch_until_zero
6458	instruction.
6459	Key all decrement_and_branch_until_zero patterns off of
6460	TARGET_MS1_16_003.
6461
64622005-10-28  Andrew Pinski  <pinskia@physics.uc.edu>
6463
6464	PR middle-end/24362
6465	* tree-complex.c (extract_component): Treat RESULT_DECL
6466	like the rest of the decls.
6467
64682005-10-25  Eric Botcazou  <ebotcazou@adacore.com>
6469
6470	* config/ia64/ia64.c (ia64_output_function_profiler): Emit an
6471	indirect call to _mcount if the function needs a static chain.
6472
64732005-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
6474	    Caroline Tice  <ctice@apple.com>
6475
6476	PR rtl-optimization/24460
6477	* dwarf2out.c (have_switched_text_sections): New boolean variable.
6478	(dwarf2out_switch_text_section): Set it to true instead of
6479	incrementing separate_line_info_table_in_use.
6480	(output_loc_list): Additionally test have_switched_text_sections.
6481	(output_ranges): Likewise.
6482	(dwarf2out_finish): Likewise.
6483	* varasm.c (assemble_start_function): Do not call
6484	insert_section_boundary_note.
6485	(assemble_end_function): If flag_reorder_blocks_and_partition,
6486	switch to the function's section before emitting the .size directive.
6487	* bb-reorder.c (insert_section_boundary_note): Staticify.
6488	(rest_of_handle_reorder_blocks): Call insert_section_boundary_note.
6489	* output.h (insert_section_boundary_note): Delete.
6490
64912005-10-24  Andrew Pinski  <pinskia@physics.uc.edu>
6492
6493	PR c/23103
6494	* c-format.c (check_format_types): Use lang_hooks.types_compatible_p
6495	instead of pointer equality when comparing types.
6496
64972005-10-24  James E. Wilson  <wilson@specifix.com>
6498
6499	* sched-deps.c (flush_pending_lists): Pass 1 not 0 in first two
6500	add_dependence_list_and_free calls.
6501
65022005-10-24  Steven Bosscher  <stevenb@suse.de>
6503
6504	* contrib.texi: Add the names of the LLNL folks who donated
6505	Cray pointer support for gfortran.
6506
65072005-10-24  Steven Bosscher  <stevenb@suse.de>
6508
6509	PR tree-optimization/24225
6510	* profile.c (branch_prob): Look from end to start through a
6511	basic block when looking for a locus.
6512
65132005-10-24  Richard Henderson  <rth@redhat.com>
6514
6515	* pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
6516	parallel.
6517	(hppa_expand_prologue): Likewise.
6518
65192005-10-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6520
6521	* pa-linux.h (NO_PROFILE_COUNTERS): Delete define.
6522	(NO_DEFERRED_PROFILE_COUNTERS): Define.
6523	* pa.h (NO_PROFILE_COUNTERS): Define.
6524	* pa.c (NO_DEFERRED_PROFILE_COUNTERS): Define if not defined.
6525	(funcdef_nos): New vector to hold label numbers of deferred profile
6526	counters.
6527	(output_deferred_profile_counters): New function.
6528	(hppa_profile_hook): Push label number onto funcdef_nos.
6529	(pa_hpux_file_end): Call output_deferred_profile_counters if
6530	NO_DEFERRED_PROFILE_COUNTERS is false.
6531
6532	* pa-protos.h (get_deferred_plabel): New prototype.
6533	* pa.c (get_plabel): Rename to get_deferred_plabel.  Return plabel.
6534	Make global.
6535	(output_call): Adjust calls.
6536
65372005-10-24  Alan Modra  <amodra@bigpond.net.au>
6538
6539	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Explain
6540	peculiarity of GOT/TOC section usage.
6541
65422005-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
6543
6544	PR objc/24435
6545	 * c-common.c (constant_string_class_name): Add documentation.
6546
65472005-10-23  Kaz Kojima  <kkojima@gcc.gnu.org>
6548
6549	PR target/23832
6550	* recog.c (peephole2_optimize): Increment peep2_current_count
6551	only when the slot is empty.
6552
65532005-10-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6554
6555	PR ada/23957
6556	* except.c (output_function_exception_table): Call
6557	assemble_external_libcall if we need a personality function.
6558
65592005-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
6560
6561	PR rtl-optimization/24460
6562	* bb-reorder.c (fix_crossing_unconditional_branches): Do not
6563	set the basic block for barriers.
6564
65652005-10-21  Janis Johnson  <janis187@us.ibm.com>
6566
6567	* var-tracking.c (vt_initialize): Initialize post.
6568
65692005-10-21  Devang Patel  <dpatel@apple.com>
6570
6571	PR/24220
6572	* c-common.c (vector_types_convertible_p): Check vector element type.
6573	
65742005-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
6575
6576	* config/sh/sh.c (prepare_move_operands): Handle the address
6577	constant which is a tls symbolic address plus a constant.
6578
65792005-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
6580
6581	PR driver/24473
6582	* gcc.c (main): Use the correct counter for erroring out
6583	about mulitple files.
6584
65852005-10-21  Alan Modra  <amodra@bigpond.net.au>
6586
6587	PR target/24465
6588	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Always
6589	use r2 for 64-bit tls .got access.
6590
65912005-10-21  Paolo Bonzini  <bonzini@gnu.org>
6592
6593	* dojump.c (do_jump): Handle side-effecting TRUTH_AND_EXPR and
6594	TRUTH_OR_EXPR.
6595
65962005-10-20  Steven Bosscher  <stevenb@suse.de>
6597
6598	PR tree-optimization/24307
6599	* tree-cfg.c (tree_find_edge_insert_loc): Handle naked RETURN_EXPR.
6600
66012005-10-20  Alexandre Oliva  <aoliva@redhat.com>
6602
6603	PR middle-end/24295
6604	* cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Mark
6605	alias targets.
6606	* varasm.c (find_decl_and_mark_needed): After cgraph global info
6607	is ready, stop marking functions, but still mark variables.
6608
66092005-10-20  Richard Guenther  <rguenther@suse.de>
6610
6611	PR c++/24439
6612	* fold-const.c (invert_truthvalue): Handle COND_EXPR with
6613	void type operands.
6614
66152005-10-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
6616
6617	PR rtl-optimization/23585
6618	* rtlanal.c (rtx_addr_can_trap_p_1): New predicate extracted from...
6619	(rtx_addr_can_trap_p): ... here.  Invoke rtx_addr_can_trap_p_1.
6620	(may_trap_p_1): New predicate extracted from...
6621	(may_trap_p): ... here.  Invoke may_trap_p_1.
6622	(may_trap_or_fault_p): New predicate.
6623	* rtl.h (may_trap_or_fault_p): Declare it.
6624	* reorg.c (steal_delay_list_from_target): Use may_trap_or_fault_p
6625	instead of may_trap_p.
6626	(steal_delay_list_from_fallthrough): Likewise.
6627	(fill_simple_delay_slots): Likewise.
6628	(fill_slots_from_thread): Likewise.
6629	* function.c (pad_to_arg_alignment): Rework comment about
6630	SPARC_STACK_BOUNDARY_HACK.
6631	* config/sparc/sparc.h: Likewise.
6632
66332005-10-19  Adrian Straetling  <straetling@de.ibm.com>
6634
6635	* config/s390/s390.c (s390_expand_insv): New.
6636	* config/s390/s390-protos.h (s390_expand_insv): Declare.
6637	* config/s390/s390.md ("UNSPEC_SETHIGH"): Rename to "UNSPEC_ICM".
6638	("icm_hi"): Remove mode attribute.
6639	("*sethigh<mode><mode>"): Rewrite to "sethighpart<mode>".
6640	Adjust all uses.
6641	("*extracthi", "*extractqi"): Remove.
6642	(extv<mode>", "*extzv<mode>"): New.
6643	("insv", "*insv<mode>_mem_reg", "*insvdi_mem_reghigh",
6644	"*insv<mode>_reg_imm", "*insv<mode>_reg_extimm"): New.
6645
66462005-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6647
6648	* cfgexpand.c (discover_nonconstant_array_refs_r,
6649	discover_nonconstant_array_refs): Move here from tree-outof-ssa.c
6650	(tree_expand_cfg): Call discover_nonconstant_array_refs.
6651	* tree-outof-ssa.c (rewrite_out_of_ssa): Remove call to
6652	discover_nonconstant_array_refs.
6653
66542005-10-19  Steven Bosscher  <stevenb@suse.de>
6655
6656	PR c/23228
6657	* c-decl.c (pop_scope): Don't warn about an unused variable
6658	if it is marked with TREE_NO_WARNING.
6659	(duplicate_decls): Set TREE_NO_WARNING if olddecl and newdecl
6660	somenow mismatch and olddecl is to be replaced.
6661
66622005-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
6663
6664	PR middle-end/23199
6665	* cfgrtl.c (safe_insert_insn_on_edge): Use can_copy_p to detect
6666	whether registers live on the edge can be saved/restored.
6667
66682005-10-19  Kaz Kojima  <kkojima@gcc.gnu.org>
6669
6670	* config/sh/sh.c (fixup_mova): Skip notes.
6671
66722005-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6673
6674	* config/s390/s390-protos.h (s390_hard_regno_rename_ok): Add prototype.
6675	* config/s390/s390.c (s390_hard_regno_rename_ok): New function.
6676	(s390_can_eliminate): Handle BASE_REGNUM elimination.
6677	(s390_initial_elimination_offset): Likewise.
6678	(s390_conditional_register_usage): BASE_REGNUM is no longer a fixed
6679	register on TARGET_ZARCH targets.
6680	* config/s390/s390.h (HARD_REGNO_RENAME_OK): Define
6681	(INITIAL_FRAME_POINTER_OFFSET): Remove.
6682	(REG_ALLOC_ORDER): Move BASE_REGNUM lower.
6683	(ELIMINABLE_REGS): Add BASE_REGNUM elimination rule.
6684
66852005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
6686
6687	* config/s390/s390.md: Comment describing output modifiers updated.
6688	* config/s390/s390.c (print_operand): Likewise.
6689
66902005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
6691
6692	* config/s390/s390.c (override_options): Added check for -mstack-size
6693	64k limitation.
6694	* doc/invoke.texi: Mention that limit in the documenation.
6695
66962005-10-18  Paolo Bonzini  <bonzini@gnu.org>
6697
6698	PR #19672
6699	* dojump.c (do_jump): Handle TRUTH_AND_EXPR and TRUTH_OR_EXPR here.
6700
67012005-10-18  Daniel Berlin <dberlin@dberlin.org>
6702
6703	Fix PR tree-optimization/24231
6704
6705	* tree-ssa-pre.c (try_look_through_load): Skip abnormal phi names
6706	(compute_avail): Ditto.
6707
67082005-10-18  Richard Henderson  <rth@redhat.com>
6709
6710	PR target/24428
6711	* config/i386/i386.c (legitimate_constant_p): Check
6712	SYMBOL_REF_TLS_MODEL directly.  Don't fallthru to SYMBOL_REF
6713	if LABEL_REF.
6714	(legitimate_pic_operand_p): Test SYMBOL_REF_TLS_MODEL directly.
6715	(legitimate_pic_address_disp_p): Reorg CONST checking to make
6716	sure SYMBOL_REF_TLS_MODEL is tested.  Test SYMBOL_REF_TLS_MODEL
6717	directly.
6718	(print_operand_address): Likewise.
6719	* config/i386/predicates.md (x86_64_immediate_operand): Test
6720	SYMBOL_REF_TLS_MODEL properly inside CONST.
6721	(x86_64_zext_immediate_operand): Likewise.
6722	(global_dynamic_symbolic_operand, local_dynamic_symbolic_operand,
6723	initial_exec_symbolic_operand, local_exec_symbolic_operand): Remove.
6724	* config/i386/i386-protos.h: Remove predicates.md entries.
6725
67262005-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
6727
6728	* config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
6729	Check that elements of TYPE_METHODS are FUNCTION_DECLs.
6730
67312005-10-17  Alexey Starovoytov  <alexey.starovoytov@sun.com>
6732	    Ian Lance Taylor <ian@airs.com>
6733
6734	PR middle-end/23522
6735	* fold-const.c (fold_widened_comparison): Do not allow range based
6736	constant folding when right operand cannot be unwidened.
6737
67382005-10-17  Richard Henderson  <rth@redhat.com>
6739
6740	* builtins.c (expand_builtin_synchronize): Build a new-style asm
6741	with a memory clobber.
6742
67432005-10-17  James E Wilson  <wilson@specifix.com>
6744
6745	PR rtl-optimization/17356
6746	* cfgrtl.c (purge_dead_edges): Check for EDGE_ABNORMAL_CALL before
6747	checking for EDGE_EH.
6748
67492005-10-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
6750
6751	* config/sparc/sparc.c (function_arg_slotno): In 64-bit mode, align
6752	the slot on an even boundary for any type with 16-byte alignment.
6753
67542005-10-17  Hans-Peter Nilsson  <hp@axis.com>
6755
6756	PR target/23424
6757	* md.texi (Modifiers) <%>: Clarify that % doesn't work
6758	after register allocation.
6759
67602005-10-17  DJ Delorie  <dj@redhat.com>
6761
6762	* config/m32c/m32c.c (m32c_pushm_popm): Don't mark epilogue insns
6763	as frame related.
6764
67652005-10-17  Nathan Sidwell  <nathan@codesourcery.com>
6766
6767	PR c++/22551
6768	* c-common.c (c_add_case_label): Revert my 2005-10-14 clearing of
6769	overflow flags.
6770
67712005-10-17  Kaz Kojima  <kkojima@gcc.gnu.org>
6772
6773	* config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_schedule_insns
6774	to 2 if it's already non-zero.
6775	(OVERRIDE_OPTIONS): Clear flag_schedule_insns if flag_exceptions
6776	is set and warn about it if flag_schedule_insns is 1.
6777
67782005-10-17  Paul Woegerer  <paul.woegerer@nsc.com>
6779
6780	* config/crx/crx.md: Compare-and-branch instructions need to
6781	invalidate CC.
6782
67832005-10-17  Uros Bizjak  <uros@kss-loka.si>
6784
6785	PR target/24315
6786	* config/i386/i386.md (*pushdi2_rex64 splitter)
6787	(*movdi_1_rex64 splitter, *ashldi3_1 splitter)
6788	(*ashrdi3_1 splitter, *lshrdi3_1 splitter): Delay splitting after
6789	flow2 pass only when (optimize > 0 && flag_peephole2).
6790
67912005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>
6792
6793	PR driver/22544
6794	* gcc.c (have_c): New static variable.
6795	(have_o): Likewise.
6796	(process_command): Remove declation of have_c.
6797	Set have_o to 1 when handling -o.
6798	(main): Add a fatel error if there are multiple
6799	files specified and -o and -c/-S is passed witout
6800	-combine or multiple languages.
6801
68022005-10-16  Daniel Berlin  <dberlin@dberlin.org>
6803
6804	Fix PR tree-optimization/22444
6805	* tree-ssa-alias.c (compute_flow_insensitive_aliasing):
6806	Assert that we don't hit something with subvars.
6807	(setup_pointers_and_addressables): Don't add things with subvars,
6808	because we'll already process the subvars for aliasing purposes.
6809
68102005-10-16  Hans-Peter Nilsson  <hp@axis.com>
6811
6812	PR target/23424
6813	* config/cris/cris.md ("*mov_side<mode>", "*mov_sidesisf")
6814	("*mov_side<mode>_mem", "*mov_sidesisf_mem", "*clear_side<mode>")
6815	("*ext_sideqihi", "*ext_side<mode>si", "*op_side<mode>")
6816	("*op_swap_side<mode>", "*extopqihi_side", "*extop<mode>si_side")
6817	("*extopqihi_swap_side", "*extop<mode>si_swap_side"): Have separate,
6818	swapped, alternatives for the R constraint.
6819
6820	PR middle-end/24341
6821	* builtins.c (get_builtin_sync_mode): Make unlimited
6822	mode_for_size request.
6823
68242005-10-15  Richard Henderson  <rth@redhat.com>
6825
6826	* gimplify.c (gimplify_var_or_parm_decl): Split out from ...
6827	(gimplify_expr): ... here.
6828	(gimplify_compound_lval): Use it in initial scan loop.  Allow
6829	fb_lvalue in base expression.
6830
68312005-10-15  Richard Henderson  <rth@redhat.com>
6832
6833	PR 23714
6834	* builtins.c (expand_builtin_trap): Export.
6835	* expr.h (expand_builtin_trap): Declare.
6836	* expr.c (expand_assignment): Emit a trap for integral offsets 
6837	from registers that weren't reduced to bitpos.
6838
6839	* tree-cfg.c (mark_array_ref_addressable_1): Remove.
6840	(mark_array_ref_addressable): Remove.
6841	* tree-flow.h (mark_array_ref_addressable): Remove.
6842	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Don't call it.
6843
68442005-10-15  James E Wilson  <wilson@specifix.com>
6845
6846	PR target/24232
6847	* sched-deps.c (add_dependence_list): New arg UNCOND.  Fix all callers.
6848	(add_dependence_list_and_free): Likewise.
6849	(sched_analyze_2, case MEM): Delete sched_insns_conditions_mutex_p
6850	call.
6851
68522005-10-15  Diego Novillo  <dnovillo@redhat.com>
6853
6854	PR 23141
6855	PR 23142
6856	* tree-vrp.c (vrp_meet): Fix the intersection of equivalence
6857	sets VR0->EQUIV and VR1->EQUIV when meeting a range and an
6858	anti-range.
6859	(vrp_visit_phi_node): Only prevent infinite iterations when
6860	the previous result and the new result are both VR_RANGEs.
6861
68622005-10-15  Ranjit Mathew  <rmathew@gcc.gnu.org>
6863
6864	* tree-into-ssa.c (mark_def_sites): Correct minor typo in
6865	function comment.
6866
68672005-10-14  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
6868
6869	PR c/23439
6870	* c-parser.c (c_parser_for_statement): Use location of RID_FOR
6871	to initialize loc.
6872
68732005-10-14  Per Bothner  <per@bothner.com>
6874
6875	PR preprocessor/21250
6876	* c-ppoutput.c (print_line): Print internal line 0 as 1.
6877
68782005-10-14  Nathan Sidwell  <nathan@codesourcery.com>
6879
6880	PR c++/22551
6881	* c-common.c (c_add_case_label): Clear LOW_VALUE and HIGH_VALUE's
6882	overflow flags.  Refactor some conditionals.
6883
68842005-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
6885
6886	PR tree-opt/21304
6887	* tree-dfa.c (add_referenced_var): Only look at decls which
6888	have TREE_CONSTANT or TREE_READONLY set instead of if
6889	!TREE_PUBLIC or !TREE_CONSTANT.
6890
68912005-10-13  James E Wilson  <wilson@specifix.com>
6892
6893	* doc/invoke.texi: For -x, add f95-cpp-input.
6894	* doc/install.texi: For --enable-languages doc, change f95 to fortran.
6895
68962005-10-12  Sebastian Pop  <pop@cri.ensmp.fr>
6897
6898	PR tree-optimization/24262
6899	* tree-data-ref.c (analyze_offset_expr): Check that init is invariant
6900	in loop all the time.
6901
69022005-10-12  Richard Henderson  <rth@redhat.com>
6903
6904	PR c/24255
6905	* tree.h (DECL_TRANSPARENT_UNION): Remove.
6906	* function.c (assign_parm_find_data_types): Don't support it.
6907	* print-tree.c (print_node): Likewise.
6908	* c-common.c (handle_transparent_union_attribute): Likewise.
6909	Use build_duplicate_type.
6910	* tree-inline.c (remap_type_1): Split out of remap_type;
6911	properly remap aggregate fields.
6912	(build_duplicate_type): New.
6913	* doc/extend.texi (Variable Attributes): Remove documentation
6914	for transparent_union.
6915
69162005-10-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
6917
6918	PR target/24284
6919	* config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand.
6920	(gen_stack_pointer_dec): Likewise.
6921
69222005-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
6923
6924	PR middle-end/21275
6925	PR middle-end/21766
6926	* target.h (struct gcc_target): Add valid_dllimport_attribute_p
6927	target hook.
6928	(struct cxx): Add adjust_class_at_definition target hook.
6929	* target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define,
6930	defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER
6931	(TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to 
6932	hook_void_tree. Add to TARGET_CXX.
6933	* tree.h (struct decl_with_vis): Rename non_addr_const_p field to
6934	dllimport_flag.
6935	(DECL_NON_ADDR_CONSTANT_P): Replace with DECL_DLLIMPORT_P macro.
6936	* tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P
6937	instead of attribute. Check for dllexport override.  Warn if
6938	inconsistent dll linkage. Don't lose old dllimport if decl has
6939	had address referenced.   Tweak lookup of dllimport atribute.  
6940	(handle_dll_attribute): Check targetm.valid_dllimport_attribute_p
6941	for target specific rules.  Don't add dllimport attribute if
6942	DECL_DECLARED_INLINE_P.  Set DECL_DLLIMPORT_P when adding
6943	dllimport attribute. 
6944	(staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P.
6945	* varasm.c (initializer_constant_valid_p): Replace
6946	DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P
6947
6948	PR target/21801
6949	PR target/23589
6950	* config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to 
6951	'cxx_target_objs', winnt-stubs,o to 'extra_objs'.
6952	(i[34567]86-*-mingw32*): Likewise.
6953
6954	* doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document.
6955	(TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document.
6956			
6957	* config/i386/winnt.c (i386_pe_dllimport_p): Factor out
6958	C++-specific code. Change return value to bool. 
6959	(i386_pe_dllimport_p): Likewise.
6960	(associated_type): Simplify and make language-independent
6961	(i386_pe_encode_section_info): Replace override of ambiguous
6962	dllimport symbol refs with a gcc_assert.
6963	(i386_pe_valid_dllimport_attribute_p): Define.
6964	* config/i386/winnt-cxx.c: New file. Define C++ versions of
6965	i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
6966	i386_pe_adjust_class_at_definition.
6967	* config/i386/winnt-stubs.c: New file. Define stub versions of
6968	lang-specific functions.
6969	* config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions
6970	i386_pe_type_dllimport_p, i386_pe_type_dllexport_p, 
6971	i386_pe_adjust_class_at_definition.
6972	(i386_pe_valid_dllimport_attribute_p): Declare. 
6973	* config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define.
6974	(TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define.
6975	* config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o.
6976
6977	PR target/19704
6978	* config/i386/i386.c (ix86_function_ok_for_sibcall): Replace test for
6979	dllimport attribute with test of DECL_DLLIMPORT_P.
6980
69812005-10-12  Adrian Straetling <straetling@de.ibm.com>
6982
6983	* combine.c (make_extraction): Correct offset computation.
6984
69852005-10-12  Hans-Peter Nilsson  <hp@axis.com>
6986
6987	* config/cris/t-linux (LIMITS_H_TEST): Define.
6988
69892005-10-12  Richard Henderson  <rth@redhat.com>
6990
6991	PR rtl-opt/23324
6992	* cfgexpand.c (add_alias_set_conflicts): Use objects_must_conflict_p.
6993
69942005-10-12  Richard Guenther  <rguenther@suse.de>
6995
6996	* Makefile.in (CGRAPH_H): Depend on $(TREE_H).
6997
69982005-10-12  Nathan Sidwell  <nathan@codesourcery.com>
6999
7000	PR c++/19964
7001	* stor-layout.c (place_field): Set DECL_FIELD_OFFSET and
7002	DECL_FIELD_BIT_OFFSET of FIELD_DECLs, even if they have an invalid
7003	type.
7004
70052005-10-12  Richard Guenther  <rguenther@suse.de>
7006
7007	PR c++/23799
7008	* varasm.c (output_constant): Correct typo from previous
7009	patch by DJ.
7010
70112005-10-11  Ian Lance Taylor  <ian@airs.com>
7012
7013	PR rtl-optimization/13931
7014	* combine.c: Revert patch of 2003-05-14, and:
7015	(try_combine): Only set elim_i1 and elim_i2 if the destination is
7016	completely killed in the appropriate insn.
7017	(distribute_notes): Don't skip multiple hard register test for
7018	elim_i1 and elim_i2.
7019
70202005-10-11  Richard Henderson  <rth@redhat.com>
7021
7022	PR c/24255
7023	* c-typeck.c (convert_for_assignment): Use build_constructor_single
7024	to initialize a transparent union instead of a nop_expr.
7025
70262005-10-11  Richard Henderson  <rth@redhat.com>
7027
7028	* Makefile.in (tree-ssa-dce.o): Depend on SCEV_H.
7029	* tree-ssa-dce.c: Include tree-scalar-evolution.h.
7030	(tree_ssa_dce_loop): Call scev_reset.
7031
7032	PR tree-opt/24300
7033	* Makefile.in (tree-ssa-dce.o): Depend on CFGLOOP_H.
7034	* tree-ssa-dce.c: Include cfgloop.h.
7035	(tree_ssa_dce_loop, pass_dce_loop): New.
7036	* tree-pass.h (pass_dce_loop): Declare it.
7037	* passes.c (init_optimization_passes): Use it.
7038
70392005-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
7040
7041	PR middle-end/24263 
7042	* convert.c (convert_to_real): Revert 2005-10-05 patch.
7043	Only apply the optimization for rounding builtins if the inner
7044	cast is also an extension.
7045
70462005-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
7047
7048	PR tree-opt/23946
7049	* tree-ssa-ccp.c (execute_fold_all_builtins): Call
7050	mark_new_vars_to_rename instead of update_stmt.
7051
70522005-10-11  Bernd Schmidt  <bernd.schmidt@analog.com>
7053
7054	* config/bfin/crti.s (__init, __fini): Renamed from _init, _fini.
7055
70562005-10-11  Jakub Jelinek  <jakub@redhat.com>
7057
7058	* config/i386/i386.md (movsi_1, movdi_1_rex64): Use mmxadd type
7059	for setting MMX register to 0 rather than mmx.
7060
70612005-10-10  Steve Ellcey  <sje@cup.hp.com>
7062
7063	PR target/12098
7064	* configure.ac: Move gas check from mips specific case to common case.
7065	Do check for GNU as for mips*-*-* and *-*-hpux* targets.
7066	* configure: Regenerate
7067	* doc/install.texi: Update.
7068
70692005-10-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
7070
7071	PR target/24284
7072	* config/sparc/sparc.c (sparc_expand_prologue): Remove bogus PATTERN.
7073
70742005-10-10  Maciej W. Rozycki  <macro@linux-mips.org>
7075
7076	* gcc.c (do_spec_1): Accept numeric characters in file name
7077	suffixes.
7078
70792005-10-10  Nick Clifton  <nickc@redhat.com>
7080
7081	* config/arm/arm.c: Remove extraneous whitespace.  Remove comment
7082	describing the deleted arm_gen_rotated_half_load function.
7083
70842005-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
7085
7086	* config/sh/sh.c (emit_fpu_switch): Set TREE_PUBLIC for
7087	__fpscr_values.
7088
70892005-10-09  Daniel Jacobowitz  <dan@codesourcery.com>
7090
7091	* config.gcc (arm*-*-linux*): Remove redundant extra_parts and
7092	gnu_ld assignments.
7093	* config/arm/t-linux-eabi (LIB1ASMFUNCS)
7094	(EXTRA_MULTILIB_PARTS): Define.
7095	* config/arm/linux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
7096	(STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
7097	(LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Move to...
7098	* config/arm/uclinux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
7099	(STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
7100	(LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): ... here.
7101
71022005-10-09  Zdenek Dvorak  <dvorakz@suse.cz>
7103
7104	PR tree-optimization/24226
7105	* tree-cfg.c (remove_bb): Clean up unreachable loops.
7106	* tree-flow.h (free_numbers_of_iterations_estimates_loop): Declare.
7107	* tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates_loop):
7108	Export.
7109
71102005-10-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
7111
7112	* config/sparc/gmon-sol2.c (internal_mcount): Mark as used.
7113
71142005-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
7115
7116	PR target/24136
7117	* config/rs6000/darwin.md (movdf_low_si): Remove early clobber.
7118	Rewrite for no need for the early clobber.
7119
71202005-10-08  Kazu Hirata  <kazu@codesourcery.com>
7121
7122	Merge from csl-arm-branch:
7123	2005-09-07  Paul Brook  <paul@codesourcery.com>
7124	* config/arm/linux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Prepend a
7125	space to string.
7126
7127	2005-04-30  Paul Brook  <paul@codesourcery.com>
7128	* config/arm/bpabi.h (TARGET_DEFAULT): Define.
7129	* config/arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Define.
7130
7131	2005-03-07  Daniel Jacobowitz  <dan@codesourcery.com>
7132	* config/arm/arm.c (arm_all_abis): Add aapcs-linux.
7133	(arm_override_options): Use TARGET_AAPCS_BASED.
7134	* config/arm/arm.h (enum arm_abi_type): Add ARM_ABI_AAPCS_LINUX.
7135	(PTRDIFF_TYPE): Use int for AAPCS.
7136	(DEFAULT_SHORT_ENUMS): Use false for aapcs-linux.
7137	* config/arm/linux-eabi.h (ARM_DEFAULT_ABI, WCHAR_TYPE): Define.
7138	(DEFAULT_SHORT_ENUMS): Delete.
7139	* doc/invoke.texi (ARM Options): Document -mabi=aapcs-linux.
7140
7141	2004-12-15  Daniel Jacobowitz  <dan@codesourcery.com>
7142	* config/arm/arm.h (DEFAULT_SHORT_ENUMS): Wrap in #ifndef.
7143	* config/arm/linux-eabi.h (DEFAULT_SHORT_ENUMS): Define to 0.
7144	* config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS): Set to -fPIC.
7145
7146	2004-12-03  Mark Mitchell  <mark@codesourcery.com>
7147	* config/arm/linux-eabi.h (LIBGCC_SPEC): Do not define.
7148
7149	2004-11-22  Mark Mitchell  <mark@codesourcery.com>
7150	* config.gcc (arm*-*-linux-gnueabi): Use __cxa_atexit.
7151 
7152	2004-11-19  Mark Mitchell  <mark@codesourcery.com>
7153	* config.gcc (arm*-*-linux-gnueabi): Add it.
7154	* config/arm/bpabi.h (FPUTYPE_DEFAULT): Undefine it before
7155	redefining it.
7156	(TARGET_OS_CPP_BUILTINS): Likeiwse.
7157	* config/arm/linux-eabi.h: New file.
7158	* config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): New macro.
7159	(LINUX_TARET_LINK_SPEC): Likewise.
7160	(LINK_SPEC): Use it.
7161	* config/arm/t-linux-eabi: New file.
7162
71632005-10-08  Steven Bosscher  <stevenb@suse.de>
7164
7165	PR other/22202
7166	* params.def (PARAM_MAX_VARIABLE_EXPANSIONS): Remove superfluous
7167	spaces.
7168	(PARAM_SMS_DFA_HISTORY): Likewise.
7169
71702005-10-08  Kazu Hirata  <kazu@codesourcery.com>
7171
7172	PR middle-end/23150
7173	* calls.c (mem_overlaps_already_clobbered_arg_p): New.
7174	(load_register_parameters): Call it.
7175	(check_sibcall_argument_overlap_1): Likewise.
7176	(store_one_arg): Likewise.
7177
71782005-10-07  James E. Wilson  <wilson@specifix.com>
7179
7180	* config/ia64/vect.md (ashl<mode>3, ashr<mode>3, lshr<mode>3): Use
7181	DImode not VECINT24 for operand 2.
7182
7183	PR target/23644
7184	* doc/invoke.texi (IA-64 Options, item -mtune): Renamed from
7185	-mtune-arch.
7186
7187	PR target/24193
7188	* config/ia64/ia64.md (movbi, movti_internal, gr_spill_internal,
7189	fr_spill): Use destination_operand for operand 0.
7190
71912005-10-07  DJ Delorie  <dj@redhat.com>
7192
7193	* varasm.c (output_constant): Limit error to expanding
7194	conversions.
7195
71962005-10-07  Richard Guenther  <rguenther@suse.de>
7197
7198	PR middle-end/24227
7199	* fold-const.c (fold_binary): Fix operand types during folding
7200	of X op (A, Y).  Evaluation order of the side-effects of
7201	X and A are frontend-defined, so ensure we honour that even for
7202	tcc_comparison class operands; eased by removing duplicate code.
7203
72042005-10-07  Steve Ellcey  <sje@cup.hp.com>
7205
7206	* stor-layout.c (layout_type): Do not allow alignment of array
7207	elements to be greater than their size.
7208
72092005-10-07  Steve Ellcey  <sje@cup.hp.com>
7210
7211	* config.host (hppa*-*-hpux*): Change out_host_hook_obj and
7212	host_xmake_file.
7213	(hppa*-*-linux*): Ditto.
7214	(ia64-*-hpux*): Add out_host_hook_obj and host_xmake_file.
7215	* config/host-hpux.c: New.
7216	* config/x-hpux: New.
7217	* config/pa/x-hpux: Remove.
7218	* config/pa/x-linux: Remove.
7219	* config/pa/pa-host.c: Remove.
7220
72212005-10-07  Jeff Law  <law@redhat.com>
7222
7223	* tree-ssa-dom.c (dom_opt_finalize_block): Fix conditions to
7224	determine whether or not to try and thread outgoing edges.
7225
72262005-10-07  David Edelsohn  <edelsohn@gnu.org>
7227
7228	* config/rs6000/rs6000.md (eqsi_power): New.
7229	(neg_eq0si): Add TARGET_POWER to final condition.
7230	(neg_eqsi): Same.
7231
72322005-10-06  Richard Henderson  <rth@redhat.com>
7233
7234	* config/rs6000/rs6000.c: Revert last change.
7235
72362005-10-06  Richard Henderson  <rth@redhat.com>
7237
7238	* config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): New.
7239	(TARGET_CANNOT_FORCE_CONST_MEM): Use it.
7240
72412005-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
7242
7243	PR middle-end/22216
7244	PR middle-end/23651
7245	* cfgexpand.c (tree_expand_cfg): After expanding the functions, clear
7246	out return_label and naked_return_label.
7247
72482005-10-06  Daniel Berlin  <dberlin@dberlin.org>
7249	
7250	* tree-ssa-structalias.c (check_for_overlaps): Fix bug in last
7251	change.
7252
72532005-10-06  Richard Henderson  <rth@redhat.com>
7254
7255	PR tree-opt/22237
7256	* tree-inline.c (declare_return_variable): Handle modify_dest not
7257	being a DECL.
7258
72592005-10-06  Daniel Berlin  <dberlin@dberlin.org>
7260	
7261	Fix PR tree-optimization/22488
7262	* tree-ssa-structalias.c (check_for_overlaps): New function.
7263	(create_variable_info_for): Use it.
7264
72652005-10-06  Richard Henderson  <rth@redhat.com>
7266
7267	PR debug/24070
7268	* dwarf2out.c (lookup_filename): Return the result of maybe_emit_file.
7269	(dwarf2out_start_source_file): Print it.
7270
72712005-10-06  Geoffrey Keating  <geoffk@apple.com>
7272
7273	* config/t-slibgcc-darwin (SHLIB_MAPFILES): Use '+='.
7274
72752005-10-06  Richard Henderson  <rth@redhat.com>
7276
7277	PR 23706
7278	* mode-switching.c (optimize_mode_switching): Clear transp bit
7279	for block with incomming abnormal edges.
7280
7281	* config/sh/sh.c (fpscr_values, emit_fpu_switch): New.
7282	(fpscr_set_from_mem): Use them.
7283	* config/sh/sh.md (fpu_switch0, fpu_switch1): Remove.
7284	(fpscr postinc splitters): Rewrite as peephole2+split.
7285
72862005-10-06  David Edelsohn  <edelsohn@gnu.org>
7287
7288	* config/rs6000/rs6000.md (eq<mode>): Add !TARGET_POWER.
7289	(eq<mode>_compare): Same.
7290
72912005-10-06  Richard Guenther  <rguenther@suse.de>
7292
7293	PR tree-optimization/24238
7294	* tree-ssa-alias.c (find_used_portions): Handle RESULT_DECL.
7295
72962005-10-06  Daniel Jacobowitz  <dan@codesourcery.com>
7297
7298	* acinclude.m4 (gcc_AC_CHECK_TOOL): Handle environment variables
7299	here.  Use AC_PATH_PROG for environment variables instead of
7300	test -x.
7301	* configure.ac: Update calls to gcc_AC_CHECK_TOOL.  Use it for
7302	objdump also.
7303	* configure: Regenerated.
7304
73052005-10-06  Richard Earnshaw  <richard.earnshaw@arm.com>
7306
7307	PR target/23783
7308	* arm.md (call): If the address isn't a SYMBOL_REF or a register,
7309	then force it into a register.
7310	(call_value): Likewise.
7311
73122005-10-06  Richard Henderson  <rth@redhat.com>
7313
7314	PR 24049
7315	* passes.c (init_optimization_passes): Move pass_lower_vector_ssa
7316	under pass_vectorize.  Clear TODO_ggc_collect from the dce pass
7317	under pass_vectorize.
7318
73192005-10-05  Devang Patel  <dpatel@apple.com>
7320
7321	PR Debug/23205
7322	* dbxout.c (dbxout_symbol): Check DECL_RTL_SET_P, after
7323	handling constants. Check NAMESPACE_DECL context for constants.
7324	
73252005-10-05  Eric Christopher  <echristo@apple.com>
7326
7327	* doc/md.texi (Standard Names): Fix name of pushm1 pattern.
7328
73292005-10-05  Richard Henderson  <rth@redhat.com>
7330
7331	PR 23714
7332	* tree-cfg.c (mark_array_ref_addressable_1): New.
7333	(mark_array_ref_addressable): New.
7334	* tree-flow.h (mark_array_ref_addressable): Declare.
7335	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Use it.
7336
73372005-10-05  Andrew Pinski  <pinskia@physics.uc.edu>
7338
7339	PR middle-end/20606
7340	PR middle-end/24069
7341	* reload.c (subst_reloads): When adding a REG_LABEL to a
7342	jump instruction, also update JUMP_LABEL.
7343
73442005-10-05  David Edelsohn  <edelsohn@gnu.org>
7345
7346	* params.def (PARAM_MAX_GROW_COPY_BB_INSNS): New.
7347	* bb-reorder.c (copy_bb_p): Use it.
7348	* doc/invoke.texi (param table): Add max-grow-copy-bb-insn.
7349
73502005-10-05  Richard Henderson  <rth@redhat.com>
7351
7352	PR target/23602
7353	* toplev.c (process_options): Warn about unsupported combinations
7354	of unwind tables and omit-frame-pointer.
7355	* config/i386/i386.c (override_options): Similarly.  Enable
7356	accumulate-outgoing-args if not explicitly disabled.
7357
73582005-10-05  Steve Ellcey  <sje@cup.hp.com>
7359
7360	* vect.md (vec_initv2si): Fix typo of V2SF to V2SI.
7361	Handle big endian vs. small endian.
7362	(vec_initv2sf): Handle big endian vs. small endian.
7363	(*vec_extractv2sf_1): Ditto.
7364
73652005-10-05  Dale Johannesen  <dalej@apple.com>
7366
7367	* convert.c (convert_to_real):  Don't convert
7368	(float)floor(double d) to floorf((float)d).
7369
73702005-10-05  Daniel Jacobowitz  <dan@codesourcery.com>
7371
7372	* config/arm/arm.md (insv): Use gen_int_mode in more places.
7373
73742005-10-05  Andrew MacLeod  <amacleod@redhat.com>
7375
7376	PR tree-optimization/18587
7377	* tree-ssa-operands.c (struct opbuild_list_d, OPBUILD_LAST): Delete.
7378	(build_defs, build_uses, build_v_may_defs, build_v_must_defs,
7379	build_vuses): Change to VEC type.
7380	(opbuild_initialize_virtual, opbuild_initialize_real, opbuild_free,
7381	opbuild_num_elems, opbuild_append_real, opbuild_append_virtual,
7382	opbuild_first, opbuild_next, opbuild_elem_real, opbuild_elem_virtual,
7383	opbuild_elem_uid, opbuild_clear, opbuild_remove_elem): Delete.
7384	(get_name_decl): New.  Return DECL_UID of base variable.
7385	(operand_build_cmp): New.  qsort comparison routine.
7386	(operand_build_sort_virtual): New.  Sort virtual build vector.
7387	(init_ssa_operands, fini_ssa_operands): Use VEC routines.
7388	(FINALIZE_OPBUILD_BASE, FINALIZE_OPBUILD_ELEM): Use VEC_Index.
7389	(FINALIZE_BASE): Use get_name_decl.
7390	(finalize_ssa_defs, finalize_ssa_uses, cleanup_v_may_defs,
7391	finalize_ssa_v_may_defs, finalize_ssa_vuses, finalize_ssa_v_must_defs,
7392	(start_ssa_stmt_operands, append_def, append_use, append_vuse,
7393	append_v_may_def, append_v_must_def): Replace opbuild_* routines with
7394	direct VEC_* manipulations.
7395	(build_ssa_operands): Call operand_build_sort_virtual.
7396	(copy_virtual_operand, create_ssa_artficial_load_stmt,
7397	add_call_clobber_ops, add_call_read_ops): Replace opbuild_* routines
7398	with direct VEC_* manipulations.
7399	* tree-ssa-opfinalize.h (FINALIZE_FUNC): Replace opbuild_* routines
7400	with direct VEC manipulations.
7401
74022005-10-05  Paolo Bonzini  <bonzini@gnu.org>
7403
7404	PR tree-optimization/21419
7405	PR tree-optimization/24146
7406	PR tree-optimization/24151
7407
7408	* c-typeck.c (readonly_error): Handle USE being lv_asm.
7409	(build_asm_expr): Call it if outputs are read-only.
7410	* gimplify.c (gimplify_asm_expr): Remove former fix to PR 21419.
7411
74122005-10-05  Billy Biggs  <billy.biggs@gmail.com>
7413	    Paolo Bonzini  <bonzini@gnu.org>
7414
7415	PR target/23809
7416
7417	* doc/extend.texi (x86 Built-ins): Document that -msse and friends
7418	enable the instructions and not just the built-ins.
7419	* doc/invoke.texi (x86 Options): Likewise.
7420
74212005-10-04  Geoffrey Keating  <geoffk@apple.com>
7422
7423	* config/i386/t-darwin (SHLIB_VERPFX): Fix typo.
7424
7425	* doc/invoke.texi (Option Summary): Correct spelling
7426	of -mmacosx-version-min.
7427
74282005-10-04  Devang Patel  <dpatel@apple.com>
7429
7430	* c-common.c (vector_types_convertible_p): Check TYPE_PRECISION for
7431	real types.
7432
74332005-10-04  Steve Ellcey  <sje@cup.hp.com>
7434
7435	* tree-vect-transform.c (vect_create_epilog_for_reduction):
7436	Use BYTES_BIG_ENDIAN instead of BITS_BIG_ENDIAN.
7437
74382005-10-04  Adrian Straetling  <straetling@de.ibm.com>
7439
7440	* config/s390/s390.md ("TDSI","DP"): New mode macros.
7441	("TE","tg"): New mode attributes.
7442	("sync_compare_and_swap<mode>"): Replace with a define_expand.
7443	("sync_compare_and_swap<mode>_cc"): Replace GPR with TDSI.
7444	("*sync_compare_and_swap<mode>_cc"): Replace with one pattern for
7445	dword_mode and one for GPRmode.
7446
74472005-10-04  Ian Lance Taylor  <ian@airs.com>
7448
7449	PR preprocessor/13726
7450	* c-ppoutput.c (cb_include): Add comments parameter, and print out
7451	any comments passed in.
7452
74532005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
7454
7455	* tree.c (annotate_with_file_line): Fix typo.
7456
74572005-10-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7458
7459	PR ada/19382
7460	* builtins.c (fold_builtin_memcmp): When constructing the pointer
7461	type used to access data in the inlined length == 1 case, use
7462	build_pointer_type_for_mode with CAN_ALIAS_ALL set to true.
7463	(fold_builtin_strcmp, fold_builtin_strncmp): Likewise.
7464
74652005-10-04  Uros Bizjak  <uros@kss-loka.si>
7466
7467	* config/i386/i386.h (TARGET_FISTTP): Enable also for
7468	TARGET_SSE3 and only for TARGET_80387.
7469	* config/i386/i386.md (fix_trunc<mode>_fisttp_i387_1,
7470	(fix_trunc<mode>_i387_fisttp, fix_trunc<mode>_i387_fisttp_with_temp):
7471	Do not depend on TARGET_80387.
7472
74732005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
7474
7475	* tree.c (last_annotated_node): Change type to location_t*.
7476	(annotate_with_file_line): Reflect the change of
7477	last_annotated_node type.
7478
74792005-10-04  Richard Guenther  <rguenther@suse.de>
7480
7481	PR c/23576
7482	* c-decl.c (grokdeclarator): Don't write to fields
7483	of error_mark_node.
7484
74852005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
7486
7487	PR middle-end/23125
7488	* c-decl.c (finish_decl): Use set_user_assembler_name even for
7489	register variables.
7490	* varasm.c (make_decl_rtl): If a register variable does not
7491	have a set user assmbler name, error out.
7492	Decode the asmspec is now name+1 bypassing '*'.
7493
74942005-10-04  Steven Bosscher  <stevenb@suse.de>
7495
7496	PR tree-optimization/23049
7497	* tree-ssa-dom.c (thread_across_edge): Make sure that the condition
7498	of a COND_EXPR is folded before calling fold on the whole rhs of a
7499	conditional assignment.
7500	* doc/tree-ssa.texi: Update the GIMPLE grammar for a valid rhs to
7501	document that a COND_EXPR may appear there.
7502
75032005-10-03  Diego Novillo  <dnovillo@redhat.com>
7504
7505	PR 23445
7506	* tree-vrp.c (extract_range_from_assert): If the new numeric
7507	range created out of the assertion contradicts the existing
7508	numeric range of the ASSERT_EXPR variable, make the new range
7509	varying.
7510
75112005-10-03  Kaz Kojima  <kkojima@gcc.gnu.org>
7512
7513	* config/sh/sh.c (sh_register_move_cost): Add case for moving
7514	from T_REGS to FP register class.
7515
75162005-10-03  Richard Henderson  <rth@redhat.com>
7517
7518	PR 24135
7519	* tree-nested.c (convert_nl_goto_reference): Lookup a translation
7520	before creating a new one.
7521
75222005-10-03  David Edelsohn  <edelsohn@gnu.org>
7523
7524	* config/rs6000/t-aix43 (LDFLAGS): New.
7525	* config/rs6000/t-aix52 (LDFLAGS): New.
7526
75272005-10-03  Ian Lance Taylor  <ian@airs.com>
7528
7529	* gimplify.c (find_single_pointer_decl_1): New static function.
7530	(find_single_pointer_decl): New static function.
7531	(internal_get_tmp_var): For a formal variable, set restrict base
7532	information if appropriate.
7533	* alias.c (find_base_decl): If a VAR_DECL has a restrict base,
7534	return it.
7535	* tree.h (DECL_BASED_ON_RESTRICT_P): Define.
7536	(DECL_GET_RESTRICT_BASE): Define.
7537	(SET_DECL_RESTRICT_BASE): Define.
7538	(decl_restrict_base_lookup): Declare.
7539	(decl_restrict_base_insert): Declare.
7540	(struct tree_decl_with_vis): Add based_on_restrict_p field.
7541	* tree.c (restrict_base_for_decl): New static variable.
7542	(init_ttree): Initialize restrict_base_for_decl.
7543	(copy_node_stat): Copy restrict base information.
7544	(decl_restrict_base_lookup): New function.
7545	(decl_restrict_base_insert): New function.
7546	(print_restrict_base_statistics): New static function.
7547	(dump_tree_statistics): Call print_restrict_base_statistics.
7548
75492005-10-02  Diego Novillo  <dnovillo@redhat.com>
7550
7551	PR 24142
7552	* tree-vrp.c (vrp_meet): Fix call to range_includes_zero_p in
7553	case of anti-ranges.
7554
75552005-10-02  Andrew Pinski  <pinskia@physics.uc.edu>
7556
7557	PR c/18851
7558	* c-typeck.c (tagged_tu_seen): Rename to ...
7559	(tagged_tu_seen_cache): this and add val field.
7560	(comptypes): Move functional to comptypes_internal
7561	and free tagged_tu_seen.
7562	(comptypes_internal): New function and call comptypes_internal
7563	instead of comptypes. Speed up by sibcalling
7564	tagged_types_tu_compatible_p.
7565	(alloc_tagged_tu_seen): New function
7566	(free_all_tagged_tu_seen_up_to): New function.
7567	(tagged_types_tu_compatible_p): Return the val of the seen two
7568	types.
7569	Add that the two types are the same to tagged_tu_seen_base
7570	if they are and call comptypes_internal instead of comptypes.
7571	<case UNION_TYPE>: Speed up common type where the fields are
7572	in the same order.
7573	(function_types_compatible_p): Call comptypes_internal instead of
7574	comptypes.
7575	(type_lists_compatible_p): Likewise.
7576	(all functions): s/tagged_tu_seen/tagged_tu_seen_cache/.
7577
75782005-10-02  Matthias Klose  <doko@debian.org>
7579
7580	* doc/invoke.texi: Fix typo and speling error.
7581
75822005-10-01  Richard Henderson  <rth@redhat.com>
7583
7584	* tree-stdarg.c (execute_optimize_stdarg): Process PHI nodes too.
7585
75862005-10-01  Mark Mitchell  <mark@codesourcery.com>
7587
7588	* config/arm/unknown-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define
7589	using --start-group and --end-group.
7590
75912005-10-01  Diego Novillo  <dnovillo@redhat.com>
7592
7593	* tree-vrp.c (value_inside_range, range_includes_zero_p): Add
7594	FIXME note regarding quirky semantics.
7595
75962005-10-01  Diego Novillo  <dnovillo@redhat.com>
7597
7598	PR 24141
7599	* tree-vrp.c (vrp_meet): Clear VR0->EQUIV when building a
7600	non-null range as a last resort.
7601
76022005-10-01  James A. Morrison  <phython@gcc.gnu.org>
7603	    Diego Novillo  <dnovillo@redhat.com>
7604
7605	PR 23604
7606	* tree-vrp.c (extract_range_from_assert): For !=
7607	assertions, only build an anti-range if LIMIT is a
7608	single-valued range.
7609
76102005-09-30  Richard Earnshaw  <richard.earnshaw@arm.com>
7611
7612	* arm.md (movqi): On thumb when optimizing, handle loading from
7613	memory by describing this as taking a subreg of a zero-extended load
7614	into an SImode register.
7615	(movhi): Likewise.
7616
76172005-09-30  Daniel Jacobowitz  <dan@codesourcery.com>
7618
7619	* reload1.c (merge_assigned_reloads): Do not change any
7620	RELOAD_FOR_OUTPUT_ADDRESS reloads.
7621
76222005-09-30  Geoffrey Keating  <geoffk@apple.com>
7623
7624	* Makefile.in (LIPO_FOR_TARGET): Define.
7625	(STRIP_FOR_TARGET): Define.
7626
7627	* config/t-slibgcc-darwin (libgcc_s_%.dylib): Remove old symlinks
7628	before creating new ones.  Do symlinks before creating the actual
7629	targets.
7630
7631	* config/t-slibgcc-darwin (libgcc_s_%.dylib): Use --print-multi-lib
7632	to work out which multilibs are actually being built.
7633
76342005-09-30  Kazu Hirata  <kazu@codesourcery.com>
7635
7636	* tree-vect-transform.c, config/ms1/ms1.md,
7637	config/s390/s390.c, config/v850/v850.md: Fix comment typos.
7638	Follow spelling conventions.
7639	* doc/invoke.texi, doc/md.texi: Fix typos.
7640
76412005-09-30  Andrew Macleod  <amacleod@redat.com>
7642
7643	PR tree-optimization/21430
7644	* tree-ssa-operands.c (set_virtual_use_link): New. Link new virtual
7645	use operands, and set stmt pointer if need be.
7646	(FINALIZE_CORRECT_USE: New. Macro to call appropriate use fixup routine.
7647	tree-ssa-opfinalize.h (FINALIZE_FUNC): Call FINALIZE_CORRECT_USE if
7648	present.
7649
76502005-09-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7651
7652	PR middle-end/24053
7653	* stor-layout.c (set_sizetype): Set TYPE_MAIN_VARIANT of bitsizetype.
7654
76552005-09-29  Mark Mitchell  <mark@codesourcery.com>
7656
7657	* optabs.c (expand_binop): Initialize first_pass_p.
7658
76592005-09-29  Jakub Jelinek  <jakub@redhat.com>
7660
7661	PR middle-end/24109
7662	* c-decl.c (c_write_global_declarations_1): If any
7663	wrapup_global_declaration_2 call returned true, restart the loop.
7664
76652005-09-29  Daniel Berlin  <dberlin@dberlin.org>
7666
7667	Fix PR tree-optimization/24117
7668	* tree-ssa-structalias.c (find_func_aliases): Strip nops
7669	before considering whether to use anyoffset.
7670
76712005-09-29  Paolo Bonzini  <bonzini@gnu.org>
7672
7673	Revert this patch:
7674
7675	2005-09-15  Paolo Bonzini  <bonzini@gnu.org>
7676
7677	* optabs.c (expand_binop): Use swap_commutative_operands_with_target
7678	to order operands.
7679	(swap_commutative_operands_with_target): New.
7680
76812005-09-29  Paolo Bonzini  <bonzini@gnu.org>
7682
7683	PR c/21419
7684	* gimplify.c (gimplify_asm_expr): Raise an error if an output is
7685	read-only.
7686
76872005-09-29  Steven Bosscher  <stevenb@suse.de>
7688
7689	PR tree-optimization/23911
7690	* tree-ssa-ccp.c (fold_const_aggregate_ref): Handle REALPART_EXPR
7691	and IMAGPART_EXPR too.
7692
76932005-09-28  Mark Mitchell  <mark@codesourcery.com>
7694
7695	PR 17886
7696	* expmed.c (expand_shift): Move logic to reverse rotation
7697	direction when 	rotating by constants ...
7698	* optabs.c (expand_binop): ... here.
7699	* config/i386/i386.md (rotrdi3): Handle 32-bit mode.
7700	(ix86_rotrdi3): New pattern.
7701	(rotldi3): Handle 32-bit mode.
7702	(ix86_rotldi3): New pattern.
7703
77042005-09-29  Alan Modra  <amodra@bigpond.net.au>
7705
7706	PR target/24102
7707	* config/rs6000/rs6000.md (floatdisf2_internal2): Correct range
7708	check for numbers that need no bit twiddle.
7709
77102005-09-28  Geoffrey Keating  <geoffk@apple.com>
7711
7712	* config/rs6000/t-darwin8: Uncomment contents, allow -m64
7713	multilib to be built.
7714
7715	* Makefile.in: Export LIPO_FOR_TARGET, STRIP_FOR_TARGET.
7716	(stage1-start): Delete old libgcc and libunwind before moving
7717	anything into the stage directory.
7718	(stage2-start): Likewise.
7719	(stage3-start): Likewise.
7720	(stage4-start): Likewise.
7721	(stageprofile-start): Likewise.
7722	(stagefeedback-start): Likewise.
7723	* config.gcc (*-*-darwin*): Automatically use CPU-specific darwin.h
7724	header in tm_file and CPU-specific t-darwin in tmake_file.
7725	(i[34567]86-*-darwin*): Don't change tm_file.
7726	(powerpc-*-darwin*): Don't change tm_file or tmake_file.
7727	* config/darwin.h (REAL_LIBGCC_SPEC): Rewrite to use proper libgcc
7728	shared library stub for target OS version.
7729	* config/t-slibgcc-darwin (SHLIB_SOLINK): Delete.
7730	(SHLIB_LINK): Don't make SHLIB_SOLINK.
7731	(SHLIB_INSTALL): Don't install SHLIB_SOLINK.
7732	(libgcc_s.%.dylib): New.
7733	(LIBGCC): Define.
7734	(install-darwin-libgcc-stubs): New.
7735	(INSTALL_LIBGCC): New append.
7736	* config/i386/darwin-libgcc.10.4.ver: New.
7737	* config/i386/darwin-libgcc.10.5.ver: New.
7738	* config/i386/t-darwin: New.
7739	* config/rs6000/darwin-libgcc.10.4.ver: New.
7740	* config/rs6000/darwin-libgcc.10.5.ver: New.
7741	* config/rs6000/darwin.h (REAL_LIBGCC_SPEC): Delete.
7742	* config/rs6000/t-darwin (SHLIB_VERPFX): Define.
7743
77442005-09-28  Paul Brook  <paul@codesourcery.com>
7745
7746	* config/m68k/fpgnulib.c (__extendsfdf2, __truncdfsf2): Handle
7747	denormals.
7748
77492005-09-28  Richard Guenther  <rguenther@suse.de>
7750
7751	PR tree-optimization/23853
7752	* tree-vect-analyze.c (vect_compute_data_ref_alignment): Use
7753	host_integerp to verify misalignment value.
7754
77552005-09-28  Richard Henderson  <rth@redhat.com>
7756
7757	* builtins.c (get_builtin_sync_mode): New.
7758	(expand_builtin_sync_operation): Pass in mode argument.
7759	(expand_builtin_compare_and_swap): Likewise.
7760	(expand_builtin_lock_test_and_set): Likewise.
7761	(expand_builtin_lock_release): Likewise.
7762	(expand_builtin): Update to match.
7763
77642005-09-28  Nick Clifton  <nickc@redhat.com>
7765
7766	* config/v850/v850.h (GO_IF_LEGITIMATE_ADDRESS): Tidy up
7767	formatting.  Add check to PLUS case to ensure that the offset is
7768	within an acceptable range.
7769
7770	* config/v850/v850.md (casesi): Disable the generation of the
7771	switch pattern as it is not being handled properly at the moment.
7772
7773	* config/v850/lib1funcs.asm (___ucmpdi2): Correct jump instruction
7774	for when the high words are identical.
7775
77762005-09-27  Richard Henderson  <rth@redhat.com>
7777
7778	* pretty-print.c (pp_base_format): Fix typo for %>.
7779
77802005-09-27  Daniel Berlin  <dberlin@dberlin.org>
7781	    Devang Patel  <dpatel@apple.com>
7782
7783	PR tree-optimization/23625
7784	* tree-flow-inline.h (bsi_after_labels): Remove, first statement is
7785	LABEL_EXPR, assertion check.
7786
77872005-09-27  J"orn Rennecke <joern.rennecke@st.com>
7788
7789	* optabs.c (no_conflict_move_test): Check if a result of a
7790	to-be-moved insn would be clobbered by an originally
7791	preceding insn.
7792
77932005-09-27  Jeff Law  <law@redhat.com>
7794
7795	* passes.c (init_optimization_passes): Replace copy propagation
7796	passes immediately after DOM with phi-only copy propagation
7797	pases.  Add phi-only copy propagation pass after first DOM pass.
7798	* tree-pass.h (pass_phi_only_copy_prop): Declare.
7799	* tree-ssa-copy.c (init_copy_prop): Accept new PHI_ONLY argument.
7800	If true, then mark all non-control statements with DONT_SIMULATE_AGAIN.
7801	(execute_copy_prop): Accept new PHI_ONLY argument.  Pass it along
7802	to init_copy_prop.  Callers updated.
7803	(do_phi_only_copy_prop): New function.
7804	(pass_phi_only_copy_prop): New pass descriptor.
7805
78062005-09-27  Nick Clifton  <nickc@redhat.com>
7807
7808	* libgcc2.c (__popcount_tab): Remove redundant prototype.
7809
78102005-09-26  Jason Merrill  <jason@redhat.com>
7811
7812	PR c++/13764
7813	* c-common.c (finish_fname_decls): Use append_to_statement_list_force.
7814
7815	* doc/invoke.texi: Clarify documentation of -fno-enforce-eh-specs.
7816
78172005-09-26  James E Wilson  <wilson@specifix.com>
7818
7819	* config/ia64/crtbegin.asm, config/ia64/crtend.asm: Remove glibc
7820	copyright.  Add gcc copyright plus libgcc exception.
7821	* config/ia64/crtfastmath.asm: Remove glibc copyright.  Add gcc
7822	copyright.
7823	* config/ia64/lib1funcs.asm: Add gcc copyright plus libgcc exception.
7824
78252005-09-26  Jeff Law  <law@redhat.com>
7826
7827	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective
7828	about when to iterate.
7829
78302005-09-23  Fariborz Jahanian <fjahanian@apple.com>
7831
7832	PR target/23847
7833	* config/rs6000/rs6000.c (rs6000_function_value): Parallel pattern
7834	for __complex__ double in -mcpu=G5 mode.
7835
78362005-09-26  Sebastian Pop  <pop@cri.ensmp.fr>
7837
7838	PR tree-optimization/23942
7839	* Makefile.in (SCEV_H): Depends on PARAMS_H.
7840	* tree-scalar-evolution.c: Include params.h.
7841	(t_bool): New enum.
7842	(follow_ssa_edge, follow_ssa_edge_in_rhs,
7843	follow_ssa_edge_in_condition_phi_branch,
7844	follow_ssa_edge_in_condition_phi, follow_ssa_edge_inner_loop_phi):
7845	Change return type to t_bool.  Use a parameter to limit the size of
7846	trees that are walked before stopping
7847	(analyze_evolution_in_loop): Initialize the limit to 0.
7848	(follow_ssa_edge): Give up by returning t_dont_know if the limit
7849	exceeds PARAM_SCEV_MAX_EXPR_SIZE.
7850
78512005-09-26  Uros Bizjak  <uros@kss-loka.si>
7852
7853	PR middle-end/23831
7854	* simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip
7855	simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT.
7856
78572005-09-26    Fariborz Jahanian <fjahanian@apple.com>
7858
7859	* combine.c (make_extraction): Check for valid use of subreg.
7860
78612005-09-26  Uros Bizjak  <uros@kss-loka.si>
7862
7863	PR target/24055
7864	* config/i386/i386.md ("*fistdi2_1"): New pattern.
7865	("*fist<mode>2_1"): Use only HImode and SImode register operands.
7866	("fist<mode>2_with_temp"): Use only register operands.
7867
78682005-09-26  J"orn Rennecke <joern.rennecke@st.com>
7869
7870	* rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in
7871	CALL_INSN_FUNCTION_USAGE.
7872
78732005-09-26  Richard Guenther  <rguenther@suse.de>
7874
7875	PR middle-end/15855
7876	* gcse.c: Include hashtab.h, define ldst entry hashtable.
7877	(pre_ldst_expr_hash, pre_ldst_expr_eq): New functions.
7878	(ldst_entry): Use the hashtable instead of list-walking.
7879	(find_rtx_in_ldst): Likewise.
7880	(free_ldst_entry): Free the hashtable.
7881	(compute_ld_motion_mems): Create the hashtable.
7882	(trim_ld_motion_mems): Remove entry from hashtable if
7883	removing it from list.
7884	(compute_store_table): Likewise^2.
7885	(store_motion): Free hashtable in case we did not see
7886	any stores.
7887
78882005-09-25  Kazu Hirata  <kazu@codesourcery.com>
7889
7890	* fold-const.c (fold_binary): Use op0 and op1 instead of arg0
7891	and arg1 if we are passing them to fold_build2.
7892
78932005-09-25  Dan Nicolaescu  <dann@ics.uci.edu>
7894
7895	PR 23828
7896	* config/i386/i386.c (ix86_function_regparm): Fix the test for
7897	a nested function.
7898
78992005-09-25  Richard Henderson  <rth@redhat.com>
7900
7901	* config/alpha/alpha.c (tls_symbolic_operand_1): Trust
7902	SYMBOL_REF_TLS_MODEL to be correct.
7903
79042005-09-24  Richard Henderson  <rth@redhat.com>
7905
7906	* ipa-type-escape.c (discover_unique_type): Remove dead code at
7907	end of function.  Reindent.
7908
79092005-09-24  Ian Lance Taylor  <ian@airs.com>
7910
7911	* convert.c (convert_to_integer): Don't test for ENUMERAL_TYPE in
7912	NEGATE_EXPR/BIT_NOT_EXPR case.
7913
79142005-09-24  Richard Henderson  <rth@redhat.com>
7915
7916	* c-common.c (handle_mode_attribute): When not modifying in place,
7917	create subtypes for enumerations.
7918	(sync_resolve_return): Use TYPE_MAIN_VARIANT.
7919	* gimplify.c (create_tmp_from_val): Likewise.
7920
79212005-09-24  Alexandre Oliva  <aoliva@redhat.com>
7922
7923	* config/i386/i386.md (*tls_global_dynamic_64,
7924	*tls_local_dynamic_base_64): Add missing mode to call.
7925	(tls_global_dynamic_64, tls_local_dynamic_base_64): Likewise.
7926
79272005-09-24  Jan Hubicka  <jh@suse.cz>
7928
7929	* cgraph.c (cgraph_clone_edge): Make the scale gcov_type.
7930	(cgraph_clone_node): Likewise.
7931	* cgraph.h (cgraph_clone_edge): Update prototype.
7932	(cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Remove
7933	duplicated prototypes; add updating argument.
7934	* cgraphunit.c (verify_cgraph_node): Verify that counts are non-negative.
7935	* ipa-inline.c (cgraph_clone_inlined_nodes): Allow clonning without
7936	updating profile.
7937	(cgraph_mark_inline_edge): Likewise.
7938	(cgraph_mark_inline): Update use of cgraph_mark_inline_edge.
7939	(cgraph_flatten_node): Likewise.
7940	(cgraph_decide_recursive_inlining): Likewise.
7941	(cgraph_decide_inlining_of_small_function): Likewise.
7942	* tree-optimize.c (tree_rest_of_compilation): Likewise.
7943
79442005-09-23  David Edelsohn  <edelsohn@gnu.org>
7945	    Pete Steinmetz <steinmtz@us.ibm.com>
7946
7947	* config/rs6000/rs6000.md (neg-minus-mult): Set type to dmul.
7948	(rldic.): Set type to "compare".
7949	(rldicr.): Same.
7950	(movsf_hardfloat): Set type to mtjmpr for MTCTR/MTLR.  Set type to
7951	mfjmpr for MFCTR/MFLR.
7952	(movdf_hardfloat64): Same.
7953	(movdf_softfloat64): Same.  Correct order of store and move types.
7954	(movti_string): Set type to store_ux/load_ux.
7955	(load_multiple): Set type to load_ux.
7956	(store_multiple): Set type to store_ux.
7957	(movmemsi): Set type to store_ux.
7958	(output_cbranch direct_return): Set type to jmpreg.
7959	(stmw): Set type to store_ux.
7960	(lmw): Set type to load_ux.
7961	* config/rs6000/40x.md (ppc403-store): Increase latency to 2.
7962	* config/rs6000/440.md (ppc440-store): Increase latency to 6.
7963	* config/rs6000/603.md (ppc603-store): Occupy LSU for 2 cycles.
7964	* config/rs6000/6xx.md (ppc604-store): Increase latency to 3.
7965	* config/rs6000/mpc.md (mpccore-store): Increase latency to 2.
7966	* config/rs6000/rios1.md (rios1-store): Increase latency to 2.
7967	(rios1-fpstore): Increase latency to 3.
7968	* config/rs6000/rios2.md (rios2-store): Increase latency to 2.
7969	* config/rs6000/rs64.md (rs64a-store): Increase latency to 2.
7970
79712005-09-23  David Edelsohn  <edelsohn@gnu.org>
7972	    Andrew Pinski  <pinskia@physics.uc.edu>
7973
7974	* config/rs6000/sync.md (sync_<fetchop_name>si_internal): Change
7975	operand2 constraint to "b".
7976	(sync_<fetchop_name>di_internal): Same.
7977	(sync_old_<fetchop_name>si_internal): Change operand3 constraint
7978	to "b".
7979	(sync_old_<fetchop_name>di_internal): Same.
7980	(sync_new_<fetchop_name>si_internal): Same.
7981	(sync_new_<fetchop_name>di_internal): Same.
7982
79832005-09-23  J"orn Rennecke <joern.rennecke@st.com>
7984
7985	PR middle-end/23991
7986	* final.c (insn_default_length, insn_min_length): In !HAVE_ATTR_length
7987	case, define as macros.
7988
7989	PR rtl-optimization/23837
7990	*  optabs.c (no_conflict_move_test): Don't set must_stay for a
7991	clobber / clobber match between dest and p->first.
7992
7993	* optabs.c (emit_libcall_block): Use no_conflict_move_test.
7994	(no_conflict_move_test): Update comments.
7995
79962005-09-22  Ranjit Mathew  <rmathew@gcc.gnu.org>
7997
7998	* doc/install.texi: Update URL for Jacks.
7999	* doc/sourcebuild.texi: Likewise.
8000
80012005-09-22  David Edelsohn  <edelsohn@gnu.org>
8002
8003	PR target/24007
8004	* config/rs6000/rs6000.md (movsf_hardfloat): Ignore special
8005	registers when choosing register preferences.
8006	(movdf_hardfloat64): Same.
8007
80082005-09-22  Andreas Krebbel  <krebbel1@de.ibm.com>
8009
8010	* expmed.c (expand_shift): Don't use the target of the rotate as
8011	target for the first expanded shift insn.
8012	* testsuite/gcc.dg/20050922-1.c: Testcase added.
8013
80142005-09-21  Zdenek Dvorak  <dvorakz@suse.cz>
8015
8016	PR tree-optimization/22438
8017	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Handle all
8018	preserved iv rhs rewriting specially.
8019
80202005-09-21  Daniel Berlin  <dberlin@dberlin.org>
8021
8022	* tree-data-ref.c (analyze_array_indexes): Only estimate when
8023	estimate_only  is true.
8024	* tree-flow.h (ref_contains_indirect_ref): New prototype.
8025	* tree-flow-inline.h (ref_contains_indirect_ref): Moved from
8026	tree-ssa-structalias.c
8027	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Use
8028	ref_contains_indirect_ref.
8029	* tree-ssa-structalias.c (ref_contains_indirect_ref): Moved.
8030
80312005-09-21  DJ Delorie  <dj@redhat.com>
8032
8033	* config/mn10300/mn10300.c (TARGET_DEFAULT_TARGET_FLAGS): Add
8034	MASK_PTR_A0D0.
8035	(mn10300_return_in_memory): Support variable size types also.
8036	(mn10300_pass_by_reference): Likewise.
8037	(mn10300_function_value): New.
8038	* config/mn10300/mn10300.h (FUNCTION_VALUE): Call the above.
8039	(FUNCTION_OUTGOING_VALUE): Likewise.
8040	* config/mn10300/mn10300.opt: Add -mreturn-pointer-on-d0.
8041	* doc/invoke.texi: Document it.
8042
80432005-09-21  Uros Bizjak  <uros@kss-loka.si>
8044
8045	PR target/22585
8046	* config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
8047	force integer op1 into register for XFmode compares.
8048
80492005-09-21  Kazu Hirata  <kazu@codesourcery.com>
8050
8051	PR middle-end/23971
8052	* expmed.c (alg_code): Add alg_impossible.
8053	(alg_hash_entry): Add cost.
8054	(synth_mult): Record alg_impossible in the hash table if
8055	multiplication by a given integer is impossble within the
8056	limit.  Speed up using alg_impossible.
8057
80582005-09-20  Daniel Berlin  <dberlin@dberlin.org>
8059
8060	* tree-ssa-structalias.c (get_constraint_for_component_ref): Add
8061	argument.  Allow and set any offset if needs_anyoffset is passed
8062	in.
8063	(get_constraint_for): Add argument here too.
8064	Pass it down.
8065	(do_structure_copy): Pass NULL to get_constraint_for.
8066	(handle_ptr_arith): Ditto.
8067	(find_func_aliases): Ditto.
8068
80692005-09-20  J"orn Rennecke <joern.rennecke@st.com>
8070
8071	PR rtl-optimization/23898
8072	* output.h (get_attr_min_length): Declare.
8073	* final.c (get_attr_length_1): New function, broken out of:
8074	(get_attr_length).
8075	(get_attr_min_length): New function.
8076	* bb-reorder.c (copy_bb_p, get_uncond_jump_length): Use it.
8077	(duplicate_computed_gotos): Likewise.
8078	* genattr.c (insn_min_length): Generate declaration.
8079	* genattrtab.c (min_fn, min_attr_value): New functions.
8080	(make_length_attrs): Generate insn_min_length.
8081
80822005-09-20  Steve Ellcey  <sje@cup.hp.com>
8083
8084	* config/pa/pa.c (output_cbranch): Check for zero in operands[2].
8085
80862005-09-20  Richard Henderson  <rth@redhat.com>
8087
8088	PR tree-optimization/24059
8089	* expr.c (expand_expr_real_1) <INDIRECT_REF>: Allow modifier
8090	EXPAND_STACK_PARM.
8091
80922005-09-20  Joseph S. Myers  <joseph@codesourcery.com>
8093
8094	* c.opt (fextended-identifiers): New.
8095	* c-opts.c (c_common_handle_option): Handle
8096	-fextended-identifiers.
8097	* doc/cpp.texi: Update documentation of extended identifiers.
8098	* doc/cppopts.texi (-fextended-identifiers): Document.
8099
81002005-09-20  Jakub Jelinek  <jakub@redhat.com>
8101
8102	PR tree-optimization/23929
8103	* tree-ssa-loop-niter.c (expand_simple_operations): Return immediately
8104	if expr is NULL.
8105
8106	PR tree-optimization/23818
8107	* tree-stdarg.c (execute_optimize_stdarg): Call
8108	calculate_dominance_info.
8109
81102005-09-20  Daniel Berlin  <dberlin@dberlin.org>
8111
8112	* tree-data-ref.c (get_number_of_iters_for_loop): New function.
8113	(analyze_siv_subscript_cst_affine): Add weak SIV test.
8114	(compute_overlap_steps_for_affine_1_2): Use
8115	get_number_of_iters_for_loop.
8116	(analyze_subscript_affine_affine): Check whether difference is
8117	zero first.
8118	Use get_number_of_iters_for_loop.
8119	Check whether overlap occurs outside of bounds.
8120	(analyze_miv_subscript): Use get_number_of_iters_for_loop.
8121
81222005-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>
8123
8124	* tree-ssa-address.c (create_mem_ref): Put the symbol reference into the
8125	base register if possible.
8126
81272005-09-20  Zdenek Dvorak  <dvorakz@suse.cz>
8128
8129	PR tree-optimization/18463
8130	* tree-chrec.c (chrec_convert): Return fold_converted chrec if
8131	converting it directly is not possible.
8132	(chrec_convert_aggressive): New function.
8133	* tree-chrec.h (chrec_convert_aggressive): Declare.
8134	* tree-scalar-evolution.c (instantiate_parameters_1, resolve_mixers):
8135	Fold chrec conversions aggressively if asked to.
8136	(instantiate_parameters): Modified because of changes in
8137	instantiate_parameters_1.
8138
81392005-09-19  Richard Henderson  <rth@redhat.com>
8140
8141	* config/i386/sse.md (reduc_splus_v4sf): Rename from reduc_plus_v4sf.
8142	(reduc_splus_v2df): New.
8143
81442005-09-19  Richard Sandiford  <richard@codesourcery.com>
8145
8146	* config/arm/aof.h (REGISTER_NAMES): Add missing backslash.
8147	(ADDITIONAL_REGISTER_NAMES): Add missing comma.  Remove final comma.
8148
81492005-09-19  Richard Henderson  <rth@redhat.com>
8150
8151	* config/i386/sse.md (vcondu<SSEMODE124>): Rename from
8152	vcondu<SSEMODE12>.
8153
81542005-09-19  Richard Henderson  <rth@redhat.com>
8155
8156	* config/ia64/ia64.c (ia64_expand_widen_sum): New.
8157	(ia64_expand_dot_prod_v8qi): New.
8158	* config/ia64/ia64-protos.h: Update.
8159	* config/ia64/vect.md (pmpy2_r, pmpy2_l, widen_usumv8qi3,
8160	widen_usumv4hi3, widen_ssumv8qi3, widen_ssumv4hi3, udot_prodv8qi,
8161	sdot_prodv8qi, sdot_prodv4hi): New.
8162	(reduc_splus_v2sf): Rename from reduc_plus_v2sf.
8163
81642005-09-19  Richard Henderson  <rth@redhat.com>
8165
8166	PR 23941
8167	* real.c (exact_real_truncate): Return false if the format cannot
8168	represent the number as a normal.
8169
8170	* config/alpha/alpha.c (alpha_rtx_costs) <FLOAT_EXTEND>: Cost 0
8171	for a memory source.
8172
81732005-09-19  Dorit Nuzman  <dorit@il.ibm.com>
8174
8175	* tree-ssa-operands.c (swap_tree_operands): Export.
8176	* tree.h (swap_tree_operands): Declare.
8177	* tree-vectorizer.c (vect_is_simple_reduction): Remove ATTRIBUTE_UNUSED.
8178	Call swap_tree_operands.
8179
81802005-09-19  Richard Henderson  <rth@redhat.com>
8181
8182	* tree-flow.h (merge_alias_info): Declare.
8183	* tree-ssa-copy.c (merge_alias_info): Export.
8184	* tree-vect-transform.c (vect_create_index_for_vector_ref): Remove.
8185	(vect_create_data_ref_ptr): Use create_iv directly.
8186	(vectorizable_load): Use correct types for integer constants.
8187	(vect_generate_tmps_on_preheader): Likewise.
8188	(vect_gen_niters_for_prolog_loop): Likewise.
8189
81902005-09-19  Steven Bosscher  <stevenb@suse.de>
8191
8192	PR rtl-optimization/23943
8193	* cse.c (find_best_addr): Never propagate an EXPR_LIST rtx.
8194
81952005-09-18  Jan Hubicka  <jh@suse.cz>
8196
8197	* calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK.
8198
81992005-09-18  Eric Botcazou  <ebotcazou@adacore.com>
8200
8201	* varasm.c (output_constant): Do not abort on conversions to union
8202	types between different sizes.
8203
82042005-09-18  Richard Guenther  <rguenther@suse.de>
8205
8206	PR middle-end/23944
8207	* gimplify.c (fold_indirect_ref_rhs): Fix thinko in
8208	fallback.
8209
82102005-09-18  Paul Brook  <paul@codesourcery.com>
8211
8212	* config/m68k/fpgnuib.c (__floatsidf): Don't rely on signed overflow.
8213
82142005-09-17  Richard Henderson  <rth@redhat.com>
8215
8216	* tree-pass.h, tree-flow.h, tree-ssa-dce.c: Revert last change.
8217	* tree-ssa-loop.c (pass_vect_dce): Remove.
8218	* passes.c (init_optimization_passes): Add pass_dce as a sub-pass
8219	of pass_vectorize.
8220
82212005-09-17  Richard Henderson  <rth@redhat.com>
8222
8223	* tree-pass.h (pass_vect_dce): Declare.
8224	* passes.c (init_optimization_passes): Add it.
8225	* tree-flow.h (tree_ssa_dce): Declare.
8226	* tree-ssa-dce.c (tree_ssa_dce): Export.
8227	* tree-ssa-loop.c (tree_vectorize): Move current_loops check ...
8228	(gate_tree_vectorize): ... here.
8229	(pass_vect_dce): New.
8230
82312005-09-17  Jan Hubicka  <jh@suse.cz>
8232
8233	* except.c (struct eh_status): Turn region_array into vec.
8234	(expand_resx_expr, collect_eh_region_array, remove_unreachable_regions,
8235	convert_from_eh_region_ranges, find_exception_handler_labels,
8236	current_function_has_exception_handlers, assign_filter_values,
8237	build_post_landing_pads, dw2_build_landing_pads,
8238	sjlj_find_directly_reachable_regions, sjlj_mark_call_sites,
8239	sjlj_emit_dispatch_table, remove_eh_handler, for_each_eh_region,
8240	foreach_reachable_handler, can_throw_internal_1,
8241	convert_to_eh_region_ranges, verify_eh_tree): Update uses of
8242	region_array.
8243	(duplicate_eh_region_1): Update region_array.
8244	(duplicate_eh_regions): Resize region_array and avoid recomputing.
8245
82462005-09-17  David Edelsohn  <edelsohn@gnu.org>
8247
8248	PR middle-end/22067
8249	* expmed.c (expand_mult): Substitute simple register for op0 when
8250	computing max_cost.
8251
82522005-09-17  Richard Henderson  <rth@redhat.com>
8253
8254	* expr.c (emit_move_via_integer): Add force argument, pass it on
8255	to emit_move_change_mode.  Update callers.
8256	(emit_move_complex): Pass true to new force argument.
8257	* function.c (expand_function_end): Move expand_eh_return call
8258	earlier.  Merge sub-word complex values into a pseudo before
8259	copying to the return hard register.
8260
82612005-09-17  Eric Botcazou  <ebotcazou@adacore.com>
8262
8263	* varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs
8264	between different sizes.
8265
82662005-09-16  Paolo Bonzini  <bonzini@gnu.org>
8267
8268	PR 23903
8269
8270	* passes.c (init_optimization_passes): Register dump files for
8271	IPA passes first.
8272
82732005-09-16  Andreas Krebbel  <krebbel1@de.ibm.com>
8274
8275	* config/s390/s390-protos.h (s390_overlap_p): Prototype added.
8276	* config/s390/s390.c (s390_overlap_p): New function.
8277	* config/s390/s390.md ("*mvc" peephole2, "*nc" peephole2, "*oc"
8278	peephole2, "*xc" peephole2): Added overlap check to the peephole2
8279	condition.
8280
82812005-09-16  Richard Guenther  <rguenther@suse.de>
8282
8283	* ipa-pure-const.c (static_execute): Free auxiliar information.
8284	* ipa-type-escape.c (discover_unique_type): Free temporary key.
8285	* tree-vrp.c (remove_range_assertions): Free blocks_visited sbitmap.
8286
82872005-09-15  DJ Delorie  <dj@redhat.com>
8288
8289	* config/m32c/m32c-lib1.S (__m32c_eh_return): Fix typo.
8290
82912005-09-15  Paolo Bonzini  <bonzini@gnu.org>
8292
8293	* optabs.c (expand_binop): Use swap_commutative_operands_with_target
8294	to order operands.
8295	(swap_commutative_operands_with_target): New.
8296
82972005-09-15  Daniel Berlin  <dberlin@dberlin.org>
8298
8299	* tree-data-ref.c (analyze_array_indexes): Add estimate_only
8300	parameter.
8301	Update callers.
8302	(estimate_iters_using_array): New function.
8303	* tree-data-ref.h (estimate_iters_using_array): Prototype
8304	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
8305	Use estimate_iters_using_array instead of analyze_array.
8306
83072005-09-15  Eric Botcazou  <ebotcazou@adacore.com>
8308
8309	* tree-nested.c (get_frame_type): Mark the "non-local frame structure"
8310	as addressable.
8311
83122005-09-15  Michael Matz  <matz@suse.de>
8313
8314	* tree-vrp.c (vrp_int_const_binop <MINUS_EXPR>): Handle 0 - -INF.
8315
83162005-09-14  Daniel Berlin  <dberlin@dberlin.org>
8317
8318	PR tree-optimization/23835
8319	* tree-ssa-alias.c (sort_pointers_by_pt_vars): New function.
8320	(create_name_tags): Rewrite to be not O(num_ssa_names^2).
8321
83222005-09-14  Richard Henderson  <rth@redhat.com>
8323
8324	* config/ia64/vect.md (addv2sf3, subv2sf3): Rewrite as expand.
8325	(addv2sf3_1, addv2sf3_2, subv2sf3_1, subv2sf3_2): New.
8326
83272005-09-14  Andrew Pinski  <pinskia@physics.uc.edu>
8328
8329	* config/i386/i386.c (contains_128bit_aligned_vector_p): Add break
8330	in the ARRAY_TYPE case.
8331
83322005-09-14  Eric Botcazou  <ebotcazou@adacore.com>
8333
8334	* tree.c (substitute_in_expr, case 4): New case, for ARRAY_REF.
8335
83362005-09-14  Uros Bizjak  <uros@kss-loka.si>
8337
8338	PR middle-end/22480
8339	* tree-vect-transform.c (vectorizable_operation): Return false for
8340	scalar shift operations and for vector shift operations with
8341	non-invariant shift arguments.  Use scalar tree operand op1 as
8342	a shift operand when vector shift insn pattern uses scalar shift
8343	operand.
8344	* Makefile.in (tree-vect-transform.o): Depend on recog.h.
8345
83462005-09-14  Olivier Hainque  <hainque@adacore.com>
8347
8348	* gimplify.c (gimplify_init_ctor_eval): Don't discard a zero-sized
8349	value if it has side-effects.
8350
83512005-09-14  David Edelsohn  <edelsohn@gnu.org>
8352
8353	PR target/22068
8354	* config/rs6000/rs6000.md (muldi3): Add mulli alternative.
8355
83562005-09-14  Alan Modra  <amodra@bigpond.net.au>
8357
8358	* config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name
8359	passed as NAME as if it were label at start of function code.
8360
83612005-09-13  Kaz Kojima  <kkojima@gcc.gnu.org>
8362
8363	* config/sh/sh.md (*movv4sf_i): Add general register cases to
8364	the constraints.
8365
83662005-09-13  Andrew Pinski  <pinskia@physics.uc.edu>
8367
8368	* config/rs6000/darwin.md (movdf_low_si): Mark the outgoing r constraint
8369	as early clobber.  Rewrite so the PIC register is not implicitly used.
8370
83712005-09-13  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8372
8373	* tree.c (annotate_with_file_line): Compare line numbers before
8374	file names.
8375
83762005-09-13  Uros Bizjak  <uros@kss-loka.si>
8377
8378	PR target/23816
8379	* config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3)
8380	(*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns.
8381
83822005-09-13  Ian Lance Taylor  <ian@airs.com>
8383
8384	* loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather
8385	than a HOST_WIDEST_INT to gen_doloop_begin.
8386
83872005-09-13  Diego Novillo  <dnovillo@redhat.com>
8388
8389	* tree-dfa.c (dump_variable): Guard against NULL annotations.
8390
83912005-09-13  Zdenek Dvorak  <dvorakz@suse.cz>
8392
8393	PR tree-optimize/23817
8394	* tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.
8395
83962005-09-13  Alan Modra  <amodra@bigpond.net.au>
8397
8398	PR target/23774
8399	* config/rs6000/rs6000.md (restore_stack_block): Write the backchain
8400	word before changing the stack pointer.	 Use gen_frame_mem for MEMs.
8401	Use UNSPEC_TIE to prevent insn scheduling reordering the insns.
8402	(restore_stack_nonlocal): Likewise.
8403	(save_stack_nonlocal): Use template to emit insns, and gen_frame_mem.
8404
84052005-09-12  Ian Lance Taylor  <ian@airs.com>
8406
8407	PR g++/7874
8408	* c.opt (ffriend-injection): New C++ option.
8409	* doc/invoke.texi (Option Summary): Mention -ffriend-injection.
8410	(C++ Dialect Options): Document -ffriend-injection.
8411
84122005-09-12  Josh Conner  <jconner@apple.com>
8413
8414	PR middle-end/23237
8415	* ipa-reference.c (static_execute): Don't mark variables in
8416	named sections TREE_READONLY.
8417
84182005-09-12  Alan Modra  <amodra@bigpond.net.au>
8419
8420	* config/rs6000/rs6000.c (get_next_active_insn): Simplify test for
8421	stack_tie.
8422
84232005-09-12  Andrew Pinski  <pinskia@physics.uc.edu>
8424
8425	* tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and
8426	V_MUST_DEF instead of just the first_use_p.
8427	Don't mark the virtual variables for renaming on the statement which
8428	is being removed.
8429	(pass_dse): Remove TODO_update_ssa.
8430
84312005-09-12  J"orn Rennecke <joern.rennecke@st.com>
8432
8433	PR middle-end/23290
8434	* stor-layout.c (compute_record_mode): For records with a single
8435	field, actually check the field's mode size against the type size.
8436
8437	* sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose
8438	registers for TARGET_SHMEDIA.
8439	(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename
8440	GENERAL_FP_REGS to GENERAL_DF_REGS.  Add GENERAL_FP_REGS as union
8441	of GENERAL_REGS and FP_REGS.
8442
84432005-09-12  Bernd Schmidt  <bernd.schmidt@analog.com>
8444
8445	* config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.
8446
84472005-09-12  Alan Modra  <amodra@bigpond.net.au>
8448
8449	* config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
8450	CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels
8451	are omitted.  Exclude stack_tie insn too.
8452
84532005-09-11  David Edelsohn  <edelsohn@gnu.org>
8454
8455	PR rtl-optimization/23098
8456	* config/rs6000/predicates.md (easy_fp_constant): SFmode constant
8457	0.0f is easy.
8458	* config/rs6000/rs6000.md (movdf splitter): Use
8459	const_double_operand predicate for TARGET_POWERPC64.
8460	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand
8461	SYMBOL_REF method to ABI_V4.
8462
8463	* config/rs6000/altivec.md (build_vector_mask_for_load): Use
8464	replace_equiv_address.
8465	* config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as
8466	rs6000_sr_alias_set and MEM_NOTRAP.
8467	(rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem().
8468
84692005-09-11  Eric Botcazou  <ebotcazou@adacore.com>
8470
8471	* tree.c (contains_placeholder_p) <tcc_expression>: Properly
8472	handle CALL_EXPR again.
8473
84742005-09-11  Richard Earnshaw  <richard.earnshaw@arm.com>
8475
8476	* arm/predicates.md (alignable_memory_operand): Delete.
8477
84782005-09-10  Richard Henderson  <rth@redhat.com>
8479
8480	PR debug/23806
8481	* dbxout.c (dbxout_expand_expr): New.
8482	(dbxout_symbol): Use it.
8483
84842005-09-10  Richard Earnshaw  <richard.earnshaw@arm.com>
8485
8486	* arm.c (arm_gen_rotated_half_load): Delete.
8487	(vfp_emit_fstmx, arm_set_return_address): Use gen_frame_mem.
8488	(emit_multi_reg_push, emit_sfm, arm_expand_prologue)
8489	(thumb_set_return_address): Likewise.
8490	(thumb_load_double_from_address): Use adjust_address.
8491	* arm.md (splits calling arm_gen_rotated_half_load): Delete.
8492	(extendhsisi2_mem, movhi_bytes): Use change_address.
8493	(movhi): Use widen_memory_access.
8494	(reload_out_df): Use replace_equiv_address.
8495	* arm-protos.h (arm_gen_rotated_half_load): Delete prototype.
8496
84972005-09-09  Richard Henderson  <rth@redhat.com>
8498
8499	PR debug/20998
8500	* dbxout.c: Include expr.h.
8501	(dbxout_global_decl): Don't suppress for DECL_RTL unset.
8502	(dbxout_symbol): Handle DECL_VALUE_EXPR.
8503	* Makefile.in (dbxout.o): Add EXPR_H.
8504
85052005-09-09  Zdenek Dvorak  <dvorakz@suse.cz>
8506
8507	PR tree-optimization/23509
8508	* tree-cfg.c (replace_uses_by): Use replace_exp.
8509	* tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced
8510	pointers have name_mem_tag or type_mem_tag set.
8511
85122005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
8513
8514	* tree-chrec.c (evolution_function_is_invariant_rec_p): Use
8515	CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead
8516	of wrongly accessing operands.
8517
85182005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
8519
8520	* Makefile.in (tree-chrec.o): Depends on SCEV_H.
8521	* tree-chrec.c: Include tree-scalar-evolution.h.
8522	(chrec_convert): Instantiate the base and step before calling
8523	scev_probably_wraps_p that would fail on parametric evolutions.
8524	Collect all the fails into a single section failed_to_convert,
8525	print a diagnostic, and return chrec_dont_know instead of calling
8526	fold_convert.
8527	* tree-scalar-evolution.c (loop_closed_phi_def): New.
8528	(instantiate_parameters_1): Avoid instantiation of loop closed ssa
8529	phi nodes.
8530	(scev_const_prop): Don't replace the definition of a loop closed ssa
8531	phi node by itself, or by another loop closed ssa phi node.
8532	* tree-ssa-loop-niter.c (scev_probably_wraps_p, convert_step): Check
8533	that base and step are defined.
8534
85352005-09-09  Richard Guenther  <rguenther@suse.de>
8536
8537	PR c++/23624
8538	* fold-const.c (fold_ternary): Check truth_value_p before
8539	calling invert_truthvalue.
8540
85412005-09-09  Nick Clifton  <nickc@redhat.com>
8542
8543	* Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
8544	* libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed
8545	dimension of these arrays.
8546	* libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of
8547	these arrays.
8548	* longlong.h: Only provide a prototype for the __clz_tab[] array
8549	if this header has not been included from libgcc2.h.
8550	* config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than
8551	defining own types.
8552	Provide prototypes for exported functions.
8553	Use the __clz_tab[] and __popcount_tab[] arrays provided by
8554	libgcc2.c.
8555
85562005-09-08  Josh Conner  <jconner@apple.com>
8557
8558	PR c++/21135
8559	PR c++/23180
8560	* expr.c (expand_expr_addr_expr_1): Don't invoke
8561	expand_simple_binop for EXPAND_INITIALIZER.
8562
85632005-09-08  Richard Henderson  <rth@redhat.com>
8564
8565	PR debug/23190
8566	* toplev.c (wrapup_global_declaration_1): Split out ...
8567	(wrapup_global_declaration_2): ... from ...
8568	(wrapup_global_declarations): ... here.  Return bool.
8569	(check_global_declaration_1): Split out ...
8570	(check_global_declarations): from here.
8571	(emit_debug_global_declarations): New.
8572	* toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
8573	check_global_declaration_1, emit_debug_global_declarations): Declare.
8574	* c-decl.c (c_write_global_declarations_1): Don't create a vector
8575	of decls.  Call wrapup_global_declaration_1,
8576	wrapup_global_declaration_2, check_global_declaration_1 directly.
8577	(c_write_global_declarations_2): New.
8578	(ext_block): New.
8579	(c_write_global_declarations): Call c_write_global_declarations_2.
8580	* langhooks.c (write_global_declarations): Call
8581	emit_debug_global_declarations.
8582
8583	* cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't
8584	remove decls that have DECL_RTL_SET_P.
8585	* passes.c (rest_of_decl_compilation): Invoke
8586	cgraph_varpool_finalize_decl for all but functions.
8587
85882005-09-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
8589
8590	* tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
8591	the result of a conversion if the new min and max cannot be compared.
8592
85932005-09-08  Andreas Krebbel  <krebbel1@de.ibm.com>
8594
8595	* config/s390/s390.c (s390_sr_alias_set): Variable removed.
8596	(override_options): Setting s390_sr_alias_set removed.
8597	(save_fpr, save_gprs): Set alias set to vararg or frame.
8598	(restore_fpr, restore_gprs, s390_emit_prologue): Replace
8599	s390_sr_alias_set with get_frame_alias_set ().
8600	(s390_gimplify_va_arg): Replace s390_sr_alias_set with
8601	get_varargs_alias_set ().
8602
86032005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
8604
8605	PR objc/20574
8606	PR objc/19324
8607	* c-parser.c (c_parser_objc_method_definition): If the next
8608	token is not "{", error out and don't start the function.
8609
86102005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
8611
8612	* tree-vrp.c (extract_range_from_expr): Move the check for non
8613	nullness after the check for gimple invariant.
8614
86152005-09-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8616
8617	* tree.c (host_integerp, tree_low_cst): Correct function comment.
8618
86192005-09-08  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
8620
8621	PR target/23747
8622	* config/m32r.md (movmemsi_internal): Canonicalize order of
8623	operands in PLUS component of template.
8624
86252005-09-07  Andreas Krebbel  <krebbel1@de.ibm.com>
8626
8627	* reload1.c (fixup_eh_region_note): Remove assertion.
8628	(fixup_abnormal_edges): Reverted removal of call to
8629	find_many_sub_basic_blocks made on 2005-08-31.
8630
86312005-09-07  Richard Henderson  <rth@redhat.com>
8632
8633	* function.c (ARG_POINTER_CFA_OFFSET): Move ...
8634	* defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
8635	(INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
8636	* dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
8637	rearrange for better packing.
8638	(INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
8639	(lookup_cfa_1): Remove inline marker.
8640	(cfa_equal_p): Split out of ...
8641	(def_cfa_1): ... here.  Use INVALID_REGNUM.
8642	(build_cfa_loc): Handle !cfa->indirect.
8643	(frame_pointer_cfa_offset): New.
8644	(dbx_reg_number): Assert register elimination performed; do
8645	leaf register remapping.
8646	(reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
8647	(eliminate_reg_to_offset): New.
8648	(based_loc_descr): Remove can_use_fbreg argument.  Use fbreg only
8649	for verifiably local stack frame addresses; re-base to CFA.
8650	(mem_loc_descriptor): Remove can_use_fbreg argument.
8651	(concat_loc_descriptor, loc_descriptor): Likewise.
8652	(containing_function_has_frame_base): Remove.
8653	(rtl_for_decl_location): Don't do register elimination or
8654	leaf register remapping here.
8655	(secname_for_decl): Split out from ..
8656	(add_location_or_const_value_attribute): ... here.
8657	(convert_cfa_to_loc_list): New.
8658	(compute_frame_pointer_to_cfa_displacement): New.
8659	(gen_subprogram_die): Use them.
8660	* tree.h (frame_base_decl): Remove.
8661	* var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
8662	(prologue_stack_adjust): Remove.
8663	(vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
8664	(adjust_stack_reference): Re-base memories to arg_pointer_rtx.
8665	(set_frame_base_location): Remove.
8666	(compute_bb_dataflow, emit_notes_in_bb): Don't call it.
8667	(dump_attrs_list, dump_dataflow_set): Use string concatenation.
8668	(vt_add_function_parameters): Don't eliminate_regs.
8669	(vt_initialize): Don't create frame_base_decl.
8670
86712005-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
8672
8673	* doc/install.texi (*-*-solaris2*): Clarify wording on the recommended
8674	version of GNU binutils for 4.x and later.
8675
86762005-09-06  Mark Mitchell  <mark@codesourcery.com>
8677
8678	* ggc-page.c (ggc_push_context): Remove.
8679	(ggc_pop_context): Likewise.
8680	* ggc.h (ggc_push_context): Remove.
8681	(ggc_pop_context): Likewise.
8682
86832005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
8684
8685	PR target/8973
8686	* config/arc/arc.c (arc_output_function_epilogue): Update flags while
8687	returning from an interrupt handler.
8688
86892005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
8690
8691	PR target/8972
8692	* config/arc/arc.c (output_shift): Add check for loop count when
8693	optimizing.
8694
86952005-09-06  Steven Bosscher  <stevenb@suse.de>
8696
8697	* tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA
8698	form manually.
8699	(abs_replacement): Likewise.
8700	(pass_phiopt): Remove TODO_update_ssa.
8701
87022005-09-06  Jakub Jelinek  <jakub@redhat.com>
8703
8704	PR c/23075
8705	* c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
8706	if "return with no value, in function returning non-void" warning
8707	has been issued.
8708	* tree-cfg.c (execute_warn_function_return): Don't look at
8709	RETURN_EXPRs with TREE_NO_WARNING set.
8710
8711	PR target/22362
8712	* config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
8713	for internal functions doesn't use registers used by global registers
8714	variables.  Use fewer register parameters if there are global register
8715	variables.
8716
87172005-09-06  Olivier Hainque  <hainque@adacore.com>
8718	    Eric Botcazou  <ebotcazou@adacore.com>
8719
8720	PR middle-end/14997
8721	* expr.c (expand_expr_real) <normal_inner_ref>: Force op0 to mem
8722	when we would be extracting outside its bit span (bitpos+bitsize
8723	larger than its mode), possible with some VIEW_CONVERT_EXPRs from
8724	Ada unchecked conversions.
8725
87262005-09-06  Steven Bosscher  <stevenb@suse.de>
8727
8728	* tree-ssa-pre.c (try_look_through_load): New function.
8729	(compute_avail): Use it to try to look through loads for some
8730	more useful expressions.
8731
87322005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
8733
8734	* simplify-rtx.c (simplify_binary_operation_1): Correct the
8735	condition for detecting cases like (a&a) and (a^a).
8736
87372005-09-06  Keith Besaw  <kbesaw@us.ibm.com>
8738
8739	* common.opt: Add option ftree-vect-loop-version.
8740	* params.def: Add --param vect-max-version-checks.
8741	* doc/invoke.texi: Document ftree-vect-loop-version and
8742	--param vect-max-version-checks.
8743	* tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
8744	may_misalign_stmts and defines for accessors.
8745	* tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
8746	LOOP_VINFO_MAY_MISALIGN_STMTS.
8747	(destroy_loop_vec_info): VEC_free for
8748	LOOP_VINFO_MAY_MISALIGN_STMTS.
8749	* tree-vect-analyze.c (vect_compute_data_ref_alignment):
8750	Update documentation.
8751	(vect_update_misalignment_for_peel): New.
8752	(vect_enhance_data_refs_alignment): Update to choose loop
8753	peeling or loop versioning if appropriate for the (potentially)
8754	unaligned data references in the loop.
8755	(vect_analyze_data_refs_alignment): Remove call to
8756	vect_enhance_data_refs_alignment so the checks can be done
8757	earlier.
8758	(vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
8759	and move up call to vect_analyze_data_refs_alignment.
8760	* tree-vect-transform.c (vect_create_cond_for_align_checks): New.
8761	(vect_transform_loop): Add call to loop_version.
8762
87632005-09-06  Jakub Jelinek  <jakub@redhat.com>
8764
8765	PR rtl-optimization/23098
8766	* cse.c (fold_rtx_mem): Call delegitimize_address target hook.
8767	* simplify-rtx.c (constant_pool_reference_p): New function.
8768	* rtl.h (constant_pool_reference_p): New prototype.
8769	* config/i386/i386.md (pushf split, mov[sdx]f split): Use
8770	constant_pool_reference_p in condition and
8771	avoid_constant_pool_reference in preparation statements.
8772
87732005-09-06  Andreas Krebbel  <krebbel1@de.ibm.com>
8774
8775	* gcse.c (try_replace_reg): Disallow REG_EQUAL notes for
8776	STRICT_LOW_PART SETs.
8777
87782005-09-06  Alan Modra  <amodra@bigpond.net.au>
8779
8780	PR middle-end/21460
8781	* except.c (sjlj_emit_function_enter): Find the function begin
8782	note even when it's not in first basic block.
8783
87842005-09-06  Kelley Cook  <kcook@gcc.gnu.org>
8785
8786	* acinclude.m4: Renamed from aclocal.m4.  Delete AM_LANGINFO_CODESET,
8787	AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND.
8788	* aclocal.m4: Regenerate.
8789
87902005-09-05  DJ Delorie  <dj@redhat.com>
8791
8792	* config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
8793	of macro.
8794
87952005-09-06  Kazu Hirata  <kazu@codesourcery.com>
8796
8797	* gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
8798	config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
8799	config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
8800	Follow spelling conventions.
8801	* doc/invoke.texi: Follow spelling conventions.
8802
88032005-09-05  J"orn Rennecke <joern.rennecke@st.com>
8804
8805	* rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
8806	* emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
8807	* builtins.c (expand_builtin_return_addr): Use gen_frame_mem.
8808
88092005-09-05  J"orn Rennecke <joern.rennecke@st.com>
8810
8811	PR target/23683
8812	* sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
8813	(output_stack_adjust): Use gen_tmp_stack_mem.
8814	(sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
8815	(sh_set_return_address, sh_allocate_initial_value): Likewise.
8816	(sh_get_pr_initial_val): Likewise.
8817	(sh_builtin_saveregs): Use gen_frame_mem and change_address.
8818	(sh_initialize_trampoline): Likewise.  Also use adjust_address.
8819	* sh.md (divsi_inv_m0): Use gen_const_mem.
8820	(push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
8821	(movdf_i4+1): Use gen_tmp_stack_mem.
8822	(reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
8823	(fpu_switch+2): Likewise.
8824	(movv4sf_i, movv16sf_i): Use adjust_address.
8825	(symGOT_load): Set MEM_NOTRAP_P bit.
8826
88272005-09-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8828
8829	PR target/23721
8830	* pa.c (emit_move_sequence): Fix typo in last change.
8831
88322005-09-03  Jakub Jelinek  <jakub@redhat.com>
8833
8834	PR rtl-optimization/23454
8835	* reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
8836	is true.
8837
88382005-09-03  Richard Henderson  <rth@redhat.com>
8839	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8840
8841	PR middle-end/23671
8842	* pa.c (emit_move_sequence): Use replace_equiv_address instead of
8843	gen_rtx_MEM.
8844
88452005-09-02  Nicolas Pitre <nico@cam.org>
8846
8847	* config/arm/arm.c (arm_legitimize_address): Limit the value passed
8848	to bit_count to 32 bits.
8849
88502005-08-31  Mark Mitchell  <mark@codesourcery.com>
8851
8852	PR c++/23167
8853	* gimplify.c (gimplify_expr): Handle TREE_ADDRESSABLE types when
8854	generating synthetic loads from volatile lvalues.
8855
8856005-09-02  Nick Clifton  <nickc@redhat.com>
8857
8858	* config/stormy16/stormy16-lib2.c (__popcounthi2, __parityhi2,
8859	__ctzhi2, __clzhi2): New functions.
8860
88612005-09-02  Andrew Pinski  <pinskia@physics.uc.edu>
8862
8863	PR middle-end/23547
8864	* tree-nested.c (struct var_map_elt): Mark with GTY.
8865	(struct nesting_info): Mark with GTY.  Mark var_map's param is struct
8866	var_map_elt.
8867	(lookup_field_for_decl): Allocate new element in GC memory.
8868	(lookup_tramp_for_decl): Likewise.
8869	(convert_nl_goto_reference): Likewise
8870	(create_nesting_tree): Allocate info in GC memory. Likewise for
8871	info->var_map.
8872	(free_nesting_tree): Free with ggc_free instead of free.
8873	(root): New static variable.
8874	(lower_nested_functions): Remove root as local variable.  And zero out
8875	root at the end of the function.
8876
88772005-09-02  J"orn Rennecke <joern.rennecke@st.com>
8878
8879	PR rtl-optimization/20365
8880	* simplify-rtx.c (simplify_plus_minus_op_data): Change type of neg
8881	to short.  New member ix.
8882	(simplify_plus_minus_op_data_cmp): Break ties using ix member.
8883	(simplify_plus_minus): Initialize ix members before calling qsort.
8884
88852005-09-02  Zdenek Dvorak  <dvorakz@suse.cz>
8886
8887	PR tree-optimization/23626
8888	* tree-cfg.c (replace_uses_by): Clean up eh info.
8889
88902005-09-01  DJ Delorie  <dj@redhat.com>
8891
8892	* config/m32c/m32c.c (m32c_valid_pointer_mode): Remove stray debug
8893	fprintf.
8894
88952005-09-01  David Edelsohn  <edelsohn@gnu.org>
8896
8897	* config/rs6000/rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
8898	(rs6000_split_multireg_move): Use replace_equiv_address instead of
8899	gen_rtx_MEM.
8900
89012005-09-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8902
8903	* c-decl.c (diagnose_mismatched_decls):  With -Wredundant-decls,
8904	do not issue warning for a variable definition following
8905	a declaration.
8906
89072005-09-01  Richard Henderson  <rth@redhat.com>
8908
8909	PR 23668
8910	* config/i386/i386.c (ix86_expand_vector_init_one_var): Restore
8911	conversion to CONST_VECTOR.
8912
89132005-09-01  Richard Henderson  <rth@redhat.com>
8914
8915	PR 23676
8916	* reload1.c (reload_as_needed): Check !CALL_P before calling
8917	fixup_eh_region_note.
8918	* rtlanal.c (may_trap_p): SUBREG by itself cannot trap.
8919
89202005-09-01  DJ Delorie  <dj@redhat.com>
8921
8922	* varasm.c (output_constant): Let the target resolve
8923	conversions of addresses to non-default pointer sizes.
8924
89252005-09-01  Nicolas Pitre <nico@cam.org>
8926
8927	* config/arm/arm.c (arm_legitimize_address): Split absolute addresses
8928	to alow matching ARM pre-indexed addressing mode.
8929	(arm_override_options): Remove now irrelevant comment.
8930
89312005-09-01  Phil Edwards  <phil@codesourcery.com>
8932
8933	* config.gcc (i*86-wrs-vxworks):  Update.  Split out vxworksae target.
8934	* config/i386/t-vxworks:  Update multilibs for VxWorks 6 and RTP mode.
8935	* config/i386/vxworks.h:  Likewise.
8936	* config/i386/t-vxworksae:  New file, for VxWorks AE.
8937	* config/i386/vxworksae.h:  Likewise.
8938
89392005-09-01  Sebastian Pop  <pop@cri.ensmp.fr>
8940
8941	PR tree-optimization/23410
8942	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Check that the
8943	sequence is not wrapping during the first step.
8944
89452005-09-01  Jakub Jelinek  <jakub@redhat.com>
8946
8947	PR debug/7241
8948	* dwarf2out.c (base_type_die): Compare char_type_node with
8949	TYPE_MAIN_VARIANT (type), not type.
8950
89512005-09-01  Richard Guenther  <rguenther@suse.de>
8952
8953	PR tree-optimization/15366
8954	* common.opt: Add -finline-functions-called-once.
8955	Put -fearly-inlining in alphabetically ordered place.
8956	* doc/invoke.texi: Document new option.
8957	* ipa-inline.c (cgraph_decide_inlining): Honour
8958	flag_inline_functions_called_once.
8959
89602005-09-01  Jakub Jelinek  <jakub@redhat.com>
8961
8962	PR rtl-optimization/23478
8963	* local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
8964	(alloc_qty): Initialize it.
8965	(update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
8966	(combine_regs): Combine also n_throwing_calls_crossed fields.
8967	(find_free_reg): Don't attempt to caller-save pseudos crossing
8968	calls that might throw.
8969	* global.c (struct allocno): Add throwing_calls_crossed field.
8970	(global_alloc): Revert 2005-08-22 change.  Initialize
8971	throwing_calls_crossed.
8972	(find_reg): Don't attempt to caller-save pseudos crossing calls that
8973	might throw.
8974
89752005-09-01  Alan Modra  <amodra@bigpond.net.au>
8976
8977	PR target/23649
8978	* config/rs6000/predicates.md (mask_operand): Only handle rlwinm masks.
8979	(mask64_operand): Reinstate code prior to 2005-06-11 change.
8980	(mask64_2_operand): Reinstate code prior to 2004-11-11 change.
8981	(and64_2_operand): Tweak to use predicate.
8982	(and_operand): Adjust for mask_operand changes.
8983	* config/rs6000/rs6000.c (num_insns_constant): Revert 2005-06-11.
8984	(print_operand): Likewise.
8985	(rs6000_rtx_costs): Pass mode to mask_operand and use mask64_operand.
8986	(mask64_1or2_operand): Delete.
8987	* rs6000/rs6000-protos.h (mask64_1or2_operand): Delete.
8988	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT <S>): Revert 2005-06-11.
8989	(EXTRA_CONSTRAINT <T>): Pass operand mode to predicate.
8990	(EXTRA_CONSTRAINT <t>): Disallow mask64_operand matches.
8991	* config/rs6000/rs6000.md (andsi3_internal3 split): Revert 2005-06-11.
8992	(rotldi3_internal4): Likewise.
8993	(rotldi3_internal5, rotldi3_internal5 split): Likewise.
8994	(rotldi3_internal6, rotldi3_internal6 split): Likewise.
8995	(ashldi3_internal7): Likewise.
8996	(ashldi3_internal8, ashldi3_internal8 split): Likewise.
8997	(ashldi3_internal, ashldi3_internal9 split): Likewise.
8998	(anddi3 split): Don't match mask64_operand.
8999	(anddi3_internal2): Add rlwinm.  Modify 't' splitter predicate.
9000	(anddi3_internal3): Add rlwinm.  Use and64_2_operand in non-cr0
9001	splitter and match TARGET_64BIT not TARGET_POWERPC64.  Modify
9002	't' splitter predicate.
9003	(movdi_internal64 + 2): Revert 2005-06-11 change.
9004
90052005-08-31  DJ Delorie  <dj@redhat.com>
9006
9007	* config/m32c/m32c.c (m32c_valid_pointer_mode): New.
9008	(m32c_asm_integer): Add support for 32 bit pointers.
9009
90102005-08-31  Richard Henderson  <rth@redhat.com>
9011
9012	* emit-rtl.c (set_mem_attributes_minus_bitpos): Look through
9013	component-like references for setting MEM_NOTRAP_P.
9014
9015	* config/i386/i386.c (ix86_setup_incoming_varargs): Set MEM_NOTRAP_P.
9016	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Likewise.
9017
90182005-08-31  Richard Henderson  <rth@redhat.com>
9019
9020	* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
9021	into a pseudo before applying gen_lowpart.
9022
90232005-08-31  Geoffrey Keating  <geoffk@apple.com>
9024
9025	* doc/install.texi (Specific): Update cctools version required
9026	for full functionality.
9027	* config/darwin.h (LINK_SPEC): Pass -mmacosx-version-min to the
9028	linkers as -macosx_version_min.
9029
90302005-08-31  J"orn Rennecke <joern.rennecke@st.com>
9031
9032	PR target/21255
9033	* sh.c (print_operand, %R and %S): Add handling of floating point
9034	registers, memory, constants and invalid operands.
9035
90362005-08-31  Daniel Berlin  <dberlin@dberlin.org>
9037
9038	* ipa-pure-const.c: Change dump name.
9039
90402005-08-31 Uros Bizjak <uros@kss-loka.si>
9041
9042	PR target/23570
9043	* config/i386/sse.md (*sse_concatv2sf): Change operand 2 constraint
9044	to "reg_or_0_operand".
9045	(sse2_loadld): Change operand 1 constraint to "reg_or_0_operand".
9046
90472005-08-31  Dale Johannesen  <dalej@apple.com>
9048
9049	* loop-iv.c (iv_number_of_iterations):  Fix overflow check for
9050	loops that count down.
9051
90522005-08-31  Richard Henderson  <rth@redhat.com>
9053
9054	PR rtl-opt/23601
9055	* reload1.c (reload): Set MEM_NOTRAP_P in spill slots.
9056	(fixup_eh_region_note): New.
9057	(reload_as_needed): Call it.
9058	(fixup_abnormal_edges): Allow all throwing insns to be deleted;
9059	don't call find_many_sub_basic_blocks; call verify_flow_info.
9060	* function.c (assign_stack_local_1): Set MEM_NOTRAP_P.
9061	(keep_stack_depressed): Likewise.
9062	(assign_stack_temp_for_type): Likewise; use adjust_address_nv.
9063
90642005-08-31  Richard Henderson  <rth@redhat.com>
9065
9066	* config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for
9067	fp return matching.
9068
90692005-08-31  Fariborz Jahanian <fjahanian@apple.com>
9070
9071	* expr.c (expand_expr_real_1): Compare size of address
9072	mode to target's address mode size in deciding expansion of
9073	the constant address.
9074
90752005-08-31  Richard Guenther  <rguenther@suse.de>
9076
9077	PR middle-end/23477
9078	* expr.c (all_zeros_p): New function.
9079	(expand_expr_real_1): Handle the case of an all-zero
9080	non-addressable constructor separately.
9081
90822005-08-31  Adrian Straetling  <straetling@de.ibm.com>
9083
9084	* builtins.c: (expand_builtin_strcpy, expand_builtin_strcat): Change
9085	arguments, adjust all callers.
9086	(expand_builtin_strcat): Rewrite to call strcpy instead of mempcpy.
9087
90882005-08-30  Richard Henderson  <rth@redhat.com>
9089
9090	PR target/23630
9091	* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
9092	whenever the mode sizes match.
9093
90942005-08-31  Alan Modra  <amodra@bigpond.net.au>
9095
9096	* calls.c (load_register_parameters): Fix comment typo.
9097	* expr.c (emit_push_insn): Comment formatting.
9098
90992005-08-30  Ian Lance Taylor  <ian@airs.com>
9100
9101	* config/i386/x-cygwin (host-cygwin): Change dependency from
9102	hosthooks-def.h to $(HOSTHOOKS_DEF_H).
9103
91042005-08-29  Geoffrey Keating  <geoffk@apple.com>
9105
9106	* config/i386/i386.c (ix86_expand_vector_init_one_var): Don't modify
9107	parts of 'vals'.
9108
91092005-08-29  Andrew Pinski  <pinskia@physics.uc.edu>
9110
9111	PR middle-end/23408
9112	* ipa-inline.c (cgraph_decide_inlining_incrementally): Remove the
9113	call to ggc_collect.
9114
91152005-08-29  Paolo Bonzini  <bonzini@gnu.org>
9116
9117	PR bootstrap/21268
9118	* Makefile.in (ALL_CPPFLAGS): Include $(INCLUDES) at the
9119	beginning.  Remove $(INCLUDES) from all the rules, if following
9120	$(ALL_CPPFLAGS) or $(BUILD_CPPFLAGS).
9121
91222005-08-29  Jakub Jelinek  <jakub@redhat.com>
9123
9124	PR middle-end/23484
9125	* builtins.c (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
9126	fold_builtin_strncpy_chk, fold_builtin_snprintf_chk): If len is
9127	not constant, but maxlen is, don't set len to maxlen, rather
9128	set maxlen to len if len is a constant.
9129
91302005-08-29  Zdenek Dvorak  <dvorakz@suse.cz>
9131
9132	PR tree-optimization/23475
9133	* tree-ssa-loop-ivcanon.c (remove_empty_loop): Update frequencies
9134	and counts.
9135
91362005-08-28  Daniel Berlin  <dberlin@dberlin.org>
9137
9138	Fix PR middle-end/22455
9139
9140	* fold-const.c (fold_checksum_tree): Adjust for now-largest tree size.
9141	Checksum only the parts of the tree that exist for the tree code.
9142
91432005-08-28  Dale Johannesen  <dalej@apple.com>
9144
9145	* config/i386/i386.c (nocona_cost):  Increase MOVE_RATIO.
9146
91472005-08-28  Andrew Pinski  <pinskia@physics.uc.edu>
9148
9149	* tree-vrp.c: Remove obsolete comment in front of vrp_initialize.
9150
91512005-08-28  Richard Henderson  <rth@redhat.com>
9152
9153	* stor-layout.c (finalize_type_size): Revert workaround from 08-26.
9154	* tree.c (make_node_stat): Use BITS_PER_UNIT instead of alignment
9155	of char_type_node.
9156
91572005-08-28  Jakub Jelinek  <jakub@redhat.com>
9158
9159	PR ada/23593
9160	* builtins.c (get_memory_rtx): Don't strip nops
9161	in between COMPONENT_REFs.
9162
91632005-08-27  Andrew Pinski  <pinskia@physics.uc.edu>
9164
9165	PR middle-end/23463
9166	* gimplify.c (gimplify_modify_expr_rhs): Remove check for zero sized
9167	types.
9168	(gimplify_modify_expr): Check for zero sized types and gimplify the
9169	rhs and lhs as statements.
9170
91712005-08-27  John David Anglin  <dave.anflin@nrc-cnrc.gc.ca>
9172
9173	PR libgcj/23508
9174	* pa/linux-unwind.h (pa32_fallback_frame_state): Use r0 slot in frame
9175	state for return address column of signal frames.
9176
91772005-08-27  David Edelsohn  <edelsohn@gnu.org>
9178
9179	PR target/23539
9180	* config/rs6000/rs6000.c (expand_block_clear): Use HImode when
9181	bytes >= 2 not bytes == 2.
9182	(expand_block_move): Same.
9183
91842005-08-27  Richard Guenther  <rguenther@suse.de>
9185
9186	PR target/23575
9187	* config/i386/sse.md (sse2_movsd): Add missing closing
9188	braces.
9189
91902005-08-27  Paul Brook  <paul@codesourcery.com>
9191
9192	* genrecog.c (enum decision_type): Add DT_num_insns.
9193	(struct decision_test): Add u.num_insns.
9194	(add_to_sequence): Add DT_num_insns test.
9195	(maybe_both_true_2, nodes_identical_1): Handle DT_num_insns.
9196	(write_cond, debug_decision_2): Ditto.
9197	(change_state): Assume peep2_next_insn never fails.
9198	Remove "afterward" argument.
9199	(write afterward, write_tree): Update to match.
9200	* recog.c (peep2_current_count): New variable.
9201	(peep2_next_insn): Check it.
9202	(peephole2_optimize): Set peep2_current_count.
9203	* recog.h (peep2_current_count): Declare.
9204
92052005-08-26  Josh Conner  <jconner@apple.com>
9206
9207	PR middle-end/23584
9208	* ipa-pure-const.c (check_tree): Check for volatile-ness
9209	when considering a dereference.
9210
92112005-08-27  Jakub Jelinek  <jakub@redhat.com>
9212
9213	* rtl.h (MEM_IN_STRUCT_P): Fix comment typo.
9214
92152005-08-26  Jakub Jelinek  <jakub@redhat.com>
9216
9217	PR rtl-optimization/23561
9218	* builtins.c (get_memory_rtx): Add LEN argument.  If MEM_EXPR is
9219	a COMPONENT_REF, remove all COMPONENT_REF from MEM_EXPR unless
9220	at most LEN bytes long memory fits into the field.
9221	(expand_builtin_memcpy, expand_builtin_mempcpy, expand_movstr,
9222	expand_builtin_strncpy, expand_builtin_memset, expand_builtin_memcmp,
9223	expand_builtin_strcmp, expand_builtin_strncmp): Adjust callers.
9224
92252005-08-26  Richard Henderson  <rth@redhat.com>
9226
9227	PR rtl-opt/23560
9228	* loop.c (biased_biv_may_wrap_p): New.
9229	(maybe_eliminate_biv_1): Use it to suppress non-equality
9230	comparison transformations.  Delete disabled code.
9231
92322005-08-26  Ian Lance Taylor  <ian@airs.com>
9233
9234	* combine.c (make_extraction): Avoid reference outside object.
9235
92362005-08-26  J"orn Rennecke <joern.rennecke@st.com>
9237
9238	* stor-layout.c (finalize_type_size): Restore behaviour for
9239	non-aggregate types to the status quo ante of the patch for
9240	pr 23467.  Document why it matters.
9241
92422005-08-26  Jakub Jelinek  <jakub@redhat.com>
9243
9244	PR c/23506
9245	* c-common.c (c_common_nodes_and_builtins): Increase builtin_types
9246	array by one element, initialize the BT_LAST element with NULL.
9247
92482005-08-26  David Edelsohn  <edelsohn@gnu.org>
9249
9250	* config/rs6000/rs6000.md (eq<mode>_compare): Only enable when
9251	optimizing for size.
9252	(plus_eqsi): Same.
9253	(compare_plus_eqsi): Same.
9254	(plus_eqsi_compare): Same.
9255	(neg_eq0<mode>): Same.
9256	(neg_eq<mode>): Same.
9257
9258	* config/rs6000/aix52.h (PROCESSOR_DEFAULT): Change to
9259	PROCESSOR_POWER4.
9260
92612005-08-26  Nick Clifton  <nickc@redhat.com>
9262
9263	* config/v850/v850.c (ep_memory_operand): Return FALSE if
9264	TARGET_EP is not defined.
9265	* config/v850/c850.h (TARGET_CPU_CPP_BUILTINS): Define __EP__ if
9266	TARGET_EP is enabled.
9267	(OPTIMIZATION_OPTIONS): Do not define MASK_EP when optimizing.
9268	* config/v850/v850.md (save_all_interrupt): Only use the EP
9269	register if TARGET_EP is defined.
9270	(restore_all_interrupt): Likewise.
9271	* config/v850/lib1funcs.asm: Update functions so that the EP
9272	register is only used if __EP__ is defined.
9273
92742005-08-26  David Ung  <davidu@mips.com>
9275
9276	* config/mips/mips.c (mips_expand_prologue): Handle case when
9277	generating for MIPS16 and the outgoing argument area is more than
9278	SMALL_OPERAND. Use the frame pointer as temporary to generate the
9279	add instruction.
9280
92812005-08-26  Paul Woegerer  <paul.woegerer@nsc.com>
9282
9283	* config/crx/crx.md: Make doloop_end pattern usage controllable
9284	via mloop-nesting=<max-nesting> command line switch. Make sure
9285	the combiner cannot use doloop_end_<mode> in an illegal way.
9286	* config/crx/crx.c: Use regs up to r6 for argument passing.
9287	Refine crx_address_cost (non cst4 displacements are expensive).
9288	* config/crx/crx.opt: Add switch for mloop-nesting=.
9289
92902005-08-26  Adrian Straetling  <straetling@de.ibm.com>
9291
9292	* config/s390/s390.md: ("movstr", "*movstr"): Add patterns.
9293	(UNSPEC_MVST): New constant.
9294
92952005-08-26  Andreas Krebbel  <krebbel1@de.ibm.com>
9296
9297	* config/s390/predicates.md ("shift_count_operand", "setmem_operand"):
9298	Reject operands containing eliminable registers.
9299	* testsuite/gcc.dg/20050825-1.c: New testcase.
9300
93012005-08-24  Paolo Bonzini  <bonzini@gnu.org>
9302	    Jan Hubicka  <jh@suse.cz>
9303
9304	* regmove.c (reg_is_remote_constant_p): Reorganize to not use log links.
9305
93062005-08-24  Paolo Bonzini  <bonzini@gnu.org>
9307
9308	PR tree-optimization/23546
9309	* tree-ssa-loop-im.c (for_each_index): Handle INTEGER_CST
9310	and REAL_CST nodes.
9311
93122005-08-24  Pete Steinmetz  <steinmtz@us.ibm.com>
9313
9314	* params.def (PARAM_MIN_SPEC_PROB): New.
9315	* sched-rgn.c (MIN_PROBABILITY): Delete.
9316	(compute_trg_info): Convert to PARAM_VALUE.
9317	* doc/invoke.texi (param): Document min-spec-prob.
9318
93192005-08-24  Fariborz Jahanian <fjahanian@apple.com>
9320
9321	* config/darwin.h: define __PIC__
9322	* config/rs6000/darwin.h: Add SUBTARGET_OS_CPP_BUILTINS to
9323	TARGET_OS_CPP_BUILTINS macro.
9324
93252005-08-24  Paolo Bonzini  <bonzini@gnu.org>
9326
9327	* config/rs6000/rs6000.md: Fix thinko in the peephole2 I added
9328	yesterday.
9329
93302005-08-24  Zdenek Dvorak  <dvorakz@suse.cz>
9331
9332	* bb-reorder.c (copy_bb, duplicate_computed_gotos): Add argument
9333	to duplicate_block.
9334	* cfghooks.c (duplicate_block): Added position where to place
9335	new block as argument.
9336	* cfghooks.h (duplicate_block): Declaration changed.
9337	* cfglayout.c (copy_bbs): Add argument after.  Pass it to
9338	duplicate_block.
9339	* cfglayout.h (copy_bbs): Declaration changed.
9340	* cfgloop.h (loop_version): Declaration changed.
9341	* cfgloopmanip.c (duplicate_loop_to_header_edge): Pass
9342	position to copy_bbs.
9343	(loop_version): Pass position to duplicate_loop_to_header_edge.
9344	Add place_after argument and position new blocks according to
9345	it.
9346	* modulo-sched.c (sms_schedule): Pass place_after argument
9347	to loop_version.
9348	* tracer.c (tail_duplicate): Pass argument to duplicate_block.
9349	* tree-cfg.c (split_edge_bb_loc): New function.
9350	(tree_split_edge, tree_duplicate_sese_region): Use split_edge_bb_loc
9351	to determine position of new blocks.
9352	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass argument
9353	to loop_version.
9354	* tree-ssa-threadupdate.c (create_block_for_threading): Pass
9355	argument to duplicate_block.
9356	* tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg):
9357	Pass position to copy_bbs.
9358
93592005-08-24  Zdenek Dvorak  <dvorakz@suse.cz>
9360
9361	* fold-const.c (ptr_difference_const): Use
9362	cst_and_fits_in_hwi instead of host_integerp.
9363
93642005-08-24  Paolo Bonzini  <bonzini@gnu.org>
9365
9366	* config/darwin.c (gen_pic_offset): New.
9367	(machopic_indirect_data_reference,  machopic_legitimize_pic_address):
9368	Use it.
9369
93702005-08-23  Zdenek Dvorak  <dvorakz@suse.cz>
9371
9372	PR tree-optimization/23486
9373	* tree-ssa-loop.c (pass_scev_cprop): Add TODO_update_ssa_only_virtuals.
9374
93752005-08-23  Phil Edwards  <phil@codesourcery.com>
9376
9377	* config.gcc (*-*-vxworks*):  Update tm_file, add extra_options,
9378	remove use_collect2.
9379	(powerpc-wrs-vxworks):  Update, split out *-*-vxworksae target.
9380
9381	* target-def.h (TARGET_HAVE_CTORS_DTORS):  Allow target
9382	configuration files to override the default value.
9383
9384	* config/t-vxworks:  Remove INSTALL_ASSERT_H.  Define STMP_FIXPROTO,
9385	EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
9386	* config/vx-common.h:  New file, split out from...
9387	* config/vxworks.h:  here.  Update for VxWorks 6.x and RTP mode.
9388	* config/vxworksae.h:  New file, for VxWorks AE.
9389	* config/vxworks.opt:  New file.
9390	* config/vxlib.c:  Update for VxWorks 6.
9391
9392	* config/rs6000/t-vxworks (MULTILIB_OPTIONS):  New list.  Adjust
9393	other MULTILIB_* variables appropriately.
9394	(LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS):  Correct from t-ppccomm.
9395	* config/rs6000/t-vxworksae:  New file, adjust multilibs for AE.
9396	* config/rs6000/vxworks.h:  Update for VxWorks 6.
9397	* config/rs6000/vxworksae.h:  New file, mostly placeholder for now.
9398
93992005-08-23  Andrew Pinski  <pinskia@physics.uc.edu>
9400
9401	PR target/20799
9402	* config/darwin.c (machopic_select_section): Remove the hack to
9403	mark "::operator new" and "::operator delete" for coalescing
9404	even though they are not weak.
9405
94062005-08-24  Alan Modra  <amodra@bigpond.net.au>
9407
9408	* configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch.
9409	* configure: Regenerate.
9410
94112005-08-23  Paolo Bonzini  <bonzini@gnu.org>
9412
9413	PR middle-end/23517
9414	* fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert
9415	between vectors.
9416	* convert.c (convert_to_integer, convert_to_vector): Likewise.
9417	* tree-vect-generic.c (tree_vec_extract, expand_vector_operations_1):
9418	Likewise.
9419
94202005-08-23  Paolo Bonzini  <bonzini@gnu.org>
9421
9422	* config/rs6000/predicates.md (equality_operator): New.
9423	* config/rs6000/rs6000.md: Rewrite as a peephole2 the split for
9424	comparison with a large constant.
9425
94262005-08-23  Mark Mitchell  <mark@codesourcery.com>
9427
9428	* hwint.h (HOST_WIDE_INT_PRINT): Use HOST_LONG_LONG_FORMAT.
9429
94302005-08-23  J"orn Rennecke <joern.rennecke@st.com>
9431
9432	* sh.c (sh_builtin_saveregs): If the number of to-be-saved fp
9433	registers is even, and we have a hardware double precision fp,
9434	align the buffer.
9435	(sh_gimplify_va_arg_expr): For floating point arguments, consider
9436	size of current argument when checking if argument was passed in
9437	registers.
9438
9439	* sh.c (sh_attr_renesas_p): Handle error_mark_node.
9440
9441	PR middle-end/23467
9442	* stor-layout.c (finalize_type_size): Dont override
9443	existing alignment with a smaller alignment from the mode.
9444
94452005-08-23  Sebastian Pop  <pop@cri.ensmp.fr>
9446
9447	* lambda-code.c (lambda_vector_lexico_pos): Moved...
9448	* lambda.h (lambda_vector_lexico_pos): ... here.
9449	* tree-data-ref.c (build_classic_dist_vector): Return false when
9450	the distance vector is lexicographically negative.
9451
94522005-08-23  Sebastian Pop  <pop@cri.ensmp.fr>
9453
9454	PR tree-optimization/23511
9455	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Don't
9456	handle cases where TYPE_MIN_VALUE or TYPE_MAX_VALUE are NULL_TREE.
9457
94582005-08-23  Jakub Jelinek  <jakub@redhat.com>
9459
9460	PR tree-optimization/22043
9461	* tree.h (count_type_elements): Add ALLOW_FLEXARR argument.
9462	* expr.c (count_type_elements): Add ALLOW_FLEXARR argument.
9463	If ALLOW_FLEXARR, handle types ending with flexible array member.
9464	Pass false as second argument to recursive count_type_elements calls.
9465	(categorize_ctor_elements_1, mostly_zeros_p): Pass false as second
9466	argument to count_type_elements call.
9467	* tree-sra.c (decide_block_copy): Likewise.
9468	* gimplify.c (gimplify_init_constructor): If num_type_elements < 0
9469	for a constant-sized object, set cleared as well.  Pass true as
9470	second argument to count_type_elements call.
9471
94722005-08-23  Alan Modra  <amodra@bigpond.net.au>
9473
9474	PR target/21571
9475	* config/rs6000/rs6000.c (rs6000_legitimate_small_data_p): Rename
9476	from legitimate_small_data_p, and make global.  Update use.
9477	Remove forward declaration.
9478	* config/rs6000/rs6000-protos.h (rs6000_legitimate_small_data_p):
9479	Declare.
9480	* config/rs6000/rs6000.md (movdf_hardfloat32): Allow small data mems.
9481
94822005-08-23  David Edelsohn  <edelsohn@gnu.org>
9483
9484	* config/rs6000/rs6000.md (eq<mode>): Use output operand instead
9485	of scratch intermediates.
9486	(eq<mode>_compare): Same.
9487	(neg_eq0<mode>): New.
9488	(neg_eq<mode>): Convert to define_insn_and_split.
9489
94902005-08-23  Alan Modra  <amodra@bigpond.net.au>
9491
9492	PR target/23070
9493	* config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to
9494	stdarg functions, set/clear the fp marker even when no variable
9495	args are passed.
9496	* config/rs6000/sysv4.opt (mprototype): Describe.
9497
94982005-08-22  Jakub Jelinek  <jakub@redhat.com>
9499
9500	PR rtl-optimization/23478
9501	* regs.h (reg_info): Add throw_calls_crossed.
9502	(REG_N_THROWING_CALLS_CROSSED): Define.
9503	* flow.c (allocate_reg_life_data): Initialize
9504	REG_N_THROWING_CALLS_CROSSED.
9505	(propagate_one_insn, attempt_auto_inc): Update
9506	REG_N_THROWING_CALLS_CROSSED.
9507	* global.c (global_alloc): Don't allocate pseudos across
9508	calls that may throw.
9509
95102005-08-22  Andrew Pinski  <pinskia@physics.uc.edu>
9511
9512	PR c/18715
9513	* c-common.c (c_do_switch_warnings): Look for a node where the enum's
9514	value is inbetween the range if we did not find an exact match.
9515
95162005-08-22  Aldy Hernandez  <aldyh@redhat.com>
9517
9518	* doc/invoke.texi (Option Summary): Add ms1 options.
9519	* doc/extend.texi: Document interrupt handler attribute for ms1.
9520	* doc/md.texi: Document ms1 constraints.
9521	* config.gcc: Add ms1-*-elf.
9522	* config/ms1/ms1.h: New.
9523	* config/ms1/ms1.c: New.
9524	* config/ms1/ms1.md: New.
9525	* config/ms1/ms1-protos.h: New.
9526	* config/ms1/ABI.txt: New.
9527	* config/ms1/crti.asm: New.
9528	* config/ms1/crtn.asm: New.
9529	* config/ms1/lib2extra-funcs.c: New.
9530	* config/ms1/t-ms1: New.
9531	* config/ms1/ms1.opt: New.
9532
95332005-08-22 Ira Rosen <irar@il.ibm.com>
9534
9535	* config/rs6000/altivec.md (xorv4sf3): New.
9536	(negv4sf2, neg<mode>2): Likewise.
9537
95382005-08-21  H.J. Lu  <hongjiu.lu@intel.com>
9539
9540	PR target/23485
9541	* config/ia64/ia64.md (divsi3): Check divide by zero.
9542	(udivsi3): Likewise.
9543	(divdi3): Likewise.
9544	(udivdi3): Likewise.
9545
95462005-08-21  Jakub Jelinek  <jakub@redhat.com>
9547
9548	* simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only clear
9549	up to elem_bitsize bits, not max_bitsize.
9550
95512005-08-21  Sebastian Pop  <pop@cri.ensmp.fr>
9552
9553	PR tree-optimization/23433
9554	* tree-chrec.c (chrec_apply): Translate INTEGER_CST to a
9555	REAL_CST when the type is SCALAR_FLOAT_TYPE_P.
9556
95572005-08-21  Sebastian Pop  <pop@cri.ensmp.fr>
9558
9559	PR tree-optimization/23434
9560	* tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when
9561	the iteration bound is not an INTEGER_CST.
9562
95632005-08-21  Dorit Nuzman  <dorit@il.ibm.com>
9564
9565	* tree-vect-transform.c (get_initial_def_for_reduction): Set
9566	need_epilog_adjust back to false for MIN/MAX case. Set *scalar_def to
9567	NULL if need_epilog_adjust is false.
9568	(vect_create_epilog_for_reduction): Variable adjust_in_epilog removed.
9569	Case 3 always peels first itration, not just for PLUS case, and no need
9570	to use scalar_initial_def here. Create an epilog adjustment only if
9571	scalar_initial_def is not NULL.
9572
9573	(vectorizable_reduction): Remove assert.
9574
95752005-08-20  H.J. Lu  <hongjiu.lu@intel.com>
9576
9577	PR target/23485
9578	* config/ia64/lib1funcs.asm (__divdi3): Check divide by zero.
9579	(__moddi3): Likewise.
9580	(__udivdi3): Likewise.
9581	(__umoddi3): Likewise.
9582	(__divsi3): Likewise.
9583	(__modsi3): Likewise.
9584	(__udivsi3): Likewise.
9585	(__umodsi3): Likewise.
9586
95872005-08-20  Jakub Jelinek  <jakub@redhat.com>
9588
9589	* tree-pass.h (TDF_GRAPH): Define.
9590	* tree-dump.c (dump_options): Don't set TDF_GRAPH in "all".
9591	* passes.c (finish_optimization_passes): Only call
9592	finish_graph_dump_file if TDF_GRAPH is set.
9593	(execute_one_pass): Only call clean_graph_dump_file if dump_file !=
9594	NULL.  Set TDF_GRAPH bit.
9595	(execute_todo): Call print_rtl_graph_with_bb if TDF_GRAPH is set.
9596
95972005-08-20  Richard Earnshaw  <richard.earnshaw@arm.com>
9598
9599	* arm.h (arm_stack_offsets): Add locals_base field.
9600	* arm.c (arm_get_frame_offsets): Compute it.
9601	(thumb_compute_initial_elimination offset): Make the Thumb frame
9602	pointer point to the base of the local variables.
9603	(thumb_expand_prologue): Update accordingly.
9604	(thumb_expand_epilogue): Likewise.
9605
9606	* arm.md (thumb_movhi_clobber): Make this insn a define_expand.  Change
9607	mode of clobbered scratch to DImode.  Handle a case that's known to
9608	need this.
9609
96102005-08-19  David Edelsohn  <edelsohn@gnu.org>
9611
9612	* config/rs6000/rs6000.md (gt0<mode>): Delete.
9613	(gt0<mode>_compare): Delete.
9614	(neg_gt0<mode>): Delete.
9615
96162005-08-19  Eric Christopher  <echristo@apple.com>
9617
9618	* optabs.h: Change CTI_ to COI_.
9619	* optabs.c: Ditto.
9620
96212005-08-19  James E Wilson  <wilson@specifix.com>
9622
9623	* builtins.c (expand_builtin_return_addr): Set
9624	current_function_accesses_prior_frames when count != 0.  Use
9625	frame_pointer_rtx when count == 0.
9626	* function.h (struct function): Add accesses_prior_frames field.
9627	(current_function_accesses_prior_frames): Define.
9628	* reload1.c (init_elim_table): Check
9629	current_function_accesses_prior_frames.
9630	* doc/tm.texi (INITIAL_FRAME_ADDRESS_RTX): Update docs.
9631
96322005-08-19  Diego Novillo  <dnovillo@redhat.com>
9633
9634	* tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change
9635	indicator.  Return true if the flowgraph changed during
9636	cleanup.
9637
96382005-08-19  Diego Novillo  <dnovillo@redhat.com>
9639
9640	PR 23476
9641	* tree-cfgcleanup.c (cleanup_control_expr_graph): Fold the
9642	conditional expression before testing its value.
9643
96442005-08-19  Diego Novillo  <dnovillo@redhat.com>
9645
9646	* doc/invoke.texi: Fix documentation for -ftree-dominator-opts.
9647
96482005-08-19  Devang Patel  <dpatel@apple.com>
9649
9650	PR tree-optimization/23048
9651	* tree-if-conv.c (if_convertible_bb_p): Supply basic_block as
9652	third parameter. Check whether latch is dominated by exit
9653	block or not.
9654	(if_convertible_loop_p): Supply exit block itself to
9655	if_convertible_bb_p.
9656
96572005-08-19  Richard Earnshaw  <richard.earnshaw@arm.com>
9658
9659	PR target/23473
9660	* arm.md (arm_load_pic_register): Change argument to the mask of
9661	saved registers.  Call thumb_find_work_register if we need a
9662	scratch register on Thumb.
9663	(arm_expand_prologue): Pass empty register set to
9664	arm_load_pic_register.
9665	(thumb_expand_prologue): Pass live_regs_mask directly to
9666	arm_load_pic_register.
9667	* arm-protos.h (arm_load_pic_register): Update prototype.
9668
96692005-08-19  J"orn Rennecke <joern.rennecke@st.com>
9670
9671	* sh.c (find_sole_member): New function.
9672	(sh_gimplify_va_arg_expr): Use it. Allow RECORD_TYPE mode mismatch
9673	if the record's alignment is larger than the size of its only member.
9674
96752005-08-19  Richard Earnshaw  <richard.earnshaw@arm.com>
9676
9677	PR target/23436
9678	* arm.c (thumb_legitimize_reload_address): New function.
9679	* arm-protos.h (thumb_legitimize_reload_address): Add prototype.
9680	* arm.h (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Call it.
9681
96822005-08-19  Paul Woegerer  <paul.woegerer@nsc.com>
9683
9684	* config/crx/crx.c: Implement crx_decompose_address. Reject
9685	symbolic displacements since CRX register relative adressing
9686	mode can't handle unsigned 32-bit values as displacements.
9687	* config/crx/crx.h: Simplify definitions, remove redundant
9688	parenthesis and obsolete macros.
9689	* config/crx/crx.opt: Add new switch for debugging addresses.
9690	* config/crx/crx-protos.h: Add new declarations for above.
9691
96922005-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
9693
9694	PR middle-end/20624
9695	* gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by
9696	looking past it.
9697
96982005-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9699
9700	* collect2.c (dup2): Delete.
9701	* configure.ac: Don't check for dup2.
9702
9703	* config.in, configure: Regenerate.
9704
97052005-08-18  J"orn Rennecke <joern.rennecke@st.com>
9706
9707	* sh.c (sh_gimplify_va_arg_expr): Loop to substitute a RECORD_TYPE
9708	record with the type of its only member.
9709
97102005-08-18  David Edelsohn  <edelsohn@gnu.org>
9711
9712	* config/rs6000/rs6000.md (ltu<mode>_compare): Convert to
9713	define_insn_and_split.
9714	(plus_ltu<mode>_compare): Same.
9715	(gtu<mode>_compare): Same.
9716	(plus_gtu<mode>_compare): Same.
9717
97182005-08-18  Dorit Nuzman  <dorit@il.ibm.com>
9719
9720	PR tree-optimization/22228
9721	* tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to
9722	todo_flags_start.
9723	* tree-vect-transform.c (vect_transform_loop): Mark the variables that
9724	are recorded in vect_vnames_to_rename for renaming.
9725	* tree-vectorizer.c (vect_vnames_to_rename): New global bitmap.
9726	(slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming
9727	in vect_vnames_to_rename.
9728	(vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap.
9729	* tree-vectorizer.h (vect_vnames_to_rename): New extern variable.
9730
97312005-08-18  Jan Hubicka  <jh@suse.cz>
9732
9733	PR c++/22034
9734	* cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
9735	info only for local statics, not for member variables.
9736
97372005-08-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9738
9739	* tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo.
9740
97412005-08-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9742
9743	* c-typeck.c (designator_errorneous): Rename to designator_erroneous.
9744
97452005-08-18  Andrew Pinski  <pinskia@physics.uc.edu>
9746
9747	PR middle-end/16045
9748	* builtins.c (fold_builtin): Create a new NOP_EXPR all the time.
9749
97502005-08-17  James E Wilson  <wilson@specifix.com>
9751
9752	* c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
9753	array size check.
9754
97552005-08-17  David Edelsohn  <edelsohn@gnu.org>
9756
9757	* config/rs6000/rs6000.md (leu<mode>): Convert to mode macro.
9758	(leu<mode>_compare): Same.
9759	(plus_leu<mode>): Same.
9760	(neg_leu<mode>): Same.
9761	(and_neg_leu<mode): Same.
9762	(ltu<mode>_compare): Same.
9763	(plus_ltu<mode>): Same.
9764	(geu<mode>): Same.
9765	(geu<mode>_compare): Same.
9766	(plus_geu<mode>): Same.
9767	(neg_geu<mode>): Same.
9768	(and_neg_geu<mode>): Same.
9769	(plus_gt<mode>): Same.
9770	(gtu<mode>_compare): Same.
9771	(plus_gtu<mode>): Same.
9772
97732005-08-17  Erik Christiansen  <erik@dd.nec.com.au>
9774
9775	* config/v850/lib1funcs.asm (callt_save_interrupt): Fix comment typos.
9776	Move call_table_data to end.  Delete spurious .text.
9777	(callt_save_all_interrupt): Fix comment typo.
9778
97792005-08-17  James E Wilson  <wilson@specifix.com>
9780	    Kevin Winchester  <winchester@amirix.com>
9781
9782	PR target/21684
9783	* config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.
9784
97852005-08-17  Uros Bizjak  <uros@kss-loka.si>
9786
9787	PR target/23268
9788	* config/i386/i386.md ("*fist<mode>2_1"): New pattern.
9789	("lrint<mode>2"): Change expander to use "*fist<mode>2_1" pattern.
9790
97912005-08-17  J"orn Rennecke <joern.rennecke@st.com>
9792
9793	* sh.c (sh_gimplify_va_arg_expr): Don't substitute a RECORD_TYPE
9794	record with the type of its only member if the modes don't match.
9795
9796	* varasm.c (decode_reg_name): Skip empty additional register names.
9797
97982005-08-16  Zdenek Dvorak  <dvorakz@suse.cz>
9799
9800	* tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name,
9801	lsm_tmp_name_length): New.
9802	(lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New functions.
9803	(schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp".
9804
98052005-08-16  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
9806	    Andreas Krebbel  <krebbel1@de.ibm.com>
9807
9808	* config.gcc: Added z9-109 switch.
9809	* config/s390/2084.md ("x_int", "x_agen", "x_lr", "x_la", "x_larl",
9810	"x_load", "x_store", "x_branch", "x_call", "x_mul_hi", "x_mul_sidi",
9811	"x_div", "x_sem", "x_cs", "x_vs", "x_stm", "x_lm", "x_other",
9812	"x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
9813	"x_floadsf", "x_fstore_df", "x_fstoresf", "x_ftoi", "x_itof"): Enable
9814	for "z9_109" cpu attribute.
9815	* config/s390/s390.c (z9_109_cost): New processor cost structure.
9816	(CONST_OK_FOR_Os, CONST_OK_FOR_Op, CONST_OK_FOR_On): New macros.
9817	(s390_handle_arch_option): Added z9-109 switch.
9818	(override_options): Set respective cost function for z9-109.
9819	(s390_const_ok_for_constraint_p): New constraints Os, Op, On.
9820	(legitimate_reload_constant_p): Accept extended immediates.
9821	(print_operand): Three new output modifiers added: k, m and o.
9822	(s390_adjust_priority, s390_issue_rate): Handle Z9_109 like Z990.
9823	(s390_output_mi_thunk): Use extended immediate when possible.
9824	* config/s390/s390.h (processor_flags): Added PF_EXTIMM.
9825	(TARGET_CPU_EXTIMM, TARGET_EXTIMM): New macros.
9826	(CONSTRAINT_LEN): Added length of O constraint.
9827	(CLZ_DEFINED_VALUE_AT_ZERO): Definition added.
9828	* config/s390/s390.md ("cpu"): New value z9_109 added.
9829	("*tstdi_extimm", "*tstdi_ccconly_extimm", "*tstsi_extimm",
9830	"*tstsi_cconly_extimm", "*movdi_64extimm", "*extendhidi2_extimm",
9831	"*extendqidi2_extimm", "*extendhisi2_extimm", "*extendqisi2_extimm",
9832	"*zero_extend<mode>si2_extimm", "*anddi3_extimm", "*iordi3_extimm",
9833	"*xordi3_extimm", "clzdi2", "clztidi2"): New patterns.
9834	("*tstdi", "*tstsi", "*movdi_64", "*extendhisi2", "*extendqisi2",
9835	"*zero_extend<mode>si2_64", "zero_extendqihi2", "*zero_extendqihi2_64",
9836	"*anddi3", "*iordi3", "*xordi3"): Disable for TARGET_EXTIMM.
9837	("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", "*cmpsi_ccs", "*cmpdi_ccu",
9838	"*cmpsi_ccu", "*movsi_zarch", "*adddi3_imm_cc", "*adddi3_carry1_cc",
9839	"*adddi3_carry2_cc", "*adddi3_cc", "*adddi3_64", "*addsi3_imm_cc",
9840	"*addsi3_carry1_cc", "*addsi3_carry2_cc", "*addsi3_cc", "addsi3",
9841	"*andsi3_cc", "*andsi3_cconly", "*andsi3_zarch", "*iorsi3_cc",
9842	"*iorsi3_cconly", "*iorsi3_zarch", "*xorsi3_cc", "*xorsi3_cconly",
9843	"*xorsi3", "*xorhi3", "*xorqi3"): Added instruction using extended
9844	immediates.
9845	("extend<mode>di2", "extend<mode>si2", "zero_extend<mode>di2",
9846	"zero_extend<mode>si2"): Allow memory operands and don't manually emit
9847	insns for TARGET_EXTIMM.
9848
98492005-08-17  Andreas Krebbel  <krebbel1@de.ibm.com>
9850
9851	* testsuite/gcc.dg/20020926-1.c: Added "-mesa" to dg-options.
9852
98532005-08-17  Nick Clifton  <nickc@redhat.com>
9854
9855	* config/stormy16/stormy16.c (xstormy16_encode_section_info):
9856	Call default_encode_section_info.
9857
98582005-08-17  Steven Bosscher  <stevenb@suse.de>
9859
9860	PR tree-optimization/21574
9861	* tree-ssa-ccp.c (likely_value): If the right hand side is a
9862	constant, return CONSTANT.
9863	(ccp_lattice_meet): Use operand_equal_p instead of simple_cst_equal.
9864	(ccp_fold, visit_assignment): Likewise.
9865	(evaluate_stmt): Handle UNDEFINED and UNKNOWN_VAL the same way.
9866
98672005-08-16  James A. Morrison  <phython@gcc.gnu.org>
9868
9869	* c-typeck.c (build_function_call): Call fold_buildN_initializer or
9870	fold_buildN instead of buildN then fold_initializer or fold.
9871	(build_unary_op): Likewise.
9872	(build_binary_op): Likewise.
9873	* fold-const.c (fold_initializer): Remove.
9874	(fold_build1_initializer): New function.
9875	(fold_build2_initializer): New function.
9876	(fold_build3_initializer): New function.
9877	* tree.h (fold_initializer): Remove.
9878	(fold_build1_initializer): New function.
9879	(fold_build2_initializer): New function.
9880	(fold_build3_initializer): New function.
9881
98822005-08-16  James A. Morrison  <phython@gcc.gnu.org>
9883
9884	* fold-const.c (optimize_bit_field_compare): Remove extra fold call.
9885	(try_move_mult_to_index): Call fold_build2 instead of build2.
9886	(fold_binary): Don't call fold after calls to try_move_mult_to_index.
9887	* tree-ssa-loop-niter.c (inverse): Call int_const_binop instead of
9888	fold_binary_to_constant.
9889	(infer_loop_bounds_from_undefined): Call fold_build2 instead of
9890	fold (build.
9891	* tree-data-ref.c (tree_fold_divides_p): Use tree_int_cst_equal to
9892	check if A == gcd (A, B).  Remove TYPE argument.
9893	(analyze_offset) Use fold_build2 instead of fold (build.
9894	(create_data_ref): Likewise.
9895	(analyze_siv_subscript_cst_affine): Update calls to tree_fold_divides_p.
9896	* tree-ssa-ccp.c (widen_bitfield): Call fold_build2 instead of build2
9897	then fold.
9898
98992005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
9900
9901	* config/arm/unaligned-funcs.c,config/i386/crtfastmath.c,
9902	ipa-cp.c,ipa-prop.c,ipa-prop.h: Update FSF address.
9903
99042005-08-16  Andrew Pinski  <pinskia@physics.uc.edu>
9905
9906	PR tree-opt/23402
9907	* gimplify.c (zero_sized_type): New function.
9908	(gimplify_modify_expr_rhs): If we have a zero sized type,
9909	replace the statement with an empty statement.
9910
99112005-08-16  H.J. Lu  <hongjiu.lu@intel.com>
9912
9913	* config/i386/crtfastmath.c (set_fast_math): Add "=m" for
9914	fxsave.
9915
99162005-08-16  Ian Lance Taylor  <ian@airs.com>
9917
9918	* doc/tm.texi (Label Output): Correct typo.
9919
99202005-08-16  Steven Bosscher  <stevenb@suse.de>
9921
9922	PR target/23376
9923	* loop-unroll.c (analyze_insn_to_expand_var): Make sure that
9924	force_operand will work later on using have_insn_for.
9925
99262005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9927
9928	* fold-const.c (tree_expr_nonnegative_p): Regroup cases.
9929
99302005-08-16  Ian Lance Taylor  <ian@airs.com>
9931
9932	PR c++/23337
9933	* gimplify.c (gimplify_init_ctor_eval): If we see an element of
9934	vector type, don't try to construct it element by element.  Add an
9935	assertion that we use a FIELD_DECL when building a COMPONENT_REF.
9936
99372005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9938
9939	* fold-const.c (fold_ternary): Simplify folding of a CALL_EXPR.
9940
99412005-08-16  Geoffrey Keating  <geoffk@apple.com>
9942
9943	* doc/invoke.texi (Precompiled Headers): Document some more options
9944	which are known to be safe.
9945
99462005-08-16  James E Wilson  <wilson@specifix.com>
9947
9948	PR tree-optimization/21105
9949	* c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
9950	TREE_OVERFLOW check.
9951
99522005-08-16  David Edelsohn  <edelsohn@gnu.org>
9953
9954	* config/rs6000/rs6000.md (ltu<mode>): Convert to mode macro.
9955	(neg_ltu<mode>): Same.
9956	(gtu<mode>): Same.
9957	(neg_gtu<mode>): Same.
9958
99592005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9960
9961	* builtins.c (expand_builtin_strcat): Remove superfluous call to fold.
9962	(fold_builtin_isdigit): Use fold_buildN.
9963	(build_function_call_expr): Likewise.
9964	* c-typeck.c (c_finish_loop): Likewise.
9965
99662005-08-16  J"orn Rennecke <joern.rennecke@st.com>
9967	    Richard Shann <rshann@superh.com>
9968
9969	PR middle-end/20396:
9970	* optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account.
9971
99722005-08-16  Sebastian Pop  <pop@cri.ensmp.fr>
9973
9974	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment.
9975
99762005-08-15  Richard Earnshaw  <richard.earnshaw@arm.com>
9977
9978	PR target/23355
9979	* arm.c (thumb_compute_save_reg_mask): Use similar logic to
9980	arm_compure_save_reg0_reg12_mask to determine when the PIC register
9981	must be saved.
9982
99832005-08-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9984
9985	PR middle-end/23369
9986	* fold-const.c (build_range_check): Disable optimization for function
9987	pointer expressions on targets that require function pointer
9988	canonicalization.
9989
99902005-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
9991
9992	* simplify-rtx.c (simplify_const_relational_operation): When
9993	extracting arguments of a COMPARE, recompute the mode as well.
9994
99952005-08-15  Ian Lance Taylor  <ian@airs.com>
9996
9997	* tree.c (build_string): Mark tree CONSTANT and INVARIANT.
9998
99992005-08-15  DJ Delorie  <dj@redhat.com>
10000
10001	* config/m32c/mov.md (movqi_op): Immediates can't be moved to
10002	the stack.
10003	(movsi_splittable): Allow, but split, moves to the stack.
10004	* config/m32c/m32c.c (m32c_split_move): Always split moves to the
10005	stack.
10006
100072005-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10008
10009	* aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete.
10010	* configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR.
10011	* system.h (HOST_PTR_PRINTF): Don't define, poison it.
10012
10013	* bitmap.c, c-decl.c, config/i386/i386-interix.h,
10014	config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c:
10015	Delete HOST_PTR_PRINTF.
10016
10017	* configure, config.in: Regenerate.
10018
100192005-08-15  David Edelsohn  <edelsohn@gnu.org>
10020
10021	* config/rs6000/rs6000.md (QHSI): New mode macro.
10022	(wd): Extend mode attr for QImode and HImode
10023	(dbits): New mode attr.
10024	(zero_extend<mode>di2): Convert to mode macro.
10025
100262005-08-15  Steve Ellcey  <sje@cup.hp.com>
10027
10028	PR target/21841
10029	* doc/invoke.texi (-mgnu-ld): Update description.
10030	(-mhp-ld): Ditto.
10031
100322005-08-15  Sebastian Pop  <pop@cri.ensmp.fr>
10033
10034	PR 23391
10035	* Makefile.in (tree-chrec.o): Depends on real.h.
10036	* tree-chrec.c: Include real.h.
10037	(chrec_fold_plus_poly_poly, chrec_fold_multiply_poly_poly,
10038	chrec_fold_plus_1): Use build_real for SCALAR_FLOAT_TYPE_P.
10039	* tree-scalar-evolution.c (add_to_evolution_1,
10040	interpret_rhs_modify_expr): Ditto.
10041
100422005-08-15  Sebastian Pop  <pop@cri.ensmp.fr>
10043
10044	PR 23386
10045	* tree-data-ref.c (estimate_niter_from_size_of_data): When
10046	step is negative compute the estimation from init downwards to zero.
10047
100482005-08-14  James A. Morrison  <phython@gcc.gnu.org>
10049
10050	* fold-const (fold_binary): Call fold_build2 instead of fold (build.
10051
100522005-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
10053
10054	* config/s390/s390.c (s390_const_ok_for_constraint_p): Add 'P'
10055	constraint.
10056	(legitimate_reload_constant_p): Fix handling of lliXX operands.
10057	Accept double-word constants that can be split.
10058	* config/s390/s390.md ("movti"): Use 'P' constraint.
10059	("*movdi_31", "*movdf_31"): Likewise.
10060
100612005-08-14  Daniel Berlin  <dberlin@dberlin.org>
10062
10063	Fix PR tree-optimization/22615
10064
10065	* tree-ssa-structalias.c (solution_set_add): Handle
10066	first_vi_for_offset returning NULL.
10067	(do_da_constraint): Ditto.
10068	(do_sd_constraint): Ditto.
10069	(do_ds_constraint): Ditto
10070	(find_func_aliases): Ditto.
10071	(build_constraint_graph): RHS is allowed be ANYTHING.
10072	(first_vi_for_offset): Return NULL if we couldn't find anything at
10073	the offset.
10074
100752005-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
10076
10077	* config/s390/s390.c (s390_canonicalize_comparison): Prefer register
10078	over memory as first operand.
10079
100802005-08-14  H.J. Lu  <hongjiu.lu@intel.com>
10081
10082	PR target/23360
10083	* config/i386/crtfastmath.c (set_fast_math): Check if DAZ is
10084	available for setting it.
10085
100862005-08-14  Ira Rosen  <irar@il.ibm.com>
10087
10088	PR tree-optimization/23320
10089	* tree-data-ref.c (base_addr_differ_p): Add comment. Check
10090	data-refs' types instead of base object nullness. Add check for
10091	pointer type data-refs before first location comparison. Remove
10092	assert.
10093
100942005-08-14  Andreas Schwab  <schwab@suse.de>
10095
10096	* doc/md.texi (Machine Constraints): Fix misplaced @end table.
10097
100982005-08-13  James E Wilson  <wilson@specifix.com>
10099
10100	* doc/cpp.texi (__SSP__, __SSP_ALL__): Document.
10101	* doc/invoke.texi (-Wstack-protector, -fstack-protector,
10102	-fstack-protector-all, --param ssp-buffer-size): Document.
10103	(-Wvariadic-macros): Alphabetize.
10104	(-fsched-stalled-insns-dep): Add missing 'f'.
10105
10106	* c-cppbuiltin.c (c_cpp_builtins): Add comment for flag_stack_protect
10107	macros.
10108
101092005-08-13  David Edelsohn  <edelsohn@gnu.org>
10110
10111	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'a' for indexed
10112	or indirect address operand.
10113	(EXTRA_ADDRESS_CONSTRAINT): New.
10114	* config/rs6000/rs6000.md (prefetch): Change constraint "p" to "a".
10115
101162005-08-13  Sebastian Pop  <pop@cri.ensmp.fr>
10117
10118	PR tree-optimization/22236
10119	* tree-cfg.c (print_pred_bbs, print_succ_bbs): Correctly print
10120	successors and predecessors.
10121	* tree-chrec.c (chrec_convert): Before converting, check that
10122	sequences don't wrap.
10123	* tree-data-ref.c (compute_estimated_nb_iterations): Moved ...
10124	(analyze_array): Extern.
10125	(find_data_references_in_loop): Remove call to
10126	compute_estimated_nb_iterations.
10127	* tree-data-ref.h (analyze_array): Declared.
10128	* tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand,
10129	single_ssa_def_operand, zero_ssa_operands): Fix documentation.
10130	* tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter.
10131	* tree-scalar-evolution.c (instantiate_parameters_1): Factor entry
10132	condition.
10133	* tree-ssa-loop-ivcanon.c: Fix documentation.
10134	* tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note.
10135	* tree-ssa-loop-niter.c (compute_estimated_nb_iterations): ... here.
10136	(infer_loop_bounds_from_undefined): New.
10137	(estimate_numbers_of_iterations_loop): Use
10138	infer_loop_bounds_from_undefined.
10139	(used_in_pointer_arithmetic_p): New.
10140	(scev_probably_wraps_p): Pass an extra parameter.  Call
10141	used_in_pointer_arithmetic_p.  Check that AT_STMT is not null.
10142	(convert_step): Fix documentation.
10143	* tree-vrp.c (adjust_range_with_scev): Call instantiate_parameters.
10144	Use initial_condition_in_loop_num and evolution_part_in_loop_num
10145	instead of CHREC_LEFT and CHREC_RIGHT.  Adjust the call to
10146	scev_probably_wraps_p.
10147
101482005-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
10149
10150	* config/s390/s390.c (s390_split_branches): Revert 2005-08-12 change.
10151	(s390_register_info): Ignore clobbered_regs information for fixed
10152	registers, and only fixed registers.
10153	(s390_init_frame_layout): Remove redundant call.
10154
101552005-08-12  Gerald Pfeifer  <gerald@pfeifer.com>
10156
10157	* doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to
10158	description of -Wold-style-casts.
10159
101602005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
10161	    Jakub Jelinek  <jakub@redhat.com>
10162
10163	* config/s390/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
10164	* config/s390/s390-protos.h (s390_get_thread_pointer): Prototype added.
10165	* config/s390/s390.c (print_operand): New output modifier 'G' added.
10166	(get_thread_pointer): Renamed to s390_get_thread_pointer.
10167	* config/s390/s390.md (stack_protect_set, stack_protect_test): If
10168	TARGET_THREAD_SSP_OFFSET is defined, change operands[1] to
10169	(MEM:P (PLUS:P (tp, TARGET_THREAD_SSP_OFFSET))).
10170	(UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
10171	("stack_protect_set", "stack_protect_test"): New expanders.
10172	("stack_protect_setsi", "stack_protect_setdi", "stack_protect_testsi",
10173	"stack_protect_testdi"): New insn definitions.
10174
101752005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
10176
10177	* config/s390/s390.md ("*movdf_31"): Changed constraint from P to K.
10178
101792005-08-12  Paul Brook  <paul@codesourcery.com>
10180
10181	* config/arm/lib1funcs.asm: Error if __ARM_ARCH__ not set.
10182
101832005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
10184
10185	* config/s390/predicates.md (setmem_operand): New predicate.
10186	(shift_count_operand): Accept ANDs with special constants as
10187	operand.
10188	* config/s390/s390.c (print_shift_count_operand): Skip ANDs
10189	with special constants.
10190	* config/s390/s390.md ("setmem_long", "*setmem_long"): Replaced
10191	shift_count_operand with setmem_operand.
10192
101932005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
10194
10195	* config/s390/s390.c (s390_extract_part, s390_single_part):
10196	Type cast added.
10197	(s390_const_ok_for_constraint_p): Added SImode to the N constraint.
10198	(s390_output_mi_thunk): Don't use lg on 31 bit.
10199	* config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy.
10200	("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH.
10201
102022005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
10203
10204	* config/s390/s390.c (CONST_OK_FOR_J, CONST_OK_FOR_K): New macros.
10205	(s390_select_ccmode, s390_rtx_costs, legitimate_reload_constant_p,
10206	s390_init_frame_layout, s390_emit_prologue, s390_emit_epilogue,
10207	s390_output_mi_thunk): Replaced uses of CONST_OK_FOR_CONSTRAINT_P
10208	with one of the new macros.
10209
102102005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
10211
10212	* config/s390/s390.c (s390_split_branches, s390_init_frame_layout):
10213	Don't set save_return_addr_p.
10214	(s390_register_info): Make clobbered_regs not depending on
10215	save_return_addr_p.
10216
102172005-08-12  Kaz Kojima  <kkojima@gcc.gnu.org>
10218
10219	* gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.
10220	(LINK_COMMAND_SPEC): Add space after %(link_ssp).
10221
102222005-08-11  James E. Wilson  <wilson@specifix.com>
10223
10224	* config/ia64/ia64.h (EXTRA_MEMORY_CONSTRAINT): New.
10225
102262005-08-11  Jakub Jelinek  <jakub@redhat.com>
10227
10228	* dwarf2out.c (add_location_or_const_value_attribute): Prefer
10229	locations gathered by var-tracking in single entry loc_list
10230	over loc_descriptor_from_tree.
10231
10232	* dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument,
10233	pass it down to loc_descriptor.
10234	(loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor.
10235	(containing_function_has_frame_base): Move earlier in the file.
10236	(loc_descriptor_from_tree_1): Use containing_function_has_frame_base
10237	instead of always assuming fbreg can't be used.
10238
102392005-08-11  David Edelsohn  <edelsohn@gnu.org>
10240
10241	* config/rs6000/altivec.md: Change constraint "m" to "Z".
10242	* config/rs6000/predicates.md (indexed_or_indirect_operand):
10243	Accept address wrapped in AND for Altivec.
10244	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
10245	Strip AND wrapping offset address for Altivec.
10246
102472005-08-11  Richard Henderson  <rth@redhat.com>
10248
10249	PR middle-end/23312
10250	* gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE
10251	before using TYPE_IS_SIZETYPE.
10252
102532005-08-11  Richard Henderson  <rth@redhat.com>
10254
10255	PR target/22225
10256	* config/alpha/alpha.c (alphaev4_insn_pipe): Add take pipes for
10257	insn types not present on ev4.
10258	(alphaev5_insn_pipe): Similarly.
10259
102602005-08-11  Richard Earnshaw  <richard.earnshaw@arm.com>
10261
10262	PR target/23250
10263	* arm.c (arm_override_options): If the user has selected callee-super-
10264	interworking, then enable normal interworking.
10265
102662005-08-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10267
10268	* config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Undef before
10269	redefinition.
10270
102712005-08-11  Wu Zhou  <woodzltc@cn.ibm.com>
10272
10273	* doc/rtl.texi: Fix two typos.
10274
102752005-08-11  Richard Guenther  <rguenther@suse.de>
10276
10277	PR target/23289
10278	* config/i386/i386.c (ix86_function_ok_for_sibcall): Handle
10279	cases where we call to/from functions returning void.
10280
102812005-08-10  James A. Morrison  <phython@gcc.gnu.org>
10282
10283	PR c++/23225
10284	* tree.c (build_pointer_type_for_mode): Robustify.
10285
102862005-08-10  James E Wilson  <wilson@specifix.com>
10287
10288	* defaults.h, config/alpha/alpha.h, config/ia64/ia64.h
10289	(ASM_OUTPUT_ADDR_VEC_ELT): Delete.
10290
10291	* config/alpha/alpha.c (alpha_arg_partial_bytes): Change "(CUM)." to
10292	"cum->".
10293
102942005-08-10  Eric Christopher  <echristo@apple.com>
10295
10296	* config/rs6000/rs6000.c (mems_ok_for_quad_peep): Rewrite.
10297	* config/rs6000/rs6000.md (*lfq_power2, *stfq_power2): Use
10298	V2DFmode.
10299
103002005-08-10  Andrew Pinski  <pinskia@physics.uc.edu>
10301
10302	PR target/21887
10303	* config/darwin.c (machopic_indirect_data_reference): Use a new register
10304	for the high part when generating dynamic-no-pic code.
10305
103062005-08-10  H.J. Lu  <hongjiu.lu@intel.com>
10307
10308	* config.gcc (i[34567]86-*-linux*): Add i386/t-crtfm to tm-file.
10309	(x86_64-*-linux*): Likewise.
10310
10311	* config/i386/crtfastmath.c: New file.
10312	* config/i386/t-crtfm: Likewise.
10313
10314	* config/i386/linux.h (ENDFILE_SPEC): New.
10315	* config/i386/linux64.h (ENDFILE_SPEC): Likewise.
10316
10317	* config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
10318	crtfastmath.o.
10319
103202005-08-10  Dorit Nuzman  <dorit@il.ibm.com>
10321
10322	* doc/md.texi: (reduc_smin, reduc_umin, reduc_splus, reduc_uplus):
10323	(vec_shl, vec_shr): Document new operations.
10324	* tree.def (VEC_RSHIFT_EXPR, VEC_LSHIFT_EXPR): Fix comment.
10325
103262005-08-10  David Edelsohn  <edelsohn@gnu.org>
10327
10328	* config/rs6000/predicates.md (indexed_or_indirect_address): New.
10329	* config/rs6000/rs6000.md (prefetch): Remove operand 0 mode and
10330	change predicate to indexed_or_indirect_address.
10331
103322005-08-10  Richard Sandiford  <richard@codesourcery.com>
10333
10334	* config/arm/lib1funcs.asm (__aeabi_uidiv, __aeabi_idiv): New aliases.
10335	* config/arm/libgcc-bpabi.ver (GCC_3.5): Add __aeabi_idiv,
10336	__aeabi_uidiv, __aeabi_uread4, __aeabi_uread8, __aeabi_uwrite4
10337	and __aeabi_uwrite8.
10338	* config/arm/unaligned-funcs.c: New file.
10339	* config/arm/t-bpabi (LIB2FUNCS_EXTRA): Add unaligned-funcs.c.
10340
103412005-08-09  Paolo Bonzini  <bonzini@gnu.org>
10342
10343	* bb-reorder.c (pass_duplicate_computed_gotos, pass_partition_blocks):
10344	Add dump.
10345	* cfglayout.c (pass_insn_locators_initialize): Add dump.
10346	* emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes):
10347	Add dump.
10348	* except.c (pass_convert_to_eh_region_ranges): Add dump.
10349	* final.c (pass_shorten_branches): Add dump.
10350	* flow.c (pass_recompute_reg_usage, pass_remove_death_notes): Add dump.
10351	(pass_life): Rename dump.
10352	(rest_of_handle_flow2): Remove initial verify_flow_info.
10353	* function.c (pass_instantiate_virtual_regs): Add dump.
10354	* integrate.c (pass_initial_value_sets): Add dump.
10355	* jump.c (pass_cleanup_barriers, pass_purge_lineno_notes): Add dump.
10356	* loop-init.c (pass_rtl_loop_init, pass_rtl_loop_done): Rename dump.
10357	(pass_rtl_move_loop_invariants, pass_rtl_unswitch, pass_rtl_doloop,
10358	pass_rtl_unroll_and_peel_loops): Rename dump and add gate.
10359	(gate_rtl_move_loop_invariants, gate_rtl_unswitch, gate_rtl_doloop,
10360	gate_rtl_unrool_and_peel_loops): New.
10361	(rtl_move_loop_invariants, rtl_unswitch, rtl_unrool_and_peel_loops,
10362	rtl_doloop): Do not look at flags.
10363	* mode-switching.c (pass_mode_switching): Add dump.
10364	* recog.c (pass_split_all_insns, pass_split_for_shorten_branches,
10365	pass_split_before_regstack): Add dump.
10366	* regmove.c (pass_stack_adjustments): Add dump.
10367	* tree-optimize.c (pass_fixup_cfg): Add dump.
10368
103692005-08-10  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
10370
10371	PR 23309
10372	* config/m32r/m32r.c (m32r_reload_lr): Fix off by one error when
10373	deciding which instruction sequence to use.
10374
103752005-08-09  Dorit Nuzman  <dorit@il.ibm.com>
10376
10377	* tree-vect-transform.c (vect_create_epilog_for_reduction): Set
10378	BIT_FIELD_REF_UNSIGNED for newly created BIT_FIELD_REFs.
10379
103802005-08-09  Richard Guenther  <rguenther@suse.de>
10381
10382	* c-common.c (builtin_function_2): Remove.
10383	(def_builtin_1): New function.
10384	(c_common_nodes_and_builtins): Use def_builtin_1 to
10385	build builtin functions.
10386
103872005-08-09  Jie Zhang  <jie.zhang@analog.com>
10388
10389	* config/bfin/uclinux.h (NO_IMPLICIT_EXTERN_C): Define.
10390	* config/bfin/elf.h (NO_IMPLICIT_EXTERN_C): Define.
10391	* config/bfin/bfin.c (bfin_return_in_memory): Update to really match
10392	Visual DSP.
10393
103942005-08-09  James A. Morrison  <phython@gcc.gnu.org>
10395
10396	* tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Use
10397	fold_binary instead of fold_build2 since we don't care about the
10398	resulting tree.
10399	(loop_niter_by_eval): Likewise.
10400	(compare_trees): Likewise.
10401	(proved_non_wrapping_p): Likewise.
10402
104032005-08-09  James A. Morrison  <phython@gcc.gnu.org>
10404
10405	PR c/23161
10406	PR c/23165
10407	* c-typeck.c (c_finish_if_stmt): Look into STATEMENT_LISTs to see
10408	if the if is really empty.
10409
104102005-08-09  Steven Bosscher  <stevenb@suse.de>
10411
10412	PR tree-optimization/23234
10413	* tree-ssa-math-opts.c (place_reciprocal): New enum.
10414	(execute_cse_reciprocals_1): Replace the 'phi' argument with an
10415	argument of the new enum.
10416	(execute_cse_reciprocals): Add reciprocals for function arguments
10417	on the unique successor edge of the entry block.  Update other calls
10418	to execute_cse_reciprocals_1.
10419
104202005-08-08  Richard Henderson  <rth@redhat.com>
10421
10422	PR 22439
10423	* gimplify.c (gimplify_one_sizepos): Preserve the original type.
10424
104252005-08-08  Bob Wilson  <bob.wilson@acm.org>
10426
10427	* expr.c (write_complex_part): Return after handling MEM.
10428
104292005-08-08  Josh Conner  <jconner@apple.com>
10430
10431	PR rtl-optimization/23241
10432	* combine.c (simplify_comparison): Fix error in determining
10433	whether to lift a subreg from comparison.
10434
104352005-08-08  David Edelsohn  <edelsohn@gnu.org>
10436
10437	PR target/18506
10438	* config/rs6000/altivec.md (vec_init<mode>): New.
10439	(vec_set<mode>): New.
10440	(vec_extract<mode>): New.
10441	* config/rs6000/rs6000.c (rs6000_expand_vector_init): New.
10442	(rs6000_expand_vector_set): New.
10443	(rs6000_expand_vector_extract): New.
10444	(rs6000_legitimate_offset_address_p): Offset addresses are valid
10445	for Altivec modes before reload.
10446	(altivec_expand_vec_init_builtin): New.
10447	(get_element_number): New.
10448	(altivec_expand_vec_set_builtin): New.
10449	(altivec_expand_vec_ext_builtin): New.
10450	(altivec_expand_builtin): Expand vec_init, vec_set, and vec_ext
10451	builtins.
10452	(altivec_init_builtins): Init vec_init, vec_set, and vec_ext
10453	builtins.
10454	* config/rs6000/rs6000.h (rs6000_builtins): Add
10455	ALTIVEC_BUILTIN_VEC_INIT_<mode>, ALTIVEC_BUILTIN_VEC_SET_<mode>,
10456	ALTIVEC_BUILTIN_VEC_EXT_<mode>.
10457	* config/rs6000/rs6000-protos.h: Declare new functions.
10458
104592005-08-08  Jan Hubicka  <jh@suse.cz>
10460
10461	* i386.c (legitimate_pic_address_disp_p): Refuse GOTOFF in 64bit mode.
10462	(legitimate_address_p): Refuse GOT and GOTOFF in 64bit mode.
10463	* i386.md (movdi*): Use pic_32bit_operand.
10464	* predicates.md (pic_32bit_operand): New.
10465
104662005-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10467
10468	PR c++/21166
10469	* stor-layout.c (finalize_type_size): Undo DECL_PACKED when possible.
10470
104712005-08-07  James A. Morrison  <phython@gcc.gnu.org>
10472
10473	* tree-vrp.c (simplify_div_or_mod_using_range): Use build2.
10474	(test_for_singularity): Use fold_build2.
10475
104762005-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10477
10478	* pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Fix loop upper bound.
10479
104802005-08-07  Danny Smith  <dannysmith@users.sourceforge.net>
10481
10482	* config/i386/cygming.h (SUBTARGET_ENCODE_SECTION_INFO): Define.
10483	(COMMON_ASM_OP) Define.
10484	* config/i386/i386.c (ix86_in_large_data_p): Add ATTRIBUTE_UNUSED
10485	(ix86_encode_section_info): Likewise.
10486	(TARGET_ENCODE_SECTION_INFO): Conditionally define as
10487	SUBTARGET_ENCODE_SECTION_INFO.
10488
104892005-08-06  Richard Henderson  <rth@redhat.com>
10490
10491	PR 21894
10492	* tree-nested.c (convert_local_reference): Save and restore val_only
10493	around component_ref and friends.  Clear walk_subtrees by default.
10494
104952005-08-06  Peter O'Gorman  <peter@pogma.com>
10496
10497	PR 21366
10498	* gcc.c (process_command): Check the argument to -b has a dash.
10499	* doc/invoke.texi: Update -b and -V docs.
10500
105012005-08-06  James E Wilson  <wilson@specifix.com>
10502
10503	* config/mips/cross64.h, config/mips/t-cross64: Delete.
10504
105052005-08-06  Michael Matz  <matz@suse.de>
10506
10507	* genattrtab.c (write_attr_get, write_attr_case): Use insn_code
10508	member only if only one insn is associated with the value.
10509
105102005-08-06  Nick Clifton  <nickc@redhat.com>
10511
10512	* config/stormy16/stormy16.h (SYMBOL_FLAG_XSTORMY16_BELOW100):
10513	New define.
10514	(ASM_OUTPUT_LABELREF): Delete - it is no longer needed.
10515	* config/stormy16/stormy16.c (xstormy16_below100_symbol):
10516	Check symbol flags instead of symbol name mangling.
10517	(xstormy16_asm_output_aligned_common): Likewise.  Also
10518	simplify code since the bss100_section cass is the only case
10519	where the below100 code will be triggered.
10520	(xstormy16_encode_section_info): Encode below100 attribute
10521	using the SYMBOL_FLAG_XSTORMY16_BELOW100 instead of mangling
10522	the name.
10523	(xstormy16_strip_name_encoding): Delete - this function is no
10524	longer needed.
10525	(TARGET_STRIP_NAME_ENCODING): Undefine.
10526	* config/stormy16/stormy16-protos.h: Delete prototype for
10527	xstormy16_strip_name_encoding.
10528
105292005-08-06  Kazu Hirata  <kazu@codesourcery.com>
10530
10531	* Makefile.in, cfgexpand.c, cfgloop.h, cfgloopmanip.c,
10532	config.gcc, ipa-cp.c, ipa-prop.c, ipa-prop.h, reg-stack.c,
10533	tree-ssa-structalias.c, tree-vrp.c, value-prof.c, vec.h,
10534	config/linux.h, config/alpha/alpha.h, config/alpha/linux.h,
10535	config/alpha/predicates.md, config/arc/arc.h,
10536	config/arm/arm.h, config/arm/ieee754-df.S,
10537	config/arm/ieee754-sf.S, config/bfin/bfin.c,
10538	config/bfin/bfin.h, config/c4x/c4x.h, config/crx/crx.c,
10539	config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
10540	config/i386/i386.h, config/ia64/ia64.c, config/ia64/ia64.h,
10541	config/m68hc11/m68hc11.h, config/mips/mips.c,
10542	config/mips/mips.h, config/mips/openbsd.h,
10543	config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.h,
10544	config/pdp11/pdp11.h, config/rs6000/linux-unwind.h,
10545	config/rs6000/rs6000.c, config/rs6000/rs6000.h,
10546	config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
10547	config/sparc/linux.h, config/sparc/linux64.h,
10548	config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h,
10549	doc/extend.texi, doc/gcov.texi, doc/install.texi,
10550	doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix comment/doc
10551	typos.  Follow spelling conventions.
10552
105532005-08-06  Joseph S. Myers  <joseph@codesourcery.com>
10554
10555	PR c/23113
10556	* stmt.c (warn_if_unused_value): Check TREE_NO_WARNING at start.
10557	Don't handle NOP_EXPR, CONVERT_EXPR and NON_LVALUE_EXPR
10558	specially.  Check for side effects only for COND_EXPR.
10559	* c-typeck.c (c_finish_stmt_expr): Mark statement expression
10560	return with TREE_NO_WARNING.
10561
105622005-08-06  Richard Sandiford  <richard@codesourcery.com>
10563
10564	PR rtl-optimization/23233
10565	* loop.c (combine_movables): Require the modes to be the same.
10566	(move_movables): Remove handling of cases where the replacement
10567	had a different mode to the original.
10568
105692005-08-05  James A. Morrison  <phython@gcc.gnu.org>
10570
10571	PR tree-optimization/23128
10572	* tree-vrp.c (vrp_int_const_binop): Check if unsigned addition or
10573	subtraction wrap, and set TREE_OVERFLOW if they do.
10574
105752005-08-05  Richard Henderson  <rth@redhat.com>
10576
10577	PR 21728
10578	* tree-cfg.c (remove_bb): Transmute DECL_NONLOCAL labels into
10579	FORCED_LABEL labels.
10580
105812005-08-05  J"orn Rennecke <joern.rennecke@st.com>
10582
10583	PR middle-end/23135
10584	* reload.c (find_reloads_subreg_address): Pass down TYPE
10585	unchanged.  Change all callers except find_reloads_toplev.
10586
105872005-08-05  Michael Matz  <matz@suse.de>
10588
10589	* genattrtab.c (current_alternative_string): Remove.
10590	(SIMPLIFY_ALTERNATIVE): Ditto.
10591	(attr_alt_bit_p): Ditto.
10592	(alternative_name): Make const char *.
10593	(evaluate_eq_attr): Remove use of above things.
10594	(simplify_test_exp): Ditto.
10595	(simplify_test_exp <EQ_ATTR>): Guard for insn_code < 0 .
10596	(simplify_test_exp <AND>): Correct typo (test 'right' not 'left').
10597
105982005-08-04  James E Wilson  <wilson@specifix.com>
10599
10600	* config/ptx4.h, config/sol2.h, config/arm/freebsd.h,
10601	config/arm/linux-elf.h, config/frv/frv.h, config/i386/freebsd.h,
10602	config/i386/freebsd64.h, config/i386/netware.h, config/i386/sco5.h,
10603	config/ia64/freebsd.h, config/rs6000/sysv4.h, config/sparc/freebsd.h
10604	(LINK_SPEC): Delete useless %{Wl,*:%*} item.
10605
106062005-08-04  Richard Henderson  <rth@redhat.com>
10607
10608	PR 21529
10609	* params.def (PARAM_SRA_MAX_STRUCTURE_COUNT): New.
10610	* params.h (SRA_MAX_STRUCTURE_COUNT): New.
10611	* tree-sra.c (decide_block_copy): Use it.  Disable element copy
10612	if we'd have to instantiate too many members.
10613
106142005-08-04  Richard Henderson  <rth@redhat.com>
10615
10616	PR 21291
10617	* tree-outof-ssa.c (coalesce_asm_operands): New.
10618	(coalesce_ssa_name): Use it.  Split out ...
10619	(coalesce_phi_operands, coalesce_result_decls): ... these.
10620
106212005-08-04  Paul Brook  <paul@codesourcery.com>
10622
10623	* read-rtl.c (read_quoted_string): Break if EOF.
10624
106252005-08-04  Andrew Pinski  <pinskia@physics.uc.edu>
10626
10627	* tree.h (fold_build1): Change to macro and call fold_build1_stat.
10628	(fold_build2): Likewise.
10629	(fold_build3): Likewise.
10630	(fold_build1_stat): New function prototype.
10631	(fold_build2_stat): Likewise.
10632	(fold_build3_stat): Likewise.
10633	* fold-const.c (fold_build1): Rename to ..
10634	(fold_build1_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
10635	through to build1_stat.
10636	(fold_build2): Rename to ..
10637	(fold_build2_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
10638	through to build2_stat.
10639	(fold_build3): Rename to ..
10640	(fold_build3_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
10641	through to build3_stat.
10642
106432005-08-04  David Edelsohn  <edelsohn@gnu.org>
10644	    Ian Lance Taylor  <ian@airs.com>
10645
10646	* function.c (assign_stack_local_1): Do not correct stack slot
10647	address if allocation size is smaller than mode size.
10648
106492005-08-04  Diego Novillo  <dnovillo@redhat.com>
10650
10651	PR 22037
10652	* tree-cfg.c (replace_uses_by): Call mark_new_vars_to_rename.
10653	(tree_merge_blocks): Propagate anything allowed by
10654	may_propagate_copy.
10655	Clarify documentation.
10656	* passes.c (execute_todo): If cleanup_tree_cfg invalidated the
10657	SSA form, schedule an update if necessary.
10658
106592005-08-04  Gerald Pfeifer  <gerald@pfeifer.com>
10660
10661	* doc/install.texi (Binaries): Remove broken link to
10662	Sinix/Reliant Unix binaries.
10663
106642005-08-03  Richard Henderson  <rth@redhat.com>
10665
10666	PR 23221
10667	* function.c (stack_protect_epilogue): Export.
10668	* tree.h (stack_protect_epilogue): Declare.
10669	* calls.c (expand_call): Call it.
10670
106712005-08-03  Eric Christopher  <echristo@apple.com>
10672
10673	* gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.
10674	* config/darwin.h (LINK_COMMAND_SPEC): Add link_ssp
10675	spec.
10676
106772005-08-04  Jan Hubicka  <jh@suse.cz>
10678
10679	* profile.c (branch_prob): Split edges with goto locus on them
10680	to get proper line counts.
10681	* tree-cfg.c (make_cond_expr_edges): Record user goto locuses, if any.
10682
106832005-08-03  Paul Brook  <paul@codesourcery.com>
10684
10685	* function.c (assign_parms): Round current_function_args_size
10686	to PARM_BOUNDARY, not STACK_BOUNDARY.
10687
106882005-08-03  Geoffrey Keating  <geoffk@apple.com>
10689
10690	* config/i386/i386.c (x86_elf_aligned_common)
10691	(x86_output_aligned_bss): Don't try to use symbols that aren't defined.
10692
106932005-08-03  Zdenek Dvorak  <dvorakz@suse.cz>
10694
10695	PR tree-optimization/23157
10696	* tree-scalar-evolution.c (scev_const_prop): Unshare trees
10697	before emitting them.
10698
106992005-08-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10700
10701	PR tree-optimization/19899
10702	* Makefile.in (tree-scalar-evolution.o): Add real.h.
10703	* tree-scalar-evolution.c: Include real.h.
10704	(add_to_evolution): Build constant -1 of correct type.
10705
107062005-08-03  Jan Hubicka  <jh@suse.cz>
10707
10708	* cfgloop.h (DLTHE_FLAG_COMPLETTE_PEEL): New flag.
10709	* cfgloopmanip.c (duplicate_loop_to_header_edge): Special case
10710	profile updating for complette unrolling.
10711	* loop-unroll.c (peel_loop_completely): Use it.
10712	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
10713	(tree_unroll_loops_completely): Disable code growing unrolling of cold
10714	loops.
10715
107162005-08-03  Paul Brook  <paul@codesourcery.com>
10717
10718	* combine.c (can_change_dest_mode): New function.
10719	(try_combine, simplify_set): Use it.
10720
107212005-08-03  Eric Botcazou  <ebotcazou@adacore.com>
10722
10723	* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Only force
10724	TFmode to BLKmode.
10725
107262005-08-03  Gerald Pfeifer  <gerald@pfeifer.com>
10727
10728	* doc/install.texi (Specific): Adjust link to openavr.org.
10729	(Specific): Remove broken reference to GCC 2.8.1 for OS/2.
10730	(Binaries): Adjust HP-UX Porting Center link.
10731	(Binaries): Adjust Free Software Foundation ordering link.
10732
107332005-08-03  Andrew Pinski  <pinskia@physics.uc.edu>
10734
10735	* convert.c (convert_to_integer): Use fold_build1 instead of
10736	build1 when converting an integer to an integer.
10737
107382005-08-02  Richard Henderson  <rth@redhat.com>
10739
10740	* combine.c (combine_instructions): Don't use reg_equal/equiv
10741	results if the mode doesn't match.
10742
107432005-08-02  Mark Mitchell  <mark@codesourcery.com>
10744
10745	* config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Set it.
10746	* doc/fragments.texi (NATIVE_SYSTEM_HEADER_DIR): Document it.
10747
107482005-08-02  Richard Henderson  <rth@redhat.com>
10749
10750	PR 23196
10751	* explow.c (memory_address): Remove special-case for
10752	virtual_stack_vars_rtx and virtual_incoming_args_rtx.
10753
107542005-08-02  Diego Novillo  <dnovillo@redhat.com>
10755
10756	PR 23164
10757	* tree-cfgcleanup.c (cleanup_tree_cfg): Do not limit the
10758	number of calls to cleanup_tree_cfg_1.
10759
107602005-08-02  Martin Reinecke  <martin@mpa-garching.mpg.de>
10761
10762	* doc/invoke.texi: document file extensions .F90 and .F95
10763
107642005-08-02  Richard Guenther  <rguenther@suse.de>
10765
10766	* fold-const.c (tree_expr_nonnegative_p): frexp(x, &e) is
10767	positive if its first argument is positive.
10768
107692005-08-02  Richard Guenther  <rguenther@suse.de>
10770
10771	PR tree-optimization/23177
10772	* tree-ssa-operands.c (get_tmr_operands): Use get_expr_operands
10773	on TMR_TAG.
10774
107752005-08-02  James A. Morrison  <phython@gcc.gnu.org>
10776
10777	PR tree-optimization/23129
10778	* tree-vrp.c (extract_range_from_binary_expr): Set value range to
10779	varying for divisions with anti-ranges.
10780
107812005-08-02  Jan Hubicka  <jh@suse.cz>
10782
10783	* tree-ssa-dom.c (thread_across_edge): Remove updating here.
10784	* tree-ssa-threadupdate.c (thread_block): Add it here.
10785
107862005-08-01  James E Wilson  <wilson@specifix.com>
10787
10788	* config/mips/mips.c (mips_encode_section_info, mips_attribute_table,
10789	TARGET_ENCODE_SECTION_INFO, TARGET_ATTRIBUTE_TABLE): New.
10790	* config/mips/mips.h (SYMBOL_FLAG_LONG_CALL, SYMBOL_REF_LONG_CALL_P):
10791	New.
10792	* config/mips/predicates.md (const_call_insn_operand): Add check for
10793	SYMBOL_REF_LONG_CALL_P.
10794	* doc/extend.texi (long_call): Document the new attribute.
10795
107962005-08-01  Ian Lance Taylor  <ian@airs.com>
10797	    Richard Henderson  <rth@redhat.com>
10798
10799	* Makefile.in (RTL_BASE_H): Add real.h.
10800	* real.h (REAL_VALUE_FROM_CONST_DOUBLE): Use structure copy
10801	instead of memcpy.
10802	* emit-rtl.c (const_double_from_real_value): Likewise; use rtx.u.rv
10803	directly.
10804	* rtl.c (rtl_check_failed_code_mode): New.
10805	* rtl.h (struct rtx_def): Add u.rv.
10806	(XCMWINT, XCNMPRV): New.
10807	(CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XCMWINT.
10808	(CONST_DOUBLE_REAL_VALUE): Use XCNMPRV; constify.
10809
108102005-08-01  Richard Henderson  <rth@redhat.com>
10811
10812	* dwarf2out.c (mem_loc_descriptor): Use XEXP, not SUBREG_REG,
10813	with auto-inc codes.
10814
10815	* config/alpha/predicates.md (and_operand): Test mode of CONST_DOUBLE.
10816
108172005-08-01  Jan Hubicka  <jh@suse.cz>
10818
10819	* i386-protos.h (asm_preferred_eh_data_format): Declare.
10820	* i386.c: Include dwarf2.h
10821	(asm_preferred_eh_data_format): New.
10822	* i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Move offline.
10823
108242005-08-01  Ian Lance Taylor  <ian@airs.com>
10825
10826	* config/host-linux.c (linux_gt_pch_get_address): Add new name
10827	randomize_va_space for virtual address randomization control.
10828
108292005-08-01  Steven Bosscher  <stevenb@suse.de>
10830
10831	* common.opt (flag_ipa_cp): Put in right place to maintain
10832	alphabetic sort.
10833
108342005-08-01  Jan Hubicka  <jh@suse.cz>
10835
10836	* profile.c (compute_value_histograms): Fix thinko.
10837	* value-prof.c: Include toplev.h
10838	(check_counter): New function.
10839	(tree_divmod_fixed_value_transform, tree_mod_pow2_value_transform,
10840	tree_mod_subtract_transform): Add sanity check.
10841
108422005-08-01  Richard Guenther  <rguenther@suse.de>
10843
10844	PR tree-optimization/23133
10845	* tree-ssa-math-opts.c (execute_cse_reciprocals): Walk
10846	current functions parameter decls to find defs to cse
10847	reciprocals of.
10848
108492005-08-01  Richard Guenther  <rguenther@suse.de>
10850
10851	PR tree-optimization/23109
10852	* tree-ssa-math-opts.c (execute_cse_reciprocals_1):
10853	If trapping math is in effect, use post-dominator information
10854	to check if we'd in any case reach a trapping point before
10855	doing the reciprocal insertion.
10856	(execute_cse_reciprocals): Compute post-dominators, if necessary.
10857	* tree-ssa-loop-im.c (determine_invariantness_stmt): RDIV
10858	expressions are invariant only if trapping math is not in effect.
10859
108602005-08-01  Razya Ladelsky  <razya@il.ibm.com>
10861
10862	* cgraph.h (update_call_expr, cgraph_copy_node_for_versioning,
10863	cgraph_function_versioning): New declarations.
10864	* cgraphunit.c: Add include to ipa-prop.h.
10865	(update_call_expr, cgraph_copy_node_for_versioning,
10866	cgraph_function_versioning): New functions.
10867	* integrate.c (copy_decl_for_inlining): Remove.
10868	* ipa-prop.h (ipa_replace_map): New struct.
10869	(struct ipa_node): Add ipcp_orig_node, count_scale, new fields.
10870	* ipa-cp.c (ipcp_method_orig_node, ipcp_method_is_cloned,
10871	ipcp_method_set_orig_node, ipcp_cloned_create, ipcp_method_get_scale,
10872	ipcp_method_set_scale, ipcp_method_compute_scale, ipcp_after_propagate,
10873	ipcp_iterate_stage, ipcp_method_scale_print,
10874	ipcp_profile_mt_count_print, ipcp_profile_cs_count_print,
10875	ipcp_profile_edge_print, ipcp_profile_bb_print , ipcp_profile_print,
10876	ipcp_replace_map_create, ipcp_redirect, ipcp_update_callgraph,
10877	ipcp_update_bb_counts, ipcp_update_profiling,
10878	ipcp_update_edges_counts): New functions.
10879	(ipcp_method_cval_init): Remove restriction regarding local methods.
10880	(ipcp_init_stage): Add ipcp_method_compute_scale.
10881	(ipcp_insert_stage): Add versioning.
10882	(ipcp_structures_print): Add ipcp_method_scale_print.
10883	(ipcp_driver): Dump profiling info.
10884	* Makefile.in: Remove integrate.h dependency from tree-inline.o.
10885	Add ipa-prop.h dependency to tree-inline.o and cgraphunit.o.
10886	* tree-inline.c: Remove include to integrate.h, Add include ipa-prop.h.
10887	(struct inline_data): Add versioning_p, ipa_info, new fields.
10888	(remap_decl, mark_local_for_remap_r, setup_one_parameter,
10889	declare_return_variable): Replace calls to copy_decl_for_inlining with
10890	copy_decl_for_dup.
10891	(copy_body_r, copy_bb, copy_cfg_body, copy_tree_r, inlining_p): Add
10892	versioning support.
10893	(copy_decl_for_dup): Rename from copy_decl_for_inlining.
10894	Add argument VERSIONING.
10895	(copy_arguments_for_versioning, copy_static_chain,
10896	function_versionable_p, tree_versionable_function_p,
10897	tree_function_versioning, replace_ref_tree): New functions.
10898	* tree-inline.h: Include varray.h.
10899	(tree_versionable_function_p,  tree_function_versioning,
10900	tree copy_decl_for_dup): New declarations.
10901
109022005-08-01  Razya Ladelsky  <razya@il.ibm.com>
10903
10904	* ipa-cp.c: New file. Contains IPCP specific functionality.
10905	* ipa-prop.h: New file. Contains structures/definitions that can be
10906	used by several interprocedural data flow optimizations (and also IPCP).
10907	* ipa-prop.c: New file.
10908	* Makefile.in: Add ipa-cp.c, ipa-prop.h, ipa-prop.c.
10909	* common.opt: Add ipa-cp flag.
10910	* timevar.def: Add IPCP optimization.
10911	* tree-optimize.c (init_tree_optimization_passes): Schedule
10912	pass_ipa_cp.
10913	* tree-pass.h (pass_ipa_cp): Declare.
10914
109152005-08-01  Kazu Hirata  <kazu@codesourcery.com>
10916
10917	* dwarf2out.c, fold-const.c, ipa-type-escape.c,
10918	loop-invariant.c, predict.c, predict.def, reload1.c, reorg.c,
10919	tree-sra.c, config/arm/arm.c, config/crx/crx.c,
10920	config/i386/i386.c, config/mips/mips.h,
10921	config/rs6000/rs6000.h, config/sh/sh.c,
10922	config/stormy16/stormy16.c: Fix comment typos.
10923
109242005-08-01  Joseph S. Myers  <joseph@codesourcery.com>
10925
10926	PR c/22311
10927	* c-typeck.c (build_binary_op): Use common_type wrapper on
10928	shortened types.
10929	(common_type): Update comment.
10930
109312005-07-31  Steven Bosscher  <stevenb@suse.de>
10932
10933	PR target/23095
10934	* common.opt (flag_gcse_after_reload): Don't initialize to 2.
10935	(flag_rerun_cse_after_loop): Initialize this to 2 instead.
10936	* postreload-gcse.c (hash_scan_set): Do not consider stack regs.
10937
109382005-07-31  Jan Hubicka  <jh@suse.cz>
10939
10940	* pretty-print.h (pp_widest_integer): New macro.
10941	* tree-pretty-print.c (dump_bb_header): Print BB frequencies and
10942	counts.
10943
109442005-07-31  Jan Hubicka  <jh@suse.cz>
10945
10946	* output.h (enum section_category): Export from varasm.c
10947	(categorize_decl_for_section): Likewise.
10948	* varasm.c (enum section_category): Kill.
10949	(categorize_decl_for_section): Make global.
10950	* i386-protos.h (x86_output_aligned_bss, x86_elf_aligned_common):
10951	Declare.
10952	* i386.c (ix86_section_threshold): New static variable.
10953	(ix86_in_large_data_p, ix86_encode_section_info,
10954	x86_64_elf_unique_section,
10955	x86_64_elf_select_section): New functions.
10956	(TARGET_ENCODE_SECTION_INFO): Define
10957	(override_options): Enable medium model for PIC.
10958	(ix86_expand_prologue): Expand gen_set_got_rex64.
10959	(legitimate_constant_p): Handle new UNSPECs.
10960	(legitimate_pic_address_disp_p): Likewise.
10961	(legitimize_pic_address): Lower MEDIUM model addressing.
10962	* i386.h (PIC_OFFSET_TABLE_REGNUM): Set for medium model PIC.
10963	(enum cmodel): Add MEDIUM_PIC.
10964	(SYMBOL_REF_FAR_ADDR_P): New macro.
10965	(SYMBOL_FLAG_FAR_ADDR): New flag.
10966	* i386.md (movdi): Support medium model.
10967	(set_got_rex64): New pattern.
10968	* i386.opt (mlarge-data-threshold): New flag.
10969	* predicates.md (zext_operand/sext_operand): Deal with medium model.
10970	* x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Use x86_output_aligned_bss.
10971	(ASM_OUTPUT_ALIGNED_COMMON, TARGET_ASM_SELECT_SECTION,
10972	TARGET_ASM_UNIQUE_SECTION): New.
10973
10974	* invoke.texi (-mlarge_data_threshold): Document
10975
109762005-07-31  Jan Hubicka  <jh@suse.cz>
10977
10978	* tree-outof-ssa.c (coalesce_ssa_name): Use coalesce_cost.
10979	(coalesce_vars): Likewise.
10980	* tree-ssa-live.c (coalesce_cost): New.
10981	(build_tree_conflict_graph): Use coalesce_cost.
10982	* tree-ssa-live.h (coalesce_cost): Declare.
10983
109842005-07-30  Richard Earnshaw  <richard.earnshaw@arm.com>
10985
10986	* arm.md (all peepholes for post-increment operations): Delete.
10987	(strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec)
10988	(loadqisi_preinc, loadqisi_predec, strsi_preinc, strsi_predec)
10989	(loadsi_preinc, loadsi_predec, strqi_shiftpreinc, strqi_shiftpredec)
10990	(loadqi_shiftpreinc, loadqi_shiftpredec, strsi_shiftpreinc)
10991	(strsishift_predec, loadsi_shiftpreinc, loadsi_shiftpredec): Delete.
10992
109932005-07-30  James A. Morrison  <phython@gcc.gnu.org>
10994
10995	* fold-const.c (tree_expr_nonnegative_p): Always return true for
10996	non-integral types.
10997
109982005-07-29  Wolfgang Bangerth <bangerth@dealii.org>
10999
11000	PR target/22582
11001	* doc/invoke.texi: Document -rdynamic.
11002
110032005-07-30  Joseph S. Myers  <joseph@codesourcery.com>
11004
11005	PR c/23143
11006	* c-parser.c (c_parser_parms_list_declarator): Call
11007	mark_forward_parm_decls.
11008	* c-decl.c (merge_decls): Only check DECL_IN_SYSTEM_HEADER for
11009	decls with visibility structure.
11010
110112005-07-30  Paul Brook  <paul@codesourcery.com>
11012
11013	* config/arm/arm.c (arm_coproc_mem_operand): Fix inaccurate comment.
11014
110152005-07-30  Paul Brook  <paul@codesourcery.com>
11016
11017	* config/arm/arm-protos.h (arm_canonicalize_comparison): Update
11018	prototype.
11019	* config/arm/arm.c (arm_canonicalize_comparison): Use correct limit
11020	value for mode.
11021	* config/arm/arm.h (CANONICALIZE_COMPARISON): Pass mode argument.
11022
110232005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
11024
11025	PR c/529
11026	* c-decl.c (warn_if_shadowing): Don't check for PARM_DECL in
11027	nested function declarators.
11028	(pushdecl): Don't call warn_if_shadowing for PARM_DECL.
11029	(grokparms): Call warn_if_shadowing for parameters used within the
11030	parameter list.
11031	(store_parm_decls_newstyle): Call warn_if_shadowing for parameters
11032	not used within the parameter list.
11033	(store_parm_decls_oldstyle): Call warn_if_shadowing for parameters.
11034
110352005-07-30  Jan Hubicka  <jh@suse.cz>
11036
11037	* expr.c (expand_expr_real_1): Do not load mem targets into register.
11038	* i386.c (ix86_fixup_binary_operands): Likewise.
11039	(ix86_expand_unary_operator): Likewise.
11040	(ix86_expand_fp_absneg_operator): Likewise.
11041	* optabs.c (expand_vec_cond_expr): Validate dest.
11042
110432005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
11044
11045	PR c/21720
11046	* real.c (real_from_string): Also set last bit if there is a
11047	nonzero hex digit beyond GCC's internal precision after ".".
11048
110492005-07-29  David Edelsohn  <edelsohn@gnu.org>
11050
11051	* config/rs6000/altivec.md: Convert UNSPEC numerical values to
11052	define_constants.  Change duplicate values to unassigned numbers.
11053	Change UNSPEC_SUBS to UNSPEC_VSUBS.
11054	(*altivec_vspltsf): New.
11055	(altivec_vperm_v4sf): Delete.
11056	(altivec_vperm_<mode>): Use mode macro V.
11057	(altivec_vsldoi_<mode>): Convert to mode macro pattern.
11058	(altivec_predicate_v4sf): Delete.
11059	(altivec_predicate_<mode>): Use mode macro V.
11060	(*altivec_lvesfx): New.
11061	(*altivec_stvesfx): New.
11062	(vec_realign_load_v4sf): Delete.
11063	(vec_realign_load_<mode>): Use mode macro V.
11064	* config/rs6000/rs6000.c (generate_set_vrsave): Use
11065	UNSPECV_SET_VRSAVE.
11066
110672005-07-29  Mark Mitchell  <mark@codesourcery.com>
11068
11069	PR bootstrap/23131
11070	* configure.ac (SYSTEM_HEADER_DIR): Avoid setting to empty
11071	string.
11072	* configure: Regenerated.
11073
110742005-07-29  Paul Brook  <paul@codesourcery.com>
11075
11076	* doc/install.texi: Add link to GFortran binaries wiki page.
11077
110782005-07-29  David Ung  <davidu@mips.com>
11079
11080	* config/mips/mips.c (mips_cpu_info_table): Add 5kf to the table.
11081	(mips_rtx_cost_data): Add costs for 5kc and 5kf.
11082	* config/mips/mips.h (processor_type): Add PROCESSOR_5KF.
11083	* config/mips/mips.md (cpu): Add 5kf name.
11084	(includes): Includes 5k.md.
11085	* config/mips/5k.md: New DFA pipeline for the 5kc/5kf.
11086	* doc/invoke.texi (MIPS Options): Updated cpu name supported with
11087	-march flag.
11088
110892005-07-29  Diego Novillo  <dnovillo@redhat.com>
11090
11091	PR 22550
11092	* tree-cfgcleanup.c (cleanup_tree_cfg_1): Extract from ...
11093	(cleanup_tree_cfg): ... here.
11094	Call cleanup_tree_cfg_1 until there are no more cleanups to
11095	do.
11096
110972005-07-29  James A. Morrison  <phython@gcc.gnu.org>
11098
11099	* tree-vrp.c (compare_range_with_value): Return true or false
11100	for ~[VAL_1, VAL_2] OP VAL if VAL_1 <= VAL <= VAL_2 for NE_EXPR and
11101	EQ_EXPR respectively.
11102
111032005-07-29  Kazu Hirata  <kazu@codesourcery.com>
11104
11105	* cfg.c, tree-complex.c, config/frv/frv.c, config/i386/i386.c:
11106	Fix comment typos.
11107
111082005-07-29  Diego Novillo  <dnovillo@redhat.com>
11109
11110	* tree-ssa-dom.c (struct opt_stats_d): Add field num_iterations.
11111	(tree_ssa_dominator_optimize): Increment it.
11112	(dump_dominator_optimization_stats): Print it.
11113
111142005-07-29  Richard Earnshaw  <richard.earnshaw@arm.com>
11115	    Steven Bosscher  <stevenb@suse.de>
11116
11117	PR rtl-optimization/23117
11118	* sched-rgn.c (add_branch_dependences): Handle COND_EXEC correctly
11119	when head == tail.  Tidy comment.
11120
111212005-07-28  Richard Henderson  <rth@redhat.com>
11122
11123	* cse.c (exp_equiv_p): Special case CONST_DOUBLE.
11124	* cselib.c (rtx_equal_for_cselib_p): Likewise.
11125	* jump.c (rtx_renumbered_equal_p): Likewise.
11126	* loop.c (rtx_equal_for_loop_p): Tidy and special case PC, CC0,
11127	CONST_INT and CONST_DOUBLE.
11128	(rtx_equal_for_prefetch_p): Likewise, plus LABEL_REF.
11129	* reload.c (operands_match_p): Special case CONST_INT and
11130	CONST_DOUBLE; check mode earlier.
11131
111322005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
11133
11134	PR c/22240
11135	* c-typeck.c (convert_for_assignment): Do not check
11136	DECL_IN_SYSTEM_HEADER on NULL fundecl.
11137
111382005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
11139
11140	PR c/22192
11141	* c-typeck.c (composite_type): Prefer constant size arrays to
11142	VLAs.
11143
111442005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
11145
11146	PR c/21720
11147	* real.c (real_from_string): Set last bit if there is a nonzero
11148	hex digit beyond GCC's internal precision.
11149
111502005-07-28  Richard Henderson  <rth@redhat.com>
11151
11152	PR rtl-opt/22619
11153	* cfgcleanup.c (try_forward_edges): Watch out for end of
11154	insn chain.
11155
111562005-07-28  James E Wilson  <wilson@specifixinc.com>
11157
11158	PR c/23106
11159	* doc/invoke.texi (Wstrict-aliasing=2): Fix misleading wording.
11160
111612005-07-28  Jan Hubicka  <jh@suse.cz>
11162
11163	* Makefile.in (rtl-profile.o): Kill all traces of it.
11164	* common.opt (fspeculative-prefetching, ftree-based-profiling): Kill.
11165	* coverage.h (rtl_coverage_counter_ref): Kill.
11166	* opts.c (flag_speculative_prefetching_set): Kill.
11167	(flag_loop_optimize_set): New.
11168	(common_handle_option): Disable loop optimizer when profiling;
11169	do not handle speculative prefetching.
11170	* passes.c (init_optimization_passes): Replace pass_profiling combo
11171	by branch_prob pass.
11172	* profile.c (compute_value_histograms): Update for simplified value
11173	profiles.
11174	(rtl_register_profile_hooks): Kill.
11175	(pass_profiling): Kill.
11176	(rest_of_handle_branch_prob): Do not profile.
11177	* toplev.c (process_options): Remove speculative prefetching.
11178	* toplev.h (flag_tree_based_profiling): Kill.
11179	* tree-profile.c (prepare_instrumented_value,
11180	tree_gen_interval_profiler, tree_gen_pow2_profiler,
11181	tree_gen_one_value_profiler, do_tree_profiling): Update for
11182	simplified datastructures.
11183	* value-prof.c: Add comment that speculative prefetching was dropped;
11184	update rest of file for simplified datastructures.
11185	(NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX,
11186	rtl_divmod_values_to_profile, insn_prefetch_values_to_profile,
11187	find_mem_reference_1, find_mem_reference_2, find_mem_reference,
11188	rtl_values_to_profile, rtl_divmod_fixed_value, rtl_mod_pow2,
11189	rtl_mod_subtract, gen_speculative_prefetch,
11190	rtl_divmod_fixed_value_transform, rtl_mod_pow2_value_transform,
11191	rtl_mod_subtract_transform, speculative_prefetching_transform): Kill.
11192	(gate_handle_value_profile_transformations,
11193	rest_of_handle_value_profile_transformations,
11194	pass_value_profile_transformations): Kill.
11195	* value-prof.h (histogram_value_t): Remove IL based unions.
11196	(rtl_register_value_prof_hooks, rtl_register_profile_hooks,
11197	rtl_profile_hooks): Remove hooks.
11198
11199	* invoke.texi (-ftree-based-profiling, -fspeculative-prefetching): Kill.
11200
11201	* cgraph.c (cgraph_clone_edge): New UPDATE_ORIGINAL argument.
11202	(cgraph_clone_node): Likewise.
11203	* cgraph.h (cgraph_clone_edge): Update prototype.
11204	(cgraph_clone_node): Likewise.
11205	* ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
11206	cgraph_clone_node.
11207	(lookup_recursive_calls): Consider profile.
11208	(cgraph_decide_recursive_inlining): Fix updating; use new
11209	probability argument; use profile.
11210	* params.def (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY): New.
11211	* tree-inline.c (copy_bb): Update clal of clone_edge.
11212	* tree-optimize.c (tree_rest_of_compilation): UPdate cal of clone_node.
11213
11214	* invoke.texi (min-inline-recursive-probability): Document.
11215
112162005-07-28  Gerald Pfeifer  <gerald@pfeifer.com>
11217
11218	* doc/install.texi (Configuration): Update Valgrind homepage.
11219
112202005-07-28  Richard Henderson  <rth@redhat.com>
11221
11222	PR middle-end/21362
11223	* cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on
11224	labels we want to delete.
11225	(cfg_layout_merge_blocks): Likewise.
11226
112272005-07-28  Richard Henderson  <rth@redhat.com>
11228
11229	PR target/17692
11230	* config/i386/i386.c (ix86_split_sse_movcc): Emit DELETED note
11231	when expanding to nothing.
11232
112332005-07-28  Josh Conner  <jconner@apple.com>
11234
11235	* ipa-inline.c (update_caller_keys): Fix estimated_growth caching.
11236	(cgraph_decide_inlining_of_small_functions): Likewise.
11237
112382005-07-28  Josh Conner  <jconner@apple.com>
11239
11240	* ipa-inline.c (cgraph_edge_badness): Update comments.  Invert shift
11241	direction of badness if negative.
11242	(cgraph_default_inline_p): Add reason to parameters, and assign it
11243	a value.
11244	(cgraph_decide_inlining_of_small_functions): New parameter in call
11245	to cgraph_default_inline_p.
11246	(cgraph_decide_inlining_incrementally): Likewise.
11247	* cgraphunit.c (decide_is_function_needed): Likewise.
11248	* cgraph.h (cgraph_default_inline_p): Likewise.
11249
112502005-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11251
11252	* builtins.c: Fix comment typo(s).
11253	* genautomata.c: Likewise.
11254	* gimplify.c: Likewise.
11255	* tree-dfa.c: Likewise.
11256	* tree-flow-inline.h: Likewise.
11257	* tree-into-ssa.c: Likewise.
11258	* tree-ssa-alias.c: Likewise.
11259	* tree-ssa-ccp.c: Likewise.
11260	* tree-ssa-copy.c: Likewise.
11261	* tree-ssa-dce.c: Likewise.
11262	* tree-ssa-dom.c: Likewise.
11263	* tree-ssa-operands.c: Likewise.
11264	* tree-tailcall.c: Likewise.
11265	* tree-vectorizer.c: Likewise.
11266	* tree-vrp.c: Likewise.
11267	* tree.c: Likewise.
11268
112692005-07-28  Jeff Law  <law@redhat.com>
11270
11271	* tree-vrp.c (test_for_singularity): Extracted from  ...
11272	(simplify_cond_using_ranges): Attempt to simplify a relational
11273	test to NE_EXPR.  Dump information when a COND_EXPR is simplified.
11274
112752005-07-28  Dorit Nuzman  <dorit@il.ibm.com>
11276
11277	PR tree-optimization/22506
11278	* tree-vectorizer.c (update_phi_nodes_for_guard2): Skip loop-closed
11279	phis whose argument is constant.
11280
112812005-07-28  J"orn Rennecke <joern.rennecke@st.com>
11282
11283	PR rtl-optimization/18992
11284	Back out this patch:
11285	  2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11286	  PR optimization/12142
11287	  * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
11288	  uses of the register in the SET_SRC.  Remove unnecessary argument.
11289
11290	Replace it with this:
11291	* cse.c (count_reg_usage): In INSN, JUMP_INSN and CALL_INSN cases,
11292	if flag_non_call_exceptions is set and the insn may trap, pass
11293	pc_rtx as dest for recursion.
11294	In SET_SRC part of SET case, if dest is already set, pass it down
11295	unchanged.
11296
112972005-07-28  Jan Hubicka  <jh@suse.cz>
11298
11299	* cfg.c (update_bb_profile_for_threading): Use RDIV.
11300	(scale_bbs_frequencies_int): Likewise, assert for possible overflow.
11301	(scale_bbs_frequencies_gcov_type): Be more curefull about overflows and
11302	roundoff errors.
11303	* tree-cfg.c (tree_duplicate_sese_region): Use counts for updating
11304	profile when available.
11305
113062005-07-28  Jan Beulich <jbeulich@novell.com>
11307
11308	* config/ia64/ia64.c (ia64_load_pair_ok): New.
11309	(ia64_print_operand): Describe and handle 'X'.
11310	(ia64_register_move_cost): Also handle FP_REGS.
11311	(ia64_preferred_reload_class): Likewise.
11312	(ia64_secondary_reload_class): Likewise.
11313	(ia64_dependencies_evaluation_hook): New local variable c. Initialize
11314	it. Also check for ITANIUM_CLASS_FLDP.
11315	* config/ia64/ia64.h (FP_REGNO_P): New.
11316	(HARD_REGNO_MODE_OK): Remove explusion of TImode.
11317	(reg_class): Add FP_REGS.
11318	(REG_CLASS_NAMES): Adjust for it.
11319	(REG_CLASS_CONTENTS): Likewise.
11320	(REGNO_REG_CLASS): Use FP_REGS where appropriate.
11321	(REG_CLASS_FROM_LETTER): Handle 'x'.
11322	(CLASS_MAX_NREGS): Handle FP_REGS.
11323	(MEMORY_MOVE_COST): Likewise.
11324	* config/ia64/ia64.md (itanium_class): Add fldp.
11325	(type): Handle fldp.
11326	(movti_internal): More allowable operand combinations. Use ldfp8 when
11327	splitting unnecessary. Remove predicable attribute. Adjust
11328	itanium_class attribute.
11329	(smuldi3_highpart): Remove outdated comment.
11330	(mulditi3, umulditi3, rotlti3): New expanders.
11331	(addti3, subti3, mulditi3_internal, umulditi3_internal, negti2, rotlti3_internal): New insns.
11332	(absti2): Disabled new insn for future reference.
11333	Respective new splitters.
11334	* config/ia64/itanium1.md (1_fldp, 1b_fldp): New insn reservations.
11335	* config/ia64/itanium2.md (2_fldp, 2b_fldp): Likewise.
11336	* config/ia64/ia64-protos.h (ia64_load_pair_ok): New.
11337
113382005-07-25  James A. Morrison  <phython@gcc.gnu.org>
11339
11340	PR rtl-optimization/23047
11341	* simplify-rtx.c (simplify_const_relational_operation): Respect
11342	flag_wrapv for comparisons with ABS.
11343
113442005-07-27  James A. Morrison  <phython@gcc.gnu.org>
11345
11346	PR tree-optimization/22493
11347	* tree-vrp.c (extract_range_from_unary_expr): Deal with -fwrapv and
11348	VR_ANTI_RANGEs properly for NEGATE_EXPRs and ABS_EXPRs.
11349
113502005-07-27  Aldy Hernandez  <aldyh@redhat.com>
11351
11352	* config/frv/frv.opt (moptimize-membar): New.
11353
11354	* doc/invoke.texi: Document -moptimize-membar and its inverse.
11355
11356	* config/frv/frv.h: Remove machine_function definition.
11357
11358	* config/frv/frv.c (struct frv_io): New.
11359	(struct machine_function): Moved from frv.h.  Add has_membar_p.
11360	(frv_same_doubleword_p, frv_io_fixed_order_p, frv_io_union)
11361	(frv_extract_membar, frv_io_check_address, frv_io_handle_set)
11362	(frv_io_handle_use_1, frv_io_handle_use, frv_optimize_membar_local)
11363	(frv_optimize_membar_global, frv_optimize_membar): New functions.
11364	(frv_reorg): Call frv_optimize_membar when appropriate.
11365	(bdesc_loads, bdesc_stores): Use the membar code as the icode field.
11366	(frv_expand_builtin): Adjust calls accordingly.
11367	(frv_io_address_cookie): New function.
11368	(frv_expand_load_builtin, frv_expand_store_builtin): Emit a normal
11369	load or store rather than a special insn.  Add ccnstant address and
11370	io-type operands to the membar.
11371	(frv_ifcvt_modify_tests): Unsign regno.
11372	(frv_ifcvt_modify_tests): Same.
11373
11374	* config/frv/frv.md: Remove UNSPEC_BUILTIN_{LOAD,STORE}.  Change
11375	UNSPEC_OPTIONAL_MEMBAR constant.
11376	(builtin_read_<mode>): Delete.
11377	(builtin_write_<mode>): Delete.
11378	("optional_membar_<mode>"): Add operand.
11379
11380	* testsuite/gcc.target/frv/all-builtin-read8.c: Delete.
11381	* testsuite/gcc.target/frv/all-builtin-read16.c: Delete.
11382	* testsuite/gcc.target/frv/all-builtin-read32.c: Delete.
11383	* testsuite/gcc.target/frv/all-builtin-read64.c: Delete.
11384	* testsuite/gcc.target/frv/all-builtin-write8.c: Delete.
11385	* testsuite/gcc.target/frv/all-builtin-write16.c: Delete.
11386	* testsuite/gcc.target/frv/all-builtin-write32.c: Delete.
11387	* testsuite/gcc.target/frv/all-builtin-write64.c: Delete.
11388	* testsuite/gcc.target/frv/all-read-write-1.c: New.
11389
113902005-07-28  Kaz Kojima  <kkojima@gcc.gnu.org>
11391
11392	* df.c (df_uses_record): Handle SCRATCH.
11393
113942005-07-28  Steven Bosscher  <stevenb@suse.de>
11395
11396	PR debug/20161
11397	* passes.c (rest_of_decl_compilation): If decl is a type and
11398	we have encountered errors, don't emit debug information.
11399
114002005-07-27  Kenneth Zadeck <zadeck@naturalbridge.com>
11401
11402	* params.def: Fixed comment.
11403
114042005-07-27  Bjoern Haase  <bjoern.m.haase@web.de>
11405
11406	PR target/19885
11407	* config/avr/avr.c (TARGET_ASM_ALIGNED_SI_OP): Add.
11408	(TARGET_ASM_UNALIGNED_HI_OP): Add.
11409	(TARGET_ASM_UNALIGNED_SI_OP): Add.
11410
114112005-07-27  Steven Bosscher  <stevenb@suse.de>
11412
11413	PR c++/22003
11414	* varasm.c (assemble_start_function): Don't do anything that may
11415	require a CFG if the current function is a thunk.
11416
114172005-07-25  Geoffrey Keating  <geoffk@apple.com>
11418
11419	* doc/install.texi (Prerequisites): Mention that perl is needed
11420	to do export control in libstdc++ targetting Darwin.
11421
114222005-07-27  Steven Bosscher  <stevenb@suse.de>
11423
11424	PR rtl-optimization/17808
11425	* sched-deps.c (sched_get_condition): Enable #if 0'ed code.
11426	(sched_insns_conditions_mutex_p): Split out from...
11427	(add_dependence): ...here.  But don't call it from here.
11428	(add_dependence_list): Check sched_insns_conditions_mutex_p
11429	before calling add_dependence.
11430	(add_dependence_list_and_free): Likewise.
11431	(fixup_sched_groups): Likewise.
11432	(sched_analyze_1): Likewise.
11433	(sched_analyze_2): Likewise (and replace a "0" with REG_DEP_TRUE).
11434	(sched_analyze): Likewise.
11435	(sched_analyze_insn): Likewise.
11436	* sched-ebb.c (add_deps_for_risky_insns): Likewise.
11437	* sched-rgn.c (add_branch_dependences): Likewise.  Also, add
11438	dependencies on all COND_EXEC insns to jumps ending basic blocks
11439	when doing intrablock scheduling.
11440	* sched-int.h (sched_insns_conditions_mutex_p): Add prototype.
11441
114422005-07-27  Jeff Law  <law@redhat.com>
11443
11444	* tree-vrp.c (vrp_meet): Intersect the equivalency sets when
11445	meeting a VR_ANTI_RANGE with a VR_RANGE.  When intersecting
11446	equivalency sets, correctly handle the case were vr0 has an
11447	equivalency set, but vr1 does not.
11448
114492005-07-27  Dorit Nuzman  <dorit@il.ibm.com>
11450
11451	PR tree-optimization/23073
11452	* tree-vect-analyze.c (vect_analyze_data_refs_alignment): Call
11453	vect_print_dump_info before fprintf.
11454
114552005-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
11456
11457	PR tree-optimize/22348
11458	* tree-ssa-loop-niter.c (number_of_iterations_cond):
11459	Fold the partial computation.
11460
114612005-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
11462
11463	PR tree-optimization/22325
11464	* tree-flow.h (compute_phi_arg_on_exit, force_expr_to_var_cost):
11465	Declare.
11466	* tree-scalar-evolution.c (scev_const_prop): Add generic final
11467	value replacement.
11468	* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Split from ...
11469	(force_var_cost): ... this function.
11470	(compute_phi_arg_on_exit): Export.
11471
114722005-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
11473
11474	PR tree-optimization/20773
11475	* tree-ssa-loop-ch.c (copy_loop_headers): Select the correct latch
11476	edge.
11477
114782005-07-27  Richard Guenther  <rguenther@suse.de>
11479
11480	* tree-ssa-structalias.c (push_fields_onto_fieldstack):
11481	Avoid pushing again if current struct contains only
11482	fields we decomposed.
11483
114842005-07-27  Jan Hubicka  <jh@suse.cz>
11485
11486	PR tree-optimization/22574
11487	* cgraph.c (cgraph_function_body_availability): Unanalyzed bodies are
11488	not available.
11489
11490	* tree-tailcall.c (decrease_profile): New function.
11491	(eliminate_tail_call): Use it.
11492
11493	* cgraphunit.c (cgraph_function_and_variable_visibility): Set
11494	visibility flags correctly in whole program mode.
11495
114962005-07-26  Steve Ellcey  <sje@cup.hp.com>
11497
11498	PR rtl-optimization/22472
11499	* config/pa/pa.h (HARD_REGNO_RENAME_OK): Define.
11500
115012005-07-26  Steven Bosscher  <stevenb@suse.de>
11502
11503	PR tree-optimization/22504
11504	* tree-complex.c (expand_complex_addition): Use 'code' instead
11505	of MINUS_EXPR for (VARYING, ONLY_IMAG) and (ONLY_IMAG, VARYING).
11506
115072005-07-26  Aldy Hernandez  <aldyh@redhat.com>
11508
11509	* config.gcc (cpu_type): Add frv case.
11510	(with_cpu): Add frv400-*-*linux* and frv550-*-*linux* cases.
11511	(supported_defaults): Add fr550 case.
11512
115132005-07-26  Diego Novillo  <dnovillo@redhat.com>
11514
11515	PR 22591
11516	* tree-ssa-alias.c (may_alias_p): Remove shortcut that tests
11517	whether a pointer of type T * may point to objects of type T *.
11518
115192005-07-26  DJ Delorie  <dj@redhat.com>
11520
11521	* configure: Regenerate.
11522
115232005-07-26  Dale Johannesen  <dalej@apple.com>
11524
11525	* postreload-gcse.c (alloc_mem):  Start CUID numbering at 1.
11526
115272005-07-26  Mark Mitchell  <mark@codesourcery.com>
11528
11529	* doc/install.texi (--with-build-sysroot): Fix grammatical error.
11530	Clarify use of "build" in name.
11531
115322005-07-26  Aldy Hernandez  <aldyh@redhat.com>
11533
11534	* doc/extend.texi (Raw read/write Functions): New section.
11535	* testsuite/gcc.target/frv/all-builtin-read8.c: New.
11536	* testsuite/gcc.target/frv/all-builtin-read16.c: New.
11537	* testsuite/gcc.target/frv/all-builtin-read32.c: New.
11538	* testsuite/gcc.target/frv/all-builtin-read64.c: New.
11539	* testsuite/gcc.target/frv/all-builtin-write8.c: New.
11540	* testsuite/gcc.target/frv/all-builtin-write16.c: New.
11541	* testsuite/gcc.target/frv/all-builtin-write32.c: New.
11542	* testsuite/gcc.target/frv/all-builtin-write64.c: New.
11543	* config/frv/frv.c: Add bdesc_loads global.
11544	Add bdesc_stores global.
11545	(frv_init_builtins): Add support for __builtin_{read/write}*.
11546	(frv_volatile_memref): New.
11547	(frv_expand_load_builtin): New.
11548	(frv_expand_store_builtin): New.
11549	* config/frv/frv.h (frv_builtins): Add FRV_BUILTIN_SCAN,
11550	FRV_BUILTIN_READ8, FRV_BUILTIN_READ16, FRV_BUILTIN_READ32,
11551	FRV_BUILTIN_READ64, FRV_BUILTIN_WRITE8, FRV_BUILTIN_WRITE16,
11552	FRV_BUILTIN_WRITE32, FRV_BUILTIN_WRITE64.
11553	* config/frv/frv.md (unspecs): Add UNSPEC_BUILTIN_LOAD,
11554	UNSPEC_BUILTIN_STORE, UNSPEC_OPTIONAL_MEMBAR.
11555	(builtin_read_<mode>): New.
11556	(builtin_write_<mode>): New.
11557	(builtin_write64): New.
11558	(optional_membar_<mode>): New.
11559
115602005-07-26  J"orn Rennecke <joern.rennecke@st.com>
11561
11562	* emit-rtl.c (gen_lowpart_common): Compare size of MODE in bits
11563	(rather than units) against HOST_BITS_PER_WIDE_INT.
11564
115652005-07-26  Kazu Hirata  <kazu@codesourcery.com>
11566
11567	* ipa-pure-const.c, ipa-reference.c, ipa-reference.h,
11568	ipa-type-escape.c, ipa-type-escape.h, ipa-utils.c,
11569	ipa-utils.h, treestruct.def, config/crx/crx-protos.h,
11570	config/crx/crx.c, config/crx/crx.h, config/crx/crx.md: Update
11571	FSF address.
11572
11573	* calls.c, fold-const.c, ipa-reference.c, ipa-type-escape.c,
11574	tree-ssa-reassoc.c, tree-ssa-structalias.c, vec.h,
11575	config/crx/crx.c, config/m32c/m32c.c, config/m32c/m32c.h: Fix
11576	comment typos.
11577	* doc/c-tree.texi, doc/tree-ssa.texi: Fix typos.
11578
115792005-07-26  Richard Guenther  <rguenther@suse.de>
11580
11581	PR tree-optimization/22486
11582	* fold-const.c (fold_unary): Fold away useless component
11583	references of the form (T *)&T.x, if the address
11584	doesn't change.
11585
115862005-07-25  James E Wilson  <wilson@specifixinc.com>
11587
11588	* dwarf2out.c (add_call_src_coords_attributes): New.
11589	(gen_inlined_subroutine_die): Call it.
11590	(maybe_emit_file, init_file_table): Add comments.
11591	(prune_unused_types_walk_attribs): Pass DW_AT_call_file through
11592	maybe_emit_file.
11593	* tree-inline.c (remap_block): Copy BLOCK_SOURCE_LOCATION.
11594	(expand_call_inline): Set BLOCK_SOURCE_LOCATION.
11595	* tree.h (BLOCK_SOURCE_LOCATION): New.
11596	(struct tree_block): New field locus.
11597
115982005-07-26  Andreas Schwab  <schwab@suse.de>
11599
11600	PR rtl-optimization/23043
11601	* postreload-gcse.c (eliminate_partially_redundant_load): Fix typo
11602	when allocating a struct unoccr.
11603
116042005-07-25  Richard Henderson  <rth@redhat.com>
11605
11606	PR 22626
11607	* tree-complex.c (gate_no_optimization): True if errors.
11608	* Makefile.in (tree-complex.o): Update dependencies.
11609
116102005-07-25  Aldy Hernandez  <aldyh@redhat.com>
11611
11612	* config/frv/predicates.md (integer_register_operand): Use
11613	GPR_AP_OR_PSEUDO_P.
11614
116152005-07-25  Andrew Pinski  <pinskia@physics.uc.edu>
11616
11617	PR tree-opt/22484
11618	* tree-ssa-ccp.c (fold_stmt_inplace): Strip useless type conversions
11619	after fold.
11620	* tree-ssa-propagate.c (set_rhs): Reject invalid conditional operands.
11621
116222005-07-25  Andrew Pinski  <pinskia@physics.uc.edu>
11623
11624	* tree-ssa-reassoc.c (reassociate_expr): Allow scaler floating point
11625	types when flag_unsafe_math_optimizations is true.
11626
116272005-07-25  Mark Mitchell  <mark@codesourcery.com>
11628
11629	* gcc.c (option_map): Add --sysroot.
11630	(process_command): Handle --sysroot.
11631	(display_help): Document it.
11632	* doc/cppopts.tex (-isysroot): Document.
11633	* doc/invoke.texi (--sysroot): Document.
11634	* doc/install.texi (--with-build-sysroot): Document.
11635
11636	* Makefile.in (inhibit_libc): New variable.
11637	(INHIBIT_LIBC_CFLAGS): Likewise.
11638	(LIBGCC2_CFLAGS): Include
11639	$(INHIBIT_LIBC_CFLAGS).
11640	(CRTSTUFF_CFLAGS): Include $(INHIBIT_LIBC_CFLAGS).
11641	($(T)crtbegin.o): Do not use @inhibit_libc@.
11642	($(T)crtend.o): Likewise.
11643	($(T)crtbeginS.o): Do not use @inhibit_libc@.
11644	($(T)crtendS.o): Likewise.
11645	($(T)crtbeginT.o): Do not use @inhibit_libc@.
11646	($(T)crtendT.o): Likewise.
11647	(stmp-fixinc): Do not complain about missing headers if
11648	inhibit_libc.
11649	* configure.ac (inhibit_libc): Set it to true/false.
11650	(--with-build-sysroot): New option.  Use it to set
11651	SYSTEM_HEADER_DIR.
11652	* configure: Regenerated.
11653
116542005-07-25  Manfred Hollstein  <mh@suse.com>
11655
11656	* calls.c (store_one_arg): Fix unsigned comparison warning.
11657
116582005-07-25  Serge Belyshev  <belyshev@depni.sinp.msu.ru>
11659
11660	PR other/22337
11661	* ggc-zone.c (ggc_alloc_zone_stat): Do not use CHUNK_OVERHEAD.
11662	(ggc_print_statistics): Initialize variable before use.
11663
116642005-07-25  Richard Guenther  <rguenther@suse.de>
11665
11666	* tree-dfa.c (mark_new_vars_to_rename): Protect against
11667	calling with a PHI_NODE argument.
11668
11669	* tree-flow-inline.h (overlap_subvar): Protect against
11670	possible overflow.
11671
116722005-07-25  Paolo Bonzini  <bonzini@gnu.org>
11673
11674	* aclocal.m4 (gcc_AC_CHECK_TOOL): Add /bin to default directory.
11675	* configure: Regenerate.
11676
116772005-07-25  Ira Rosen  <irar@il.ibm.com>
11678
11679	* expr.c (highest_pow2_factor): Make extern.
11680	* tree-data-ref.c (ptr_decl_may_alias_p): New function.
11681	(ptr_ptr_may_alias_p, may_alias_p, record_ptr_differ_p,
11682	record_array_differ_p, array_ptr_differ_p): Likewise.
11683	(base_object_differ_p): Rename (from array_base_name_differ_p). Support
11684	additional cases. Call the above functions.
11685	(base_addr_differ_p): Moved from tree-vect-analyze.c. Call
11686	base_object_differ_p when there are two base objects. Otherwise, compare
11687	base address and offset. Call may_alias_p.
11688	(dump_data_reference): Use a correct field name.
11689	(analyze_array): Make static. Initialize new data-ref fields.
11690	(analyze_indirect_ref): New function.
11691	(init_data_ref): Initialize new data-ref fields.
11692	(strip_conversion): Moved from tree-vect-analyze.c.
11693	(analyze_offset_expr, get_ptr_offset, address_analysis,
11694	object_analysis): Likewise.
11695	(analyze_offset): New function.
11696	(create_data_ref): Likewise.
11697	(initialize_data_dependence_relation): Call base_addr_differ_p. Compare
11698	dimensions for ARRAY_REFs only.
11699	(build_classic_dist_vector): Make static.
11700	(access_functions_are_affine_or_constant_p): Call macro to get the
11701	address of access functions.
11702	(compute_all_dependences): Add new parameter
11703	compute_self_and_read_read_dependences. Compute self and read-read
11704	dependences if it is true.
11705	(find_data_references_in_loop): Call create_data_ref. Initialize new
11706	data-ref fields.
11707	(compute_data_dependences_for_loop): Add new parameter
11708	compute_self_and_read_read_dependences. Remove parameter nb_loops,
11709	compute nb_loops. Call compute_all_dependences,
11710	build_classic_dist_vector and build_classic_dir_vector with correct
11711	parameters.
11712	(analyze_all_data_dependences): Call compute_data_dependences_for_loop
11713	with correct parameters. Compare dimensions for ARRAY_REFs only.
11714	(free_data_refs): Call macro to free access functions.
11715	* tree-data-ref.h (struct first_location_in_loop): New structure. Move
11716	fields from stmt_vinfo.
11717	(struct base_object_info): New structure.
11718	(struct data_reference): Move fields to base_object_info. Add fields
11719	first_location and object_info for above structures. Move fields from
11720	stmt_info: memtag, ptr_info, subvars, misalignment. Add new field
11721	aligned_to.  Add macros to access the new fields.
11722	Update functions declarations.
11723	* tree-flow.h (is_aliased_with): Declare.
11724	* tree-loop-linear.c (linear_transform_loops): Call
11725	compute_data_dependences_for_loop with correct parameters.
11726	* tree-ssa-alias.c (is_aliased_with): New function.
11727	* tree-vect-analyze.c (vect_get_ptr_offset): Remove.
11728	(vect_analyze_offset_expr, vect_base_addr_differ_p): Likewise.
11729	(vect_analyze_data_ref_dependence): Get ddr. Remove call to
11730	vect_base_addr_differ_p, compute_subscript_distance and
11731	build_classic_dist_vector. Add printings. Check absolute value of
11732	distance.
11733	(vect_analyze_data_ref_dependences): Go through ddrs instead of
11734	data-refs.
11735	(vect_compute_data_ref_alignment): Get the fields of data-ref instead of
11736	stmt. Check aligned_to. Check if the base is aligned. Remove conversion
11737	to bytes. Add printing.
11738	(vect_compute_data_refs_alignment): Go through loads and stores in one
11739	loop.
11740	(vect_enhance_data_refs_alignment, vect_analyze_data_refs_alignment,
11741	vect_analyze_data_ref_access): Likewise.
11742	(vect_analyze_pointer_ref_access): Remove.
11743	(vect_address_analysis, vect_object_analysis): Likewise.
11744	(vect_analyze_data_refs): Call compute_data_dependences_for_loop to find
11745	and analyze data-refs in the loop.
11746	* tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Get the
11747	fields of data-ref instead of stmt. Add init to the offset from the
11748	base.
11749	(vect_create_data_ref_ptr): Get the fields of data-ref instead of stmt.
11750	(vect_update_init_of_dr): Likewise.
11751	(vect_update_inits_of_drs): Go through loads and stores in one loop.
11752	* tree-vectorizer.c (new_stmt_vec_info): Remove initialization of
11753	removed fields.
11754	(new_loop_vec_info): Initialize new fields.
11755	(destroy_loop_vec_info): Free new fields.
11756	(vect_strip_conversion): Remove.
11757	* tree-vectorizer.h (enum verbosity_levels): Add new verbosity level.
11758	(struct _loop_vec_info): Unify data_ref_writes and data_ref_reads into
11759	datarefs. Add new field ddrs.
11760	Add macros for the new fields access.
11761	(struct _stmt_vec_info): Remove: base_address, initial_offset, step,
11762	base_aligned_p, misalignment, memtag, ptr_info and subvars.
11763	Remove their macros.
11764	* tree.h (highest_pow2_factor): Declare.
11765
117662005-07-25  Jakub Jelinek  <jakub@redhat.com>
11767
11768	* calls.c (store_one_arg): Check for sibling call MEM arguments
11769	from already clobbered incoming argument area.
11770
117712005-07-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11772
11773	* c-common.c (check_missing_format_attribute): New.
11774	* c-common.h (check_missing_format_attribute): Likewise.
11775	* c-typeck.c (convert_for_assignment): Use it.
11776
117772005-07-24  Andreas Schwab  <schwab@suse.de>
11778
11779	* config/m68k/m68k.md ("extendqidi2"): When source is an address
11780	register use a word move.  Correct operand of ext.w in 68000 code.
11781
117822005-07-23  Mark Mitchell  <mark@codesourcery.com>
11783
11784	* dwarf2out.c (gen_variable_die): Treat un-emitted COMDAT
11785	variables as declarations, rather than definitions.
11786
117872005-07-24  Ira Rosen  <irar@il.ibm.com>
11788
11789	PR tree-optimization/22526
11790	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Match the type
11791	of the zero node.
11792
117932005-07-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
11794
11795	* builtins.def: Add DEF_EXT_C99RES_BUILTIN to define builtins
11796	that C99 reserve for future use. Use it to define clog10,
11797	clog10f and clog10l.
11798
117992005-07-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11800
11801	* Makefile.in (STRICT2_WARN): Add -Wmissing-format-attribute.
11802	* configure.ac: Check for -Wmissing-format-attribute.
11803
11804	* configure: Regenerate.
11805
118062005-07-23  Richard Henderson  <rth@redhat.com>
11807
11808	PR tree-optimization/22623
11809	* tree-complex.c (set_component_ssa_name): Use replace_ssa_name_symbol.
11810
118112005-07-23  Giovanni Bajo  <giovannibajo@libero.it>
11812
11813	PR target/22577
11814	* config/pa/pa.c (reloc_needed): Updated for VECs inside CONSTRUCTOR.
11815
118162005-07-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11817
11818	* Makefile.in (C_TREE_H): Update dependencies.
11819	* c-tree.h: Include toplev.h.
11820	* diagnostic.h (diagnostic_set_info): Add format attribute.
11821	* rtl-error.c (diagnostic_for_asm): Likewise.
11822
118232005-07-23  Chao-ying Fu  <fu@mips.com>
11824
11825	* config/mips/mips-dsp.md: New file.
11826	* config/mips/mips-modes.def (V4QI, V2HI, CCDSP): New modes.
11827	* config/mips/mips.c (mips_function_type): Add types for DSP builtin
11828	functions.
11829	(mips_builtin_type): Add MIPS_BUILTIN_DIRECT_NO_TARGET and
11830	MIPS_BUILTIN_BPOSGE32.
11831	(mips_expand_builtin_direct): Add one parameter to indicate that
11832	builtin functions need to return a value.
11833	(mips_expand_builtin_bposge): New for expanding "bposge" builtin
11834	functions.
11835	(mips_regno_to_class): Add classes for 12 new DSP registers.
11836	(mips_subword): Change to check four HI registers.
11837	(mips_output_move): Output move to and from 6 new DSP accumulators.
11838	(override_options): Make sure -mdsp and -mips16 are not used together.
11839	Map 'A' to DSP_ACC_REGS and 'a' to ACC_REGS.  Enable DSP accumulators
11840	for machine modes.
11841	(mips_conditional_register_usage): Disable 6 new DSP accumulators
11842	when !TARGET_DSP.
11843	(print_operand): Add 'q' for printing DSP accumulators.
11844	(mips_cannot_change_mode_class): Check ACC_REGS.
11845	(mips_secondary_reload_class): Check ACC_REGS.
11846	(mips_vector_mode_supported_p): Enable V2HI and V4QI when TARGET_DSP.
11847	(mips_register_move_cost): Check ACC_REGS.
11848	(CODE_FOR_mips_addq_ph, CODE_FOR_mips_addu_qb, CODE_FOR_mips_subq_ph)
11849	(CODE_FOR_mips_subu_qb): New code-aliasing macros.
11850	(DIRECT_NO_TARGET_BUILTIN, BPOSGE_BUILTIN): New macros.
11851	(dsp_bdesc): New array.
11852	(bdesc_arrays): Add DSP builtin function table.
11853	(mips_prepare_builtin_arg): Check predicate again after
11854	copy_to_mode_reg.
11855	(mips_expand_builtin): Add one more parameter to
11856	mips_expand_builtin_direct. Expand MIPS_BUILTIN_DIRECT_NO_TARGET and
11857	MIPS_BUILTIN_BPOSGE32.
11858	(mips_init_builtins): Initialize new function types.
11859	(mips_expand_builtin_direct): Check if builtin functions need to
11860	return a value and pass operands properly.
11861	(mips_expand_builtin_bposge): New function.
11862	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips_dsp.
11863	(ASM_SPEC): Map -mdsp to -mdsp in GAS.
11864	(FIRST_PSEUDO_REGISTER): Increase to 188.
11865	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
11866	Update for 12 new DSP registers.
11867	(DSP_ACC_REG_FIRST, DSP_ACC_REG_LAST, DSP_ACC_REG_NUM, AC1HI_REGNUM)
11868	(AC1LO_REGNUM, AC2HI_REGNUM, AC2LO_REGNUM, AC3HI_REGNUM, AC3LO_REGNUM):
11869	(DSP_ACC_REG_P, ACC_REG_P, ACC_HI_REG_P): New macros.
11870	(reg_class): Add DSP_ACC_REGS and ACC_REGS.
11871	(REG_CLASS_NAMES): Add names for DSP_ACC_REGS and ACC_REGS.
11872	(REG_CLASS_CONTENTS): Update for DSP_ACC_REGS, ACC_REGS and ALL_REGS.
11873	(REG_ALLOC_ORDER): Update for 12 new DSP registers.
11874	(mips_char_to_class): Add 'A' for DSP_ACC_REGS and 'a' for ACC_REGS.
11875	(UIMM6_OPERAND, IMM10_OPERAND): New macros.
11876	(EXTRA_CONSTRAINT_Y): Add YA and YB extra constraints.
11877	(REGISTER_NAMES): Add names for 12 new DSP registers.
11878	* config/mips/mips.md: Include mips-dsp.md.
11879	(UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
11880	(UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
11881	(UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
11882	(UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
11883	(UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
11884	(UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
11885	(UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
11886	(UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
11887	(UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
11888	(UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
11889	(UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
11890	(UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
11891	(UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
11892	(UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
11893	(UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
11894	(UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
11895	(UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
11896	(UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
11897	(UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
11898	(UNSPEC_RDDSP): New constants.
11899	(*movdi_32bit): Change 'x' to 'a' for ACC_REGS.
11900	(*movsi_internal): Change 'x' to 'a' for ACC_REGS.  Add an
11901	A<-d alternative.
11902	* config/mips/mips.opt (-mdsp): New option.
11903	* config/mips/predicates.md (const_uimm6_operand, const_imm10_operand)
11904	(reg_imm10_operand): New predicates.
11905	* doc/extend.texi (MIPS DSP Built-in Functions): New section.
11906	* doc/invoke.texi (-mdsp): Document new option.
11907
119082005-07-22  DJ Delorie  <dj@redhat.com>
11909
11910	* c-objc-common.c (c_cannot_inline_tree_fn): Add warning control
11911	to warning calls.
11912	* tree-inline.c (inlinable_function_p): Likewise.
11913
119142005-07-22  Mark Mitchell  <mark@codesourcery.com>
11915
11916	PR debug/21828
11917	* toplev.c (check_global_declarations): Do not mark undefined
11918	variables as DECL_IGNORED_P.
11919	* varasm.c (first_global_object_name): GTY it.
11920	(weak_global_object_name): Likewise.
11921	(notice_global_symbol): Use ggc_strdup, not xstrdup, when creating
11922	a string to go into {weak,first}_global_object_name.
11923
119242005-07-22  DJ Delorie  <dj@redhat.com>
11925
11926	* c-format.c (check_function_format): Change warning control
11927	option from OPT_Wattribute to OPT_Wmissing_format_attribute.
11928
119292005-07-22  Diego Novillo  <dnovillo@redhat.com>
11930
11931	* tree-ssa-alias.c (count_ptr_derefs): Do not consider
11932	&PTR->FLD a dereference of PTR.
11933	* tree-ssa-structalias.c (update_alias_info): Consider &PTR->FLD
11934	a potential dereference of PTR.
11935
119362005-07-22  J"orn Rennecke <joern.rennecke@st.com>
11937
11938	PR rtl-optimization/20370
11939	* ifcvt.c (dead_or_predicable): Before calling propagate_block,
11940	call allocate_reg_info if necessary.
11941
11942	PR rtl-optimization/21848
11943	* calls.c (emit_library_call_value_1): For const functions, add
11944	USEs of the stack slots to CALL_INSN_FUNCTION_USAGE.
11945
11946	PR rtl-optimization/22445
11947	* cselib.c (target.h): Include.
11948	(rtx_equal_for_cselib_p): Allow commutative matches.
11949	(cselib_hash_rtx): Don't use MODE for CONST_INT hashing.
11950	Remove MODE parameter.  Changed all callers.
11951
11952	PR rtl-optimization/22258
11953	* combine.c (likely_spilled_retval_1, likely_spilled_retval_p):
11954	New functions.
11955	(try_combine): Use likely_spilled_retval_p.
11956
119572005-07-22  Paul Woegerer  <paul.woegerer@nsc.com>
11958
11959	* config.gcc: Add crx-elf support.
11960
11961	* doc/contrib.texi: Mention crx.
11962	* doc/extend.texi: Document crx extensions.
11963	* doc/install.texi: Document crx install.
11964	* doc/invoke.texi: Document crx options.
11965	* doc/md.texi: Document crx constraints.
11966
11967	* config/crx/crx-protos.h: New file.
11968	* config/crx/crx.c: New file.
11969	* config/crx/crx.h: New file.
11970	* config/crx/crx.md: New file.
11971	* config/crx/crx.opt: New file.
11972	* config/crx/t-crx: New file.
11973
119742005-07-22  Manfred Hollstein  <mh@suse.com>
11975
11976	* tree-ssa-structalias.c (merge_graph_nodes): Fix uninitialised
11977	warnings.
11978	(int_add_graph_edge): Likewise.
11979	(collapse_nodes): Likewise.
11980	(process_unification_queue): Likewise.
11981
119822005-07-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11983	    Laurent GUERBY  <laurent@guerby.net>
11984
11985	PR tree-optimization/22336
11986	* function.c (record_block_change): Check for
11987	cfun->ib_boundaries_block.
11988
119892005-07-21  James A. Morrison  <phython@gcc.gnu.org>
11990
11991	* fold-const.c (fold_unary): Don't strip signed nops from ABS_EXPRs.
11992	(tree_expr_nonnegative_p): Return try for TYPE_UNSIGNED.
11993
119942005-07-21  DJ Delorie  <dj@redhat.com>
11995
11996	* toplev.c (warn_deprecated_use): Add warning control to warning
11997	call.
11998	* c-typeck.c (parser_build_binary_op): Likewise.
11999	(c_finish_if_stmt): Likewise.
12000	* c-common.c (check_function_sentinel): Likewise.
12001	(check_nonnull_arg): Likewise.
12002
120032005-07-21  Richard Henderson  <rth@redhat.com>
12004
12005	PR tree-opt/22504
12006	* tree-complex.c (complex_ssa_name_components): New.
12007	(cvc_lookup): Allow entry not found.
12008	(create_components): Remove.
12009	(create_one_component_var, get_component_var): New.
12010	(get_component_ssa_name, set_component_ssa_name): New.
12011	(extract_component): Use get_component_ssa_name.
12012	(update_complex_components): Use set_component_ssa_name.
12013	(update_complex_components_on_edge): Likewise.
12014	(update_phi_components): Create new PHI nodes directly, instead
12015	of adding insns to edges.
12016	(tree_lower_complex): Allocate and free complex_variable_components
12017	and complex_ssa_name_components here.
12018
120192005-07-20  Daniel Berlin  <dberlin@dberlin.org>
12020
12021	* alias.c (nonoverlapping_component_refs_p): Use TYPE_MAIN_VARIANT,
12022	revert to returning false.
12023
120242005-07-21  Uros Bizjak  <uros@kss-loka.si>
12025
12026	PR target/21149
12027	* config/i386/i386.md (sse_movhlps): Fix vec_select values.
12028
120292005-07-21  Uros Bizjak  <uros@kss-loka.si>
12030
12031	PR target/22576
12032	* config/i386/i386.md (cmpxf): Change operand constraints
12033	to "nonmemory_operand".
12034
120352005-07-21  Andrew Pinski  <pinskia@physics.uc.edu>
12036
12037	* config/i386/i386.md (trap): Use "".word/t0x0b0f" instead of ud2.
12038
120392005-07-21  Andrew Pinski  <pinskia@physics.uc.edu>
12040
12041	PR middle-end/21180
12042	* fold-const.c (fold_build1): Add checksum for the operands.
12043	(fold_build2): Likewise.
12044	(fold_build3): Likewise.
12045
120462005-07-21  Andrew Pinski  <pinskia@physics.uc.edu>
12047
12048	PR middle-end/19055
12049	* fold-const.c (fold_binary): Transform "(X | Y) ^ X" to "Y & ~ X".
12050
120512005-07-21  Paolo Bonzini  <bonzini@gnu.org>
12052
12053	* common.opt (-fforward-propagate): Committed by mistake,
12054	removed.
12055
120562005-07-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
12057
12058	* reg-stack.c: Fix comment typo(s).
12059	* tree-ssa-operands.c: Likewise.
12060	* tree-vectorizer: Likewise.
12061
120622005-07-21  Nick Clifton  <nickc@redhat.com>
12063
12064	* config/sh/symbian.c: Replace C++ style line comments with C
12065	style line comments.
12066	(symbian_add_attribute): Do not use a ? operator on the LHS of
12067	an assignment.
12068	(sh_symbian_handle_dll_attribute): Change the type of the
12069	method vector to "VEC(tree,gc)*" and use vector accessor
12070	macros to walk over the elements.
12071	(symbian_export_vtable_and_rtti_p): Likewise.
12072	(symbian_class_needs_attribute_p): Likewise.
12073
120742005-07-21  Paolo Bonzini  <bonzini@gnu.org>
12075
12076	PR target/22085
12077	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Do not
12078	initialize targetm.resolve_overloaded_builtin here.
12079	(altivec_expand_overloaded_builtin): Make it non-static.
12080	* config/rs6000/rs6000-protos.h
12081	(altivec_expand_overloaded_builtin): New prototype.
12082	* config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Initialize
12083	targetm.resolve_overloaded_builtin here.
12084	* config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Likewise.
12085
120862005-07-21  Paolo Bonzini  <bonzini@gnu.org>
12087	    Zdenek Dvorak  <dvorakz@suse.cz>
12088
12089	PR tree-optimization/19210
12090	* common.opt (Wunsafe-loop-optimizations, funsafe-loop-optimizations):
12091	New.
12092	* Makefile.in (tree-ssa-loop-niter.o): Depend intl.o.
12093	* loop-iv.c (get_simple_loop_desc): If -funsafe-loop-optimizations,
12094	rely on unproven assumptions.
12095	* predict.c (predict_loops): Adjust call to number_of_iterations_exit.
12096	* tree-flow.h (number_of_iterations_exit): Add final parameter.
12097	* tree-scalar-evolution.c (number_of_iterations_in_loop): Adjust call
12098	to number_of_iterations_exit.
12099	* tree-ssa-loop-ivcanon.c (empty_loop_p): Likewise.
12100	* tree-ssa-loop-ivopts.c (niter_for_exit): Likewise.
12101	* tree-ssa-loop-niter.c (find_loop_niter,
12102	estimate_numbers_of_iterations_loop): Likewise.
12103	(number_of_iterations_exit): Honor the new options.
12104	* doc/invoke.texi (Wunsafe-loop-optimizations,
12105	funsafe-loop-optimizations): Document them.
12106
121072005-07-21  Richard Sandiford  <richard@codesourcery.com>
12108
12109	PR rtl-optimization/22167
12110	* gcse.c (hoist_code): Fix hoist_exprs[] check.
12111
121122005-07-20  Adam Nemet  <anemet@lnxw.com>
12113
12114	* config/rs6000/lynx.h: Mark __do_global_ctors_aux and
12115	__do_global_dtors_aux longcall.
12116
121172005-07-20  Kazu Hirata  <kazu@cs.umass.edu>
12118
12119	* gensupport.c (old_preds): Don't reference PREDICATE_CODES.
12120	(old_special_pred_table): Don't reference
12121	SPECIAL_MODE_PREDICATES.
12122	* system.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Poison.
12123	* config/arc/arc.h: Don't mention PREDICATE_CODES.
12124	* config/sh/predicates.h: Don't mention
12125	SPECIAL_MODE_PREDICATES.
12126	* doc/tm.texi (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
12127	Remove.
12128
121292005-07-20  DJ Delorie  <dj@redhat.com>
12130
12131	* config.gcc: Add m32c-elf support.
12132
12133	* doc/contrib.texi: Mention m32c.
12134	* doc/extend.texi: Document m32c extensions.
12135	* doc/install.texi: Mention m32c.
12136	* doc/invoke.texi: Document m32c options.
12137	* doc/md.texi: Document m32c constraints.
12138
12139	* config/m32c/addsub.md: New file.
12140	* config/m32c/bitops.md: New file.
12141	* config/m32c/cond.md: New file.
12142	* config/m32c/jump.md: New file.
12143	* config/m32c/m32c-lib1.S: New file.
12144	* config/m32c/m32c-lib2.c: New file.
12145	* config/m32c/m32c-modes.def: New file.
12146	* config/m32c/m32c-pragma.c: New file.
12147	* config/m32c/m32c-protos.h: New file.
12148	* config/m32c/m32c.abi: New file.
12149	* config/m32c/m32c.c: New file.
12150	* config/m32c/m32c.h: New file.
12151	* config/m32c/m32c.md: New file.
12152	* config/m32c/m32c.opt: New file.
12153	* config/m32c/minmax.md: New file.
12154	* config/m32c/mov.md: New file.
12155	* config/m32c/muldiv.md: New file.
12156	* config/m32c/predicates.md: New file.
12157	* config/m32c/prologue.md: New file.
12158	* config/m32c/shift.md: New file.
12159	* config/m32c/t-m32c: New file.
12160
121612005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
12162
12163	* config/sh/sh.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
12164	(stack_protect_set, stack_protect_test): New expanders.
12165	(stack_protect_set_si, stack_protect_set_si_media,
12166	stack_protect_set_di_media, stack_protect_test_si,
12167	stack_protect_test_si_media, stack_protect_test_di_media):
12168	New insns.
12169
121702005-07-20  Andrew Pinski  <pinskia@physics.uc.edu>
12171
12172	* c-typeck.c (output_init_element): Don't copy the INTEGER_CST.
12173
121742005-07-20  James A. Morrison  <phython@gcc.gnu.org>
12175
12176	* tree.h (tree_expr_nonzero_p): Export.
12177	* fold-const.c (tree_expr_nonzero_p): Likewise.
12178	Return true for CALL_EXPRs that are alloca calls.
12179	(fold_binary): Use omit_one_operand when checking EQ_EXPRs or NE_EXPRs
12180	against zero.
12181	* tree-flow.h (expr_computes_nonzero): Remove.
12182	* tree-vrp.c (expr_computes_nonzero): Remove.
12183	(vrp_expr_computes_nonzero): Use tree_expr_nonzero_p.
12184	(extract_range_from_unary_expr): Likewise.
12185	* tree-ssa-dom.c (record_equivalences_from_stmt): Use
12186	tree_expr_nonzero_p.
12187
121882005-07-20  Bernd Schmidt  <bernd.schmidt@analog.com>
12189
12190	* config/bfin/bfin-protos.h (legitimize_pic_address): Don't declare.
12191	* config/bfin/bfin.c (legitimize_pic_address): Now static.  Take
12192	extra arg "picreg" and use it instead of pic_offset_table_rtx.
12193	All callers changed.
12194	(frame_related_constant_load): New arg "related" which controls
12195	setting of RTX_FRAME_RELATED_P.  All callers changed.
12196	(bfin_load_pic_reg): New function, broken out of bfin_expand_prologue.
12197	(bfin_expand_prologue): Add stack limit checking.
12198	* config/bfin/bfin.md (trapifcc): New pattern.
12199
12200	* config/bfin/bfin.c: Include "langhooks.h".
12201	(def_builtin): Go through lang_hooks to call builtin_function.
12202
12203	* config/bfin/bfin-protos.h (bfin_longcall_p): Declare.
12204	* config/bfin/predicates.md (symbol_ref_operand): New.
12205	(call_insn_operand): Delete.  All callers changed to use
12206	register_no_elim_operand.
12207	* config/bfin/bfin.c (init_cumulative_args): Initialize the new
12208	call_cookie field.
12209	(function_arg): Use it to generate the call's operand 2.
12210	(bfin_longcall_p): New function.
12211	(bfin_expand_call): Extra arg "cookie".  All callers and declaration
12212	changed.  Emit extra USE in the pattern.  Use bfin_longcall_p to
12213	determine if the address needs to be in a REG.
12214	(bfin_handle_longcall_attribute): New function.
12215	(bfin_attribute_table): Add "longcall" and "shortcall".
12216	* config/bfin/bfin.h (CALL_NORMAL, CALL_LONG, CALL_SHORT): New macros.
12217	(CUMULATIVE_ARGS): New member call_cookie.
12218	(PREDICATE_CODES): Add symbol_ref_operand.
12219	* config/bfin/bfin.md (call, call_value, sibcall, sibcall_value): Add
12220	extra USE to the pattern.
12221	(call_symbol, sibcall_symbol, call_value_symbol, sibcall_value_symbol):
12222	New patterns, split off call_insn, sibcall_insn, call_value_insn and
12223	sibcall_value_insn; now the new patterns handle direct calls and the
12224	old ones indirect calls.
12225	* doc/extend.texi: Mention Blackfin in longcall/shortcall docs.
12226
122272005-07-20  Zdenek Dvorak  <dvorakz@suse.cz>
12228
12229	* doc/trouble.texi: Update section on handling of empty loops.
12230
122312005-07-20  Kazu Hirata  <kazu@codesourcery.com>
12232
12233	* config.gcc: Remove support for sparc-*-openbsd*,
12234	i860-*-sysv4*, ip2k-*-elf, ns32k-*-netbsdelf*,
12235	ns32k-*-netbsd*.
12236	* config.host: Remove support for i860-*-sysv4* as a host.
12237	* config/i860/*, config/ip2k/*, config/ns32k/*,
12238	config/sparc/openbsd.h, config/sparc/t-openbsd: Remove.
12239	* doc/install.texi, doc/invoke.texi, doc/md.texi: Don't
12240	mention obsolete ports.
12241
122422005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
12243
12244	* config/sh/sh.c (regno_reg_class): Add GENERAL_REGS for
12245	soft frame pointer.
12246	(sh_expand_prologue): Use hard_frame_pointer_rtx instead
12247	of frame_pointer_rtx.
12248	(sh_expand_epilogue): Likewise.
12249	(sh_set_return_address): Likewise.
12250	(initial_elimination_offset): Use HARD_FRAME_POINTER_REGNUM
12251	instead of FRAME_POINTER_REGNUM if needed.  Add elimination
12252	offsets from FRAME_POINTER_REGNUM.
12253	* config/sh/sh.h (SH_REGISTER_NAMES_INITIALIZER): Add sfp.
12254	(sh_register_names): Add initializer for sfp.
12255	(GENERAL_OR_AP_REGISTER_P): Permit FRAME_POINTER_REGNUM.
12256	(VALID_REGISTER_P): Likewise.
12257	(FIRST_PSEUDO_REGISTER): Update.
12258	(DWARF_FRAME_REGISTERS): Define.
12259	(FIXED_REGISTERS, CALL_USED_REGISTERS): Add sfp.
12260	(HARD_FRAME_POINTER_REGNUM): Define.
12261	(FRAME_POINTER_REGNUM): Redefine.
12262	(ELIMINABLE_REGS): Never eliminate to FRAME_POINTER_REGNUM,
12263	but HARD_FRAME_POINTER_REGNUM instead.  Add eliminations
12264	from FRAME_POINTER_REGNUM.
12265	(CAN_ELIMINATE): Use HARD_FRAME_POINTER_REGNUM instead of
12266	FRAME_POINTER_REGNUM.
12267	(REG_CLASS_CONTENTS): Add sfp.
12268	(REG_ALLOC_ORDER): Likewise.
12269	(FRAME_GROWS_DOWNWARD): Set to 1.  Update comment.
12270	(GO_IF_LEGITIMATE_ADDRESS): Use hard_frame_pointer_rtx instead
12271	of frame_pointer_rtx.
12272	(LEGITIMIZE_RELOAD_ADDRESS): Likewise.
12273
122742005-07-19  James A. Morrison  <phython@gcc.gnu.org>
12275
12276	* fold-const.c (tree_expr_nonnegative_p): Only return true for
12277	ABS_EXPR when flag_wrapv is false because of INT_MIN.
12278	(tree_expr_nonzero_p): Always call tree_expr_nonzero_p on the argument
12279	of an ABS_EXPR.
12280	(fold_unary): Always fold ABS_EXPR<ABS_EXPR<x>> into
12281	ABS_EXPR<x>.
12282
122832005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
12284
12285	Make CONSTRUCTOR use VEC to store initializers.
12286	* c-common.c (complete_array_type): Update to cope with VEC in
12287	CONSTRUCTOR_ELTS.
12288	* c-pretty-print.c (pp_c_initializer_list): Use pp_c_constructor_elts.
12289	(pp_c_constructor_elts): New function.
12290	* c-pretty-print.h (pp_c_constructor_elts): Declare.
12291	* c-typeck.c (build_function_call, build_c_cast, digest_init,
12292	struct constructor_stack, struct initializer_stack,
12293	constructor_elements, push_init_level, pop_init_level,
12294	add_pending_init, find_init_member, output_init_element): Update to
12295	cope with VEC in CONSTRUCTOR_ELTS.
12296	* coverage.c (build_fn_info_value, build_ctr_info_value,
12297	build_gcov_info): Likewise.
12298	* expr.c (categorize_ctor_elements_1, store_constructor,
12299	expand_expr_real_1): Likewise.
12300	* fold-const.c (fold_ternary): Likewise.
12301	* gimplify.c (gimplify_init_ctor_preeval, zero_sized_field_decl,
12302	gimplify_init_constructor, gimplify_expr): Likewise.
12303	* tree-dump.c (dequeue_and_dump): Likewise.
12304	* tree-inline.c (copy_tree_r): Add code to duplicate a CONSTRUCTOR
12305	node.
12306	* tree-pretty-print.c (dump_generic_node): Update to cope with VEC in
12307	CONSTRUCTOR_ELTS.
12308	* tree-sra.c (generate_element_init_1): Likewise.
12309	* tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
12310	* tree-ssa-operands.c (get_expr_operands): Likewise.
12311	* tree-vect-generic.c (expand_vector_piecewise): Likewise.
12312	* tree-vect-transform.c (vect_get_vec_def_for_operand):
12313	(get_initial_def_for_reduction): Likewise.
12314	* tree-vn.c (set_value_handle, get_value_handle): CONSTURCTOR uses
12315	value handle in annotations.
12316	* tree.c (tree_node_kind, tree_code_size, make_node_stat,
12317	tree_node_structure): Add support for constr_kind.
12318	(build_vector_from_ctor, build_constructor_single,
12319	build_constructor_from_list): New functions.
12320	(build_constructor): Update to take a VEC instead of a TREE_LIST.
12321	(simple_cst_equal, iterative_hash_expr, initializer_zerop, walk_tree):
12322	Update to cope with VEC in CONSTRUCTOR_ELTS.
12323	* tree.def (CONSTRUCTOR): Make it a tcc_exceptional node.
12324	* tree.h (FOR_EACH_CONSTRUCTOR_VALUE, FOR_EACH_CONSTRUCTOR_ELT,
12325	CONSTRUCTOR_APPEND_ELT): New macros.
12326	(struct constructor_elt, struct	tree_constructor): New data types.
12327	(union tree_node): Add tree_constructor field.
12328	* treestruct.def: Define TS_CONSTRUCTOR.
12329	* varasm.c (const_hash_1, compare_constant, copy_constant,
12330	compute_reloc_for_constant, output_addressed_constants,
12331	initializer_constant_valid_p, output_constant,
12332	array_size_for_constructor, output_constructor): Update to cope with
12333	VEC in CONSTRUCTOR_ELTS.
12334	* vec.h (VEC_empty, VEC_copy): New macros.
12335
123362005-07-19  Devang Patel  <dpatel@apple.com>
12337
12338	* dbxout.c (dbxout_type): Check Objective-C++ lang.
12339
123402005-07-19  Richard Henderson  <rth@redhat.com>
12341
12342	PR tree-opt/22278
12343	* gimplify.c (gimplify_expr): Use main variant type for the temp
12344	destination for a discarded volatile read.
12345	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't elide
12346	casts between non-void types that change volatility.
12347
123482005-07-15  DJ Delorie  <dj@redhat.com>
12349
12350	* toplev.h: Add comment about the first parameter for warning().
12351	* errors.h: Likewise.
12352
12353	* c.opt (Wpragmas): New.
12354	* doc/invoke.texi: Document it.
12355
12356	* function.c (do_warn_unused_parameter): Add warning control to
12357	warning call.
12358	* c-decl.c (warn_if_shadowing): Likewise.
12359	* c-lex.c (cb_def_pragma): Likewise.
12360	* c-pragma.c (GCC_BAD, GCC_BAD2): Likewise.
12361	(pop_alignment): Likewise.
12362	(handle_pragma_pack): Likewise.
12363	(apply_pragma_weak): Likewise.
12364	(handle_pragma_weak): Likewise.
12365	(handle_pragma_redefine_extname): Likewise.
12366	(add_to_renaming_pragma_list): Likewise.
12367	(handle_pragma_extern_prefix): Likewise.
12368	(maybe_apply_renaming_pragma): Likewise.
12369	(handle_pragma_visibility): Likewise.
12370
12371	* config/c4x/c4x-c.c (BAD): Likewise.
12372	(c4x_parse_pragma): Likewise.
12373	* config/ia64/ia64-c.c (ia64_hpux_handle_builtin_pragma): Likewise.
12374	* config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise.
12375	(rs6000_pragma_longcall): Likewise.
12376	* config/v850/v850-c.c (pop_data_area): Likewise.
12377	(ghs_pragma_section): Likewise.
12378	(ghs_pragma_section): Likewise.
12379	(ghs_pragma_interrupt): Likewise.
12380	(ghs_pragma_starttda): Likewise.
12381	(ghs_pragma_startsda): Likewise.
12382	(ghs_pragma_startzda): Likewise.
12383	(ghs_pragma_endtda): Likewise.
12384	(ghs_pragma_endsda): Likewise.
12385	(ghs_pragma_endzda): Likewise.
12386
123872005-07-19  Danny Berlin <dberlin@dberlin.org>
12388	    Kenneth Zadeck <zadeck@naturalbridge.com>
12389
12390	* Makefile.in: Removed tree-promote-statics.c
12391	* tree-promote-statics.c: Removed.
12392	* common.opt: Removed flag-promote-statics.
12393	* opts.c: Ditto.
12394	* passes.c: Removed tree-promote-statics pass.
12395	* tree-pass.h: Ditto.
12396	* timevar.def: Removed TV_PROMOTE_STATICS.
12397
12398
123992005-07-19  Gerald Pfeifer  <gerald@pfeifer.com>
12400
12401	* config.gcc: Add support for *-*-freebsd7, *-*-freebsd8,
12402	and *-*-freebsd9.
12403	* config/freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS): Ditto.
12404
124052005-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12406
12407	PR c/22476
12408	* c-common.c (check_function_arguments): Call
12409	'check_function_format' if either -Wformat or
12410	-Wmissing-format-attribute are specified.
12411	* c-format.c (check_function_format): Check -Wformat before
12412	calling 'check_format_info'.
12413	* c-opts.c (c_common_post_options): Don't warn for
12414	-Wmissing-format-attribute without -Wformat.
12415	* c-typeck.c (convert_for_assignment): Detect additional cases for
12416	-Wmissing-format-attribute.
12417	* doc/invoke.texi (-Wmissing-format-attribute): Document new
12418	behavior.
12419
124202005-07-19  Richard Guenther  <rguenther@suse.de>
12421
12422	* config/i386/i386.md (lrint<mode>2): Use temporary
12423	instead of clobbering non-existent memory.
12424
124252005-07-19  Nick Clifton  <nickc@redhat.com>
12426
12427	* config/avr/avr.c (legitimate_address_p): Fix debugging print
12428	statement to avoid displaying ASCII control characters.
12429
124302005-07-19  Ben Elliston  <bje@au.ibm.com>
12431
12432	* bt-load.c (link_btr_uses): Fix uninitialised warnings.
12433	* cfganal.c (find_edge_index): Ditto.
12434	* combine.c (combine_instructions): Ditto.
12435	* ddg.c (create_scc): Ditto.
12436	(find_successors): Ditto.
12437	(find_predecessors): Ditto.
12438	(find_nodes_on_paths): Ditto.
12439	(longest_simple_path): Ditto.
12440	* flow.c (update_life_info): Ditto.
12441	(count_or_remove_death_notes): Ditto.
12442	(clear_log_links): Ditto.
12443	* modulo-sched.c (generate_reg_moves): Ditto.
12444	(find_max_asap): Ditto.
12445	(find_max_hv_min_mob): Ditto.
12446	(find_max_dv_min_mob): Ditto.
12447	* sbitmap.c (sbitmap_first_set_bit): Ditto.
12448	* sched-rgn.c (extract_edgelst): Ditto.
12449	* tree-into-ssa.c (prepare_names_to_update): Ditto.
12450	(dump_update_ssa): Ditto.
12451	(ssa_names_to_replace) Ditto.
12452	(switch_virtuals_to_full_rewrite): Ditto.
12453	(update_ssa): Ditto.
12454	* tree-vect-transform.c (vect_create_epilog_for_reduction): Ditto.
12455
124562005-07-18  Daniel Berlin  <dberlin@dberlin.org>
12457
12458	Fix PR tree-optimization/22483
12459
12460	* tree-complex.c (create_components): Use
12461	safe_referenced_var_iterator and FOR_EACH_REFERENCED_VAR_SAFE.
12462	* tree-flow-inline.h (fill_referenced_var_vec): New function.
12463	* tree-flow.h (safe_referenced_var_iterator): New structure.
12464	(FOR_EACH_REFERENCED_VAR_SAFE): New macro.
12465	* tree-ssa-alias.c (setup_pointers_and_addressables): Use
12466	safe_referenced_var iterator.
12467	(add_type_alias): Ditto.
12468
124692005-07-19  Steven Bosscher  <stevenb@suse.de>
12470
12471	* loop-init.c (rest_of_handle_loop2): Remove.
12472	(rtl_loop_init, rtl_loop_done, rtl_move_loop_invariants,
12473	rtl_unswitch, rtl_unroll_and_peel_loops, rtl_doloop): New functions.
12474	(pass_rtl_loop_init, pass_rtl_loop_done,
12475	pass_rtl_move_loop_invariants, pass_rtl_unswitch,
12476	pass_rtl_unroll_and_peel_loops, pass_rtl_doloop): New passes.
12477	* tree-ssa-loop.c (pass_loop, pass_loop_init, pass_loop_done,
12478	pass_unswitch): Rename to pass_tree_loop, pass_tree_loop_init,
12479	pass_tree_loop_done, and pass_tree_unswitch.
12480	(gate_loop): Rename to gate_tree_loop.
12481	* passes.c (init_optimization_passes): Update for renamed tree
12482	loop passes.  Add the new loop2 passes as subpasses of loop2.
12483	* tree-pass.h: Add extern declarations for the new loop2 subpasses.
12484	Update for the renamed tree loop passes.
12485
124862005-07-18  Ian Lance Taylor  <ian@airs.com>
12487
12488	PR middle-end/22057
12489	* tree-cfgcleanup.c (cleanup_tree_cfg): Only remove forwarder
12490	blocks when optimizing.
12491
124922005-07-18  Steve Ellcey  <sje@cup.hp.com>
12493
12494	* common.opt (frename-registers): Initialize to 2.
12495	(fweb): Ditto.
12496	(fgcse-after-reload): Ditto.
12497	* toplev.c (AUTODETECT_FLAG_VAR_TRACKING): Rename to AUTODETECT_VALUE.
12498	(process_options): Only change flag_web, flag_rename_registers,
12499	and flag_rerun_cse_after_loop if not explicitly set by user.
12500
125012005-07-18  Jan Beulich  <jbeulich@novell.com>
12502
12503	* config/i386/i386.c (ix86_expand_branch, ix86_expand_setcc,
12504	ix86_expand_carry_flag_compare, ix86_expand_int_movcc): Handle TImode
12505	in 64-bit mode the same as DImode in 32-bit mode.
12506	(ix86_expand_ashl_const, ix86_split_ashl, ix86_split_ashr,
12507	ix86_split_lshr): Likewise. Rename to no longer refer to a specific
12508	mode. Add new mode parameter.
12509	* config/i386/i386.h (CONST_OK_FOR_LETTER_P): Describe and handle 'O'.
12510	* config/i386/i386.md (cmpti, addti3, subti3, negti2, ashlti3, ashrti3,
12511	x86_64_shift_adj): New expanders.
12512	(*addti3_1, *subti3_1, *negti2_1, ashlti3_1, *ashlti3_2, ashrti3_1,
12513	*ashrti3_2, lshrti3_1, *lshrti3_2, x86_64_shld, x86_64_shrd): New
12514	insns.
12515	Respective new splitters. Use renamed shift splitter helpers in 32-bit
12516	DImode shift splitters.
12517	* config/i386/i386-protos.h (ix86_split_ashl, ix86_split_ashr,
12518	ix86_split_lshr): Renamed from ix86_split_[al]sh[rl]di. Added new
12519	mode parameter.
12520
125212005-07-18  Jan Beulich  <jbeulich@novell.com>
12522
12523	* i386.md (movdi_extzv_1): New.
12524	(zero_extendhidi2): Combine alternatives and never force use of
12525	REX64 prefix.
12526	(zero_extendqidi2): Likewise. Don't restrict input selection.
12527
125282005-07-17  Daniel Berlin  <dberlin@dberlin.org>
12529
12530	Fix PR tree-optimization/22531
12531	* tree-ssa-pre.c (do_eustores):  Make sure LHS is a decl for the
12532	 moment.
12533
125342005-07-17  Daniel Berlin  <dberlin@dberlin.org>
12535
12536	* tree-promote-statics.c (pass_promote_statics): Change dump file
12537	 name.
12538
125392005-07-17  Daniel Berlin  <dberlin@dberlin.org>
12540
12541	* tree-optimize.c (init_tree_optimization_passes): Add
12542	pass_eliminate_useless_stores pass.
12543	* tree-pass.h (pass_eliminate_useless_stores): New pass structure.
12544	* tree-ssa-pre.c (is_copy_stmt): New function.
12545	(follow_copies_till_vuse): Ditto.
12546	(do_eustores): Ditto.
12547	(gate_eustores): Ditto.
12548
125492005-07-16  Richard Henderson  <rth@redhat.com>
12550
12551	* gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.
12552
125532005-07-16 Danny Berlin <dberlin@dberlin.org>
12554	   Kenneth Zadeck <zadeck@naturalbridge.com>
12555
12556	* Makefile.in: Added rules for ipa-pure-const.c, ipa-reference.c,
12557	ipa-reference.h, ipa-utils.c, ipa-utils.h, ipa-type-escape.c,
12558	ipa-type-escape.h, tree-promote-statics.c
12559	* ipa-pure-const.c, ipa-reference.c, ipa-reference.h, ipa-utils.c,
12560	ipa-utils.h, ipa-type-escape.c, ipa-type-escape.h,
12561	tree-promote-statics.c: new files.
12562	* alias.c: (nonlocal_mentioned_p_1, nonlocal_mentioned_p,
12563	nonlocal_referenced_p_1, nonlocal_referenced_p, nonlocal_set_p_1,
12564	int nonlocal_set_p, mark_constant_function): Deleted.
12565	(rest_of_handle_cfg): Removed call to mark_constant_function.
12566	(nonoverlapping_component_refs_p): Added calls to support
12567	type based aliasing.
12568	* tree-ssa-alias.c (may_alias_p,
12569	compute_flow_insensitive_aliasing): Ditto.
12570	* calls.c (flags_from_decl_or_type): Removed reference to
12571	cgraph_rtl_info.
12572	* c-typeck.c (convert_arguments): Make builtins tolerant of having
12573	too many arguments.  This is necessary for Spec 2000.
12574	* cgraph.h (const_function, pure_function): Removed.
12575	* common.opt: Added "fipa-pure-const", "fipa-reference",
12576	"fipa-type-escape", and "ftree-promote-static".
12577	* opts.c: Ditto.
12578	* passes.c: Added ipa and tree-promote-statics passes.
12579	* timevar.def: Added TV_IPA_PURE_CONST, TV_IPA_REFERENCE,
12580	TV_IPA_TYPE_ESCAPE, and TV_PROMOTE_STATICS.
12581	* tree-dfa.c (referenced_var_lookup_if_exists): New function.
12582	* tree-flow.h: Added exposed sra calls and addition of
12583	reference_vars_info field for FUNCTION_DECLS.
12584	* tree-pass.h: Added passes.
12585	* tree-sra.c: (sra_init_cache): New function.
12586	(sra_insert_before, sra_insert_after) Made public.
12587	(type_can_be_decomposed_p): Renamed from type_can_be_decomposed_p
12588	and made public.
12589	* tree-ssa-alias.c (dump_alias_stats): Added stats for type based
12590	aliasing. (may_alias_p): Added code to use type escape analysis to
12591	improve alias sets.
12592	* tree-ssa-operands.c (add_call_clobber_ops): Added parameter and
12593	code to prune clobbers of static variables based on information
12594	produced in ipa-reference pass.  Changed call clobbering so that
12595	statics are not marked as clobbered if the call does not clobber
12596	them.
12597
125982005-07-16  Daniel Berlin  <dberlin@dberlin.org>
12599
12600	* tree-ssa-structalias.c (need_to_solve): Need to check for preds,
12601	too.
12602
126032005-07-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
12604
12605	* doc/install.texi (*-*-solaris2*): Document recommended version
12606	of GNU binutils and mention GNU linker problem on Solaris 10.
12607
126082005-07-16  Joseph S. Myers  <joseph@codesourcery.com>
12609
12610	PR c/22421
12611	* c-decl.c (c_build_bitfield_integer_type): New function.
12612	(finish_struct): Call it.
12613	* c-pretty-print.c (pp_c_type_specifier): Handle bit-field types.
12614
126152005-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12616
12617	* c-typeck.c (digest_init): Call 'convert_for_assignment'
12618	before returning.
12619
126202005-07-16  Jan Hubicka  <jh@suse.cz>
12621
12622	* cfg.c (update_bb_profile_for_threading): Fix profile updating.
12623	(scale_bbs_frequencies_int): Watch roundoff errors.
12624	* predict.c (return_prediction): Initialize return_stmt.
12625
126262005-07-16  Jan Hubicka  <jh@suse.cz>
12627
12628	* profile.c (rest_of_handle_branch_prob): Fix handling of estimation
12629	after RTL profiling.
12630
126312005-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
12632
12633	PR middle-end/22398
12634	* fold-const.c (build_range_check): Convert high/low to etype
12635	if we are only comparing against exp.
12636
126372005-07-13  Daniel Berlin  <dberlin@dberlin.org>
12638
12639	Fix PR tree-optimization/22376
12640	* tree-ssa-structalias.c (build_constraint_graph): We really meant
12641	special var here.
12642	(need_to_solve): New function.
12643	(compute_points_to_sets): Use it.
12644
126452005-07-15  Jan Hubicka  <jh@suse.cz>
12646
12647	* cfg.c (update_bb_profile_for_threading): More diagnostic.
12648	* tree-ssa-threadupdate.c (redirect_edges): Update profile of dup_block.
12649
126502005-07-15  Richard Guenther  <rguenther@suse.de>
12651
12652	* c-common.c (handle_flatten_attribute): New function.
12653	Add flatten function attribute.
12654	* doc/extend.texi: Document flatten function attribute.
12655	* Makefile.in (ipa-inline.o): Depend on hashtab.h.
12656	* ipa-inline.c (cgraph_find_cycles, cgraph_flatten_node):
12657	New functions.
12658	(cgraph_decide_inlining): Handle functions with flatten
12659	attribute.
12660
126612005-07-14  David Edelsohn  <edelsohn@gnu.org>
12662
12663	* config/rs6000/rs6000.md (UNSPEC_SYNC, UNSPEC_LWSYNC,
12664	UNSPEC_ISYNC, UNSPEC_SYNC_OP, UNSPEC_ATOMIC, UNSPEC_CMPXCHG,
12665	UNSPEC_XCHG, UNSPEC_AND): New.
12666	(UNSPECV_ATOMIC, UNSPECV_SYNC, UNSPECV_SYNC_OP, UNSPECV_CMPXCHG,
12667	UNSPECV_LWSYNC, UNSPECV_ISYNC): Delete.
12668	* config/rs6000/sync.md (FETCHOP): New code macro.
12669	(fetchop_name, fetchop_pred, fetchopsi_constr, fetchopdi_constr):
12670	New code attrs.
12671	(memory_barrier, sync_internal): Use unspec instead of unspec_volatile.
12672	(sync_compare_and_swap<mode>): Same.
12673	(sync_lock_test_and_set<mode>): Same.
12674	(sync_<fetchop><mode>, sync_nand<mode>): Only use rs6000_emit_sync
12675	for QImode and HImode, and not PPC405.
12676	(sync_old_<fetchop><mode>, sync_old_nand<mode>): Same.
12677	(sync_new_<fetchop><mode>, sync_new_nand<mode>): Same.
12678	(sync_<fetchop>{si,di}_internal): New.
12679	(sync_nand{si,di}_internal): New.
12680	(sync_old_<fetchop>{si,di}_internal): New.
12681	(sync_old_nand{si,di}_internal): New
12682	(sync_new_<fetchop>{si,di}_internal): New.
12683	(sync_new_nand{si,di}_internal): New.
12684	(atomic_and{si,di}): New.
12685	(sync_new_nand{si,di}_internal): New.
12686	(atomic_and{si,di}): New.
12687	(sync_add<mode>_internal): Delete.
12688	(sync_addshort_internal): Use unspec instead of unspec_volatile.
12689	(sync_sub<mode>_internal): Delte.
12690	(sync_subshort_internal): New.
12691	(sync_andsi_internal): Use unspec instead of unspec_volatile.
12692	(sync_anddi_internal): Delete.
12693	(sync_boolsi_internal): Use unspec instead of unspec_volatile.
12694	(sync_booldi_internal): Delete.
12695	(sync_boolc<mode>_internal): Delete.
12696	(sync_boolcshort_internal): Use unspec instead of unspec_volatile.
12697	(sync_boolc<mode>_internal2): Delete.
12698	(sync_boolcc<mode>_internal): Delete.
12699	(isync, lwsync): Use unspec instead of unspec_volatile.
12700	* config/rs6000/rs6000.c (rs6000_emit_sync): Implement MINUS.
12701	Revert UNSPEC_VOLATILE.
12702	(rs6000_split_atomic_op): New.
12703	* config/rs6000/rs6000-protos.h (rs6000_split_atomic_op): Declare.
12704
127052005-07-14  Eric Christopher  <echristo@redhat.com>
12706
12707	* config/mips/mips.c (mips_canonicalize_comparison): Cast
12708	argument of trunc_int_for_mode to unsigned HOST_WIDE_INT.
12709
127102005-07-14  Eric Christopher  <echristo@redhat.com>
12711
12712	* config/s390/t-tpf (SHLIB_MAPFILES): Remove.
12713
127142005-07-14  Steven Bosscher  <stevenb@suse.de>
12715
12716	PR tree-optimization/22230
12717	* tree-vrp.c (extract_range_from_binary_expr): Fix logics thinko in
12718	the computation of the four cross productions for "range op range".
12719
127202005-07-14  Alexandre Oliva  <aoliva@redhat.com>
12721	    Ulrich Weigand  <uweigand@de.ibm.com>
12722
12723	PR target/20126
12724	* loop.c (loop_givs_rescan): Do not ICE if unable to reduce an IV
12725	in some insn.
12726
127272005-07-14  Ulrich Weigand  <uweigand@de.ibm.com>
12728
12729	* config/s390/s390.h (TARGET_TPF_PROFILING): Add default definition.
12730
127312005-07-14  Steve Ellcey  <sje@cup.hp.com>
12732
12733	* config/ia64/ia64.c (ia64_output_dwarf_dtprel): Support ILP32 mode.
12734
127352005-07-14  Richard Guenther  <rguenther@suse.de>
12736
12737	PR middle-end/22347
12738	* config/i386/i386-protos.h (ix86_function_value): Change
12739	prototype to match new target hook.
12740	* config/i386/i386.c (ix86_value_regno): Change prototype
12741	to take extra type argument.
12742	(TARGET_FUNCTION_VALUE): Define.
12743	(ix86_function_ok_for_sibcall): Pass extra argument to
12744	ix86_value_regno, check return slot rtx for exact match.
12745	(ix86_function_value): Take extra parameter.  Dispatch to
12746	ix86_value_regno with fndecl/fntype as provided.
12747	(ix86_value_regno): Handle extra type argument.
12748	* config/i386/i386.h (FUNCTION_VALUE): No longer define.
12749
12750	* testsuite/gcc.target/i386/sseregparm-3.c: New testcase.
12751	* testsuite/gcc.target/i386/sseregparm-4.c: New testcase.
12752	* testsuite/gcc.target/i386/sseregparm-5.c: New testcase.
12753	* testsuite/gcc.target/i386/sseregparm-6.c: New testcase.
12754	* testsuite/gcc.target/i386/sseregparm-7.c: New testcase.
12755
127562005-07-14  Richard Guenther  <rguenther@suse.de>
12757
12758	* Makefile.in (explow.o, reg-stack.o): Depend on target.h.
12759	* calls.c (expand_call): Pass fntype to hard_function_value.
12760	(emit_library_call_value_1): Likewise.
12761	* explow.c: Include target.h.
12762	(hard_function_value): Take extra argument, the fntype.
12763	Use new target hook for function_value.
12764	* expr.h (hard_function_value): Change prototype.
12765	* function.c (aggregate_value_p): Pass 0 as fntype to
12766	hard_function_value.
12767	(assign_parms): Use new target hook for function_value.
12768	Pass 0 as fntype to hard_function_value.
12769	(expand_function_end): Likewise.
12770	* reg-stack.c: Include target.h.
12771	(stack_result): Use new target hook for function_value.
12772	* target-def.h: New target hook function_value.
12773	* target.h: Likewise.
12774	* targhooks.c (default_function_value): New function.
12775	* targhooks.h (default_function_value): Declare.
12776
127772005-07-13  Ian Lance Taylor  <ian@airs.com>
12778
12779	* config/mips/mips.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
12780
127812005-07-14  Jan Hubicka  <jh@suse.cz>
12782
12783	* tree-dfa.c (dump_variable): Use default_def function.
12784	* tree-ssa-alias.c (dump_points_to_info): Likewise.
12785	* tree-ssa.c (verify_use): Likewise.
12786	* tree-ssanames.c (release_ssa_name): Likewise.
12787	* tree-tailcall.c (eliminate_tail_call): Likewise.
12788	(tree_optimize_tail_calls_1): Likewise.
12789	* tree-vrp.c (get_value_range): Likewise.
12790
127912005-07-14  Ben Elliston  <bje@au.ibm.com>
12792
12793	* gcc.c (main): Compare language[0] with '*' when iterating over
12794	the infiles.
12795
127962005-07-13  Adrian Strae½tling  <straetling@de.ibm.com>
12797
12798	* config/s390/s390.c: (s390_cc_modes_compatible): Move before
12799	"s390_emit_compare".  Add handling of CCZ1mode.
12800	(s390_canonicalize_comparison): Simplify cascaded EQ, NE.
12801	(390_emit_compare): Use "s390_cc_modes_compatible" for mode
12802	checking.
12803	(s390_branch_condition_mask): Add CCZ1mode handling.
12804	* config/s390/s390.md: ("seq", "*seq"): New pattern.
12805	("sync_compare_and_swap_cc<mode>", "*sync_compare_and_swap_cc<mode>"):
12806	Use CCZ1mode instead of CCZmode.
12807	* config/s390/s390-modes.def: Add CCZ1mode.  Comment new mode.
12808
128092005-07-13  Adrian Strae½tling  <straetling@de.ibm.com>
12810
12811	* config/s390/s390.md: ("cmpstrsi", "*cmpstr<mode>"): New
12812	pattern.
12813	("strlen<mode>", "*strlen<mode>"): Use hard reg 0 in SImode.
12814
128152005-07-13  Eric Christopher  <echristo@redhat.com>
12816
12817	* config/mips/mips.c (mips_canonicalize_comparison): New.
12818	(mips_emit_int_relational): Use.
12819
128202005-07-13  Eric Christopher  <echristo@redhat.com>
12821
12822	* config.gcc (s390x-ibm-tpf*): Add extra_options. Remove
12823	static extra parts.
12824	* config/s390/s390.md: Include tpf.md. Move tpf specific
12825	patterns...
12826	* config/s390/tpf.md: To here.
12827	* config/s390/s390.opt: Move tpf specific options...
12828	* config/s390/tpf.opt: to here. Add mmain option.
12829	* config/s390/tpf-unwind.h: Remove unnecessary defines.
12830	* config/s390/tpf.h: Rewrite.
12831
128322005-07-13  H.J. Lu  <hongjiu.lu@intel.com>
12833
12834	* doc/tm.texi: Remove @xref{Cross-profiling}.
12835
128362005-07-13  Jeff Law  <law@redhat.com>
12837
12838	* fold-const.c (fold_binary): When comparing two simple ADDR_EXPR
12839	expressions, test their _DECL operands for pointer equality rather
12840	than using operand_equal_p.
12841
128422005-07-13  H.J. Lu  <hongjiu.lu@intel.com>
12843
12844	* config/alpha/linux.h (TARGET_HAS_F_SETLKW): Renamed to ...
12845	(TARGET_POSIX_IO): This.
12846	* config/darwin.h: Likewise.
12847	* config/freebsd.h: Likewise.
12848	* config/linux.h: Likewise.
12849	* config/lynx.h: Likewise.
12850	* config/netbsd.h: Likewise.
12851	* config/rs6000/linux64.h: Likewise.
12852	* config/rs6000/linux.h: Likewise.
12853	* config/s390/tpf.h: Likewise.
12854	* config/sh/embed-elf.h: Likewise.
12855	* config/sparc/linux64.h: Likewise.
12856	* config/sparc/linux.h: Likewise.
12857	* config/svr4.h: Likewise.
12858	* gcov-io.h: Likewise.
12859
12860	* doc/tm.texi: Updated.
12861
12862	* libgcov.c (create_file_directory): Defined only if
12863	TARGET_POSIX_IO is defined.
12864	(gcov_exit): Call create_file_directory only if TARGET_POSIX_IO
12865	is defined.
12866
128672005-07-13  Jan Hubicka  <jh@suse.cz>
12868
12869	* tree-ssa-operands.c (get_expr_operands): Fix typo in previous patch.
12870
128712005-07-13  David Edelsohn  <edelsohn@gnu.org>
12872
12873	* tree-ssa-dom.c (lookup_avail_expr): Do not pass member in freed
12874	structure as argument.
12875
128762005-07-13  Paolo Bonzini  <bonzini@gnu.org>
12877
12878	PR tree-optimization/21921
12879	* tree-iterator.c (tsi_link_before): Support the case when
12880	tsi_end_p (tsi) == true.
12881
128822005-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
12883
12884	PR tree-optimization/22442
12885	* tree-chrec.c (chrec_fold_multiply_poly_poly): Associate chrecs
12886	correctly.
12887
128882005-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
12889
12890	PR rtl-optimization/20376
12891	* toplev.c (process_options): Enable -fweb and -frename-registers when
12892	unrolling.
12893	* doc/invoke.texi: Update the information about when -fweb and
12894	-frename-registers are enabled.
12895
128962005-07-12  Andrew Pinski  <pinskia@physics.uc.edu>
12897
12898	PR tree-opt/21840
12899	* tree-ssa-pre.c (eliminate): Convert the sprime to the correct type
12900	if *rhs_p is not a SSA_NAME.
12901
129022005-07-12  Daniel Berlin  <dberlin@dberlin.org>
12903
12904	Fix PR tree-optimization/22422
12905	* tree-ssa-structalias.c (struct variable_info): Add flag for
12906	special vars.
12907	(get_varinfo): Now a static function.
12908	(new_varinfo): init has_union and is_special_var to false.
12909	(solution_set_add): Check has_union.
12910	(do_da_constraint): Move temporary variable so it gets reset
12911	properly.
12912	Also check for special variable.
12913	(do_ds_constraint): Ditto.
12914	(do_sd_constraint): Ditto.
12915	(do_structure_copy): Check for special variable.
12916	(find_func_aliases): Ditto.
12917	(init_base_vars): Set special vars properly.
12918
129192005-07-13  Jan Hubicka  <jh@suse.cz>
12920
12921	* cfgexpand.c (expand_one_stack_var): Do not expand variables when we
12922	do unit-at-a-time.
12923
12924	* tree-ssa-operands.c (parse_ssa_operands): Fix formatting.
12925	(get_expr_operands): Fix thinko wrt flags and subvars.
12926
12927	PR tree-optimize/22379
12928	* tree-inline.c (expand_call_inline): Do not output sorry in early
12929	inlining.
12930
129312005-07-12  Dale Johannesen  <dalej@apple.com>
12932
12933	* config/rs6000.c (rs6000_rtx_cost):  Move FLOAT_EXTEND.
12934
129352005-07-12  Andrew Pinski  <pinskia@physics.uc.edu>
12936
12937	PR bootstrap/21704
12938	* host-linux.h: Include limits.h.
12939
129402005-07-12  Dale Johannesen  <dalej@apple.com>
12941
12942	* expr.c (compress_float_constant):  Add cost check.
12943	* config/rs6000.c (rs6000_rtx_cost):  Adjust FLOAT_EXTEND cost.
12944
129452005-07-12  Dale Johannesen  <dalej@apple.com>
12946
12947	* gcc.target/i386/compress-float-sse.c:  New.
12948	* gcc.target/i386/compress-float-sse-pic.c:  New.
12949	* gcc.target/i386/compress-float-387.c:  New.
12950	* gcc.target/i386/compress-float-387-pic.c:  New.
12951	* gcc.dg/compress-float-ppc.c:  New.
12952	* gcc.dg/compress-float-ppc-pic.c:  New.
12953
129542005-07-12  Eric Christopher  <echristo@redhat.com>
12955
12956	* config.gcc (s390x-ibm-tpf*): Add extra_options. Remove
12957	static extra parts.
12958	* config/s390/s390.md: Include tpf.md. Move tpf specific
12959	patterns...
12960	* config/s390/tpf.md: To here.
12961	* config/s390/s390.opt: Move tpf specific options...
12962	* config/s390/tpf.opt: to here. Add mmain option.
12963	* config/s390/tpf-unwind.h: Remove unnecessary defines.
12964	* config/s390/tpf.h: Rewrite.
12965
129662005-07-12  Eric Christopher  <echristo@redhat.com>
12967
12968	* gcc.c (struct infile): Update comment for language.
12969	(main): Rewrite input file resetting code.
12970
129712005-07-12  Andrew Pinski  <pinskia@physics.uc.edu>
12972
12973	PR tree-opt/22335
12974	* tree-ssa-dom.c (eliminate_redundant_computations): Reject the prop if
12975	requiring a cast in a non RHS of modify_expr.  Add a cast when required.
12976	(lookup_avail_expr): Use constant_boolean_node instead
12977	of boolean_false_node/boolean_true_node.
12978
129792005-07-12  Ben Elliston  <bje@au.ibm.com>
12980
12981	* tree-cfg.c (dump_cfg_stats): Add a new fmt_str_2 format string
12982	and use it when printing num_edges.
12983
129842005-07-12  Bernd Schmidt  <bernd.schmidt@analog.com>
12985
12986	* doc/extend.texi (Blackfin Built-in Functions): New section.
12987	* doc/invoke.texi (mcsync-anomaly, mno-csync-anomaly): Fix the
12988	@opindex.
12989
129902005-07-12  Adrian Straetling  <straetling@de.ibm.com>
12991
12992	* builtins.c: (expand_builtin_memcmp, expand_builtin_strncmp):
12993	s/cmpstrsi/cmpstrnsi
12994	(expand_builtin_strcmp): Rewrite to support both 'cmpstrsi' and
12995	'cmpstrnsi'.
12996	* optabs.c: (prepare_cmp_insn): Add availability of 'cmpstrn'.
12997	(init_optabs): Initialize cmpstrn_optab.
12998	* optabs.h: (enum insn_code cmpstrn_optab): Declare.
12999	* genopinit.c: (optabs[]): Add 'cmpstrn' to initialisation.
13000	* expr.c: (enum insn_code cmpstrn_optab): Declare.
13001	* config/i386/i386.md: s/cmpstr/cmpstrn
13002	* config/c4x/c4x.md: s/cmpstr/cmpstrn
13003	* doc/md.texi: Update documentation.
13004
130052005-07-11  Richard Henderson  <rth@redhat.com>
13006
13007	* config/alpha/alpha.c (alpha_gimplify_va_arg_1): Use
13008	build_va_arg_indirect_ref.
13009	(alpha_gimplify_va_arg): Likewise.
13010	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
13011	* config/i860/i860.c (i860_gimplify_va_arg_expr): Likewise.
13012	* config/mips/mips.c (mips_gimplify_va_arg_expr): Likewise.
13013	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
13014	* config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise.
13015	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg):
13016	Likewise.
13017	* config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise.
13018
130192005-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
13020
13021	* tree-flow.h (remove_empty_loops, single_dom_exit): Declare.
13022	* passes.c (init_optimization_passes): Add pass_empty_loop.
13023	* tree-pass.h (pass_empty_loop): Declare.
13024	* tree-ssa-loop-ivcanon.c (empty_loop_p, remove_empty_loop,
13025	try_remove_empty_loop, remove_empty_loops): New functions.
13026	* tree-ssa-loop-ivopts.c (single_dom_exit): Export.
13027	* tree-ssa-loop.c (tree_ssa_empty_loop, pass_empty_loop): New.
13028
130292005-07-12  Peter Barada  <peter@the-baradas.com>
13030
13031	PR middle-end/16719
13032	PR middle-end/18421
13033	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Disallow bytes
13034	in address registers.
13035	* config/m68k/m68k.c (hard_regno_mode_ok): Likewise.
13036	* config/m68k/m68k.md: Replace 's' with 'i' in 4th
13037	alternative of addsi3_5200.
13038
130392005-07-11  Ian Lance Taylor  <ian@airs.com>
13040
13041	* config/mips/mips.md (ffs<mode>2): Remove.
13042
130432005-07-11  Ian Lance Taylor  <ian@airs.com>
13044
13045	* doc/tree-ssa.texi (Cleanups): Improve description of
13046	TRY_FINALLY_EXPR.
13047	(GIMPLE Exception Handling): Clarify TRY_CATCH_EXPR cases.
13048
130492005-07-11  Daniel Berlin  <dberlin@dberlin.org>
13050
13051	* print-tree.c (print_node): Use DECL_ARGUMENT_FLD.
13052	* tree.h (DECL_ARGUMENT_FLD): New macro.
13053
130542005-07-11  Daniel Berlin  <dberlin@dberlin.org>
13055
13056	Fix PR tree-optimization/22404
13057
13058	* tree-ssa-structalias.c (create_variable_info_for): Use
13059	correct offset.
13060
130612005-07-11  Bernd Schmidt  <bernd.schmidt@analog.com>
13062
13063	* config/bfin/bfin.md (cmpsi, compare_eq, compare_ne, compare_lt,
13064	compare_le, compare_leu, compare_ltu): Use reg_or_const_int_operand
13065	for second comparison operand.
13066	* config/bfin/predicates.md (reg_or_const_int_operand): New.
13067
13068	* config/bfin/bfin.md (define_attr "type"): Add "sync".
13069	(define_insn_reservation "alu"): Likewise.
13070	(csync, ssync): Now of type sync.
13071	* config/bfin/bfin.h (TARGET_DEFAULT): Defaults to
13072	-mcsync-anomaly -mspecld-anomaly.
13073	* config/bfin/bfin.opt (mcsync): Remove.
13074	(mcsync-anomaly, mspecld-anomaly): Add.
13075	* config/bfin/bfin.c: Include "insn-codes.h".
13076	(bfin_reorg): Extend to handle the CSYNC anomaly as well.
13077	(TARGET_DEFAULT_TARGET_FLAGS): New.
13078	* doc/invoke.texi: Document -mcsync-anomaly, -mspecld-anomaly.
13079
130802005-07-11  Steven Bosscher  <stevenb@suse.de>
13081
13082	* basic-block.h: Give the BB flags enum a name, bb_flags.
13083	Add new flags BB_FORWARDER_BLOCK, and BB_NONTHREADABLE_BLOCK.
13084	* cfgcleanup.c (enum bb_flags): Remove here.
13085	(BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG): Remove.
13086	(notice_new_block): Set/test bb->flags instead of aux via BB_FLAGS.
13087	(update_forwarder_flag): Likewise.
13088	(thread_jump): Likewise.
13089	(try_forward_edges): Likewise.
13090	(try_optimize_cfg): Likewise.  Clear bb->flags before updating the
13091	forwarder flags.  Don't clear bb->aux for all basic blocks.  Only
13092	reset the BB_FORWARDER_BLOCK and BB_NONTHREADABLE_BLOCK flags.
13093
130942005-07-11  Richard Guenther  <rguenther@suse.de>
13095
13096	* config/i386/i386.opt: New target option -msseregparm.
13097	* config/i386/i386.c (override_options): Error out for
13098	-msseregparm but no SSE support.
13099	(ix86_function_sseregparm): Check for global sseregparm.
13100	* doc/invoke.texi: Document -msseregparm.
13101
131022005-07-11  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
13103
13104	* config.gcc (m32r-*-linux*): Use the default extra_parts.
13105	(m32rle-*-linux*): Ditto.
13106
131072005-07-11  Jakub Jelinek  <jakub@redhat.com>
13108
13109	* cfgexpand.c (stack_protect_classify_type): Use TYPE_SIZE_UNIT (type)
13110	instead of TYPE_MAX_VALUE (TYPE_DOMAIN (type)) to get array size in
13111	bytes.
13112
131132005-07-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
13114
13115	PR middle-end/22239
13116	PR target/20126
13117	* loop.c (loop_givs_rescan): Use expand_simple_binop instead of
13118	gen_rtx_MINUS to handle non-replaceable (plus ((x) (const)).
13119
131202005-07-07  Daniel Berlin  <dberlin@dberlin.org>
13121
13122	* tree-ssa-structalias.c (struct variable_info): Heapify complex.
13123	(varmap): Heapify varmap.
13124	(constraints): Heapify constraints.
13125	(struct constraint_graph): Heapify succs and preds.
13126	(constraint_vec_find): Update for heapification.
13127	(constraint_set_union): Ditto.
13128	(insert_into_complex): Ditto.
13129	(constraint_edge_vec_find): Ditto.
13130	(erase_graph_self_edge): Ditto.
13131	(add_graph_edge): Ditto.
13132	(get_graph_weights): Ditto.
13133	(merge_graph_nodes): Ditto.
13134	(build_constraint_graph): Ditto.
13135	(topo_visit): Ditto.
13136	(solve_graph): Ditto.
13137	(create_variable_info_for): Ditto.
13138	(init_base_vars): Ditto.
13139	(delete_points_to_sets): Free graph, varmap, and complex constraints.
13140	(condese_varmap_nodes): Free complex vector.
13141	(clear_edges_for_node): Clear succs and preds vector.
13142
131432005-07-10  Daniel Berlin  <dberlin@dberlin.org>
13144
13145	* tree-ssa-structalias.c (update_alias_info): Change counting of
13146	references to not include vdefs.
13147
131482005-07-10  Daniel Berlin  <dberlin@dberlin.org>
13149
13150	* tree-ssa-alias.c (free_used_part_map): Add missing free.
13151	(up_insert): Ditto.
13152
131532005-07-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
13154
13155	* pa.c (pa_commutative_p): Make PLUS commutative when
13156	TARGET_NO_SPACE_REGS is true.
13157
131582005-07-09  Diego Novillo  <dnovillo@redhat.com>
13159
13160	* Makefile.in (tree-ssa-alias.o): Depend on tree-ssa-structalias.h
13161	* tree-cfg.c (CHECK_OP): Only test for is_gimple_val.
13162	* tree-dfa.c (dump_subvars_for): New.
13163	(debug_subvars_for): New.
13164	(dump_variable): Show subvariables if VAR has them.
13165	* tree-flow-inline.h (get_subvar_at): New.
13166	(overlap_subvar): Change offset and size to unsigned HOST_WIDE_INT.
13167	* tree-flow.h (struct ptr_info_def): Remove field pt_malloc.
13168	Update all users.
13169	(struct subvar): Change fields offset and size to unsigned
13170	HOST_WIDE_INT.
13171	(dump_subvars_for): Declare.
13172	(debug_subvars_for): Declare.
13173	(get_subvar_at): Declare.
13174	(okay_component_ref_for_subvars): Change 2nd and 3rd argument
13175	to unsigned HOST_WIDE_INT *.
13176	(overlap_subvar): Likewise.
13177	* tree-gimple.c (is_gimple_reg): Always return false for
13178	SFTs and memory tags.
13179	* tree-pass.h (pass_build_pta, pass_del_pta): Remove.
13180	Update all callers.
13181	* tree-ssa-alias.c: Include tree-ssa-structalias.h.
13182	(compute_may_aliases): Call compute_points_to_sets.
13183	(collect_points_to_info_for): Remove.
13184	(compute_points_to_and_addr_escape): Remove.
13185	(delete_alias_info): Call delete_points_to_sets.
13186	(compute_flow_sensitive_aliasing): If the call to
13187	find_what_p_points_to returns false, call set_pt_anything.
13188	(add_may_alias): Set TREE_ADDRESSABLE when adding a new alias.
13189	(set_pt_anything): Clear pi->pt_vars.
13190	(set_pt_malloc): Remove.
13191	(merge_pointed_to_info): Remove.
13192	(add_pointed_to_expr): Remove.
13193	(add_pointed_to_var): Remove.
13194	(collect_points_to_info_r): Remove.
13195	(is_escape_site): Make extern.
13196	(create_sft): New.
13197	(create_overlap_variables_for): Call it.
13198	* tree-ssa-copy.c (merge_alias_info): Never merge
13199	flow-sensitive alias information.
13200	* tree-ssa-operands.c (get_expr_operands): Adjust variables
13201	offset and size to be unsigned HOST_WIDE_INT.
13202	(add_to_addressable_set): Rename from note_addressable.
13203	Set TREE_ADDRESSABLE as the variables are added to the set.
13204	Update all users.
13205	(add_stmt_operand): Do not try to micro-optimize unmodifiable
13206	operands into VUSEs when adding V_MAY_DEFs for members in an
13207	alias set.
13208	* tree-ssa-operands.h (add_to_addressable_set): Declare.
13209	* tree-ssa-structalias.c: Include tree-ssa-structalias.h last.
13210	(struct variable_info): Add bitfield is_heap_var.
13211	(var_anyoffset, anyoffset_tree, anyoffset_id): Declare.
13212	(new_var_info): Initialize is_heap_var.
13213	(get_constraint_for): Add HEAP variables to the symbol table.
13214	Mark them with is_heap_var.
13215	(update_alias_info): New.  Taken mostly from the old
13216	compute_points_to_and_addr_escape.
13217	(handle_ptr_arith): New.
13218	(find_func_aliases): Call update_alias_info.
13219	Call handle_ptr_info for tcc_binary expressions.
13220	Call mark_stmt_modified.
13221	(create_variable_info_for): If DECL has subvars, do not create
13222	variables for its subvars.  Always add all the fields.
13223	(set_uids_in_ptset): If the solution includes ANYOFFSET and
13224	SFTs, then add all the SFTs of the structure.
13225	If VI->DECL is an aggregate with subvariables, add the SFT at
13226	VI->OFFSET.
13227	(find_what_p_points_to): If VI is an artificial variable,
13228	translate to bitfields in SSA_NAME_PTR_INFO.
13229	If the solution is empty, set pi->pt_vars to NULL
13230	(init_base_vars): Create ANYOFFSET.
13231	(compute_points_to_sets): Rename from create_alias_vars.
13232	Make extern.
13233	(pass_build_pta): Remove.
13234	(delete_points_to_sets): Rename from delete_alias_vars.
13235	(pass_del_pta): Remove.
13236	* tree-ssa-structalias.h (struct alias_info): Move from
13237	tree-ssa-alias.h.
13238	(NUM_REFERENCES, NUM_REFERENCES_CLEAR, NUM_REFERENCES_INC,
13239	NUM_REFERENCES_SET): Likewise.
13240	(compute_points_to_sets, delete_points_to_sets): Declare.
13241
132422005-07-09  Richard Henderson  <rth@redhat.com>
13243
13244	* config/alpha/alpha.c (emit_insxl, alpha_expand_compare_and_swap_12,
13245	alpha_split_compare_and_swap_12, alpha_expand_lock_test_and_set_12,
13246	alpha_split_lock_test_and_set_12): New functions.
13247	* config/alpha/alpha-protos.h: Update.
13248	* config/alpha/alpha.md (UNSPEC_MB, UNSPEC_ATOMIC,
13249	UNSPEC_CMPXCHG, UNSPEC_XCHG): Rename from UNSPECV_FOO.
13250	* config/alpha/sync.md (I12MODE): New.
13251	(memory_barrier, mb_internal): Use unspec instead of unspec_volatile.
13252	(sync_<fetchop_name><I48MODE>): Likewise.
13253	(sync_nand<I48MODE>): Likewise.
13254	(sync_old_<fetchop_name><I48MODE>): Likewise.
13255	(sync_new_<fetchop_name><I48MODE>): Likewise.
13256	(sync_old_nand<I48MODE>, sync_new_nand<I48MODE>): Likewise.
13257	(sync_compare_and_swap<I48MODE>): Likewise.
13258	(sync_lock_test_and_set<I48MODE>): Likewise.
13259	(sync_compare_and_swap<I12MODE>): New.
13260	(sync_compare_and_swap<I12MODE>_1): New.
13261	(sync_lock_test_and_set<I12MODE>): New.
13262	(sync_lock_test_and_set<I12MODE>_1): New.
13263
132642005-07-09  Diego Novillo  <dnovillo@redhat.com>
13265
13266	PR 21356
13267	PR 22332
13268	* passes.c (execute_todo): Cleanup the CFG before updating SSA.
13269
132702005-07-09  Jakub Jelinek  <jakub@redhat.com>
13271
13272	* config/i386/i386.c (output_set_got): Don't omit OFFSET FLAT:
13273	in Intel syntax add %reg, OFFSET FLAT:_GLOBAL_OFFSET_TABLE_+(.-.Lx).
13274
132752005-07-09  Richard SAndiford  <richard@codesourcery.com>
13276
13277	PR target/21656
13278	* config/mips/elf.h (NO_IMPLICIT_EXTERN_C): Define.
13279
132802005-07-08  David Edelsohn  <edelsohn@gnu.org>
13281
13282	* config/rs6000/sync.md (load_locked_<mode>): Use Z for
13283	memory_operand constraint.
13284	(store_conditional_<mode>): Same.
13285	(sync_compare_and_swap<mode>): Same.
13286	(sync_lock_test_and_set<mode>): Same.
13287
132882005-07-08  Hans-Peter Nilsson  <hp@axis.com>
13289
13290	Rewrite PIC support to more closely model actual instructions.
13291	* config/cris/cris-protos.h (cris_gotless_symbol, cris_got_symbol)
13292	(cris_symbol): Remove prototypes for removed functions.
13293	(cris_pic_symbol_type_of, cris_valid_pic_const)
13294	(cris_expand_pic_call_address): Prototypes for new functions.
13295	* config/cris/cris/cris.c (cris_pic_sympart_only): Remove unused
13296	variable.
13297	(cris_print_operand) <case 'v', 'P'>: Remove cases for unused
13298	modifiers.
13299	<case ':'>: Add case for new punctuation character.
13300	<case 'd'>: Temporarily set flag_pic = 2 instead of incorrectly
13301	emitting (extra) PIC modifier.
13302	<case UNSPEC>: Do not assert for PLT.
13303	(cris_initial_frame_pointer_offset, cris_simple_epilogue)
13304	(cris_expand_prologue, cris_expand_epilogue): Check
13305	for pic_offset_table_rtx usage instead of taking
13306	current_function_uses_pic_offset_table as the final word.
13307	(cris_rtx_costs, cris_address_cost, cris_side_effect_mode_ok):
13308	Remove flag_pic difference.
13309	(cris_valid_pic_const, cris_pic_symbol_type_of): New functions,
13310	the moral equivalents of...
13311	(cris_symbol, cris_gotless_symbol, cris_got_symbol): Remove
13312	functions.
13313	(cris_legitimate_pic_operand): Just call cris_valid_pic_const.
13314	(cris_handle_option): Mark ARG as unused.
13315	(cris_expand_pic_call_address): New worker function for "call",
13316	"call_value".
13317	(cris_asm_output_symbol_ref, cris_asm_output_label_ref): Do not
13318	output PIC constructs here.
13319	(cris_output_addr_const_extra): Changes for emitting PIC modifiers
13320	as symbol-specific modifers, not whole or part of operands.
13321	* config/cris/cris/cris.h (EXTRA_CONSTRAINT): Remove 'U' case.
13322	(EXTRA_CONSTRAINT_S): Changed semantics: allow only CONST-wrapped
13323	constants and flag_pic.
13324	(CONSTANT_INDEX_P): Adjust for new functions.
13325	(enum cris_pic_symbol_type): New helper type.
13326	(PRINT_OPERAND_PUNCT_VALID_P): Add ':'.
13327	* config/cris/cris/cris.md (CRIS_UNSPEC_GOTREL)
13328	(CRIS_UNSPEC_GOTREAD, CRIS_UNSPEC_PLTGOTREAD): New
13329	define_constants.
13330	("movsi"): Emit actual instructions for GOT and relative access.
13331	("*movsi_got_load"): New pattern to set up the register holding
13332	the GOT pointer.
13333	("*movsi_internal"): Operand 1 is not a plain general_operand.
13334	Adjust FIXME for 'S'.
13335	<output for 'S' alternative>: Sanity-check UNSPEC types for PIC.
13336	Use "movs" for -fpic cases.
13337	("addsi3"): Add alternative for 'S'; use adds.w when possible.
13338	("uminsi3","*expanded_call_value"): Remove 'S' alternative.
13339	("call", "call_value"): Just call cris_expand_pic_call_address for
13340	PIC addresses.
13341	("*expanded_call_no_gotplt", "*expanded_call_value_no_gotplt"):
13342	Remove special pattern.
13343	("*expanded_call_side", "*expanded_call_value_side"): New
13344	patterns.
13345	(gotplt-to-plt, gotplt-to-plt-side-call)
13346	(gotplt-to-plt-side-call-value, gotplt-to-plt-side): New
13347	peephole2:s.
13348	* config/cris/cris/predicates.md
13349	("cris_general_operand_or_gotless_symbol"): Remove unused
13350	predicate.
13351	("cris_general_operand_or_symbol"): Adjust for new functions.
13352
133532005-07-08  Andrew Pinski  <pinskia@physics.uc.edu>
13354
13355	* config/darwin.h (TARGET_C99_FUNCTIONS): Define to 1.
13356
133572005-07-08  Daniel Berlin  <dberlin@dberlin.org>
13358
13359	* Makefile.in (TREE_H): Add treestruct.def.
13360	(c-decl.o): Add pointer-set.h
13361	* c-decl.c (diagnose_mismatched_decls): Don't attempt to look at
13362	visibility on regular DECL's.
13363	(merge_decls): Fix the copying of decl nodes of various types for
13364	the new structures.  Don't update RTL, section name, weak status,
13365	etc, on DECL's without RTL.
13366	(grokdeclarator): DECL_ARG_TYPE_AS_WRITTEN is gone.
13367	Don't check volatile on non-variable types.
13368	(store_parm_decls_oldstyle): Use pointer_set instead of DECL_WEAK
13369	to check whether we have seen arguments.
13370	* c-objc-common.c (c_tree_printer): Reverse order of tests so that
13371	flag is checked before field (flag is common, field is not).
13372	* dwarf2out.c (decl_ultimate_origin):  Only DECL's with
13373	TS_DECL_COMMON could have an origin.
13374	(add_location_or_const_value_attribute): Don't check section name
13375	on non-var/function decls.
13376	(dwarf2out_var_location): Reverse order of tests.
13377	* emit-rtl.c (set_reg_attrs_for_parm): DECL_CHECK is dead, replace
13378	with DECL_WRTL_CHECK.
13379	* expmed.c (make_tree): rtl is now in decl_with_rtl.
13380	* fold-const.c (fold_binary): Don't check weakness on
13381	non-var/function decls.
13382	(tree_expr_nonzero_p): Ditto.
13383	(fold_checksum_tree): Use tree_decl_extra as sizeof
13384	buffer.
13385	* ggc-page.c (extra_order_size_table): Add sizes for
13386	tree_decl_non_common, tree_parm_decl,  tree_var_decl, and
13387	tree_field_decl.
13388	* gimplify.c (gimplify_bind_expr): Only set
13389	DECL_SEEN_IN_BIND_EXPR_P on VAR_DECL.
13390	* integrate.c (copy_decl_for_inlining): Don't set RTL on decl's
13391	without RTL.
13392	* langhooks-def.h (LANG_HOOK_INIT_TS): New.
13393	* langhooks.h (init_ts). New langhook.
13394	* passes.c (rest_of_decl_compilation): Reverse order of tests.
13395	* print-tree.c (print_node): Update to only print fields that
13396	exist in the structures the passed decl has.
13397	* toplev.c (wrapup_global_declarations): Don't reset
13398	DECL_DEFER_OUTPUT on DECL's that don't contain it.
13399	* tree-browser.c (browse_tree): DECL_ARG_TYPE_AS_WRITTEN removed.
13400	* tree-inline.c (remap_decl): Ditto.
13401	* tree-outof-ssa.c (create_temp): Reverse order of tests.
13402	* tree-pretty-print.c (print_declaration): Don't print
13403	DECL_REGISTER on things that don't contain it.
13404	* tree-vrp.c (expr_computes_nonzero): Don't check weakness on
13405	non-var/function decls.
13406	* tree.c (tree_contains_struct): New structure.
13407	(init_priority_for_decl): New hashtable.
13408	(tree_int_map): New structure.
13409	(tree_int_map_eq): New function.
13410	(tree_int_map_marked_p): Ditto.
13411	(tree_int_map_hash): Ditto.
13412	(tree_map): Move to tree.h.
13413	(tree_map_eq): Externalize.
13414	(tree_map_hash): Ditto.
13415	(tree_map_marked_p): Ditto.
13416	(init_ttree): Set up tree_contains_struct and call langhook.
13417	(decl_assembler_name): Use DECL_NON_COMMON_CHECK..
13418	(tree_code_size): Update for new structures.
13419	(tree_node_structure): Update for new structures.
13420	(make_node_stat): Don't try to set DECL_IN_SYSTEM_HEADER on decls
13421	without the field.
13422	(copy_node_stat):  Copy init priority.
13423	(build_decl_stat): Ditto for visibility.
13424	(ts_enum_names): New.
13425	(tree_contains_struct_check_failed): New function.
13426	(decl_init_priority_lookup): Ditto.
13427	(decl_init_priority_insert): Ditto.
13428	* treestruct.def: New file.
13429	* tree.h (CODE_CONTAINS_STRUCT): New macro.
13430	(CONTAINS_STRUCT_CHECK): Ditto.
13431	(tree_contains_struct_check_failed): New prototype.
13432	(DECL_CHECK): Removed.
13433	(DECL_MINIMAL_CHECK): New.
13434	(DECL_COMMON_CHECK): Ditto.
13435	(DECL_WRTL_CHECK): Ditto.
13436	(DECL_NON_COMMON_CHECK): Ditto.
13437	(DECL_WITH_VIS_CHECK): Ditto.
13438	(VAR_OR_FUNCTION_DECL_P): Ditto
13439	(struct tree_decl_minimal): New structure.
13440	(struct tree_decl_common): Ditto.
13441	(struct tree_decl_with_rtl): Ditto.
13442	(struct tree_decl_with_vis): Ditto.
13443	(struct tree_decl_non_common): Ditto.
13444	(struct tree_field_decl): Ditto.
13445	(struct tree_parm_decl): Ditto.
13446	(struct tree_var_decl): Ditto.
13447	(struct tree_function_decl): Ditto.
13448	(struct tree_const_decl): Ditto.
13449	(struct tree_result_decl): Ditto.
13450	(union tree_node): Add new structures.
13451	* var-tracking.c (track_expr_p): Reverse order of tests.
13452
13453	* doc/c-tree.texi: Add documentation on DECL node internal structure.
13454
134552005-07-08  Kazu Hirata  <kazu@codesourcery.com>
13456
13457	* cfgexpand.c (tree_expand_cfg): Don't use FINALIZE_PIC.
13458	* system.h: Poison FINALIZE_PIC.
13459	* doc/tm.texi (FINALIZE_PIC): Remove.
13460
134612005-07-08  Andrew Pinski  <pinskia@physics.uc.edu>
13462
13463	PR tree-opt/22329
13464	* tree-ssa-propagate.c (fold_predicate_in): Convert the value
13465	to the correct type if we have a MODIFY_EXPR.
13466
134672005-07-08  Kazu Hirata  <kazu@codesourcery.com>
13468
13469	PR tree-optimization/22360
13470	* tree.c (upper_bound_in_type): Fix calculations for casting
13471	to a non-wider signed type and casting a signed value to a
13472	wider unsigned type.
13473	(lower_bound_in_type): Fix calculations for casting to a
13474	non-wider signed type.
13475
13476	PR tree-optimization/20139
13477	* tree-cfg.c (remove_bb): Check in_ssa_p before calling
13478	release_defs.
13479	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Call
13480	fold_cond_expr_cond.
13481	* tree-ssanames.c (release_defs): Assert in_ssa_p.
13482	* tree.c (upper_bound_in_type, lower_bound_in_type): Rewrite.
13483
134842005-07-08  Andrew Pinski  <pinskia@physics.uc.edu>
13485
13486	PR tree-opt/22356
13487	* tree-complex.c (expand_complex_libcall): Produce
13488	REALPART_EXPR/IMAGPART_EXPR with the correct type.
13489
134902005-07-08  Kenneth Zadeck <zadeck@naturalbridge.com>
13491
13492	* bitmap.c (bitmap_and, bitmap_and_into, bitmap_and_compl,
13493	bitmap_and_compl_into, bitmap_xor, bitmap_xor_into): Removed "a !=
13494	b" assert and inserted fastpath code for this case.
13495	(bitmap_ior): Removed "a != b" assert.
13496
134972005-07-08  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
13498
13499	* config/m32r/linux.h (STARTFILE_SPEC): Support PIE.
13500	(ENDFILE_SPEC): Likewise.
13501	* config/m32r/m32r.h (ASM_SPEC): Likewise.
13502
13503	* config/m32r/m32r.c (m32r_output_function_epilogue): Care for
13504	a large stack frame at epilogue.
13505
135062005-07-08  David Billinghurst  <David.Billinghurst@riotinto.com>
13507
13508	* final.c: Include sdbout.h when required.
13509
135102005-07-07  Geoffrey Keating  <geoffk@apple.com>
13511
13512	* config.gcc (*-*-darwin*): Only one target-specific header file
13513	for generic darwin.
13514	(powerpc-*-darwin*): Add version-specific header files.
13515	* configure.in (gcc_AC_CHECK_DECLS): Add strverscmp.
13516	* config.in: Regenerate.
13517	* configure: Regenerate.
13518	* gcc.c: Include xregex.h.
13519	(version_compare_spec_function): New.
13520	(spec_function): Add version-compare.
13521	(replace_outfile_spec_function): Reformat comment.
13522	(compare_version_strings): New.
13523	* config/darwin-c.c (version_as_macro): New.
13524	(builtin_define): New.
13525	(darwin_cpp_builtins): New.
13526	* config/darwin-protos.h (darwin_cpp_builtins): New.
13527	* config/darwin.h (CPP_SPEC): Don't define APPLE_CC here.
13528	(LIB_SPEC): Make unconditional, update comment.
13529	(TARGET_C99_FUNCTIONS): Define.
13530	* config/darwin.opt: Sort.
13531	(mmacosx-version-min=): New.
13532	* config/darwin7.h: Delete.
13533	* config/darwin8.h: Delete.
13534	* config/i386/darwin.h (): Call darwin_cpp_builtins.
13535	* config/rs6000/darwin.h (): Call darwin_cpp_builtins.
13536	(TARGET_C99_FUNCTIONS): Define.
13537	* config/rs6000/darwin7.h: New.
13538	* config/rs6000/darwin8.h: New.
13539	* doc/invoke.texi (Darwin Options): Add -mmacosx-version-min=
13540	(-mmacosx-version-min): Document.
13541
135422005-07-07  Ian Lance Taylor  <ian@airs.com>
13543
13544	* config/mips/mips.md (abs<mode>2) [GPR]: Remove.
13545
135462005-07-07  John David Anglin  <dave.anglin@nrc-crc.gc.ca>
13547
13548	PR middle-end/22239
13549	* loop.c (loop_givs_rescan): Check that v->new_reg is a REG.
13550
135512005-07-07  Khem Raj  <kraj@mvista.com>
13552
13553	* config/arm/arm.c (thumb_output_function_prologue): Calculate offset
13554	in bytes, not words.
13555
135562005-07-07  Paul Brook  <paul@codesourcery.com>
13557
13558	* config/arm/arm.c (arm_pad_arg_upward): Compare return value of
13559	DEFAULT_FUNCTION_ARG_PADDING to upward.
13560
135612005-07-07  Richard Henderson  <rth@redhat.com>
13562
13563	* function.c (locate_and_pad_parm): Record parameter alignment in
13564	stack_alignment_needed.
13565
135662005-07-07  David Edelsohn  <edelsohn@gnu.org>
13567
13568	* config/rs6000/rs6000.md (UNSPEC_SYNC, UNSPEC_SYNC_OP,
13569	UNSPEC_SYNC_SWAP, UNSPEC_LWSYNC, UNSPEC_ISYNC): Delete.
13570	(UNSPECV_LL, UNSPECV_SC, UNSPECV_ATOMIC, UNSPECV_SYNC,
13571	UNSPECV_SYNC_OP, UNSPECV_CMPXCHG, UNSPECV_LWSYNC, UNSPECV_ISYNC): New.
13572	(define_attr "type"): Add isync, sync, load_l, store_c.
13573	* config/rs6000/sync.md (memory_barrier): Change to define_expand.
13574	Create scratch volatile MEM.
13575	(sync_internal): New.  POWER mnemonic is dcs, not ics.  Attribute
13576	sync.
13577	(load_locked_<mode>): New.
13578	(store_conditional_<mode>): New.
13579	(sync_compare_and_swap<mode>): Replace with splitter.
13580	(sync_lock_test_and_set<mode>): Replace with splitter.
13581	(sync_<fetchop><mode>): Change to unspec_volatile UNSPECV_SYNC_OP
13582	and UNSPECV_ISYNC.
13583	(isync): Change to unspec_volatile UNSPECV_ISYNC.  POWER mnemonic
13584	is ics.  Attribute isync.
13585	(lwsync): Change to unspec_volatile UNSPECV_LWSYNC.  Attribute
13586	lwsync.
13587	* config/rs6000/rs6000.c (rs6000_emit_sync): Use UNSPEC_VOLATILE
13588	and UNSPECV_SYNC_OP.
13589	(emit_unlikely_jump): New.
13590	(emit_load_locked): New.
13591	(emit_store_conditional): New.
13592	(rs6000_split_compare_and_swap): New.
13593	(rs6000_split_lock_test_and_set): New.
13594	(is_dispatch_slot_restricted): Return 4 for TYPE_LOAD_L,
13595	TYPE_STORE_C, TYPE_ISYNC, TYPE_SYNC.
13596	* config/rs6000/rs6000-protos.h (rs6000_split_compare_and_swap,
13597	rs6000_split_lock_test_and_set): Declare.
13598	* config/rs6000/{40x.md,440.md,603.md,6xx.md,7450.md,7xx.md,8540.md,
13599	mpc.md,power4.md,power5.md,rios1.md,rios2.md,rs64.md): Add load_l,
13600	store_c, isync, sync.
13601
136022005-07-07  Kelley Cook  <kcook@gcc.gnu.org>
13603
13604	* Makefile.in (echo_quoted_to_gtyp): New template for outputing
13605	filenames to gtyp-gen.h.
13606	(s-typ-gen): Use it in place of for loops.
13607
136082005-07-07  J"orn Rennecke <joern.rennecke@st.com>
13609
13610	* hooks.c (hook_bool_rtx_int_false): New function.
13611	* hooks.h (hook_bool_rtx_int_false): Declare.
13612	* target-def.h (TARGET_COMMUTATIVE_P): Define.
13613	(TARGET_INITIALIZER): Add TARGET_COMMUTATIVE_P.
13614	* target.h (struct gcc_target): Add commutative_p member.
13615	* targhooks.c (hook_bool_rtx_commutative_p): New function.
13616	* targhooks.h (hook_bool_rtx_commutative_p): Declare.
13617	* pa.c (TARGET_COMMUTATIVE_P): Redefine.
13618	(pa_commutative_p): New function.
13619	* jump.c (target.h): Include.
13620	(rtx_renumbered_equal_p): Use targetm.commutative_p.
13621	* doc/tm.texi: Document TARGET_COMMUTATIVE_P.
13622
136232005-07-07  Adrian Straetling  <straetling@de.ibm.com>
13624
13625	* config/s390/s390-protos.h (s390_expand_clrmem): Delete.
13626	(s390_expand_setmem): New.
13627	* config/s390/s390.c: Likewise.
13628	(print_shift_count_operand): Truncate to 12 bits instead of 6.
13629	Adapt comments.
13630	* config/s390/s390.md: ("setmem<mode>"): Accept character as
13631	general_operand.  Call new function "s390_expand_setmem".
13632	("clrmem_long", "*clrmem_long"): Rewrite to ...
13633	("setmem_long", "*setmem_long"): ... this.
13634
136352005-07-07  Adrian Straetling  <straetling@de.ibm.com>
13636
13637	* config/s390/s390.c: (optimization_options): Enable
13638	TARGET_MVCLE at -Os.
13639	* doc/invoke.texi: Document changes in default behaviour.
13640	* config/s390/s390.opt: ("mvcle"): Fix typo: is "mmvcle".
13641
136422005-07-07  Adrian Straetling  <straetling@de.ibm.com>
13643
13644	* expr.c: (set_storage_via_setmem): Convert opchar to mode
13645	defined by back-end.
13646
136472005-07-07  Jakub Jelinek  <jakub@redhat.com>
13648
13649	* config/sparc/sparc.md (stack_protect_testsi): Put clobbers after
13650	all sets in the pattern.
13651	* config/rs6000/rs6000.md (stack_protect_testsi,
13652	stack_protect_testdi): Likewise.
13653
136542005-07-06  Jeff Law  <law@redhat.com>
13655
13656	* tree-vrp.c (simplify_using_ranges): Kill.
13657	(vrp_finalize): Remove call to simplify_using_ranges.
13658	(simplify_stmt_using_ranges): New function extracted from
13659	simplify_using_ranges.
13660	(simplify_div_or_mod_using_ranges): Likewise.
13661	(simplify_abs_using_ranges): Likewise.
13662	(simplify_cond_using_ranges): New function.
13663	* tree-flow.h (simplify_stmt_using_ranges): Prototype.
13664	* tree-ssa-propagate.c (substitute_and_fold): Call
13665	simplify_stmt_using_ranges if we have range information.
13666
136672005-07-06  James E. Wilson  <wilson@specifixinc.com>
13668
13669	* config/ia64/ia64.c (ia64_reorg): Check optimize before
13670	ia64_flag_schedule_isns2.
13671
13672	* config/ia64/ia64.c (ia64_expand_movxf_movrf): Don't word swap when
13673	reading/writing general registers.
13674	(ia64_function_arg): Revert 2005-06-18 change.
13675
136762005-07-06  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
13677
13678	* pa.c (legitimize_pic_address): Use gcc_assert instead of abort.
13679	(legitimize_tls_address): Use gcc_unreachable instead of abort.
13680
136812005-07-06  Kaz Kojima  <kkojima@gcc.gnu.org>
13682
13683	* function.c (expand_function_end): Revert part of 2005-06-27
13684	patch.  Do sjlj_emit_function_exit_after after return_label.
13685
136862005-07-06  Kazu Hirata  <kazu@codesourcery.com>
13687
13688	* doc/install.texi (--disable-libssp): New.
13689
136902005-07-06  Fariborz Jahanian <fjahanian@apple.com>
13691
13692	* doc/invoke.texi: Update -fforce-mem documentation.
13693	* dojump.c (compare_from_rtx,do_compare_rtx_and_jump): Remove
13694	code for -fforce-mem.
13695	* expmed.c: (store_bit_field,store_fixed_bit_field,
13696	extract_bit_field): Ditto.
13697	* expr.c: (convert_move): Ditto.
13698	* optabs.c: (expand_binop,expand_twoval_unop,expand_twoval_binop,
13699	expand_unop,emit_unop_insn,prepare_cmp_insn,emit_conditional_move,
13700	emit_conditional_add,expand_float,expand_fix): Ditto.
13701	* opts.c: (decode_options): Remove setting of flag_force_mem flag.
13702	(common_handle_option): Issue warning when -fforce-mem specified.
13703
137042005-07-06  Paul Brook  <paul@codesourcery.com>
13705
13706	* aclocal.m4: Work around a bug in AC_PATH_PROGS when its last
13707	argument is empty.
13708	* configure: Regenerate.
13709
137102005-07-06  J"orn Rennecke <joern.rennecke@st.com>
13711
13712	* sh.c (final_prescan_insn): Undo bogus change from 2005-05-09.
13713
137142005-07-06  Daniel Berlin  <dberlin@dberlin.org>
13715
13716	Fix PR tree-optimization/22319
13717	Fix PR tree-optimization/22140
13718	Fix PR tree-optimization/22310
13719
13720	* tree-ssa-structalias.c (do_structure_copy): Give up earlier on
13721	variable sized types.
13722	Use correct type for intermediate structure on *a = *b structure
13723	copies.
13724
137252005-07-06  Jakub Jelinek  <jakub@redhat.com>
13726
13727	* config/rs6000/rs6000.h (RS6000_VARARGS_AREA, RS6000_VARARGS_SIZE):
13728	Remove.
13729	(STARTING_FRAME_OFFSET): Don't add RS6000_VARARGS_AREA.
13730	(machine_function): Move typedef to...
13731	* config/rs6000/rs6000.c (machine_function): ... here.  Add
13732	varargs_save_offset field.
13733	(rs6000_stack_t): Remove varargs_size field.
13734	(setup_incoming_varargs): Allocate varargs save area using
13735	assign_stack_local, try to make it as small as possible.
13736	Save offset from virtual_stack_vars_rtx to the save area
13737	in cfun->machine->varargs_save_offset.  Use UNITS_PER_FP_WORD
13738	instead of magic 8 when fp word byte size is used.
13739	(rs6000_va_start): Use cfun->machine->varargs_save_offset
13740	instead of -RS6000_VARARGS_SIZE.
13741	(rs6000_stack_info, debug_stack_info,
13742	rs6000_initial_elimination_offset): Remove all traces of
13743	varargs_size.
13744	* config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Remove.
13745	* config/rs6000/darwin.h (STARTING_FRAME_OFFSET): Don't add
13746	RS6000_VARARGS_AREA.
13747
137482005-07-06  Zdenek Dvorak  <dvorakz@suse.cz>
13749
13750	PR tree-optimization/21963
13751	* tree-ssa-loop-ivopts.c (get_computation_aff): Use
13752	constant_multiple_of in the same way get_computation_cost_at does.
13753
137542005-07-06  Jakub Jelinek  <jakub@redhat.com>
13755
13756	* config/sparc/sparc.h (sparc_compare_emitted): New extern.
13757	* config/sparc/sparc.c (sparc_compare_emitted): New variable.
13758	(gen_compare_reg): If sparc_compare_emitted is set, clear it
13759	and return its previous value.
13760	(emit_v9_brxx_insn): Assert sparc_compare_emitted is NULL.
13761	* config/sparc/sparc.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New
13762	constants.
13763	(stack_protect_set, stack_protect_test): New expanders.
13764	(stack_protect_setsi, stack_protect_setdi, stack_protect_testsi,
13765	stack_protect_testdi): New insns.
13766	* config/sparc/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
13767	* config/sparc/linux64.h (TARGET_THREAD_SSP_OFFSET): Define.
13768
137692005-07-06  Jeff Law  <law@redhat.com>
13770
13771	* tree-ssa-dce.c (cfg_altered): New global.
13772	(tree_dce_init): Initialize cfg_altered.
13773	(remove_dead_stmt): If we remove an edge in the CFG, then set
13774	CFG_ALTERED.
13775	(perform_tree_ssa_dce): If we altered the CFG, then invalidate
13776	the dominators.
13777
137782005-07-06  Kazu Hirata  <kazu@codesourcery.com>
13779
13780	* Makefile.in (stamp-collect-ld): Use
13781	$(ORIGINAL_LD_FOR_TARGET) instead of $<.  Don't remove
13782	./collect-ld if it already exists.
13783	(stamp-nm): Use $(ORIGINAL_NM_FOR_TARGET) instead of $<.
13784	Don't remove ./nm if it already exists.
13785
137862005-07-05  Devang Patel  <dpatel@apple.com>
13787
13788	* tree-vectorizer.h (struct _loop_vec_info): Remove loop_line_number.
13789	(LOOP_VINFO_LOC, LOOP_LOC): Remove.
13790	* tree-vectorizer.c (vect_loop_location): New.
13791	(vect_print_dump_info): Use vect_loop_location.
13792	(new_loop_vec_info): Do not set LOOP_VINFO_LOC.
13793	(vectorize_loops): Set vect_loop_location.
13794	* tree-vect-analyze.c (vect_analyze_offset_expr,
13795	vect_determin_vectorization_factor, vect_analyze_operations,
13796	vect_analyze_scalar_cycles, vect_analyze_data_ref_dependence,
13797	vect_analyze_data_ref_dependences, vect_compute_data_ref_alignment,
13798	vect_analyze_data_refs_alignment, vect_analyze_data_ref_access,
13799	vect_analyze_data_ref_accesses, vect_analyze_pointer_ref_access,
13800	vect_object_analysis, vect_analyze_data_refs, vect_mark_relevant,
13801	vect_stmt_relevant_p, vect_mark_stmts_to_be_vectorized,
13802	vect_can_advance_ivs_p, vect_get_loop_niters, vect_analyze_loop_form,
13803	vect_analyze_loop): Adjust vect_print_dump_info API.
13804	* tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
13805	vect_create_data_ref_ptr, vect_init_vector, vect_get_vec_def_for_operand,
13806	vect_finish_stmt_generation, vectorizable_assignment,
13807	vectorizable_operation, vectorizable_store, vectorizable_load,
13808	vectorizable_live_operation, vectorizable_condition, vect_transform_stmt,
13809	vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound,
13810	vect_gen_ninters_for_prolog_loop, vect_do_peeling_for_alignment,
13811	vect_transform_loop): Same.
13812	* tree-vectorizer.c (get_vectype_for_scalar_type, vect_is_simple_use,
13813	vect_is_simple_reduction, vect_is_simple_iv_evolution, vectorize_loops):
13814	Same.
13815
138162005-07-05  Randolph Chung  <tausq@debian.org>
13817
13818	* configure.ac (hppa*-*-linux*: Check for a TLS capable gas.
13819	* configure: Regenerate.
13820	* config/pa/pa-protos.h (tls_symbolic_operand): Declare.
13821	(pa_tls_referenced_p): Declare.
13822	* config/pa/pa.c (legitimize_pic_address): Reject TLS operands.
13823	(gen_tls_tga, gen_tls_get_addr, hppa_tls_call): New.
13824	(legitimize_tls_address): New.
13825	(hppa_legitimize_address): Handle TLS addresses.
13826	(pa_tls_symbol_ref_1, pa_tls_referenced_p): New.
13827	(TARGET_CANNOT_FORCE_CONST_MEM): Define.
13828	(emit_move_sequence): Handle TLS addresses.
13829	(pa_encode_section_info): Call default handler to handle common
13830	sections.
13831	* config/pa/pa.h (PA_SYMBOL_REF_TLS_P): New.
13832	(CONSTANT_ADDRESS_P): Reject TLS operands.
13833	(TARGET_HAVE_TLS) [HAVE_AS_TLS]: Define.
13834	* config/pa/pa.md (UNSPEC_TP, UNSPEC_TLSGD, UNSPEC_TLSLDM)
13835	(UNSPEC_TLSLDO, UNSPEC_TLSLDBASE, UNSPEC_TLSIE)
13836	(UNSPEC_TLSLE): Define new constants.
13837	(tgd_load, tld_load, tld_offset_load, tp_load, tie_load, tle_load): New.
13838	* config/pa/predicates.md (symbolic_operand): Reject TLS operands.
13839	(tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand)
13840	(tie_symbolic_operand, tle_symbolic_operand): New
13841
138422005-07-06  Kelley Cook  <kcook@gcc.gnu.org>
13843
13844	* aclocal.m4: Update macros for autoconf 2.59 style.
13845	* configure.ac: Likewise.
13846
138472005-07-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
13848
13849	* pa.c (function_value): Handle small aggregates on 32-bit targets.
13850	(function_arg): Pass small aggregates in general registers on 32-bit
13851	targets.
13852	* som.h (MEMBER_TYPE_FORCES_BLK): Delete define.
13853
138542005-07-05  Andrew Pinski  <pinskia@physics.uc.edu>
13855
13856	* Makefile.in (final.o): Fix dependencies.
13857
138582005-07-05  Joseph S. Myers  <joseph@codesourcery.com>
13859
13860	PR c/22013
13861	PR c/22098
13862	* langhooks.h (struct lang_hooks): Add expr_to_decl.
13863	* langhooks.c (lhd_expr_to_decl): New.
13864	* langhooks-def.h (lhd_expr_to_decl, LANG_HOOKS_EXPR_TO_DECL):
13865	New.
13866	(LANG_HOOKS_INITIALIZER): Update.
13867	* tree.c (recompute_tree_invarant_for_addr_expr): Call
13868	expr_to_decl langhook.
13869	* c-tree.h (c_expr_to_decl): Declare.
13870	* c-typeck.c (c_expr_to_decl): New.
13871	(build_unary_op): Do not handle ADDR_EXPR of COMPOUND_LITERAL_EXPR
13872	specially.
13873	* c-objc-common.h (LANG_HOOKS_EXPR_TO_DECL): Define.
13874
138752005-07-05  Joseph S. Myers  <joseph@codesourcery.com>
13876
13877	PR c/22308
13878	* c-decl.c (finish_struct): Also copy C_TYPE_FIELDS_READONLY,
13879	C_TYPE_FIELDS_VOLATILE and C_TYPE_VARIABLE_SIZE to type variants.
13880
138812005-07-05  Paolo Bonzini  <bonzini@gnu.org>
13882
13883	* Makefile.in: Adjust dependencies.
13884	* tree-pass.h: Add new passes and passes formerly in tree-optimize.c.
13885	* basic-block.h (duplicate_computed_gotos): Remove, it is now static.
13886	* alias.c (rest_of_handle_cfg, pass_cfg): New.
13887	* bb-reorder.c (duplicate_computed_gotos): Make it static.
13888	* cfgexpand.c (tree_expand_cfg): Add code formerly at the beginning of
13889	rest_of_compilation.
13890
13891	* bb-reorder.c (gate_duplicate_computed_gotos,
13892	pass_duplicate_computed_gotos, gate_handle_reorder_blocks,
13893	rest_of_handle_reorder_blocks, pass_reorder_blocks,
13894	gate_handle_partition_blocks, rest_of_handle_partition_blocks,
13895	pass_partition_blocks): New.
13896	* bt-load.c (gate_handle_branch_target_load_optimize,
13897	rest_of_handle_branch_target_load_optimize,
13898	pass_branch_target_load_optimize): New.
13899	* cfgcleanup.c (rest_of_handle_jump, pass_jump, rest_of_handle_jump2,
13900	pass_jump2): New.
13901	* cfglayout.c (pass_insn_locators_initialize): New.
13902	* cfgrtl.c (pass_free_cfg): New.
13903	* combine.c (gate_handle_combine, rest_of_handle_combine,
13904	pass_combine): New.
13905	* cse.c (gate_handle_cse, rest_of_handle_cse, pass_cse,
13906	gate_handle_cse2, rest_of_handle_cse2, pass_cse2): New.
13907	* emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes): New.
13908	* except.c (pass_set_nothrow_function_flags,
13909	pass_convert_to_eh_region_ranges, gate_handle_eh, rest_of_handle_eh,
13910	pass_rtl_eh): New.
13911	* final.c (pass_compute_alignments, rest_of_handle_final, pass_final,
13912	rest_of_handle_shorten_branches, pass_shorten_branches,
13913	rest_of_clean_state, pass_clean_state): New.
13914	* flow.c (pass_recompute_reg_usage, gate_remove_death_notes,
13915	rest_of_handle_remove_death_notes, pass_remove_death_notes,
13916	rest_of_handle_life, pass_life, rest_of_handle_flow2,
13917	pass_flow2): New.
13918	* function.c (pass_instantiate_virtual_regs, pass_init_function,
13919	rest_of_handle_check_leaf_regs, pass_leaf_regs): New.
13920	* gcse.c (gate_handle_jump_bypass, rest_of_handle_jump_bypass,
13921	pass_jump_bypass, gate_handle_gcse, rest_of_handle_gcse,
13922	pass_gcse): New.
13923	* global.c (rest_of_handle_global_alloc, pass_global_alloc): New.
13924	* ifcvt.c (gate_handle_if_conversion, rest_of_handle_if_conversion,
13925	pass_rtl_ifcvt, gate_handle_if_after_combine,
13926	rest_of_handle_if_after_combine, pass_if_after_combine,
13927	gate_handle_if_after_reload, rest_of_handle_if_after_reload,
13928	pass_if_after_reload): New.
13929	* integrate.c (pass_initial_value_sets): New.
13930	* jump.c (pass_cleanup_barriers, purge_line_number_notes,
13931	pass_purge_lineno_notes): New.
13932	* mode-switching.c (rest_of_handle_mode_switching,
13933	pass_mode_switching): New.
13934	* local-alloc.c (rest_of_handle_local_alloc, pass_local_alloc): New.
13935	* loop-init.c (gate_handle_loop2, rest_of_handle_loop2,
13936	pass_loop2): New.
13937	* loop.c (gate_handle_loop_optimize, rest_of_handle_loop_optimize,
13938	pass_loop_optimize): New.
13939	* modulo-sched.c (gate_handle_sms, rest_of_handle_sms,
13940	pass_sms): New.
13941	* postreload-gcse.c (gate_handle_gcse2, rest_of_handle_gcse2,
13942	pass_gcse2): New.
13943	* postreload.c (gate_handle_postreload, rest_of_handle_postreload,
13944	pass_postreload_cse): New.
13945	* profile.c (gate_handle_profiling, pass_profiling,
13946	rest_of_handle_branch_prob, pass_branch_prob): New.
13947	* recog.c (pass pass_split_for_shorten_branches, gate_do_final_split,
13948	pass_split_before_regstack, gate_handle_split_before_regstack,
13949	gate_handle_peephole2, rest_of_handle_peephole2, pass_peephole2,
13950	rest_of_handle_split_all_insns, pass_split_all_insns): New.
13951	* reg-stack.c (gate_handle_stack_regs, rest_of_handle_stack_regs,
13952	pass_stack_regs): New.
13953	* regmove.c (gate_handle_regmove, rest_of_handle_regmove, pass_regmove,
13954	gate_handle_stack_adjustments, rest_of_handle_stack_adjustments,
13955	pass_stack_adjustments): New.
13956	* regrename.c (gate_handle_regrename, rest_of_handle_regrename,
13957	pass_regrename): New.
13958	* reorg.c (gate_handle_delay_slots, rest_of_handle_delay_slots,
13959	pass_delay_slots, gate_handle_machine_reorg,
13960	rest_of_handle_machine_reorg, pass_machine_reorg): New.
13961	* rtl.h (extern void purge_line_number_notes): New.
13962	* sched-rgn.c (gate_handle_sched, rest_of_handle_sched,
13963	gate_handle_sched2, rest_of_handle_sched2, pass_sched,
13964	pass_sched2): New.
13965	* tracer.c (gate_handle_tracer, rest_of_handle_tracer,
13966	pass_tracer): New.
13967	* value-prof.c (gate_handle_value_profile_transformations,
13968	rest_of_handle_value_profile_transformations,
13969	pass_value_profile_transformations): New.
13970	* var-tracking.c (gate_handle_var_tracking,
13971	pass_variable_tracking): New.
13972	* web.c (gate_handle_web, rest_of_handle_web, pass_web): New.
13973
13974	* passes.c (open_dump_file, close_dump_file, rest_of_handle_final,
13975	rest_of_handle_delay_slots, rest_of_handle_stack_regs,
13976	rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
13977	rest_of_handle_old_regalloc, rest_of_handle_regrename,
13978	rest_of_handle_reorder_blocks, rest_of_handle_partition_blocks,
13979	rest_of_handle_sms, rest_of_handle_sched, rest_of_handle_sched2,
13980	rest_of_handle_gcse2, rest_of_handle_regmove,
13981	rest_of_handle_tracer, rest_of_handle_if_conversion,
13982	rest_of_handle_if_after_combine, rest_of_handle_if_after_reload,
13983	rest_of_handle_web, rest_of_handle_branch_prob,
13984	rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
13985	rest_of_handle_jump_bypass, rest_of_handle_combine,
13986	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
13987	rest_of_handle_gcse, rest_of_handle_loop_optimize,
13988	rest_of_handle_loop2, rest_of_handle_branch_target_load_optimize,
13989	rest_of_handle_mode_switching, rest_of_handle_jump,
13990	rest_of_handle_eh, rest_of_handle_stack_adjustments,
13991	rest_of_handle_flow2, rest_of_handle_jump2,
13992	rest_of_handle_peephole2, rest_of_handle_postreload,
13993	rest_of_handle_shorten_branches, rest_of_clean_state,
13994	rest_of_compilation): Remove.
13995
13996	* cgraphunit.c (ipa_passes): Moved from tree-optimize.c.
13997	* passes.c (dump_flags, in_gimple_form, all_passes,
13998	all_ipa_passes, all_lowering_passes, register_one_dump_file,
13999	register_dump_files, next_pass_1, last_verified, execute_todo,
14000	execute_one_pass, execute_pass_list, execute_ipa_pass_list): Moved
14001	from tree-optimize.c.
14002	(init_optimization_passes): Moved from tree-optimize.c,
14003	adding the RTL optimizations.
14004	* tree-dump.h (dump_info_p, dump_flag): Moved from tree.h.
14005	* tree-optimize.c (dump_flags, in_gimple_form, all_passes,
14006	all_ipa_passes, all_lowering_passes, register_one_dump_file,
14007	register_dump_files, next_pass_1, last_verified, execute_todo,
14008	execute_one_pass, execute_pass_list, execute_ipa_pass_list,
14009	init_tree_optimization_passes, ipa_passes): Delete.
14010	* tree-pass.h (enum tree_dump_index): Moved from tree.h, removing
14011	the RTL dumps.
14012	(TDF_*, get_dump_file_name, dump_enabled_p, dump_initialized_p,
14013	dump_begin, dump_end, dump_node, dump_switch_p, dump_flag_name): Moved
14014	from tree.h.
14015	(ipa_passes): Remove.
14016	(all_passes, all_ipa_passes, all_lowering_passes): Now extern.
14017	* tree.h (enum tree_dump_index, TDF_*, get_dump_file_name,
14018	dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node,
14019	dump_switch_p, dump_flag_name): Moved to tree-pass.h.
14020	(dump_info_p, dump_flag): Moved to tree-dump.h.
14021
14022	* Makefile.in: Adjust dependencies for tree-pretty-print.c,
14023	cgraph.c, opts.c.
14024	* passes.c (finish_optimization_passes): Use dump_begin
14025	and dump_end, TDI_end.
14026	(gate_rest_of_compilation): New.
14027	(pass_rest_of_compilation): Use it.
14028	(gate_postreload, pass_postreload): New.
14029	* toplev.c (general_init): Rename init_tree_optimization_passes.
14030	* toplev.h (init_tree_optimization_passes): Rename to
14031	init_optimizations_passes.
14032	* tree-dump.c (dump_flag): Make static.
14033	(dump_files): Remove RTL dumps.
14034	* tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
14035	pass_cleanup_cfg, pass_free_cfg_annotations,
14036	pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
14037	pass_init_datastructures, pass_fixup_cfg): Make non-static.
14038	* tree-pretty-print.c: Include tree-pass.h.
14039	* cgraph.c: Include tree-dump.h.
14040
140412005-07-04  Daniel Berlin  <dberlin@dberlin.org>
14042
14043	* tree-ssa-structalias.c (get_constraint_exp_from_ssa_var):
14044	Only fall back to saying it points to readonly memory if
14045	we can't do better.
14046
140472005-07-05  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
14048
14049	* config/m32r/m32r-protos.h: Remove m32r_finalize_pic.
14050	* config/m32r/m32r.c (m32r_compute_frame_size,
14051	m32r_expand_prologue): Take current_function_profile into
14052	account whenever we reference
14053	current_function_uses_pic_offset_table.
14054	(m32r_finalize_pic): Remove.
14055	* config/m32r/m32r.h (FINALIZE_PIC): Likewise.
14056
140572005-07-05  Kazu Hirata  <kazu@codesourcery.com>
14058
14059	* Makefile.in (stamp-as): Use $(ORIGINAL_AS_FOR_TARGET)
14060	instead of $<.  Don't remove ./as if it already exists.
14061
140622005-07-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
14063
14064	PR target/21723
14065	* pa.md: Remove fcpy alternative from movhi and movqi patterns.
14066	* pa32-regs.h (HARD_REGNO_NREGS): Return two floating point registers
14067	for complex modes when generating code for PA 1.0.
14068	(VALID_FP_MODE_P): New macro.
14069	(HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P.  Use non-overlapping register
14070	sets for all general and floating point modes.  Align wide floating
14071	point modes to even register boundaries to comply with architectural
14072	requirements.
14073	(CLASS_MAX_NREGS): Update to align with change to HARD_REGNO_NREGS.
14074	* pa64-regs.h (HARD_REGNO_NREGS): Update comment and formatting.
14075	(VALID_FP_MODE_P): New macro.
14076	(HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P.  Use non-overlapping register
14077	sets for all general and floating point modes.  Align wide floating
14078	point modes to even register boundaries to comply with architectural
14079	requirements.
14080
140812005-07-04  Diego Novillo  <dnovillo@redhat.com>
14082
14083	* tree-dump.c (dump_files): Initialize dump number for .cgraph
14084	to 0.
14085
140862005-07-04  Diego Novillo  <dnovillo@redhat.com>
14087
14088	* tree-ssa-structalias.c: Don't include expr.h.
14089
140902005-07-04  Diego Novillo  <dnovillo@redhat.com>
14091
14092	* tree-iterator.h (TSI_NEW_STMT, TSI_SAME_STMT): Fix
14093	comments.
14094
140952005-07-04  Daniel Berlin  <dberlin@dberlin.org>
14096
14097	Fix PR tree-optimization/22279
14098
14099	* tree-ssa-structalias.c (offset_overlaps_with_access): Use
14100	correct operator.
14101
141022005-07-04  J"orn Rennecke <joern.rennecke@st.com>
14103
14104	* sh.c (output_ieee_ccmpeq): Replace "\\;" with "\n\t".
14105
141062005-07-03  Joseph S. Myers  <joseph@codesourcery.com>
14107
14108	* bb-reorder.c, c-pch.c, c-pragma.c, c.opt, cfghooks.c, cfgloop.c,
14109	cfgrtl.c, cgraphunit.c, config/c4x/c4x.c, config/cris/cris.c,
14110	config/frv/frv.c, config/host-darwin.c, config/iq2000/iq2000.c,
14111	config/lynx.h, config/m68k/m68k.c, config/pa/pa.c, config/sh/sh.h,
14112	config/stormy16/stormy16.c, config/v850/v850.c,
14113	config/vax/netbsd-elf.h, coverage.c, dwarf2out.c, emit-rtl.c,
14114	except.c, gcc.c, tree-cfg.c, tree-eh.c, tree-ssa.c, xcoffout.c:
14115	Avoid "." or "\n" at end of diagnostics and capital letters at
14116	start of diagnostics.
14117	* combine.c, cse.c: Don't translate dump file output.
14118	* toplev.c (print_version): Only translate output if going to
14119	stderr.
14120
141212005-07-03  Kazu Hirata  <kazu@codesourcery.com>
14122
14123	* c-decl.c, tree-object-size.c, tree-vectorizer.c,
14124	config/arm/unwind-arm.c, config/arm/unwind-arm.h: Fix comment
14125	typos.
14126
141272005-07-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
14128
14129	* pa.c (fix_range): Fix typo in comment.
14130
141312005-07-03  Kazu Hirata  <kazu@codesourcery.com>
14132
14133	* tree-vrp.c (extract_range_from_assert): Replace
14134	fold (build (...)) with fold_build2.
14135
141362005-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14137
14138	* c-format.c (gcc_gfc_format_type, gcc_gfc_flag_pairs,
14139	gcc_gfc_char_table, init_dynamic_gfc_info): New.
14140	(format_types_orig, handle_format_attribute): Add support for
14141	format "gcc_gfc".
14142
141432005-07-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
14144
14145	* varasm.c (assemble_variable): Fix format specifier thinko.
14146
141472005-07-03  Ira Rosen  <irar@il.ibm.com>
14148
14149	PR tree-optimization/22029 (and 22135)
14150	* tree-pretty-print.c (dump_generic_node): Check that the node is not
14151	a phi node before calling dump_vops.
14152
141532005-07-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
14154
14155	* tree-dump.h (dump_string_field): Declare.
14156	* tree-dump.c: Use it instead of dump_string.
14157	(dump_string_field): Make non-static.
14158
141592005-07-03  Kaz Kojima  <kkojima@gcc.gnu.org>
14160
14161	* config/sh/sh.c (sh_output_mi_thunk): Initialize and clean
14162	up the minimal CFG stuff always when optimize > 0.  Call
14163	split_all_insns_noflow in PIC case if needed.
14164
141652005-07-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
14166	    Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
14167
14168	PR c++/18279
14169	* c-decl.c (c_write_global_declarations): Dump contents of
14170	external scope to.
14171	* tree-dump.c (dequeue_and_dump): Dump abstract origin of a decl.
14172	<TRY_FINALLY_EXPR>, <RETURN_EXPR>, <CASE_LABEL_EXPR>, <LABEL_EXPR>,
14173	<GOTO_EXPR>, <SWITCH_EXPR>: Add.
14174	(dump_enabled_p): Return TRUE if PHASE is TDI_all and any dump
14175	is enabled.
14176
141772005-07-03  Joseph S. Myers  <joseph@codesourcery.com>
14178
14179	* c-common.h (GCC_DIAG_STYLE): Define.
14180	* c-tree.h (GCC_DIAG_STYLE): Do not define.  Change minimum GCC
14181	version for format checking to 4.1.
14182	* c-format.c: Include toplev.h after c-common.h.
14183	(enum format_type): Add gcc_tdiag_format_type.
14184	(gcc_tdiag_length_specs, gcc_tdiag_flag_pairs,
14185	gcc_tdiag_flag_specs, gcc_tdiag_char_table): New.
14186	(format_types_orig): Add gcc_tdiag.
14187	(init_dynamic_diag_info): Support gcc_tdiag formats.
14188	(handle_format_attribute): Likewise.
14189	* toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Remove.
14190	(GCC_DIAG_STYLE): Default to __gcc_tdiag__.  Change minimum GCC
14191	version for format checking to 4.1.
14192	(warning0, warning, error, pedwarn, sorry): Use
14193	ATTRIBUTE_GCC_DIAG.
14194	* config/rs6000/rs6000.c (altivec_expand_builtin), varasm.c
14195	(finish_aliases_1): Do not use %qE.
14196	* config/arm/arm.c, config/i386/i386.c, config/mmix/mmix.c,
14197	config/pdp11/pdp11.c, stor-layout.c, tree-eh.c, tree-ssa.c:
14198	Correct format bugs.
14199	* config/v850/v850-protos.h (v850_output_aligned_bss): Change size
14200	parameter to unsigned HOST_WIDE_INT.
14201	* config/v850/v850.c (v850_output_aligned_bss): Likewise.
14202
142032005-07-02  David Edelsohn  <edelsohn@gnu.org>
14204
14205	PR middle-end/21742
14206	* expr.c (write_complex_part): Use adjust_address for MEM.
14207	(read_complex_part): Same.
14208
142092005-07-02  Daniel Berlin  <dberlin@dberlin.org>
14210
14211	Fix PR tree-optimization/22280
14212
14213	* tree-sra.c (generate_element_init): Remove useless loop.
14214
142152005-07-02  Richard Henderson  <rth@redhat.com>
14216
14217	* config/alpha/alpha.c (alpha_legitimize_address): Check for
14218	TLS_MODEL_NONE.
14219	(alpha_stdarg_optimize_hook): Use DECL_UID with va_list_vars.
14220
142212005-07-02  Andrew Pinski  <pinskia@physics.uc.edu>
14222
14223	PR middle-end/14490
14224	* fold-const.c (fold_binary): Handle the return value of
14225	fold_to_nonsharp_ineq_using_bound if we get back the same operand back.
14226	Implement "X +- C1 CMP C2" folding to "X CMP C2 -+ C1".
14227
142282005-07-02  Jeff Law  <law@redhat.com>
14229
14230	* tree-ssa-dom.c (find_equivalent_equality_comparison): Do not
14231	a eliminate type conversion which feeds an equality comparison
14232	if the original type or either operand in the comparison is a
14233	function pointer.
14234
142352005-07-02  Joseph S. Myers  <joseph@codesourcery.com>
14236
14237	* c.opt, common.opt, config/bfin/bfin.opt, config/pa/pa.opt,
14238	config/rs6000/rs6000.opt, params.def: Remove "." from end of help
14239	texts.
14240	* config/avr/avr.c: Do not use '`' as left quote.
14241	* config/rs6000/rs6000.c, config/s390/s390.c, opts.c, tree.c:
14242	Remove "." from end of diagnostics.  Make diagnostics start with
14243	lowercase letter.
14244
142452005-07-02  Zack Weinberg  <zack@codesourcery.com>
14246	    Joseph S. Myers  <joseph@codesourcery.com>
14247
14248	* toplev.c (default_tree_printer): Handle setting location with
14249	'+' flag.
14250	* c-objc.common.c (c_tree_printer): Likewise.
14251	* c-format.c (gcc_diag_flag_specs): Add '+'.
14252	(gcc_cdiag_char_table): Allow '+' flag for tree formats.
14253	(format_types_orig): Allow '+' flag for gcc_diag and gcc_cdiag
14254	formats.
14255	* c-common.c, c-decl.c, c-objc-common.c, c-pragma.c,
14256	config/arm/pe.c, config/i386/winnt.c, config/ia64/ia64.c,
14257	config/mcore/mcore.c, config/sh/symbian.c, config/sol2.c,
14258	config/v850/v850.c, function.c, stor-layout.c, toplev.c,
14259	tree-inline.c, tree-optimize.c, tree.c, varasm.c: Use '+' flag
14260	instead of %J or %H.  Use 'q' flag for quoting.  Avoid '.' at end
14261	of diagnostics.  Use %q+D not %s for a decl.  Do not pass excess
14262	format arguments where %J is used without %D.
14263
142642005-07-02  Jakub Jelinek  <jakub@redhat.com>
14265
14266	* gcc.c (LINK_SSP_SPEC): Define.
14267	(link_ssp_spec): New variable.
14268	(LINK_COMMAND_SPEC): Add %(link_ssp).
14269	(static_specs): Add link_ssp_spec.
14270	* configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
14271	* configure: Rebuilt.
14272	* config.in: Rebuilt.
14273
14274	* config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
14275	* config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
14276	* config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
14277	* config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
14278	* config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
14279	If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
14280	-0x7008(2) instead of reading __stack_chk_guard variable.
14281	* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
14282	number.
14283	(UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
14284	(stack_protect_set, stack_protect_test): Use *_tls* patterns
14285	if TARGET_THREAD_SSP_OFFSET is defined.
14286	(stack_tls_protect_set_si, stack_tls_protect_set_di,
14287	stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.
14288
14289	Revert:
14290	2005-06-27  Richard Henderson  <rth@redhat.com>
14291	* libgcc-std.ver (GCC_4.1.0): New.
14292	* libgcc.h (__stack_chk_guard): Declare.
14293	(__stack_chk_fail, __stack_chk_fail_local): Declare.
14294	* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
14295	* mklibgcc.in (lib2funcs): Add them.
14296
142972005-07-01  Richard Henderson  <rth@redhat.com>
14298
14299	* config/i386/linux-unwind.h (x86_64_fallback_frame_state): Cast to
14300	void * before struct sigcontext *.
14301	(x86_fallback_frame_state): Likewise.
14302
143032005-07-01  James E. Wilson  <wilson@specifixinc.com>
14304
14305	* doc/invoke.texi (-funit-at-a-time): Correct grammar in second bullet.
14306
143072005-07-01  Andrew Pinski  <pinskia@physics.uc.edu>
14308
14309	PR tree-opt/22269
14310	* tree-ssa-reassoc.c (should_transpose): Fix which operand
14311	we check for SSA_NAME for.
14312
143132005-07-01  Daniel Berlin  <dberlin@dberlin.org>
14314
14315	Fix PR tree-optimization/22071
14316
14317	* tree-ssa-structalias.c (offset_overlaps_with_access): New
14318	function.
14319	(get_constraint_for_component_ref): Use it.
14320
143212005-07-01  Andrew Pinski  <pinskia@physics.uc.edu>
14322
14323	PR other/22264
14324	* diagnostic.c (diagnostic_report_current_module): Use pp_newline to
14325	print out the last new line.
14326
143272005-07-01  Hans-Peter Nilsson  <hp@axis.se>
14328
14329	* config/cris/cris.md (CRIS_CC0_REGNUM): New constant.
14330	Swap numbers for CRIS_AP_REGNUM and CRIS_MOF_REGNUM.
14331	* config/cris/cris.c (cris_conditional_register_usage): Adjust
14332	reg_names[CRIS_CC0_REGNUM] for early CRIS versions.
14333	(cris_print_operand) <case REG>: Handle CRIS_CC0_REGNUM.
14334	(cris_md_asm_clobbers): Clobber CRIS_CC0_REGNUM for all asms.
14335	* config/cris/cris.h (CRIS_CANONICAL_CC0_REGNUM): New macro.
14336	(enum reg_class): New member CC0_REGS.
14337	(REG_CLASS_FROM_LETTER): Add 'c' for CC0_REGS.
14338	(FIRST_PSEUDO_REGISTER, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
14339	(HARD_REGNO_MODE_OK, MODES_TIEABLE_P, REG_CLASS_NAMES)
14340	(CRIS_SPECIAL_REGS_CONTENTS, REG_CLASS_CONTENTS, REGNO_REG_CLASS)
14341	(PREFERRED_RELOAD_CLASS, REGISTER_NAMES, DBX_REGISTER_NUMBER):
14342	Adjust for register now described.
14343
143442005-07-01  Jakub Jelinek  <jakub@redhat.com>
14345
14346	PR target/22262
14347	* config/i386/i386.md (stack_protect_test_si,
14348	stack_protect_test_di): Add earlyclobber for scratch 3.
14349	* config/rs6000/rs6000.md (stack_protect_testsi,
14350	stack_protect_testdi): Add earlyclobber for scratch 3,
14351	remove earlyclobber from scratch 4.
14352
14353Older entries for 2005 can be found in ChangeLog-2005.
14354