12007-08-31  Jakub Jelinek  <jakub@redhat.com>
2
3	PR rtl-optimization/33148
4	* simplify-rtx.c (simplify_unary_operation_1): Only optimize
5	(neg (lt X 0)) if X has scalar int mode.
6
7	PR debug/32914
8	* dwarf2out.c (rtl_for_decl_init): If vector decl has CONSTRUCTOR
9	initializer, use build_vector_from_ctor if possible to create
10	VECTOR_CST out of it.  If vector initializer is not VECTOR_CST
11	even after this, return NULL.
12
132007-08-27  Jason Merrill  <jason@redhat.com>
14
15	PR c++/31337
16	* gimplify.c (gimplify_modify_expr): Discard the assignment of 
17	zero-sized types after calling gimplify_modify_expr_rhs.
18
192007-08-24  Jakub Jelinek  <jakub@redhat.com>
20
21	PR debug/32610
22	* dwarf2out.c (gen_decl_die): Don't call
23	gen_tagged_type_instantiation_die if decl doesn't have tagged type.
24
252007-08-24  Richard Guenther  <rguenther@suse.de>
26
27	* expr.c (get_inner_reference): Remove unused variable.
28
292007-08-24  Richard Guenther  <rguenther@suse.de>
30
31	* expr.c (get_inner_reference): Do computation of bitoffset
32	from offset in a way we can detect overflow reliably.
33
342007-08-22  Richard Guenther  <rguenther@suse.de>
35
36	PR middle-end/32563
37	* tree.c (host_integerp): Treat sizetype as signed as it is
38	sign-extended.
39
402007-08-20  Adam Nemet  <anemet@caviumnetworks.com>
41
42	* config/mips/predicates.md (const_call_insn_operand): Invoke
43	SYMBOL_REF_LONG_CALL_P only on SYMBOL_REFs.
44
452007-08-17  Chen liqin  <liqin@sunnorth.com.cn>
46
47        * config/score/score.md : Update pattern tablejump.
48        * config/score/score.c : Update score_initialize_trampoline 
49        function.
50        * config/score/score.h (TRAMPOLINE_TEMPLATE): Added macro.
51        (TRAMPOLINE_INSNS, TRAMPOLINE_SIZE) Update macro.
52        * doc/contrib.texi: Add my entry.
53
542007-08-02  Andreas Krebbel  <krebbel1@de.ibm.com>
55
56	* config/s390/s390.md ("*xordi3_cconly"): Change xr to xg.
57
582007-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
59
60	* config/s390/s390.md (TF in GPR splitter): Change operand_subword
61	parameter to TFmode.
62
632007-07-30  Mark Mitchell  <mark@codesourcery.com>
64
65	* BASE-VER: Bump.
66	* DEV-PHASE: Mark as prerelease.
67
682007-07-25  Steve Ellcey  <sje@cup.hp.com>
69
70	PR target/32218
71	* tree-vect-patterns.c (vect_pattern_recog_1): Check for valid type.
72
732007-07-25  Dorit Nuzman  <dorit@il.ibm.com>
74	    Devang Patel  <dpatel@apple.com>
75
76	PR tree-optimization/25413
77	* targhooks.c (default_builtin_vector_alignment_reachable): New.
78	* targhooks.h (default_builtin_vector_alignment_reachable): New.
79	* tree.h (contains_packed_reference): New.
80	* expr.c (contains_packed_reference): New.
81	* tree-vect-analyze.c (vector_alignment_reachable_p): New.
82	(vect_enhance_data_refs_alignment): Call
83	vector_alignment_reachable_p.
84	* target.h (vector_alignment_reachable): New builtin.
85	* target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New.
86	* config/rs6000/rs6000.c (rs6000_vector_alignment_reachable): New.
87	(TARGET_VECTOR_ALIGNMENT_REACHABLE): Define.
88
892007-07-24  Richard Guenther  <rguenther@suse.de>
90
91	Backport from mainline:
92	2007-07-16  Richard Guenther  <rguenther@suse.de>
93		    Uros Bizjak  <ubizjak@gmail.com>
94
95	* tree-if-conv.c (find_phi_replacement_condition): Unshare "*cond"
96	before forcing it to gimple operand.
97
982007-07-24  Richard Guenther  <rguenther@suse.de>
99
100	PR tree-optimization/32723
101	Backport from mainline:
102	2007-03-09  Daniel Berlin  <dberlin@dberlin.org>
103
104        * tree-ssa-structalias.c (shared_bitmap_info_t): New structure.
105        (shared_bitmap_table): New variable.
106        (shared_bitmap_hash): New function.
107        (shared_bitmap_eq): Ditto
108        (shared_bitmap_lookup): Ditto.
109        (shared_bitmap_add): Ditto.
110        (find_what_p_points_to): Rewrite to use shared bitmap hashtable.
111        (init_alias_vars): Init shared bitmap hashtable.
112        (delete_points_to_sets): Delete shared bitmap hashtable.
113
1142007-07-23  Bernd Schmidt  <bernd.schmidt@analog.com>
115
116	* reload1.c (choose_reload_regs): Set reload_spill_index for regs
117	chosen during find_reloads.
118
1192007-07-19  Release Manager
120
121	* GCC 4.2.1 released.
122
1232007-07-18  Paolo Bonzini  <bonzini@gnu.org>
124
125	Revert:
126
127	2007-07-09  Paolo Bonzini  <bonzini@gnu.org>
128
129	PR middle-end/32004
130	* function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
131
132	2007-07-06  Paolo Bonzini  <bonzini@gnu.org>
133
134	PR middle-end/32004
135	* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
136	pass_match_asm_constraints): New.
137	* passes.c (init_optimization_passes): Add new pass.
138	* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
139	* function.h (struct function): Add has_asm_statement bit.
140	(current_function_has_asm_statement): New.
141	* tree-pass.h (pass_match_asm_constraints): New.
142
1432007-07-16  Paul Brook  <paul@codesourcery.com>
144
145	PR target/32753
146	gcc/
147	* config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn.
148
1492007-07-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
150
151	PR target/32538
152	* config/mips/iris6.h (LIBGCC_SPEC): Add libm.
153
1542007-07-09  Paolo Bonzini  <bonzini@gnu.org>
155
156	PR middle-end/32004
157	* function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
158
1592007-07-09  Uros Bizjak  <ubizjak@gmail.com>
160
161	PR tree-optimization/32681
162	* tree-if-conv.c (find_phi_replacement_condition): Use the condition
163	saved in second_edge->aux when first_bb is a loop header.
164
1652007-07-07 Anatoly Sokolov <aesok@post.ru>
166
167	PR target/31331
168	* config/avr/avr.c (avr_naked_function_p): Handle receiving a type
169	rather than a decl. 
170	(avr_attribute_table): Make "naked" attribute apply to function types
171	rather than to decls.
172	(avr_handle_fntype_attribute): New function.
173
1742007-07-06  Paolo Bonzini  <bonzini@gnu.org>
175
176	PR middle-end/32004
177	* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
178	pass_match_asm_constraints): New.
179	* passes.c (init_optimization_passes): Add new pass.
180	* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
181	* function.h (struct function): Add has_asm_statement bit.
182	(current_function_has_asm_statement): New.
183	* tree-pass.h (pass_match_asm_constraints): New.
184
1852007-07-06  Uros Bizjak  <ubizjak@gmail.com>
186
187	PR rtl-optimization/32450
188	* function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
189	to ensure that instructions are not moved into the prologue when
190	profiling is on.
191
1922007-07-04  Richard Guenther  <rguenther@suse.de>
193
194	PR tree-optimization/32500
195	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
196	Only use basic blocks that are always executed to infer loop bounds.
197
1982007-07-04  Uros Bizjak  <ubizjak@gmail.com>
199
200	PR tree-optimization/31966
201	PR tree-optimization/32533
202	* tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not
203	"basic_block" description as its third argument.  Update function
204	calls to get destination bb from "edge" argument.  Save "cond" into
205	aux field of the edge.  Update prototype for changed arguments.
206	(if_convertible_loop_p): Clear aux field of incoming edges if bb
207	contains phi node.
208	(find_phi_replacement_condition): Operate on incoming edges, not
209	on predecessor blocks.  If there is a condition saved in the
210	incoming edge aux field, AND it with incoming bb predicate.
211	Return source bb of the first edge.
212	(clean_predicate_lists): Clean aux field of outgoing node edges.
213	(tree_if_conversion): Do not initialize cond variable. Move
214	variable declaration into the loop.
215	(replace_phi_with_cond_gimple_modify_stmt): Remove unneded
216	initializations of new_stmt, arg0 and arg1 variables.
217
2182007-07-04  Kaz Kojima  <kkojima@gcc.gnu.org>
219
220	PR target/32506
221	Backport from mainline.
222	* config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand
223	predicate instead of target_operand.
224	(divsi3_i1_media, divsi3_media_2): Likewise.
225
2262007-07-03  Richard Guenther  <rguenther@suse.de>
227
228	Backport from mainline:
229	2006-12-11  Zdenek Dvorak <dvorakz@suse.cz>
230
231	PR rtl-optimization/30113
232	* loop-iv.c (implies_p): Require the mode of the operands to be
233	scalar.
234
2352007-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
236
237	PR target/28307
238	* gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
239	(__gthrw_pragma): Provide default definition.
240	(__gthrw2): Use it.
241	* gthr-posix.c (__gthrw_pragma): Define.
242
2432007-07-02  Jakub Jelinek  <jakub@redhat.com>
244
245	PR libgomp/32468
246	* omp-low.c (check_combined_parallel): New function.
247	(lower_omp_parallel): Call it via walk_stmts, set
248	OMP_PARALLEL_COMBINED if appropriate.
249	(determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS
250	isn't the only statement in WS_ENTRY_BB or OMP_RETURN
251	the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED,
252	don't consider it as combined parallel.
253
2542007-06-30  Alexandre Oliva  <aoliva@redhat.com>
255
256	* dwarf2out.c (dwarf2out_finish): Accept namespaces as context of
257	limbo die nodes.
258
2592007-06-28  Seongbae Park  <seongbae.park@gmail.com>
260
261	* config/arm/arm.c (arm_get_frame_offsets): Set
262	offsets->locals_base to avoid negative stack size.
263	(thumb_expand_prologue): Assert on negative stack size.
264
2652007-06-28  Jakub Jelinek  <jakub@redhat.com>
266
267	* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
268	decl is non-external for AIX ABI.
269
2702007-06-28  David Edelsohn  <edelsohn@gnu.org>
271
272	* config/rs6000/predicates.md (current_file_function_operand):
273	Ensure the symbol is non-external for AIX ABI.
274
2752007-06-21  H.J. Lu  <hongjiu.lu@intel.com>
276
277	* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI.
278	(ix86_init_mmx_sse_builtins): Add __builtin_ia32_vec_ext_v16qi.
279	(ix86_expand_builtin): Handle IX86_BUILTIN_VEC_EXT_V16QI.
280
2812007-06-21  Jakub Jelinek  <jakub@redhat.com>
282
283	PR middle-end/32362
284	* omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL,
285	but decl is a global var, instead return decl.
286	* gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses
287	even for is_global_var decls, if they are private in some outer
288	context.
289
2902007-06-21  Uros Bizjak  <ubizjak@gmail.com>
291
292	PR target/32389
293	* config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL.
294	* config/i386/i386.c (assign_386_stack_local): Assert that
295	SLOT_VIRTUAL is valid only before virtual regs are instantiated.
296	(ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]:
297	Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP.
298	* config/i386/i386.md (truncdfsf2, truncxfsf2, truncxfdf2): Ditto.
299
3002007-06-20  Jakub Jelinek  <jakub@redhat.com>
301
302	PR inline-asm/32109
303	* gimplify.c (gimplify_asm_expr): Issue error if type is addressable
304	and !allows_mem.
305
306	PR middle-end/32285
307	* calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
308	if ACCUMULATE_OUTGOING_ARGS.
309
3102007-06-20  Kaz Kojima  <kkojima@gcc.gnu.org>
311
312	PR rtl-optimization/28011
313	Backport from mainline.
314	* reload.c (push_reload): Set dont_share if IN appears in OUT
315	also when IN is a PLUS rtx.
316	(reg_overlap_mentioned_for_reload_p): Return true if X and IN
317	are same PLUS rtx.
318
3192007-06-19  Richard Guenther  <rguenther@suse.de>
320	Michael Matz  <matz@suse.de>
321
322	PR tree-optimization/30252
323	* tree-ssa-structalias.c (solution_set_add): Make sure to
324	preserve all relevant vars.
325	(handle_ptr_arith): Make sure to only handle positive
326	offsets.
327	(push_fields_onto_fieldstack): Create fields for empty
328	bases.
329
3302007-06-19  Jakub Jelinek  <jakub@redhat.com>
331
332	PR tree-optimization/32353
333	* tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL.
334
3352007-06-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
336
337	* config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the
338	return mode from the builtin itself.
339	(sparc_fold_builtin): Fix cast of zero constant.
340
3412007-06-15  Diego Novillo  <dnovillo@google.com>
342
343	PR 32327
344	* tree-ssa-operands.c (build_ssa_operands): Initially assume
345	that the statement does not take any addresses.
346
3472007-06-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
348
349	* config/sparc/sparc.c (sparc_override_options): Initialize
350	fpu mask correctly.
351
3522007-06-09  Ian Lance Taylor  <iant@google.com>
353
354	PR tree-optimization/32169
355	* tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and
356	CONVERT_EXPR, check whether min and max both converted to an
357	overflow infinity representation.
358
3592007-06-08  Kaz Kojima  <kkojima@gcc.gnu.org>
360
361	PR target/32163
362	Backport from mainline.
363	* config/sh/sh.md (symGOT_load): Don't schedule insns when
364	the symbol is generated with the stack protector.
365
3662007-06-06  Ian Lance Taylor  <iant@google.com>
367
368	* fold-const.c (merge_ranges): If range_successor or
369	range_predecessor fail, just return 0.
370
3712007-06-05  Ian Lance Taylor  <iant@google.com>
372
373	* tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a
374	PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p.
375	(extract_range_from_assert): Set TREE_NO_WARNING when creating an
376	expression.
377	(test_for_singularity): Likewise.
378
3792007-06-04  Ian Lance Taylor  <iant@google.com>
380
381	* tree-vrp.c (adjust_range_with_scev): When loop is not expected
382	to overflow, reduce overflow infinity to regular infinity.
383	(vrp_var_may_overflow): New static function.
384	(vrp_visit_phi_node): Check vrp_var_may_overflow.
385
3862007-05-31  H.J. Lu  <hongjiu.lu@intel.com>
387
388	Backport from mainline:
389	2007-05-25  H.J. Lu  <hongjiu.lu@intel.com>
390
391	* config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it
392	with MASK_SSE2.
393	(__builtin_ia32_vec_ext_v2di): Likewise.
394	(__builtin_ia32_vec_ext_v4si): Likewise.
395	(__builtin_ia32_vec_ext_v8hi): Likewise.
396	(__builtin_ia32_vec_set_v8hi): Likewise.
397
3982007-05-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
399
400	Backport from mainline:
401	2007-05-05  Aurelien Jarno  <aurelien@aurel32.net>
402
403	* config/pa/pa.md: Split tgd_load, tld_load and tie_load
404	into pic and non-pic versions. Mark r19 as used for 
405	tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used 
406	for tgd_load, tld_load and tie_load .
407	* config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic
408	version of tgd_load, tld_load and tie_load depending on the 
409	value of flag_pic.
410
4112007-05-27  Daniel Berlin <dberlin@dberlin.org>
412
413	Fix PR/30052
414	Backport PTA solver from mainline
415
416	* pointer-set.c: Copy from mainline
417	* pointer-set.h: Ditto.
418	* tree-ssa-structalias.c: Copy solver portions from mainline.
419	* Makefile.in (tree-ssa-structalias.o): Update dependencies
420
4212007-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
422
423	* tree-vrp.c (compare_names): Initialize sop.
424
4252007-05-30  Jakub Jelinek  <jakub@redhat.com>
426
427	PR tree-optimization/31769
428	* except.c (duplicate_eh_regions): Clear prev_try if
429	ERT_MUST_NOT_THROW region is inside of ERT_TRY region.
430
4312007-05-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>
432
433	PR tree-opt/32100
434	* fold-const.c (tree_expr_nonnegative_warnv_p): Don't
435	return true when truth_value_p is true and the type
436	is of signed:1.
437
4382007-05-27  H.J. Lu  <hongjiu.lu@intel.com>
439
440	Backport from mainline:
441	2007-05-25  Uros Bizjak  <ubizjak@gmail.com>
442
443	* config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate
444	"memory" attribute for "sseishft" type insn without operands[2].
445
446	2007-05-25  H.J. Lu  <hongjiu.lu@intel.com>
447
448	* config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift.
449
4502007-05-22  Ian Lance Taylor  <iant@google.com>
451
452	* tree-vrp.c (avoid_overflow_infinity): New static function,
453	broken out of set_value_range_to_value.
454	(set_value_range_to_value): Call avoid_overflow_infinity.
455	(extract_range_from_assert): Likewise.
456
4572007-05-23  Chen Liqin  <liqin@sunnorth.com.cn>
458
459	PR target/30987
460	* config/score/misc.md (bitclr_c, bitset_c, bittgl_c): remove.
461	* config/score/predicate.md (const_pow2, const_npow2): remove.
462	* config/score/score.h (ASM_OUTPUT_EXTERNAL): add ASM_OUTPUT_EXTERNAL undef.
463	PR target/30474
464	* config/score/score.c (score_print_operand): makes sure that only lower 
465	bits are used.
466	
4672007-05-21  Uros Bizjak  <ubizjak@gmail.com>
468
469	PR target/31167
470	Backport from mainline.
471	* config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use
472	x86_64_general_operand as operand[2] predicate.  Remove "iF"
473	from operand constraints and use "e" constraint instead.
474	(*subti3_1, *subti3_1 splitter): Ditto.
475	(*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as
476	operand[1] predicate.
477
4782007-05-21  Uros Bizjak  <ubizjak@gmail.com>
479
480	PR target/30041
481	Backport from mainline.
482	* config/i386/sse.md ("*sse3_movddup"): Use operands[0] and
483	operands[1] in insn constraint.  Correct type attribute to sselog1.
484
4852007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
486
487	PR target/31701
488	Backport from mainline.
489	* config/sh/sh.c (output_stack_adjust): Avoid using the frame
490	register itself to hold the offset constant.  Tell flow the use
491	of r4 and r5 when they are used.
492
4932007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
494
495	PR target/31480
496	Backport from mainline.
497	* config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
498	is null.
499
5002007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
501
502	PR target/31022
503	Backport from mainline.
504	* config/sh/sh.c (sh_adjust_cost): Use the result of single_set
505	instead of PATTERN.
506
5072007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
508
509	PR target/27405
510	Backport from mainline.
511	* config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove.
512	(cmpsi{eq,gt,gtu}{si,di}_media): Rename to
513	cmp{eq,gt,gtu}{si,di}_media.
514	(*cmpne0si_media): Remove.
515	(*movsicc_umin): Adjust gen_cmp*_media call.
516	(unordered): Change the mode of unordered and operands[1] to
517	SImode.
518	(seq): Adjust gen_cmp*_media calls.  Make the mode of
519	a temporary result of compare SImode if needed.  If the mode
520	of operands[0] is DImode, extend the temporary result to DImode.
521	(slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise.
522	(sunorderd): Change the mode of match_operand and unorderd to
523	SImode.
524	(cmpeq{sf,df}_media): Remove.
525	(cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media.
526	(cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand
527	and compare operation to SImode.
528
5292007-05-18  Joseph Myers  <joseph@codesourcery.com>
530
531	* config/soft-fp/double.h, config/soft-fp/extended.h,
532	config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c,
533	config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c,
534	config/soft-fp/op-2.h, config/soft-fp/op-4.h,
535	config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from
536	glibc CVS.
537
5382007-05-17  Ian Lance Taylor  <iant@google.com>
539
540	PR tree-optimization/31953
541	* tree-vrp.c (set_value_range_to_value): Add equiv parameter.
542	Change all callers.
543	(set_value_range_to_null): Call set_value_range_to_value.
544	(extract_range_from_comparison): Likewise.
545
5462007-05-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
547
548	PR rtl-optimization/31691
549	* combine.c (simplify_set): Build a new src pattern instead of
550	substituting its operands in the COMPARE case.
551
5522007-05-14  Mark Mitchell  <mark@codesourcery.com>
553
554	* BASE-VER: Set to 4.2.1.
555	* DEV-PHASE: Set to prerelease.
556
5572007-05-13  Release Manager
558
559	* GCC 4.2.0 released.
560
5612007-05-12  Richard Guenther  <rguenther@suse.de>
562
563	PR tree-optimization/31797
564	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not
565	propagate into a stmt that has volatile ops.
566
5672007-05-01  Ian Lance Taylor  <iant@google.com>
568
569	PR tree-optimization/31739
570	* tree-vrp.c (vrp_val_is_max): New static function.
571	(vrp_val_is_min): New static function.
572	(set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than
573	copying the node.
574	(set_value_range): Use vrp_val_is_{max,min}.
575	(extract_range_from_assert): Likewise.
576	(extract_range_from_binary_expr): Likewise.
577	(extract_range_from_unary_expr): Likewise.
578	(dump_value_range, vrp_meet): Likewise.
579	(vrp_visit_phi_node): Likewise.
580	* tree.c (build_distinct_type_copy): Revert change of 2007-04-27.
581
5822007-05-01  Joseph Myers  <joseph@codesourcery.com>
583
584	* config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo.
585
5862007-04-27  Anatoly Sokolov <aesok@post.ru>
587
588	* config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and 
589	ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture.
590	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
591	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
592
5932007-04-27  Ian Lance Taylor  <iant@google.com>
594
595	PR middle-end/31710
596	* tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or
597	TYPE_MAX_VALUE exist, convert them to the new type.
598
5992007-04-26  Ian Lance Taylor  <iant@google.com>
600
601	PR target/28675
602	* reload.c (find_reloads_subreg_address): If the address was valid
603	in the original mode but not in the new mode, reload the whole
604	address.
605
6062007-04-26  Ulrich Weigand  <uweigand@de.ibm.com>
607
608	PR middle-end/30761
609	* reload1.c (eliminate_regs_in_insn): In the single_set special
610	case, attempt to re-recognize the insn before falling back to
611	having reload fix it up.
612
6132007-04-26  Richard Guenther  <rguenther@suse.de>
614	Daniel Berlin  <dberlin@dberlin.org>
615
616	PR tree-optimization/30567
617	* tree-ssa-structalias.c (update_alias_info): Record dereference
618	also if ESCAPE_STORED_IN_GLOBAL.
619
6202007-04-26  Jakub Jelinek  <jakub@redhat.com>
621
622	PR c++/31598
623	* tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE.
624
625	PR tree-optimization/30558
626	* tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW
627	clear this_state.prev_try.
628
6292007-04-25  Anatoly Sokolov <aesok@post.ru>
630
631	PR target/18989
632 	* config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine.
633
6342007-04-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>
635            Roger Sayle  <roger@eyesopen.com>
636
637	PR middle-end/30222
638	* expmed.c (make_tree): Use the correct type, i.e. the inner
639	type, when constructing the individual elements of a CONST_VECTOR.
640
6412007-04-24  Ian Lance Taylor  <iant@google.com>
642
643	PR tree-optimization/31605
644	* tree-vrp.c (set_value_range): Check that min and max are not
645	both overflow infinities.
646	(set_value_range_to_value): New static function.
647	(extract_range_from_binary_expr): Call set_value_range_to_value.
648	(extract_range_from_expr): Likewise.
649	(extract_range_from_unary_expr): Likewise.  Don't create a range
650	which overflows on both sides.
651	(vrp_meet): Check for a useless range.
652	(vrp_visit_phi_node): If we see a constant which looks like an
653	overflow infinity, turn off the TREE_OVERFLOW flag.
654
6552007-04-24  Ian Lance Taylor  <iant@google.com>
656
657	PR tree-optimization/31602
658	* tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for
659	conditionals in the copied loop header.
660	* tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow
661	warnings if TREE_NO_WARNING is set.
662	* doc/invoke.texi (Warning Options): Clarify that
663	-Wstrict-overflow does not warn about loops.
664
6652007-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>
666
667	PR target/31641
668	* config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length
669	argument of 0 for memset.
670	(s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use
671	unsigned shift instead of the signed variant.
672
6732007-04-24  Daniel Franke  <franke.daniel@gmail.com>
674
675	* doc/invoke.texi: Removed leading '-' from option index entries.
676
6772007-04-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
678
679	PR middle-end/31448
680	* expr.c (reduce_to_bit_field_precision): Handle
681	CONST_INT rtx's.
682
6832007-04-20  Richard Henderson  <rth@redhat.com>
684
685	PR target/28623
686	* config/alpha/alpha.c (get_unaligned_address): Remove extra_offset
687	argument; update all callers.
688	(get_unaligned_offset): New.
689	* config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use
690	get_unaligned_address, just pass on the address directly.
691	(unaligned_extendqidi): Use gen_lowpart instead of open-coding
692	the subreg in the helper patterns.
693	(unaligned_extendqidi_le): Use get_unaligned_offset.
694	(unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise.
695	(unaligned_extendhidi_be): Likewise.
696	(unaligned_extendhidi): Tidy.
697	* config/alpha/alpha-protos.h: Update.
698
6992007-04-21  Richard Guenther  <rguenther@suse.de>
700
701	PR middle-end/31136
702	* fold-const.c (fold_unary): Call fold_convert_const on the
703	original tree.
704
7052007-04-20  Richard Henderson  <rth@redhat.com>
706
707	* config/alpha/linux.h (CPP_SPEC): Undef before redefine.
708
7092007-04-20  Bernd Schmidt  <bernd.schmidt@analog.com>
710
711	* reload.c (combine_reloads): When trying to use a dying register,
712	check whether it's uninitialized and don't use if so.
713
7142007-04-20  Jakub Jelinek  <jakub@redhat.com>
715
716	* config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED
717	for __builtin_ia32_cmpordss.
718
719	PR tree-optimization/31632
720	* fold-const.c (fold_binary): Use op0 and op1 instead of arg0
721	and arg1 for optimizations of comparison against min/max values.
722	Fold arg0 to arg1's type for optimizations of comparison against
723	min+1 and max-1 values.
724
7252007-04-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
726
727	PR rtl-optimization/29841
728	* cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional
729	trap instructions.
730	* sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions
731	that may cause control flow transfer from being moved.
732
7332007-04-18  Anatoly Sokolov <aesok@post.ru>
734
735	* config/avr/avr.c (ptrreg_to_str): Replace error() with
736	output_operand_lossage().
737
7382007-04-17  Anatoly Sokolov <aesok@post.ru>
739
740	PR target/30483
741	* config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with
742	error().
743
7442007-04-17  Jan Hubicka  <jh@suse.cz>
745
746	PR middle-end/30700
747	* dwarf2out.c (reference_to_unused): Ask cgraph for functions
748	availablility; add more sanity checking; ask varpool only about
749	VAR_DECL.
750
7512007-04-17  H.J. Lu  <hongjiu.lu@intel.com>
752
753	* Backport from mainline:
754	2007-04-17  H.J. Lu  <hongjiu.lu@intel.com>
755
756	* config/i386/sse.md (sse_vmaddv4sf3): Use register_operand
757	on "0".
758	(sse_vmmulv4sf3): Likewise.
759	(sse2_vmaddv2df3): Likewise.
760	(sse2_vmmulv2df3): Likewise.
761
7622007-04-16  Matthias Klose  <doko@debian.org>
763
764	* config/alpha/linux.h (CPP_SPEC): Define.
765	* config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend.
766
7672007-04-16  Anatoly Sokolov <aesok@post.ru>
768
769	* config/avr/avr.c (avr_arch_types): Rearranging  array.
770	(enum avr_arch): Add.
771	(avr_mcu_types): Use avr_arch enumeration constants instead of 
772	numbers.
773	* config/avr/avr.h (LINK_SPEC): Simplify.
774
7752007-04-16  Jan Hubicka  <jh@suse.cz>
776
777	PR target/27869
778	* config/i386/sse.md
779	(sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
780	(sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
781	(sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
782	(sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.
783
7842007-04-16  H.J. Lu  <hongjiu.lu@intel.com>
785
786	* Backport from mainline:
787	2007-04-16  H.J. Lu  <hongjiu.lu@intel.com>
788
789	PR target/31582
790	* config/i386/i386.c (ix86_expand_vec_set_builtin): Make a
791	copy of source, pass it to ix86_expand_vector_set and return
792	it as target.
793
7942007-04-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>
795
796	PR c/31520
797	* c-decl.c (finish_decl): Grab the type of the decl after the call
798	to store_init_value.
799
8002007-04-14  Jakub Jelinek  <jakub@redhat.com>
801
802	PR c++/25874
803	* omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators,
804	post dominators and cleanup cfg before returning.
805
8062007-04-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
807
808	* pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
809	null before emitting a .nsubspa directive.
810
8112007-04-08  Anatoly Sokolov <aesok@post.ru>
812
813	PR target/29932
814	* config/avr/predicates.md (io_address_operand): Delete predicate.
815	(low_io_address_operand): Don't use 'mode' argument.
816	(higth_io_address_operand): Rename ...
817	(high_io_address_operand): ... to this. Don't use 'mode' argument.
818	* config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
819	for above change.
820
8212007-04-07  Anatoly Sokolov <aesok@post.ru>
822
823	PR target/30289
824	* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as 
825	earlyclobber.
826
8272007-04-05  Anatoly Sokolov <aesok@post.ru>
828
829	PR target/25448
830	* config/avr/avr.c (avr_handle_fndecl_attribute): Use the 
831	DECL_ASSEMBLER_NAME, not the DECL_NAME.
832
8332007-04-04  Richard Henderson  <rth@redhat.com>
834
835	PR target/31361
836	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
837	v8hi_ftype_v8hi_v2di, v4si_ftype_v4si_v2di.  Use like-types for
838	the variable shift builtins.
839	(ix86_expand_builtin): Properly expand the variable shift builtins.
840	* config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make
841	operand 2 be TImode.
842	* config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
843	_mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
844	_mm_srli_epi32, _mm_srli_epi64): Turn into macros.
845	(_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
846	(_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
847	_mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
848	two-vector shift builtins.
849
8502007-04-04  Chen liqin  <liqin@sunnorth.com.cn>
851
852	* config/score/crti.asm: Change _bss_start to __bss_start.
853	* config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
854	(OUTGOING_REG_PARM_STACK_SPACE) update.
855	* config/score/score.opt: add options to make backend support
856	score5, score5u, score7 and score7d.
857	* config/score/score.md: Likewise.
858	* config/score/misc.md: Likewise.
859	* config/score/mac.md: Likewise.
860	* doc/invoke.texi: Likewise.
861	* doc/md.texi: update constraints define.
862
8632007-04-03  Stuart Hastings  <stuart@apple.com>
864
865	PR 31281
866	* objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile
867	from rethrow decl.
868	* cse.c (record_jump_equiv): Bail out on CCmode comparisons.
869
8702007-04-03  Jakub Jelinek  <jakub@redhat.com>
871
872	PR middle-end/30704
873	* fold-const.c (native_encode_real): Encode real.c provided longs
874	as a series of 32-bit native integers.
875	(native_interpret_real): Interpret buffer as a series of 32-bit
876	native integers.
877
8782007-04-02  Eric Christopher  <echristo@apple.com>
879
880	* doc/invoke.texi (i386 and x86-64 Options): Document -m64
881	limitations on darwin.
882
8832007-04-02  Anatoly Sokolov <aesok@post.ru>
884
885	PR target/31137
886	* config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.
887
8882007-04-02  H.J. Lu  <hongjiu.lu@intel.com>
889
890	* Backport from mainline:
891	2007-03-28  Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
892
893	PR target/31380
894	* config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX.
895
8962007-03-30  Anatoly Sokolov <aesok@post.ru>
897
898	* config/avr/avr.c (avr_override_options): Clear
899	'flag_delete_null_pointer_checks'.
900
9012007-03-29  Michael Matz  <matz@suse.de>
902
903	* builtins.c (expand_builtin_sync_operation,
904	expand_builtin_compare_and_swap,
905	expand_builtin_lock_test_and_set): Care for extending CONST_INTs
906	correctly.
907
908	* config/i386/sync.md (sync_double_compare_and_swapdi_pic,
909	sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint
910	for operand 3.
911
9122007-03-28  Mike Stump  <mrs@apple.com>
913
914	* config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add.
915	* config/darwin.h (MAX_OFILE_ALIGNMENT): Fix.
916	* config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef.
917
9182007-03-27  Anatoly Sokolov <aesok@post.ru>
919
920	* config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4'
921	architecture.
922
9232007-03-26  Ian Lance Taylor  <iant@google.com>
924
925	PR tree-optimization/31345
926	* tree-vrp.c (extract_range_from_binary_expr): Turn ranges like
927	[+INF, +INF(OVF)] into VARYING.
928
9292007-03-23  Martin Michlmayr  <tbm@cyrius.com>
930
931	* doc/invoke.texi (-fforce-mem): Update documentation to reflect
932	that this option will be removed in 4.3 rather than 4.2.
933	* opts.c (common_handle_option): Likewise.
934
9352007-03-21  Mike Stump  <mrs@apple.com>
936
937	* c.opt: Fixup for Objective-C/C++.
938
9392007-03-21  Richard Henderson  <rth@redhat.com>
940
941	PR target/31245
942	* config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
943	* config/i386/mmintrin.h (__m64): Likewise.
944	* config/i386/xmmintrin.h (__m128): Likewise.
945
9462007-03-20  Jakub Jelinek  <jakub@redhat.com>
947
948	PR c/30762
949	* c-typeck.c (convert_for_assignment): Call comptypes for
950	RECORD_TYPE or UNION_TYPE.
951
952	PR inline-asm/30505
953	* reload1.c (reload): Do invalid ASM checking after
954	cleanup_subreg_operands.
955
9562007-03-19  Jeff Law  <law@redhat.com>
957
958	* tree-cfg.c (find_taken_edge): Tighten conditions for
959	optimizing computed gotos.
960
9612007-03-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
962
963	* pa.c (attr_length_call): Partially revert change of 2007-03-09.
964	(output_call): Likewise.
965
9662007-03-16  Alexandre Oliva  <aoliva@redhat.com>
967
968	PR debug/29906
969	* dwarf2out.c (force_type_die): Adjust comment.
970	(dwarf2out_imported_module_or_decl): Handle base AT_import types.
971
9722007-03-15  Seongbae Park <seongbae.park@gmail.com>
973
974	PR tree-optimization/30590
975	* tree-nrv.c (tree_nrv): Check for the partial update
976	of the return value.
977
9782007-03-14  Ian Lance Taylor  <iant@google.com>
979
980	* tree-vrp.c (value_inside_range): Ignore fold warnings.
981
9822007-03-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
983
984	PR target/31123
985	* pa.md (vdepi_ior): Don't allow zero length deposit.  Likewise for
986	two unamed patterns.
987
9882007-03-12  Brooks Moses  <brooks.moses@codesourcery.com>
989
990	* doc/extend.texi: Edit "gnu_inline" documentation.
991	* doc/invoke.texi: Edit "-fgnu89-inline" documentation.
992
9932007-03-12  Brooks Moses  <brooks.moses@codesourcery.com>
994
995	* doc/extend.texi: Fix cpp.info cross-reference.
996	* doc/invoke.texi: Fix cpp.info cross-reference.
997	* doc/passes.texi: Fix gcc.info cross-reference.
998
9992007-03-12  Daniel Berlin  <dberlin@dberlin.org>
1000
1001	Fix PR tree-optimization/28544
1002	* tree-ssa-operands.c (add_virtual_operand):
1003	Move assert triggering on aliasing violations into
1004	debugging define
1005
10062007-03-12  Ian Lance Taylor  <iant@google.com>
1007
1008	* c.opt (fgnu89-inline): New option.
1009	* c-opts.c (c_common_post_options): Warn about -fno-gnu89-inline.
1010	* c-common.c (c_common_attributes): Add gnu_inline attribyte.
1011	(handle_gnu_inline_attribute): New static function.
1012	* c-decl.c (start_function): Warn if we see a non-static inline
1013	function in C99 mode.
1014	* c-cppbuiltin.c (c_cpp_builtins): Define __GNUC_GNU_INLINE__.
1015	* doc/invoke.texi (Option Summary): Mention -fgnu89-inline.
1016	(C Dialect Options): Document -fgnu89-inline.
1017	* doc/extend.texi (Function Attributes): Document gnu_inline.
1018	(Inline): Mention that C99 inline will be implemented in 4.3.
1019	Refer to ways to get the old handling.
1020	* doc/cpp.texi (Common Predefined Macros): Document
1021	__GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
1022
10232007-03-12  Richard Henderson  <rth@redhat.com>
1024
1025	* config/alpha/alpha.c (alpha_elf_section_type_flags): New.
1026	(TARGET_SECTION_TYPE_FLAGS): New.
1027
10282007-03-12  Richard Henderson  <rth@redhat.com>
1029
1030	* config/darwin.c (machopic_reloc_rw_mask): New.
1031	(machopic_select_section): Use decl_readonly_section.
1032	* config/darwin-protos.h (machopic_reloc_rw_mask): Declare.
1033	* config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New.
1034
10352007-02-14  Richard Guenther  <rguenther@suse.de>
1036
1037	Backport from mainline:
1038	* flags.h (issue_strict_overflow_warning): Convert to a macro.
1039
10402007-03-11  Ian Lance Taylor  <iant@google.com>
1041
1042	Backport -fstrict-overflow/-Wstrict-overflow from mainline:
1043	2007-03-11  Ian Lance Taylor  <iant@google.com>
1044
1045	* tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
1046	the *_DIV_EXPR codes correctly with overflow infinities.
1047
1048	2007-03-09  Ian Lance Taylor  <iant@google.com>
1049
1050	* opts.c (common_handle_option): Treat -Wstrict-overflow (with no
1051	argument) like -Wstrict-overflow=2.
1052	* doc/invoke.texi (Warning Options): Update documentation.
1053
1054	2007-03-08  Ian Lance Taylor  <iant@google.com>
1055
1056	* tree-vrp.c: Include "toplev.h" and "intl.h".
1057	(usable_range_p): New static function.
1058	(compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for
1059	overflowed values, juts set *strict_overflow_p.
1060	(compare_values): Only return -2 if one of the operands is not a
1061	constant.
1062	(compare_ranges): Call usable_range_p.
1063	(compare_range_with_value): Likewise.
1064	(vrp_evaluate_conditional_warnv): Rename from
1065	vrp_evaluate_conditional.  Make static.  Change all callers.
1066	(vrp_evaluate_conditional): New function.
1067	(simplify_div_or_mod_using_ranges): Issue warning about reliance
1068	on signed overflow.
1069	(simplify_abs_using_ranges): Likewise.
1070	(simplify_stmt_for_jump_threading): Add within_stmt parameter.
1071	* tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add
1072	within_stmt parameter.
1073	* tree-ssa-propagate.c (fold_predicate_in): Update call to
1074	vrp_evaluate_conditional.
1075	* tree-ssa-threadedge.c
1076	(record_temporary_equivalences_from_stmts_at_dest): Change
1077	simplify parameter to take a second tree parameter.
1078	(simplify_control_stmt_condition): Likewise.
1079	(thread_across_edge): Likewise.
1080	* tree-flow.h (vrp_evaluate_conditional): Update declaration.
1081	(thread_across_edge): Likewise.
1082	* Makefile.in (tree-vrp.o): Depend upon toplev.h and intl.h.
1083
1084	2007-03-05  Ian Lance Taylor  <iant@google.com>
1085
1086	* tree-vrp.c (extract_range_from_assert): Don't try to handle a
1087	half-range if the other side is an overflow infinity.
1088
1089	2007-03-02  Ian Lance Taylor  <iant@google.com>
1090
1091	Used signed infinities in VRP.
1092	* tree-vrp.c (uses_overflow_infinity): New static function.
1093	(supports_overflow_infinity): New static function.
1094	(make_overflow_infinity): New static function.
1095	(negative_overflow_infinity): New static function.
1096	(positive_overflow_infinity): New static function.
1097	(is_negative_overflow_infinity): New static function.
1098	(is_positive_overflow_infinity): New static function.
1099	(is_overflow_infinity): New static function.
1100	(overflow_infinity_range_p): New static function.
1101	(compare_values_warnv): New function split out of compare_values.
1102	(compare_value): Call it.
1103	(set_value_range_to_nonnegative): Add overflow_infinity
1104	parameter.  Change caller.
1105	(vrp_expr_computes_nonnegative): Add strict_overflow_p parameter.
1106	Change callers.
1107	(vrp_expr_computes_nonzero): Likewise.
1108	(compare_ranges, compare_range_with_value): Likewise.
1109	(compare_name_with_value, compare_names): Likewise.
1110	(vrp_evaluate_conditional): Likewise.
1111	(set_value_range): Handle infinity
1112	(vrp_operand_equal_p, operand_less_p): Likewise.
1113	(extract_range_from_assert): Likewise.
1114	(vrp_int_const_binop): Likewise.
1115	(extract_range_from_binary_expr): Likewise.
1116	(extract_range_from_unary_expr): Likewise.
1117	(extract_range_from_comparison): Likewise.
1118	(extract_range_from_expr): Likewise.
1119	(dump_value_range): Likewise.
1120	(vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise.
1121	(test_for_singularity): Likewise.
1122	(vrp_int_const_binop): Remove inline qualifier.
1123	(adjust_range_with_scev): Add comment.
1124	* tree-flow.h (vrp_evaluate_conditional): Update declaration.
1125
1126	2007-02-13  Ian Lance Taylor  <iant@google.com>
1127
1128	* common.opt: Add Wstrict-overflow and Wstrict-overflow=.
1129	* flags.h (warn_strict_overflow): Declare.
1130	(enum warn_strict_overflow_code): Define.
1131	(issue_strict_overflow_warning): New static inline function.
1132	* opts.c (warn_strict_overflow): New variable.
1133	(common_handle_option): Handle OPT_Wstrict_overflow and
1134	OPT_Wstrict_overflow_.
1135	* c-opts.c (c_common_handle_option): Set warn_strict_overflow for
1136	OPT_Wall.
1137	* fold-const.c: Include intl.h.
1138	(fold_deferring_overflow_warnings): New static variable.
1139	(fold_deferred_overflow_warning): New static variable.
1140	(fold_deferred_overflow_code): New static variable.
1141	(fold_defer_overflow_warnings): New function.
1142	(fold_undefer_overflow_warnings): New function.
1143	(fold_undefer_and_ignore_overflow_warnings): New function.
1144	(fold_deferring_overflow_warnings_p): New function.
1145	(fold_overflow_warning): New static function.
1146	(make_range): Add strict_overflow_p parameter.  Change all
1147	callers.
1148	(extract_muldiv, extract_muldiv_1): Likewise.
1149	(fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling
1150	tree_expr_nonnegative_p.
1151	(fold_negate_expr): Call fold_overflow_warning.
1152	(fold_range_test): Likewise.
1153	(fold_comparison): Likewise.
1154	(fold_binary): Likewise.  Call tree_expr_nonnegative_warnv_p
1155	instead of tree_expr_nonnegative_p.
1156	(tree_expr_nonnegative_warnv_p): Rename from
1157	tree_expr_nonnegative_p, add strict_overflow_p parameter.
1158	(tree_expr_nonnegative_p): New function.
1159	(tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add
1160	strict_overflow_p parameter.
1161	(tree_expr_nonzero_p): New function.
1162	* passes.c (verify_interpass_invariants): New static function.
1163	(execute_one_pass): Call it.
1164	* tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold
1165	warnings.
1166	(number_of_iterations_exit, loop_niter_by_eval): Likewise.
1167	(estimate_numbers_of_iterations): Likewise.
1168	(scev_probably_wraps_p): Likewise.
1169	* tree-ssa-ccp.c: Include "toplev.h".
1170	(evaluate_stmt): Defer fold overflow warnings until we know we are
1171	going to optimize.
1172	(struct fold_stmt_r_data): Add stmt field.
1173	(fold_stmt_r): Defer fold overflow warnings until we know we
1174	optimized.
1175	(fold_stmt): Initialize stmt field of fold_stmt_r_data.
1176	(fold_stmt_inplace): Likewise.
1177	* tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h".
1178	(cleanup_control_expr_graph): Defer fold overflow warnings until
1179	we know we are going to optimize.
1180	* tree-cfg.c (fold_cond_expr_cond): Likewise.
1181	* tree-ssa-threadedge.c (simplify_control_stmt_condition):
1182	Likewise.
1183	* tree-vrp.c (vrp_expr_computes_nonnegative): Call
1184	tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p.
1185	* tree-ssa-loop-manip.c (create_iv): Likewise.
1186	* c-typeck.c (build_conditional_expr): Likewise.
1187	(build_binary_op): Likewise.
1188	* tree-vrp.c (vrp_expr_computes_nonzero): Call
1189	tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p.
1190	(extract_range_from_unary_expr): Likewise.
1191	* simplify-rtx.c (simplify_const_relational_operation): Warn when
1192	assuming that signed overflow does not occur.
1193	* c-common.c (pointer_int_sum): Ignore fold overflow warnings.
1194	* tree.h (tree_expr_nonnegative_warnv_p): Declare.
1195	(fold_defer_overflow_warnings): Declare.
1196	(fold_undefer_overflow_warnings): Declare.
1197	(fold_undefer_and_ignore_overflow_warnings): Declare.
1198	(fold_deferring_overflow_warnings_p): Declare.
1199	(tree_expr_nonzero_warnv_p): Declare.
1200	* doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list
1201	of warning options.
1202	(Warning Options): Document -Wstrict-overflow.
1203	* Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h.
1204	(tree-ssa-ccp.o): Likewise.
1205	(tree-cfgcleanup.o): Change errors.h dependency to toplev.h.
1206	(fold-const.o): Depend on intl.h.
1207
1208	2007-01-27  Ian Lance Taylor  <iant@google.com>
1209
1210	* common.opt: Add fstrict-overflow.
1211	* opts.c (decode_options): Set flag_strict_overflow if -O2.
1212	* flags.h (TYPE_OVERFLOW_WRAPS): Define.
1213	(TYPE_OVERFLOW_UNDEFINED): Define.
1214	(TYPE_OVERFLOW_TRAPS): Define.  This replaces TYPE_TRAP_SIGNED.
1215	Replace all uses.
1216	* tree.h (TYPE_TRAP_SIGNED): Don't define.
1217	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED.
1218	(fold_negate_expr): Likewise.
1219	(make_range): Likewise.
1220	(extract_muldiv_1): Likewise.
1221	(fold_comparison): Likewise.
1222	(fold_binary): Likewise.
1223	(tree_expr_nonnegative_p): Likewise.
1224	(tree_expr_nonzero_p): Likewise.
1225	* tree-vrp.c (compare_values): Likewise.
1226	(extract_range_from_binary_expr): Likewise.
1227	(extract_range_from_unary_expr): Likewise.
1228	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
1229	Likewise.
1230	(nowrap_type_p): Likewise.
1231	* tree-scalar-evolution.c (simple_iv): Likewise.
1232	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS.
1233	(build_range_check): Likewise.
1234	(extract_muldiv_1): Likewise.
1235	(fold_comparison): Likewise.
1236	* tree-vrp.c (vrp_int_const_binop): Likewise.
1237	(extract_range_from_unary_expr): Likewise.
1238	* convert.c (convert_to_integer): Likewise.
1239	* fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS.
1240	(fold_comparison): Likewise.
1241	(fold_binary): Likewise.
1242	* optabs.c (optab_for_tree_code): Likewise.
1243	* tree-vectorizer.c (vect_is_simple_reduction): Likewise.
1244	* simplify-rtx.c (simplify_const_relational_operation): Check
1245	flag_strict_overflow and flag_trapv.
1246	(simplify_const_relational_operation): Likewise.
1247	* doc/invoke.texi (Option Summary): Mention -fstrict-overflow.
1248	(Optimize Options): Add -fstrict-overflow to -O2 list.  Document
1249	-fstrict-overflow.
1250
1251	2007-01-17  Ian Lance Taylor  <iant@google.com>
1252
1253	* vec.h (VEC_reserve_exact): Define.
1254	(vec_gc_p_reserve_exact): Declare.
1255	(vec_gc_o_reserve_exact): Declare.
1256	(vec_heap_p_reserve_exact): Declare.
1257	(vec_heap_o_reserve_exact): Declare.
1258	(VEC_OP (T,A,reserve_exact)): New static inline function, three
1259	versions.
1260	(VEC_OP (T,A,reserve)) [all versions]: Remove handling of
1261	negative parameter.
1262	(VEC_OP (T,A,alloc)) [all versions]: Call ...reserve_exact.
1263	(VEC_OP (T,A,copy)) [all versions]: Likewise.
1264	(VEC_OP (T,a,safe_grow)) [all versions]: Likewise.
1265	* vec.c (calculate_allocation): Add exact parameter.  Change all
1266	callers.
1267	(vec_gc_o_reserve_1): New static function, from vec_gc_o_reserve.
1268	(vec_gc_p_reserve, vec_gc_o_reserve): Call vec_gc_o_reserve_1.
1269	(vec_gc_p_reserve_exact, vec_gc_o_reserve_exact): New functions.
1270	(vec_heap_o_reserve_1): New static function, from vec_heap_o_reserve.
1271	(vec_heap_p_reserve, vec_heap_o_reserve): Call vec_heap_o_reserve_1.
1272	(vec_heap_p_reserve_exact): New function.
1273	(vec_heap_o_reserve_exact): New function.
1274
12752007-03-11  Roger Sayle  <roger@eyesopen.com>
1276	    Andrew Pinski  <andrew_pinski@playstation.sony.com>
1277
1278	PR middle-end/30433
1279	* fold-const.c (fold_relational_const): Add back compile-time
1280	evaluation of complex constant equality/inequality comparisons.
1281
12822007-03-11  Ira Rosen  <irar@il.ibm.com>
1283
1284	PR tree-optimization/29925
1285	* tree-data-ref.c (analyze_offset): Add a return value (bool) to
1286	indicate success/failure of the analysis. Add negation to subtrahend
1287	in case of subtraction. Fail if both operands contain constants.
1288	(create_data_ref): Fail if analyze_offset fails.
1289
12902007-03-10  Mark Mitchell  <mark@codesourcery.com>
1291
1292	PR c++/30924
1293	* tree.c (walk_type_fields): Recurse into the element type of
1294	ARRAY_TYPEs if there is a pointer set.
1295
12962007-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1297
1298	* pa.c (attr_length_call): Revise condition for long pc-relative branch.
1299	(output_call): Use "LONG_PIC_SDIFF" instruction sequence for long local
1300	calls on the SOM target.  Don't use "LONG_PIC_PCREL" call sequence on
1301	SOM target.
1302
13032007-03-09  Richard Henderson  <rth@redhat.com>
1304
1305	PR target/26090
1306	* target.h (targetm.asm.out.reloc_rw_mask): New.
1307	* target-def.h (TARGET_ASM_RELOC_RW_MASK): New.
1308	(TARGET_ASM_OUT): Use it.
1309	* targhooks.c, targhooks.h (default_reloc_rw_mask): New.
1310	* varasm.c (categorize_decl_for_section): Remove shlib argument;
1311	use the new reloc_rw_mask target hook instead.
1312	(default_section_type_flags_1): Merge into...
1313	(default_section_type_flags): ... here.
1314	(decl_readonly_section_1): Merge into...
1315	(decl_readonly_section): ... here.
1316	(default_elf_select_section_1): Merge into...
1317	(default_elf_select_section): ... here.
1318	(default_unique_section_1): Merge into...
1319	(default_unique_section): ... here.
1320	(compute_reloc_for_rtx_1, compute_reloc_for_rtx): New.
1321	(default_select_rtx_section): Use it.
1322	(default_elf_select_rtx_section): Likewise.
1323	* output.h: Update to match.
1324	* doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New.
1325	* config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New.
1326	(TARGET_ASM_RELOC_RW_MASK): New.
1327	* config/i386/i386.c (x86_64_elf_select_section): Adjust call
1328	to categorize_decl_for_section.
1329	(x86_64_elf_unique_section): Likewise.
1330	* config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
1331	TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove.
1332	(TARGET_ASM_RELOC_RW_MASK): New.
1333	* config/ia64/ia64.c (ia64_rwreloc_select_section,
1334	ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove.
1335	(ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New.
1336	(TARGET_RWRELOC): Remove.
1337	(ia64_section_type_flags): Adjust call to default_section_type_flags.
1338	* config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
1339	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove.
1340	(rs6000_elf_select_section, rs6000_elf_unique_section): Remove.
1341	(rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New.
1342	(rs6000_xcoff_select_section): Use decl_readonly_section.
1343	(rs6000_xcoff_section_type_flags): Use default_section_type_flags.
1344	* config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
1345	(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove.
1346	(TARGET_SECTION_TYPE_FLAGS): Remove.
1347	* config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New.
1348
13492007-03-08  Geoffrey Keating  <geoffk@apple.com>
1350
1351	PR 31013
1352	* gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
1353	is declared.
1354	* config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is
1355	passed, use shared libgcc.
1356
13572007-03-09  Alexandre Oliva  <aoliva@redhat.com>
1358
1359	PR rtl-optimization/30643
1360	* cse.c (cse_insn): Recompute dest_hash after insert_regs for
1361	dest_addr_elt.
1362
13632007-03-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1364
1365	PR tree-opt/30045
1366	* tree-vrp.c (nonnull_arg_p): Treat the static decl as always
1367	non null.
1368
13692007-03-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1370
1371	PR middle-end/30729
1372	* stmt.c (warn_if_unused_value): VA_ARG_EXPR has side
1373	effects unknown to this function, return early.
1374
13752007-03-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1376
1377	PR tree-opt/28624
1378	* tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary
1379	bitmap for EXECUTE_IF_SET_IN_BITMAP.
1380
13812006-03-09  Mark Shinwell  <shinwell@codesourcery.com>
1382	    Andrew MacLeod  <amacleod@redhat.com>
1383	PR tree-optimization/29877
1384	* tree-outof-ssa.c (check_replaceable): Don't allow TER to replace
1385	an expression if the RHS is a register variable.
1386
13872007-03-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1388
1389	PR C/31072
1390	* c-decl.c (merge_decls): Don't call make_var_volatile.
1391	* varasm.c (make_var_volatile): Remove.
1392	* output.h (make_var_volatile): Remove.
1393
13942007-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1395
1396	* builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl,
1397	llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with
1398	ATTR_CONST_NOTHROW_LIST.
1399
1400	* fold-const.c (tree_expr_nonnegative_p): Handle FIX_TRUNC_EXPR.
1401
14022007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
1403
1404	PR target/30406
1405	* config/rs6000/rs6000.c (rs6000_function_value): Look at bit size
1406	instead of precision.
1407
14082007-03-08  Volker Reichelt  <reichelt@netcologne.de>
1409
1410	PR c++/30852
1411	* c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.
1412
14132007-03-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1414
1415	* c.opt (Waddress): New.
1416	* common.opt (Walways-true): Delete.
1417	(Wstring-literal-comparison): Delete.
1418	* doc/invoke.texi (Warning Options): Delete -Walways-true and
1419	-Wstring-literal-comparison. Add -Waddress.
1420	(Waddress): New.
1421	(Walways-true): Delete.
1422	(Wstring-literal-comparison): Delete.
1423	* doc/extend.texi (#pragma GCC diagnostic): Use -Wformat
1424	consistently instead of -Walways-true in example.
1425	* c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall.
1426	* c-typeck.c (parser_build_binary_op): Replace
1427	-Wstring-literal-comparison and -Walways-true with -Waddress.
1428	(build_binary_op): Likewise.
1429	* c-common.c (c_common_truthvalue_conversion): Likewise.
1430
14312007-03-07  Richard Henderson  <rth@redhat.com>
1432
1433	PR target/30848
1434	* reg-stack.c (emit_swap_insn): If a malformed asm was seen,
1435	silently fix up the stack in the case of a missing register.
1436
14372007-03-06  David Daney  <ddaney@avtrex.com>
1438
1439	* doc/install.texi (mips-*-*): Change recommended binutils
1440	version.
1441
14422007-03-06  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1443
1444	* doc/invoke.texi (Warning Options): Replace -Werror- with
1445	-Werror=.
1446	* opts.c (common_handle_option): Likewise.
1447
14482007-03-06  Anatoly Sokolov <aesok@post.ru>
1449
1450	* config/avr/avr.c (avr_mcu_types): Add support for ATmega325P,
1451	ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162
1452	devices.
1453	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1454	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1455
14562007-03-06  Roger Sayle  <roger@eyesopen.com>
1457
1458	PR middle-end/30744
1459	* fold-const.c (fold_binary) <EQ_EXPR>: Enforce type consistency
1460	when transforming ~X op C to X op' ~C.
1461
14622007-03-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1463
1464	* pa.md: In unamed move patterns, disparge copies between general
1465	and floating point registers using '?' modifier.  Don't include 'f'
1466	constraint for register preferences in DImode, SImode, HImode and
1467	QImode patterns.  Likewise for 'r' in DFmode and SFmode patterns.
1468	Remove constraints for copies between general and floating registers
1469	in soft-float DFmode pattern.
1470	(movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard
1471	floating register.
1472	(movsf): Likewise.
1473
14742007-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1475
1476	* convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
1477	conversion.
1478
14792007-03-05  Steve Ellcey  <sje@cup.hp.com>
1480
1481	Backported from mainline
1482	PR debug/29614
1483	* cgraph.h (cgraph_varpool_last_needed_node): Make global.
1484	* cgraph.c (cgraph_varpool_last_needed_node): Ditto.
1485	* cgraphunit.c (cgraph_varpool_assemble_pending_decls):
1486	Set cgraph_varpool_last_needed_node to NULL.
1487
14882007/03/05  David Taylor  <dtaylor@emc.com>
1489
1490	PR 31050
1491	* gcc.c: Correct copyright date in --version output.
1492
14932007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
1494
1495	* c.opt: Remove -ffixed-form, -ffixed-line-length-none, and
1496	-ffixed-line-length-* options.
1497
14982007-03-05  David Edelsohn  <edelsohn@gnu.ogr>
1499
1500	* config/rs6000/t-ppccomm: Always build libgcc2 for GNU/Linux
1501	with -mlong-double-128, except SPE.
1502
1503	* config/rs6000/darwin-ldouble.c: Only build new functions for
1504	__LONG_DOUBLE_128__.
1505
1506	Backport from mainline:
1507	2007-01-16  David Edelsohn  <edelsohn@gnu.org>
1508
1509	* config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT.
1510	(strong_alias): Define.
1511	(__gcc_qmul): Provide non-FMA for soft-float.
1512	(__gcc_qdiv): Same.
1513	(__gcc_qneg): New.
1514	(__gcc_qeq): New.
1515	(__gcc_qle): New.
1516	(__gcc_qge): New.
1517	(__gcc_qunord): New.
1518	(__gcc_stoq): New.
1519	(__gcc_dtoq): New.
1520	(__gcc_qtos): New.
1521	(__gcc_qtod): New.
1522	(__gcc_qtoi): New.
1523	(__gcc_qtou): New.
1524	(__gcc_itoq): New.
1525	(__gcc_utoq): New.
1526	(fmsub): New.
1527	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize
1528	soft-float functions.
1529	* config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols.
1530	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn
1531	about long double soft float.
1532
15332007-03-05  Richard Guenther  <rguenther@suse.de>
1534
1535	Backport from mainline:
1536	2007-02-28  Richard Guenther  <rguenther@suse.de>
1537
1538	PR middle-end/30364
1539	* fold-const.c (fold_binary): Do not associate expressions
1540	with more than one variable for integer types that do not wrap.
1541
15422007-03-04  Eric Botcazou  <ebotcazou@adacore.com>
1543
1544	PR ada/26797
1545	* doc/invoke.texi (-O2): Document that Tree-VRP is not turned on
1546	for the Ada compiler.
1547
15482007-03-02  Zdenek Dvorak <dvorakz@suse.cz>
1549
1550	PR tree-optimization/29902
1551	* tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if
1552	any involved ssa name appears in abnormal phi node.
1553
15542007-03-02  Eric Botcazou  <ebotcazou@adacore.com>
1555
1556	* tree-sra.c (sra_walk_fns) <ldst>: Document new restriction.
1557	(sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use
1558	if the lhs has side-effects.
1559	<lhs_elt>: Treat the reference as a use if the rhs has side-effects.
1560
15612007-03-02  Paul Brook  <paul@codesourcery.com>
1562
1563	* config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing
1564	modes to LDRD for DImode.
1565	(output_move_double): Fixup out of range ldrd/strd.
1566	(vfp_secondary_reload_class): Rename...
1567	(coproc_secondary_reload_class): ... to this.  Add wb argument.
1568	* config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use
1569	coproc_secondary_reload_class for CLASS_IWMMXT.
1570	(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
1571	* arm-protos.h (coproc_secondary_reload_class): Update prototype.
1572
15732007-03-02  Eric Botcazou  <ebotcazou@adacore.com>
1574
1575	* config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
1576	entry by means of emit_insn_at_entry.
1577
15782007-03-01  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1579
1580	* doc/invoke.texi (Wextra): Delete outdated paragraph.
1581
15822007-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1583
1584	* pa/predicates.md (move_src_operand): Allow zero for mode.
1585	* pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode
1586	move pattern.
1587
15882007-02-27  Mike Stump  <mrs@apple.com>
1589
1590	* config/darwin-crt3.c: Avoid compilation when compiling for a
1591	kext multilib.
1592
15932007-02-27  Andreas Schwab  <schwab@suse.de>
1594
1595	* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.
1596
15972007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
1598
1599	* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency.
1600
16012007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
1602
1603	* doc/include/gcc-common.texi (versionsubtitle): New macro.
1604	* doc/cpp.texi: Standardize title page.
1605	* doc/cppinternals.texi: Likewise.
1606	* doc/gcc.texi: Standardize title page, remove version number
1607	from copyright page.
1608	* doc/gccint.texi: Likewise.
1609	* doc/install.texi: Standardize title page, add table of
1610	contents.
1611
16122007-02-24  Mike Stump  <mrs@apple.com>
1613
1614	* config/i386/i386.c (output_pic_addr_const): Stubify optimized
1615	symbols.
1616
16172007-02-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1618
1619	* pa.md (muldi3): Force subregs to registers in 64-bit expander.
1620
16212007-02-23  Mike Stump  <mrs@apple.com>
1622
1623	* tlink.c (scan_linker_output): Parse linker messages from
1624	darwin9's linker better.
1625
16262007-02-21 Ira Rosen  <irar@il.ibm.com>
1627
1628	* tree-ssa-alias.c: Include pointer-set.h
1629	* Makefile.in (tree-ssa-alias.o): Depend on pointer-set.h.
1630
16312007-02-21  Jakub Jelinek  <jakub@redhat.com>
1632
1633	Backported from mainline
1634	2006-12-20  Andrew Pinski  <pinskia@gmail.com>
1635	PR middle-end/30143
1636	* omp-low.c (init_tmp_var): New function.
1637	(save_tmp_var): New function.
1638	(lower_omp_1): Use them for VAR_DECL.
1639
16402007-02-20  Alan Modra  <amodra@bigpond.net.au>
1641
1642	PR target/29943
1643	* varasm.c (use_blocks_for_decl_p): Return false for decls with
1644	alias attribute.
1645
16462007-02-19  Eric Botcazou  <ebotcazou@adacore.com>
1647
1648	* gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap
1649	due to calls to functions taking pointers as parameters.
1650
16512007-02-19  Richard Henderson  <rth@redhat.com>
1652
1653	PR debug/29558
1654	* var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P
1655	in memory.
1656
16572007-02-18  Eric Botcazou  <ebotcazou@adacore.com>
1658
1659	* tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR.
1660
16612007-02-18  Eric Botcazou  <ebotcazou@adacore.com>
1662
1663	* calls.c (mem_overlaps_already_clobbered_arg_p): Return true
1664	for arg pointer based indexed addressing.
1665
16662007-02-18 Ira Rosen  <irar@il.ibm.com>
1667
1668	* tree-ssa-alias.c (may_aliases_intersect): New function.
1669	* tree-data-ref.c (ptr_ptr_may_alias_p): Call may_aliases_intersect
1670	for different tags.
1671	* tree-flow.h (may_aliases_intersect): Add function declaration.
1672
16732007-02-17  Alexandre Oliva  <aoliva@redhat.com>
1674
1675	PR tree-optimization/30823
1676	* tree-sra.c (sra_build_assignment): Drop type-checking assert.
1677
16782007-02-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1679
1680	PR other/27843
1681	* Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid
1682	nested double- and backquotes.
1683
16842007-02-15  Alexandre Oliva  <aoliva@redhat.com>
1685
1686	* tree-sra.c (instantiate_missing_elements): Canonicalize
1687	bit-field types.
1688	(sra_build_assignment): New.
1689	(generate_copy_inout, generate_element_copy,
1690	generate_element_zero, generate_one_element_init): Use it.
1691
16922007-02-15  Kaz Kojima  <kkojima@gcc.gnu.org>
1693
1694	PR rtl-optimization/29599
1695	Backport from mainline.
1696	* reload1.c (eliminate_regs_in_insn): Take the destination
1697	mode into account when computing the offset.
1698
16992007-02-13  Joseph S. Myers  <joseph@codesourcery.com>
1700
1701	* doc/invoke.texi, doc/standards.texi: Refer to
1702	gcc-4.2/c99status.html.
1703
17042007-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1705
1706	PR target/30634
1707	* pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero
1708	CONST_DOUBLE and operand 0 is a hard register.
1709	(movdi): For 64-bit target, remove code to force CONST_DOUBLE to
1710	memory.  Fail if operand 1 is a non-zero CONST_INT and operand 0
1711	is a hard floating-point register.
1712
17132007-02-06  Mark Mitchell  <mark@codesourcery.com>
1714
1715	PR target/29487
1716	* tree.h (DECL_REPLACEABLE_P): New macro.
1717	* except.c (set_nothrow_function_flags): Likewise.
1718
17192007-02-07  Jakub Jelinek  <jakub@redhat.com>
1720
1721	PR c++/30703
1722	* gimplify.c (gimplify_scan_omp_clauses): Remove special casing
1723	of INDIRECT_REF <RESULT_DECL>.
1724
17252007-02-06  Rask Ingemann Lamberisen  <rask@sygehus.dk>
1726
1727	PR 30370
1728	* config/rs6000/t-ppccomm: Correct Makefile typo.
1729
17302007-02-06  Roger Sayle  <roger@eyesopen.com>
1731
1732	PR libgomp/28296
1733	Backport from mainline.
1734	* config/darwin.h (CPP_SPEC): Handle -pthread, transforming
1735	it into -D_REENTRANT.
1736
17372007-02-05  Alexandre Oliva  <aoliva@redhat.com>
1738
1739	PR debug/30189
1740	* dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE
1741	even if cv-qualification is the same.
1742
17432007-02-05  Geoffrey Keating  <geoffk@apple.com>
1744
1745	* config/rs6000/darwin-tramp.asm (__trampoline_setup): Call
1746	__enable_execute_stack on completion.
1747
17482007-02-05  Bob Wilson  <bob.wilson@acm.org>
1749
1750	* config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs.
1751
17522007-02-02  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
1753
1754	PR target/29682
1755	* config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory loads to
1756	general or fp registers.  Add comments.
1757	* config/ia64/ia64.md (reg_pred_prefix): Add comment.
1758
17592007-02-04  Richard Guenther  <rguenther@suse.de>
1760
1761	Backport from mainline:
1762	2007-01-30  Richard Guenther  <rguenther@suse.de>
1763
1764	PR middle-end/27657
1765	* dwarf2out.c (reference_to_unused): Query varpool if the
1766	variable was output.
1767
17682007-02-02  Mike Stump  <mrs@apple.com>
1769
1770	* config.gcc (*-*-darwin*): Backport darwin9.h bits.
1771	* config/darwin9.h: Add.
1772	* config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add.
1773	(output_call): Use DARWIN_GENERATE_ISLANDS to decide when to
1774	generate a branch island.
1775
17762007-02-02  Hui-May Chang  <hm.chang@apple.com>
1777
1778	Revert for x86 darwin:
1779	2005-06-19  Uros Bizjak  <uros@kss-loka.si>
1780
1781	* config/i386/i386.c (ix86_function_arg_regno_p): Put back the
1782	code before the following patch under TARGET_MACHO.
1783	(ix86_function_value_regno_p): Likewise.
1784
17852007-02-02  Simon Martin  <simartin@users.sourceforge.net>
1786
1787	PR c++/28266
1788	* gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is
1789	expanded only once even if an error occurs.
1790
17912007-02-02  Jakub Jelinek  <jakub@redhat.com>
1792
1793	PR middle-end/30473
1794	* builtins.c (fold_builtin_sprintf): Do not attempt to optimize
1795	sprintf (str, "%s").  Do not optimize sprintf (str, "nopercent", p++).
1796
17972007-02-01  Guy Martin  <gmsoft@gentoo.org>
1798
1799	* pa.md (tp_load): Correct mfctl instruction syntax.
1800
18012007-02-01  Geoffrey Keating  <geoffk@apple.com>
1802
1803	* config/rs6000/rs6000.c (rs6000_stack_info): Correct
1804	altivec_padding_size calculation on AIX.  Improve comment, add
1805	assert to verify that it's right.
1806
18072007-01-31  Anatoly Sokolov <aesok@post.ru>
1808
1809	PR target/19087
1810	* config/avr/avr.c (DWARF2_ADDR_SIZE): Define.
1811
18122007-01-30  Richard Guenther  <rguenther@suse.de>
1813
1814	PR middle-end/30313
1815	* passes.c (execute_one_pass): Reset in_gimple_form to not
1816	confuse non-unit-at-a-time mode.
1817
18182007-01-27  Anatoly Sokolov <aesok@post.ru>
1819
1820	* config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define __AVR_HAVE_MUL__.
1821
18222007-01-29  Mike Stump  <mrs@apple.com>
1823
1824	* doc/gccint.texi (Top): Rename Loop Representation to Loop
1825	Analysis and Representation to resolve case insensitive conflict.
1826	* doc/loop.texi (Loop Analysis and Representation): Likewise.
1827
18282007-01-29  Josh Conner  <jconner@apple.com>
1829
1830	PR middle-end/29683
1831	* calls.c (compute_argument_addresses): Set stack and stack_slot
1832	for partial args, too.
1833	(store_one_arg): Use locate.size.constant for the size when
1834	generating a save_area.
1835
18362007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1837
1838	* doc/sourcebuild.texi: Add comma for clarity.
1839	* doc/extend.texi: Fix some typos.
1840	* doc/passes.texi: Likewise.
1841	* doc/cppinternals.texi: Likewise.
1842	* doc/c-tree.texi: Likewise.
1843	* doc/tree-ssa.texi: Likewise.
1844	* doc/install.texi: Likewise.
1845
18462007-01-26  Zdenek Dvorak <dvorakz@suse.cz>
1847
1848	PR tree-optimization/29516
1849	* tree-ssa-address.c (tree_mem_ref_addr, add_to_parts,
1850	most_expensive_mult_to_index, addr_to_parts,
1851	create_mem_ref, maybe_fold_tmr): Make the type of
1852	fields of TARGET_MEM_REF sizetype.
1853	(move_fixed_address_to_symbol, move_pointer_to_base,
1854	aff_combination_remove_elt): New functions.
1855	* tree.def (TARGET_MEM_REF): Add comment on types of
1856	the operands.
1857	* gcc.dg/tree-ssa/loop-20.c: New test.
1858
18592007-01-25  Geoffrey Keating  <geoffk@apple.com>
1860
1861	PR 25127
1862	* config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin,
1863	save Altivec registers in an eh_return function.
1864	(compute_vrsave_mask): Likewise.
1865	(rs6000_stack_info): Correct AIX/Darwin stack alignment computation
1866	for saving Altivec registers.
1867	(rs6000_emit_prologue): Don't allocate stack twice in
1868	eh_return function.  Correct expected value of altivec_save_offset
1869	when using save_world.  Describe save of R0 to stack when using
1870	save_world.  Describe stack pointer adjustment when using
1871	save_world.  Remove duplicated eh_return parameter register saving.
1872	Update sp_offset variable after save_world.
1873	* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove
1874	darwin-world.asm.
1875	(LIB2FUNCS_EXTRA): Add darwin-world.asm.
1876	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
1877	implies Altivec.
1878
18792007-01-24  Geoffrey Keating  <geoffk@apple.com>
1880
1881	* unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.
1882
18832007-01-24  Jakub Jelinek  <jakub@redhat.com>
1884
1885	PR middle-end/27416
1886	* gimplify.c (omp_check_private): New function.
1887	(gimplify_scan_omp_clauses): Use it for
1888	firstprivate/lastprivate/reduction.
1889
1890	PR middle-end/30494
1891	* gimplify.c (omp_add_variable): Don't call omp_notice_variable
1892	on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs.
1893
1894	PR middle-end/30421
1895	* omp-low.c (lower_omp_for_lastprivate): Add dlist argument.
1896	If lower_lastprivate_clauses emits some statements, append them
1897	to dlist rather than body_p and to body_p append an initializer.
1898	(lower_omp_for): Adjust caller.
1899
19002007-01-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
1901
1902	PR rtl-optimization/29329
1903	* combine.c (replaced_rhs_insn): Rename to i2mod.
1904	(replaced_rhs_value): Rename to i2mod_new_rhs.
1905	(i2mod_old_rhs): New global variable.
1906	(combine_instructions): Adjust for above change.  Save a copy of
1907	the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL
1908	note are substituted in the second instruction.
1909	(distribute_notes) <REG_DEAD>: Adjust for above change.  Do not
1910	ditch the note if it pertains to the second eliminated register
1911	and this register is mentioned in i2mod_old_rhs.
1912
1913	Revert:
1914	2006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
1915
1916	* combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
1917	the insn to which the note was originally attached.
1918
19192007-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1920
1921	* pa.c (output_move_double): Change array size of xoperands to 4.
1922
19232007-01-17  Eric Christopher  <echristo@apple.com>
1924
1925	Backport from mainline:
1926	2006-12-18  Roger Sayle  <roger@eyesopen.com>
1927	            Eric Christopher  <echristo@apple.com>
1928
1929	PR target/29302
1930	* real.c (real_maxval): Correctly handle IBM extended double format.
1931
19322007-01-17  Tom Tromey  <tromey@redhat.com>
1933
1934	* doc/sourcebuild.texi (libgcj Tests): Use sourceware.org.
1935	* doc/install.texi (Testing): Use sourceware.org.
1936	(Binaries): Likewise.
1937	(Specific): Likewise.
1938	* doc/contrib.texi (Contributors): Use sourceware.org.
1939
19402007-01-15  Joseph S. Myers  <joseph@codesourcery.com>
1941
1942	* config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from
1943	glibc CVS.
1944
19452007-01-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1946
1947	* pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine.
1948	* pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS.
1949	(ASM_OUTPUT_INTERNAL_LABEL): Define.
1950
19512007-01-10  Ralf Corsépius <ralf.corsepius@rtems.org>
1952
1953	* config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS.
1954
19552007-01-09  Nicolas Pitre  <nico@cam.org>
1956
1957	PR target/30173
1958	* arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.
1959
19602007-01-08  Nick Clifton  <nickc@redhat.com>
1961
1962	* config/frv/predicates.md (reg_or_0_operand): Accept
1963	CONST_DOUBLEs.
1964
19652007-01-08  Ralf Corsépius <ralf.corsepius@rtems.org>
1966
1967	* config/bfin/rtems.h, config/bfin/t-rtems: New.
1968	* config.gcc: Add bfin*-rtems*.
1969
19702007-01-08  Chen liqin  <liqin@sunnorth.com.cn>
1971	* config/score/t-score-elf (MULTILIB_OPTIONS): Change.
1972	* config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
1973	const_simm15, const_pow2, const_npow2): Added.
1974	* config/score/misc.md (insv, extv, extzv, movmemsi,
1975	move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
1976	* config/score/score.c (score_address_cost, score_select_cc_mode):
1977	Added.
1978	Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
1979	Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
1980	Update score_print_operand.
1981	* config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added.
1982	Adjust register allocate order and update some macro define.
1983	* config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
1984	mdx_block_move_straight, mdx_block_move_loop_head,
1985	mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop,
1986	mdx_block_move): Added.
1987	(mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
1988	mdp_limm): Updated and fix some bug and typo.
1989	* config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.
1990	(movsf, movdf, doloop_end): Added.
1991
19922007-01-05  Richard Guenther  <rguenther@suse.de>
1993
1994	PR middle-end/27826
1995	* tree.c (get_narrower): Do not construct COMPONENT_REFs
1996	with mismatched types.  Instead explicitly build a
1997	conversion NOP_EXPR.
1998
19992007-01-05  Jakub Jelinek  <jakub@redhat.com>
2000
2001	PR c/30360
2002	* libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
2003	denom against 0.0.
2004
20052007-01-03  Jakub Jelinek  <jakub@redhat.com>
2006
2007	* unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define.
2008	(struct _Unwind_Context): Rename args_size to flags, remove
2009	signal_frame field, add a new args_size field and version field.
2010	(_Unwind_IsSignalFrame, _Unwind_SetSignalFrame,
2011	_Unwind_IsExtendedContext): New inline functions.
2012	(_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
2013	Assume by_value array is only present if _Unwind_IsExtendedContext.
2014	(_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use
2015	_Unwind_IsSignalFrame.
2016	(__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT.
2017	(uw_update_context_1): Use _Unwind_SetSignalFrame.
2018	(uw_init_context_1): Initialize context->flags to
2019	EXTENDED_CONTEXT_BIT.
2020	* config/rs6000/linux-unwind.h (frob_update_context): Use
2021	_Unwind_SetSignalFrame.
2022
20232007-01-01  Mike Stump  <mrs@apple.com>
2024
2025	* configure.ac: Remove support for building with Apple's gcc-3.1.
2026
20272007-01-01  Andreas Schwab  <schwab@suse.de>
2028
2029	PR target/29166
2030	* config/ia64/ia64.c (ia64_compute_frame_size): Account space for
2031	save of BR0 in extra_spill_size instead of spill_size.
2032	(ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill
2033	area.
2034	(ia64_expand_epilogue): Restore BR0 from its new location.
2035