xref: /freebsd-12.1/contrib/gcc/ChangeLog (revision dfd2f2d4)
12007-07-19  Release Manager
2
3	* GCC 4.2.1 released.
4
52007-07-18  Paolo Bonzini  <[email protected]>
6
7	Revert:
8
9	2007-07-09  Paolo Bonzini  <[email protected]>
10
11	PR middle-end/32004
12	* function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
13
14	2007-07-06  Paolo Bonzini  <[email protected]>
15
16	PR middle-end/32004
17	* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
18	pass_match_asm_constraints): New.
19	* passes.c (init_optimization_passes): Add new pass.
20	* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
21	* function.h (struct function): Add has_asm_statement bit.
22	(current_function_has_asm_statement): New.
23	* tree-pass.h (pass_match_asm_constraints): New.
24
252007-07-16  Paul Brook  <[email protected]>
26
27	PR target/32753
28	gcc/
29	* config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn.
30
312007-07-10  Rainer Orth  <[email protected]>
32
33	PR target/32538
34	* config/mips/iris6.h (LIBGCC_SPEC): Add libm.
35
362007-07-09  Paolo Bonzini  <[email protected]>
37
38	PR middle-end/32004
39	* function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
40
412007-07-09  Uros Bizjak  <[email protected]>
42
43	PR tree-optimization/32681
44	* tree-if-conv.c (find_phi_replacement_condition): Use the condition
45	saved in second_edge->aux when first_bb is a loop header.
46
472007-07-07 Anatoly Sokolov <[email protected]>
48
49	PR target/31331
50	* config/avr/avr.c (avr_naked_function_p): Handle receiving a type
51	rather than a decl.
52	(avr_attribute_table): Make "naked" attribute apply to function types
53	rather than to decls.
54	(avr_handle_fntype_attribute): New function.
55
562007-07-06  Paolo Bonzini  <[email protected]>
57
58	PR middle-end/32004
59	* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
60	pass_match_asm_constraints): New.
61	* passes.c (init_optimization_passes): Add new pass.
62	* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
63	* function.h (struct function): Add has_asm_statement bit.
64	(current_function_has_asm_statement): New.
65	* tree-pass.h (pass_match_asm_constraints): New.
66
672007-07-06  Uros Bizjak  <[email protected]>
68
69	PR rtl-optimization/32450
70	* function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
71	to ensure that instructions are not moved into the prologue when
72	profiling is on.
73
742007-07-04  Richard Guenther  <[email protected]>
75
76	PR tree-optimization/32500
77	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
78	Only use basic blocks that are always executed to infer loop bounds.
79
802007-07-04  Uros Bizjak  <[email protected]>
81
82	PR tree-optimization/31966
83	PR tree-optimization/32533
84	* tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not
85	"basic_block" description as its third argument.  Update function
86	calls to get destination bb from "edge" argument.  Save "cond" into
87	aux field of the edge.  Update prototype for changed arguments.
88	(if_convertible_loop_p): Clear aux field of incoming edges if bb
89	contains phi node.
90	(find_phi_replacement_condition): Operate on incoming edges, not
91	on predecessor blocks.  If there is a condition saved in the
92	incoming edge aux field, AND it with incoming bb predicate.
93	Return source bb of the first edge.
94	(clean_predicate_lists): Clean aux field of outgoing node edges.
95	(tree_if_conversion): Do not initialize cond variable. Move
96	variable declaration into the loop.
97	(replace_phi_with_cond_gimple_modify_stmt): Remove unneded
98	initializations of new_stmt, arg0 and arg1 variables.
99
1002007-07-04  Kaz Kojima  <[email protected]>
101
102	PR target/32506
103	Backport from mainline.
104	* config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand
105	predicate instead of target_operand.
106	(divsi3_i1_media, divsi3_media_2): Likewise.
107
1082007-07-03  Richard Guenther  <[email protected]>
109
110	Backport from mainline:
111	2006-12-11  Zdenek Dvorak <[email protected]>
112
113	PR rtl-optimization/30113
114	* loop-iv.c (implies_p): Require the mode of the operands to be
115	scalar.
116
1172007-07-03  Rainer Orth  <[email protected]>
118
119	PR target/28307
120	* gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
121	(__gthrw_pragma): Provide default definition.
122	(__gthrw2): Use it.
123	* gthr-posix.c (__gthrw_pragma): Define.
124
1252007-07-02  Jakub Jelinek  <[email protected]>
126
127	PR libgomp/32468
128	* omp-low.c (check_combined_parallel): New function.
129	(lower_omp_parallel): Call it via walk_stmts, set
130	OMP_PARALLEL_COMBINED if appropriate.
131	(determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS
132	isn't the only statement in WS_ENTRY_BB or OMP_RETURN
133	the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED,
134	don't consider it as combined parallel.
135
1362007-06-30  Alexandre Oliva  <[email protected]>
137
138	* dwarf2out.c (dwarf2out_finish): Accept namespaces as context of
139	limbo die nodes.
140
1412007-06-28  Seongbae Park  <[email protected]>
142
143	* config/arm/arm.c (arm_get_frame_offsets): Set
144	offsets->locals_base to avoid negative stack size.
145	(thumb_expand_prologue): Assert on negative stack size.
146
1472007-06-28  Jakub Jelinek  <[email protected]>
148
149	* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
150	decl is non-external for AIX ABI.
151
1522007-06-28  David Edelsohn  <[email protected]>
153
154	* config/rs6000/predicates.md (current_file_function_operand):
155	Ensure the symbol is non-external for AIX ABI.
156
1572007-06-21  H.J. Lu  <[email protected]>
158
159	* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI.
160	(ix86_init_mmx_sse_builtins): Add __builtin_ia32_vec_ext_v16qi.
161	(ix86_expand_builtin): Handle IX86_BUILTIN_VEC_EXT_V16QI.
162
1632007-06-21  Jakub Jelinek  <[email protected]>
164
165	PR middle-end/32362
166	* omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL,
167	but decl is a global var, instead return decl.
168	* gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses
169	even for is_global_var decls, if they are private in some outer
170	context.
171
1722007-06-21  Uros Bizjak  <[email protected]>
173
174	PR target/32389
175	* config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL.
176	* config/i386/i386.c (assign_386_stack_local): Assert that
177	SLOT_VIRTUAL is valid only before virtual regs are instantiated.
178	(ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]:
179	Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP.
180	* config/i386/i386.md (truncdfsf2, truncxfsf2, truncxfdf2): Ditto.
181
1822007-06-20  Jakub Jelinek  <[email protected]>
183
184	PR inline-asm/32109
185	* gimplify.c (gimplify_asm_expr): Issue error if type is addressable
186	and !allows_mem.
187
188	PR middle-end/32285
189	* calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
190	if ACCUMULATE_OUTGOING_ARGS.
191
1922007-06-20  Kaz Kojima  <[email protected]>
193
194	PR rtl-optimization/28011
195	Backport from mainline.
196	* reload.c (push_reload): Set dont_share if IN appears in OUT
197	also when IN is a PLUS rtx.
198	(reg_overlap_mentioned_for_reload_p): Return true if X and IN
199	are same PLUS rtx.
200
2012007-06-19  Richard Guenther  <[email protected]>
202	Michael Matz  <[email protected]>
203
204	PR tree-optimization/30252
205	* tree-ssa-structalias.c (solution_set_add): Make sure to
206	preserve all relevant vars.
207	(handle_ptr_arith): Make sure to only handle positive
208	offsets.
209	(push_fields_onto_fieldstack): Create fields for empty
210	bases.
211
2122007-06-19  Jakub Jelinek  <[email protected]>
213
214	PR tree-optimization/32353
215	* tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL.
216
2172007-06-17  Eric Botcazou  <[email protected]>
218
219	* config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the
220	return mode from the builtin itself.
221	(sparc_fold_builtin): Fix cast of zero constant.
222
2232007-06-15  Diego Novillo  <[email protected]>
224
225	PR 32327
226	* tree-ssa-operands.c (build_ssa_operands): Initially assume
227	that the statement does not take any addresses.
228
2292007-06-13  Eric Botcazou  <[email protected]>
230
231	* config/sparc/sparc.c (sparc_override_options): Initialize
232	fpu mask correctly.
233
2342007-06-09  Ian Lance Taylor  <[email protected]>
235
236	PR tree-optimization/32169
237	* tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and
238	CONVERT_EXPR, check whether min and max both converted to an
239	overflow infinity representation.
240
2412007-06-08  Kaz Kojima  <[email protected]>
242
243	PR target/32163
244	Backport from mainline.
245	* config/sh/sh.md (symGOT_load): Don't schedule insns when
246	the symbol is generated with the stack protector.
247
2482007-06-06  Ian Lance Taylor  <[email protected]>
249
250	* fold-const.c (merge_ranges): If range_successor or
251	range_predecessor fail, just return 0.
252
2532007-06-05  Ian Lance Taylor  <[email protected]>
254
255	* tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a
256	PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p.
257	(extract_range_from_assert): Set TREE_NO_WARNING when creating an
258	expression.
259	(test_for_singularity): Likewise.
260
2612007-06-04  Ian Lance Taylor  <[email protected]>
262
263	* tree-vrp.c (adjust_range_with_scev): When loop is not expected
264	to overflow, reduce overflow infinity to regular infinity.
265	(vrp_var_may_overflow): New static function.
266	(vrp_visit_phi_node): Check vrp_var_may_overflow.
267
2682007-05-31  H.J. Lu  <[email protected]>
269
270	Backport from mainline:
271	2007-05-25  H.J. Lu  <[email protected]>
272
273	* config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it
274	with MASK_SSE2.
275	(__builtin_ia32_vec_ext_v2di): Likewise.
276	(__builtin_ia32_vec_ext_v4si): Likewise.
277	(__builtin_ia32_vec_ext_v8hi): Likewise.
278	(__builtin_ia32_vec_set_v8hi): Likewise.
279
2802007-05-31  John David Anglin  <[email protected]>
281
282	Backport from mainline:
283	2007-05-05  Aurelien Jarno  <[email protected]>
284
285	* config/pa/pa.md: Split tgd_load, tld_load and tie_load
286	into pic and non-pic versions. Mark r19 as used for
287	tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used
288	for tgd_load, tld_load and tie_load .
289	* config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic
290	version of tgd_load, tld_load and tie_load depending on the
291	value of flag_pic.
292
2932007-05-27  Daniel Berlin <[email protected]>
294
295	Fix PR/30052
296	Backport PTA solver from mainline
297
298	* pointer-set.c: Copy from mainline
299	* pointer-set.h: Ditto.
300	* tree-ssa-structalias.c: Copy solver portions from mainline.
301	* Makefile.in (tree-ssa-structalias.o): Update dependencies
302
3032007-05-30  Ralf Wildenhues  <[email protected]>
304
305	* tree-vrp.c (compare_names): Initialize sop.
306
3072007-05-30  Jakub Jelinek  <[email protected]>
308
309	PR tree-optimization/31769
310	* except.c (duplicate_eh_regions): Clear prev_try if
311	ERT_MUST_NOT_THROW region is inside of ERT_TRY region.
312
3132007-05-28  Andrew Pinski  <[email protected]>
314
315	PR tree-opt/32100
316	* fold-const.c (tree_expr_nonnegative_warnv_p): Don't
317	return true when truth_value_p is true and the type
318	is of signed:1.
319
3202007-05-27  H.J. Lu  <[email protected]>
321
322	Backport from mainline:
323	2007-05-25  Uros Bizjak  <[email protected]>
324
325	* config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate
326	"memory" attribute for "sseishft" type insn without operands[2].
327
328	2007-05-25  H.J. Lu  <[email protected]>
329
330	* config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift.
331
3322007-05-22  Ian Lance Taylor  <[email protected]>
333
334	* tree-vrp.c (avoid_overflow_infinity): New static function,
335	broken out of set_value_range_to_value.
336	(set_value_range_to_value): Call avoid_overflow_infinity.
337	(extract_range_from_assert): Likewise.
338
3392007-05-23  Chen Liqin  <[email protected]>
340
341	PR target/30987
342	* config/score/misc.md (bitclr_c, bitset_c, bittgl_c): remove.
343	* config/score/predicate.md (const_pow2, const_npow2): remove.
344	* config/score/score.h (ASM_OUTPUT_EXTERNAL): add ASM_OUTPUT_EXTERNAL undef.
345	PR target/30474
346	* config/score/score.c (score_print_operand): makes sure that only lower
347	bits are used.
348
3492007-05-21  Uros Bizjak  <[email protected]>
350
351	PR target/31167
352	Backport from mainline.
353	* config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use
354	x86_64_general_operand as operand[2] predicate.  Remove "iF"
355	from operand constraints and use "e" constraint instead.
356	(*subti3_1, *subti3_1 splitter): Ditto.
357	(*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as
358	operand[1] predicate.
359
3602007-05-21  Uros Bizjak  <[email protected]>
361
362	PR target/30041
363	Backport from mainline.
364	* config/i386/sse.md ("*sse3_movddup"): Use operands[0] and
365	operands[1] in insn constraint.  Correct type attribute to sselog1.
366
3672007-05-20  Kaz Kojima  <[email protected]>
368
369	PR target/31701
370	Backport from mainline.
371	* config/sh/sh.c (output_stack_adjust): Avoid using the frame
372	register itself to hold the offset constant.  Tell flow the use
373	of r4 and r5 when they are used.
374
3752007-05-20  Kaz Kojima  <[email protected]>
376
377	PR target/31480
378	Backport from mainline.
379	* config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
380	is null.
381
3822007-05-20  Kaz Kojima  <[email protected]>
383
384	PR target/31022
385	Backport from mainline.
386	* config/sh/sh.c (sh_adjust_cost): Use the result of single_set
387	instead of PATTERN.
388
3892007-05-20  Kaz Kojima  <[email protected]>
390
391	PR target/27405
392	Backport from mainline.
393	* config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove.
394	(cmpsi{eq,gt,gtu}{si,di}_media): Rename to
395	cmp{eq,gt,gtu}{si,di}_media.
396	(*cmpne0si_media): Remove.
397	(*movsicc_umin): Adjust gen_cmp*_media call.
398	(unordered): Change the mode of unordered and operands[1] to
399	SImode.
400	(seq): Adjust gen_cmp*_media calls.  Make the mode of
401	a temporary result of compare SImode if needed.  If the mode
402	of operands[0] is DImode, extend the temporary result to DImode.
403	(slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise.
404	(sunorderd): Change the mode of match_operand and unorderd to
405	SImode.
406	(cmpeq{sf,df}_media): Remove.
407	(cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media.
408	(cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand
409	and compare operation to SImode.
410
4112007-05-18  Joseph Myers  <[email protected]>
412
413	* config/soft-fp/double.h, config/soft-fp/extended.h,
414	config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c,
415	config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c,
416	config/soft-fp/op-2.h, config/soft-fp/op-4.h,
417	config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from
418	glibc CVS.
419
4202007-05-17  Ian Lance Taylor  <[email protected]>
421
422	PR tree-optimization/31953
423	* tree-vrp.c (set_value_range_to_value): Add equiv parameter.
424	Change all callers.
425	(set_value_range_to_null): Call set_value_range_to_value.
426	(extract_range_from_comparison): Likewise.
427
4282007-05-17  Eric Botcazou  <[email protected]>
429
430	PR rtl-optimization/31691
431	* combine.c (simplify_set): Build a new src pattern instead of
432	substituting its operands in the COMPARE case.
433
4342007-05-14  Mark Mitchell  <[email protected]>
435
436	* BASE-VER: Set to 4.2.1.
437	* DEV-PHASE: Set to prerelease.
438
4392007-05-13  Release Manager
440
441	* GCC 4.2.0 released.
442
4432007-05-12  Richard Guenther  <[email protected]>
444
445	PR tree-optimization/31797
446	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not
447	propagate into a stmt that has volatile ops.
448
4492007-05-01  Ian Lance Taylor  <[email protected]>
450
451	PR tree-optimization/31739
452	* tree-vrp.c (vrp_val_is_max): New static function.
453	(vrp_val_is_min): New static function.
454	(set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than
455	copying the node.
456	(set_value_range): Use vrp_val_is_{max,min}.
457	(extract_range_from_assert): Likewise.
458	(extract_range_from_binary_expr): Likewise.
459	(extract_range_from_unary_expr): Likewise.
460	(dump_value_range, vrp_meet): Likewise.
461	(vrp_visit_phi_node): Likewise.
462	* tree.c (build_distinct_type_copy): Revert change of 2007-04-27.
463
4642007-05-01  Joseph Myers  <[email protected]>
465
466	* config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo.
467
4682007-04-27  Anatoly Sokolov <[email protected]>
469
470	* config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and
471	ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture.
472	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
473	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
474
4752007-04-27  Ian Lance Taylor  <[email protected]>
476
477	PR middle-end/31710
478	* tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or
479	TYPE_MAX_VALUE exist, convert them to the new type.
480
4812007-04-26  Ian Lance Taylor  <[email protected]>
482
483	PR target/28675
484	* reload.c (find_reloads_subreg_address): If the address was valid
485	in the original mode but not in the new mode, reload the whole
486	address.
487
4882007-04-26  Ulrich Weigand  <[email protected]>
489
490	PR middle-end/30761
491	* reload1.c (eliminate_regs_in_insn): In the single_set special
492	case, attempt to re-recognize the insn before falling back to
493	having reload fix it up.
494
4952007-04-26  Richard Guenther  <[email protected]>
496	Daniel Berlin  <[email protected]>
497
498	PR tree-optimization/30567
499	* tree-ssa-structalias.c (update_alias_info): Record dereference
500	also if ESCAPE_STORED_IN_GLOBAL.
501
5022007-04-26  Jakub Jelinek  <[email protected]>
503
504	PR c++/31598
505	* tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE.
506
507	PR tree-optimization/30558
508	* tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW
509	clear this_state.prev_try.
510
5112007-04-25  Anatoly Sokolov <[email protected]>
512
513	PR target/18989
514 	* config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine.
515
5162007-04-24  Andrew Pinski  <[email protected]>
517            Roger Sayle  <[email protected]>
518
519	PR middle-end/30222
520	* expmed.c (make_tree): Use the correct type, i.e. the inner
521	type, when constructing the individual elements of a CONST_VECTOR.
522
5232007-04-24  Ian Lance Taylor  <[email protected]>
524
525	PR tree-optimization/31605
526	* tree-vrp.c (set_value_range): Check that min and max are not
527	both overflow infinities.
528	(set_value_range_to_value): New static function.
529	(extract_range_from_binary_expr): Call set_value_range_to_value.
530	(extract_range_from_expr): Likewise.
531	(extract_range_from_unary_expr): Likewise.  Don't create a range
532	which overflows on both sides.
533	(vrp_meet): Check for a useless range.
534	(vrp_visit_phi_node): If we see a constant which looks like an
535	overflow infinity, turn off the TREE_OVERFLOW flag.
536
5372007-04-24  Ian Lance Taylor  <[email protected]>
538
539	PR tree-optimization/31602
540	* tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for
541	conditionals in the copied loop header.
542	* tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow
543	warnings if TREE_NO_WARNING is set.
544	* doc/invoke.texi (Warning Options): Clarify that
545	-Wstrict-overflow does not warn about loops.
546
5472007-04-24  Andreas Krebbel  <[email protected]>
548
549	PR target/31641
550	* config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length
551	argument of 0 for memset.
552	(s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use
553	unsigned shift instead of the signed variant.
554
5552007-04-24  Daniel Franke  <[email protected]>
556
557	* doc/invoke.texi: Removed leading '-' from option index entries.
558
5592007-04-22  Andrew Pinski  <[email protected]>
560
561	PR middle-end/31448
562	* expr.c (reduce_to_bit_field_precision): Handle
563	CONST_INT rtx's.
564
5652007-04-20  Richard Henderson  <[email protected]>
566
567	PR target/28623
568	* config/alpha/alpha.c (get_unaligned_address): Remove extra_offset
569	argument; update all callers.
570	(get_unaligned_offset): New.
571	* config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use
572	get_unaligned_address, just pass on the address directly.
573	(unaligned_extendqidi): Use gen_lowpart instead of open-coding
574	the subreg in the helper patterns.
575	(unaligned_extendqidi_le): Use get_unaligned_offset.
576	(unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise.
577	(unaligned_extendhidi_be): Likewise.
578	(unaligned_extendhidi): Tidy.
579	* config/alpha/alpha-protos.h: Update.
580
5812007-04-21  Richard Guenther  <[email protected]>
582
583	PR middle-end/31136
584	* fold-const.c (fold_unary): Call fold_convert_const on the
585	original tree.
586
5872007-04-20  Richard Henderson  <[email protected]>
588
589	* config/alpha/linux.h (CPP_SPEC): Undef before redefine.
590
5912007-04-20  Bernd Schmidt  <[email protected]>
592
593	* reload.c (combine_reloads): When trying to use a dying register,
594	check whether it's uninitialized and don't use if so.
595
5962007-04-20  Jakub Jelinek  <[email protected]>
597
598	* config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED
599	for __builtin_ia32_cmpordss.
600
601	PR tree-optimization/31632
602	* fold-const.c (fold_binary): Use op0 and op1 instead of arg0
603	and arg1 for optimizations of comparison against min/max values.
604	Fold arg0 to arg1's type for optimizations of comparison against
605	min+1 and max-1 values.
606
6072007-04-19  Eric Botcazou  <[email protected]>
608
609	PR rtl-optimization/29841
610	* cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional
611	trap instructions.
612	* sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions
613	that may cause control flow transfer from being moved.
614
6152007-04-18  Anatoly Sokolov <[email protected]>
616
617	* config/avr/avr.c (ptrreg_to_str): Replace error() with
618	output_operand_lossage().
619
6202007-04-17  Anatoly Sokolov <[email protected]>
621
622	PR target/30483
623	* config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with
624	error().
625
6262007-04-17  Jan Hubicka  <[email protected]>
627
628	PR middle-end/30700
629	* dwarf2out.c (reference_to_unused): Ask cgraph for functions
630	availablility; add more sanity checking; ask varpool only about
631	VAR_DECL.
632
6332007-04-17  H.J. Lu  <[email protected]>
634
635	* Backport from mainline:
636	2007-04-17  H.J. Lu  <[email protected]>
637
638	* config/i386/sse.md (sse_vmaddv4sf3): Use register_operand
639	on "0".
640	(sse_vmmulv4sf3): Likewise.
641	(sse2_vmaddv2df3): Likewise.
642	(sse2_vmmulv2df3): Likewise.
643
6442007-04-16  Matthias Klose  <[email protected]>
645
646	* config/alpha/linux.h (CPP_SPEC): Define.
647	* config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend.
648
6492007-04-16  Anatoly Sokolov <[email protected]>
650
651	* config/avr/avr.c (avr_arch_types): Rearranging  array.
652	(enum avr_arch): Add.
653	(avr_mcu_types): Use avr_arch enumeration constants instead of
654	numbers.
655	* config/avr/avr.h (LINK_SPEC): Simplify.
656
6572007-04-16  Jan Hubicka  <[email protected]>
658
659	PR target/27869
660	* config/i386/sse.md
661	(sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
662	(sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
663	(sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
664	(sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.
665
6662007-04-16  H.J. Lu  <[email protected]>
667
668	* Backport from mainline:
669	2007-04-16  H.J. Lu  <[email protected]>
670
671	PR target/31582
672	* config/i386/i386.c (ix86_expand_vec_set_builtin): Make a
673	copy of source, pass it to ix86_expand_vector_set and return
674	it as target.
675
6762007-04-14  Andrew Pinski  <[email protected]>
677
678	PR c/31520
679	* c-decl.c (finish_decl): Grab the type of the decl after the call
680	to store_init_value.
681
6822007-04-14  Jakub Jelinek  <[email protected]>
683
684	PR c++/25874
685	* omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators,
686	post dominators and cleanup cfg before returning.
687
6882007-04-11  John David Anglin  <[email protected]>
689
690	* pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
691	null before emitting a .nsubspa directive.
692
6932007-04-08  Anatoly Sokolov <[email protected]>
694
695	PR target/29932
696	* config/avr/predicates.md (io_address_operand): Delete predicate.
697	(low_io_address_operand): Don't use 'mode' argument.
698	(higth_io_address_operand): Rename ...
699	(high_io_address_operand): ... to this. Don't use 'mode' argument.
700	* config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
701	for above change.
702
7032007-04-07  Anatoly Sokolov <[email protected]>
704
705	PR target/30289
706	* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
707	earlyclobber.
708
7092007-04-05  Anatoly Sokolov <[email protected]>
710
711	PR target/25448
712	* config/avr/avr.c (avr_handle_fndecl_attribute): Use the
713	DECL_ASSEMBLER_NAME, not the DECL_NAME.
714
7152007-04-04  Richard Henderson  <[email protected]>
716
717	PR target/31361
718	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
719	v8hi_ftype_v8hi_v2di, v4si_ftype_v4si_v2di.  Use like-types for
720	the variable shift builtins.
721	(ix86_expand_builtin): Properly expand the variable shift builtins.
722	* config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make
723	operand 2 be TImode.
724	* config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
725	_mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
726	_mm_srli_epi32, _mm_srli_epi64): Turn into macros.
727	(_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
728	(_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
729	_mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
730	two-vector shift builtins.
731
7322007-04-04  Chen liqin  <[email protected]>
733
734	* config/score/crti.asm: Change _bss_start to __bss_start.
735	* config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
736	(OUTGOING_REG_PARM_STACK_SPACE) update.
737	* config/score/score.opt: add options to make backend support
738	score5, score5u, score7 and score7d.
739	* config/score/score.md: Likewise.
740	* config/score/misc.md: Likewise.
741	* config/score/mac.md: Likewise.
742	* doc/invoke.texi: Likewise.
743	* doc/md.texi: update constraints define.
744
7452007-04-03  Stuart Hastings  <[email protected]>
746
747	PR 31281
748	* objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile
749	from rethrow decl.
750	* cse.c (record_jump_equiv): Bail out on CCmode comparisons.
751
7522007-04-03  Jakub Jelinek  <[email protected]>
753
754	PR middle-end/30704
755	* fold-const.c (native_encode_real): Encode real.c provided longs
756	as a series of 32-bit native integers.
757	(native_interpret_real): Interpret buffer as a series of 32-bit
758	native integers.
759
7602007-04-02  Eric Christopher  <[email protected]>
761
762	* doc/invoke.texi (i386 and x86-64 Options): Document -m64
763	limitations on darwin.
764
7652007-04-02  Anatoly Sokolov <[email protected]>
766
767	PR target/31137
768	* config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.
769
7702007-04-02  H.J. Lu  <[email protected]>
771
772	* Backport from mainline:
773	2007-03-28  Grigory Zagorodnev <[email protected]>
774
775	PR target/31380
776	* config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX.
777
7782007-03-30  Anatoly Sokolov <[email protected]>
779
780	* config/avr/avr.c (avr_override_options): Clear
781	'flag_delete_null_pointer_checks'.
782
7832007-03-29  Michael Matz  <[email protected]>
784
785	* builtins.c (expand_builtin_sync_operation,
786	expand_builtin_compare_and_swap,
787	expand_builtin_lock_test_and_set): Care for extending CONST_INTs
788	correctly.
789
790	* config/i386/sync.md (sync_double_compare_and_swapdi_pic,
791	sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint
792	for operand 3.
793
7942007-03-28  Mike Stump  <[email protected]>
795
796	* config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add.
797	* config/darwin.h (MAX_OFILE_ALIGNMENT): Fix.
798	* config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef.
799
8002007-03-27  Anatoly Sokolov <[email protected]>
801
802	* config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4'
803	architecture.
804
8052007-03-26  Ian Lance Taylor  <[email protected]>
806
807	PR tree-optimization/31345
808	* tree-vrp.c (extract_range_from_binary_expr): Turn ranges like
809	[+INF, +INF(OVF)] into VARYING.
810
8112007-03-23  Martin Michlmayr  <[email protected]>
812
813	* doc/invoke.texi (-fforce-mem): Update documentation to reflect
814	that this option will be removed in 4.3 rather than 4.2.
815	* opts.c (common_handle_option): Likewise.
816
8172007-03-21  Mike Stump  <[email protected]>
818
819	* c.opt: Fixup for Objective-C/C++.
820
8212007-03-21  Richard Henderson  <[email protected]>
822
823	PR target/31245
824	* config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
825	* config/i386/mmintrin.h (__m64): Likewise.
826	* config/i386/xmmintrin.h (__m128): Likewise.
827
8282007-03-20  Jakub Jelinek  <[email protected]>
829
830	PR c/30762
831	* c-typeck.c (convert_for_assignment): Call comptypes for
832	RECORD_TYPE or UNION_TYPE.
833
834	PR inline-asm/30505
835	* reload1.c (reload): Do invalid ASM checking after
836	cleanup_subreg_operands.
837
8382007-03-19  Jeff Law  <[email protected]>
839
840	* tree-cfg.c (find_taken_edge): Tighten conditions for
841	optimizing computed gotos.
842
8432007-03-16  John David Anglin  <[email protected]>
844
845	* pa.c (attr_length_call): Partially revert change of 2007-03-09.
846	(output_call): Likewise.
847
8482007-03-16  Alexandre Oliva  <[email protected]>
849
850	PR debug/29906
851	* dwarf2out.c (force_type_die): Adjust comment.
852	(dwarf2out_imported_module_or_decl): Handle base AT_import types.
853
8542007-03-15  Seongbae Park <[email protected]>
855
856	PR tree-optimization/30590
857	* tree-nrv.c (tree_nrv): Check for the partial update
858	of the return value.
859
8602007-03-14  Ian Lance Taylor  <[email protected]>
861
862	* tree-vrp.c (value_inside_range): Ignore fold warnings.
863
8642007-03-13  John David Anglin  <[email protected]>
865
866	PR target/31123
867	* pa.md (vdepi_ior): Don't allow zero length deposit.  Likewise for
868	two unamed patterns.
869
8702007-03-12  Brooks Moses  <[email protected]>
871
872	* doc/extend.texi: Edit "gnu_inline" documentation.
873	* doc/invoke.texi: Edit "-fgnu89-inline" documentation.
874
8752007-03-12  Brooks Moses  <[email protected]>
876
877	* doc/extend.texi: Fix cpp.info cross-reference.
878	* doc/invoke.texi: Fix cpp.info cross-reference.
879	* doc/passes.texi: Fix gcc.info cross-reference.
880
8812007-03-12  Daniel Berlin  <[email protected]>
882
883	Fix PR tree-optimization/28544
884	* tree-ssa-operands.c (add_virtual_operand):
885	Move assert triggering on aliasing violations into
886	debugging define
887
8882007-03-12  Ian Lance Taylor  <[email protected]>
889
890	* c.opt (fgnu89-inline): New option.
891	* c-opts.c (c_common_post_options): Warn about -fno-gnu89-inline.
892	* c-common.c (c_common_attributes): Add gnu_inline attribyte.
893	(handle_gnu_inline_attribute): New static function.
894	* c-decl.c (start_function): Warn if we see a non-static inline
895	function in C99 mode.
896	* c-cppbuiltin.c (c_cpp_builtins): Define __GNUC_GNU_INLINE__.
897	* doc/invoke.texi (Option Summary): Mention -fgnu89-inline.
898	(C Dialect Options): Document -fgnu89-inline.
899	* doc/extend.texi (Function Attributes): Document gnu_inline.
900	(Inline): Mention that C99 inline will be implemented in 4.3.
901	Refer to ways to get the old handling.
902	* doc/cpp.texi (Common Predefined Macros): Document
903	__GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
904
9052007-03-12  Richard Henderson  <[email protected]>
906
907	* config/alpha/alpha.c (alpha_elf_section_type_flags): New.
908	(TARGET_SECTION_TYPE_FLAGS): New.
909
9102007-03-12  Richard Henderson  <[email protected]>
911
912	* config/darwin.c (machopic_reloc_rw_mask): New.
913	(machopic_select_section): Use decl_readonly_section.
914	* config/darwin-protos.h (machopic_reloc_rw_mask): Declare.
915	* config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New.
916
9172007-02-14  Richard Guenther  <[email protected]>
918
919	Backport from mainline:
920	* flags.h (issue_strict_overflow_warning): Convert to a macro.
921
9222007-03-11  Ian Lance Taylor  <[email protected]>
923
924	Backport -fstrict-overflow/-Wstrict-overflow from mainline:
925	2007-03-11  Ian Lance Taylor  <[email protected]>
926
927	* tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
928	the *_DIV_EXPR codes correctly with overflow infinities.
929
930	2007-03-09  Ian Lance Taylor  <[email protected]>
931
932	* opts.c (common_handle_option): Treat -Wstrict-overflow (with no
933	argument) like -Wstrict-overflow=2.
934	* doc/invoke.texi (Warning Options): Update documentation.
935
936	2007-03-08  Ian Lance Taylor  <[email protected]>
937
938	* tree-vrp.c: Include "toplev.h" and "intl.h".
939	(usable_range_p): New static function.
940	(compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for
941	overflowed values, juts set *strict_overflow_p.
942	(compare_values): Only return -2 if one of the operands is not a
943	constant.
944	(compare_ranges): Call usable_range_p.
945	(compare_range_with_value): Likewise.
946	(vrp_evaluate_conditional_warnv): Rename from
947	vrp_evaluate_conditional.  Make static.  Change all callers.
948	(vrp_evaluate_conditional): New function.
949	(simplify_div_or_mod_using_ranges): Issue warning about reliance
950	on signed overflow.
951	(simplify_abs_using_ranges): Likewise.
952	(simplify_stmt_for_jump_threading): Add within_stmt parameter.
953	* tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add
954	within_stmt parameter.
955	* tree-ssa-propagate.c (fold_predicate_in): Update call to
956	vrp_evaluate_conditional.
957	* tree-ssa-threadedge.c
958	(record_temporary_equivalences_from_stmts_at_dest): Change
959	simplify parameter to take a second tree parameter.
960	(simplify_control_stmt_condition): Likewise.
961	(thread_across_edge): Likewise.
962	* tree-flow.h (vrp_evaluate_conditional): Update declaration.
963	(thread_across_edge): Likewise.
964	* Makefile.in (tree-vrp.o): Depend upon toplev.h and intl.h.
965
966	2007-03-05  Ian Lance Taylor  <[email protected]>
967
968	* tree-vrp.c (extract_range_from_assert): Don't try to handle a
969	half-range if the other side is an overflow infinity.
970
971	2007-03-02  Ian Lance Taylor  <[email protected]>
972
973	Used signed infinities in VRP.
974	* tree-vrp.c (uses_overflow_infinity): New static function.
975	(supports_overflow_infinity): New static function.
976	(make_overflow_infinity): New static function.
977	(negative_overflow_infinity): New static function.
978	(positive_overflow_infinity): New static function.
979	(is_negative_overflow_infinity): New static function.
980	(is_positive_overflow_infinity): New static function.
981	(is_overflow_infinity): New static function.
982	(overflow_infinity_range_p): New static function.
983	(compare_values_warnv): New function split out of compare_values.
984	(compare_value): Call it.
985	(set_value_range_to_nonnegative): Add overflow_infinity
986	parameter.  Change caller.
987	(vrp_expr_computes_nonnegative): Add strict_overflow_p parameter.
988	Change callers.
989	(vrp_expr_computes_nonzero): Likewise.
990	(compare_ranges, compare_range_with_value): Likewise.
991	(compare_name_with_value, compare_names): Likewise.
992	(vrp_evaluate_conditional): Likewise.
993	(set_value_range): Handle infinity
994	(vrp_operand_equal_p, operand_less_p): Likewise.
995	(extract_range_from_assert): Likewise.
996	(vrp_int_const_binop): Likewise.
997	(extract_range_from_binary_expr): Likewise.
998	(extract_range_from_unary_expr): Likewise.
999	(extract_range_from_comparison): Likewise.
1000	(extract_range_from_expr): Likewise.
1001	(dump_value_range): Likewise.
1002	(vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise.
1003	(test_for_singularity): Likewise.
1004	(vrp_int_const_binop): Remove inline qualifier.
1005	(adjust_range_with_scev): Add comment.
1006	* tree-flow.h (vrp_evaluate_conditional): Update declaration.
1007
1008	2007-02-13  Ian Lance Taylor  <[email protected]>
1009
1010	* common.opt: Add Wstrict-overflow and Wstrict-overflow=.
1011	* flags.h (warn_strict_overflow): Declare.
1012	(enum warn_strict_overflow_code): Define.
1013	(issue_strict_overflow_warning): New static inline function.
1014	* opts.c (warn_strict_overflow): New variable.
1015	(common_handle_option): Handle OPT_Wstrict_overflow and
1016	OPT_Wstrict_overflow_.
1017	* c-opts.c (c_common_handle_option): Set warn_strict_overflow for
1018	OPT_Wall.
1019	* fold-const.c: Include intl.h.
1020	(fold_deferring_overflow_warnings): New static variable.
1021	(fold_deferred_overflow_warning): New static variable.
1022	(fold_deferred_overflow_code): New static variable.
1023	(fold_defer_overflow_warnings): New function.
1024	(fold_undefer_overflow_warnings): New function.
1025	(fold_undefer_and_ignore_overflow_warnings): New function.
1026	(fold_deferring_overflow_warnings_p): New function.
1027	(fold_overflow_warning): New static function.
1028	(make_range): Add strict_overflow_p parameter.  Change all
1029	callers.
1030	(extract_muldiv, extract_muldiv_1): Likewise.
1031	(fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling
1032	tree_expr_nonnegative_p.
1033	(fold_negate_expr): Call fold_overflow_warning.
1034	(fold_range_test): Likewise.
1035	(fold_comparison): Likewise.
1036	(fold_binary): Likewise.  Call tree_expr_nonnegative_warnv_p
1037	instead of tree_expr_nonnegative_p.
1038	(tree_expr_nonnegative_warnv_p): Rename from
1039	tree_expr_nonnegative_p, add strict_overflow_p parameter.
1040	(tree_expr_nonnegative_p): New function.
1041	(tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add
1042	strict_overflow_p parameter.
1043	(tree_expr_nonzero_p): New function.
1044	* passes.c (verify_interpass_invariants): New static function.
1045	(execute_one_pass): Call it.
1046	* tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold
1047	warnings.
1048	(number_of_iterations_exit, loop_niter_by_eval): Likewise.
1049	(estimate_numbers_of_iterations): Likewise.
1050	(scev_probably_wraps_p): Likewise.
1051	* tree-ssa-ccp.c: Include "toplev.h".
1052	(evaluate_stmt): Defer fold overflow warnings until we know we are
1053	going to optimize.
1054	(struct fold_stmt_r_data): Add stmt field.
1055	(fold_stmt_r): Defer fold overflow warnings until we know we
1056	optimized.
1057	(fold_stmt): Initialize stmt field of fold_stmt_r_data.
1058	(fold_stmt_inplace): Likewise.
1059	* tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h".
1060	(cleanup_control_expr_graph): Defer fold overflow warnings until
1061	we know we are going to optimize.
1062	* tree-cfg.c (fold_cond_expr_cond): Likewise.
1063	* tree-ssa-threadedge.c (simplify_control_stmt_condition):
1064	Likewise.
1065	* tree-vrp.c (vrp_expr_computes_nonnegative): Call
1066	tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p.
1067	* tree-ssa-loop-manip.c (create_iv): Likewise.
1068	* c-typeck.c (build_conditional_expr): Likewise.
1069	(build_binary_op): Likewise.
1070	* tree-vrp.c (vrp_expr_computes_nonzero): Call
1071	tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p.
1072	(extract_range_from_unary_expr): Likewise.
1073	* simplify-rtx.c (simplify_const_relational_operation): Warn when
1074	assuming that signed overflow does not occur.
1075	* c-common.c (pointer_int_sum): Ignore fold overflow warnings.
1076	* tree.h (tree_expr_nonnegative_warnv_p): Declare.
1077	(fold_defer_overflow_warnings): Declare.
1078	(fold_undefer_overflow_warnings): Declare.
1079	(fold_undefer_and_ignore_overflow_warnings): Declare.
1080	(fold_deferring_overflow_warnings_p): Declare.
1081	(tree_expr_nonzero_warnv_p): Declare.
1082	* doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list
1083	of warning options.
1084	(Warning Options): Document -Wstrict-overflow.
1085	* Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h.
1086	(tree-ssa-ccp.o): Likewise.
1087	(tree-cfgcleanup.o): Change errors.h dependency to toplev.h.
1088	(fold-const.o): Depend on intl.h.
1089
1090	2007-01-27  Ian Lance Taylor  <[email protected]>
1091
1092	* common.opt: Add fstrict-overflow.
1093	* opts.c (decode_options): Set flag_strict_overflow if -O2.
1094	* flags.h (TYPE_OVERFLOW_WRAPS): Define.
1095	(TYPE_OVERFLOW_UNDEFINED): Define.
1096	(TYPE_OVERFLOW_TRAPS): Define.  This replaces TYPE_TRAP_SIGNED.
1097	Replace all uses.
1098	* tree.h (TYPE_TRAP_SIGNED): Don't define.
1099	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED.
1100	(fold_negate_expr): Likewise.
1101	(make_range): Likewise.
1102	(extract_muldiv_1): Likewise.
1103	(fold_comparison): Likewise.
1104	(fold_binary): Likewise.
1105	(tree_expr_nonnegative_p): Likewise.
1106	(tree_expr_nonzero_p): Likewise.
1107	* tree-vrp.c (compare_values): Likewise.
1108	(extract_range_from_binary_expr): Likewise.
1109	(extract_range_from_unary_expr): Likewise.
1110	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
1111	Likewise.
1112	(nowrap_type_p): Likewise.
1113	* tree-scalar-evolution.c (simple_iv): Likewise.
1114	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS.
1115	(build_range_check): Likewise.
1116	(extract_muldiv_1): Likewise.
1117	(fold_comparison): Likewise.
1118	* tree-vrp.c (vrp_int_const_binop): Likewise.
1119	(extract_range_from_unary_expr): Likewise.
1120	* convert.c (convert_to_integer): Likewise.
1121	* fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS.
1122	(fold_comparison): Likewise.
1123	(fold_binary): Likewise.
1124	* optabs.c (optab_for_tree_code): Likewise.
1125	* tree-vectorizer.c (vect_is_simple_reduction): Likewise.
1126	* simplify-rtx.c (simplify_const_relational_operation): Check
1127	flag_strict_overflow and flag_trapv.
1128	(simplify_const_relational_operation): Likewise.
1129	* doc/invoke.texi (Option Summary): Mention -fstrict-overflow.
1130	(Optimize Options): Add -fstrict-overflow to -O2 list.  Document
1131	-fstrict-overflow.
1132
1133	2007-01-17  Ian Lance Taylor  <[email protected]>
1134
1135	* vec.h (VEC_reserve_exact): Define.
1136	(vec_gc_p_reserve_exact): Declare.
1137	(vec_gc_o_reserve_exact): Declare.
1138	(vec_heap_p_reserve_exact): Declare.
1139	(vec_heap_o_reserve_exact): Declare.
1140	(VEC_OP (T,A,reserve_exact)): New static inline function, three
1141	versions.
1142	(VEC_OP (T,A,reserve)) [all versions]: Remove handling of
1143	negative parameter.
1144	(VEC_OP (T,A,alloc)) [all versions]: Call ...reserve_exact.
1145	(VEC_OP (T,A,copy)) [all versions]: Likewise.
1146	(VEC_OP (T,a,safe_grow)) [all versions]: Likewise.
1147	* vec.c (calculate_allocation): Add exact parameter.  Change all
1148	callers.
1149	(vec_gc_o_reserve_1): New static function, from vec_gc_o_reserve.
1150	(vec_gc_p_reserve, vec_gc_o_reserve): Call vec_gc_o_reserve_1.
1151	(vec_gc_p_reserve_exact, vec_gc_o_reserve_exact): New functions.
1152	(vec_heap_o_reserve_1): New static function, from vec_heap_o_reserve.
1153	(vec_heap_p_reserve, vec_heap_o_reserve): Call vec_heap_o_reserve_1.
1154	(vec_heap_p_reserve_exact): New function.
1155	(vec_heap_o_reserve_exact): New function.
1156
11572007-03-11  Roger Sayle  <[email protected]>
1158	    Andrew Pinski  <[email protected]>
1159
1160	PR middle-end/30433
1161	* fold-const.c (fold_relational_const): Add back compile-time
1162	evaluation of complex constant equality/inequality comparisons.
1163
11642007-03-11  Ira Rosen  <[email protected]>
1165
1166	PR tree-optimization/29925
1167	* tree-data-ref.c (analyze_offset): Add a return value (bool) to
1168	indicate success/failure of the analysis. Add negation to subtrahend
1169	in case of subtraction. Fail if both operands contain constants.
1170	(create_data_ref): Fail if analyze_offset fails.
1171
11722007-03-10  Mark Mitchell  <[email protected]>
1173
1174	PR c++/30924
1175	* tree.c (walk_type_fields): Recurse into the element type of
1176	ARRAY_TYPEs if there is a pointer set.
1177
11782007-03-09  John David Anglin  <[email protected]>
1179
1180	* pa.c (attr_length_call): Revise condition for long pc-relative branch.
1181	(output_call): Use "LONG_PIC_SDIFF" instruction sequence for long local
1182	calls on the SOM target.  Don't use "LONG_PIC_PCREL" call sequence on
1183	SOM target.
1184
11852007-03-09  Richard Henderson  <[email protected]>
1186
1187	PR target/26090
1188	* target.h (targetm.asm.out.reloc_rw_mask): New.
1189	* target-def.h (TARGET_ASM_RELOC_RW_MASK): New.
1190	(TARGET_ASM_OUT): Use it.
1191	* targhooks.c, targhooks.h (default_reloc_rw_mask): New.
1192	* varasm.c (categorize_decl_for_section): Remove shlib argument;
1193	use the new reloc_rw_mask target hook instead.
1194	(default_section_type_flags_1): Merge into...
1195	(default_section_type_flags): ... here.
1196	(decl_readonly_section_1): Merge into...
1197	(decl_readonly_section): ... here.
1198	(default_elf_select_section_1): Merge into...
1199	(default_elf_select_section): ... here.
1200	(default_unique_section_1): Merge into...
1201	(default_unique_section): ... here.
1202	(compute_reloc_for_rtx_1, compute_reloc_for_rtx): New.
1203	(default_select_rtx_section): Use it.
1204	(default_elf_select_rtx_section): Likewise.
1205	* output.h: Update to match.
1206	* doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New.
1207	* config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New.
1208	(TARGET_ASM_RELOC_RW_MASK): New.
1209	* config/i386/i386.c (x86_64_elf_select_section): Adjust call
1210	to categorize_decl_for_section.
1211	(x86_64_elf_unique_section): Likewise.
1212	* config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
1213	TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove.
1214	(TARGET_ASM_RELOC_RW_MASK): New.
1215	* config/ia64/ia64.c (ia64_rwreloc_select_section,
1216	ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove.
1217	(ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New.
1218	(TARGET_RWRELOC): Remove.
1219	(ia64_section_type_flags): Adjust call to default_section_type_flags.
1220	* config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
1221	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove.
1222	(rs6000_elf_select_section, rs6000_elf_unique_section): Remove.
1223	(rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New.
1224	(rs6000_xcoff_select_section): Use decl_readonly_section.
1225	(rs6000_xcoff_section_type_flags): Use default_section_type_flags.
1226	* config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
1227	(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove.
1228	(TARGET_SECTION_TYPE_FLAGS): Remove.
1229	* config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New.
1230
12312007-03-08  Geoffrey Keating  <[email protected]>
1232
1233	PR 31013
1234	* gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
1235	is declared.
1236	* config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is
1237	passed, use shared libgcc.
1238
12392007-03-09  Alexandre Oliva  <[email protected]>
1240
1241	PR rtl-optimization/30643
1242	* cse.c (cse_insn): Recompute dest_hash after insert_regs for
1243	dest_addr_elt.
1244
12452007-03-09  Andrew Pinski  <[email protected]>
1246
1247	PR tree-opt/30045
1248	* tree-vrp.c (nonnull_arg_p): Treat the static decl as always
1249	non null.
1250
12512007-03-09  Andrew Pinski  <[email protected]>
1252
1253	PR middle-end/30729
1254	* stmt.c (warn_if_unused_value): VA_ARG_EXPR has side
1255	effects unknown to this function, return early.
1256
12572007-03-09  Andrew Pinski  <[email protected]>
1258
1259	PR tree-opt/28624
1260	* tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary
1261	bitmap for EXECUTE_IF_SET_IN_BITMAP.
1262
12632006-03-09  Mark Shinwell  <[email protected]>
1264	    Andrew MacLeod  <[email protected]>
1265	PR tree-optimization/29877
1266	* tree-outof-ssa.c (check_replaceable): Don't allow TER to replace
1267	an expression if the RHS is a register variable.
1268
12692007-03-08  Andrew Pinski  <[email protected]>
1270
1271	PR C/31072
1272	* c-decl.c (merge_decls): Don't call make_var_volatile.
1273	* varasm.c (make_var_volatile): Remove.
1274	* output.h (make_var_volatile): Remove.
1275
12762007-03-08  Kaveh R. Ghazi  <[email protected]>
1277
1278	* builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl,
1279	llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with
1280	ATTR_CONST_NOTHROW_LIST.
1281
1282	* fold-const.c (tree_expr_nonnegative_p): Handle FIX_TRUNC_EXPR.
1283
12842007-03-08 Andrew Pinski <[email protected]>
1285
1286	PR target/30406
1287	* config/rs6000/rs6000.c (rs6000_function_value): Look at bit size
1288	instead of precision.
1289
12902007-03-08  Volker Reichelt  <[email protected]>
1291
1292	PR c++/30852
1293	* c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.
1294
12952007-03-07  Manuel Lopez-Ibanez  <[email protected]>
1296
1297	* c.opt (Waddress): New.
1298	* common.opt (Walways-true): Delete.
1299	(Wstring-literal-comparison): Delete.
1300	* doc/invoke.texi (Warning Options): Delete -Walways-true and
1301	-Wstring-literal-comparison. Add -Waddress.
1302	(Waddress): New.
1303	(Walways-true): Delete.
1304	(Wstring-literal-comparison): Delete.
1305	* doc/extend.texi (#pragma GCC diagnostic): Use -Wformat
1306	consistently instead of -Walways-true in example.
1307	* c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall.
1308	* c-typeck.c (parser_build_binary_op): Replace
1309	-Wstring-literal-comparison and -Walways-true with -Waddress.
1310	(build_binary_op): Likewise.
1311	* c-common.c (c_common_truthvalue_conversion): Likewise.
1312
13132007-03-07  Richard Henderson  <[email protected]>
1314
1315	PR target/30848
1316	* reg-stack.c (emit_swap_insn): If a malformed asm was seen,
1317	silently fix up the stack in the case of a missing register.
1318
13192007-03-06  David Daney  <[email protected]>
1320
1321	* doc/install.texi (mips-*-*): Change recommended binutils
1322	version.
1323
13242007-03-06  Manuel Lopez-Ibanez  <[email protected]>
1325
1326	* doc/invoke.texi (Warning Options): Replace -Werror- with
1327	-Werror=.
1328	* opts.c (common_handle_option): Likewise.
1329
13302007-03-06  Anatoly Sokolov <[email protected]>
1331
1332	* config/avr/avr.c (avr_mcu_types): Add support for ATmega325P,
1333	ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162
1334	devices.
1335	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1336	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1337
13382007-03-06  Roger Sayle  <[email protected]>
1339
1340	PR middle-end/30744
1341	* fold-const.c (fold_binary) <EQ_EXPR>: Enforce type consistency
1342	when transforming ~X op C to X op' ~C.
1343
13442007-03-05  John David Anglin  <[email protected]>
1345
1346	* pa.md: In unamed move patterns, disparge copies between general
1347	and floating point registers using '?' modifier.  Don't include 'f'
1348	constraint for register preferences in DImode, SImode, HImode and
1349	QImode patterns.  Likewise for 'r' in DFmode and SFmode patterns.
1350	Remove constraints for copies between general and floating registers
1351	in soft-float DFmode pattern.
1352	(movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard
1353	floating register.
1354	(movsf): Likewise.
1355
13562007-03-05  Kaveh R. Ghazi  <[email protected]>
1357
1358	* convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
1359	conversion.
1360
13612007-03-05  Steve Ellcey  <[email protected]>
1362
1363	Backported from mainline
1364	PR debug/29614
1365	* cgraph.h (cgraph_varpool_last_needed_node): Make global.
1366	* cgraph.c (cgraph_varpool_last_needed_node): Ditto.
1367	* cgraphunit.c (cgraph_varpool_assemble_pending_decls):
1368	Set cgraph_varpool_last_needed_node to NULL.
1369
13702007/03/05  David Taylor  <[email protected]>
1371
1372	PR 31050
1373	* gcc.c: Correct copyright date in --version output.
1374
13752007-03-05  Brooks Moses  <[email protected]>
1376
1377	* c.opt: Remove -ffixed-form, -ffixed-line-length-none, and
1378	-ffixed-line-length-* options.
1379
13802007-03-05  David Edelsohn  <[email protected]>
1381
1382	* config/rs6000/t-ppccomm: Always build libgcc2 for GNU/Linux
1383	with -mlong-double-128, except SPE.
1384
1385	* config/rs6000/darwin-ldouble.c: Only build new functions for
1386	__LONG_DOUBLE_128__.
1387
1388	Backport from mainline:
1389	2007-01-16  David Edelsohn  <[email protected]>
1390
1391	* config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT.
1392	(strong_alias): Define.
1393	(__gcc_qmul): Provide non-FMA for soft-float.
1394	(__gcc_qdiv): Same.
1395	(__gcc_qneg): New.
1396	(__gcc_qeq): New.
1397	(__gcc_qle): New.
1398	(__gcc_qge): New.
1399	(__gcc_qunord): New.
1400	(__gcc_stoq): New.
1401	(__gcc_dtoq): New.
1402	(__gcc_qtos): New.
1403	(__gcc_qtod): New.
1404	(__gcc_qtoi): New.
1405	(__gcc_qtou): New.
1406	(__gcc_itoq): New.
1407	(__gcc_utoq): New.
1408	(fmsub): New.
1409	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize
1410	soft-float functions.
1411	* config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols.
1412	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn
1413	about long double soft float.
1414
14152007-03-05  Richard Guenther  <[email protected]>
1416
1417	Backport from mainline:
1418	2007-02-28  Richard Guenther  <[email protected]>
1419
1420	PR middle-end/30364
1421	* fold-const.c (fold_binary): Do not associate expressions
1422	with more than one variable for integer types that do not wrap.
1423
14242007-03-04  Eric Botcazou  <[email protected]>
1425
1426	PR ada/26797
1427	* doc/invoke.texi (-O2): Document that Tree-VRP is not turned on
1428	for the Ada compiler.
1429
14302007-03-02  Zdenek Dvorak <[email protected]>
1431
1432	PR tree-optimization/29902
1433	* tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if
1434	any involved ssa name appears in abnormal phi node.
1435
14362007-03-02  Eric Botcazou  <[email protected]>
1437
1438	* tree-sra.c (sra_walk_fns) <ldst>: Document new restriction.
1439	(sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use
1440	if the lhs has side-effects.
1441	<lhs_elt>: Treat the reference as a use if the rhs has side-effects.
1442
14432007-03-02  Paul Brook  <[email protected]>
1444
1445	* config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing
1446	modes to LDRD for DImode.
1447	(output_move_double): Fixup out of range ldrd/strd.
1448	(vfp_secondary_reload_class): Rename...
1449	(coproc_secondary_reload_class): ... to this.  Add wb argument.
1450	* config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use
1451	coproc_secondary_reload_class for CLASS_IWMMXT.
1452	(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
1453	* arm-protos.h (coproc_secondary_reload_class): Update prototype.
1454
14552007-03-02  Eric Botcazou  <[email protected]>
1456
1457	* config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
1458	entry by means of emit_insn_at_entry.
1459
14602007-03-01  Manuel Lopez-Ibanez  <[email protected]>
1461
1462	* doc/invoke.texi (Wextra): Delete outdated paragraph.
1463
14642007-02-27  John David Anglin  <[email protected]>
1465
1466	* pa/predicates.md (move_src_operand): Allow zero for mode.
1467	* pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode
1468	move pattern.
1469
14702007-02-27  Mike Stump  <[email protected]>
1471
1472	* config/darwin-crt3.c: Avoid compilation when compiling for a
1473	kext multilib.
1474
14752007-02-27  Andreas Schwab  <[email protected]>
1476
1477	* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.
1478
14792007-02-26  Brooks Moses  <[email protected]>
1480
1481	* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency.
1482
14832007-02-26  Brooks Moses  <[email protected]>
1484
1485	* doc/include/gcc-common.texi (versionsubtitle): New macro.
1486	* doc/cpp.texi: Standardize title page.
1487	* doc/cppinternals.texi: Likewise.
1488	* doc/gcc.texi: Standardize title page, remove version number
1489	from copyright page.
1490	* doc/gccint.texi: Likewise.
1491	* doc/install.texi: Standardize title page, add table of
1492	contents.
1493
14942007-02-24  Mike Stump  <[email protected]>
1495
1496	* config/i386/i386.c (output_pic_addr_const): Stubify optimized
1497	symbols.
1498
14992007-02-24  John David Anglin  <[email protected]>
1500
1501	* pa.md (muldi3): Force subregs to registers in 64-bit expander.
1502
15032007-02-23  Mike Stump  <[email protected]>
1504
1505	* tlink.c (scan_linker_output): Parse linker messages from
1506	darwin9's linker better.
1507
15082007-02-21 Ira Rosen  <[email protected]>
1509
1510	* tree-ssa-alias.c: Include pointer-set.h
1511	* Makefile.in (tree-ssa-alias.o): Depend on pointer-set.h.
1512
15132007-02-21  Jakub Jelinek  <[email protected]>
1514
1515	Backported from mainline
1516	2006-12-20  Andrew Pinski  <[email protected]>
1517	PR middle-end/30143
1518	* omp-low.c (init_tmp_var): New function.
1519	(save_tmp_var): New function.
1520	(lower_omp_1): Use them for VAR_DECL.
1521
15222007-02-20  Alan Modra  <[email protected]>
1523
1524	PR target/29943
1525	* varasm.c (use_blocks_for_decl_p): Return false for decls with
1526	alias attribute.
1527
15282007-02-19  Eric Botcazou  <[email protected]>
1529
1530	* gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap
1531	due to calls to functions taking pointers as parameters.
1532
15332007-02-19  Richard Henderson  <[email protected]>
1534
1535	PR debug/29558
1536	* var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P
1537	in memory.
1538
15392007-02-18  Eric Botcazou  <[email protected]>
1540
1541	* tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR.
1542
15432007-02-18  Eric Botcazou  <[email protected]>
1544
1545	* calls.c (mem_overlaps_already_clobbered_arg_p): Return true
1546	for arg pointer based indexed addressing.
1547
15482007-02-18 Ira Rosen  <[email protected]>
1549
1550	* tree-ssa-alias.c (may_aliases_intersect): New function.
1551	* tree-data-ref.c (ptr_ptr_may_alias_p): Call may_aliases_intersect
1552	for different tags.
1553	* tree-flow.h (may_aliases_intersect): Add function declaration.
1554
15552007-02-17  Alexandre Oliva  <[email protected]>
1556
1557	PR tree-optimization/30823
1558	* tree-sra.c (sra_build_assignment): Drop type-checking assert.
1559
15602007-02-16  Ralf Wildenhues  <[email protected]>
1561
1562	PR other/27843
1563	* Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid
1564	nested double- and backquotes.
1565
15662007-02-15  Alexandre Oliva  <[email protected]>
1567
1568	* tree-sra.c (instantiate_missing_elements): Canonicalize
1569	bit-field types.
1570	(sra_build_assignment): New.
1571	(generate_copy_inout, generate_element_copy,
1572	generate_element_zero, generate_one_element_init): Use it.
1573
15742007-02-15  Kaz Kojima  <[email protected]>
1575
1576	PR rtl-optimization/29599
1577	Backport from mainline.
1578	* reload1.c (eliminate_regs_in_insn): Take the destination
1579	mode into account when computing the offset.
1580
15812007-02-13  Joseph S. Myers  <[email protected]>
1582
1583	* doc/invoke.texi, doc/standards.texi: Refer to
1584	gcc-4.2/c99status.html.
1585
15862007-02-10  John David Anglin  <[email protected]>
1587
1588	PR target/30634
1589	* pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero
1590	CONST_DOUBLE and operand 0 is a hard register.
1591	(movdi): For 64-bit target, remove code to force CONST_DOUBLE to
1592	memory.  Fail if operand 1 is a non-zero CONST_INT and operand 0
1593	is a hard floating-point register.
1594
15952007-02-06  Mark Mitchell  <[email protected]>
1596
1597	PR target/29487
1598	* tree.h (DECL_REPLACEABLE_P): New macro.
1599	* except.c (set_nothrow_function_flags): Likewise.
1600
16012007-02-07  Jakub Jelinek  <[email protected]>
1602
1603	PR c++/30703
1604	* gimplify.c (gimplify_scan_omp_clauses): Remove special casing
1605	of INDIRECT_REF <RESULT_DECL>.
1606
16072007-02-06  Rask Ingemann Lamberisen  <[email protected]>
1608
1609	PR 30370
1610	* config/rs6000/t-ppccomm: Correct Makefile typo.
1611
16122007-02-06  Roger Sayle  <[email protected]>
1613
1614	PR libgomp/28296
1615	Backport from mainline.
1616	* config/darwin.h (CPP_SPEC): Handle -pthread, transforming
1617	it into -D_REENTRANT.
1618
16192007-02-05  Alexandre Oliva  <[email protected]>
1620
1621	PR debug/30189
1622	* dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE
1623	even if cv-qualification is the same.
1624
16252007-02-05  Geoffrey Keating  <[email protected]>
1626
1627	* config/rs6000/darwin-tramp.asm (__trampoline_setup): Call
1628	__enable_execute_stack on completion.
1629
16302007-02-05  Bob Wilson  <[email protected]>
1631
1632	* config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs.
1633
16342007-02-02  Maxim Kuvyrkov  <[email protected]>
1635
1636	PR target/29682
1637	* config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory loads to
1638	general or fp registers.  Add comments.
1639	* config/ia64/ia64.md (reg_pred_prefix): Add comment.
1640
16412007-02-04  Richard Guenther  <[email protected]>
1642
1643	Backport from mainline:
1644	2007-01-30  Richard Guenther  <[email protected]>
1645
1646	PR middle-end/27657
1647	* dwarf2out.c (reference_to_unused): Query varpool if the
1648	variable was output.
1649
16502007-02-02  Mike Stump  <[email protected]>
1651
1652	* config.gcc (*-*-darwin*): Backport darwin9.h bits.
1653	* config/darwin9.h: Add.
1654	* config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add.
1655	(output_call): Use DARWIN_GENERATE_ISLANDS to decide when to
1656	generate a branch island.
1657
16582007-02-02  Hui-May Chang  <[email protected]>
1659
1660	Revert for x86 darwin:
1661	2005-06-19  Uros Bizjak  <[email protected]>
1662
1663	* config/i386/i386.c (ix86_function_arg_regno_p): Put back the
1664	code before the following patch under TARGET_MACHO.
1665	(ix86_function_value_regno_p): Likewise.
1666
16672007-02-02  Simon Martin  <[email protected]>
1668
1669	PR c++/28266
1670	* gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is
1671	expanded only once even if an error occurs.
1672
16732007-02-02  Jakub Jelinek  <[email protected]>
1674
1675	PR middle-end/30473
1676	* builtins.c (fold_builtin_sprintf): Do not attempt to optimize
1677	sprintf (str, "%s").  Do not optimize sprintf (str, "nopercent", p++).
1678
16792007-02-01  Guy Martin  <[email protected]>
1680
1681	* pa.md (tp_load): Correct mfctl instruction syntax.
1682
16832007-02-01  Geoffrey Keating  <[email protected]>
1684
1685	* config/rs6000/rs6000.c (rs6000_stack_info): Correct
1686	altivec_padding_size calculation on AIX.  Improve comment, add
1687	assert to verify that it's right.
1688
16892007-01-31  Anatoly Sokolov <[email protected]>
1690
1691	PR target/19087
1692	* config/avr/avr.c (DWARF2_ADDR_SIZE): Define.
1693
16942007-01-30  Richard Guenther  <[email protected]>
1695
1696	PR middle-end/30313
1697	* passes.c (execute_one_pass): Reset in_gimple_form to not
1698	confuse non-unit-at-a-time mode.
1699
17002007-01-27  Anatoly Sokolov <[email protected]>
1701
1702	* config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define __AVR_HAVE_MUL__.
1703
17042007-01-29  Mike Stump  <[email protected]>
1705
1706	* doc/gccint.texi (Top): Rename Loop Representation to Loop
1707	Analysis and Representation to resolve case insensitive conflict.
1708	* doc/loop.texi (Loop Analysis and Representation): Likewise.
1709
17102007-01-29  Josh Conner  <[email protected]>
1711
1712	PR middle-end/29683
1713	* calls.c (compute_argument_addresses): Set stack and stack_slot
1714	for partial args, too.
1715	(store_one_arg): Use locate.size.constant for the size when
1716	generating a save_area.
1717
17182007-01-28  Ralf Wildenhues  <[email protected]>
1719
1720	* doc/sourcebuild.texi: Add comma for clarity.
1721	* doc/extend.texi: Fix some typos.
1722	* doc/passes.texi: Likewise.
1723	* doc/cppinternals.texi: Likewise.
1724	* doc/c-tree.texi: Likewise.
1725	* doc/tree-ssa.texi: Likewise.
1726	* doc/install.texi: Likewise.
1727
17282007-01-26  Zdenek Dvorak <[email protected]>
1729
1730	PR tree-optimization/29516
1731	* tree-ssa-address.c (tree_mem_ref_addr, add_to_parts,
1732	most_expensive_mult_to_index, addr_to_parts,
1733	create_mem_ref, maybe_fold_tmr): Make the type of
1734	fields of TARGET_MEM_REF sizetype.
1735	(move_fixed_address_to_symbol, move_pointer_to_base,
1736	aff_combination_remove_elt): New functions.
1737	* tree.def (TARGET_MEM_REF): Add comment on types of
1738	the operands.
1739	* gcc.dg/tree-ssa/loop-20.c: New test.
1740
17412007-01-25  Geoffrey Keating  <[email protected]>
1742
1743	PR 25127
1744	* config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin,
1745	save Altivec registers in an eh_return function.
1746	(compute_vrsave_mask): Likewise.
1747	(rs6000_stack_info): Correct AIX/Darwin stack alignment computation
1748	for saving Altivec registers.
1749	(rs6000_emit_prologue): Don't allocate stack twice in
1750	eh_return function.  Correct expected value of altivec_save_offset
1751	when using save_world.  Describe save of R0 to stack when using
1752	save_world.  Describe stack pointer adjustment when using
1753	save_world.  Remove duplicated eh_return parameter register saving.
1754	Update sp_offset variable after save_world.
1755	* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove
1756	darwin-world.asm.
1757	(LIB2FUNCS_EXTRA): Add darwin-world.asm.
1758	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
1759	implies Altivec.
1760
17612007-01-24  Geoffrey Keating  <[email protected]>
1762
1763	* unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.
1764
17652007-01-24  Jakub Jelinek  <[email protected]>
1766
1767	PR middle-end/27416
1768	* gimplify.c (omp_check_private): New function.
1769	(gimplify_scan_omp_clauses): Use it for
1770	firstprivate/lastprivate/reduction.
1771
1772	PR middle-end/30494
1773	* gimplify.c (omp_add_variable): Don't call omp_notice_variable
1774	on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs.
1775
1776	PR middle-end/30421
1777	* omp-low.c (lower_omp_for_lastprivate): Add dlist argument.
1778	If lower_lastprivate_clauses emits some statements, append them
1779	to dlist rather than body_p and to body_p append an initializer.
1780	(lower_omp_for): Adjust caller.
1781
17822007-01-21  Eric Botcazou  <[email protected]>
1783
1784	PR rtl-optimization/29329
1785	* combine.c (replaced_rhs_insn): Rename to i2mod.
1786	(replaced_rhs_value): Rename to i2mod_new_rhs.
1787	(i2mod_old_rhs): New global variable.
1788	(combine_instructions): Adjust for above change.  Save a copy of
1789	the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL
1790	note are substituted in the second instruction.
1791	(distribute_notes) <REG_DEAD>: Adjust for above change.  Do not
1792	ditch the note if it pertains to the second eliminated register
1793	and this register is mentioned in i2mod_old_rhs.
1794
1795	Revert:
1796	2006-09-12  Eric Botcazou  <[email protected]>
1797
1798	* combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
1799	the insn to which the note was originally attached.
1800
18012007-01-20  John David Anglin  <[email protected]>
1802
1803	* pa.c (output_move_double): Change array size of xoperands to 4.
1804
18052007-01-17  Eric Christopher  <[email protected]>
1806
1807	Backport from mainline:
1808	2006-12-18  Roger Sayle  <[email protected]>
1809	            Eric Christopher  <[email protected]>
1810
1811	PR target/29302
1812	* real.c (real_maxval): Correctly handle IBM extended double format.
1813
18142007-01-17  Tom Tromey  <[email protected]>
1815
1816	* doc/sourcebuild.texi (libgcj Tests): Use sourceware.org.
1817	* doc/install.texi (Testing): Use sourceware.org.
1818	(Binaries): Likewise.
1819	(Specific): Likewise.
1820	* doc/contrib.texi (Contributors): Use sourceware.org.
1821
18222007-01-15  Joseph S. Myers  <[email protected]>
1823
1824	* config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from
1825	glibc CVS.
1826
18272007-01-11  John David Anglin  <[email protected]>
1828
1829	* pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine.
1830	* pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS.
1831	(ASM_OUTPUT_INTERNAL_LABEL): Define.
1832
18332007-01-10  Ralf Corsépius <[email protected]>
1834
1835	* config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS.
1836
18372007-01-09  Nicolas Pitre  <[email protected]>
1838
1839	PR target/30173
1840	* arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.
1841
18422007-01-08  Nick Clifton  <[email protected]>
1843
1844	* config/frv/predicates.md (reg_or_0_operand): Accept
1845	CONST_DOUBLEs.
1846
18472007-01-08  Ralf Corsépius <[email protected]>
1848
1849	* config/bfin/rtems.h, config/bfin/t-rtems: New.
1850	* config.gcc: Add bfin*-rtems*.
1851
18522007-01-08  Chen liqin  <[email protected]>
1853	* config/score/t-score-elf (MULTILIB_OPTIONS): Change.
1854	* config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
1855	const_simm15, const_pow2, const_npow2): Added.
1856	* config/score/misc.md (insv, extv, extzv, movmemsi,
1857	move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
1858	* config/score/score.c (score_address_cost, score_select_cc_mode):
1859	Added.
1860	Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
1861	Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
1862	Update score_print_operand.
1863	* config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added.
1864	Adjust register allocate order and update some macro define.
1865	* config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
1866	mdx_block_move_straight, mdx_block_move_loop_head,
1867	mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop,
1868	mdx_block_move): Added.
1869	(mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
1870	mdp_limm): Updated and fix some bug and typo.
1871	* config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.
1872	(movsf, movdf, doloop_end): Added.
1873
18742007-01-05  Richard Guenther  <[email protected]>
1875
1876	PR middle-end/27826
1877	* tree.c (get_narrower): Do not construct COMPONENT_REFs
1878	with mismatched types.  Instead explicitly build a
1879	conversion NOP_EXPR.
1880
18812007-01-05  Jakub Jelinek  <[email protected]>
1882
1883	PR c/30360
1884	* libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
1885	denom against 0.0.
1886
18872007-01-03  Jakub Jelinek  <[email protected]>
1888
1889	* unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define.
1890	(struct _Unwind_Context): Rename args_size to flags, remove
1891	signal_frame field, add a new args_size field and version field.
1892	(_Unwind_IsSignalFrame, _Unwind_SetSignalFrame,
1893	_Unwind_IsExtendedContext): New inline functions.
1894	(_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
1895	Assume by_value array is only present if _Unwind_IsExtendedContext.
1896	(_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use
1897	_Unwind_IsSignalFrame.
1898	(__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT.
1899	(uw_update_context_1): Use _Unwind_SetSignalFrame.
1900	(uw_init_context_1): Initialize context->flags to
1901	EXTENDED_CONTEXT_BIT.
1902	* config/rs6000/linux-unwind.h (frob_update_context): Use
1903	_Unwind_SetSignalFrame.
1904
19052007-01-01  Mike Stump  <[email protected]>
1906
1907	* configure.ac: Remove support for building with Apple's gcc-3.1.
1908
19092007-01-01  Andreas Schwab  <[email protected]>
1910
1911	PR target/29166
1912	* config/ia64/ia64.c (ia64_compute_frame_size): Account space for
1913	save of BR0 in extra_spill_size instead of spill_size.
1914	(ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill
1915	area.
1916	(ia64_expand_epilogue): Restore BR0 from its new location.
1917