xref: /netbsd-src/external/gpl3/gcc/dist/gcc/ChangeLog (revision 0953dc8744b62dfdecb2f203329e730593755659)
12011-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2
3	PR target/50691
4	* config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references.
5	* config/pa/pa.h (LEGITIMATE_CONSTANT_P): Return false for
6	TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC symbol references.
7
82011-04-28  Release Manager
9
10	* GCC 4.5.3 released.
11
122011-04-21  Richard Guenther  <rguenther@suse.de>
13
14	PR middle-end/48712
15	Backport from 4.6 branch
16	2011-03-07  Zdenek Dvorak  <ook@ucw.cz>
17
18	PR bootstrap/48000
19	* cfgloopmanip.c (fix_bb_placements): Return immediately
20	if FROM is BASE_LOOP's header.
21
222011-04-20  Richard Guenther  <rguenther@suse.de>
23
24	Backport from 4.6 branch
25	2011-04-19  Bernd Schmidt  <bernds@codesourcery.com>
26
27	PR fortran/47976
28	* reload1.c (inc_for_reload): Return void. All callers changed.
29	(emit_input_reload_insns): Don't try to delete previous output
30	reloads to a register, or record spill_reg_store for autoincs.
31
322011-04-19  Richard Guenther  <rguenther@suse.de>
33
34	Backported from 4.6 branch
35	2011-03-29  Jakub Jelinek  <jakub@redhat.com>
36
37	PR preprocessor/48248
38	* c-ppoutput.c (print): Add src_file field.
39	(init_pp_output): Initialize it.
40	(maybe_print_line): Don't optimize by adding up to 8 newlines
41	if map->to_file and print.src_file are different file.
42	(print_line): Update print.src_file.
43
44	2011-04-18  Richard Guenther  <rguenther@suse.de>
45
46	PR preprocessor/48248
47	* c-ppoutput.c (maybe_print_line): Avoid changing -P behavior.
48
492011-04-19  Richard Guenther  <rguenther@suse.de>
50
51	PR tree-optimization/46188
52	Backported from 4.6 branch
53	2010-05-26  Jan Hubicka  <jh@suse.cz>
54
55	* cgraphunit.c (clone_of_p): Remove.
56	(verify_cgraph_node): Do not verify clones.
57	(cgraph_materialize_all_clones): Do no redirection here.
58	* ipa-inline.c (inline_transform): Do redirection here.
59
602011-04-18  Eric Botcazou  <ebotcazou@adacore.com>
61
62	* dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
63
642011-04-18  Richard Guenther  <rguenther@suse.de>
65
66	Backported from 4.6 branch
67	2011-01-19  Jakub Jelinek  <jakub@redhat.com>
68
69	PR tree-optimization/47290
70	* tree-eh.c (infinite_empty_loop_p): New function.
71	(cleanup_empty_eh): Use it.
72
73	2010-05-29  Jan Hubicka  <jh@suse.cz>
74
75	PR tree-optimization/46364
76	* cgraphunit.c (cgraph_materialize_clone): Only remove calles, refs
77	and body;
78	not the whole node for masters of materialized clones.
79
802011-04-18  Richard Guenther  <rguenther@suse.de>
81
82	Backported from 4.6 branch
83	2011-03-05  Zdenek Dvorak  <ook@ucw.cz>
84
85	PR rtl-optimization/47899
86	* cfgloopmanip.c (fix_bb_placements): Fix first argument
87	to flow_loop_nested_p when moving the loop upward.
88
89	2011-03-15  Richard Guenther  <rguenther@suse.de>
90
91	PR middle-end/48031
92	* fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
93	or variable-indexed array accesses when in gimple form.
94
952011-04-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
96
97	* config/pa/pa.h (REGISTER_MOVE_COST): Increase to 18 cost of
98	move from floating point to shift amount register.
99
100	Backport from mainline:
101	2011-04-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
102
103	PR target/48366
104	* config/pa/pa.c (emit_move_sequence): Remove secondary reload
105	support for floating point to shift amount amount register copies.
106	(pa_secondary_reload): Return GENERAL_REGS for floating point/shift
107	amount register copies.
108	* config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
109	register, return false if mode isn't a scalar integer mode.
110	* config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
111
1122011-04-16  Jakub Jelinek  <jakub@redhat.com>
113
114	Backported from 4.6 branch
115	2011-04-15  Jakub Jelinek  <jakub@redhat.com>
116
117	PR target/48605
118	* config/i386/sse.md (avx_insertps, sse4_1_insertps): If operands[2]
119	is a MEM, offset it as needed based on top 2 bits in operands[3],
120	change MEM mode to SFmode and mask those 2 bits away from operands[3].
121
1222011-04-13  Nick Clifton  <nickc@redhat.com>
123
124	* config/rx/rx.md (movmemsi): Do not use this pattern when
125	volatile pointers are involved.
126
1272011-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
128
129	Backport from mainline:
130	2011-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
131
132	PR testsuite/47400
133	* doc/sourcebuild.texi (Require Support): Document
134	dg-require-ascii-locale.
135
1362011-04-12  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
137
138	Backport from mainline:
139	2011-04-12  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
140	PR target/48090
141	* config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
142
1432011-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
144
145	Backport from mainline:
146	2011-04-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
147
148	* config/alpha/osf.h (MAX_OFILE_ALIGNMENT): Define.
149
1502011-04-09  Duncan Sands  <baldrick@free.fr>
151
152	* tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
153
1542011-04-07  Uros Bizjak  <ubizjak@gmail.com>
155
156	* config/i386/sse.md (avx_cmps<ssemodesuffixf2c><mode>3): Add
157	missing output register constraint.
158	(*vec_concatv2sf_avx): Fix wrong register constraint in
159	alternative 3 of operand 1.
160	(*vec_set<mode>_0_avx): Avoid combining registers from different
161	units in a single alternative.
162	(*vec_set<mode>_0_sse4_1): Ditto.
163	(*vec_set<mode>_0_sse2): Ditto.
164	(vec_set<mode>_0): Ditto.
165	(sse2_storehpd): Ditto.
166	(sse2_loadhpd): Ditto.
167	(sse4_1_insertps): Use nonimmediate_operand for operand 2.
168	* config/i386/predicates.md (sse_comparison_operator): Do not
169	define as special predicate.
170
1712011-04-07  Jakub Jelinek  <jakub@redhat.com>
172
173	Backported from mainline
174	2011-04-06  Jakub Jelinek  <jakub@redhat.com>
175
176	PR debug/48466
177	* dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
178	as base_reg whatever register reg has been eliminated to, instead
179	of hardcoding STACK_POINTER_REGNUM.
180
181	2011-03-24  Jakub Jelinek  <jakub@redhat.com>
182
183	PR debug/48204
184	* simplify-rtx.c (simplify_const_unary_operation): Call
185	real_convert when changing mode class with FLOAT_EXTEND.
186
187	2011-03-17  Jakub Jelinek  <jakub@redhat.com>
188
189	PR rtl-optimization/48141
190	* dse.c (record_store): If no positions are needed in an insn
191	that cannot be deleted, at least unchain it from active_local_stores.
192
193	2011-03-03  Jakub Jelinek  <jakub@redhat.com>
194
195	PR c/47963
196	* gimplify.c (omp_add_variable): Only call omp_notice_variable
197	on TYPE_SIZE_UNIT if it is a DECL.
198
199	2011-02-19  Jakub Jelinek  <jakub@redhat.com>
200
201	PR c/47809
202	* c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
203
204	2011-01-26  Jakub Jelinek  <jakub@redhat.com>
205
206	PR c/47473
207	* c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
208	EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
209	REAL_TYPE.
210
2112011-04-07  Jakub Jelinek  <jakub@redhat.com>
212
213	PR tree-optimization/47391
214	* tree-ssa-ccp.c (get_symbol_constant_value): Don't optimize
215	if sym is volatile.
216
217	Backported from mainline
218	2010-07-01  Richard Guenther  <rguenther@suse.de>
219
220	* omp-low.c (scan_omp_1_op): Don't change type of INTEGER_CSTs
221	directly.
222
2232011-04-07  Andrey Belevantsev  <abel@ispras.ru>
224
225	Backport from mainline
226	2011-03-26  Andrey Belevantsev  <abel@ispras.ru>
227
228	PR rtl-optimization/48144
229	* sel-sched-ir.c (merge_history_vect): Factor out from ...
230	(merge_expr_data): ... here.
231	(av_set_intersect): Rename to av_set_code_motion_filter.
232	Update all callers.  Call merge_history_vect when an expression
233	is found in both sets.
234	* sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
235
2362011-04-07  Andrey Belevantsev  <abel@ispras.ru>
237
238	Backport from mainline
239	2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
240
241	PR rtl-optimization/45352
242	* sel-sched.c: Update copyright years.
243	(reset_sched_cycles_in_current_ebb): Also recheck the DFA state
244	in the advancing loop when we have issued issue_rate insns.
245
246	Backport from mainline
247	2010-12-22  Andrey Belevantsev  <abel@ispras.ru>
248
249	PR rtl-optimization/45352
250	PR rtl-optimization/46521
251	PR rtl-optimization/46522
252	* sel-sched.c (reset_sched_cycles_in_current_ebb): Recheck the DFA state
253	on the last iteration of the advancing loop.
254	(sel_sched_region_1): Propagate the rescheduling bit to the next block
255	also for empty blocks.
256
257	Backport from mainline
258	2010-11-08  Andrey Belevantsev  <abel@ispras.ru>
259
260	PR rtl-optimization/45352
261	* sel-sched.c (find_best_expr): Do not set pneed_stall when
262	the variable_issue hook is not implemented.
263	(fill_insns): Remove dead variable stall_iterations.
264	(init_seqno_1): Force EBB start for resetting sched cycles on any
265	successor blocks of the rescheduled region.
266	(sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit.
267	(reset_sched_cycles_in_current_ebb): Add debug printing.
268	New variable issued_insns.  Advance state when we have issued
269	issue_rate insns.
270
2712011-04-07  Andrey Belevantsev  <abel@ispras.ru>
272
273	Backport from mainline
274	2010-12-24  Alexander Monakov  <amonakov@ispras.ru>
275
276	PR rtl-optimization/47036
277	* sel-sched-ir.c (fallthru_bb_of_jump): Remove special support for
278	unconditional jumps.
279	* sel-sched.c (moveup_expr): Ditto.
280
2812011-04-07  Andrey Belevantsev  <abel@ispras.ru>
282
283	Backport from mainline
284	2010-12-15  Alexander Monakov  <amonakov@ispras.ru>
285
286	PR rtl-optimization/46649
287	* sel-sched-ir.c (purge_empty_blocks): Unconditionally skip the first
288	basic block in the region.
289
2902011-04-07  Andrey Belevantsev  <abel@ispras.ru>
291
292	Backport from mainline
293	2010-12-14  Alexander Monakov  <amonakov@ispras.ru>
294
295	PR rtl-optimization/46875
296	* sched-vis.c (print_pattern): Dump "sequence" for ADDR_VECs.
297	* sel-sched-ir.c (bb_has_removable_jump_to_p): Forbid table jumps.
298
2992011-04-07  Andrey Belevantsev  <abel@ispras.ru>
300
301	Backport from mainline
302	2010-12-07  Andrey Belevantsev  <abel@ispras.ru>
303	PR target/43603
304	* haifa-sched.c (sched_create_recovery_edges): Update
305	dominator info.
306	* sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info
307	after deleting an empty block.
308	(tidy_control_flow): Also verify dominators.
309	(sel_remove_bb): Update dominator info after removing a block.
310	(sel_redirect_edge_and_branch_force): Assert that no unreachable
311	blocks will be created. Update dominator info.
312	(sel_redirect_edge_and_branch): Update dominator info when
313	basic blocks do not become unreachable.
314	(sel_remove_loop_preheader): Update dominator info.
315
316	2010-10-14  Andrey Belevantsev  <abel@ispras.ru>
317
318	* sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment.
319	(tidy_control_flow): Tidy vertical space.
320	(sel_remove_bb): New variable idx.  Use it to remember the basic
321	block index before deleting the block.
322	(sel_remove_empty_bb): Remove dead code, simplify and insert to ...
323	(sel_merge_blocks): ... here.
324	* sel-sched-ir.h (sel_remove_empty_bb): Remove prototype.
325
3262011-04-07  Andrey Belevantsev  <abel@ispras.ru>
327
328	Backport from mainline
329	2010-12-03  Alexander Monakov  <amonakov@ispras.ru>
330
331	PR rtl-optimization/45354
332	* sel-sched-ir.c (jump_leads_only_to_bb_p): Rename to ...
333	(bb_has_removable_jump_to_p): This.  Update all callers. Make static.
334	Allow BBs ending with a conditional jump.  Forbid EDGE_CROSSING jumps.
335	* sel-sched-ir.h (jump_leads_only_to_bb_p): Delete prototype.
336
3372011-04-07  Andrey Belevantsev  <abel@ispras.ru>
338
339	Backport from mainline
340	2010-11-25  Alexander Monakov  <amonakov@ispras.ru>
341
342	PR rtl-optimization/46585
343	* sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL.
344	(vinsn_init): Skip computation of dependencies for local NOPs.
345	(vinsn_delete): Don't try to free regsets for local NOPs.
346	(setup_nop_and_exit_insns): Change definition of nop_pattern.
347
3482011-04-07  Andrey Belevantsev  <abel@ispras.ru>
349
350	Backport from mainline
351	2010-11-25  Alexander Monakov  <amonakov@ispras.ru>
352
353	PR rtl-optimization/46602
354	* sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ...
355	(tidy_control_flow): Here.
356
3572011-04-07  Andrey Belevantsev  <abel@ispras.ru>
358
359	Backport from mainline
360	2010-11-22  Alexander Monakov  <amonakov@ispras.ru>
361
362	PR rtl-optimization/45652
363	* alias.c (get_reg_base_value): New.
364	* rtl.h (get_reg_base_value): Add prototype.
365	* sel-sched.c (init_regs_for_mode): Use it.  Don't use registers with
366	non-null REG_BASE_VALUE for renaming.
367
3682011-04-07  Andrey Belevantsev  <abel@ispras.ru>
369
370	Backport from mainline
371	2010-11-18  Alexander Monakov  <amonakov@ispras.ru>
372
373	PR middle-end/46518
374	* sel-sched-ir.c (init_expr): Use the correct type for
375	target_available.
376	* sel-sched.c (fill_vec_av_set): Use explicitly signed char type.
377
3782011-04-07  Andrey Belevantsev  <abel@ispras.ru>
379
380	Backport from mainline
381	2010-11-12  Alexander Monakov  <amonakov@ispras.ru>
382
383	PR rtl-optimization/46204
384	 sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument.
385	pdate all callers.  Do not recompute topological order.  Adjust
386	allthrough edges following a degenerate conditional jump.
387
3882011-04-07  Andrey Belevantsev  <abel@ispras.ru>
389
390	Backport from mainline
391	2010-10-14  Andrey Belevantsev  <abel@ispras.ru>
392
393	PR rtl-optimization/45570
394	* sel-sched-ir.c (cfg_preds_1): When walking out of the region,
395	assert that we are pipelining outer loops.  Allow returning
396	zero predecessors.
397
3982011-04-06  Joseph Myers  <joseph@codesourcery.com>
399
400	* gcov-io.c: Use GCC Runtime Library Exception.
401
4022011-03-30  H.J. Lu  <hongjiu.lu@intel.com>
403
404	Backport from mainline
405	2011-03-30  H.J. Lu  <hongjiu.lu@intel.com>
406
407	PR target/48349
408	* config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
409	FLOAT_SSE_REGS.
410
4112011-03-29  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
412
413	* config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
414	for invalid symbolic addresses.
415	(s390_secondary_reload): Don't use s390_check_symref_alignment for
416	larl operands.
417
4182011-03-28  Richard Sandiford  <richard.sandiford@linaro.org>
419
420	PR target/47553
421	* config/arm/predicates.md (neon_lane_number): Accept 0..15.
422
4232011-03-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
424
425	PR other/48254
426	* doc/invoke.texi (-fipa-struct-reorg): Fix typo.
427
4282011-03-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
429
430	PR other/48179
431	PR other/48234
432	* doc/extend.texi (Alignment): Move section to match order in TOC.
433	* doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
434
4352011-03-18  H.J. Lu  <hongjiu.lu@intel.com>
436
437	Backport from mainline
438	2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
439
440	PR target/48171
441	* config/i386/i386.opt: Add Save to -mavx and -mfma.
442
4432011-03-16  Pat Haugen <pthaugen@us.ibm.com>
444
445	PR target/47862
446	* caller-save.c (insert_restore, insert_save): Use non-validate
447	form of adjust_address.
448
4492011-03-16  Nick Clifton  <nickc@redhat.com>
450
451	* config/rx/rx.h (JUMP_ALIGN): Define.
452	(JUMP_ALIGN_MAX_SKIP, LABEL_ALIGN_AFTER_BARRIER, LOOP_ALIGN,
453	(LABEL_ALIGN, LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP,
454	(LOOP_ALIGN_MAX_SKIP, LABEL_ALIGN_MAX_SKIP): Define.
455	* config/rx/rx-protos.h (rx_align_for_label): Prototype.
456	(rx_max_skip_for_label): Prototype.
457	* config/rx/rx.md (abssi3): Use CC_ZSmode.
458	(andis3): Fix timings.
459	(peephole): Add peephole to combine zero- and sign- extending
460	loads with arithmetic instructions.
461	(bset): Fix timing.
462	(bclr): Fix timing.
463	* config/rx/rx.c (rx_is_legitimate_address): Add checks for QImode
464	and HImode reg+int address.
465	(rx_print_operand): Add support for %R.  Fix generation of .B and
466	.W addressing modes.
467	(rx_align_for_label): New function.
468	(rx_max_skip_for_label): New function.
469
4702011-03-10  Jason Merrill  <jason@redhat.com>
471
472	PR c++/48029
473	* stor-layout.c (layout_type): Don't set structural equality
474	on arrays of incomplete type.
475	* tree.c (type_hash_eq): Handle comparing them properly.
476
4772011-03-08  Richard Guenther  <rguenther@suse.de>
478
479	Backport from mainline
480	2011-02-10  Richard Guenther  <rguenther@suse.de>
481
482	* tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
483
484	2010-10-18  Richard Guenther  <rguenther@suse.de>
485
486	PR tree-optimization/45967
487	* tree-ssa-structalias.c (type_could_have_pointers): Remove.
488	(could_have_pointers): Likewise.
489	(handle_rhs_call, handle_const_call, handle_pure_call,
490	find_func_aliases, intra_create_variable_infos): Remove calls to them.
491	(struct fieldoff): Add must_have_pointers field.
492	(type_must_have_pointers): New function.
493	(field_must_have_pointers): Likewise.
494	(push_fields_onto_fieldstack): Remove must_have_pointers_p argument.
495	Adjust field merging.
496	(create_function_info_for): May-have-pointers of varinfo is
497	almost always true.
498	(create_variable_info_for_1): Likewise.
499
500	2010-10-12  Richard Guenther  <rguenther@suse.de>
501
502	* tree-ssa-structalias.c (get_constraint_for_1): Constants
503	only point to nonlocal, not anything.
504
5052011-03-08  Richard Guenther  <rguenther@suse.de>
506
507	PR tree-optimization/47278
508	* tree.h (DECL_REPLACEABLE_P): Remove.
509	(decl_replaceable_p): Declare.
510	(decl_binds_to_current_def_p): Likewise.
511	* varasm.c (decl_replaceable_p): New function.
512	(decl_binds_to_current_def_p): Likewise.
513	* cgraph.c (cgraph_function_body_availability): Use decl_replaceable_p.
514	* tree-inline.c (inlinable_function_p): Likewise.
515
5162011-03-07  Pat Haugen <pthaugen@us.ibm.com>
517
518	Backport from mainline
519	2011-03-07  Pat Haugen <pthaugen@us.ibm.com>
520
521	PR target/47862
522	* config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
523
5242011-03-07  Mingjie Xing  <mingjie.xing@gmail.com>
525
526	* doc/cfg.texi: Remove "See" before @ref.
527	* doc/invoke.texi: Likewise.
528
5292011-03-03  Uros Bizjak  <ubizjak@gmail.com>
530
531	* config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
532	(ssse3_pmaddubsw128): Ditto.
533	(ssse3_pmaddubsw): Ditto.
534
5352011-03-03  Denis Chertykov <chertykov@gmail.com>
536
537	Backport from mainline
538	2011-02-22  Georg-Johann Lay  <avr@gjlay.de>
539
540	PR target/42240
541	* config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
542	(TARGET_CANNOT_MODIFY_JUMPS_P): Define.
543
5442011-03-03  Richard Guenther  <rguenther@suse.de>
545
546	* tree-vect-stmt.c (vectorizable_operation): Remove unused vars.
547
5482011-03-02  Richard Guenther  <rguenther@suse.de>
549
550	Backport from mainline
551	2011-02-07  Richard Guenther  <rguenther@suse.de>
552
553	PR tree-optimization/47615
554	* tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
555	* tree-ssa-sccvn.c (default_vn_walk_kind): New global.
556	(run_scc_vn): Initialize it.
557	(visit_reference_op_load): Use it.
558	* tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
559
5602011-03-01  Richard Guenther  <rguenther@suse.de>
561
562	Backport from mainline
563	2011-02-08  Richard Guenther  <rguenther@suse.de>
564
565	PR middle-end/47639
566	* tree-vect-generic.c (expand_vector_operations_1): Update
567	stmts here ...
568	(expand_vector_operations): ... not here.  Cleanup EH info
569	and the CFG if required.
570
5712011-03-01  Richard Guenther  <rguenther@suse.de>
572
573	Backport from mainline
574	2011-03-01  Richard Guenther  <rguenther@suse.de>
575
576	PR tree-optimization/47890
577	* tree-vect-loop.c (get_initial_def_for_induction): Set
578	related stmt properly.
579
580	2010-12-01  Richard Guenther  <rguenther@suse.de>
581
582	PR tree-optimization/46723
583	* tree-vect-loop.c (get_initial_def_for_induction): Strip
584	conversions from the induction evolution and apply it to
585	the result instead.
586	* tree-vect-stmts.c (vect_get_vec_def_for_operand): Handle
587	assigns for induction defs.
588
5892011-02-28  Georg-Johann Lay  <avr@gjlay.de>
590
591	PR target/45261
592	* config/avr/avr.c (avr_option_override): Use error on bad options.
593	(avr_help): New function.
594	(TARGET_HELP): Define.
595
5962011-02-26  Gerald Pfeifer  <gerald@pfeifer.com>
597
598	* doc/invoke.texi (ARC Options): Use CPU instead of cpu.
599	(ARM Options): Ditto.
600	(i386 and x86-64 Options): Ditto.
601	(RX Options): Ditto.
602	(SPARC Options): Ditto.
603
6042011-02-26  Tijl Coosemans  <tijl@coosemans.org>
605
606	* config.gcc (i386-*-freebsd*): Make i486 the default arch on
607	FreeBSD 6 and later.  Generally use cpu generic.
608
6092011-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
610
611	* doc/cpp.texi (Obsolete Features): Add background on the
612	origin of assertions.
613	Update copyright years.
614
6152011-02-25  Andriy Gapon <avg@freebsd.org>
616
617	PR target/45808
618	* config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
619	Update copyright years.
620
6212011-02-21  Uros Bizjak  <ubizjak@gmail.com>
622
623	PR target/47840
624	* config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
625	(_mm256_insert_epi64): Use _mm_insert_epi64.
626
6272011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
628
629	* config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
630	* config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
631	pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
632	* config/pa/t-pa-hpux11: Add rules to build pthread stubs.
633	* config/pa/t-pa64: Likewise.
634	* config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
635
6362011-02-17  Uros Bizjak  <ubizjak@gmail.com>
637
638	PR target/43653
639	* config/i386/i386.c (ix86_secondary_reload): Handle SSE
640	input reload with PLUS RTX.
641
6422011-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
643
644	PR pch/14940
645	* config/alpha/host-osf.c: New file.
646	* config/alpha/x-osf: New file.
647	* config.host (alpha*-dec-osf*): Use it.
648
6492011-02-15  Tijl Coosemans  <tijl@coosemans.org>
650
651	* config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.
652	Update copyright years.
653
6542011-02-11  Bernd Schmidt  <bernds@codesourcery.com>
655
656	PR rtl-optimization/47166
657	* reload1.c (emit_reload_insns): Disable the spill_reg_store
658	mechanism for PRE_MODIFY and POST_MODIFY.
659	(inc_for_reload): For PRE_MODIFY, return the insn that sets the
660	reloadreg.
661
6622011-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
663
664	Backport from mainline:
665	2011-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
666
667	* config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
668	* config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
669	pthread_mutex_unlock): Remove.
670	* config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
671	* config/pa/t-pa64: Likewise.
672	* config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
673	shared libc if not linking against libpthread.
674	* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
675
6762011-02-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
677
678	Backport from mainline:
679	2011-02-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
680
681	PR target/47272
682	* doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
683	Document using vector double with the load/store builtins, and
684	that the load/store builtins always use Altivec instructions.
685
686	* config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
687	to use altivec memory instructions, even on VSX.
688	(vector_altivec_store_<mode>): Ditto.
689
690	* config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
691	function.
692
693	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
694	V2DF, V2DI support to load/store overloaded builtins.
695
696	* config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
697	altivec load/store builtins for V2DF/V2DI types.
698
699	* config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
700	set avoid indexed addresses on power6 if -maltivec.
701	(altivec_expand_ld_builtin): Add V2DF, V2DI support, use
702	vector_altivec_load/vector_altivec_store builtins.
703	(altivec_expand_st_builtin): Ditto.
704	(altivec_expand_builtin): Add VSX memory builtins.
705	(rs6000_init_builtins): Add V2DI types to internal types.
706	(altivec_init_builtins): Add support for V2DF/V2DI altivec
707	load/store builtins.
708	(rs6000_address_for_altivec): Insure memory address is appropriate
709	for Altivec.
710
711	* config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
712	vec_vsx_ld and vec_vsx_st.
713	(vsx_store_<mode>): Ditto.
714
715	* config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
716	variables to hold long long types for VSX vector memory builtins.
717	(RS6000_BTI_unsigned_long_long): Ditto.
718	(long_long_integer_type_internal_node): Ditti.
719	(long_long_unsigned_type_internal_node): Ditti.
720
721	* config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
722	(altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
723	(altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
724
725	* config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
726	short cuts.
727	(vec_vsx_st): Ditto.
728
729	Backport from mainline:
730	2011-02-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
731
732	PR target/47580
733	* config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
734	gpc_reg_operand instead of vsx_register_operand to match rs6000.md
735	generator functions.
736	(vsx_floatuns<VSi><mode>2): Ditto.
737	(vsx_fix_trunc<mode><VSi>2): Ditto.
738	(vsx_fixuns_trunc<mode><VSi>2): Ditto.
739
7402011-02-02  Nick Clifton  <nickc@redhat.com>
741
742	Import these patches from the mainline:
743	2011-01-31  Nick Clifton  <nickc@redhat.com>
744
745	* config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
746	registers inside interrupt handlers if the handler is not a leaf
747	function.
748
749	2011-01-25  Nick Clifton  <nickc@redhat.com>
750
751	* config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
752	* config/rx/rx.c (rx_function_value): Likewise.
753	(rx_promote_function_mode): Likewise.
754	(gen_safe_add): Place an outsized immediate value inside an UNSPEC
755	in order to make it legitimate.
756	* config/rx/rx.md (adddi3_internal): If the second operand is a
757	MEM make sure that the first operand is the same as the result
758	register.
759	(addsi3_unspec): Delete.
760	(subdi3): Do not accept immediate operands.
761	(subdi3_internal): Likewise.
762
763	2011-01-24  Richard Henderson  <rth@redhat.com>
764
765	* config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
766	compound unordered comparisons.
767	* config/rx/rx.c (rx_split_fp_compare): Remove.
768	* config/rx/rx-protos.h: Update.
769	* config/rx/rx.md (gcc_conds, rx_conds): Remove.
770	(cbranchsf4): Don't call rx_split_fp_compare.
771	(*cbranchsf4): Use rx_split_cbranch.
772	(*cmpsf): Don't accept "i" constraint.
773	(*conditional_branch): Only valid after reload.
774	(cstoresf4): Merge expander with insn.  Don't call
775	rx_split_fp_compare.
776
777	2011-01-22  Nick Clifton  <nickc@redhat.com>
778
779	* config/rx/rx.md (cstoresf4): Pass comparison operator to
780	rx_split_fp_compare.
781
782	2011-01-22  Nick Clifton  <nickc@redhat.com>
783
784	* config/rx/rx.md (UNSPEC_CONST): New.
785	(deallocate_and_return): Wrap the amount popped off the stack in
786	an UNSPEC_CONST in order to stop it being rejected by
787	-mmax-constant-size.
788	(pop_and_return): Add a "(return)" rtx.
789	(call): Drop the immediate operand.
790	(call_internal): Likewise.
791	(call_value): Likewise.
792	(call_value_internal): Likewise.
793	(sibcall_internal): Likewise.
794	(sibcall_value_internal): Likewise.
795	(sibcall): Likewise.  Generate an explicit call using
796	sibcall_internal.
797	(sibcall_value): Likewise.
798	(mov<>): FAIL if a constant operand is not legitimate.
799	(addsi3_unpsec): New pattern.
800
801	* config/rx/rx.c (rx_print_operand_address): Handle UNPSEC
802	CONSTs.
803	(ok_for_max_constant): New function.
804	(gen_safe_add): New function.
805	(rx_expand_prologue): Use gen_safe_add.
806	(rx_expand_epilogue): Likewise.
807	(rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
808	UNSPEC CONSTs.
809
810	2011-01-17  Richard Henderson  <rth@redhat.com>
811
812	* config/rx/predicates.md (rx_constshift_operand): Use match_test.
813	(rx_restricted_mem_operand): New.
814	(rx_shift_operand): Use register_operand.
815	(rx_source_operand, rx_compare_operand): Likewise.
816	* config/rx/rx.md (addsi3_flags): New expander.
817	(adddi3): Rewrite as expander.
818	(adc_internal, *adc_flags, adddi3_internal): New patterns.
819	(subsi3_flags): New expander.
820	(subdi3): Rewrite as expander.
821	(sbb_internal, *sbb_flags, subdi3_internal): New patterns.
822
823	* config/rx/rx.c (RX_BUILTIN_SAT): Remove.
824	(rx_init_builtins): Remove sat builtin.
825	(rx_expand_builtin): Likewise.
826	* config/rx/rx.md (ssaddsi3): New.
827	(*sat): Rename from sat.  Represent the CC_REG input.
828
829	* config/rx/predicates.md (rshift_operator): New.
830	* config/rx/rx.c (rx_expand_insv): Remove.
831	* config/rx/rx-protos.h: Update.
832	* config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
833	operand to the canonical position.
834	(*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
835	(*bitclr, *bitclr_in_memory): Similarly.
836	(*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
837	(insv): Retain the zero_extract in the expansion.
838
839	* config/rx/rx.md (bswapsi2): Use = not + for output reload.
840	(bswaphi2, bitinvert, revw): Likewise.
841
842	* config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
843	(gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
844	* config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
845	(stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
846	(bitset, bitset_in_memory): Likewise.
847	(bitinvert, bitinvert_in_memory): Likewise.
848	(bitclr, bitclr_in_memory): Likewise.
849	(insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
850	(rx_strend, rx_cmpstrn): Likewise.
851	(rx_setmem): Likewise.  Make the source BLKmode to match the dest.
852	(bitop peep2 patterns): Remove.
853
854	* config/rx/rx.c (rx_match_ccmode): New.
855	* config/rx/rx-protos.h: Update.
856	* config/rx/rx.md (abssi2): Clobber, don't set flags.
857	(addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
858	(rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
859	(subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
860	(fix_truncsfsi2, floatsisf2): Likewise.
861	(*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
862	(*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
863	(*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
864	(*subsi3_flags, *xorsi3_flags): New.
865
866	* config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
867
868	* config/rx/rx.c (rx_print_operand): Remove workaround for
869	unsplit comparison operations.
870
871	* config/rx/rx.md (movsicc): Split after reload.
872	(*movsicc): Merge *movsieq and *movsine via match_operator.
873	(*stcc): New pattern.
874
875	* config/rx/rx.c (rx_float_compare_mode): Remove.
876	* config/rx/rx.h (rx_float_compare_mode): Remove.
877	* config/rx/rx.md (cstoresi4): Split after reload.
878	(*sccc): New pattern.
879
880	* config/rx/predicates.md (label_ref_operand): New.
881	(rx_z_comparison_operator): New.
882	(rx_zs_comparison_operator): New.
883	(rx_fp_comparison_operator): New.
884	* config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
885	Validate that the flags are set properly for the comparison.
886	(rx_gen_cond_branch_template): Remove.
887	(rx_cc_modes_compatible): Remove.
888	(mode_from_flags): New.
889	(flags_from_code): Rename from flags_needed_for_conditional.
890	(rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
891	(rx_select_cc_mode): Likewise.
892	(rx_split_fp_compare): New.
893	(rx_split_cbranch): New.
894	* config/rx/rx.md (most_cond, zs_cond): Remove iterators.
895	(*cbranchsi4): Use match_operator and rx_split_cbranch.
896	(*cbranchsf4): Similarly.
897	(*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
898	match_operator and rx_split_cbranch.
899	(*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
900	tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
901	(*cmpsi): Rename from cmpsi.
902	(*tstsi): Rename from tstsi.
903	(*cmpsf): Rename from cmpsf; use CC_Fmode.
904	(*conditional_branch): Rename from conditional_branch.
905	(*reveresed_conditional_branch): Remove.
906	(b<code>): Remove expander.
907	* config/rx/rx-protos.h: Update.
908
909	* config/rx/rx.c (rx_compare_redundant): Remove.
910	* config/rx/rx.md (cmpsi): Don't use it.
911	* config/rx/rx-protos.h: Update.
912
913	* config/rx/rx-modes.def (CC_F): New mode.
914	* config/rx/rx.c (rx_select_cc_mode): New.
915	* config/rx/rx.h (SELECT_CC_MODE): Use it.
916	* config/rx/rx-protos.h: Update.
917
9182011-02-01  Richard Guenther  <rguenther@suse.de>
919
920	PR tree-optimization/47541
921	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
922	sure to have a field at offset zero.
923
9242011-01-31  Nathan Froyd  <froydnj@codesourcery.com>
925
926	Backport from mainline:
927	2010-12-30  Nathan Froyd  <froydnj@codesourcery.com>
928
929	PR target/44606
930	* reload1.c (choose_reload_regs): Don't look for equivalences for
931	output reloads of constant loads.
932
9332011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
934
935	* doc/install.texi (hppa-hp-hpux10): Remove references to HP
936	support sites.
937
9382011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
939
940	* doc/install.texi: Update copyright years.
941
9422011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
943
944	* doc/install.texi (Binaries): Remove outdated reference for
945	Motorola 68HC11/68HC12 downloads.
946
9472011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
948
949	* doc/extend.texi (Thread-Local): Adjust reference to Ulrich
950	Drepper's paper.
951
9522011-01-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
953
954	Backport from mainline:
955	2010-08-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
956
957	PR boehm-gc/34544
958	* gthr-posix.h (__gthread_active_init): Delete.
959	(__gthread_active_p): Do activity check here.
960	Don't include errno.h on hppa-hpux.  Update comment.
961	* gthr-posix95.h (__gthread_active_init): Delete.
962	(__gthread_active_p): Do activity check here.
963	Don't include errno.h on hppa-hpux.  Update comment.
964	* config.gcc (hppa[12]*-*-hpux11*): Define extra_parts.
965	* config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only
966	add -lpthread when -mt or -pthread is specified.
967	* config/pa/pa-hpux11.h (LIB_SPEC): likewise.
968	(LINK_GCC_C_SEQUENCE_SPEC): Define.
969	* config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define.
970	(stublib.c, pthread_default_stacksize_np-stub.o,
971	pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o,
972	$(T)libgcc_stub.a): Add methods.
973	* config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs.
974	(stublib.c, pthread_default_stacksize_np-stub.o,
975	pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods.
976	* config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
977	pthread_mutex_unlock): New stubs.
978
9792011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
980
981	PR rtl-optimization/44469
982	* cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
983	after removing trivially dead basic blocks.
984
9852011-01-25  Richard Guenther  <rguenther@suse.de>
986
987	PR tree-optimization/47411
988	Backport from mainline
989	2010-06-30  Michael Matz  <matz@suse.de>
990
991	PR bootstrap/44699
992	* tree-vrp.c (vrp_finalize): Deal with changing num_ssa_names.
993
9942011-01-21  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
995
996	Backport from mainline.
997	2010-09-08  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
998
999	PR target/44392
1000	* config/arm/arm.md (bswapsi2): Handle condition correctly
1001	for armv6 and optimize_size.
1002
10032011-01-21  Richard Guenther  <rguenther@suse.de>
1004
1005	PR tree-optimization/47365
1006	* tree-ssa-sccvn.h (vn_lookup_kind): Declare.
1007	(vn_reference_lookup_pieces): Adjust.
1008	(vn_reference_lookup): Likewise.
1009	* tree-ssa-sccvn.c (vn_walk_kind): New static global.
1010	(vn_reference_lookup_3): Only look through kills if in
1011	VN_WALKREWRITE mode.
1012	(vn_reference_lookup_pieces): Adjust.
1013	(vn_reference_lookup): Likewise.
1014	(visit_reference_op_load): Likewise.
1015	(visit_reference_op_store): Likewise.
1016	* tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
1017	(compute_avail): Likewise.
1018	(eliminate): Likewise.
1019
10202011-01-20  Richard Guenther  <rguenther@suse.de>
1021
1022	PR tree-optimization/47167
1023	* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
1024	Revert previous change, only avoid enumeral type changes.
1025
10262011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
1027
1028	Backport from mainline
1029	2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
1030
1031	PR target/47318
1032	* config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
1033	__m128i.
1034	(_mm_maskstore_pd): Likewise.
1035	(_mm_maskload_ps): Likewise.
1036	(_mm_maskstore_ps): Likewise.
1037	(_mm256_maskload_pd): Change mask to __m256i.
1038	(_mm256_maskstore_pd): Likewise.
1039	(_mm256_maskload_ps): Likewise.
1040	(_mm256_maskstore_ps): Likewise.
1041
1042	* config/i386/i386-builtin-types.def: Updated.
1043	(ix86_expand_special_args_builtin): Likewise.
1044
1045	* config/i386/i386.c (bdesc_special_args): Update
1046	__builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
1047	__builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
1048	__builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
1049	__builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
1050
1051	* config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
1052	Use <avxpermvecmode> on mask register.
1053	(avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
1054
10552011-01-17  Olivier Hainque  <hainque@adacore.com>
1056	    Michael Haubenwallner  <michael.haubenwallner@salomon.at>
1057	    Eric Botcazou  <ebotcazou@adacore.com>
1058
1059	PR target/46655
1060	* xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
1061	if <= USHRT_MAX in 32-bit mode.
1062
10632011-01-17  Richard Guenther  <rguenther@suse.de>
1064
1065	Backport from mainline
1066	PR tree-optimization/47286
1067	* tree-ssa-structalias.c (new_var_info): Register variables
1068	are global.
1069
1070	PR tree-optimization/44592
1071	* tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Copy
1072	from trunk.
1073
10742011-01-16  Jakub Jelinek  <jakub@redhat.com>
1075
1076	Backport from mainline
1077	2011-01-07  Jakub Jelinek  <jakub@redhat.com>
1078
1079	PR target/47201
1080	* config/i386/i386.c (ix86_delegitimize_address): If
1081	simplify_gen_subreg fails, return orig_x.
1082
1083	2011-01-06  Jakub Jelinek  <jakub@redhat.com>
1084
1085	PR c/47150
1086	* c-convert.c (convert): When converting a complex expression
1087	other than COMPLEX_EXPR to a different complex type, ensure
1088	c_save_expr is called instead of save_expr, unless in_late_binary_op.
1089	* c-typeck.c (convert_for_assignment): Set in_late_binary_op also
1090	when converting COMPLEX_TYPE.
1091
1092	2010-12-21  Jakub Jelinek  <jakub@redhat.com>
1093
1094	PR target/46880
1095	* config/i386/sse.md (sse2_loadlpd, sse2_movsd): Fix shufpd source
1096	operand.
1097
1098	PR middle-end/45852
1099	* expr.c (store_expr): Ignore alt_rtl if equal to target,
1100	but has side-effects.
1101
1102	2010-12-16  Jakub Jelinek  <jakub@redhat.com>
1103
1104	PR tree-optimization/43655
1105	* tree-ssa-ter.c (is_replaceable_p): Don't use
1106	gimple_references_memory_p for -O0, instead check for load
1107	by looking at rhs.
1108
1109	PR debug/46893
1110	* cfgexpand.c (expand_debug_expr): If GET_MODE (op0) is VOIDmode,
1111	use TYPE_MODE (TREE_TYPE (tem)) instead of mode1.
1112
1113	2010-12-10  Jakub Jelinek  <jakub@redhat.com>
1114
1115	PR rtl-optimization/46804
1116	* regmove.c (optimize_reg_copy_3): Look for REG_EQUAL note
1117	on the setter of src_reg rather than on insn.  If it is
1118	equal to the setter's original SET_SRC, replace it with its
1119	zero or sign extension instead of dropping it.
1120
1121	PR rtl-optimization/46865
1122	* rtl.c (rtx_equal_p_cb, rtx_equal_p): For last operand of
1123	ASM_OPERANDS and ASM_INPUT if integers are different,
1124	call locator_eq.
1125	* jump.c (rtx_renumbered_equal_p): Likewise.
1126
1127	PR tree-optimization/46864
1128	* tree-ssa-loop-im.c (loop_suitable_for_sm): Return false even
1129	when there are EDGE_EH exit edges.
1130
1131	2010-12-09  Jakub Jelinek  <jakub@redhat.com>
1132
1133	PR target/41082
1134	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Use stvx
1135	instead of stve*x.
1136	(altivec_expand_stv_builtin): For op0 use mode of operand 1 instead
1137	of operand 0.
1138	* config/rs6000/altivec.md (VI_scalar): New mode attr.
1139	(altivec_stve<VI_char>x, *altivec_stvesfx): Use scalar instead of
1140	vector mode for operand 0, put operand 1 into UNSPEC.
1141
11422011-01-13  Nick Clifton  <nickc@redhat.com>
1143
1144	Import this fix from the mainline:
1145	2010-10-19  Nick Clifton  <nickc@redhat.com>
1146
1147	* config/rx/rx.c (rx_function_value): Small integer types are
1148	promoted to SImode.
1149	(rx_promote_function_mode): New function.
1150	(TARGET_PROMOTE_FUNCTION_MODE): Define.
1151
11522011-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1153
1154	Backport from mainline:
1155	2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1156
1157	PR target/43309
1158	* config/i386/i386.c (legitimize_tls_address)
1159	<TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
1160	* config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
1161	(tls_initial_exec_64_sun): New pattern.
1162
11632011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
1164
1165	Backport from mainline
1166	2010-12-30  Eric Botcazou  <ebotcazou@adacore.com>
1167
1168	PR target/47038
1169	* config/sparc/sparc.c (sparc_file_end): Call resolve_unique_section
1170	on the GOT helper if USE_HIDDEN_LINKONCE.
1171
1172	2010-12-02  Eric Botcazou  <ebotcazou@adacore.com>
1173
1174	PR target/46685
1175	* config/sparc/sparc.c (can_use_mov_pic_label_ref): New predicate.
1176	(sparc_expand_move): Call it to decide whether to emit the special
1177	mov{si,di}_pic_label_ref patterns.
1178	(sparc_legitimize_pic_address): Call it to decide whether to emit
1179	the regular PIC sequence for labels.  Fix long line.
1180	(sparc_file_end): Set is_thunk for the PIC helper.
1181
11822010-12-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1183
1184	* config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean
1185	patterns.
1186
11872010-12-27  Yao Qi  <yao@codesourcery.com>
1188
1189	Backport from mainline:
1190	2010-10-14  Yao Qi  <yao@codesourcery.com>
1191
1192	PR target/45447
1193	* config/arm/arm.c (arm_build_builtin_va_list): Assign
1194	va_list_name to TYPE_STUB_DECL (va_list_type).
1195
11962010-12-23  Sebastian Pop  <sebastian.pop@amd.com>
1197	    Richard Guenther  <rguenther@suse.de>
1198
1199	PR tree-optimization/46758
1200	* graphite-sese-to-poly.c (scan_tree_for_params_right_scev): Use
1201	tree_int_to_gmp instead of int_cst_value.
1202	(scan_tree_for_params_int): Same.
1203	(scan_tree_for_params): Same.
1204	(pdr_add_data_dimensions): Use ppl_set_inhomogeneous_tree.
1205
12062010-12-23  Sebastian Pop  <sebastian.pop@amd.com>
1207
1208	Backport from mainline
1209	Fix PR45758: reset scevs before Graphite.
1210	2010-09-24  Sebastian Pop  <sebastian.pop@amd.com>
1211
1212	PR tree-optimization/45552
1213	* graphite.c (graphite_initialize): Call scev_reset.
1214
12152010-12-23  Sebastian Pop  <sebastian.pop@amd.com>
1216
1217	PR tree-optimization/43023
1218	* tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p):
1219	Removed.
1220	(stores_zero_from_loop): Call stmt_stores_zero.
1221	(stmt_with_adjacent_zero_store_dr_p): New.
1222	* tree-data-ref.h (stmt_with_adjacent_zero_store_dr_p): Declared.
1223	(stride_of_unit_type_p): New.
1224	* tree-loop-distribution.c (generate_memset_zero): Do not return a
1225	boolean.  Call gcc_assert on stride_of_unit_type_p.
1226	(generate_builtin): Call stmt_stores_zero.
1227	(rdg_flag_all_uses): Removed.
1228	(rdg_flag_similar_memory_accesses): Removed.
1229	(build_rdg_partition_for_component): Removed parameter
1230	other_stores.  Removed call to rdg_flag_similar_memory_accesses.
1231	(can_generate_builtin): New.
1232	(similar_memory_accesses): New.
1233	(fuse_partitions_with_similar_memory_accesses): New.
1234	(rdg_build_partitions): Call
1235	fuse_partitions_with_similar_memory_accesses.
1236
12372010-12-21  Martin Jambor  <mjambor@suse.cz>
1238
1239	Backport from mainline:
1240	2010-12-09  Martin Jambor  <mjambor@suse.cz>
1241
1242	PR middle-end/46734
1243	* tree-sra.c (splice_param_accesses): Check that there are not
1244	multiple ADDRESSABLE types.
1245
12462010-12-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1247
1248	Backport from mainline:
1249	2010-12-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1250
1251	PR target/46915
1252	* config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead
1253	of next_real_insn.  Search forward checking for both ASM_INPUT and
1254	ASM_OPERANDS asms until exit condition is found.
1255	(branch_needs_nop_p): Likewise.
1256	(use_skip_p): New function.
1257	(output_cbranch): Use use_skip_p.
1258	(output_bb, output_bvb): Likewise.
1259
12602010-12-19  Eric Botcazou  <ebotcazou@adacore.com>
1261
1262	PR target/46729
1263	* config/sparc/sparc.h (GLOBAL_OFFSET_TABLE_REGNUM): New macro.
1264	(PIC_OFFSET_TABLE_REGNUM): Rewrite in terms of above macro.
1265	* config/sparc/sparc.c (pic_helper_needed): Delete.
1266	(global_offset_table): Likewise.
1267	(pic_helper_symbol): Rename to...
1268	(got_helper_rtx): ...this.
1269	(global_offset_table_rtx): New global variable.
1270	(sparc_got_symbol): Likewise.
1271	(sparc_got): New static function.
1272	(check_pic): Use local variable and call sparc_got.
1273	(sparc_tls_symbol): Initialize to NULL_RTX.
1274	(sparc_tls_got): In non-PIC mode, reload the GOT register for Sun TLS
1275	and 32-bit ABI and copy the GOT symbol to a new register otherwise.
1276	(get_pc_thunk_name): Rename local variable.
1277	(gen_load_pcrel_sym): New wrapper around load_pcrel_sym{si,di}.
1278	(load_pic_register): Rename to...
1279	(load_got_register): ...this.  Adjust and call gen_load_pcrel_sym.
1280	(sparc_expand_prologue): Do not test flag_pic.
1281	(sparc_output_mi_thunk): Use pic_offset_table_rtx directly.
1282	(sparc_file_end): Test got_helper_rtx instead of pic_helper_needed.
1283	Rename local variable and do not call get_pc_thunk_name again.
1284	* config/sparc/sparc.md (load_pcrel_sym): Add operand #3.
1285
12862010-12-18  Alexandre Oliva  <aoliva@redhat.com>
1287
1288	PR debug/46756
1289	* jump.c (mark_all_labels): Skip debug insns.
1290
12912010-12-18  Alexandre Oliva  <aoliva@redhat.com>
1292
1293	PR debug/46782
1294	* cfgcleanup.c (try_forward_edges): Skip debug insns.
1295
12962010-12-16  Eric Botcazou  <ebotcazou@adacore.com>
1297
1298	* tree-ssa-sccvn.c (vn_reference_lookup_3): Always punt if the call to
1299	get_ref_base_and_extent returns -1 as the max size.
1300
13012010-12-16  Richard Guenther  <rguenther@suse.de>
1302
1303	* DEV-PHASE: Set back to prerelease.
1304	* BASE-VER: Bump to 4.5.3.
1305
13062010-12-16  Release Manager
1307
1308	* GCC 4.5.2 released.
1309
13102010-12-07  Jakub Jelinek  <jakub@redhat.com>
1311
1312	Backport from mainline
1313	2010-12-06  Jakub Jelinek  <jakub@redhat.com>
1314
1315	PR target/43897
1316	* config/ia64/ia64.c (rtx_needs_barrier): Handle asm CLOBBER
1317	as a store into that register.
1318
1319	PR rtl-optimization/46777
1320	* cfglayout.c (duplicate_insn_chain): Avoid duplicating
1321	also barrier after tablejump.
1322
1323	2010-11-24  Jakub Jelinek  <jakub@redhat.com>
1324
1325	PR rtl-optimization/46614
1326	* sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define.
1327	 (deps_analyze_insn): Mark JUMP_INSNs in
1328	last_pending_memory_flush that weren't added through
1329	flush_pending_lists with NON_FLUSH_JUMP_KIND.
1330	(sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P
1331	on INSN_LIST instead of JUMP_P check on its operand.
1332	* sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND.
1333
1334	PR middle-end/46629
1335	* cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn)
1336	instead of insn with any_condjump_p.
1337
1338	2010-11-23  Jakub Jelinek  <jakub@redhat.com>
1339
1340	PR middle-end/46499
1341	* cfgexpand.c (maybe_cleanup_end_of_block): Remove also BARRIERs
1342	following unconditional jumps.
1343
13442010-12-07  Sebastian Pop  <sebastian.pop@amd.com>
1345
1346	Backport from mainline:
1347	2010-05-07  Sebastian Pop  <sebastian.pop@amd.com>
1348
1349	PR tree-optimization/44676
1350	* graphite-sese-to-poly.c (loop_entry_phi_arg): Renamed
1351	phi_arg_in_outermost_loop.
1352	(remove_simple_copy_phi): Call phi_arg_in_outermost_loop.
1353	(remove_invariant_phi): Same.
1354
13552010-12-07  Jakub Jelinek  <jakub@redhat.com>
1356
1357	Backport from mainline
1358	2010-11-19  Jakub Jelinek  <jakub@redhat.com>
1359
1360	PR target/45870
1361	* dwarf2out.c (const_ok_for_output_1): Don't complain about
1362	non-delegitimized TLS UNSPECs.
1363
1364	2010-11-18  Jakub Jelinek  <jakub@redhat.com>
1365
1366	PR middle-end/46534
1367	* builtins.c (fold_builtin_printf): Don't copy and modify string
1368	before build_string_literal, instead modify what
1369	build_string_literal returned.
1370
1371	2010-11-17  Jakub Jelinek  <jakub@redhat.com>
1372
1373	PR rtl-optimization/46440
1374	* combine.c (update_cfg_for_uncondjump): When changing
1375	an indirect jump into unconditional jump, remove BARRIERs
1376	from bb's footer.
1377
1378	2010-11-16  Jakub Jelinek  <jakub@redhat.com>
1379
1380	PR c++/46401
1381	* c-common.c (warning_candidate_p): Don't track non-const calls
1382	or STRING_CSTs.
1383
13842010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1385
1386	Backport from mainline:
1387	2010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1388
1389	* doc/sourcebuild.texi (Add Options): Document tls.
1390
13912010-12-06  Richard Guenther  <rguenther@suse.de>
1392
1393	PR tree-optimization/46806
1394	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do not
1395	coalesce different types.
1396
13972010-12-05  Richard Guenther  <rguenther@suse.de>
1398	    Ira Rosen  <irar@il.ibm.com>
1399
1400	PR tree-optimization/46663
1401	* tree-vect-patterns.c (vect_recog_pow_pattern): Check that
1402	FUNCTION_DECL exists and that it's a builtin.
1403
14042010-12-03  Jason Merrill  <jason@redhat.com>
1405
1406	PR debug/46123
1407	* dwarf2out.c (gen_type_die_with_usage): Don't put local types in
1408	a declaration DIE.
1409
14102010-12-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1411
1412	Backport from mainline:
1413	2010-09-15  Olivier Hainque  <hainque@adacore.com>
1414		    Jose Ruiz  <ruiz@adacore.com>
1415
1416	* config/alpha/osf.h (MD_UNWIND_SUPPORT): Define.
1417	* config/alpha/osf-unwind.h: New file.
1418
14192010-12-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1420
1421	Backport from mainline:
1422	2010-11-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1423
1424	* config/mips/iris6.h [!IRIX_USING_GNU_LD]
1425	(SUPPORTS_INIT_PRIORITY): Define.
1426
14272010-12-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1428
1429	Backport from mainline:
1430	2010-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1431
1432	* configure.ac (*-*-irix6*): Disable set_have_as_tls.
1433	(*-*-osf*): Likewise.
1434	* configure: Regenerate.
1435
14362010-11-29  H.J. Lu  <hongjiu.lu@intel.com>
1437
1438	Backport from mainline
1439	PR middle-end/46651
1440	2010-07-22  Sebastian Pop  <sebastian.pop@amd.com>
1441
1442	* graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use
1443	SSA_NAME_DEF_STMT only on SSA_NAMEs.
1444
14452010-11-29  Zdenek Dvorak  <rakdver@kam.uniff.cz>
1446
1447	PR tree-optimization/46675
1448	* tree-ssa-loop-niter.c (split_to_var_and_offset): Avoid overflow
1449	in offset calculation.
1450
14512010-11-29  Alexandre Oliva  <aoliva@redhat.com>
1452
1453	PR debug/46258
1454	* tree-cfg.c (replace_uses_by): Don't mark BBs as altered on
1455	debug stmts.
1456
14572010-11-22  Uros Bizjak  <ubizjak@gmail.com>
1458
1459	PR middle-end/43057
1460	* fold-const.c (pedantic_non_lvalue_loc): Unshare x before
1461	setting location.
1462
14632010-11-21  Richard Henderson  <rth@redhat.com>
1464
1465	PR rtl-optimization/46571
1466	* gcse.c (hash_scan_set): Use next_nonnote_nondebug_insn.
1467	(compute_hash_table_work): Use NONDEBUG_INSN_P.
1468
14692010-11-21  Eric Botcazou  <ebotcazou@adacore.com>
1470
1471	* config/mips/mips.c (machine_function): Rename load_label_length to
1472	load_label_num_insns.
1473	(mips_load_label_length): Rename to...
1474	(mips_load_label_num_insns): ...this.  Adjust to first renaming.
1475	(mips_adjust_insn_length): Adjust to second renaming.  Fix thinko.
1476
14772010-11-20  Eric Botcazou  <ebotcazou@adacore.com>
1478
1479	PR target/31100
1480	* config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to...
1481	* config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here.
1482	* config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine.
1483
14842010-11-19  Joseph Myers  <joseph@codesourcery.com>
1485
1486	PR c/46547
1487	* c-common.c (in_late_binary_op): Define.
1488	(c_common_truthvalue_conversion): Check in_late_binary_op before
1489	calling c_save_expr.
1490	* c-common.h (in_late_binary_op): Declare.
1491	* c-tree.h (in_late_binary_op): Move to c-common.h.
1492	* c-typeck.c (in_late_binary_op): Move to c-common.c.
1493
14942010-11-17  Richard Guenther  <rguenther@suse.de>
1495
1496	PR tree-optimization/46498
1497	* tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info.
1498
14992010-11-17  Alan Modra  <amodra@gmail.com>
1500
1501	PR target/45807
1502	* config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete.
1503	* config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete.
1504	* config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init):
1505	Delete.
1506	* config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete.
1507	(rs6000_emit_prologue): Don't just create frame save info for r2,
1508	actually save r2.
1509
15102010-11-17  Alan Modra  <amodra@gmail.com>
1511
1512	PR target/44266
1513	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
1514	emit_library_call machinery to set up __tls_get_addr calls.
1515
15162010-11-16  Eric Botcazou  <ebotcazou@adacore.com>
1517
1518	PR rtl-optimization/46315
1519	* rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
1520	* rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
1521	extracted from...
1522	* dce.c (delete_corresponding_reg_eq_notes): ...here.  Rename into...
1523	(remove_reg_equal_equiv_notes_for_defs): ...this.
1524	(delete_unmarked_insns): Adjust to above renaming.
1525	* ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
1526	referring to registers set in the insns being moved, if any.
1527
1528	* df-core.c (df_ref_dump): New function extracted from...
1529	(df_refs_chain_dump): ...here.  Call it.
1530	(df_regs_chain_dump): Likewise.
1531	* df-problems.c (df_chain_dump): Print 'e' for uses in notes.
1532	* df-scan.c (df_scan_start_dump): Likewise.  Fix long line.
1533
15342010-11-16  Richard Guenther  <rguenther@suse.de>
1535
1536	PR tree-optimization/44545
1537	* tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing
1538	statements are not reassociatable.
1539	(reassociate_bb): Likewise.
1540
15412010-11-15  Jakub Jelinek  <jakub@redhat.com>
1542
1543	PR tree-optimization/46491
1544	Backport from mainline
1545
1546	2010-05-14  Jan Hubicka  <jh@suse.cz>
1547	* ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
1548
15492010-11-12  Olivier Hainque  <hainque@adacore.com>
1550
1551	* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
1552	switch on insn codes as sequence of ifs.
1553
15542010-11-12  Alexander Monakov  <amonakov@ispras.ru>
1555
1556	Backport from mainline:
1557	2010-08-19  Andrey Belevantsev  <abel@ispras.ru>
1558
1559	PR rtl-optimization/44691
1560	* sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG
1561	is not a register.
1562
15632010-11-12  Richard Guenther  <rguenther@suse.de>
1564
1565	Backport from mainline
1566	2010-11-09  Richard Guenther  <rguenther@suse.de>
1567
1568	PR tree-optimization/46355
1569	* tree-loop-distribution.c (tree_loop_distribution): Do not
1570	distribute loops without a single exit.
1571
1572	2010-11-02  Richard Guenther  <rguenther@suse.de>
1573
1574	PR tree-optimization/46177
1575	* tree-loop-distribution.c (prop_phis): Use
1576	mark_virtual_phi_result_for_renaming.
1577
1578	2010-11-09  Richard Guenther  <rguenther@suse.de>
1579
1580	PR tree-optimization/46177
1581	* tree-loop-distribution.c (prop_phis): Remove.
1582	(generate_builtin): Re-use the old loop exit edge to avoid
1583	needing to update PHI nodes.
1584
15852010-11-11  Jakub Jelinek  <jakub@redhat.com>
1586
1587	Backport from mainline
1588	2010-11-05  Jakub Jelinek  <jakub@redhat.com>
1589
1590	PR c/44772
1591	* c-decl.c (warn_cxx_compat_finish_struct): Don't call
1592	pointer_set_contains if DECL_NAME is NULL.
1593
1594	PR tree-optimization/46099
1595	* tree-parloops.c (take_address_of): Add GSI argument.  Return NULL
1596	if it is NULL and uid wasn't found in the hash table.  Just fold the
1597	result if it is NULL otherwise.  Insert other potentially needed
1598	stmts right before current stmt instead of on the entry edge.
1599	(struct elv_data): Add gsi and reset fields.
1600	(eliminate_local_variables_1): Adjust caller.  If take_address_of
1601	failed for debug stmt, set dta->reset and return.
1602	(eliminate_local_variables_stmt): Change STMT argument for GSI,
1603	pass GSI through to the callback, handle resetting of debug stmts.
1604	(eliminate_local_variables): Adjust caller.  Process debug stmts
1605	in second phase.
1606
1607	PR middle-end/43690
1608	* gimplify.c (gimplify_asm_expr): If a "m" input is a
1609	{pre,post}{in,de}crement, fail.
1610
1611	2010-11-03  Jakub Jelinek  <jakub@redhat.com>
1612
1613	PR tree-optimization/46165
1614	* tree-ssa-pre.c (eliminate): Return TODO_cleanup_cfg if changing
1615	a normal call into noreturn call.
1616
1617	PR tree-optimization/46107
1618	* cfgloopmanip.c (loop_version): Set irred_flag back into entry->flags
1619	if cfg_hook_duplicate_loop_to_header_edge failed.
1620
16212010-11-10  Uros Bizjak  <ubizjak@gmail.com>
1622
1623	PR middle-end/46419
1624	* config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi.
1625	(_mm_cvtpu16_ps): Ditto.
1626
16272010-11-09  Sebastian Pop  <sebastian.pop@amd.com>
1628
1629	PR tree-optimization/45314
1630	Backport of revision 163132.
1631	* graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Always insert out
1632	of SSA copies on edges except for loop->latch.
1633
16342010-11-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1635
1636	PR rtl-optimization/46237
1637	* ira-conflicts.c (ira_build_conflicts): Record conflicts for call
1638	saved hard regs if they might get partially clobbered.
1639
16402010-11-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1641
1642	PR debug/45939
1643	* var-tracking.c (emit_note_insn_var_location): Make sure that
1644	call related var location notes come before the normal ones.
1645
16462010-11-04  Uros Bizjak  <ubizjak@gmail.com>
1647
1648	Revert:
1649	2010-10-30  Uros Bizjak  <ubizjak@gmail.com>
1650
1651	PR middle-end/44569
1652	* lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
1653	determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX.
1654
16552010-11-04  Alan Modra  <amodra@gmail.com>
1656
1657	* config/rs6000/rs6000.c (rs6000_pic_labelno): Make static.
1658	(rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when
1659	TARGET_SECURE_PLT.
1660	* config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare.
1661	* config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint
1662	on input, "r" on output.
1663
16642010-11-02  Ira Rosen  <irar@il.ibm.com>
1665
1666	PR tree-optimization/45902
1667	* tree-vectorizer.h (enum stmt_vec_info_type): Add new value for shift.
1668	(vect_get_slp_defs): Add arguments.
1669	* tree-vect-stmts.c (cost_for_stmt): Handle shifts.
1670	(vect_get_vec_def_for_operand): Use operand's
1671	type to determine number of units in the created vector.
1672	(vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs.
1673	(vectorizable_shift): New function.
1674	(vectorizable_operation): Move code that handles shifts to
1675	vectorizable_shift.
1676	(vectorizable_type_demotion): Pass scalar operands to
1677	vect_get_slp_defs.
1678	(vectorizable_type_promotion, vectorizable_store): Likewise.
1679	(vect_analyze_stmt): Call vectorizable_shift.
1680	(vect_transform_stmt): Likewise.
1681	* tree-vect-slp.c (vect_get_constant_vectors): Add new argument.
1682	Use it as the operand to create vectors except for stores.
1683	(vect_get_slp_defs): Add new arguments. Pass them to
1684	vect_get_constant_vectors.
1685
16862010-10-30  Uros Bizjak  <ubizjak@gmail.com>
1687
1688	PR middle-end/44569
1689	* lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
1690	determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX.
1691
16922010-10-30  Uros Bizjak  <ubizjak@gmail.com>
1693
1694	PR target/46153
1695	* config/i386/sse.md (sse_movhlps_exp): Use destination
1696	returned from ix86_fixup_binary_operands to expand insn.
1697	(sse_movlhps_exp): Ditto.
1698	(sse_loadhps_exp): Ditto.
1699	(sse_loadlps_exp): Ditto.
1700	(sse2_loadhpd_exp): Ditto.
1701	(sse2_loadlpd_exp): Ditto.
1702
17032010-10-29  Richard Henderson  <rth@redhat.com>
1704
1705	PR rtl-opt/46226
1706	* stmt.c (expand_asm_operands): Call do_pending_stack_adjust
1707	for asm goto.
1708
17092010-10-27  Eric Botcazou  <ebotcazou@adacore.com>
1710
1711	* config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust
1712	for newer Solaris 10 release.
1713	(sparc_fallback_frame_state): Likewise.
1714
17152010-10-26  Ira Rosen  <irar@il.ibm.com>
1716
1717	PR tree-optimization/46167
1718	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that
1719	there is basic block for the statement.
1720
17212010-10-24  Eric Botcazou  <ebotcazou@adacore.com>
1722
1723	* reg-stack.c (convert_regs_1): Return boolean value, true if the CFG
1724	has been modified.
1725	(convert_regs_2): Likewise.  Adjust calls to convert_regs_1.
1726	(convert_regs): Adjust calls to convert_regs_2.  Clean up the CFG if
1727	it has been modified.
1728
17292010-10-22  Uros Bizjak  <ubizjak@gmail.com>
1730
1731	PR target/46098
1732	* config/i386/sse.md (*avx_movup<avxmodesuffixf2c><avxmodesuffix>):
1733	Rename from avx_movup<avxmodesuffixf2c><avxmodesuffix>.
1734	(avx_movup<avxmodesuffixf2c><avxmodesuffix>): New expander.
1735	(*<sse>_movup<ssemodesuffixf2c>): Rename from
1736	<sse>_movup<ssemodesuffixf2c>.
1737	(<sse>_movup<ssemodesuffixf2c>): New expander.
1738	(*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
1739	(avx_movdqu<avxmodesuffix>): New expander.
1740	(*sse2_movdqu): Rename from sse2_movdqu.
1741	(sse2_movdqu): New expander.
1742
17432010-10-22  Uros Bizjak  <ubizjak@gmail.com>
1744
1745	PR target/45946
1746	* config/i386/i386.md (*pushti2): New insn pattern.
1747	(pushti2 splitter): New insn splitter.
1748
17492010-10-20  Vladimir Makarov  <vmakarov@redhat.com>
1750
1751	PR fortran/42169
1752	* ira-emit.c (store_can_be_removed_p): Return false instead of
1753	gcc_unreachable.
1754
17552010-10-20  Eric Botcazou  <ebotcazou@adacore.com>
1756
1757	* stor-layout.c (skip_simple_constant_arithmetic): New function.
1758	(self_referential_size): Use it instead of skip_simple_arithmetic.
1759
17602010-10-18  Jakub Jelinek  <jakub@redhat.com>
1761
1762	PR middle-end/46019
1763	* fold-const.c (fold_binary_loc): If integer_pow2p has
1764	TREE_INT_CST_LOW zero, look at TREE_INT_CST_HIGH.
1765
17662010-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1767
1768	* gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be
1769	ignored for debug info purposes, do not clear the DECL_IGNORED_P flag
1770	on the bounds of its domain.
1771	* tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically.
1772
17732010-10-15  Joseph Myers  <joseph@codesourcery.com>
1774
1775	* doc/extend.texi (Variable Length): Don't refer to VLAs not
1776	conforming to C99.
1777
17782010-10-14  Joseph Myers  <joseph@codesourcery.com>
1779
1780	PR c/45969
1781	* c-typeck.c (build_binary_op): Don't try to compute a semantic
1782	type with excess precision for boolean operations.
1783
17842010-10-13  Richard Guenther  <rguenther@suse.de>
1785	    Joern Rennecke  <joern.rennecke@embecosm.com>
1786
1787	PR debug/44832
1788	* tree-ssa-live.c (mark_all_vars_used_1): Set TREE_USED for
1789	LABEL_DECL.
1790	(remove_unused_scope_block_p): Don't drop TREE_USED LABEL_DECLs
1791	unless they have DECL_IGNORED_P set.
1792
17932010-10-13  Richard Guenther  <rguenther@suse.de>
1794
1795	PR tree-optimization/45982
1796	* tree-ssa-structalias.c (make_constraints_to): New function.
1797	(make_constraint_to): Implement in terms of make_constraints_to.
1798	(find_func_aliases): Properly make return values of pure/const
1799	functions escape if they assign to sth that is not a pointer.
1800
18012010-10-11  Alexandre Oliva  <aoliva@redhat.com>
1802
1803	PR debug/45656
1804	* cse.c (cse_extended_basic_block): Preserve cc0 info across
1805	debug isnsn.  Skip them when searching for cc0 setter.
1806	(set_live_p): Skip debug insns when searching for cc0 user.
1807
18082010-10-09  Ralf Corsépius <ralf.corsepius@rtems.org>
1809
1810	* config.gcc (bfin*-rtems*): Add newlib-stdint.h.
1811	* config.gcc (lm32*-rtems*): Add newlib-stdint.h.
1812
18132010-10-07  Richard Guenther  <rguenther@suse.de>
1814
1815	PR middle-end/45869
1816	* tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts
1817	of pointers.
1818
18192010-10-07  Richard Guenther  <rguenther@suse.de>
1820
1821	Backport from mainline
1822	2010-09-07  Richard Guenther  <rguenther@suse.de>
1823
1824	PR middle-end/45569
1825	* tree-eh.c (operation_could_trap_helper_p): Neither COMPLEX_EXPR
1826	nor CONSTRUCTOR can trap.
1827	* tree-complex.c (update_complex_assignment): Update EH info.
1828
18292010-10-06  Jack Howarth  <howarth@bromo.med.uc.edu>
1830
1831	Backport from mainline
1832	2010-04-26  Jack Howarth <howarth@bromo.med.uc.edu>
1833
1834	PR 43715
1835	* configure.ac: Pass -g for export_sym_check on darwin.
1836	Use "-undefined dynamic_lookup" on darwin.
1837	* configure: Regenerate.
1838
18392010-10-05  Ira Rosen  <irar@il.ibm.com>
1840
1841	PR tree-optimization/45752
1842	* tree-vect-slp.c (vect_get_mask_element): Remove static
1843	variables, make them function arguments.
1844	(vect_transform_slp_perm_load): Pass new arguments to
1845	vect_get_mask_element.
1846
18472010-10-04  Matthias Klose  <doko@ubuntu.com>
1848
1849	* config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
1850	multilib osdirname if it exists.
1851	* config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
1852
18532010-10-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1854
1855	PR target/45820
1856	* config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
1857	earlier.
1858
18592010-10-01  Richard Guenther  <rguenther@suse.de>
1860
1861	PR tree-optimization/45854
1862	* tree-eh.c (cleanup_empty_eh): Avoid degenerate case.
1863
18642010-09-30  Jakub Jelinek  <jakub@redhat.com>
1865
1866	PR target/45843
1867	* config/i386/i386.c (ix86_gimplify_va_arg): Use
1868	INTVAL (XEXP (slot, 1)) as prev_size.
1869
18702010-09-29  Kai Tietz  <kai.tietz@onevision.com>
1871
1872	* config/i386/mingw32.h (TARGET_64BIT): replaced by
1873	TARGET_64BIT_DEFAULT in #if check.
1874
18752010-09-28  Richard Henderson  <rth@redhat.com>
1876
1877	* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes
1878	when 8 bytes are requested.
1879
18802010-09-27  Richard Sandiford  <rdsandiford@googlemail.com>
1881
1882	Backport from mainline:
1883
1884	2010-05-19  James E. Wilson  <wilson@codesourcery.com>
1885
1886	PR target/43764
1887	* config/mips/mips.c (mips_call_expr_from_insn): New arg second_call.
1888	Set it.
1889	(mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
1890	Use it.
1891
18922010-09-27  Richard Sandiford  <rdsandiford@googlemail.com>
1893
1894	PR rtl-optimization/43358
1895	* ira-lives.c (process_single_reg_class_operands): Adjust the costs
1896	of a single hard register, using simplify_subreg_regno to decide
1897	what that register should be.
1898
18992010-09-25  Eric Botcazou  <ebotcazou@adacore.com>
1900
1901	* tree-inline.c (copy_bb): Use GSI_CONTINUE_LINKING when inserting new
1902	statements because of the return slot optimization.
1903
19042010-09-24  Jakub Jelinek  <jakub@redhat.com>
1905
1906	Revert:
1907	2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>
1908
1909	PR middle-end/45234
1910	* calls.c (expand_call): Make sure that all variable sized
1911	adjustments are multiple of preferred stack boundary after
1912	stack alignment.
1913
19142010-09-23  Eric Botcazou  <ebotcazou@adacore.com>
1915
1916	Backport from mainline
1917	2010-09-02  Olivier Hainque  <hainque@adacore.com>
1918
1919	PR middle-end/44763
1920	* ira-color.c (SORTGT): New macro, helper for qsort callbacks.
1921	(allocno_priority_compare_func): Use it instead of a straight
1922	difference computation over priorities.
1923
19242010-09-22  Eric Botcazou  <ebotcazou@adacore.com>
1925
1926	PR java/44095
1927	* config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch
1928	is specified and the suffix of the file isn't ".c".
1929	* config/sparc/linux64.h (ASM_SPEC): Likewise.
1930
19312010-09-22  Eric Botcazou  <ebotcazou@adacore.com>
1932
1933	PR target/35664
1934	* config/sparc/constraints.md ('e'): Return NO_REGS if !TARGET_FPU.
1935	('f'): Likewise.
1936
19372010-09-21  Hans-Peter Nilsson  <hp@axis.com>
1938
1939	PR rtl-optimization/41085
1940	Backport from mainline
1941	2010-07-27  Bernd Schmidt  <bernds@codesourcery.com>
1942
1943	PR rtl-optimization/45051
1944	* reload1.c (delete_output_reload): Use refers_to_regno_p rather
1945	than reg_mentioned_p.
1946
19472010-09-21  Kai Tietz  <kai.tietz@onevision.com>
1948
1949	PR target/45694
1950	* config/i386/i386.c (ix86_expand_prologue): Save r10 in case that
1951	static chain-register is used for 64-bit.
1952
19532010-09-21  Jakub Jelinek  <jakub@redhat.com>
1954
1955	PR middle-end/45678
1956	* expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
1957	op0 isn't sufficiently aligned and there is movmisalignM
1958	insn for mode, use it to load op0 into a temporary register.
1959
1960	Backport from mainline
1961	2010-09-20  Jakub Jelinek  <jakub@redhat.com>
1962
1963	PR middle-end/45678
1964	* cfgexpand.c (expand_one_stack_var_at): Limit alignment to
1965	crtl->max_used_stack_slot_alignment.
1966
19672010-09-21  Richard Guenther  <rguenther@suse.de>
1968
1969	PR middle-end/45704
1970	* gimplify.c (gimplify_modify_expr_rhs): Preserve volatileness.
1971
19722010-09-20  Jakub Jelinek  <jakub@redhat.com>
1973
1974	PR rtl-optimization/45728
1975	* expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try
1976	gen_lowpart_common first and if that fails, force_reg first
1977	before calling gen_lowpart.
1978
1979	PR rtl-optimization/45695
1980	* combine.c (try_combine): Don't try to swap the two patterns, if the
1981	chosen order is not possible, just give up.  For HAVE_cc0 targets,
1982	check if XVECEXP (newpat, 0, 0) doesn't use REGs or MEMs set by insns
1983	in between i2 and i3.
1984
19852010-09-20  Eric Botcazou  <ebotcazou@adacore.com>
1986
1987	PR rtl-optimization/42775
1988	* cfgrtl.c (rest_of_pass_free_cfg): Recompute notes if delay slot
1989	scheduling is enabled.
1990
19912010-09-20  H.J. Lu  <hongjiu.lu@intel.com>
1992
1993	Backport from mainline
1994	2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>
1995
1996	PR middle-end/45234
1997	* calls.c (expand_call): Make sure that all variable sized
1998	adjustments are multiple of preferred stack boundary after
1999	stack alignment.
2000
20012010-09-20  Rafael Carre  <rafael.carre@gmail.com>
2002
2003	PR target/45726
2004	* arm.md (arm_movtas_ze): Only enable on machine with MOVT.
2005
20062010-09-20  Richard Guenther  <rguenther@suse.de>
2007
2008	PR tree-optimization/45623
2009	* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Adjust.
2010	(get_constraint_for_component_ref): If computing a constraint
2011	for the rhs handle type punning through unions.
2012	(get_constraint_for_address_of): Adjust.
2013	(get_constraint_for_1): Likewise.
2014	(get_constraint_for): Likewise.
2015	(get_constraint_for_rhs): New function.
2016	(do_structure_copy): Adjust.
2017	(make_constraint_to): Likewise.
2018	(handle_const_call): Likewise.
2019	(find_func_aliases): Likewise.
2020
20212010-09-18  Richard Guenther  <rguenther@suse.de>
2022
2023	PR tree-optimization/45709
2024	* tree-inline.c (copy_phis_for_bb): Delay commit of edge
2025	insertions until after all PHI nodes of the block are processed.
2026
20272010-09-18  H.J. Lu  <hongjiu.lu@intel.com>
2028
2029	Backport from mainline
2030	2010-04-07  Dodji Seketeli  <dodji@redhat.com>
2031
2032	PR debug/43628
2033	* dwarf2out.c (modified_type_die): Ignore artificial typedefs.
2034
20352010-09-18  Richard Guenther  <rguenther@suse.de>
2036
2037	PR tree-optimization/45709
2038	* tree-inline.c (copy_phis_for_bb): Fixup new_edge when
2039	we splitted it.
2040
20412010-09-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2042
2043	Backport from mainline:
2044	2010-09-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2045
2046	* doc/sourcebuild.texi (Effective-Target Keywords): Document
2047	run_expensive_tests.
2048
20492010-09-15  Eric Botcazou  <ebotcazou@adacore.com>
2050
2051	PR rtl-optimization/45593
2052	* reorg.c (relax_delay_slots): Use emit_copy_of_insn_after to re-emit
2053	insns that were in delay slots as stand-alone insns.
2054
20552010-09-14  Tristan Gingold  <gingold@adacore.com>
2056
2057	* configure.ac (plugins): Fix typos.
2058	* configure: Regenerate.
2059
20602010-09-14  Jakub Jelinek  <jakub@redhat.com>
2061
2062	PR middle-end/45567
2063	* builtins.c (expand_builtin_interclass_mathfn, expand_builtin_cexpi,
2064	expand_builtin_powi): Remove subtarget argument, pass NULL_RTX instead.
2065	(expand_builtin): Adjust caller.
2066	(expand_builtin_unop): Only use subtarget if it has the right mode.
2067
2068	PR debug/45660
2069	* dwarf2out.c (gen_decl_die): Call gen_type_die for origin before
2070	gen_type_die for function/method return type.
2071
20722010-09-13  Hans-Peter Nilsson  <hp@axis.com>
2073
2074	PR rtl-optimization/41087
2075	* ifcvt.c (noce_get_condition): Don't allow conditions with
2076	side-effects.
2077
20782010-09-12  Alexander Monakov  <amonakov@ispras.ru>
2079
2080	Backport from mainline
2081	2010-09-06  Andrey Belevantsev  <abel@ispras.ru>
2082
2083	PR rtl-optimization/44919
2084	* sel-sched.c (move_cond_jump): Remove assert, check that
2085	the several blocks case can only happen with mutually exclusive
2086	insns instead.  Rewrite the movement code to support moving through
2087	several basic blocks.
2088
20892010-09-10  Jack Howarth <howarth@bromo.med.uc.edu>
2090
2091	Backport from mainline
2092	2010-09-07  H.J. Lu  <hjl.tools@gmail.com>
2093		    Jack Howarth <howarth@bromo.med.uc.edu>
2094
2095	PR target/36502
2096	PR target/42313
2097	PR target/44651
2098	* config/i386/darwin.h (STACK_BOUNDARY): Redefine as 128 for
2099	profiling or 64-bit MS_ABI and as BITS_PER_WORD otherwise.
2100	(PREFERRED_STACK_BOUNDARY): Replace STACK_BOUNDARY with 128 in
2101	MAX macro.
2102
21032010-09-09  Vladimir Makarov  <vmakarov@redhat.com>
2104
2105	PR middle-end/45312
2106	* reload1.c (merge_assigned_reloads): Remove.
2107	(reload_as_needed): Don't call it.
2108
21092010-09-09  Matthias Klose  <doko@ubuntu.com>
2110
2111	PR bootstrap/43847
2112	* configure.ac (--enable-plugin): Enhance for cross builds.
2113	* configure: Regenerate.
2114
21152010-09-09  Vladimir Makarov  <vmakarov@redhat.com>
2116
2117	PR middle-end/44554
2118	* ira.c (ira): Switch off sharing spill slots if setjmp is called.
2119
21202010-09-08  Vladimir Makarov  <vmakarov@redhat.com>
2121
2122	PR middle-end/40386
2123	* ira.c (pseudo_for_reload_consideration_p): Don't use
2124	flag_ira_share_spill_slots.
2125
21262010-09-09  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2127
2128	* config/s390/s390.c (legitimate_reload_constant_p): Accept floating-
2129	point zero operands that fit into a single GPR.
2130	(s390_preferred_reload_class): Ensure we only return general-purpose
2131	register classes.
2132	* config/s390/s390.md ("*mov<mode>_64dfp"): Use lghi to load
2133	floating-point zero operands into GPRs.
2134	("*mov<mode>_64"): Likewise.
2135	("mov<mode>"): Likewise using lhi.
2136
21372010-09-09  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2138
2139	* config/s390/s390.c (s390_symref_operand_p): Return false for
2140	literal pool references.
2141	(s390_check_qrst_address): Update caller.
2142
21432010-09-08  Martin Jambor  <mjambor@suse.cz>
2144
2145	PR other/45443
2146	* doc/invoke.texi: Add -fipa-cp-clone to list of switches turned on
2147	at -O3.
2148
21492010-09-03  Jakub Jelinek  <jakub@redhat.com>
2150
2151	PR middle-end/45484
2152	* dwarf2out.c (flush_queued_reg_saves): Rename to...
2153	(dwarf2out_flush_queued_reg_saves): ... this.  No longer static.
2154	(dwarf2out_frame_debug): Adjust callers.
2155	* dwarf2out.h (dwarf2out_flush_queued_reg_saves): New prototype.
2156	* config/i386/i386.c (output_set_got): Call it.
2157
2158	PR debug/45500
2159	* dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors,
2160	not just generic vectors with BLKmode.
2161
21622010-09-02  Ian Bolton  <ian.bolton@arm.com>
2163
2164	Backport from mainline
2165	2010-09-01  Ian Bolton  <ian.bolton@arm.com>
2166
2167	* Makefile.in (tree-switch-conversion.o): Update dependencies.
2168
2169	2010-08-19  Ian Bolton  <ian.bolton@arm.com>
2170
2171	PR target/45070
2172	* config/arm/arm.c (arm_output_epilogue): Ensure that return
2173	value of size 1-3 is handled correctly.
2174
2175	2010-08-19  Ian Bolton  <ian.bolton@arm.com>
2176
2177	* tree-switch-conversion.c (gen_inbound_check): Ensure that the
2178	type for the conditional has wide enough range.
2179
2180	2010-08-07  Marcus Shawcroft  <marcus.shawcroft@arm.com>
2181
2182	* config/arm/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
2183	'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
2184	(SUBWORD_BOOL_CAS): Likewise.
2185	(SUBWORD_SYNC_OP): Likewise.
2186	(SUBWORD_TEST_AND_SET): Likewise.
2187	(FETCH_AND_OP_WORD): Parenthesise INF_OP
2188	(SUBWORD_SYNC_OP): Likewise.
2189	(OP_AND_FETCH_WORD): Likewise.
2190
21912010-09-01  Jakub Jelinek  <jakub@redhat.com>
2192
2193	PR middle-end/45458
2194	* bb-reorder.c (add_labels_and_missing_jumps): Treat
2195	bbs ending with throwing insns like blocks ending with a call.
2196	(fix_up_fall_thru_edges): Likewise.
2197
21982010-09-01  Eric Botcazou  <ebotcazou@adacore.com>
2199
2200	* gimplify.c (gimplify_init_constructor): Do not create a temporary for
2201	a volatile LHS if the constructor has only one element.
2202
22032010-08-31  Eric Botcazou  <ebotcazou@adacore.com>
2204
2205	* tree-nested.c (convert_all_function_calls): Iterate until after the
2206	sum of static chains in the nest doesn't change.
2207
22082010-08-31  Eric Botcazou  <ebotcazou@adacore.com>
2209
2210	Backport from mainline
2211	2010-08-20  Jakub Jelinek  <jakub@redhat.com>
2212
2213	PR rtl-optimization/45353
2214	* sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn
2215	after bb_note is a BARRIER.
2216
22172010-08-30  Jakub Jelinek  <jakub@redhat.com>
2218
2219	PR middle-end/45423
2220	* gimplify.c (goa_stabilize_expr): Handle TRUTH_NOT_EXPR
2221	and TRUTH_{AND,OR,XOR}_EXPR.
2222	* c-parser.c (c_parser_omp_atomic): Handle boolean
2223	{PRE,POST}_{INC,DEC}REMENT.
2224
22252010-08-30  Jakub Jelinek  <jakub@redhat.com>
2226
2227	Backport from mainline
2228	2010-07-27  Jakub Jelinek  <jakub@redhat.com>
2229
2230	PR c/45079
2231	* c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
2232
22332010-08-30  H.J. Lu  <hongjiu.lu@intel.com>
2234
2235	Backport from mainline
2236	2010-08-25  Richard Guenther  <rguenther@suse.de>
2237
2238	PR tree-optimization/45393
2239	* tree-ssa-math-opts.c (execute_cse_sincos_1): Properly transfer
2240	and clean EH info.  Avoid SSA update.
2241	(execute_cse_sincos): Cleanup the CFG if it has changed.
2242
22432010-08-28  Eric Botcazou  <ebotcazou@adacore.com>
2244
2245	* config/ia64/ia64.md (cstorebi4): Fix thinko.
2246
22472010-08-28  Uros Bizjak  <ubizjak@gmail.com>
2248
2249	PR target/41484
2250	* config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory
2251	operands for operand 1.
2252	(sse4_1_extendv4qiv4si2): Ditto.
2253	(sse4_1_extendv2qiv2di2): Ditto.
2254	(sse4_1_extendv4hiv4si2): Ditto.
2255	(sse4_1_extendv2hiv2di2): Ditto.
2256	(sse4_1_extendv2siv2di2): Ditto.
2257	(sse4_1_zero_extendv8qiv8hi2): Ditto.
2258	(sse4_1_zero_extendv4qiv4si2): Ditto.
2259	(sse4_1_zero_extendv2qiv2di2): Ditto.
2260	(sse4_1_zero_extendv4hiv4si2): Ditto.
2261	(sse4_1_zero_extendv2hiv2di2): Ditto.
2262	(sse4_1_zero_extendv2siv2di2): Ditto.
2263	(*sse4_1_extendv8qiv8hi2): Remove insn pattern.
2264	(*sse4_1_extendv4qiv4si2): Ditto.
2265	(*sse4_1_extendv2qiv2di2): Ditto.
2266	(*sse4_1_extendv4hiv4si2): Ditto.
2267	(*sse4_1_extendv2hiv2di2): Ditto.
2268	(*sse4_1_extendv2siv2di2): Ditto.
2269	(*sse4_1_zero_extendv8qiv8hi2): Ditto.
2270	(*sse4_1_zero_extendv4qiv4si2): Ditto.
2271	(*sse4_1_zero_extendv2qiv2di2): Ditto.
2272	(*sse4_1_zero_extendv4hiv4si2): Ditto.
2273	(*sse4_1_zero_extendv2hiv2di2): Ditto.
2274	(*sse4_1_zero_extendv2siv2di2): Ditto.
2275
22762010-08-25  Jakub Jelinek  <jakub@redhat.com>
2277
2278	PR rtl-optimization/44858
2279	* combine.c (try_combine): If recog_for_combine added CLOBBERs to
2280	newi2pat, make sure they don't affect newpat.
2281
2282	PR rtl-optimization/45400
2283	* combine.c (simplify_shift_const_1) <case SUBREG>: Only use
2284	SUBREG_REG if both modes are of MODE_INT class.
2285
22862010-08-20  Changpeng Fang  <changpeng.fang@amd.com>
2287
2288	PR tree-optimization/45260
2289	* tree-flow.h (may_be_nonaddressable_p): New definition. Make the
2290	existing static function global.
2291
2292	* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function
2293	is changed to global.
2294
2295	* tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call
2296	may_be_nonaddressable_p on base, and don't collect this reference
2297	if the address of the base could not be taken.
2298
22992010-08-20  David Edelsohn  <edelsohn@gnu.org>
2300
2301	Backport from mainline
2302	2010-04-22  David Edelsohn  <edelsohn@gnu.org>
2303
2304	* config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
2305
23062010-08-19  Uros Bizjak  <ubizjak@gmail.com>
2307
2308	* config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use
2309	ix86_binary_operator_ok.
2310
23112010-08-18  Uros Bizjak  <ubizjak@gmail.com>
2312
2313	PR target/45327
2314	* config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use
2315	ix86_binary_operator_ok.
2316
23172010-08-18  H.J. Lu  <hongjiu.lu@intel.com>
2318
2319	Backport from mainline
2320	2010-08-18  Paolo Bonzini  <bonzini@gnu.org>
2321
2322	PR middle-end/45292
2323	* optabs.c (expand_bool_compare_and_swap): Expand pending
2324	pops before trying the optab.
2325
23262010-08-17  Uros Bizjak  <ubizjak@gmail.com>
2327
2328	PR target/45296
2329	* reginfo.c (globalize_reg): Reject stack registers.
2330
23312010-08-16  Changpeng Fang  <changpeng.fang@amd.com>
2332
2333	Backport from mainline:
2334	2010-08-12  Changpeng Fang  <changpeng.fang@amd.com>
2335
2336	PR tree-optimization/45241
2337	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Give
2338	up dot_prod pattern searching if a stmt is outside the loop.
2339
23402010-08-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2341
2342	Backport from mainline:
2343	2010-08-09  Richard Guenther  <rguenther@suse.de>
2344
2345	PR middle-end/44632
2346	* function.c (gimplify_parameters): Do not clear addressable
2347	bit of the original parameter.
2348
23492010-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2350
2351	Revert:
2352	2010-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2353
2354	PR boehm-gc/34544
2355	* gthr-posix.h (__gthread_start): Delete.
2356	(__gthread_active_init): Use pthread_default_stacksize_np instead of
2357	pthread_create to determine if hpux pthreads are active.
2358	* gthr-posix95.h (__gthread_start): Delete.
2359	(__gthread_active_init): Likewise use pthread_default_stacksize_np.
2360
23612010-08-12  Jakub Jelinek  <jakub@redhat.com>
2362
2363	PR middle-end/45262
2364	* fold-const.c (make_range) <case NEGATE_EXPR>: Punt if
2365	-a overflows.  Normalize the range.
2366
2367	PR debug/45259
2368	* caller-save.c (save_call_clobbered_regs): Only swap notes with
2369	DEBUG_INSNs if n_regs_saved.
2370
2371	Backport from mainline
2372	2010-07-30  Jakub Jelinek  <jakub@redhat.com>
2373
2374	PR debug/45055
2375	PR rtl-optimization/45137
2376	* rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New
2377	prototypes.
2378	* emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn):
2379	New functions.
2380	* combine.c (next_nonnote_nondebug_insn): Removed.
2381	* ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn.
2382	* haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn.
2383	* sched-deps.c (sched_analyze_insn): Likewise.
2384	(fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn.
2385	* rtlanal.c (canonicalize_condition): Likewise.
2386	* postreload.c (reload_combine): Likewise.
2387	(reload_cse_move2add): Use next_nonnote_nondebug_insn.
2388
23892010-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2390
2391	Backport from mainline.
2392	2010-07-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2393
2394	PR target/44805
2395	* config/pa/pa.h (CONSTANT_ALIGNMENT): Align strings to BITS_PER_WORD
2396	on all targets.
2397
23982010-08-08  Richard Guenther  <rguenther@suse.de>
2399
2400	PR middle-end/45034
2401	* convert.c (convert_to_integer): Always use an unsigned
2402	type for narrowed negate and bitwise not.
2403
24042010-08-08  Richard Guenther  <rguenther@suse.de>
2405
2406	PR tree-optimization/45109
2407	* tree-ssa-structalias.c (get_constraint_for_component_ref):
2408	Explicitly strip handled components and indirect references.
2409
24102010-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2411
2412	PR boehm-gc/34544
2413	* gthr-posix.h (__gthread_start): Delete.
2414	(__gthread_active_init): Use pthread_default_stacksize_np instead of
2415	pthread_create to determine if hpux pthreads are active.
2416	* gthr-posix95.h (__gthread_start): Delete.
2417	(__gthread_active_init): Likewise use pthread_default_stacksize_np.
2418
24192010-08-06  Eric Botcazou  <ebotcazou@adacore.com>
2420
2421	PR target/44942
2422	* config/sparc/sparc.c (function_arg_advance): Always take into account
2423	the padding, if any.
2424
24252010-08-06  Uros Bizjak  <ubizjak@gmail.com>
2426
2427	* expmed.c (expand_mult_const) <case alg_shift>: Expand shift into
2428	temporary. Emit move from temporary to accum, so REG_EQUAL note will
2429	be attached to this insn in correct mode.
2430
24312010-08-06  Uros Bizjak  <ubizjak@gmail.com>
2432
2433	* config/i386/i386.c (ix86_decompose_address): Check for SI_REG
2434	using REGNO of base_reg directly.
2435
24362010-08-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2437
2438	* config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of
2439	non-NOTE insns.
2440
24412010-08-03  Uros Bizjak  <ubizjak@gmail.com>
2442
2443	PR target/41089
2444	* config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
2445	as volatile.
2446
24472010-08-03  Martin Jambor  <mjambor@suse.cz>
2448
2449	PR tree-optimization/44914
2450	* tree-sra.c (cfg_changed): New variable.
2451	(sra_initialize): Initialize cgf_changed to false.
2452	(scan_function): Set cfg_changed if cfg was changed.
2453	(perform_intra_sra): Return also TODO_cleanup_cfg if cfg was changed.
2454	(ipa_early_sra): Likewise.
2455
24562010-08-02  DJ Delorie  <dj@redhat.com>
2457
2458	* config/rx/predicates.md (rx_constshift_operand): New.
2459	* config/rx/rx.md (zs_cond): New.
2460	(cbranchsi4): Remove mode.
2461	(*cbranchsi4_<code>): Likewise.
2462	(*tstbranchsi4_<code>): New.
2463	(*tstbranchsi4r_<code>): New.
2464	(*tstbranchsi4m_eq): New.
2465	(*tstbranchsi4m_ne): New.
2466	(cbranchsf4): Remove mode.
2467	(*cbranchsf4_<code>): Likewise.
2468
24692010-07-31  Richard Guenther  <rguenther@suse.de>
2470
2471	PR tree-optimization/45052
2472	* ipa-pure-const.c (check_stmt): Check volatileness.
2473
24742010-07-31  Richard Guenther  <rguenther@suse.de>
2475
2476	* ipa-prop.c (ipa_modify_formal_parameters): Use
2477	build_distinct_type_copy.
2478
24792010-07-31  Richard Guenther  <rguenther@suse.de>
2480
2481	* DEV-PHASE: Set back to prerelease.
2482	* BASE-VER: Bump to 4.5.2.
2483
24842010-07-31  Release Manager
2485
2486	* GCC 4.5.1 released.
2487
24882010-07-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2489
2490	Backport from mainline.
2491	2010-07-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2492
2493 	PR target/43698
2494	* config/arm/arm.md: Split arm_rev into *arm_rev and *thumb1_rev.
2495	Set *arm_rev to be predicable.
2496
24972010-07-27  Nick Clifton  <nickc@redhat.com>
2498
2499	* Import this patch from the mainline:
2500
2501	2010-06-30  Nick Clifton  <nickc@redhat.com>
2502
2503	* config/rx/rx-modes.def: New file.
2504	* config/rx/rx.h (FIRST_PSEUDO_REGISTER): Increase to 17.
2505	(CC_REGNUM): Define.
2506	(FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES): Add cc
2507	register.
2508	(CC_NO_CARRY, NOTICE_UPDATE_CC): Delete.
2509	(SELECT_CC_MODE): Define.
2510	* config/rx/rx.md (CC_REG): Define.  Update all patterns to use
2511	(reg:CC CC_REG) instead of (cc0).
2512	(attr "cc"): Delete.
2513	(cbranchsi4): Do not split compare and branch here. Instead move
2514	it to...
2515	(cbranchsi4_<code>): ... here.  New patterns.
2516	(cmpsi): Call rx-compare_redundant to find out if it is necessary
2517	to emit the compare instruction.
2518	* config/rx/rx.c (rx_gen-cond_branch_template): Remove tests of
2519	cc_status flags.
2520	(rx_get_stack_layout): Iterate up to before CC_REGNUM not
2521	FIRST_PSEUDO_REGNUM.
2522	(rx_expand_prologue, rx_expand_epilogue): Likewise.
2523	(rx_notice_update_cc): Delete.
2524	(rx_cc_modes_compatible): New function.
2525	(flags_needed_for_conditional): New function.
2526	(flags_from_mode): New function.
2527	(rx_compare_redundant): New function - scans backwards through
2528	insn list to find out if condition flags are already set correctly.
2529	(TARGET_CC_MODES_COMPATIBLE): Define.
2530	* config/rx/rx-protos.h (rx_compare_redundant): Prototype.
2531
2532	* config/rx/rx.h (BRANCH_COST): Define.
2533	(REGISTER_MOVE_COST): Define.
2534	* config/rx/predicates (rx_source_operand): Allow all constant types.
2535	* config/rx/rx.md (addsi3): Add alternative for swapped operands.
2536	(tstsi4): New pattern.
2537	* config/rx/rx.c (rx_memory_move_cost): Define.
2538	(TARGET_MEMORY_MOVE_COST): Define.
2539
25402010-07-23  Jakub Jelinek  <jakub@redhat.com>
2541	    Richard Guenther  <rguenther@suse.de>
2542
2543	PR tree-optimization/45047
2544	* tree-vect-stmts.c (vectorizable_assignment): Return false
2545	if vectype_out is NULL for conversion statement.
2546
25472010-07-22  Jakub Jelinek  <jakub@redhat.com>
2548
2549	PR debug/45015
2550	* var-tracking.c (adjust_mems): Ignore ASM_OPERANDS with non-zero
2551	ASM_OPERANDS_OUTPUT_IDX.
2552	(adjust_insn): For inline asm with multiple sets ensure first
2553	ASM_OPERANDS vectors are used by all following ASM_OPERANDS in
2554	the insn.
2555
2556	Backport from mainline
2557	2010-07-16  Jakub Jelinek  <jakub@redhat.com>
2558
2559	PR target/44942
2560	* config/i386/i386-protos.h (ix86_function_arg_boundary): Change second
2561	argument to const_tree.
2562	* config/i386/i386.c (function_arg_advance): If padding needs to be
2563	inserted before argument, increment cum->words by number of padding
2564	words as well.
2565	(contains_aligned_value_p): Change argument to const_tree.
2566	(ix86_function_arg_boundary): Change second argument to const_tree.
2567
25682010-07-21  Martin Jambor  <mjambor@suse.cz>
2569
2570	PR tree-optimization/44900
2571	* tree-sra.c (load_assign_lhs_subreplacements): Updated comments.
2572	(sra_modify_assign): Move gsi to the next statmenent unconditionally.
2573
25742010-07-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2575
2576	Backport from mainline:
2577	2010-07-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2578
2579	* doc/sourcebuild.texi (Effective-Target Keywords): Document
2580	sse_runtime, sse2_runtime.
2581
25822010-07-20  Richard Guenther  <rguenther@suse.de>
2583
2584	PR tree-optimization/44977
2585	* tree-ssa-dom.c (propagate_rhs_into_lhs): Do not create invalid
2586	SSA form.
2587
25882010-07-19  Bingfeng Mei  <bmei@broadcom.com>
2589
2590	* ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes
2591	of a loop.
2592	* loop-doloop.c (doloop_condition_get): Skip possible debug_insn.
2593
25942010-07-15  Jie Zhang  <jie@codesourcery.com>
2595
2596	* config/arm/cortex-a8.md (cortex_a8_load_store_2): Reserve
2597	cortex_a8_issue_ls.
2598
25992010-07-14  Jie Zhang  <jie@codesourcery.com>
2600
2601	* config/arm/cortex-a8.md (cortex_a8_alu): Don't use
2602	cortex_a8_default when neon_type is not none.
2603
26042010-07-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2605
2606	Backport from mainline:
2607	2010-07-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2608
2609	* config/i386/i386.c (ix86_sol10_return_in_memory): Rename to
2610	ix86_solaris_return_in_memory.
2611	* config/i386-protos.h: Reflect this.
2612	* config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
2613	* config/i386/sol2-10.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
2614	Move ...
2615	* config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): ... here.
2616
26172010-07-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2618
2619	Backport from mainline:
2620	2010-07-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2621
2622	* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
2623	pentiumpro on Solaris 8 and 9/x86.
2624	* doc/install.texi (Specific, i?86-*-solaris2.[89]): Recommend GNU as.
2625	Document SSE/SSE2 support.
2626	* doc/sourcebuild.texi (Effective-Target Keywords): Document sse.
2627
26282010-07-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2629
2630	* config/i386/sol2-unwind.h (x86_64_fallback_frame_state): Correct
2631	explanation.
2632	Find ucontext_t * on Solaris 11.
2633	(x86_fallback_frame_state): Handle Solaris 9 multi-threaded pattern.
2634	Handle new Solaris 11 __sighndlr patterns.
2635
26362010-07-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2637
2638	Backport from mainline:
2639	2010-07-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2640
2641	PR pch/14940
2642	* config/host-solaris.c (mmap_fixed): New function.
2643	(sol_gt_pch_get_address): Use it.
2644	(sol_gt_pch_use_address): Likewise.
2645
26462010-07-12  Jie Zhang  <jie@codesourcery.com>
2647
2648	* config/arm/arm.c (arm_get_frame_offsets): Don't use r3 to
2649	align the stack when it's going to be saved.
2650
26512010-07-11  Kai Tietz  <kai.tietz@onevision.com>
2652
2653	Merged back from trunk
2654	* config/i386/winnt.c (i386_pe_file_end): Quote symbol name
2655	in directive -export.
2656
26572010-07-09  Richard Guenther  <rguenther@suse.de>
2658
2659	PR tree-optimization/44886
2660	* tree-vect-stmts.c (vectorizable_assignment): Fixup backport
2661	of the fix for PR44284.
2662
26632010-07-09  Richard Guenther  <rguenther@suse.de>
2664
2665	Backport from mainline
2666	2010-05-28  Nathan Froyd  <froydnj@codesourcery.com>
2667
2668	* tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
2669	build1_stat.
2670
26712010-07-09  Dave Korn  <dave.korn.cygwin@gmail.com>
2672
2673	Backport from mainline
2674	2010-05-06  Dave Korn  <dave.korn.cygwin@gmail.com>
2675
2676	PR target/43888
2677	* config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
2678	handling to still return true for x64 targets.
2679
26802010-07-08  Richard Guenther  <rguenther@suse.de>
2681
2682	Backport from mainline
2683	2010-05-27  Richard Guenther  <rguenther@suse.de>
2684
2685	PR tree-optimization/44284
2686	* tree-vect-stmts.c (vectorizable_assignment): Handle
2687	sign-changing conversions as simple copy.
2688
2689	2010-07-06  Richard Guenther  <rguenther@suse.de>
2690
2691	PR middle-end/44828
2692	* convert.c (convert_to_integer): Watch out for overflowing
2693	MULT_EXPR as well.
2694
26952010-07-07  Duncan Sands  <baldrick@free.fr>
2696
2697	PR middle-end/41355
2698	* tree.c (build_function_type_skip_args): Copy the original type using
2699	build_distinct_type_copy rather than copy_node.
2700
27012010-07-06  Alexandre Oliva  <aoliva@redhat.com>
2702
2703	* doc/gimple.texi (GIMPLE_DEBUG): Document.
2704	* doc/rtl.texi (Debug Information): New node.
2705	(NOTE_INSN_VAR_LOCATION): Document.
2706	(debug_insn): Likewise.
2707	* doc/generic.texi (DEBUG_EXPR_DECL): Document.
2708
27092010-07-05  Kaz Kojima  <kkojima@gcc.gnu.org>
2710
2711	Backport from mainline:
2712	PR target/44531
2713	* config.gcc (sh*-*-*): Use regular expressions instead of
2714	the 'i' modifier for sed substitutions.
2715
27162010-07-05  Mikael Pettersson  <mikpe@it.uu.se>
2717
2718	PR bootstrap/44820
2719	* config/arm/arm.c (arm_attr_length_move_neon): Delete regno.
2720
27212010-07-05  Jie Zhang  <jie@codesourcery.com>
2722
2723	* config/arm/arm.c (arm_attr_length_move_neon): New.
2724	* config/arm/arm-protos.h (arm_attr_length_move_neon): Declare.
2725	* config/arm/neon.md (define_mode_attr V_slen): Remove.
2726	(neon_mov<mode> for VSTRUCT): Use arm_attr_length_move_neon
2727	to compute length attribute.
2728
27292010-07-05  Jie Zhang  <jie@codesourcery.com>
2730
2731	* config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand
2732	as predicate for operand 1 and remove its constraint.
2733	* config/arm/predicates.md (vfp_register_operand): New.
2734	* config/arm/arm.md (*push_multi): Remove the constraint of
2735	operand 1.
2736	(*push_fp_multi): Likewise.
2737
27382010-07-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2739
2740	PR target/44597
2741	* config/pa/predicates.md (prefetch_cc_operand): Remove.
2742	(prefetch_nocc_operand): Likewise.
2743	* config/pa/pa.md (prefetch): Revise expander to use prefetch_20.
2744	(prefetch_20): New insn.
2745	(prefetch_cc): Remove.
2746	(prefetch_nocc): Likewise.
2747
2748	PR target/44705
2749	* config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF.
2750
27512010-07-02  Richard Guenther  <rguenther@suse.de>
2752
2753	PR middle-end/44777
2754	* tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs.
2755
27562010-07-01  Jakub Jelinek  <jakub@redhat.com>
2757
2758	PR debug/44694
2759	* dwarf2out.c (reg_loc_descriptor): For eliminated arg_pointer_rtx
2760	or frame_pointer_rtx use DW_OP_fbreg offset DW_OP_stack_value.
2761
27622010-07-01  Jakub Jelinek  <jakub@redhat.com>
2763
2764	Backport from mainline
2765	2010-06-29  Jakub Jelinek  <jakub@redhat.com>
2766
2767	PR tree-optimization/43801
2768	* cgraph.c (cgraph_create_virtual_clone): Clear DECL_SECTION_NAME
2769	if old_decl was DECL_ONE_ONLY.
2770
2771	2010-06-21  Jakub Jelinek  <jakub@redhat.com>
2772
2773	PR target/44575
2774	* config/i386/i386.c (ix86_gimplify_va_arg): When copying
2775	va_arg from a set of register save slots into a temporary,
2776	if the container is bigger than type size, do the copying
2777	using smaller mode or using memcpy.
2778
2779	2010-05-13  Jakub Jelinek  <jakub@redhat.com>
2780
2781	PR debug/44104
2782	* dwarf2out.c (modified_type_die): Don't dereference mod_type_die
2783	if it is NULL.
2784
27852010-06-30  Jan Hubicka  <jh@suse.cz>
2786
2787	Backport from mainline
2788	2010-06-27  Jan Hubicka  <jh@suse.cz>
2789
2790	PR middle-end/44671
2791	PR middle-end/44686
2792	* tree.c (build_function_decl_skip_args): Clear DECL_BUILT_IN on
2793	signature change.
2794	* ipa-split.c (split_function): Always clear DECL_BUILT_IN.
2795	* ipa-prop.c (ipa_modify_formal_parameters): Likewise.
2796
2797	2010-06-28  Jan Hubicka  <jh@suse.cz>
2798
2799	PR tree-optimization/44357
2800	* ipa-inline.c (add_new_edges_to_heap): Do not add edges to uninlinable
2801	functions.
2802
28032010-06-30  Jakub Jelinek  <jakub@redhat.com>
2804
2805	Backport from mainline
2806	2010-06-30  Jakub Jelinek  <jakub@redhat.com>
2807
2808	PR debug/44694
2809	* cselib.h (cselib_preserve_cfa_base_value): Add regno argument.
2810	* cselib.c (cfa_base_preserved_regno): New static variable.
2811	(cselib_reset_table): Don't reset cfa_base_preserved_regno instead
2812	of REGNO (cfa_base_preserved_val->locs->loc).
2813	(cselib_preserve_cfa_base_value): Add regno argument, set
2814	cfa_base_preserved_regno to it.
2815	(cselib_invalidate_regno): Allow removal of registers other than
2816	cfa_base_preserved_regno from cfa_base_preserved_val.
2817	(cselib_finish): Set cfa_base_preserved_regno to INVALID_REGNUM.
2818	* var-tracking.c (adjust_mems): Replace sp or hfp even outside
2819	of MEM addresses, if not on LHS.
2820	(reverse_op): Don't add reverse ops for cfa_base_rtx.
2821	(vt_init_cfa_base): Adjust cselib_preserve_cfa_base_value caller.
2822
2823	2010-06-25  Jakub Jelinek  <jakub@redhat.com>
2824
2825	PR middle-end/43866
2826	* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always
2827	true or always false, return NULL_TREE.
2828	(tree_unswitch_single_loop): Optimize conditions even when reaching
2829	max-unswitch-level parameter.  If num > 0, optimize first all conditions
2830	using entry checks, then do still reachable block discovery and consider
2831	only conditions in still reachable basic blocks in the loop.
2832
2833	2010-05-12  Jakub Jelinek  <jakub@redhat.com>
2834
2835	PR debug/42278
2836	* dwarf2out.c (base_type_die): Don't add name attribute here.
2837	(modified_type_die): Instead of sizetype use
2838	its underlying original type.  If a DW_TAG_base_type doesn't
2839	have name added, add __unknown__.
2840	(dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
2841	always call force_type_die instead.
2842
2843	2010-05-11  Jakub Jelinek  <jakub@redhat.com>
2844
2845	PR c++/44059
2846	* config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
2847	even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
2848	* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
2849	* dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
2850	on DW.ref.* decls.
2851
28522010-06-30  Martin Jambor  <mjambor@suse.cz>
2853
2854	PR tree-optimization/43905
2855	* tree-sra.c (encountered_recursive_call): Removed with all its uses.
2856	(convert_callers): Do not handle recursive calls specially.
2857	(create_abstract_origin): Removed.
2858	(modify_function): Version the call graph node instead of creating
2859	abstract origins and dealing with same_body aliases.
2860	(ipa_sra_preliminary_function_checks): Check whether the function
2861	is versionable.
2862	* Makefile.in (tree-sra.o): Add TREE_INLINE_H to dependencies.
2863
28642010-06-30  Martin Jambor  <mjambor@suse.cz>
2865
2866	Backport from mainline
2867	2010-05-29  Jan Hubicka  <jh@suse.cz>
2868
2869	* cgraph.c (clone_function_name): Made public.
2870	* cgraph.h (clone_function_name): Declare.
2871	* cgraphunit.c (cgraph_function_versioning): Produce new name.
2872
28732010-06-29  Martin Jambor  <mjambor@suse.cz>
2874
2875	Backport from mainline
2876	2010-05-17  Martin Jambor  <mjambor@suse.cz>
2877
2878	PR middle-end/44133
2879	* tree-sra.c (create_access_replacement): New parameter rename, mark
2880	the replaement for renaming only when it is true.
2881	(get_access_replacement): Pass true in the rename parameter of
2882	create_access_replacement.
2883	(get_unrenamed_access_replacement): New function.
2884	(replace_uses_with_default_def_ssa_name): New parameter racc, get the
2885	replacement declaration from it.
2886
28872010-06-29  Martin Jambor  <mjambor@suse.cz>
2888
2889	Backport from mainline
2890	2010-04-13  Martin Jambor  <mjambor@suse.cz>
2891
2892	* tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
2893	(sra_modify_assign): Delete stmts loading dead data even if racc has no
2894	children.  Call replace_uses_with_default_def_ssa_name to handle
2895	SSA_NAES on lhs.
2896
28972010-06-27  Jan Hubicka  <jh@suse.cz>
2898
2899	Backport inliner heruistic fixes from mainline
2900	2010-05-27  Jan Hubicka  <jh@suse.cz>
2901
2902	* ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
2903	(update_caller_keys): Return early if there are no callers;
2904	only update fibheap when decresing the key.
2905	(update_callee_keys): Avoid recursion.
2906	(decide_inlining_of_small_functions): When badness does not match;
2907	re-insert into fibheap.
2908
2909	2010-05-11  Jan Hubicka  <jh@suse.cz>
2910
2911	PR tree-optimize/44063
2912	* ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
2913	queue.
2914
2915	2010-04-13  Jan Hubicka  <jh@suse.cz>
2916
2917	* ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
2918	of optimized out static functions.
2919	(cgraph_edge_badness): Add DUMP parameter and dump reasons for the
2920	cost computation.  Also sanity check for overflows.
2921	(update_caller_keys): Update cgraph_edge_badness call; properly
2922	update fibheap and sanity check that it is up to date.
2923	(add_new_edges_to_heap): Update cgraph_edge_badness.
2924	(cgraph_decide_inlining_of_small_function): Likewise;
2925	add sanity checking that badness in heap is up to date;
2926	improve dumping of reason; Update badness of calls to the
2927	offline copy of function currently inlined; dump badness
2928	of functions not inlined because of unit growth limits.
2929
29302010-06-27  Richard Guenther  <rguenther@suse.de>
2931
2932	PR tree-optimization/44683
2933	* tree-ssa-dom.c (record_edge_info): Record equivalences for the
2934	false edge from the inverted condition.
2935
29362010-06-27  Eric Botcazou  <ebotcazou@adacore.com>
2937
2938	Backport from mainline
2939	2010-05-18  Vladimir Makarov  <vmakarov@redhat.com>
2940
2941	PR rtl-optimization/43332
2942	* haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
2943
29442010-06-27  Richard Guenther  <rguenther@suse.de>
2945
2946	PR middle-end/44684
2947	* tree-ssa-alias.c (refs_may_alias_p_1): Allow SSA name refs.
2948	(stmt_may_clobber_ref_p_1): Do not bother to call the oracle
2949	for register LHS.  Or non-store assignments.
2950
29512010-06-26  Richard Guenther  <rguenther@suse.de>
2952
2953	PR tree-optimization/44393
2954	* tree-loop-distribution.c (generate_loops_for_partition): Fix
2955	stmt removal and VOP renaming.
2956	(generate_memset_zero): Remove redundant stmt updating.
2957	* tree-flow.h (mark_virtual_ops_in_bb): Remove.
2958	* tree-cfg.c (mark_virtual_ops_in_bb): Likewise.
2959
29602010-06-26  Richard Guenther  <rguenther@suse.de>
2961
2962	PR middle-end/44674
2963	* tree-ssa-alias.c (refs_may_alias_p_1): Allow all kind of
2964	decls.  Handle LABEL_DECLs like FUNCTION_DECLs.
2965
29662010-06-25  Alexandre Oliva  <aoliva@redhat.com>
2967
2968	PR debug/44610
2969	* simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base
2970	address if the offset is unknown.
2971
29722010-06-25  Richard Guenther  <rguenther@suse.de>
2973
2974	Backport from mainline
2975	2010-06-16  Richard Guenther  <rguenther@suse.de>
2976
2977	PR c/44555
2978	* c-common.c (c_common_truthvalue_conversion): Remove
2979	premature and wrong optimization concering ADDR_EXPRs.
2980
29812010-06-24  Steven Bosscher  <steven@gcc.gnu.org>
2982
2983	Backport from mainline:
2984	2010-05-18  Steven Bosscher  <steven@gcc.gnu.org>
2985
2986	* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
2987	lto-macho as lto_binary_reader.
2988	* target.h (struct gcc_target): New hooks lto_start and	lto_end.
2989	* target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
2990	* cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
2991	in lto_start and lto_end calls.
2992	(is_elf_or_coff): Rename to maybe_lto_object_file.  Add Mach-O
2993	magic numbers.
2994	(scan_prog_file): Update is_elf_or_coff call.
2995	* doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
2996
2997	* collect2.c (main): Fix enum comparison.
2998
2999	* config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
3000	Add prototypes.
3001	* darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
3002	* darwin.h (LINK_COMMAND_SPEC): Likewise.  Define TARGET_ASM_LTO_START
3003	and TARGET_ASM_LTO_END.
3004	* darwin.c: Include obstack.h and lto-streamer.h.
3005	(lto_section_names_offset, lto_section_names_obstack,
3006	lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
3007	global variables.
3008	(LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
3009	(darwin_asm_lto_start): New function.  Redirect output to asm_out_file
3010	to a temporary file.
3011	(darwin_asm_lto_end): New function.  Restore asm_out_file.
3012	(darwin_asm_named_section): For LTO sections, replace the name with
3013	the offset of the section name in a string table, and build this
3014	table.
3015	(darwin_file_start): Initialize global vars for LTO support.
3016	(darwin_file_end): If output to asm_out_file was redirected, append it
3017	to the proper asm_out_file here.  Add the section names section.
3018
3019	Backport from mainline:
3020	2010-05-18  Steven Bosscher  <steven@gcc.gnu.org>
3021
3022	* darwin.c (darwin_asm_named_section): Do not add assembler comment
3023	after .section directive; just print it before the directive
3024	instead.
3025
30262010-06-22  Eric Botcazou  <ebotcazou@adacore.com>
3027
3028	* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Chain the
3029	new statement and adjust VDEF only if necessary.  Remove superfluous
3030	call to maybe_clean_or_replace_eh_stmt.
3031	* gimple.c (gimple_call_copy_skip_args): Use gimple_call_copy_flags to
3032	copy the flags.
3033	* gimple-iterator.c (gsi_replace): Clear BB of old statement here...
3034	* tree-inline.c (copy_bb): ...and not there.
3035
30362010-06-22  H.J. Lu  <hongjiu.lu@intel.com>
3037
3038	Backport from mainline
3039	2010-06-22  H.J. Lu  <hongjiu.lu@intel.com>
3040
3041	* config/i386/i386.md (unit): Also check sseishft1.
3042
30432010-06-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3044
3045	PR target/39690
3046	* config/pa/pa.c (override_options): Disable
3047	-freorder-blocks-and-partition.
3048
30492010-06-21  H.J. Lu  <hongjiu.lu@intel.com>
3050
3051	Backport from mainline
3052	2010-06-21  H.J. Lu  <hongjiu.lu@intel.com>
3053
3054	PR target/44615
3055	* config/i386/atom.md (atom_sseishft_2): Also check sseishft1.
3056
3057	* config/i386/i386.md (type): Add sseishft1
3058
3059	* config/i386/ppro_insn (ppro_insn): Also check sseishft1.
3060	(ppro_insn_load): Likewise.
3061	(ppro_insn_store): Likewise.
3062	(ppro_insn_both): Likewise.
3063
3064	* config/i386/sse.md (sse2_lshrv1ti3): Add atom_unit.
3065	(*vec_extractv2di_1_rex64_avx): Replace sseishft with sseishft1
3066	for type.
3067	(*vec_extractv2di_1_avx): Likewise.
3068	(*vec_extractv2di_1_rex64): Replace sseishft with sseishft1 for
3069	type.  Remove atom_unit.
3070	(*vec_extractv2di_1_sse2): Likewise.
3071
30722010-06-21  Jakub Jelinek  <jakub@redhat.com>
3073
3074	PR bootstrap/44426
3075	* sel-sched-dump.h (sel_prepare_string_for_dot_label): Remove
3076	prototype.
3077	(sel_print_to_dot): Remove macro.
3078	(sel_print): Likewise.  New prototype.
3079	* sel-sched-dump.c (sel_prepare_string_for_dot_label): Make static.
3080	(sel_print): New function.
3081
30822010-06-21  Uros Bizjak  <ubizjak@gmail.com>
3083
3084	PR target/44546
3085	* config/i386/predicates.md (ix86_swapped_fp_comparsion_operator):
3086	New predicate.
3087	* config/i386/i386.md (*fp_jcc_8<mode>_387 and splitters): Use
3088	ix86_swapped_fp_comparsion_operator instead of
3089	ix86_fp_comparison_operator.
3090
3091	(*fp_jcc_1_387): Rename from *fp_jcc_3_387.
3092	(*fp_jcc_1r_387): Rename from *fp_jcc_4_387.
3093	(*fp_jcc_2_387): Rename from *fp_jcc_5_387.
3094	(*fp_jcc_2r_387): Rename from *fp_jcc_6_387.
3095	(*fp_jcc_3_387): Rename from *fp_jcc_7_387.
3096	(*fp_jcc_4_<mode>_387): Rename from *fp_jcc_8<mode>_387.
3097
30982010-06-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3099
3100	Backport from mainline
3101	2010-05-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3102
3103	PR target/44261
3104	* config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
3105	(negdf2): Adjust expander pattern and use negdf2_slow.
3106	(negsf2): Likewise.
3107
31082010-06-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3109
3110	PR target/43740
3111	* config/pa/pa.c (emit_move_sequence): Don't infer REG_POINTER flag
3112	for SET source operand from SET destination operand.
3113
31142010-06-16  Martin Jambor  <mjambor@suse.cz>
3115
3116	PR lto/44464
3117	* tree-sra.c (replace_removed_params_ssa_names): Call release_ssa_name
3118	on the newly dead SSA name.
3119
31202010-06-15  Eric Botcazou  <ebotcazou@adacore.com>
3121
3122	Backport from mainline
3123	2010-06-09  Eric Botcazou  <ebotcazou@adacore.com>
3124
3125	PR rtl-optimization/42461
3126	* dce.c (deletable_insn_p): Return true for const or pure calls again.
3127	* except.c (insn_could_throw_p): Return false if !flag_exceptions.
3128
31292010-06-15  Eric Botcazou  <ebotcazou@adacore.com>
3130
3131	Backport from mainline
3132	2010-06-11  Sandra Loosemore  <sandra@codesourcery.com>
3133
3134	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Return again the
3135	computed cost.
3136
31372010-06-15  Jakub Jelinek  <jakub@redhat.com>
3138
3139	PR fortran/44536
3140	* langhooks.h (struct lang_hooks_for_decls): Add omp_report_decl.
3141	* langhooks-def.h (LANG_HOOKS_OMP_REPORT_DECL): Define.
3142	(LANG_HOOKS_DECLS): Add it.
3143	* gimplify.c (omp_notice_variable): Call
3144	lang_hooks.decls.omp_report_decl.
3145
31462010-06-15  Martin Jambor  <mjambor@suse.cz>
3147
3148	PR tree-optimization/44258
3149	* tree-sra.c (build_access_subtree): Return false iff there is a
3150	partial overlap.
3151	(build_access_trees): Likewise.
3152	(analyze_all_variable_accesses): Disqualify candidates if
3153	build_access_trees returns true for them.
3154
31552010-06-15  Martin Jambor  <mjambor@suse.cz>
3156
3157	PR tree-optimization/44423
3158	* tree-sra.c (dump_access): Dump also grp_assignment_read.
3159	(analyze_access_subtree): Pass negative allow_replacements to children
3160	if the current type is scalar.
3161
31622010-06-14  Andreas Schwab  <schwab@linux-m68k.org>
3163
3164	Backport from mainline
3165	* config/m68k/m68k.c (m68k_delegitimize_address): Don't do
3166	anything if the argument is not a MEM.
3167
31682010-06-14  H.J. Lu  <hongjiu.lu@intel.com>
3169
3170	Backport from mainline
3171	2010-06-14  H.J. Lu  <hongjiu.lu@intel.com>
3172
3173	PR target/44534
3174	* config/i386/sse.md (vec_extract_lo_<mode>): Replace 0x1 with 0x0.
3175	(vec_extract_lo_v16hi): Likewise.
3176	(vec_extract_lo_v32qi): Likewise.
3177
31782010-06-14  Jakub Jelinek  <jakub@redhat.com>
3179
3180	PR bootstrap/44426
3181	* tree.h (build_call_expr): Don't define as vararg macro, instead
3182	add a prototype.
3183	* builtins.c (build_call_nofold): Remove.
3184	(expand_builtin_int_roundingfn, expand_builtin_pow,
3185	expand_builtin_mempcpy_args, expand_builtin_stpcpy,
3186	expand_builtin_memset_args, expand_builtin_strcmp,
3187	expand_builtin_strncmp, expand_builtin_memory_chk): Use
3188	build_call_nofold_loc instead of build_call_nofold.
3189	(build_call_expr): New function.
3190
3191	PR tree-optimization/44508
3192	* tree-ssa-propagate.h (substitute_and_fold): Add DO_DCE argument.
3193	* tree-ssa-propagate.c (substitute_and_fold): If !DO_DCE,
3194	don't eliminate trivially dead stmts.
3195	* tree-vrp.c (vrp_finalize): Pass false as last argument
3196	to substitute_and_fold.
3197	* tree-ssa-copy.c (fini_copy_prop): Pass true as last argument
3198	to substitute_and_fold.
3199	* tree-ssa-ccp.c (ccp_finalize): Likewise.
3200
32012010-06-14  Ira Rosen  <irar@il.ibm.com>
3202
3203	PR tree-optimization/44507
3204	* tree-vect-loop.c (get_initial_def_for_reduction): Use -1
3205	to build initial vector for BIT_AND_EXPR.
3206
32072010-06-14  Dave Korn  <dave.korn.cygwin@gmail.com>
3208
3209	Backport from mainline:
3210	2010-04-27  Dave Korn  <dave.korn.cygwin@gmail.com>
3211
3212	PR lto/42776
3213	* configure.ac (gcc_cv_as_section_has_align): Set if installed
3214	binutils supports extended .section directive needed by LTO, or
3215	warn if older binutils found.
3216	(LTO_BINARY_READER): New AC_SUBST'd variable.
3217	(LTO_USE_LIBELF): Likewise.
3218	* config.gcc (lto_binary_reader): New target-specific configure
3219	variable.
3220	* Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
3221	(LTO_USE_LIBELF): Likewise.
3222	* configure: Regenerate.
3223	* collect2.c (is_elf): Rename from this ...
3224	(is_elf_or_coff): ... to this, and recognize and allow i386 COFF
3225	 object files in addition to ELF-formatted ones.
3226	(scan_prog_file): Caller updated.  Also allow for LTO info marker
3227	symbol to be prefixed or not by an extra underscore.
3228	* config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
3229	* config/i386/winnt.c: Also #include lto-streamer.h
3230	(i386_pe_asm_named_section): Specify 1-byte section alignment for
3231	LTO named sections.
3232	(i386_pe_asm_output_aligned_decl_common): Add comment.
3233	(i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
3234
32352010-06-12  Uros Bizjak  <ubizjak@gmail.com>
3236
3237	PR target/44481
3238	* config/i386/i386.md (UNSPEC_PARITY): New unspec.
3239	(paritydi2_cmp): Use UNSPEC_PARITY unspec insted of parity RTX.
3240	(partiysi2_cmp): Ditto.
3241	(*partiyhi2_cmp): Ditto.
3242	(*parityqi2_cmp): Remove.
3243
32442010-06-10  Alexandre Oliva  <aoliva@redhat.com>
3245
3246	PR debug/41371
3247	* var-tracking.c (find_loc_in_1pdv): Remove recursion, only
3248	tail-recurse into canonical node.  Fast-forward over
3249	non-canonical VALUEs.
3250
32512010-06-10  Jan Beulich  <jbeulich@novell.com>
3252
3253	PR bootstrap/37304
3254	* configure.ac: Replace $() with ${} when intending to expand
3255	variables rather than invoking commands.
3256	* configure: Re-generate.
3257
32582010-06-09  Dave Korn  <dave.korn.cygwin@gmail.com>
3259
3260	* opts-common.c (prune_options): Ensure replacement argv array
3261	is correctly terminated by a NULL entry.
3262
32632010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
3264
3265	Backport from mainline:
3266	2010-04-28  Mike Stump  <mikestump@comcast.net>
3267	* config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for
3268	now.
3269
32702010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
3271
3272	Backport from mainline:
3273	2010-05-28  Iain Sandoe  <iains@gcc.gnu.org>
3274	* config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
3275
32762010-06-09  Edmar Wienskoski  <edmar@freescale.com>
3277
3278	PR target/44067
3279	* config/rs6000/rs6000.md (DIFD): Do not split dpfp values for
3280	e500v2 target.
3281
32822010-06-08  Uros Bizjak  <ubizjak@gmail.com>
3283
3284	* config/i386/i386.md (*movsi_1) <TYPE_LEA>: Use %a modifier
3285	to output operand 1.
3286	(ashift_zext lea splitter): Use DImode for multiplication.
3287
3288	* config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add
3289	to generate addition.
3290
32912010-06-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3292
3293	* doc/sourcebuild.texi (Effective-Target Keywords, Other
3294	attributes): Document gas.
3295
32962010-06-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3297
3298	Backport from mainline:
3299	2010-06-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3300
3301	* configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
3302	linker emulations.
3303	* configure: Regenerate.
3304	* config.in: Regenerate.
3305
3306	* config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define.
3307	(X86_64_EMULATION): Define.
3308	(TARGET_LD_EMULATION): Use them.
3309
3310	* config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define.
3311	(SPARC64_EMULATION): Define.
3312	(LINK_ARCH_SPEC): Use them.
3313
33142010-06-07  Kai Tietz  <kai.tietz@onevision.com>
3315
3316	Backport from mainline:
3317	* config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX
3318	argument for fprintf.
3319	(ix86_output_addr_diff_elt): Likewise.
3320	(x86_function_profiler): Likewise.
3321	* config/cygming.h (LOCAL_LABEL_PREFIX): Fix for x64 no-underscore.
3322	(LPREFIX): Likewise.
3323	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
3324
33252010-06-04  Alexandre Oliva  <aoliva@redhat.com>
3326
3327	PR debug/41371
3328	* var-tracking.c (find_loc_in_1pdv): Mark initial value before
3329	recursing.  Check that recursion is bounded.  Rename inner var
3330	to avoid hiding incoming argument.
3331
33322010-06-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3333
3334	Backport from mainline:
3335	2010-04-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3336
3337	* configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
3338	* configure: Regenerate.
3339	* config.in: Regenerate.
3340	* doc/install.texi (Prerequisites): Document that Solaris 2 libelf
3341	works.
3342
3343	2010-04-19  Richard Guenther  <rguenther@suse.de>
3344
3345	* configure.ac: Fix quoting around elf_getshstrndx ABI check.
3346	* configure: Re-generated.
3347
33482010-06-04  Uros Bizjak  <ubizjak@gmail.com>
3349
3350	* config/i386/i386.md (*addqi_4): Check for incdec_operand in QImode.
3351
33522010-06-04  Richard Guenther  <rguenther@suse.de>
3353
3354	Backport from mainline:
3355	2010-05-25  Jakub Jelinek  <jakub@redhat.com>
3356
3357	PR debug/41371
3358	* var-tracking.c (find_loc_in_1pdv): Guard asserts with
3359	ENABLE_CHECKING.
3360	(intersect_loc_chains): Walk the s2var's loc_chain together
3361	with s1node chain as long as the locations are equal, don't
3362	call find_loc_in_1pdv in that case.
3363
3364	2010-05-18  Jakub Jelinek  <jakub@redhat.com>
3365
3366	PR debug/41371
3367	* var-tracking.c (find_loc_in_1pdv): Add a few checks from
3368	rtx_equal_p inline.
3369
33702010-06-04  Alan Modra  <amodra@gmail.com>
3371
3372	PR target/44075
3373	* gcc/config/rs6000/rs6000.c (struct machine_function): Reorder
3374	fields for better packing.  Add lr_save_state.
3375	(rs6000_ra_ever_killed): Return lr_save_state if set.
3376	(rs6000_emit_eh_reg_restore): Set lr_save_state.
3377
33782010-06-03  Richard Guenther  <rguenther@suse.de>
3379
3380	Backport from mainline:
3381	2010-05-10  Richard Guenther  <rguenther@suse.de>
3382
3383	* lto-symtab.c (lto_symtab_entry_marked_p): Make entry
3384	marked if the entry identifier is marked.
3385
33862010-06-03  Richard Guenther  <rguenther@suse.de>
3387
3388	Backport from mainline:
3389	2010-05-16  Richard Guenther  <rguenther@suse.de>
3390
3391	* var-tracking.c (vars_copy_1): Inline ...
3392	(vars_copy): ... here.  Use FOR_EACH_HTAB_ELEMENT.
3393	(variable_union): Use FOR_EACH_HTAB_ELEMENT.  Merge asserts.
3394	(variable_merge_over_cur): Adjust.  Merge asserts.
3395	(variable_merge_over_src): Likewise.
3396	(dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
3397	(variable_post_merge_new_vals): Merge asserts.
3398	(variable_post_merge_perm_vals): Likewise.
3399	(find_mem_expr_in_1pdv): Likewise.
3400	(dataflow_set_different_value): Remove.
3401	(onepart_variable_different_p): Merge asserts.
3402	(variable_different_p): Likewise.
3403	(dataflow_set_different_1): Inline ...
3404	(dataflow_set_different): ... here.  Use FOR_EACH_HTAB_ELEMENT.
3405	(emit_notes_for_differences_1): Merge asserts.
3406
34072010-06-03  Jan Hubicka  <jh@suse.cz>
3408	    Jakub Jelinek  <jakub@redhat.com>
3409
3410	* var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if
3411	set->regs[i] is NULL or has just one entry.
3412
34132010-06-03  Alan Modra  <amodra@gmail.com>
3414
3415	PR target/44169
3416	* config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Add label operand.
3417	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Pass label
3418	rtx to gen_load_toc_v4_PIC_1b.  Tidy.
3419	(rs6000_emit_load_toc_table): Likewise.
3420
34212010-06-02  Richard Guenther  <rguenther@suse.de>
3422
3423	* lto-streamer-in.c (input_gimple_stmt): Fix typo.
3424
34252010-06-02  Richard Guenther  <rguenther@suse.de>
3426
3427	Backport from mainline:
3428	2010-05-27  Jan Hubicka  <jh@suse.cz>
3429
3430	* sched-ebb.c: Rename struct deps to struct deps_desc.
3431	* ddg.c: Likewise.
3432	* sel-sched-ir.c: Likewise.
3433	* sched-deps.c: Likewise.
3434	* sched-int.h: Likewise.
3435	* sched-rgn.c: Likewise.
3436
34372010-06-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3438
3439	* config/s390/2097.md (z10_fhex): Remove insn reservation.
3440	* config/s390/s390.md (UNSPEC_COPYSIGN): Remove unused constant.
3441	(*mov<mode>_64 TD_TF, *mov<mode>_31 TD_TF, *mov<mode>_64dfp DD_DF,
3442	*mov<mode>_64 DD_DF, *mov<mode>_31, mov<mode>): Remove load zero
3443	instruction.
3444	* config/s390/s390.c: Don't accept fp zeros as valid constants
3445	anymore.
3446
34472010-05-31  Jakub Jelinek  <jakub@redhat.com>
3448
3449	PR target/44338
3450	* config/i386/sse.md (fma4i_fmadd<mode>4256, fma4i_fmsub<mode>4256,
3451	fma4i_fnmadd<mode>4256, fma4i_fnmsub<mode>4256, fma4i_fmadd<mode>4,
3452	fma4i_fmsub<mode>4, fma4i_fnmadd<mode>4, fma4i_fnmsub<mode>4,
3453	fma4i_vmfmadd<mode>4, fma4i_vmfmsub<mode>4, fma4i_vmfnmadd<mode>4,
3454	fma4i_vmfnmsub<mode>4, fma4i_fmaddsubv8sf4, fma4i_fmaddsubv4df4,
3455	fma4i_fmaddsubv4sf4, fma4i_fmaddsubv2df4, fma4i_fmsubaddv8sf4,
3456	fma4i_fmsubaddv4df4, fma4i_fmsubaddv4sf4, fma4i_fmsubaddv2df4):
3457	Guard only with TARGET_FMA4 instead of TARGET_FMA4 &&
3458	TARGET_FUSED_MADD.
3459
3460	PR middle-end/44337
3461	* expr.c (expand_assignment): Don't store anything for out-of-bounds
3462	array accesses with non-MEM.
3463
3464	PR tree-optimization/44182
3465	* tree-inline.c (copy_edges_for_bb): Don't split bb if a stmt that
3466	newly needs to end a bb is followed by debug stmts, instead return
3467	true from the function at the end.
3468	(maybe_move_debug_stmts_to_successors): New function.
3469	(copy_cfg_body): Call it if copy_edges_for_bb returned true.
3470
34712010-05-31  Kai Tietz  <kai.tietz@onevision.com>
3472
3473	Merged from trunk
3474	PR target/44161
3475	* config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
3476	flag_pic.
3477
34782010-05-28  Richard Guenther  <rguenther@suse.de>
3479
3480	PR lto/44312
3481	* lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
3482	Stream fixed-point constants mode.
3483	(unpack_ts_type_value_fields): Fix width of TYPE_MODE
3484	and TYPE_PRECISION.
3485	* lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
3486	Stream fixed-point constants mode.
3487	(pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
3488	and TYPE_PRECISION.
3489
34902010-05-28  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3491
3492	* config/s390/s390.md (movqi): Fix typo ('*' -> '#').
3493
34942010-05-28  Jakub Jelinek  <jakub@redhat.com>
3495
3496	PR target/43636
3497	* builtins.c (expand_movstr): Use a temporary pseudo instead
3498	of target even when target is not NULL and not const0_rtx, but
3499	fails movstr predicate.
3500	* config/m32c/blkmov.md (movstr): Add predicate to first operand.
3501
35022010-05-27  Jon Beniston  <jon@beniston.com>
3503
3504	PR 43726
3505	* config/lm32/lm32.h: Remove definition of
3506	GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
3507
35082010-05-26  Richard Guenther  <rguenther@suse.de>
3509
3510	PR rtl-optimization/44164
3511	* tree-ssa-alias.c (aliasing_component_refs_p): Fix the
3512	no-common access-path disambiguation.
3513	(indirect_ref_may_alias_decl_p): Adjust.
3514	(indirect_refs_may_alias_p): Likewise.
3515	(refs_may_alias_p_1): Likewise.
3516
35172010-05-26  Richard Guenther  <rguenther@suse.de>
3518
3519	PR middle-end/44069
3520	* tree-ssa-ccp.c (maybe_fold_stmt_addition): Avoid generating
3521	out-of-bounds array accesses.
3522
35232010-05-26  Richard Guenther  <rguenther@suse.de>
3524
3525	Backport from mainline:
3526	2010-04-15  Richard Guenther  <rguenther@suse.de>
3527
3528	* alias.c (alias_set_subset_of): Handle alias-set zero
3529	child properly.
3530
35312010-05-26  Jakub Jelinek  <jakub@redhat.com>
3532
3533	PR target/44199
3534	* config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
3535	or total_size is larger than red zone size for non-V4 ABI, emit a
3536	stack_tie resp. frame_tie insn before stack pointer restore.
3537	* config/rs6000/rs6000.md (frame_tie): New insn.
3538
35392010-05-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3540
3541	* configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
3542	stderr to /dev/null instead of grep -q.
3543	* configure: Regenerate.
3544
35452010-05-25  Richard Guenther  <rguenther@suse.de>
3546
3547	* gimple.c (gimple_types_compatible_p): Check type qualifications
3548	before merging pointer to complete and pointer to incomplete type.
3549	* lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
3550	we use our own resolution algorithm.  The gold linker plugin
3551	doesn't do the job we want it to do here.
3552
35532010-05-24  Richard Guenther  <rguenther@suse.de>
3554
3555	PR lto/44196
3556	* tree.c (find_decls_types_r): Walk BLOCKs and its vars.
3557
35582010-05-24  Uros Bizjak  <ubizjak@gmail.com>
3559
3560	Backport from mainline:
3561	2010-05-20  Uros Bizjak  <ubizjak@gmail.com>
3562
3563	PR target/43733
3564	* configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
3565	* configure: Regenerate.
3566	* config.in: Regenerate.
3567	* config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
3568	instead of sahf only for 64bit targets.
3569
35702010-05-24  H.J. Lu  <hongjiu.lu@intel.com>
3571
3572	Backport from mainline
3573	2010-05-24  H.J. Lu  <hongjiu.lu@intel.com>
3574
3575	* config/i386/ia32intrin.h (__crc32q): Define only if
3576	__SSE4_2__ is defined.
3577
35782010-05-23  H.J. Lu  <hongjiu.lu@intel.com>
3579
3580	Backport from mainline
3581	2010-05-23  H.J. Lu  <hongjiu.lu@intel.com>
3582
3583	PR target/44245
3584	* config/i386/i386.c (def_builtin): Properly check
3585	OPTION_MASK_ISA_64BIT.
3586
35872010-05-23  Maarten Lankhorst  <mlankhorst@codeweavers.com>
3588
3589	Merged from trunk
3590	PR target/43869
3591	* config/i386/i386.c: Make sure that the correct regparm is passed.
3592
35932010-05-21  Jakub Jelinek  <jakub@redhat.com>
3594
3595	PR debug/44223
3596	* haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
3597	unchain each use from the cyclic next_regno_use chain first.
3598
35992010-05-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3600
3601	* config/s390/s390.c (override_options): Increase the default
3602	of max-completely-peel-times.
3603
36042010-05-21  Richard Guenther  <rguenther@suse.de>
3605
3606	PR tree-optimization/44038
3607	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
3608	taking the address of a V_C_E of a constant.
3609
36102010-05-21  Richard Guenther  <rguenther@suse.de>
3611
3612	PR tree-optimization/43949
3613	* tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigend types.
3614	(extract_range_from_binary_expr): Handle TRUNC_MOD_EXPR.
3615
36162010-05-21  Jakub Jelinek  <jakub@redhat.com>
3617
3618	PR debug/44205
3619	* tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
3620	at -O0 goto_locus of any of the incoming edges differs from
3621	goto_locus of outgoing edge, or gimple_location of any of the
3622	labels differs.
3623
36242010-05-20  Jakub Jelinek  <jakub@redhat.com>
3625
3626	PR debug/44178
3627	* haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
3628	setup_ref_regs for DEBUG_INSNs.
3629
36302010-05-19  Kenneth Zadeck  <zadeck@naturalbridge.com>
3631
3632	PR bootstrap/43870
3633	* df-scan.c (df_ref_compare): Stabilize sort.
3634
36352010-05-20  Hans-Peter Nilsson  <hp@axis.com>
3636
3637	PR target/44202
3638	* config/cris/cris.md ("*addsi3_v32"): Correct "cc"
3639	settings for 16-bit-constant "addo" alternative.
3640
36412010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3642
3643	Backport from mainline:
3644	2010-05-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3645
3646	PR target/44074
3647	* configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
3648	* configure: Regenerate.
3649	* config.in: Regenerate.
3650	* config/i386/i386.c (print_operand) <case ;>: Also print ; if
3651	!HAVE_AS_IX86_REP_LOCK_PREFIX.
3652	Don't emit whitespace.
3653	* config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
3654	(*rep_movsi): Likewise.
3655	(*rep_movsi_rex64): Likewise.
3656	(*rep_movqi): Likewise.
3657	(*rep_movqi_rex64): Likewise.
3658	(*rep_stosdi_rex64): Likewise.
3659	(*rep_stossi): Likewise.
3660	(*rep_stossi_rex64): Likewise.
3661	(*rep_stosqi): Likewise.
3662	(*rep_stosqi_rex64): Likewise.
3663	(*cmpstrnqi_nz_1): Use {%;} after repz.
3664	(*cmpstrnqi_nz_rex_1): Likewise.
3665	(*cmpstrnqi_1): Likewise.
3666	(*cmpstrnqi_rex_1): Likewise.
3667	(*strlenqi_1): Use {%;} after repnz.
3668	(*strlenqi_rex_1): Likewise.
3669	* config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
3670	(*sync_compare_and_swap<mode>): Likewise.
3671	(sync_double_compare_and_swap<mode>): Likewise.
3672	(*sync_double_compare_and_swapdi_pic): Likewise.
3673	(sync_old_add<mode>): Likewise.
3674	(sync_add<mode>): Likewise.
3675	(sync_sub<mode>): Likewise.
3676	(sync_<code><mode>): Likewise.
3677
36782010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3679
3680	* doc/sourcebuild.texi (Effective-Target Keywords): Document
3681	3dnow, sse3, sse2.
3682	(Directives): Document optional	dg-require-effective-target
3683	selector.
3684
36852010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3686
3687	* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
3688	pentiumpro on Solaris 8/x86 with Sun as.
3689	* configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
3690	hidden alias bug.
3691	(gcc_cv_as_ix86_quad): Check for .quad directive.
3692	* configure: Regenerate.
3693	* config.in: Regenerate.
3694	* config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
3695
36962010-05-19  Richard Guenther  <rguenther@suse.de>
3697
3698	PR tree-optimization/43987
3699	* tree-ssa-structalias.c (could_have_pointers): For possibly
3700	address-taken variables force pointers to be recorded.
3701	(create_variable_info_for_1): Likewise.
3702	(push_fields_onto_fieldstack): Pass in wheter all fields
3703	must have pointers.
3704	(find_func_aliases): Query types instead of vars whether
3705	they contain pointers where appropriate.
3706
37072010-05-19  Richard Guenther  <rguenther@suse.de>
3708
3709	Backport from mainline:
3710	2010-04-26  Richard Guenther  <rguenther@suse.de>
3711
3712	PR lto/43455
3713	* tree-inline.c (tree_can_inline_p): Also check compatibility
3714	of return types.
3715
3716	2010-04-23  Richard Guenther  <rguenther@suse.de>
3717
3718	PR lto/42653
3719	* tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
3720	of FUNCTION_DECLs.
3721
3722	2010-04-26  Richard Guenther  <rguenther@suse.de>
3723
3724	PR lto/42425
3725	* tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
3726	if emitting debug information and it is either a function
3727	or a namespace decl.
3728
3729	2010-04-26  Richard Guenther  <rguenther@suse.de>
3730
3731	PR lto/43080
3732	* gimple.c (gimple_decl_printable_name): Deal gracefully
3733	with a NULL DECL_NAME.
3734
3735	2010-04-30  Richard Guenther  <rguenther@suse.de>
3736
3737	PR lto/43946
3738	* passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
3739	first after all lowering passes.
3740
37412010-05-18  Steven Bosscher  <steven@gcc.gnu.org>
3742
3743	PR lto/44184
3744	* lto-streamer-out.c (output_gimple_stmt): Output number of labels
3745	in a GIMPLE_ASM.
3746	* lto-streamer-in.c (input_gimple_stmt): Read number of labels
3747	in a GIMPLE_ASM.
3748
37492010-05-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3750
3751	* config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
3752
37532010-05-17  Jakub Jelinek  <jakub@redhat.com>
3754
3755	PR bootstrap/42347
3756	* cfglayout.c (fixup_reorder_chain): Allow returnjump_p
3757	to have no fallthru edge.
3758
3759	PR middle-end/44102
3760	* cfgcleanup.c (try_optimize_cfg): When removing trivially empty
3761	bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
3762	mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
3763	add BARRIER after previous bb if needed.
3764
37652010-05-17  Alan Modra  <amodra@gmail.com>
3766
3767	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
3768	unnecessary prototype.  Replace copy_r12 and copy_r11 flag params
3769	with copy_reg rtx param.
3770	(rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
3771	Correct cases where code for ABI_V4 did not initialise the reg
3772	used to access frame.  Also leave frame_reg_rtx as sp for large
3773	frames that save no regs.
3774
37752010-05-17  Eric Botcazou  <ebotcazou@adacore.com>
3776
3777	Backport from mainline
3778	2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
3779
3780	* opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
3781	(decode_options): Likewise.
3782	* Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
3783
37842010-05-14  Jason Merrill  <jason@redhat.com>
3785
3786	PR c++/44127
3787	* gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
3788	(gimple_call_set_nothrow): New.
3789	* gimple.c (gimple_build_call_from_tree): Call it.
3790	(gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
3791
3792	PR c++/44127
3793	* gimplify.c (gimplify_seq_add_stmt): No longer static.
3794	* gimple.h: Declare it.
3795	* gimple.c (gimple_build_eh_filter): No ops.
3796
37972010-05-14  Jakub Jelinek  <jakub@redhat.com>
3798
3799	PR debug/44136
3800	* cfgexpand.c (expand_debug_expr): If non-memory op0
3801	has BLKmode, return NULL.
3802
38032010-05-14  H.J. Lu  <hongjiu.lu@intel.com>
3804
3805	Backport from mainline
3806	2010-05-12  H.J. Lu  <hongjiu.lu@intel.com>
3807
3808	PR target/44088
3809	* config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
3810
38112010-05-14  Richard Guenther  <rguenther@suse.de>
3812
3813	PR tree-optimization/44124
3814	* tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
3815
38162010-05-13  Jason Merrill  <jason@redhat.com>
3817
3818	* gimplify.c (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the
3819	rhs didn't change.
3820
3821	PR c++/43787
3822	* gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
3823	returns GS_OK.
3824	(gimplify_modify_expr_rhs): Return GS_OK if anything changed.
3825
38262010-05-12  Wolfgang Gellerich  <gellerich@de.ibm.com>
3827
3828	* config/s390/s390.c (override_options): Adjust the z10 defaults
3829	for max-unroll-times, max-completely-peeled-insns
3830	and max-completely-peel-times.
3831
38322010-05-12  Jakub Jelinek  <jakub@redhat.com>
3833
3834	PR middle-end/44085
3835	* gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
3836	change value of ORT_TASK.
3837	(new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
3838	(omp_notice_threadprivate_variable): New function.
3839	(omp_notice_variable): Call it for threadprivate variables.
3840	If enclosing ctx is a task, print enclosing task rather than
3841	enclosing parallel.  Handle ORT_UNTIED_TASK like ORT_TASK.
3842	(gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
3843	if task has untied clause.
3844
38452010-05-11  Jakub Jelinek  <jakub@redhat.com>
3846
3847	PR middle-end/44071
3848	* cfglayout.c (fixup_reorder_chain): Allow asm goto to have
3849	no fallthru edge.
3850	* cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
3851	optimizing away empty bb with no successors, move over its
3852	footer chain to fallthru predecessor.
3853	* cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
3854	(rtl_split_edge): For asm goto call patch_jump_insn even if
3855	splitting fallthru edge.
3856
38572010-05-11  Martin Jambor  <mjambor@suse.cz>
3858
3859	PR middle-end/43812
3860	* ipa.c (dissolve_same_comdat_group_list): New function.
3861	(function_and_variable_visibility): Call
3862	dissolve_same_comdat_group_list when comdat group contains external or
3863	newly local nodes.
3864	* cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
3865	lists are circular and that they contain only DECL_ONE_ONLY nodes.
3866
38672010-05-10  Jakub Jelinek  <jakub@redhat.com>
3868
3869	PR debug/44028
3870	* haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
3871	clear also INSN_REG_USE_LIST.
3872
38732010-05-10  H.J. Lu  <hongjiu.lu@intel.com>
3874
3875	Backport from mainline
3876	2010-05-10  H.J. Lu  <hongjiu.lu@intel.com>
3877		    Vladimir Makarov  <vmakarov@redhat.com>
3878
3879	PR rtl-optimization/44012
3880	* ira-build.c (remove_unnecessary_allocnos): Nullify
3881	regno_allocno_map of the removed allocno.
3882
38832010-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3884
3885	* configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
3886	to /dev/null.
3887	* configure: Regenerate.
3888
38892010-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3890
3891	* config/sol2.c (solaris_assemble_visibility): Declare decl, vis
3892	unused.
3893	Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
3894	* configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
3895	support in Sun ld.
3896	* configure: Regenerate.
3897
38982010-05-09  H.J. Lu  <hongjiu.lu@intel.com>
3899
3900	Backport from mainline
3901	2010-05-09  H.J. Lu  <hongjiu.lu@intel.com>
3902
3903	PR target/44046
3904	* config/i386/driver-i386.c (host_detect_local_cpu): Properly
3905	detect Atom, Core 2 and Core i7.
3906
39072010-05-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3908
3909	PR documentation/44016
3910	* doc/standards.texi (Standards): Link to unversioned
3911	cxx0x_status.html page.
3912
39132010-05-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3914
3915	* config/mips/iris.h (LINK_SPEC): Don't pass -init, -fini with -r.
3916
39172010-05-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3918
3919	* config/mips/dbxmdebug.h: Remove.
3920	* config.gcc (mips-sgi-irix[56]*): Remove mips/dbxmdebug.h.
3921
39222010-05-05  Kaz Kojima  <kkojima@gcc.gnu.org>
3923
3924	Backport from mainline:
3925	2010-04-22  Kaz Kojima  <kkojima@gcc.gnu.org>
3926
3927	PR target/43744
3928	* config/sh/sh.c (find_barrier): Don't emit a constant pool
3929	in the middle of insns for casesi_worker_2.
3930
39312010-05-05  Jason Merrill  <jason@redhat.com>
3932
3933	PR debug/43370
3934	* c-common.c (handle_aligned_attribute): Respect
3935	ATTR_FLAG_TYPE_IN_PLACE.
3936
39372010-05-05  Richard Guenther  <rguenther@suse.de>
3938
3939	PR c++/43880
3940	* tree-inline.c (copy_bind_expr): Also copy bind expr vars
3941	value-exprs.
3942
39432010-05-04  H.J. Lu  <hongjiu.lu@intel.com>
3944
3945	Backport from mainline
3946	2010-05-04  H.J. Lu  <hongjiu.lu@intel.com>
3947
3948	PR middle-end/43671
3949	* alias.c (true_dependence): Handle the same VALUE in x and mem.
3950	(canon_true_dependence): Likewise.
3951	(write_dependence_p): Likewise.
3952
39532010-05-03  Jakub Jelinek  <jakub@redhat.com>
3954
3955	PR debug/43972
3956	* config/i386/i386.c (ix86_delegitimize_address): Make sure the
3957	result mode matches original rtl mode.
3958
39592010-05-02  Uros Bizjak  <ubizjak@gmail.com>
3960
3961	* config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
3962	when processing flag options.
3963
39642010-05-02  H.J. Lu  <hongjiu.lu@intel.com>
3965
3966	Backport from mainline
3967	2010-04-29  H.J. Lu  <hongjiu.lu@intel.com>
3968
3969	PR target/43921
3970	* config/i386/i386.c (get_some_local_dynamic_name): Replace
3971	INSN_P with NONDEBUG_INSN_P.
3972	(distance_non_agu_define): Likewise.
3973	(distance_agu_use): Likewise.
3974
39752010-04-30  Eric Botcazou  <ebotcazou@adacore.com>
3976
3977	* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
3978	the variable part of the offset as well.  Use highest_pow2_factor for
3979	all alignment checks.
3980
39812010-04-30  Jakub Jelinek  <jakub@redhat.com>
3982
3983	PR debug/43942
3984	* tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
3985
39862010-04-28  Uros Bizjak  <ubizjak@gmail.com>
3987
3988	* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
3989	type if available.
3990
39912010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
3992
3993	* lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
3994	record or union type with RECORD_OR_UNION_TYPE_P predicate.
3995	(lto_input_ts_type_tree_pointers): Likewise.
3996	* lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
3997	(lto_output_ts_type_tree_pointers): Likewise.
3998
39992010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
4000
4001	* lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
4002	hash_tree, eq_tree): New tree hash table.
4003	(lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
4004	[LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
4005	lto_orig_address_remove): Reimplement.
4006
40072010-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4008
4009	PR target/22224
4010	* config/alpha/osf.h (ASM_OUTPUT_LOCAL): Redefine.
4011
40122010-04-28  Martin Jambor  <mjambor@suse.cz>
4013
4014	PR tree-optimization/43846
4015	* tree-sra.c (struct access): New flag grp_assignment_read.
4016	(build_accesses_from_assign): Set grp_assignment_read.
4017	(sort_and_splice_var_accesses): Propagate grp_assignment_read.
4018	(enum mark_read_status): New type.
4019	(analyze_access_subtree): Propagate grp_assignment_read, create
4020	accesses also if both direct_read and root->grp_assignment_read.
4021
40222010-04-27  Kai Tietz  <kai.tietz@onevision.com>
4023
4024	Back-merged from trnnk.
4025	* collect2.c (TARGET_64BIT): Redefine to target's default.
4026	* tlink.c: Likewise.
4027	* config/i386/cygming.h (USER_LABEL_PREFIX): Define
4028	dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
4029	* config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
4030	for underscoring __USER_LABEL_PREFIX__.
4031	* config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
4032	(SUB_LINK_ENTRY32): New.
4033	(SUB_LINK_ENTRY64): New.
4034	(LINK_SPEC): Replace entry point spec by
4035	SUB_LINK_ENTRY.
4036	* config/i386/mingw32 (SUB_LINK_ENTRY32): New.
4037	(SUB_LINK_ENTRY64): New.
4038	(SUB_LINK_ENTRY): New.
4039	(LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
4040	(DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
4041	x64 target is choosen.
4042	* config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
4043	* configure: Regenerated.
4044	* configure.ac (leading-mingw64-underscores): Option added.
4045
40462010-04-27  Jakub Jelinek  <jakub@redhat.com>
4047
4048	* dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
4049	force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
4050	or DW_CFA_def_cfa_offset{,_sf}.
4051
4052	* unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
4053
40542010-04-27  Hans-Peter Nilsson  <hp@bitrange.com>
4055
4056	PR target/43889
4057	* config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
4058	Add missing earlyclobber for second alternative.
4059
40602010-04-26  Jakub Jelinek  <jakub@redhat.com>
4061
4062	PR c/43893
4063	* c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
4064
40652010-04-26  Jie Zhang  <jie@codesourcery.com>
4066
4067	PR tree-optimization/43833
4068	* tree-vrp.c (range_int_cst_p): New.
4069	(range_int_cst_singleton_p): New.
4070	(extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
4071	when both operands are constants.  Use range_int_cst_p in
4072	BIT_IOR_EXPR case.
4073
40742010-04-23  Martin Jambor  <mjambor@suse.cz>
4075
4076	PR middle-end/43835
4077	* tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
4078	function does not have type attributes.
4079
40802010-04-23  Richard Guenther  <rguenther@suse.de>
4081
4082	PR tree-optimization/43572
4083	* tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
4084
40852010-04-23  Richard Guenther  <rguenther@suse.de>
4086
4087	Backport from mainline
4088	2010-04-22  Richard Guenther  <rguenther@suse.de>
4089
4090	PR tree-optimization/43845
4091	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
4092	lookup the CALL_EXPR function and arguments.
4093
40942010-04-21  Jakub Jelinek  <jakub@redhat.com>
4095
4096	PR middle-end/43570
4097	* omp-low.c (scan_sharing_clauses): Don't scan_omp_op
4098	OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
4099	(lower_copyprivate_clauses): Use private var in outer
4100	context instead of original var.  Make sure the types
4101	are correct for VLAs.
4102
41032010-04-20  Richard Guenther  <rguenther@suse.de>
4104
4105	PR tree-optimization/43783
4106	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
4107	constant ARRAY_REF operands two and three if possible.
4108
41092010-04-20  Richard Guenther  <rguenther@suse.de>
4110
4111	PR tree-optimization/43796
4112	* tree-vrp.c (adjust_range_with_scev): Lookup init and step
4113	from SCEV in the lattice.
4114	(vrp_visit_phi_node): Dump change.
4115
41162010-04-20  Jakub Jelinek  <jakub@redhat.com>
4117
4118	PR middle-end/43337
4119	* tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
4120	with non-local decl doesn't need chain.
4121
41222010-04-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4123
4124	PR target/43635
4125	* config/s390/s390.c (s390_emit_call): Turn direct into indirect
4126	calls for -fpic -m31 if they have been sibcall optimized.
4127
41282010-04-19  DJ Delorie  <dj@redhat.com>
4129
4130	* cfgexpand.c (expand_debug_expr): Check for mismatched modes in
4131	POINTER_PLUS_EXPR and fix them.
4132
41332010-04-19  Jie Zhang  <jie@codesourcery.com>
4134
4135	PR target/43662
4136	* reginfo.c (reinit_regs): Set caller_save_initialized_p
4137	to false.
4138
41392010-04-19  Richard Guenther  <rguenther@suse.de>
4140
4141	PR tree-optimization/43572
4142	* tree-tailcall.c (find_tail_calls): Verify the tail call
4143	properly.
4144
41452010-04-19 Ira Rosen  <irar@il.ibm.com>
4146
4147	PR tree-optimization/43771
4148	* tree-vect-slp.c (vect_supported_load_permutation_p): Check that
4149	load permutation doesn't have gaps.
4150
41512010-04-18  Matthias Klose  <doko@ubuntu.com>
4152
4153	* gcc.c (main): Search for liblto_plugin.so with mode R_OK.
4154
41552010-04-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4156
4157	Backport from mainline:
4158	2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4159
4160	* configure.ac (plugin -rdynamic test): Log result.
4161	* configure: Regenerate.
4162	* config/sol2.h (LINK_SPEC): Handle -rdynamic.
4163	(RDYNAMIC_SPEC): Define.
4164	* config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
4165
41662010-04-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4167
4168	Backport from mainline:
4169	2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4170
4171	* config/sparc/sol2-gld.h: Remove SPARC reference.  Rename ...
4172	* config/sol2-gld.h: ... here.
4173	* config.gcc (sparc*-*-solaris2*): Reflect this.
4174	(i[34567]86-*-solaris2*): Use it.
4175
41762010-04-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4177
4178	Backport from mainline:
4179	2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4180
4181	* configure.ac: Determine Sun ld version numbers.
4182	(comdat_group): Restrict GNU ld version checks to gld.
4183	(comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
4184	(enable_comdat): Support --enable-comdat.
4185	* configure: Regenerate.
4186	* doc/install.texi (Configuration): Document --enable-comdat.
4187
41882010-04-01  Uros Bizjak  <ubizjak@gmail.com>
4189
4190	Backport from mainline:
4191	2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
4192
4193	* config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
4194	splitter condition.
4195	(*udivmod<mode>4): Ditto.
4196
4197	2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
4198
4199	* config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
4200	from insn template.
4201
42022010-04-15  Thomas Schwinge  <tschwinge@gnu.org>
4203
4204	Backport from mainline:
4205	2010-04-15  Thomas Schwinge  <tschwinge@gnu.org>
4206
4207	* config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
4208
42092010-04-15  Richard Guenther  <rguenther@suse.de>
4210
4211	PR tree-optimization/43627
4212	* tree-vrp.c (extract_range_from_unary_expr): Widenings
4213	of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
4214	not varying.
4215
42162010-04-14  Richard Guenther  <rguenther@suse.de>
4217
4218	* DEV-PHASE: Set back to prerelease.
4219	* BASE-VER: Bump to 4.5.1.
4220
42212010-04-14  Release Manager
4222
4223	* GCC 4.5.0 released.
4224
42252010-04-13  Michael Matz  <matz@suse.de>
4226
4227	PR middle-end/43730
4228	* builtins.c (expand_builtin_interclass_mathfn): Also create
4229	a register if the predicate doesn't match.
4230
42312010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4232
4233	* doc/contrib.texi (Contributors, Rainer Orth): Update.
4234
42352010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4236
4237	PR target/43643
4238	* config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
4239
42402010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4241
4242	* doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
4243	(Specific, *-*-solaris2*): Likewise.
4244	Don't prefer Sun as over GNU as.
4245
42462010-04-08  Richard Guenther  <rguenther@suse.de>
4247
4248	PR tree-optimization/43679
4249	* tree-ssa-pre.c (eliminate): Only propagate copies.
4250
42512010-04-08  Jakub Jelinek  <jakub@redhat.com>
4252
4253	PR debug/43670
4254	* cfgexpand.c (expand_debug_expr): If for non-NULL offset
4255	op0 is not a MEM, just return NULL instead of assertion
4256	failure.
4257	(discover_nonconstant_array_refs): Don't walk debug stmts.
4258
42592010-04-07  H.J. Lu  <hongjiu.lu@intel.com>
4260
4261	PR target/43668
4262	* config/i386/i386.c (setup_incoming_varargs_64): Align stack to
4263	16byte for FP register save area.
4264
42652010-04-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4266
4267	* doc/install.texi (Configuration): Move description of
4268	--enable-lto, --with-libelf*, --enable-gold from Java section to
4269	general section.
4270
4271	* doc/generic.texi (Working with declarations)
4272	(Function Properties, C and C++ Trees): Fix typos.
4273	* doc/sourcebuild.texi (Top Level): Likewise.
4274
42752010-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4276
4277	* config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to
4278	generic.
4279
42802010-04-06  Jakub Jelinek  <jakub@redhat.com>
4281
4282	PR target/43667
4283	* config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
4284	instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
4285	(ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
4286	MULTI_* defines for 4 argument vpermil2p* builtins.
4287
42882010-04-06  Joseph Myers  <joseph@codesourcery.com>
4289
4290	* doc/invoke.texi, doc/standards.texi: Refer to
4291	gcc-4.5/c99status.html.
4292
42932010-04-06  Jakub Jelinek  <jakub@redhat.com>
4294
4295	PR target/43638
4296	* config/i386/i386.c (print_operand): Remove 'e' and 'E' code
4297	handling.
4298
42992010-04-06  Richard Guenther  <rguenther@suse.de>
4300
4301	PR middle-end/43661
4302	* fold-const.c (fold_comparison): Handle X * 0 CMP 0.
4303
43042010-04-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4305
4306	* doc/invoke.texi (Optimize Options): Document that LTO
4307	won't remove object access purely due to incompatible
4308	declarations.
4309
43102010-04-04  Matthias Klose  <doko@ubuntu.com>
4311
4312	* graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
4313	Initialize variable.
4314
43152010-04-03  Richard Guenther  <rguenther@suse.de>
4316
4317	PR middle-end/42509
4318	* alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
4319	require a non-NULL MEM_OFFSET.
4320
43212010-04-02  Steven Bosscher  <steven@gcc.gnu.org>
4322
4323	* ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
4324	basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
4325	collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
4326	config/alpha/predicates.md, config/arm/arm.md,
4327	config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
4328	config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
4329	config/darwin9.h, config/darwin.c, config/darwin.h,
4330	config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
4331	config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
4332	config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
4333	config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
4334	config/mips/mips.md, config/mn10300/mn10300.c,
4335	config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
4336	config/rs6000/aix.h, config/rs6000/dfp.md,
4337	config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
4338	config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
4339	config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
4340	config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
4341	config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
4342	config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
4343	c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
4344	diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
4345	doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
4346	doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
4347	fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
4348	gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
4349	graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
4350	graphite-dependences.c, graphite-poly.c, graphite-poly.h,
4351	graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
4352	graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
4353	intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
4354	ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
4355	ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
4356	loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
4357	objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
4358	opt-functions.awk, opth-gen.awk, params.def, passes.c,
4359	postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
4360	rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
4361	store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
4362	tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
4363	tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
4364	tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
4365	tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
4366	tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
4367	tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
4368	tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
4369	tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
4370	tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
4371	tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
4372	unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
4373
43742010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4375
4376	PR other/43620
4377	* doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
4378	* aclocal.m4: Regenerate.
4379
43802010-04-02  Richard Guenther  <rguenther@suse.de>
4381
4382	PR tree-optimization/43629
4383	* tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
4384	if we have seen a constant value.
4385
43862010-04-02  Joseph Myers  <joseph@codesourcery.com>
4387
4388	* read-rtl.c (read_rtx_1): Give an error for EOF while looking for
4389	']'.
4390
43912010-04-02  Richard Earnshaw  <rearnsha@arm.com>
4392
4393	PR target/43469
4394	* arm.c (legitimize_tls_address): Adjust call to
4395	gen_tls_load_dot_plus_four.
4396	(arm_note_pic_base): New function.
4397	(arm_cannot_copy_insn_p): Use it.
4398	* thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
4399	constraint.
4400
44012010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4402
4403	PR bootstrap/43531
4404
4405	Revert:
4406	2009-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4407
4408	* Makefile.in ($(out_object_file)): Depend on
4409	gt-$(basename $(notdir $(out_file))).h.
4410
44112010-04-01  Ralf Corsépius  <ralf.corsepius@rtems.org>
4412
4413	* config.gcc (lm32-*-rtems*): Add t-lm32.
4414
44152010-04-01  Joel Sherrill  <joel.sherrill@oarcorp.com>
4416
4417	* config.gcc: Add lm32-*-rtems*.
4418	* config/lm32/rtems.h: New file.
4419
44202010-04-01  Dave Korn  <dave.korn.cygwin@gmail.com>
4421
4422	PR target/42609
4423	* config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
4424
44252010-04-01  Jakub Jelinek  <jakub@redhat.com>
4426
4427	* dwarf2out.c (output_compilation_unit_header): For
4428	-gdwarf-4 use version 4 instead of version 3.
4429	(output_line_info): For version 4 and above emit additional
4430	maximum ops per insn header field.
4431	(DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
4432
4433	* dwarf2out.c (is_c_family, is_java): Remove.
4434	(lower_bound_default): New function.
4435	(add_bound_info, gen_descr_array_type_die): Use it.
4436
44372010-04-01  Dodji Seketeli  <dodji@redhat.com>
4438
4439	PR debug/43325
4440	* dwarf2out.c (gen_variable_die): Allow debug info for variable
4441	re-declaration when it happens in a function.
4442
44432010-04-01  Aldy Hernandez  <aldyh@redhat.com>
4444
4445	* cgraph.c (cgraph_add_function_insertion_hook): Update comment.
4446	(cgraph_remove_function_insertion_hook): Same.
4447	(cgraph_call_function_insertion_hooks): Same.
4448
44492010-04-01  Richard Guenther  <rguenther@suse.de>
4450
4451	PR middle-end/43614
4452	* tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
4453	and TREE_THIS_VOLATILE.
4454	(copy_ref_info): Likewise.
4455	* tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
4456	* tree.c (build6_stat): Ignore side-effects of all but arg5
4457	for TARGET_MEM_REF.  Set TREE_THIS_VOLATILE from arg5 of
4458	TARGET_MEM_REF.
4459
44602010-04-01  Richard Guenther  <rguenther@suse.de>
4461
4462	PR tree-optimization/43607
4463	* ipa-type-escape.c (check_call): Do not access non-existing
4464	arguments.
4465
44662010-04-01  Richard Guenther  <rguenther@suse.de>
4467
4468	PR middle-end/43602
4469	Revert
4470	2010-03-30  Seongbae Park  <seongbae.park@gmail.com>
4471		    Jack Howarth  <howarth@bromo.med.uc.edu>
4472
4473	* tree-profile.c (tree_init_ic_make_global_vars): Make static
4474	variables TLS.
4475
44762010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4477
4478	* doc/install.texi (Prerequisites): Document libelf usability on
4479	IRIX 5/6 and Solaris 2.
4480	(Specific, i?86-*-solaris2.10): No 64-bit default configuration.
4481	Update GNU as, GNU ld requirements.
4482	(Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
4483	Document Sun Studio compiler download.
4484	Update and simplify as, ld recommendations.
4485	(Specific, *-*-solaris2.7): Note obsoletion, removal.
4486
44872010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4488
4489	* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
4490	with_tune_32 to pentium4.
4491
44922010-04-01  Uros Bizjak  <ubizjak@gmail.com>
4493
4494	* config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
4495
44962010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4497
4498	* doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
4499	obsoletion, removal.
4500	Update IDO URL.
4501	Document GNU as requirement.
4502	Update configure requirements.
4503	(Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion,
4504	removal.
4505	Recomment IRIX 6.5.18+.
4506	Document IDF/IDL requirement.
4507	Document GNU as requirement.
4508	Document GNU ld bootstrap failure.
4509	Remove freeware.sgi.com reference.
4510
45112010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4512
4513	* doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
4514	UNIX V4.0, V5.0 obsoletion, removal.
4515	Remove --with-gc=simple reference.
4516	Update VM requirements during bootstrap.
4517	Remove -oldas bootstrap description.
4518	Update binutils reference.
4519	Remove comparison failure note.
4520
45212010-03-31  Richard Guenther  <rguenther@suse.de>
4522	    Zdenek Dvorak  <ook@ucw.cz>
4523	    Sebastian Pop  <sebastian.pop@amd.com>
4524
4525	PR middle-end/43464
4526	* tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
4527	with multiple arguments.
4528	(execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
4529
45302010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
4531
4532	* graphite-dependences.c (print_pddr): Call print_pdr with an
4533	extra argument.
4534	* graphite-poly.c (debug_pdr): Add an extra argument for the
4535	verbosity level.
4536	(print_pdr): Same.
4537	(print_pbb_domain): Same.
4538	(print_pbb): Same.
4539	(print_scop_context): Same.
4540	(print_scop): Same.
4541	(print_cloog): Same.
4542	(debug_pbb_domain): Same.
4543	(debug_pbb): Same.
4544	(print_pdrs): Same.
4545	(debug_pdrs): Same.
4546	(debug_scop_context): Same.
4547	(debug_scop): Same.
4548	(debug_cloog): Same.
4549	(print_scop_params): Same.
4550	(debug_scop_params): Same.
4551	(print_iteration_domain): Same.
4552	(print_iteration_domains): Same.
4553	(debug_iteration_domain): Same.
4554	(debug_iteration_domains): Same.
4555	(print_scattering_function): Same.
4556	(print_scattering_functions): Same.
4557	(debug_scattering_function): Same.
4558	(debug_scattering_functions): Same.
4559	* graphite-poly.h (debug_pdr): Update declaration.
4560	(print_pdr): Same.
4561	(print_pbb_domain): Same.
4562	(print_pbb): Same.
4563	(print_scop_context): Same.
4564	(print_scop): Same.
4565	(print_cloog): Same.
4566	(debug_pbb_domain): Same.
4567	(debug_pbb): Same.
4568	(print_pdrs): Same.
4569	(debug_pdrs): Same.
4570	(debug_scop_context): Same.
4571	(debug_scop): Same.
4572	(debug_cloog): Same.
4573	(print_scop_params): Same.
4574	(debug_scop_params): Same.
4575	(print_iteration_domain): Same.
4576	(print_iteration_domains): Same.
4577	(debug_iteration_domain): Same.
4578	(debug_iteration_domains): Same.
4579	(print_scattering_function): Same.
4580	(print_scattering_functions): Same.
4581	(debug_scattering_function): Same.
4582	(debug_scattering_functions): Same.
4583
45842010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
4585
4586	* graphite-poly.c (print_scattering_function_1): New.
4587	(print_scattering_function): Call it.
4588	(print_scop_params): Remove spaces at the end of lines.
4589	(print_cloog): New.
4590	(debug_cloog): New.
4591	* graphite-poly.h (print_cloog): Declared.
4592	(debug_cloog): Declared.
4593
45942010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
4595
4596	* graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
4597	in loop->header.
4598	* tree-flow.h (canonicalize_loop_ivs): Updated declaration.
4599	* tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
4600	* tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
4601	to switch between adding the IV bump in loop->latch or in loop->header.
4602
46032010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
4604
4605	* graphite-poly.c (print_scattering_function): Pretty print following
4606	the scoplib format.
4607	(print_pdr): Same.
4608	(print_pbb_domain): Same.
4609	(dump_gbb_cases): Same.
4610	(dump_gbb_conditions): Same.
4611	(print_pdrs): Same.
4612	(print_pbb): Same.
4613	(print_scop_params): Same.
4614	(print_scop_context): Same.
4615	(print_scop): Same.
4616	(print_pbb_body): New.
4617	(lst_indent_to): New.
4618	(print_lst): Start new lines with a #.
4619	* graphite-poly.h (pbb_bb): New.
4620	(pbb_index): Use pbb_bb.
4621	* graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
4622	disjuncts.
4623	* tree-data-ref.c (dump_data_reference): Start new lines with a #.
4624
46252010-03-31  Jakub Jelinek  <jakub@redhat.com>
4626
4627	* dwarf2out.c (size_of_die): For -gdwarf-4 use
4628	uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
4629	and 0 instead of 1 for dw_val_class_flag.
4630	(value_format): For -gdwarf-4 use DW_FORM_sec_offset for
4631	dw_val_class_range_list, dw_val_class_loc_list,
4632	dw_val_class_lineptr and dw_val_class_macptr, use
4633	DW_FORM_flag_present for dw_val_class_flag and
4634	DW_FORM_exprloc for dw_val_class_loc.
4635	(output_die): For -gdwarf-4 print dw_val_class_loc
4636	size as uleb128 instead of 1 or 2 bytes and don't print
4637	anything for dw_val_class_flag.
4638
4639	* var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
4640	instead of cselib_lookup following by tweaking locs->setting_insn.
4641
4642	PR bootstrap/43596
4643	* cselib.c (cselib_process_insn): Clear cselib_current_insn
4644	even before returning from label, setjmp call or volatile asm
4645	handling.
4646
46472010-03-31  Richard Guenther  <rguenther@suse.de>
4648
4649	PR middle-end/43600
4650	* cgraphunit.c (cgraph_output_in_order): Do not allocate
4651	temporary data on stack.
4652
46532010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4654
4655	* config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
4656	(PUSHSECTION_ASM_OP): Remove.
4657	(POPSECTION_ASM_OP): Remove.
4658	(PUSHSECTION_FORMAT): Remove.
4659	* config/sol2.h (PUSHSECTION_FORMAT): Define.
4660	* config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
4661	* config/sol2.c (solaris_output_init_fini): Use it.
4662
46632010-03-31  Jie Zhang  <jie@codesourcery.com>
4664
4665	PR 43574
4666	* opt-functions.awk (var_type_struct): Use signed char type
4667	for simple variables.
4668
46692010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4670
4671	* config/sol2.c: Include output.h.
4672	(solaris_assemble_visibility): New function.
4673	* config/t-sol2 (sol2.o): Add output.h dependency.
4674	* config/sol2-protos.h (solaris_assemble_visibility): Declare.
4675	* config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
4676	Redefine.
4677
46782010-03-31  Jakub Jelinek  <jakub@redhat.com>
4679
4680	PR target/43580
4681	* config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
4682	V2SImode or XFmode on PRE_DEC.
4683
4684	PR debug/43557
4685	* cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
4686	BLKmode.
4687
46882010-03-31  Jie Zhang  <jie@codesourcery.com>
4689
4690	PR 43562
4691	* reload.h (caller_save_initialized_p): Declare.
4692	* toplev.c (backend_init_target): Don't call
4693	init_caller_save but set caller_save_initialized_p to false.
4694	* caller-save.c (caller_save_initialized_p): Define.
4695	(init_caller_save): Check caller_save_initialized_p.
4696	* ira.c (ira): Call init_caller_save if flag_caller_saves.
4697
46982010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4699
4700	PR target/39048
4701	* config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
4702	and soft-fp/t-softfp to tmake_file.
4703	* config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
4704	(LIBGCC2_TF_CEXT): Define.
4705	(TF_SIZE): Define.
4706
47072010-03-30  Alexandre Oliva  <aoliva@redhat.com>
4708
4709	PR debug/42977
4710	* cselib.c (n_useless_values): Document handling of debug locs.
4711	(n_useless_debug_values, n_debug_values): New variables.
4712	(new_elt_loc_list): Don't add to debug values, keep count.
4713	(promote_debug_loc): New.
4714	(cselib_reset_table): Zero new variables.
4715	(entry_and_rtx_equal_p): Promote debug locs.
4716	(discard_useless_locs): Increment n_useless_debug_values for
4717	debug values.
4718	(remove_useless_values): Adjust n_useless_values and n_debug_values
4719	with n_useless_debug_values.
4720	(add_mem_for_addr): Promote debug locs.
4721	(cselib_lookup_mem): Likewise.
4722	(cselib_lookup_addr): Renamed to...
4723	(cselib_lookup_addr_1): ... this.  Promote debug locs.  Don't call...
4724	(cselib_log_lookup): ... this.  Turn into...
4725	(cselib_lookup_addr): ... new wrapper.
4726	(cselib_lookup_from_insn): New.
4727	(cselib_invalidate_regno): Increment n_useless_debug_values for
4728	debug values.
4729	(cselib_invalidate_mem): Likewise.
4730	(cselib_process_insn): Take n_deleted and n_debug_values into
4731	account to guard remove_useless_value call.
4732	(cselib_finish): Zero n_useless_debug_values.
4733	* cselib.h (cselib_lookup_from_insn): Declare.
4734	* sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
4735	(sched_analyze_2): Likewise.
4736
47372010-03-30  Jakub Jelinek  <jakub@redhat.com>
4738
4739	* var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
4740	functions.
4741	(adjust_mems): Replace narrowing SUBREG of expression containing
4742	just PLUS, MINUS, MULT and ASHIFT of registers and constants
4743	with operations in the narrower mode.
4744
4745	PR debug/43593
4746	* var-tracking.c (dataflow_set_clear_at_call): Invalidate just
4747	regs_invalidated_by_call instead all call_used_reg_set registers.
4748
47492010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
4750
4751	PR middle-end/43430
4752	* tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
4753	pointer comparisons with types_compatible_p.
4754	* tree-vect-stmts.c (vectorizable_call): Same.
4755	(vectorizable_condition): Same.
4756
47572010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4758
4759	* config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
4760	stack check if the mask would be zero.
4761
47622010-03-30  Seongbae Park  <seongbae.park@gmail.com>
4763	    Jack Howarth  <howarth@bromo.med.uc.edu>
4764
4765	* tree-profile.c (tree_init_ic_make_global_vars): Make static
4766	variables TLS.
4767
47682010-03-30  Joseph Myers  <joseph@codesourcery.com>
4769
4770	PR other/25232
4771	* libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
4772	and __unordtf2.
4773	* config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
4774	Include ___unordxf2 and ___unordtf2.
4775	* config/i386/libgcc-glibc.ver: Do not define inheritance from
4776	GCC_4.4.0 here.
4777
47782010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
4779
4780	* config/lm32/t-lm32: New file.
4781	* config.gcc: Use the above file when targetting lm32.
4782
47832010-03-28  Duncan Sands  <baldrick@free.fr>
4784
4785	* Makefile.in (PLUGIN_HEADERS): Add except.h.
4786
47872010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
4788
4789	PR middle-end/43431
4790	* tree-vect-loop.c (vect_estimate_min_profitable_iters):
4791	Improve vectorization cost model diagnostic.
4792
47932010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
4794
4795	PR middle-end/43436
4796	* tree-vect-data-refs.c (vect_analyze_data_refs): When
4797	compute_data_dependences_for_loop returns false, early exit
4798	and output an extra diagnostic for the failed data reference
4799	analysis.
4800
48012010-03-29  Richard Guenther  <rguenther@suse.de>
4802
4803	PR tree-optimization/43560
4804	* tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
4805	(can_sm_ref_p): Treat stores to readonly locations as trapping.
4806
48072010-03-29  Jie Zhang  <jie@codesourcery.com>
4808
4809	PR 43564
4810	* toplev.c (process_options): Set optimization_default_node
4811	and optimization_current_node.
4812	* opts.c (decode_options): Don't set optimization_default_node
4813	and optimization_current_node.
4814
48152010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
4816
4817	* config/rtems.h: Abandon -qrtems_debug.
4818
48192010-03-28  Jan Hubicka  <jh@suse.cz>
4820
4821	PR tree-optimization/43505
4822	* cgraph.c (cgraph_clone_node): When clonning a clone, replacement
4823	map should not be copied.
4824
48252010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4826
4827	PR middle-end/41674
4828	* cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
4829	cdtors, set DECL_PRESERVE_P.
4830	* ipa.c (cgraph_externally_visible_p): Return true if declaration
4831	should be preseved.
4832
48332010-03-27  Uros Bizjak  <ubizjak@gmail.com>
4834
4835	PR tree-optimization/43528
4836	* stor-layout.c (place_field): Check that constant fits into
4837	unsigned HWI when skipping calculation of MS bitfield layout.
4838
48392010-03-27  Jan Hubicka  <jh@suse.cz>
4840
4841	PR middle-end/43391
4842	* varasm.c (make_decl_rtl): Deal with COMMON flag to make
4843	notice_global_symbol work.
4844
48452010-03-27  Jakub Jelinek  <jakub@redhat.com>
4846
4847	* dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
4848	instead of dwarf2out_decl.
4849	(struct var_loc_node): Remove section_label field.
4850	(dwarf2out_function_decl): New function.
4851	(dwarf2out_var_location): Don't set section_label field.
4852	(dwarf2out_begin_function): Don't empty decl_loc_table here.
4853
48542010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
4855
4856	PR tree-optimization/43544
4857	* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
4858	First argument for builtin vectorized function hook is now a
4859	tree to be able to distinguish between machine specific and
4860	standard builtins.
4861	* targhooks.c (default_builtin_vectorized_function): Ditto.
4862	* targhooks.h (default_builtin_vectorized_function): Ditto.
4863	* target.h (struct gcc_target): Ditto.
4864	* tree-vect-stmts.c (vectorizable_function): Ditto.
4865	* config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
4866	* config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
4867	Ditto.
4868
48692010-03-26  Joseph Myers  <joseph@codesourcery.com>
4870
4871	PR c/43381
4872	* c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
4873	nested binding iff it is a FUNCTION_DECL.
4874	(store_parm_decls_newstyle): Pass nested=true to bind for
4875	FUNCTION_DECLs amongst parameters.
4876
48772010-03-26  Jakub Jelinek  <jakub@redhat.com>
4878
4879	* var-tracking.c (vt_expand_loc_callback): Don't run
4880	cselib_expand_value_rtx_cb in dummy mode if
4881	cselib_dummy_expand_value_rtx_cb returned false.
4882
4883	* var-tracking.c (emit_note_insn_var_location): For one part
4884	notes with offset 0, don't add EXPR_LIST around the location.
4885	* dwarf2out.c (loc_descriptor, dw_loc_list_1,
4886	add_location_or_const_value_attribute): Adjust for that change.
4887
4888	PR debug/43540
4889	* dwarf2out.c (reg_save): For DW_CFA_expression put regnum
4890	into first operand and location into second.
4891	(dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
4892	dw_cfi_oprnd_loc for DW_CFA_expression.
4893	(dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
4894	(output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
4895	assume first argument is regnum and second argument is location.
4896
48972010-03-26  Uros Bizjak  <ubizjak@gmail.com>
4898
4899	PR target/42113
4900	* config/alpha/alpha.md (*cmp_sadd_si): Change mode
4901	of scratch register to DImode.  Split to DImode comparison operator.
4902	Use SImode subreg of scratch register in the multiplication.
4903	(*cmp_sadd_sidi): Ditto.
4904	(*cmp_ssub_si): Ditto.
4905	(*cmp_ssub_sidi): Ditto.
4906
49072010-03-26  Uros Bizjak  <ubizjak@gmail.com>
4908
4909	PR target/43524
4910	* config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
4911	Remove invalid assert and wrong comment.
4912
49132010-03-26  Jakub Jelinek  <jakub@redhat.com>
4914
4915	PR debug/43516
4916	* flags.h (final_insns_dump_p): New extern.
4917	* final.c (final_insns_dump_p): New variable.
4918	(rest_of_clean_state): Set it before -fdump-final-insns=
4919	dumping, clear afterwards.
4920	* print-rtl.c (print_rtx): If final_insns_dump_p don't dump
4921	MEM_ALIAS_SET on MEMs.
4922
49232010-03-26  David S. Miller  <davem@davemloft.net>
4924
4925	* configure.ac: Fix sparc GOTDATA_OP bug check.
4926	* configure: Rebuild.
4927
49282010-03-26  Alan Modra  <amodra@gmail.com>
4929
4930	* config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
4931
49322010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4933
4934	* doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
4935	TLS_SECTION_ASM_FLAG.
4936
49372010-03-25  Jakub Jelinek  <jakub@redhat.com>
4938
4939	PR bootstrap/43511
4940	* config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
4941	Clear first_function_block_is_cold.
4942
4943	PR c/43385
4944	* gimplify.c (gimple_boolify): Only recurse on __builtin_expect
4945	argument if the argument is truth_value_p.
4946
49472010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
4948
4949	* config/rs6000/constraints.md: Update copyright year for my changes.
4950
4951	PR target/43484
4952	* config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
4953	used in reg+reg addressing, swap registers.
4954
49552010-03-24  Jakub Jelinek  <jakub@redhat.com>
4956
4957	PR debug/43293
4958	* target.h (struct gcc_target): Add code_end hook.
4959	* target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
4960	if not yet defined.
4961	(TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
4962	* toplev.c (compile_file): Call targetm.asm_out.code_end
4963	hook before unwind info/debug info output.
4964	* config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
4965	* config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
4966	(TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
4967	* config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
4968	(TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
4969	* config/i386/i386.c (ix86_file_end): Renamed to...
4970	(ix86_code_end): ... this.  Make static.  Don't call
4971	file_end_indicate_exec_stack.  Emit unwind info using
4972	final_start_function/final_end_function.
4973	(darwin_x86_file_end): Remove.
4974	(TARGET_ASM_CODE_END): Define.
4975	* config/i386/i386.h (TARGET_ASM_FILE_END,
4976	NEED_INDICATE_EXEC_STACK): Don't define.
4977	* config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
4978	(TARGET_ASM_FILE_END): Define to darwin_file_end.
4979	* config/i386/i386-protos.h (ix86_file_end): Remove prototype.
4980	* doc/tm.texi (TARGET_ASM_CODE_END): Document.
4981
4982	PR target/43498
4983	* config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
4984	at the beginning and final_end_function at the end.
4985	* config/s390/s390.c (s390_output_mi_thunk): Likewise.
4986
49872010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4988
4989	* configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
4990	and Sun as TLS syntax.
4991	(TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
4992	* configure: Regenerate.
4993	* config.in: Regenerate.
4994	* varasm.c (TLS_SECTION_ASM_FLAG): Define default.
4995	(default_elf_asm_named_section): Use it.
4996	* config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
4997	(i386_output_dwarf_dtprel): Likewise.
4998	(output_addr_const_extra): Likewise.
4999	(output_pic_addr_const): Lowercase @GOTTPOFF.
5000	(output_addr_const_extra): Likewise.
5001	(output_pic_addr_const): Lowercase @GOTNTPOFF.
5002	(output_addr_const_extra): Likewise.
5003	(output_pic_addr_const): Lowercase @INDNTPOFF.
5004	(output_addr_const_extra): Likewise.
5005	(output_pic_addr_const): Lowercase @NTPOFF.
5006	(output_addr_const_extra): Likewise.
5007	(output_pic_addr_const): Lowercase @TPOFF.
5008	(output_addr_const_extra): Likewise.
5009	* config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
5010	(*tls_global_dynamic_64): Likewise.
5011	(*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
5012	(*tls_local_dynamic_base_64): Lowercase	@TLSLD.
5013
5014	* defaults.h (TLS_COMMON_ASM_OP): Provide default.
5015	(ASM_OUTPUT_TLS_COMMON): Use it.
5016	* config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
5017
5018	PR target/38118
5019	* config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
5020	* config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
5021	* config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
5022	* config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
5023	* config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
5024	(ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
5025
50262010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5027
5028	* config/i386/i386.c (override_options): Don't accept
5029	-mtls-dialect=sun any longer.
5030	* config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
5031	* config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
5032	(*tls_local_dynamic_base_32_sun): Likewise.
5033	* config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
5034
50352010-03-24  Jakub Jelinek  <jakub@redhat.com>
5036
5037	PR debug/43508
5038	* dwarf2out.c (mem_loc_descriptor): Don't ICE on
5039	VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
5040
5041	PR debug/43479
5042	* ira.c (adjust_cleared_regs): New function.
5043	(update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
5044
5045	PR debug/19192
5046	PR debug/43479
5047	* cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
5048	from gimple_block.
5049	* expr.c (expand_expr_real): Restore previous
5050	curr_insn_source_location and curr_insn_block after
5051	expand_expr_real_1 call.
5052	(expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
5053	instead of expand_expr_real_1.
5054
50552010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
5056
5057	PR rtl-optimization/43413
5058	* ira-color.c (setup_allocno_available_regs_num): Count prohibited
5059	hard regs too.
5060
50612010-03-22  James E. Wilson  <wilson@codesourcery.com>
5062
5063	PR target/43348
5064	* ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
5065	call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
5066
50672010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
5068
5069	* config/i386/i386.c (ix86_target_string): Add -mfma.
5070	Fix a typo in comment.
5071
50722010-03-22  Mike Stump  <mikestump@comcast.net>
5073
5074	PR target/23071
5075	* config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
5076	Don't overly align based upon packed packed fields.
5077
50782010-03-22  Jason Merrill  <jason@redhat.com>
5079
5080	* c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
5081	Use () rather than [], and move before the element type.
5082
50832010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5084
5085	* doc/configfiles.texi (Configuration Files): Removed
5086	fixinc/Makefile*, intl/Makefile.*.
5087	* doc/makefile.texi: Fixed markup. Abstract from version
5088	control system used.
5089	(Makefile): Removed obsolete gcc/java/parse.y example.
5090	* doc/sourcebuild.texi: Likewise.
5091	(Top Level): Added config, gnattools, libdecnumber, libgcc,
5092	libgomp, libssp.  Removed fastjar.
5093	(Miscellaneous Docs): Clarify location.
5094	Added COPYING3, COPYING3.LIB.
5095	(Front End Directory): Moved Make-lang.in entry to new subsubsection.
5096
50972010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5098
5099	PR target/38085
5100	* config/i386/i386.c (x86_function_profiler)
5101	[!NO_PROFILE_COUNTERS]: Fix typo.
5102	* config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
5103	instead of callq.
5104
51052010-03-22  Janis Johnson  <janis187@us.ibm.com>
5106	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5107
5108	* doc/sourcebuild.texi (Test Directives): Split into six
5109	subsections, with most of the current text in new subsections
5110	Directives, Selectors, and Final Actions.
5111	(Directives): Split list of test directives into multiple
5112	subsubsections.
5113	(Selectors): Describe use and syntax of selectors.
5114	(Effective-Target Keywords): Describe all existing keywords.
5115	(Add Options): Describe features for dg-add-options.
5116	(Require Support): Describe variants of dg-require-support.
5117	(Final Actions): Describe commands to use in dg-final.
5118
51192010-03-22  Michael Matz  <matz@suse.de>
5120
5121	PR middle-end/43475
5122	* recog.c (validate_replace_rtx_group): Replace also in
5123	REG_EQUAL and REG_EQUIV notes.
5124
51252010-03-22  Richard Guenther  <rguenther@suse.de>
5126
5127	PR tree-optimization/43390
5128	* tree-vect-stmts.c (get_vectype_for_scalar_type): Make
5129	sure vector extracts are type correct.
5130
51312010-03-22  Richard Guenther  <rguenther@suse.de>
5132
5133	PR middle-end/40106
5134	* builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
5135	x * sqrt (x) even when optimizing for size if the target
5136	has native support for sqrt.
5137
51382010-03-22  Jakub Jelinek  <jakub@redhat.com>
5139
5140	* varasm.c (make_decl_rtl_for_debug): Also clear
5141	flag_mudflap for the duration of make_decl_rtl call.
5142
5143	PR debug/43443
5144	* var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
5145	locs from preserved VALUEs.
5146
51472010-03-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5148
5149	PR middle-end/42718
5150	* pa.md (movmemsi): Set align to one if zero.
5151	(movmemdi): Likewise.
5152
51532010-03-21  Richard Earnshaw  <rearnsha@arm.com>
5154
5155	PR target/42321
5156	* arm.c (arm_output_epilogue): Correctly match VFP pop instructions
5157	with their corresponding prologue pushes.
5158
51592010-03-20  Andrew Pinski  <pinskia@gmail.com>
5160
5161	PR target/43156
5162	* config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
5163	at the begining or end.
5164	(spu_expand_epilogue): Likewise.
5165
51662010-03-20  Richard Guenther  <rguenther@suse.de>
5167
5168	PR rtl-optimization/43438
5169	* combine.c (make_extraction): Properly zero-/sign-extend an
5170	extraction of the low part of a CONST_INT.  Also handle
5171	CONST_DOUBLE.
5172
51732010-03-19  Mike Stump  <mikestump@comcast.net>
5174
5175	* config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
5176	* config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
5177	(override_options): Use SUBTARGET32_DEFAULT_CPU.
5178
51792010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
5180
5181	PR c/43211
5182	* c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
5183	an error.
5184
51852010-03-19  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
5186
5187	PR rtl-optimization/42258
5188	* ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
5189	use that may match DEF.
5190
5191	PR target/40697
5192	* optabs.c (avoid_expensive_constant): Use rtx_cost to find out
5193	the cost of loading the constant rather than assuming
5194	COSTS_N_INSNS (1).
5195	* config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
5196	outer code is AND, do the same tests as the andsi3 expander and
5197	return COSTS_N_INSNS (1) if and is cheap.
5198
5199	* optabs.c (avoid_expensive_constant): Fix formatting.
5200
52012010-03-19  Michael Matz  <matz@suse.de>
5202
5203	PR c++/43116
5204	* attribs.c (decl_attributes): When rebuilding a function pointer
5205	type use the same qualifiers as the original pointer type.
5206
52072010-03-19  Martin Jambor  <mjambor@suse.cz>
5208
5209	* doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
5210	and is_gimple_ip_invariant_address.
5211
52122010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5213
5214	Revert
5215	2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5216
5217	* config/arm/arm.c (arm_override_options): Turn off
5218	flag_dwarf2_cfi_asm for AAPCS variants.
5219
52202010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5221
5222	PR target/43399
5223	* config/arm/arm.c (emit_multi_reg_push): Update comments.
5224	Use PRE_MODIFY instead of PRE_DEC.
5225	(emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
5226	(vfp_emit_fstmd): Likewise.
5227
52282010-03-19  Michael Matz  <matz@suse.de>
5229
5230	PR target/43305
5231	* builtins.c (expand_builtin_interclass_mathfn,
5232	expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
5233	if that fails.
5234
52352010-03-19  Richard Guenther  <rguenther@suse.de>
5236
5237	PR tree-optimization/43415
5238	* tree-ssa-pre.c (phi_translate): Split out worker to ...
5239	(phi_translate_1): ... this.
5240	(phi_translate): Move all caching here.  Cache all NARY
5241	and REFERENCE translations.
5242
52432010-03-19  David S. Miller  <davem@davemloft.net>
5244
5245	With help from Eric Botcazou.
5246	* config/sparc/sparc.c: Include dwarf2out.h.
5247	(emit_pic_helper): Delete.
5248	(pic_helper_symbol_name): Delete.
5249	(pic_helper_emitted_p): Delete.
5250	(pic_helper_needed): New.
5251	(USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
5252	(get_pc_thunk_name): New.
5253	(load_pic_register): Remove 'delay_pic_helper' arg.  Use
5254	get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
5255	Set pic_helper_needed to true.  Don't call emit_pic_helper.
5256	(sparc_expand_prologue): Update load_pic_register call.
5257	(sparc_output_mi_thunk): Likewise.
5258	(sparc_file_end): Emit a hidden comdat symbol for the PIC
5259	thunk if possible.  Output CFI information as needed.
5260
52612010-03-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
5262	    Jack Howarth  <howarth@bromo.med.uc.edu>
5263
5264	PR target/36399
5265	* config/i386/i386.h: Fix ABI on darwin x86-32.
5266
52672010-03-18  Aldy Hernandez  <aldyh@redhat.com>
5268
5269	* tree.h: Declare make_decl_rtl_for_debug.
5270	* varasm.c (make_decl_rtl_for_debug): New.
5271	* dwarf2out.c (rtl_for_decl_location): Call it.
5272	* cfgexpand.c (expand_debug_expr): Call it.
5273
52742010-03-18  Jakub Jelinek  <jakub@redhat.com>
5275
5276	PR bootstrap/43399
5277	* var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
5278	mem_mode.
5279
5280	PR bootstrap/43403
5281	* var-tracking.c (vt_init_cfa_base): Do nothing if
5282	cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
5283
52842010-03-18  Alexandre Oliva  <aoliva@redhat.com>
5285
5286	PR debug/42873
5287	* var-tracking.c (canonicalize_vars_star): New.
5288	(dataflow_post_merge_adjust): Use it.
5289
52902010-03-18  Jakub Jelinek  <jakub@redhat.com>
5291
5292	PR debug/43058
5293	* var-tracking.c (non_suitable_const): New function.
5294	(add_uses): For DEBUG_INSNs with constants, don't record any
5295	value, instead just the constant value itself.
5296	(compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
5297	is not VAR_LOC_UNKNOWN_P, set var to the constant.
5298	(emit_notes_in_bb): Likewise.
5299	(emit_note_insn_var_location): For onepart variables if
5300	cur_loc is a VOIDmode constant, use DECL_MODE.
5301
53022010-03-18  Martin Jambor  <mjambor@suse.cz>
5303
5304	PR middle-end/42450
5305	* cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
5306	* cgraphunit.c (cgraph_materialize_all_clones): Update calls in
5307	all non-clones.  Moved call redirection...
5308	(cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
5309	(cgraph_materialize_all_clones): Dispose of all
5310	combined_args_to_skip bitmaps.
5311	(verify_cgraph_node): Do not check for edges pointing to wrong
5312	nodes in inline clones.
5313	* tree-inline.c (copy_bb): Call
5314	cgraph_redirect_edge_call_stmt_to_callee.
5315	* ipa.c (cgraph_remove_unreachable_nodes): Call
5316	cgraph_node_remove_callees even when there are used clones.
5317
53182010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
5319
5320	* config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
5321
53222010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
5323
5324	PR target/43383
5325	* config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
5326	for 32bit.
5327
53282010-03-18  Michael Matz  <matz@suse.de>
5329
5330	PR middle-end/43419
5331	* builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
5332	into sqrt(x) if we need to preserve signed zeros.
5333
53342010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
5335	    Eric Botcazou  <ebotcazou@adacore.com>
5336
5337	PR rtl-optimization/43360
5338	* loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
5339	note if we don't know its invariant status.
5340
53412010-03-18  Michael Matz  <matz@suse.de>
5342
5343	PR tree-optimization/43402
5344	* tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
5345	PHI chains of ssa names registered for update.
5346
53472010-03-17  Peter Bergner  <bergner@vnet.ibm.com>
5348
5349	PR target/42427
5350	* config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
5351	non-offsettable and pre_modify update addressing.
5352	* config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
5353	and "2" alternatives "#".
5354	(*movdd_softfloat32): Make all alternatives "#";
5355	* config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
5356	(*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
5357	(*movdf_softfloat32): Make all alternatives "#";
5358	(movdi): Use the new DIFD mode iterator to create a common splitter
5359	for movdi, movdf and movdd patterns.
5360
53612010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
5362
5363	* common.opt (dumpdir): Remove redundant tab.
5364
53652010-03-17  Martin Jambor  <mjambor@suse.cz>
5366
5367	PR tree-optimization/43347
5368	* tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
5369	original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
5370
53712010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
5372
5373	PR rtl-optimization/42216
5374	* regrename.c (create_new_chain): New function, broken out from...
5375	(scan_rtx_reg): ... here.  Call it.  Handle the case where we are
5376	appending a use to an empty chain.
5377	(build_def_use): Remove previous changes that convert OP_INOUT to
5378	OP_OUT operands; instead detect the case where an OP_INOUT operand
5379	uses a previously untracked register and create an empty chain for it.
5380
53812010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5382
5383	* doc/extend.texi (Function Attributes): Rewrite unfinished
5384	sentence in ms_abi documentation.
5385
53862010-03-17  Alan Modra  <amodra@gmail.com>
5387
5388	* config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
5389	* config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
5390	(SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
5391	* config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
5392
53932010-03-16  Richard Henderson  <rth@redhat.com>
5394
5395	PR middle-end/43365
5396	* tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
5397	(lower_try_finally): Save and restore eh_seq around the expansion
5398	of the try-finally.
5399
54002010-03-16  Aldy Hernandez  <aldyh@redhat.com>
5401
5402	* graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
5403	statements before splitting block.
5404
54052010-03-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5406
5407	* doc/sourcebuild.texi (Testsuites): Fix markup.
5408	Use pathnames relative to gcc/testsuite.
5409	(Test Directives): Move description of how timeout is determined.
5410	(Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
5411	(C Tests): Correct gcc.misc-tests directory.
5412	Framework tests now live in gcc.test-framework.
5413
54142010-03-16  Richard Guenther  <rguenther@suse.de>
5415
5416	PR middle-end/43379
5417	* tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
5418	operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
5419
54202010-03-16  Aldy Hernandez  <aldyh@redhat.com>
5421	    Alexandre Oliva  <aoliva@redhat.com>
5422
5423	PR tree-optimization/42917
5424	* lambda-code.c (remove_iv): Skip debug statements.
5425	(lambda_loopnest_to_gcc_loopnest): Likewise.
5426	(not_interesting_stmt): Debug statements are not interesting.
5427
54282010-03-16  Jakub Jelinek  <jakub@redhat.com>
5429
5430	PR debug/43051
5431	PR debug/43092
5432	* cselib.c (cselib_preserve_constants,
5433	cfa_base_preserved_val): New static variables.
5434	(preserve_only_constants): New function.
5435	(cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
5436	clear its REG_VALUES.  If cselib_preserve_constants, don't
5437	empty the whole hash table, but preserve there VALUEs with constants,
5438	cfa_base_preserved_val and cfa_base_preserved_val plus constant.
5439	(cselib_preserve_cfa_base_value): New function.
5440	(cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
5441	(cselib_init): Change argument to int bitfield.  Set
5442	cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
5443	is in it.
5444	(cselib_finish): Clear cselib_preserve_constants and
5445	cfa_base_preserved_val.
5446	* cselib.h (enum cselib_record_what): New enum.
5447	(cselib_init): Change argument to int.
5448	(cselib_preserve_cfa_base_value): New prototype.
5449	* postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
5450	* dse.c (dse_step1): Likewise.
5451	* cfgcleanup.c (thread_jump): Likewise.
5452	* sched-deps.c (sched_analyze): Likewise.
5453	* gcse.c (local_cprop_pass): Likewise.
5454	* simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
5455	If FN is non-NULL, call the callback always and whenever it returns
5456	non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
5457	* rtl.h (simplify_replace_fn_rtx): Add argument to callback.
5458	* combine.c (propagate_for_debug_subst): Add old_rtx argument,
5459	compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
5460	* Makefile.in (var-tracking.o): Depend on $(RECOG_H).
5461	* var-tracking.c: Include recog.h.
5462	(bb_stack_adjust_offset): Remove.
5463	(vt_stack_adjustments): Don't call it, instead just gather the
5464	adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
5465	(adjust_stack_reference): Remove.
5466	(compute_cfa_pointer): New function.
5467	(hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
5468	(struct adjust_mem_data): New type.
5469	(adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
5470	functions.
5471	(get_address_mode): New function.
5472	(replace_expr_with_values): Use it.
5473	(use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
5474	Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
5475	(adjust_sets): Remove.
5476	(add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
5477	Use get_address_mode.
5478	(get_adjusted_src): Remove.
5479	(add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
5480	MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
5481	(add_with_sets): Don't call adjust_sets.
5482	(fp_setter, vt_init_cfa_base): New functions.
5483	(vt_initialize): Change return type to bool.  Move most of pool etc.
5484	initialization to the beginning of the function from end.  Pass
5485	CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
5486	If !frame_pointer_needed, call vt_stack_adjustment before mos
5487	vector is filled, call vt_init_cfa_base if argp/framep has been
5488	eliminated to sp.  If frame_pointer_needed and argp/framep has
5489	been eliminated to hard frame pointer, set
5490	hard_frame_pointer_adjustment and call vt_init_cfa_base after
5491	encountering fp setter in the prologue.  For MO_ADJUST, call
5492	log_op_type before pusing the op into mos vector, not afterwards.
5493	Call adjust_insn before cselib_process_insn/add_with_sets,
5494	call cancel_changes (0) afterwards.
5495	(variable_tracking_main_1): Adjust for vt_initialize calling
5496	vt_stack_adjustments and returning whether it succeeded or not.
5497
54982010-03-15  Aldy Hernandez  <aldyh@redhat.com>
5499
5500	* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
5501	debug statements.
5502
55032010-03-15  Jakub Jelinek  <jakub@redhat.com>
5504
5505	* dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
5506	has been set.
5507	(based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
5508	drap_reg has not been set.
5509
55102010-03-15  Michael Matz  <matz@suse.de>
5511
5512	PR middle-end/43300
5513	* tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
5514	use it to expand block copies.
5515	(insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
5516	insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
5517	(insert_value_copy_on_edge): Use store_expr for BLKmode values.
5518
55192010-03-15  Richard Guenther  <rguenther@suse.de>
5520
5521	PR tree-optimization/43367
5522	* tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
5523	elimination check.
5524
55252010-03-15  Richard Guenther  <rguenther@suse.de>
5526
5527	PR tree-optimization/43317
5528	* ipa-struct-reorg.c (create_new_general_access): Update stmt.
5529
55302010-03-15  Martin Jambor  <mjambor@suse.cz>
5531
5532	PR tree-optimization/43141
5533	* tree-sra.c (create_abstract_origin): New function.
5534	(modify_function): Call create_abstract_origin.
5535
55362010-03-15  Chris Demetriou  <cgd@google.com>
5537
5538	* Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
5539	wasn't copied.
5540
55412010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
5542
5543	PR middle-end/43354
5544	* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
5545	call insert_out_of_ssa_copy for default definitions.
5546
55472010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
5548
5549	* graphite-clast-to-gimple.c (my_long_long): Defined.
5550	(gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
5551	* graphite-sese-to-poly.c (my_long_long): Defined.
5552	(scop_ivs_can_be_represented): Use it.
5553
55542010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
5555
5556	* doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
5557	graphite-max-bbs-per-function, and loop-block-tile-size.
5558	* params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
5559	with "maximum".
5560	(PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
5561
55622010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
5563
5564	* graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
5565	forward declaration.
5566	* graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
5567	(add_upper_bounds_from_estimated_nit): New.
5568	(build_loop_iteration_domains): Use it.
5569
55702010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
5571
5572	* doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
5573
55742010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
5575
5576	PR middle-end/43306
5577	* tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
5578	should be an INTEGER_CST.  Also handle CASE_CONVERT.
5579
55802010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
5581
5582	* graphite.c (graphite_initialize): To bound the number of bbs per
5583	function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
5584	* params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
5585	* doc/invoke.texi: Document it.
5586
55872010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
5588
5589	* graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
5590	* graphite-sese-to-poly.h (build_poly_scop): Same.
5591
55922010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
5593
5594	* graphite-sese-to-poly.c (build_poly_scop): Limit scops following
5595	the number of parameters in the scop.  Use as an upper bound
5596	PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
5597	* params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
5598	* doc/invoke.texi: Document it.
5599
56002010-03-13  Jerry Quinn  <jlquinn@optonline.net>
5601
5602	* Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
5603	* doc/c-tree.texi: Remove.
5604	* doc/generic.texi: Merge c-tree.texi here.
5605	* doc/gccint.texi (Trees): Remove menu entry.
5606	(c-tree.texi): Remove @include.
5607	* doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
5608	* doc/languages.texi (Reading RTL): Ditto.
5609
56102010-03-12  Steve Ellcey  <sje@cup.hp.com>
5611
5612	PR target/42869
5613	* config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
5614
56152010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
5616
5617	PR middle-end/42431
5618	* gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
5619	code added to work around reload clobbering CONST insns.
5620
56212010-03-12  Jakub Jelinek  <jakub@redhat.com>
5622
5623	* cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
5624	(cselib_preserve_definitely, cselib_clear_preserve): Remove.
5625	(cselib_preserve_only_values): Remove retain argument, don't
5626	traverse hash table with cselib_{preserve_definitely,clear_preserve}.
5627	* cselib.h (cselib_preserve_only_values): Remove retain argument.
5628	* var-tracking.c (micro_operation): Move insn field before union.
5629	Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
5630	(struct variable_tracking_info_def): Remove n_mos field, change
5631	mos into a vector of micro_operations.
5632	(count_uses, count_uses_1, count_stores, count_with_sets): Remove.
5633	(bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
5634	compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
5635	changing into a vector.
5636	(add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
5637	come before all other uops generated by add_stores.
5638	(vt_add_function_parameters): Adjust for cselib_preserve_only_values
5639	argument removal.
5640	(vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
5641	a vector.  Run just one pass over the bbs instead of separate counting
5642	and computation phase.
5643	(vt_finalize): Free VTI (bb)->mos vector instead of array.
5644
5645	PR debug/43329
5646	* tree-inline.c (remap_decls): Put old_var rather than origin_var
5647	into *nonlocalized_list vector.
5648	* dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
5649	even if origin is non-NULL.
5650	(gen_variable_die): Likewise.
5651	(process_scope_var): Don't change origin.
5652	(gen_decl_die): Likewise.
5653	* tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
5654	before adding new edges instead of after it, fix moving over
5655	debug stmts.
5656
56572010-03-11  David S. Miller  <davem@davemloft.net>
5658
5659	* configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
5660	of four.
5661	* configure: Rebuild.
5662
56632010-03-11  Martin Jambor  <mjambor@suse.cz>
5664
5665	PR tree-optimization/43257
5666	* tree.c (assign_assembler_name_if_neeeded): New function.
5667	(free_lang_data_in_cgraph): Assembler name assignment moved to the
5668	above new function.
5669	* tree.h (assign_assembler_name_if_neeeded): Declare.
5670	* cgraphunit.c (cgraph_analyze_function): Create an assembler name for
5671	the function if needed.
5672
56732010-03-11  Chris Demetriou  <cgd@google.com>
5674
5675	* Makefile.in (stmp-int-hdrs): Make include/unwind.h,
5676	include/stdint-gcc.h, and include/stdint.h world-readable.
5677
56782010-03-11  Richard Guenther  <rguenther@suse.de>
5679
5680	PR tree-optimization/43255
5681	* tree-vrp.c (process_assert_insertions_for): Do not insert
5682	asserts for trivial conditions.
5683
56842010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5685
5686	PR tree-optimization/43280
5687	* tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
5688	generation.  Move calculation of size out of the if branch.
5689	(find_bswap): Modify compare number generation.
5690
56912010-03-11  Richard Guenther  <rguenther@suse.de>
5692
5693	PR lto/43200
5694	* lto-streamer-in.c (maybe_fixup_decls): Simplify.
5695	(input_gimple_stmt): Fixup handled component types during
5696	operand read.  Also fix up decls in ADDR_EXPRs.
5697
56982010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
5699
5700	* config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
5701	* config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
5702
57032010-03-10  Jan Hubicka  <jh@suse.cz>
5704
5705	PR c/43288
5706	* ipa.c (function_and_variable_visibility) Normalize COMMON bits.
5707	* varasm.c (get_variable_section): Don't do that here...
5708	(make_decl_rtl): ... and here.
5709	(do_assemble_alias): Produce decl RTL.
5710	(assemble_alias): Likewise.
5711
57122010-03-10  Jakub Jelinek  <jakub@redhat.com>
5713
5714	PR debug/43290
5715	* reg-notes.def (REG_CFA_SET_VDRAP): New note.
5716	* dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
5717	of fde->vdrap_reg.
5718	(dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
5719	(based_loc_descr): Only express drap or vdrap regno based expressions
5720	using DW_OP_fbreg when not optimizing.
5721	* config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
5722	make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
5723	REG_CFA_SET_VDRAP note.
5724
57252010-03-10  Alexander Monakov  <amonakov@ispras.ru>
5726
5727	PR tree-optimization/43236
5728	* tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
5729	error in calculation of base address in reverse iteration case.
5730	(generate_builtin): Take number of latch executions if the statement
5731	is in the latch.
5732
57332010-03-10  Andrey Belevantsev  <abel@ispras.ru>
5734
5735	PR middle-end/42859
5736	* tree-eh.c: Include pointer-set.h.
5737	(lower_eh_dispatch): Filter out duplicate case labels and
5738	remove the unneeded edge when the label is unused.  Return
5739	true when some edges are removed.
5740	(execute_lower_eh_dispatch): When any lowering resulted in
5741	removing an edge, also delete unreachable blocks.
5742
57432010-03-10  Jakub Jelinek  <jakub@redhat.com>
5744
5745	PR bootstrap/43287
5746	* config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
5747	UNSPEC_MACHOPIC_OFFSET.
5748
57492010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
5750
5751	PR target/43294
5752	* config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
5753	(m68k_delegitimize_address): New function.
5754
57552010-03-09  Jakub Jelinek  <jakub@redhat.com>
5756
5757	PR debug/43299
5758	* dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
5759
5760	PR debug/43299
5761	* var-tracking.c (adjust_sets): New function.
5762	(count_with_sets, add_with_sets): Use it.
5763	(get_adjusted_src): New inline function.
5764	(add_stores): Use it.
5765
5766	PR debug/43304
5767	* var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
5768	call cselib_dummy_expand_value_rtx_cb instead of
5769	cselib_expand_value_rtx_cb.
5770
5771	PR debug/43293
5772	* config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
5773	* config/i386/i386.c: Include debug.h and dwarf2out.h.
5774	(ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
5775	and .cfi_endproc around the pic thunks.
5776	(output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
5777	all queued unwind info register saves are saved before the call.
5778	For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
5779	considered as sp-=4 for unwind info and the pop as sp+=4 which
5780	also clobbers dest, but doesn't actually restore it.
5781
5782	PR debug/43290
5783	* config/i386/i386.c (ix86_get_drap_rtx): Don't set
5784	RTX_FRAME_RELATED_P.
5785
57862010-03-09  Jie Zhang  <jie@codesourcery.com>
5787
5788	* config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
5789	whitespaces in output template.
5790
57912010-03-09  Jie Zhang  <jie@codesourcery.com>
5792
5793	* ira-lives.c (check_and_make_def_use_conflict): Don't fall
5794	out array boundary.
5795
57962010-03-08  Jakub Jelinek  <jakub@redhat.com>
5797
5798	* Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
5799	builtins.exp in a separate job.
5800
58012010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
5802
5803	* graphite-sese-to-poly.c (add_param_constraints): Use
5804	lower_bound_in_type and upper_bound_in_type.
5805
58062010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
5807
5808	* graphite-sese-to-poly.c (add_param_constraints): Use sizetype
5809	instead of unsigned_type_node.
5810
58112010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
5812	    Reza Yazdani  <reza.yazdani@amd.com>
5813
5814	PR middle-end/43065
5815	* graphite-sese-to-poly.c (add_param_constraints): Insert bounds
5816	on pointer type parameters.
5817
58182010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
5819
5820	PR middle-end/42644
5821	PR middle-end/42130
5822	* graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
5823	handle conversions from pointer to integers.
5824	(gcc_type_for_cloog_iv): Choose the smalles signed integer as an
5825	induction variable, to be able to work with code generated by CLooG.
5826	* graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
5827	(build_poly_scop): Bail out if we cannot codegen a loop.
5828
58292010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
5830
5831	* graphite-clast-to-gimple.c (translate_clast): Do not short-cut
5832	code generation with gloog_error.
5833
58342010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
5835
5836	* sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
5837	Call fold_convert on all the returned values.
5838	(expand_scalar_variables_expr): Pass to
5839	expand_scalar_variables_ssa_name the type of the resulting expression.
5840
58412010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
5842
5843	* graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
5844	ppl_min_for_le_pointset.
5845	Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
5846	* graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
5847
58482010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
5849
5850	* graphite-dependences.c (map_into_dep_poly): Removed.
5851	(dependence_polyhedron_1): Use combine_context_id_scat.
5852
58532010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
5854
5855	* graphite-poly.h (struct poly_scattering): Add layout documentation.
5856	(struct poly_bb): Same.
5857	(combine_context_id_scat): New.
5858
58592010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
5860
5861	PR middle-end/42326
5862	* sese.c (name_defined_in_loop_p): Return false for default
5863	definitions.
5864
58652010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
5866
5867	* graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
5868	and clean up the logic.
5869
58702010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
5871
5872	* graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
5873	early return.
5874
58752010-03-08  Jakub Jelinek  <jakub@redhat.com>
5876
5877	* var-tracking.c (remove_cselib_value_chains): Define only for
5878	ENABLE_CHECKING.
5879	(dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
5880	delete_slot_part, emit_notes_for_differences_1): Don't call
5881	remove_cselib_value_chains here.
5882	(set_slot_part, emit_notes_for_differences_2): Don't call
5883	add_cselib_value_chains here.
5884	(preserved_values): New vector.
5885	(preserve_value): New function.
5886	(add_uses, add_stores, vt_add_function_parameters): Use it
5887	instead of cselib_preserve_value.
5888	(changed_values_stack): New vector.
5889	(check_changed_vars_0): New function.
5890	(check_changed_vars_1, check_changed_vars_2): Use it.
5891	(emit_notes_for_changes): Call set_dv_changed (*, false) on all
5892	changed_values_stack VALUEs.
5893	(vt_emit_notes): For all preserved_values call
5894	add_cselib_value_chains.  If ENABLE_CHECKING call
5895	remove_cselib_value_chains before verifying value_chains is empty.
5896	Initialize and free changed_values_stack.
5897	(vt_initialize): Initialize preserved_values.
5898	(vt_finalize): Free preserved_values.
5899
59002010-03-08  Richard Guenther  <rguenther@suse.de>
5901
5902	PR tree-optimization/43269
5903	* tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
5904	region detection.
5905
59062010-03-08  Martin Jambor  <mjambor@suse.cz>
5907
5908	* ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
5909	(ipa_is_param_called): Removed.
5910	* ipa-prop.c (ipa_note_param_call): Do not set the called flag.
5911	(ipa_print_node_params): Do not print the called flag.
5912	(ipa_write_node_info): Do not stream the called flag.
5913	(ipa_read_node_info): Likewise.
5914
59152010-03-07  Jakub Jelinek  <jakub@redhat.com>
5916
5917	PR debug/43176
5918	* Makefile.in (var-tracking.o): Depend on pointer-set.h.
5919	* cselib.c (struct expand_value_data): Add dummy field.
5920	(cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
5921	dummy to false.
5922	(cselib_dummy_expand_value_rtx_cb): New function.
5923	(cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
5924	any rtl.
5925	* cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
5926	* var-tracking.c: Include pointer-set.h.
5927	(variable): Change n_var_parts to char from int.  Add
5928	cur_loc_changed and in_changed_variables fields.
5929	(variable_canonicalize): Remove.
5930	(shared_var_p): New inline function.
5931	(unshare_variable): Maintain cur_loc_changed and
5932	in_changed_variables fields.  If var was in changed_variables,
5933	replace it there with new_var.  Just copy cur_loc instead of
5934	resetting it to something else.
5935	(variable_union): Don't recompute cur_loc.  Use shared_var_p.
5936	(dataflow_set_union): Don't call variable_canonicalize.
5937	(loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
5938	of their DEBUG_EXPR_TREE_DECLs.
5939	(canonicalize_loc_order_check): Verify that cur_loc is NULL
5940	and in_changed_variables and cur_loc_changed is false.
5941	(variable_merge_over_cur): Clear cur_loc, in_changed_variables
5942	and cur_loc_changed.  Don't update cur_loc here.
5943	(variable_merge_over_src): Don't call variable_canonicalize.
5944	(dataflow_set_preserve_mem_locs): Use shared_var_p.  When
5945	removing loc that is equal to cur_loc, clear cur_loc,
5946	set cur_loc_changed and ensure variable_was_changed is called.
5947	(dataflow_set_remove_mem_locs): Use shared_var_p.  Only
5948	compare pointers in cur_loc check, if it is equal to loc,
5949	clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
5950	(variable_different_p): Remove compare_current_location argument,
5951	don't compare cur_loc.
5952	(dataflow_set_different_1): Adjust variable_different_p caller.
5953	(variable_was_changed): If dv had some var in changed_variables
5954	already, reset in_changed_variables flag for it and propagate
5955	cur_loc_changed over to the new variable.  On empty var
5956	always set cur_loc_changed.  Set in_changed_variables on whatever
5957	var is added to changed_variables.
5958	(set_slot_part): Clear cur_loc_changed and in_changed_variables.
5959	Use shared_var_p.  When removing loc that is equal to cur_loc,
5960	clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
5961	end, don't set it to something else, just call variable_was_changed.
5962	(delete_slot_part): Use shared_var_p.  When cur_loc equals to
5963	loc being removed, clear cur_loc and set cur_loc_changed.
5964	Set cur_loc_changed if all locations have been removed.
5965	(struct expand_loc_callback_data): New type.
5966	(vt_expand_loc_callback): Add dummy mode in which no rtxes are
5967	allocated.  Always create SUBREGs if simplify_subreg failed.
5968	Prefer to use cur_loc, when that fails and still in
5969	changed_variables (and seen first time) recompute it.  Set
5970	cur_loc_changed of variables which had to change cur_loc and
5971	compute elcd->cur_loc_changed if any of the subexpressions used
5972	had to change cur_loc.
5973	(vt_expand_loc): Adjust to pass arguments in
5974	expand_loc_callback_data structure.
5975	(vt_expand_loc_dummy): New function.
5976	(emitted_notes): New variable.
5977	(emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
5978	that weren't used for any other decl in current
5979	emit_notes_for_changes call call vt_expand_loc_dummy to update
5980	cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
5981	first loc_chain location if NULL before.  Always use just
5982	cur_loc instead of first loc_chain location.  When cur_loc_changed
5983	is false, when not --enable-checking=rtl just don't emit any note.
5984	When rtl checking, compute the note and assert it is the same
5985	as previous note.  Clear cur_loc_changed and in_changed_variables
5986	at the end before removing from changed_variables.
5987	(check_changed_vars_3): New function.
5988	(emit_notes_for_changes): Traverse changed_vars to call
5989	check_changed_vars_3 on each changed var.
5990	(emit_notes_for_differences_1): Clear cur_loc_changed and
5991	in_changed_variables.  Recompute cur_loc of new_var.
5992	(emit_notes_for_differences_2): Clear cur_loc if new variable appears.
5993	(vt_emit_notes): Initialize and destroy emitted_notes.
5994
59952010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
5996
5997	PR rtl-optimization/42220
5998	* regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
5999	Use verify_reg_tracked to determine if we should use OP_OUT rather
6000	than OP_INOUT.
6001	(build_def_use): If we see an in-out operand for a register that we
6002	know nothing about, treat is an output if possible, fail the block if
6003	not.
6004
60052010-03-06  Alexandre Oliva  <aoliva@redhat.com>
6006
6007	PR debug/42897
6008	* gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
6009	permanently.
6010
60112010-03-06  Alexandre Oliva  <aoliva@redhat.com>
6012
6013	PR debug/42897
6014	* tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
6015	uses of relevant DEFs that are dead outside the loop too.
6016
60172010-03-06  Alexandre Oliva  <aoliva@redhat.com>
6018
6019	* var-tracking.c (dataflow_set_merge): Swap src and src2.
6020	Reverted:
6021	2010-01-13  Jakub Jelinek  <jakub@redhat.com>
6022	PR debug/41371
6023	* var-tracking.c (values_to_unmark): New variable.
6024	(find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
6025	values_to_unmark vector.  Moved body to...
6026	(find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
6027	instead queue it into values_to_unmark vector.
6028	(vt_find_locations): Free values_to_unmark vector.
6029
60302010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
6031
6032	* Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
6033	(site.exp): Export them when plugins are enabled.
6034
60352010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
6036
6037	PR middle-end/42326
6038	* tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
6039	that contain scevs.
6040	(chrec_fold_multiply): Same.
6041
60422010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
6043
6044	PR c/43248
6045	* c-decl.c (build_compound_literal): Return early if init is
6046	an error_mark_node.
6047
60482010-03-04  Martin Jambor  <mjambor@suse.cz>
6049
6050	PR tree-optimization/43164
6051	PR tree-optimization/43191
6052	* tree-sra.c (type_consists_of_records_p): Reject records with
6053	zero-size bit-fields at the end.
6054
60552010-03-04  Mike Stump  <mikestump@comcast.net>
6056
6057	* Makefile.in (TAGS): Remove *.y.
6058
60592010-03-04  Richard Guenther  <rguenther@suse.de>
6060
6061	PR tree-optimization/40761
6062	* tree-ssa-pre.c (compute_antic): Walk reverse postorder
6063	in reverse order.
6064	(my_rev_post_order_compute): New function.
6065	(init_pre): Call it.
6066
60672010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
6068
6069	PR middle-end/43209
6070	* tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
6071	decrease the cost of an IV candidate when the cost is infinite.
6072
60732010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6074
6075	* doc/extend.texi (Vector Extensions, X86 Built-in Functions):
6076	Use '3DNow!' for the extension of that name, ensure normal space
6077	after the string.
6078	* doc/invoke.texi (i386 and x86-64 Options): Likewise.
6079
60802010-03-03  Jeff Law  <law@redhat.com>
6081
6082	* PR middle-end/32693
6083	* expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
6084	than gen_rtx_SUBREG.
6085	(extract_bit_field_1): Likewise.
6086
60872010-03-03  Janis Johnson  <janis187@us.ibm.com>
6088
6089	* doc/sourcebuild.texi (Test directives): Document that arguments
6090	include-opts and exclude-opts are now optional for dg-skip-if,
6091	dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
6092
60932010-03-03  Jason Merrill  <jason@redhat.com>
6094
6095	PR c++/12909
6096	* cgraph.h (varpool_node): Add extra_name field.
6097	* varpool.c (varpool_extra_name_alias): New.
6098	(varpool_assemble_decl): Emit extra name aliases.
6099	(varpool_mark_needed_node): Look past an extra name alias.
6100	* lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
6101	* lto-streamer-in.c (lto_input_tree): Read it.
6102	* lto-streamer-out.c (output_unreferenced_globals): Write it.
6103
61042010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
6105
6106	* config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
6107	(sparc*-*-solaris2*): ...this.
6108
61092010-03-03  Jakub Jelinek  <jakub@redhat.com>
6110
6111	PR debug/43229
6112	* cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
6113	WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
6114	ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
6115	FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
6116
6117	PR debug/43237
6118	* dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
6119	fallthrough to default handling, just with want_address 0 instead of 2.
6120	For single element lists, add_AT_loc directly, otherwise create an
6121	artificial variable DIE and stick location list to it.
6122
6123	PR debug/43177
6124	* var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
6125	(VAL_EXPR_HAS_REVERSE): Define.
6126	(reverse_op): New function.
6127	(add_stores): For reversible operations add an extra MO_VAL_USE.
6128
61292010-03-02  Jason Merrill  <jason@redhat.com>
6130
6131	* c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
6132
61332010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
6134
6135	* config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
6136	(sparc64-*-linux*): Likewise.
6137	(sparc64-*-solaris2*): Include assembler files before linker ones.
6138	(sparc-*-solaris2*): Simplify and reorder to match previous case.
6139	* config/sparc/gas.h: Delete.
6140	* config/sparc/sol2-64.h: Add copyright notice.
6141	* config/sparc/sol2-gas-bi.h: Likewise.
6142	* config/sparc/sol2-gld.h: Likewise.
6143	* config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
6144	* config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
6145	* config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
6146	* config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
6147	(sparc_elf_asm_named_section): Rename into...
6148	(sparc_solaris_elf_asm_named_section): ...this.  Always define.
6149
61502010-03-02  Uros Bizjak  <ubizjak@gmail.com>
6151
6152	* config/alpha/alpha.c (override_options): Fix -mtune error message.
6153
61542010-03-02  Jeff Law  <law@redhat.com>
6155
6156	PR middle-end/42431
6157	* reload1.c (rtx_p, substitute_stack): Declare.
6158	(substitute): Record addresses of changed rtxs.
6159	(gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
6160	Restore the original rtx when complete.
6161	(reload): Free subsitute_stack when complete.
6162
61632010-03-02  Janis Johnson  <janis187@us.ibm.com>
6164
6165	* doc/gccint.texi (menu): Add Testsuites as a chapter.
6166	* doc/sourcebuild.texi (Testsuites): Move up a level to be a
6167	new chapter.
6168	(Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
6169	LTO Testing, gcov Testing, profopt Testing, compat Testing,
6170	Torture Tests): Change from subsection to section.
6171
61722010-03-02  Jakub Jelinek  <jakub@redhat.com>
6173	    Steven Bosscher  <steven@gcc.gnu.org>
6174
6175	* var-tracking.c (vt_initialize): Scan insns in ebb chunks
6176	instead of bb.
6177
61782010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
6179
6180	PR middle-end/42640
6181	* tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
6182	the assignment from the new induction variable to the assignment
6183	of the value from the original loop PHI function.
6184
61852010-03-01  Janis Johnson  <janis187@us.ibm.com>
6186	    Daniel Jacobowitz  <dan@codesourcery.com>
6187
6188	* doc/sourcebuild.texi (Test directives): Clarify options to
6189	dg-skip-if.
6190
61912010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6192
6193	* configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
6194	Disable cfi directives unless GCC and gas agree on using read-only
6195	.eh_frame sections for 64-bit.
6196	* configure: Regenerate.
6197
61982010-03-01  Richard Guenther  <rguenther@suse.de>
6199
6200	PR tree-optimization/43220
6201	* tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
6202	BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
6203
62042010-03-01  Richard Guenther  <rguenther@suse.de>
6205	    Martin Jambor  <mjambor@suse.cz>
6206
6207	PR middle-end/41250
6208	* gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
6209	gimplified parameters.
6210
62112010-03-01  Christian Bruel  <christian.bruel@st.com>
6212
6213	* except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
6214
62152010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
6216
6217	* config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
6218
62192010-03-01  Richard Guenther  <rguenther@suse.de>
6220
6221	PR middle-end/43213
6222	* expr.c (expand_assignment): Use the alias-oracle to tell
6223	if the rhs aliases the result decl.
6224
62252010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6226
6227	PR pch/14940
6228	* config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
6229	to sol_gt_pch_get_address.
6230	(TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
6231	64-bit, SPARC and x86.
6232	(sol_gt_pch_get_address): New function.
6233
62342010-03-01  Marco Poletti  <poletti.marco@gmail.com>
6235
6236	* toplev.h (inform_n, error_n): Declare.
6237	* diagnostic.c (inform_n, error_n): New function.
6238
62392010-03-01  Jakub Jelinek  <jakub@redhat.com>
6240
6241	* cfgexpand.c (expand_used_vars): If an artificial non-ignored var
6242	has no rtl yet when processing local_decls, queue it and recheck
6243	if deferred stack allocation hasn't assigned it rtl.
6244
62452010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
6246
6247	* config/sh/sh.c (unspec_bbr_uid): New.
6248	(gen_block_redirect): Use it instead of INSN_UID.
6249	(gen_far_branch): Likewise.
6250
62512010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
6252
6253	* config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
6254	it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
6255
62562010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6257
6258	* doc/invoke.texi (Warning Options, RX Options): Fix typos.
6259	(Warning Options): -Wno-conversion-null is valid for
6260	Objective-C++ as well.
6261	* doc/tm.texi (Named Address Spaces): Likewise.
6262	* doc/plugins.texi (Plugins): Replace TABs with spaces.
6263	* doc/tree-ssa.texi (Tree SSA): Likewise.
6264
62652010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
6266
6267	PR bootstrap/43202
6268	* config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
6269	by default.  Don't set the default arch for
6270	i[34567]86-*-darwin*|x86_64-*-darwin*.
6271
62722010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
6273
6274	PR bootstrap/43202
6275	* config.gcc: Enable SSE math for i[34567]86-*-darwin* by
6276	default.  Set the default 32bit/64bit archs with $with_arch
6277	instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
6278
62792010-02-27  Richard Guenther  <rguenther@suse.de>
6280
6281	PR tree-optimization/43186
6282	* params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
6283	* doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
6284	* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
6285	unroller iterations.
6286
62872010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
6288
6289	* config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
6290	required and i[34567]86-*-* targets don't support 64bit ISA.
6291
62922010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
6293
6294	PR ada/43096
6295	* tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
6296	the same alias set.
6297
62982010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
6299
6300	* config.gcc: Set the default arch at least to Prescott for
6301	i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
6302	if SSE math is enabled.
6303
63042010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6305
6306	* diagnostic.c (diagnostic_initialize): Update.
6307	(diagnostic_report_diagnostic): Test inhibit_notes_p for
6308	informative notes.
6309	* diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
6310	(diagnostic_inhibit_notes): New.
6311	* toplev.c (process_options): inhibit notes with -fcompare-debug.
6312
63132010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6314
6315	PR c/20631
6316	* doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
6317	* doc/standards.texi: Likewise.
6318	* doc/extend.texi: Likewise.
6319	* doc/trouble.texi: Likewise.
6320	* doc/cppopts.texi: Likewise.
6321	* doc/install.texi: Likewise.
6322	* c.opt (std=c90,std=gnu90): New options.
6323	* c-opts.c (c_common_handle_option): Handle them.
6324
63252010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6326
6327	PR c/24577
6328	* c-decl.c (undeclared_variable): Use an informative note.
6329
63302010-02-26  Richard Guenther  <rguenther@suse.de>
6331
6332	PR tree-optimization/43186
6333	* gimple.h (gimple_fold): Remove.
6334	* gimple.c (gimple_fold): Remove.  Inline into single user ...
6335	* tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
6336	Try harder for conditions.
6337
63382010-02-26  Jakub Jelinek  <jakub@redhat.com>
6339
6340	PR debug/43190
6341	* function.c (used_types_insert): Don't skip through named pointer
6342	types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
6343	and it is different from the main variant's type.
6344
63452010-02-26  Nick Clifton  <nickc@redhat.com>
6346
6347	* config/rx/rx.md (sminsi3): Remove bogus alternative.
6348
63492010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
6350
6351	* config.gcc: Support --with-fpmath=sse for x86.
6352
6353	* config/i386/ssemath.h: New.
6354
6355	* doc/install.texi (--with-fpmath=sse): Documented.
6356
63572010-02-26  Richard Guenther  <rguenther@suse.de>
6358
6359	PR tree-optimization/43188
6360	* tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
6361	vector types of over-aligned element type.
6362
63632010-02-26  Uros Bizjak  <ubizjak@gmail.com>
6364
6365	PR target/43175
6366	* config/i386/i386.c (expand_vec_perm_blend): Use correct
6367	operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
6368
63692010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
6370
6371	* doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
6372
63732010-02-26  Jakub Jelinek  <jakub@redhat.com>
6374
6375	* Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
6376	* var-tracking.c: Include diagnostic.h.
6377	(debug_dv): New function.
6378	(dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
6379
6380	PR debug/43160
6381	* var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
6382	(add_value_chain, add_value_chains, remove_value_chain,
6383	remove_value_chains): Handle DEBUG_EXPRs.
6384	(check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
6385
6386	PR debug/43161
6387	* regcprop.c (struct queued_debug_insn_change): New type.
6388	(struct value_data_entry): Add debug_insn_changes field.
6389	(struct value_data): Add n_debug_insn_changes field.
6390	(debug_insn_changes_pool): New variable.
6391	(free_debug_insn_changes, apply_debug_insn_changes,
6392	cprop_find_used_regs_1, cprop_find_used_regs): New functions.
6393	(kill_value_one_regno): Call free_debug_insn_changes if needed.
6394	(init_value_data): Clear debug_insn_changes and n_debug_insn_changes
6395	fields.
6396	(replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
6397	changes for them.
6398	(copyprop_hardreg_forward_1): Don't call apply_change_group for
6399	DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
6400	changes, call cprop_find_used_regs via note_stores.
6401	(copyprop_hardreg_forward): When copying vd from predecessor
6402	which has any queued DEBUG_INSN changes, make sure the pointers are
6403	cleared.  At the end call df_analyze and then if there are any
6404	DEBUG_INSN changes queued at the end of some basic block for still
6405	live registers, apply them.
6406	(pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
6407
64082010-02-25  Uros Bizjak  <ubizjak@gmail.com>
6409
6410	* config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
6411	(arm*-*-*): Ditto.
6412
64132010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
6414
6415	* config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
6416	targets.  Set the default with_cpu/with_arch from arch/cpu.
6417	Allow x86-64 and native for with_cpu/with_arch.
6418
64192010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
6420
6421	* ebitmap.c: Change calls to verify_popcount with calls to
6422	sbitmap_verify_popcount.
6423	(ebitmap_clear_bit): Fixed map->cacheindex test and
6424	map>cache update when bit clearing results in an empty
6425	element.
6426
64272010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
6428
6429	PR target/43154
6430	* config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
6431	(vec_interleave_high<mode>): Rename from vec_interleave_highv2df
6432	and support both V2DF and V2DI modes.
6433	(vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
6434	support both V2DF and V2DI modes.
6435	(general): Delete trailing whitespace from a few patterns.
6436
6437	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
6438	V2DF/V2DI interleave high/low builtins.
6439
6440	* config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
6441	new VSX builtins.
6442
6443	* config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
6444	interleave high/low functions.
6445
64462010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
6447
6448	* doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
6449	#pragma extern_prefix.
6450
64512010-02-25  Jakub Jelinek  <jakub@redhat.com>
6452
6453	PR debug/43166
6454	* cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
6455	BLKmode, assert op0 is a MEM and just adjust its mode.
6456
6457	PR debug/43165
6458	* cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
6459	if bitpos isn't multiple of mode's bitsize.
6460
64612010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6462
6463	* c.opt (-ftemplate-depth=): New.
6464	(-ftemplate-depth-): Deprecate.
6465	* optc-gen.awk: Handle -ftemplate-depth=.
6466	* opth-gen.awk: Likewise.
6467	* c-opts.c (c_common_handle_option): Likewise.
6468	* doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
6469
64702010-02-24  Jason Merrill  <jason@redhat.com>
6471
6472	* doc/invoke.texi: Improve -Wabi and -fabi-version docs.
6473
64742010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6475
6476	* cfg.c (alloc_aux_for_block): Remove inline.
6477	(alloc_aux_for_edge): Likewise.
6478
64792010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6480
6481	* config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
6482
64832010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6484
6485	* config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
6486	* config/i386/sol2-gas.h: New file.
6487	* config.gcc (i[34567]86-*-solaris2*): Use it.
6488
64892010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6490
6491	PR c/43128
6492	* c-typeck.c (ep_convert_and_check): New.
6493	(build_conditional_expr): Use it.
6494	(build_binary_op): Likewise.
6495
64962010-02-24  Jakub Jelinek  <jakub@redhat.com>
6497
6498	* regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
6499
6500	PR debug/43150
6501	* gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
6502	bounds even for -O+.
6503	* var-tracking.c (track_expr_p): If !need_rtl, don't mandate
6504	expr needs to have DECL_NAME set.
6505
65062010-02-24  Nick Clifton  <nickc@redhat.com>
6507
6508	* config/mep/mep.c: Include gimple.h.
6509	(mep_function_uses_sp): Delete unused function.
6510	(mep_gimplify_va_arg_expr): Change types of pre_p and post_p
6511	parameters.  Use unsigned integers to count args.  Return a
6512	NULL_RTX instead of an error_mark_node.  Toidy up formatting.
6513
65142010-02-23  Jakub Jelinek  <jakub@redhat.com>
6515
6516	PR target/43107
6517	* config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
6518	greater or equal to nelt instead of 2 * nelt.
6519	(expand_vec_perm_1): When op0 and op1 are equal, mask indexes
6520	with nelt - 1.
6521
65222010-02-23  Jason Merrill  <jason@redhat.com>
6523
6524	PR debug/42800
6525	* cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
6526	in cfun->local_decls even if they have register types.
6527
6528	PR c++/42837
6529	* stor-layout.c (place_field): Don't warn about unnecessary
6530	DECL_PACKED if the type is packed.
6531
65322010-02-23  Jakub Jelinek  <jakub@redhat.com>
6533
6534	PR target/43139
6535	* config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
6536	GOTOFF relocs, even when the base reg isn't pic pointer.
6537
65382010-02-23  Michael Matz  <matz@suse.de>
6539
6540	PR debug/43077
6541	* cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
6542	(expand_gimple_basic_block): Generate and use debug temps if there
6543	are debug uses left after the last real use of TERed ssa names.
6544	Unlink debug immediate uses when they are expanded.
6545
65462010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6547
6548	PR 43123
6549	* config/i386/i386.c (override_options): Reorganise to provide
6550	better error messages.
6551
65522010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
6553
6554	PR middle-end/43083
6555	* graphite-scop-detection.c (create_single_exit_edge): Move
6556	the call to find_single_exit_edge to....
6557	(create_sese_edges): ...here.  Don't handle multiple edges
6558	exiting the function.
6559	(build_graphite_scops): Don't handle multiple edges
6560	exiting the function.
6561
65622010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
6563
6564	PR middle-end/43097
6565	* sese.c (get_rename): Assert that old_name is an SSA_NAME.
6566	(rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
6567
65682010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
6569
6570	PR middle-end/43026
6571	* sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
6572
65732010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6574
6575	PR c++/43126
6576	* c-typeck.c (convert_arguments): Print declaration location.
6577	* c-common.c (validate_nargs): Rename as
6578	builtin_function_validate_nargs.
6579	(check_builtin_function_arguments): Update.
6580
65812010-02-22  Richard Guenther  <rguenther@suse.de>
6582
6583	PR lto/43045
6584	* tree-inline.c (declare_return_variable): Use the type of
6585	the call stmt lhs if available.
6586
65872010-02-22  Duncan Sands  <baldrick@free.fr>
6588
6589	* passes.c (register_pass): Always consider all pass lists when
6590	ref_pass_instance_number is zero.
6591
65922010-02-22  Richard Guenther  <rguenther@suse.de>
6593
6594	PR tree-optimization/42749
6595	* tree-tailcall.c (adjust_return_value_with_ops): Drop update
6596	parameter.  Do arithmetic in the original type.
6597	(update_accumulator_with_ops): Likewise.
6598	(adjust_accumulator_values): Adjust.
6599
66002010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6601
6602	* config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
6603	(QI to BLKmode splitter): New splitter.
6604
66052010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
6606
6607	* config/i386/i386.c (initial_ix86_tune_features): Turn on
6608	X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
6609
66102010-02-22  Richard Guenther  <rguenther@suse.de>
6611
6612	* tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
6613
66142010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
6615
6616	Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
6617	* config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
6618	($(T)crti.o, $(T)crtn.o): Remove rules.
6619
66202010-02-21  Tobias Burnus  <burnus@net-b.de>
6621
6622	PR fortran/35259
6623	* doc/invoke.texi (-fassociative-math): Document that this
6624	option is automatically enabled for Fortran.
6625
66262010-02-20  David S. Miller  <davem@davemloft.net>
6627
6628	* configure.ac: Test if linker and assembler properly support
6629	GOTDATA_OP relocations.
6630	* configure: Rebuild.
6631	* config.in: Likewise.
6632	* config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
6633	(movsi_lo_sum_pic): Use %gdop_*() relocs if available.
6634	(movsi_high_pic): Likewise.
6635	(movdi_lo_sum_pic): Likewise.
6636	(movdi_high_pic): Likewise.
6637	(movsi_pic_gotdata_op): New pattern.
6638	(movdi_pic_gotdata_op): Likewise.
6639	* config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
6640	emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
6641
66422010-02-20  Uros Bizjak  <ubizjak@gmail.com>
6643
6644	PR target/43067
6645	* config/i386/sse.md (xop_mulv2div2di3_low): Change type
6646	attribute to ssemul.
6647	(xop_mulv2div2di3_high): Ditto.
6648
66492010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6650
6651	PR c++/35669
6652	* c.opt (Wconversion-null): New option.
6653	* doc/invoke.texi (Wconversion-null): Document.
6654
66552010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6656
6657	* common.opt (Wlarger-than-): Add Undocumented.
6658
66592010-02-19  Mike Stump  <mikestump@comcast.net>
6660
6661	* config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
6662
66632010-02-19  Jason Merrill  <jason@redhat.com>
6664
6665	PR target/40332
6666	* configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
6667	* configure: Likewise.
6668
66692010-02-20  Alan Modra  <amodra@gmail.com>
6670
6671	PR middle-end/42344
6672	* cgraph.h (cgraph_make_decl_local): Declare.
6673	* cgraph.c (cgraph_make_decl_local): New function.
6674	(cgraph_make_node_local): Use it.
6675	* cgraphunit.c (cgraph_function_versioning): Likewise.
6676	* ipa.c (function_and_variable_visibility): Likewise.
6677
66782010-02-19  Jakub Jelinek  <jakub@redhat.com>
6679
6680	PR bootstrap/43121
6681	* except.c (sjlj_emit_function_enter): Don't call
6682	add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
6683	directly.
6684	* rtl.h (add_reg_br_prob_note): Remove prototype.
6685
66862010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6687
6688	PR 41779
6689	* c-common.c (conversion_warning): Remove widening conversions
6690	before checking the conversion of integers to reals.
6691
66922010-02-19  Mike Stump  <mikestump@comcast.net>
6693
6694	PR middle-end/43125
6695	* c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
6696
6697	PR objc/43061
6698	* cgraphunit.c (process_function_and_variable_attributes): Check
6699	DECL_PRESERVE_P instead of looking up attribute "used".
6700	* ipa-pure-const.c (check_decl): Likewise.
6701	* ipa-reference.c (has_proper_scope_for_analysis): Likewise.
6702	* ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
6703	* config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
6704	instead of attribute "used".
6705	* config/sol2-c.c (solaris_pragma_init): Likewise.
6706	(solaris_pragma_fini): Likewise.
6707
67082010-02-19  Jakub Jelinek  <jakub@redhat.com>
6709
6710	* ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
6711	Use XCNEW instead of xcalloc.
6712	(add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
6713	XNEW instead of xmalloc.
6714	(get_fields): Use XNEWVEC instead of xmalloc.
6715
6716	PR debug/43084
6717	* ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
6718	populate vars array.
6719	(create_new_general_access): For debug stmts just reset value.
6720	(get_stmt_accesses): For accesses within debug stmts just record them
6721	using add_access_to_acc_sites instead of preventing the peeling or
6722	counting them as accesses.
6723
6724	PR middle-end/42233
6725	* dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
6726
67272010-02-19  Richard Guenther  <rguenther@suse.de>
6728
6729	PR tree-optimization/42916
6730	* tree-vect-slp.c (vect_slp_analyze_bb): Count only real
6731	instructions.
6732
67332010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
6734
6735	* configure.ac: Replace all uses of changequote in macro arguments
6736	with proper quoting.
6737
67382010-02-19  Jakub Jelinek  <jakub@redhat.com>
6739
6740	PR middle-end/42233
6741	* loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
6742
67432010-02-19  Richard Guenther  <rguenther@suse.de>
6744
6745	PR tree-optimization/42944
6746	* tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
6747	test for aliasing with errno.
6748
67492010-02-19  Jakub Jelinek  <jakub@redhat.com>
6750
6751	PR middle-end/42233
6752	* expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
6753	do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
6754	* dojump.c: Include output.h.
6755	(inv): New inline function.
6756	(jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
6757	do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
6758	do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
6759	do_jump_by_parts_equality, do_compare_and_jump): Add PROB
6760	argument, pass it down to other calls.
6761	(do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
6762	add REG_BR_PROB note to the conditional jump.
6763	* cfgexpand.c (add_reg_br_prob_note): Removed.
6764	(expand_gimple_cond): Don't call it, add the probability
6765	as last argument to jumpif_1/jumpifnot_1.
6766	* Makefile.in (dojump.o): Depend on output.h.
6767	* builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
6768	callers.
6769	* expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
6770	* stmt.c (do_jump_if_equal): Likewise.
6771	* cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
6772	* loop-unswitch.c (compare_and_jump_seq): Likewise.
6773	* config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
6774	Likewise.
6775	* optabs.c (expand_doubleword_shift, expand_abs): Likewise.
6776	* expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
6777	jumpifnot_1 callers.
6778	(expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
6779	callers.
6780	(store_expr): Adjust jumpifnot caller.
6781	(store_constructor): Adjust jumpif caller.
6782
6783	PR middle-end/42233
6784	* gimplify.c (gimple_boolify): For __builtin_expect call
6785	gimple_boolify also on its first argument.
6786
67872010-02-18  Uros Bizjak  <ubizjak@gmail.com>
6788
6789	* configure.ac (gnu-unique-object): Wrap regexps using [] in
6790	changequote block.
6791	(__stack_chk_fail): Ditto.  Remove quadrigraphs.
6792	* configure: Regenerated.
6793
67942010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6795
6796	* config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
6797	lang_hooks.types_compatible_p instead of comptypes.
6798
67992010-02-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6800
6801	* config/arm/lib1funcs.asm (__prefer_thumb__): New define.
6802	(udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
6803	if __prefer_thumb__ is defined.
6804
68052010-02-18  Martin Jambor  <mjambor@suse.cz>
6806
6807	PR tree-optimization/43066
6808	* tree-sra.c (build_ref_for_offset_1): Return false on encountering an
6809	array with zero-sized element type.
6810
68112010-02-18  Jakub Jelinek  <jakub@redhat.com>
6812
6813	* dwarf2out.c (add_var_loc_to_decl): Change last argument to
6814	rtx, allocate struct var_loc_node here and return it to the
6815	caller, and only if it is actually needed.
6816	(dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
6817	move it earlier and return immediately if it returns NULL.
6818
68192010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
6820
6821	* config/sparc/gas.h: New file.  Restore
6822	TARGET_ASM_NAMED_SECTION to its ELF default.
6823	* config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
6824	check !HAVE_GNU_AS.
6825	* config/sparc/sparc.c (sparc_elf_asm_named_section):
6826	Likewise.  Add ATTRIBUTE_UNUSED to prototype.
6827	* config.gcc (sparc*-*-linux*): Include sparc/gas.h
6828	after sparc/sysv4.h.
6829
68302010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
6831
6832	* config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
6833
68342010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
6835
6836	* gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
6837	patterns from predicated pattern.
6838
68392010-02-17  Uros Bizjak  <ubizjak@gmail.com>
6840
6841	PR target/43103
6842	* config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
6843	for insn mnemonic suffix.
6844
68452010-02-17  Richard Guenther  <rguenther@suse.de>
6846
6847	* tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
6848	to loop PHI nodes.
6849
68502010-02-17  Jakub Jelinek  <jakub@redhat.com>
6851
6852	PR debug/42918
6853	* caller-save.c (save_call_clobbered_regs): If BB ends with
6854	a DEBUG_INSN, move any notes in between last real insn and the last
6855	DEBUG_INSN after the last DEBUG_INSN.
6856
68572010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
6858
6859	* tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
6860	Fix return type.  Fix argument type.  Explain meaning of return value.
6861
68622010-02-16  Richard Guenther  <rguenther@suse.de>
6863
6864	PR tree-optimization/41043
6865	* tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
6866	(vrp_visit_assignment_or_call): Do not ask SCEV for regular
6867	statements ...
6868	(vrp_visit_phi_node): ... but only for loop PHI nodes.
6869
68702010-02-16  Ira Rosen  <irar@il.ibm.com>
6871
6872	PR tree-optimization/43074
6873	* tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
6874	* tree-vect-loop.c (vect_analyze_loop_operations): Add
6875	vectorizable cycles in hybrid SLP check.
6876	* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
6877
68782010-02-16  Richard Guenther  <rguenther@suse.de>
6879
6880	* alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
6881	(true_dependence): If memrefs_conflict_p computes must-alias
6882	trust it.  Move TBAA check after offset-based disambiguation.
6883	(canon_true_dependence): Likewise.
6884
68852010-02-16  Alexandre Oliva  <aoliva@redhat.com>
6886
6887	* params.def (PARAM_MAX_VARTRACK_SIZE): New.
6888	* doc/invoke.texi: Document it.
6889	* var-tracking.c: Include toplev.h and params.h.
6890	(vt_find_locations): Return bool indicating success.  Compute
6891	hash sizes unconditionally.  Check new parameter, report.
6892	(variable_tracking_main_1): Check vt_find_locations results and
6893	retry.  Renamed from...
6894	(variable_tracking_main): ... this.  New wrapper to preserve
6895	flag_var_tracking_assignments.
6896	* Makefile.in (var-tracking.o): Adjust dependencies.
6897
68982010-02-16  Jack Howarth  <howarth@bromo.med.uc.edu>
6899	    Jakub Jelinek  <jakub@redhat.com>
6900
6901	PR target/42854
6902	* config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
6903	if weak_import attribute is present.
6904	* config/darwin.c (machopic_select_section): Likewise.
6905
69062010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
6907
6908	* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
6909	(TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
6910	(TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
6911	(TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
6912
6913	* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types.
6914
6915	* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
6916	Fix argument types.
6917
6918	* doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
6919	Rewrite text to refer to the names.
6920
69212010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
6922
6923	* config/i386/i386-builtin-types.def
6924	(V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
6925	(V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
6926	(V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
6927	(V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
6928	* config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
6929	IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
6930	IX86_BUILTIN_VPERMIL2PS256.
6931	(MULTI_ARG_4_DF2_DI_I): Defined.
6932	(MULTI_ARG_4_DF2_DI_I1): Defined.
6933	(MULTI_ARG_4_SF2_SI_I): Defined.
6934	(MULTI_ARG_4_SF2_SI_I1): Defined.
6935	(bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
6936	__builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
6937	__builtin_ia32_vpermil2ps256.
6938	(ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
6939	MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
6940	MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
6941	(ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
6942	MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
6943	MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
6944	CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
6945	CODE_FOR_xop_vpermil2v8sf3.
6946	* config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
6947	* config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
6948	* config/i386/xopintrin.h (_mm_permute2_pd): New.
6949	(_mm256_permute2_pd): New.
6950	(_mm_permute2_ps): New.
6951	(_mm256_permute2_ps): New.
6952
69532010-02-15  Nick Clifton  <nickc@redhat.com>
6954
6955	* config/h8300/h8300.c: (h8300_push_pop): Use bool type for
6956	boolean parameters.  Use emit_jump_insn when emitting a pop
6957	instruction containing a return insn.
6958	(push): Use 'true' rather than '1' as second parameter to F.
6959	(h8300_expand_prologue): Likewise.
6960	Use 'true' and 'false' for boolean parameters to h8300_push_pop.
6961	(h8300_expand_epilogue): Likewise.
6962
69632010-02-15  Richard Guenther  <rguenther@suse.de>
6964
6965	PR middle-end/43068
6966	* cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
6967	if that is zero.
6968
69692010-02-15  Nick Clifton  <nickc@redhat.com>
6970
6971	* config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
6972	delta.
6973
69742010-02-14  Marco Poletti  <poletti.marco@gmail.com>
6975
6976	* intl.c (fake_ngettext): New function.
6977	* intl.h (fake_ngettext): Declare.
6978	(ngettext): Define macro.
6979	* collect2.c (notice_translated): New function.
6980	(main): Use notice_translated and ngettext.
6981	* collect2.h (notice_translated): Declare.
6982
69832010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
6984
6985	* reorg.c (delete_computation): Comment fixes.
6986	* caller-save.c (setup_save_areas): Idem.
6987	* sel-sched-dump.c (dump_lv_set): Idem.
6988	* rtl.def: Idem.
6989
69902010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6991
6992	* config/s390/s390.c (s390_sched_init): New function.
6993	(TARGET_SCHED_INIT): Target hook defined.
6994
69952010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
6996	    Jack Howarth  <howarth@bromo.med.uc.edu>
6997	    Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
6998
6999	PR target/42982
7000	Partial revert of unintended change in fix for PR41605.
7001	* config/darwin.h: Fix typo.
7002	* config/darwin9.h: Same.
7003
70042010-02-11  Jakub Jelinek  <jakub@redhat.com>
7005
7006	* c-pch.c (pch_init): Clear v.
7007
70082010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
7009
7010	PR middle-end/42930
7011	* graphite-scop-detection.c (graphite_can_represent_scev): Call
7012	graphite_can_represent_init for MULT_EXPR.
7013
70142010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
7015
7016	PR middle-end/42914
7017	PR middle-end/42530
7018	* graphite-sese-to-poly.c (remove_phi): New.
7019	(translate_scalar_reduction_to_array): Call remove_phi.
7020
70212010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
7022
7023	PR middle-end/42771
7024	* graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
7025	* graphite-clast-to-gimple.h (gloog): Update declaration.
7026	* graphite-poly.c (new_scop): Clear POLY_SCOP_P.
7027	* graphite-poly.h (struct poly_bb): Add missing comments.
7028	(struct scop): Add poly_scop_p field.
7029	(POLY_SCOP_P): New.
7030	* graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
7031	* graphite.c (graphite_transform_loops): Build the polyhedral
7032	representation for each scop before code generation.
7033	* sese.c (rename_variables_in_operand): Removed.
7034	(rename_variables_in_expr): Return the renamed expression.
7035	(rename_sese_parameters): New.
7036	* sese.h (rename_sese_parameters): Declared.
7037
70382010-02-11  Richard Guenther  <rguenther@suse.de>
7039
7040	PR tree-optimization/42998
7041	* tree-ssa-pre.c (create_expression_by_pieces): Treat
7042	POINTER_PLUS_EXPR properly.
7043
70442010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
7045	    Changpeng Fang  <changpeng.fang@amd.com>
7046
7047	PR middle-end/40886
7048	* tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
7049	the cost of an IV candidate when the IV is used in a test against zero.
7050
7051	* gcc.dg/tree-ssa/ivopts-3.c: New.
7052
70532010-02-11  Richard Guenther  <rguenther@suse.de>
7054
7055	PR lto/41664
7056	* tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
7057	pointer-vs-decl case by swapping refs.  Handle some cases
7058	of pointer-vs-decl disambiguations more conservatively.
7059	* cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
7060	to false after expanding.
7061
70622010-02-11  Richard Guenther  <rguenther@suse.de>
7063
7064	PR driver/43021
7065	* gcc.c (process_command): Handle LTO file@offset case more
7066	appropriately.
7067
70682010-02-11  Jakub Jelinek  <jakub@redhat.com>
7069
7070	* reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
7071	modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
7072	of DEBUG_INSNs.
7073	(eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
7074
7075	* dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
7076	if MEM's mode size isn't DWARF2_ADDR_SIZE.
7077	(mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
7078	Optimize eq/ne comparisons when both arguments are known to be
7079	zero-extended.
7080	(mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
7081	Don't mask operands unnecessarily if they are known to be already
7082	zero-extended.
7083
70842010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
7085
7086	* ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
7087	instead of loop.
7088
70892010-02-10  Richard Guenther  <rguenther@suse.de>
7090
7091	PR tree-optimization/43017
7092	* tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
7093	for wrapping signed arithmetic.
7094
70952010-02-10  Jakub Jelinek  <jakub@redhat.com>
7096
7097	PR debug/43010
7098	* dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
7099	if no debug info should be emitted for it.
7100
71012010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
7102
7103	* config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
7104	note when flag_exceptions is set.
7105
71062010-02-10  Duncan Sands  <baldrick@free.fr>
7107
7108	* Makefile.in (PLUGIN_HEADERS): Add debug.h.
7109
71102010-02-10  Richard Guenther  <rguenther@suse.de>
7111
7112	PR c/43007
7113	* tree.c (get_unwidened): Handle constants.
7114	* convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
7115
71162010-02-10  Martin Jambor  <mjambor@suse.cz>
7117
7118	PR lto/42985
7119	* ipa-prop.c (ipa_update_after_lto_read): Count parameters and
7120	check for variable argument counts independently.
7121
71222010-02-10  Christian Bruel  <christian.bruel@st.com>
7123
7124	PR target/42841
7125	* config/sh/sh.c (find_barrier): Increase length for non delayed
7126	conditional branches.
7127
71282010-02-10  Christian Bruel  <christian.bruel@st.com>
7129
7130	* config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
7131
71322010-02-10  Jakub Jelinek  <jakub@redhat.com>
7133
7134	* builtins.c (set_builtin_user_assembler_name): Also handle
7135	ffs if int is smaller than word.
7136
71372010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
7138
7139	PR middle-end/42973
7140	* ira-conflicts.c (get_dup): Remove.
7141	(process_reg_shuffles): Add new parameter.  Use it as an
7142	additional guard for copy generation.
7143	(add_insn_allocno_copies): Rewrite.
7144
71452010-02-09  Alexander Monakov  <amonakov@ispras.ru>
7146
7147	* common.opt (fsched2-use-traces): Preserved for backward
7148	compatibility.
7149	* doc/invoke.texi: Remove the documentation about option
7150	-fsched2-use-traces.
7151	* sched-rgn.c (rest_of_handle_sched2): Remove usage of
7152	flag_sched2_use_traces.
7153	* opts.c (common_handle_option): Add OPT_fsched2_use_traces to
7154	the backward compatibility flag section.
7155
71562010-02-09  Richard Guenther  <rguenther@suse.de>
7157
7158	PR tree-optimization/43008
7159	* tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
7160	make HEAP variables initialized from global memory if they
7161	are not known builtin functions.
7162	(find_func_aliases): Adjust.
7163
71642010-02-09  Richard Guenther  <rguenther@suse.de>
7165
7166	PR tree-optimization/43000
7167	* tree-vrp.c (vrp_int_const_binop): Only handle unsigned
7168	arithmetic manually.
7169
71702010-02-08  Jakub Jelinek  <jakub@redhat.com>
7171
7172	PR tree-optimization/42931
7173	* tree-loop-linear.c (try_interchange_loops): Don't call
7174	double_int_mul if estimated_loop_iterations failed.
7175
71762010-02-08  Martin Jambor  <mjambor@suse.cz>
7177
7178	PR middle-end/42898
7179	* tree-sra.c (build_accesses_from_assign): Do not mark in
7180	should_scalarize_away_bitmap if stmt has volatile ops.
7181	(sra_modify_assign): Do not process assigns piecemeal if if stmt
7182	has volatile ops.
7183
71842010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
7185
7186	* doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
7187
71882010-02-07  Adam Nemet  <adambnmet@gmail.com>
7189
7190	* config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
7191	before the pattern.
7192
71932010-02-07  Andrew Pinski  <pinskia@gmail.com>
7194
7195	PR middle-end/42946
7196	* df-core.c (df_finish_pass): Change type of saved_flags to int.
7197
71982010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
7199
7200	PR middle-end/42988
7201	* graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
7202	to unknown_dependence.
7203	(graphite_legal_transform_dr): Handle the unknown_dependence.
7204	(graphite_carried_dependence_level_k): Same.
7205
72062010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
7207
7208	* ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
7209
72102010-02-07  Richard Guenther  <rguenther@suse.de>
7211
7212	PR middle-end/42991
7213	* expr.c (get_inner_reference): Always initialize *pbitsize.
7214
72152010-02-07  Richard Guenther  <rguenther@suse.de>
7216
7217	PR middle-end/42956
7218	* gimplify.c (gimple_fold_indirect_ref): Avoid generating
7219	new ARRAY_REFs on variable size element or minimal index arrays.
7220	Complete.
7221	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
7222	gimple_fold_indirect_ref.
7223
72242010-02-06  Richard Earnshaw  <rearnsha@arm.com>
7225
7226	PR target/42957
7227	* arm.c (arm_override_options): Just return if the user has specified
7228	an invalid fpu name.
7229
72302010-02-03  Jason Merrill  <jason@redhat.com>
7231
7232	PR c++/42870
7233	* config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
7234	i386_pe_maybe_record_exported_symbol.
7235
72362010-02-05  Steve Ellcey  <sje@cup.hp.com>
7237
7238	PR target/42924
7239	* config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
7240	(pa_delegitimize_address): New function.
7241
72422010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
7243
7244	* config/i386/msformat-c.c (ms_printf_length_specs): Set the
7245	scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
7246
72472010-02-05  Richard Guenther  <rguenther@suse.de>
7248
7249	PR lto/42762
7250	* lto-streamer-in.c (get_resolution): Deal with references
7251	to undefined functions.
7252
72532010-02-05  Richard Guenther  <rguenther@suse.de>
7254
7255	* tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
7256	(fold_const_aggregate_ref): Likewise.
7257	(ccp_fold_stmt): Substitute loads.
7258	(maybe_fold_reference): Verify types before substituting.
7259	Unshare properly.
7260	(fold_gimple_assign): Unshare properly.
7261	(fold_stmt_1): Insert conversion if necessary before replacing the RHS.
7262
72632010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
7264
7265	* config/rs6000/rs6000.c (rs6000_override_options): Invert check
7266	for rs6000_gen_cell_microcode.
7267
72682010-02-04  Richard Guenther  <rguenther@suse.de>
7269
7270	PR rtl-optimization/42952
7271	* dse.c (const_or_frame_p): Remove MEM handling.
7272
72732010-02-04  Nick Clifton  <nickc@redhat.com>
7274
7275	* config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
7276	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
7277	(function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
7278	(mn10300_asm_output_mi_thunk): New function.
7279	(mn10300_can_output_mu_thunk): New function.
7280	* config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
7281	(FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
7282	(FUNCTION_ARG): Delete incorrect comment.
7283
72842010-02-03  Jason Merrill  <jason@redhat.com>
7285
7286	PR c++/40138
7287	* fold-const.c (operand_equal_p): Handle erroneous types.
7288
72892010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
7290
7291	* config/h8300/h8300.md (can_delay): Fix attibute condition.
7292
72932010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
7294
7295	PR rtl-optimization/42941
7296	* sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
7297	of xmalloc.
7298
72992010-02-03  Jason Merrill  <jason@redhat.com>
7300
7301	PR c++/35652
7302	* builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
7303
73042010-02-03  Alexandre Oliva  <aoliva@redhat.com>
7305
7306	PR debug/42896
7307	* cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
7308	(cselib_reset_table): Renamed from...
7309	(cselib_reset_table_with_next_value): ... this.
7310	(cselib_get_next_uid): Renamed from...
7311	(cselib_get_next_unknown_value): ... this.
7312	* cselib.c (next_uid): Renamed from...
7313	(next_unknown_value): ... this.
7314	(cselib_clear_table): Adjust.
7315	(cselib_reset_table): Adjust.  Renamed from...
7316	(cselib_reset_table_with_next_value): ... this.
7317	(cselib_get_next_uid): Adjust.  Renamed from...
7318	(cselib_get_next_unknown_value): ... this.
7319	(get_value_hash): Use hash.
7320	(cselib_hash_rtx): Likewise.
7321	(new_cselib_val): Adjust.  Set and dump uid.
7322	(cselib_lookup_mem): Pass next_uid as hash.
7323	(cselib_subst_to_values): Likewise.
7324	(cselib_log_lookup): Dump uid.
7325	(cselib_lookup): Pass next_uid as hash.  Adjust.
7326	(cselib_process_insn): Adjust.
7327	(cselib_init): Initialize next_uid.
7328	(cselib_finish): Adjust.
7329	(dump_cselib_table): Likewise.
7330	* dse.c (canon_address): Dump value uid.
7331	* print-rtl.c (print_rtx): Print value uid.
7332	* var-tracking.c (VARIABLE_HASH_VAL): Dropped.
7333	(dvuid): New type.
7334	(dv_uid): New function, sort of renamed from...
7335	(dv_htab_hash): ... this, reimplemented in terms of it and...
7336	(dv_uid2hash): ... this.  New.
7337	(variable_htab_eq): Drop excess assertions.
7338	(tie_break_pointers): Removed.
7339	(canon_value_cmp): Compare uids.
7340	(variable_post_merge_New_vals): Print uids.
7341	(vt_add_function_parameters): Adjust.
7342	(vt_initialize): Reset table.  Adjust.
7343
73442010-02-03  Richard Guenther  <rguenther@suse.de>
7345
7346	PR tree-optimization/42944
7347	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
7348	(call_may_clobber_ref_p_1): Likewise.  Properly handle
7349	malloc and calloc clobbering errno.
7350
73512010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
7352
7353	* doc/invoke.texi: Fix name of sched1 dump.
7354
7355	* opts.c (decode_options): Set flag_tree_switch_conversion
7356	only conditionally on optimize >= 2.
7357
7358	* gcse.c: Assorted comment fixes in pass description.
7359
73602010-02-03  Anthony Green  <green@moxielogic.com>
7361
7362	* config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
7363	nop padding in order to maintain alignment of storage location of
7364	target function address.
7365	(moxie_trampoline_init): Store target function address at newly
7366	aligned location.
7367	* config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
7368	to 32.
7369	(TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
7370
73712010-02-03  Richard Guenther  <rguenther@suse.de>
7372
7373	PR middle-end/42927
7374	* tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
7375
73762010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7377
7378	* config.gcc: Reenable check for obsolete targets.
7379	Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
7380	mips-sgi-irix6.[0-4]*.
7381
73822010-02-02  Nick Clifton  <nickc@redhat.com>
7383
7384	* config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
7385	constant size of 4 as being the same as 0.
7386	* doc/invoke.texi (RX Options): Document that -mmax-constant-size
7387	can take values in the range 0..4.
7388
73892010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
7390
7391	PR java/41991
7392	* unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
7393	as _darwin10_Unwind_FindEnclosingFunction().
7394	* libgcc-libsystem.ver: New.
7395
73962010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
7397
7398	PR target/41399
7399	* sched-deps.c (sched_analyze_insn): Ignore fixed registers for
7400	implicitly set registers.
7401
74022010-02-01  Richard Earnshaw  <rearnsha@arm.com>
7403
7404	* arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
7405	(arm_override_options): Allow automatic selection of the thread
7406	pointer register if thumb2.
7407	(legitimize_pic_address): Improve code sequences for Thumb2.
7408	(arm_call_tls_get_addr): Likewise.
7409	(legitimize_tls_address): Likewise.
7410	* arm.md (pic_load_addr_arm): Delete.  Replace with ...
7411	(pic_load_addr_32bit): ... this.  New named pattern.
7412	* thumb2.md (pic_load_addr_thumb2): Delete.
7413	(pic_load_dot_plus_four): Delete.
7414	(tls_load_dot_plus_four): New named pattern.
7415
74162010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7417
7418	PR libgomp/29986
7419	* doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
7420	Document fix for TLS bug.
7421
74222010-01-31  Richard Guenther  <rguenther@suse.de>
7423
7424	* tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
7425	conservatively correct.
7426
74272010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7428
7429	PR target/42850
7430	Revert:
7431	2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7432
7433	* config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
7434
74352010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7436
7437	* doc/install.texi: Update recommended GMP/MPFR/MPC versions.
7438
74392010-01-31  Kai Tietz  <kai.tietz@onevision.com>
7440
7441	* config.gcc: Adjust order of makefile fragments for mingw targets.
7442
74432010-01-31  Richard Guenther  <rguenther@suse.de>
7444
7445	PR middle-end/42898
7446	* gimplify.c (gimplify_init_constructor): For volatile LHS
7447	initialize a temporary.
7448
74492010-01-31  Matthias Klose  <doko@ubuntu.com>
7450
7451	* configure.ac: Fix __stack_chk_fail check for cross builds configured
7452	--with-headers
7453	* configure: Regenerate.
7454
74552010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
7456
7457	* tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
7458	the same alias set and their sizes different constantness.
7459	(aliasing_component_refs_p): Revert 2009-10-24 change.
7460
74612010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7462
7463	* config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
7464	unused.
7465
74662010-01-29  Richard Guenther  <rguenther@suse.de>
7467
7468	* tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
7469	Assert we successfully updated the call.
7470
74712010-01-29  Jakub Jelinek  <jakub@redhat.com>
7472
7473	PR rtl-optimization/42889
7474	* df.h (df_set_bb_dirty_nonlr): New prototype.
7475	* df-core.c (df_set_bb_dirty_nonlr): New function.
7476	* df-scan.c (df_insn_rescan): Call it instead of
7477	df_set_bb_dirty for DEBUG_INSNs.
7478
74792010-01-29  Richard Guenther  <rguenther@suse.de>
7480
7481	PR middle-end/37448
7482	* ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
7483	quadratic behavior in most cases.
7484
74852010-01-28  Uros Bizjak  <ubizjak@gmail.com>
7486
7487	PR target/42891
7488	* config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
7489	in the call to gen_x86_movsicc_0_m1.
7490
74912010-01-28  Richard Guenther  <rguenther@suse.de>
7492
7493	PR tree-optimization/42871
7494	* tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
7495
74962010-01-28  Richard Guenther  <rguenther@suse.de>
7497
7498	* tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
7499	into call arguments.
7500
75012010-01-28  Richard Guenther  <rguenther@suse.de>
7502
7503	PR middle-end/42883
7504	* tree-cfgcleanup.c (remove_forwarder_block): Do not remove
7505	the forwarder if the destination is an EH landing pad.
7506
75072010-01-28  Razya Ladelsky  <razya@il.ibm.com>
7508
7509	* tree-parloops.c (transform_to_exit_first_loop): Update the basic
7510	block list passed to gimple_duplicate_sese_tail.
7511	(parallelize_loops): Avoid parallelization when the function
7512	has_nonlocal_label.
7513	Avoid parallelization when the preheader is IRREDUCIBLE.
7514	Try to optimize when estimated_loop_iterations_int is unresolved.
7515	Add the loop's location to the dump file.
7516	* tree-cfg.c (add_phi_args_after_redirect): Remove.
7517	(gimple_duplicate_sese_tail): Remove the check for the latch.
7518	Redirect nexits to the exit block.
7519	Remove handling of the incoming edges to the latch.
7520	Redirect the backedge from the copied latch to the exit bb.
7521
75222010-01-28  Michael Matz  <matz@suse.de>
7523
7524	PR target/42881
7525	* config/i386/i386.c (ix86_expand_vector_init_duplicate):
7526	Wrap force_reg into a sequence, emit it before user.
7527
75282010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
7529
7530	* config/arm/arm.md (bswapsi2): Add support for bswapsi2.
7531	(arm_rev): New.
7532	(arm_legacy_rev): Likewise.
7533	(thumb_legacy_rev): Likewise.
7534
75352010-01-27  Jakub Jelinek  <jakub@redhat.com>
7536
7537	* dwarf2out.c (mem_loc_descriptor): Remove special casing of
7538	CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
7539	on MEM's address failed, try avoid_constant_pool_reference and
7540	recurse if it returned something different.
7541	(loc_descriptor): If for MEM mem_loc_descriptor failed on the
7542	address, try avoid_constant_pool_reference and recurse if it
7543	returned something different.
7544	(dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
7545	address and avoid_constant_pool_reference returned something
7546	different, don't set have_address.
7547
75482010-01-27  Alexandre Oliva  <aoliva@redhat.com>
7549
7550	PR debug/42861
7551	* var-tracking.c (val_store): Add modified argument, obey it.
7552	Adjust callers.
7553	(count_uses): Move down logging of main.
7554	(compute_bb_dataflow): Use val_store for MO_VAL_USEs that
7555	don't need resolution.
7556	(emit_notes_in_bb): Likewise.
7557
75582010-01-27  Richard Guenther  <rguenther@suse.de>
7559
7560	PR middle-end/42878
7561	* tree-inline.c (remap_decl): Delay remapping of SSA name
7562	default definitions until we need them.
7563
75642010-01-27  Jakub Jelinek  <jakub@redhat.com>
7565
7566	* config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
7567	(rs6000_delegitimize_address): New function.
7568
7569	* config/s390/s390.c (s390_delegitimize_address): Call
7570	delegitimize_mem_from_attrs.
7571
7572	PR middle-end/42874
7573	* tree-inline.c (cannot_copy_type_1): Removed.
7574	(copy_forbidden): Don't forbid copying of functions containing
7575	records/unions with variable length fields.
7576
75772010-01-27  Christian Bruel  <christian.bruel@st.com>
7578
7579	Revert:
7580	PR target/42841
7581	* config/sh/sh.c (find_barrier): Increase length for non delayed
7582	conditional branches.
7583
75842010-01-27  Matthias Klose  <doko@ubuntu.com>
7585
7586	* configure.ac (gnu-unique-object): Fix ldd version check.
7587	* configure: Regenerate.
7588
75892010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7590
7591	* config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
7592	HAVE_GNU_AS value.
7593	* config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
7594	Test for HAVE_GNU_AS value.
7595
75962010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7597
7598	* config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
7599	* config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
7600	INT64_TYPE): Define.
7601	(UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
7602	(INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
7603	INT_LEAST64_TYPE): Define.
7604	(UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
7605	UINT_LEAST64_TYPE): Define.
7606	(INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
7607	INT_FAST64_TYPE): Define.
7608	(UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
7609	UINT_FAST64_TYPE): Define.
7610	(INTMAX_TYPE, UINTMAX_TYPE): Define.
7611	(INTPTR_TYPE, UINTPTR_TYPE): Define.
7612	(SIG_ATOMIC_TYPE): Define.
7613
76142010-01-26  Richard Guenther  <rguenther@suse.de>
7615
7616	* df-scan.c (df_scan_set_bb_info): Remove assert.
7617	(df_insn_rescan_debug_internal): Merge asserts.
7618	(df_install_ref): Likewise.
7619	(df_mark_reg): Use bitmap_set_range.
7620	(df_hard_reg_used_p): Remove assert.
7621	(df_hard_reg_used_count): Likewise.
7622
76232010-01-26  Richard Guenther  <rguenther@suse.de>
7624
7625	PR rtl-optimization/42685
7626	* web.c (web_main): Ignore DEBUG_INSNs.
7627
76282010-01-26  Joern Rennecke  <amylaar@spamcop.net>
7629
7630	* doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
7631
7632	(TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
7633	Fix types of fndecl and arglist parameters.
7634
76352010-01-26  Richard Guenther  <rguenther@suse.de>
7636
7637	PR middle-end/42806
7638	* tree-eh.c (unsplit_eh): Skip debug insns.
7639
76402010-01-26  Richard Guenther  <rguenther@suse.de>
7641
7642	PR tree-optimization/42250
7643	* ipa-type-escape.c (type_escape_execute): Do not analyze clones.
7644
76452010-01-26  Jakub Jelinek  <jakub@redhat.com>
7646
7647	PR fortran/42866
7648	* omp-low.c (expand_omp_sections): Only use single_pred if
7649	l2_bb is single_pred_p.
7650
76512010-01-25  Christian Bruel  <christian.bruel@st.com>
7652
7653	PR target/42841
7654	* config/sh/sh.c (find_barrier): Increase length for non delayed
7655	conditional branches.
7656	(sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
7657
76582010-01-24  David S. Miller  <davem@davemloft.net>
7659
7660	* config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
7661	define if not using GAS.
7662	* config/sparc/sparc.c (sparc_elf_asm_named_section):
7663	Likewise.  Delete SECTION_MERGE code, which is only applicable
7664	when using GAS.
7665
76662010-01-24  Mark Mitchell  <mark@codesourcery.com>
7667
7668	PR c++/42748
7669	* config/arm/arm.c (arm_mangle_type): Do not warn about changes to
7670	mangling of va_list in system headers.
7671
76722010-01-23  Toon Moene  <toon@moene.org>
7673
7674	* tree-predcom.c (combine_chains): Return NULL, not false.
7675
76762010-01-23  Joern Rennecke  <amylaar@spamcop.net>
7677
7678	* tree-loop-distribution.c (distribute_loop): Fix declaration and
7679	initialization of variable res to agree with return type.
7680
76812010-01-22  Steve Ellcey  <sje@cup.hp.com>
7682
7683	* Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
7684	* tree-sra.c: Add include of expr.h.
7685
76862010-01-22  Jakub Jelinek  <jakub@redhat.com>
7687
7688	* tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
7689	insert the debug stmt on the single non-EH edge from the stmt.
7690
76912010-01-22  Richard Henderson  <rth@redhat.com>
7692
7693	PR tree-opt/42833
7694	* tree-sra.c (sra_modify_assign): Delay re-gimplification of
7695	the RHS until after generate_subtree_copies has insertted its
7696	code before the current statement.
7697
76982010-01-22  Joern Rennecke  <amylaar@spamcop.net>
7699
7700	* doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
7701
7702	* gcc-plugin.h (plugin_init): Use "C" likage for c++.
7703
77042010-01-21  Martin Jambor  <mjambor@suse.cz>
7705
7706	PR tree-optimization/42585
7707	* tree-sra.c (struct access): New field grp_total_scalarization.
7708	(dump_access): Dump the new field.
7709	(should_scalarize_away_bitmap): New variable.
7710	(cannot_scalarize_away_bitmap): Likewise.
7711	(sra_initialize): Allocate new bitmaps.
7712	(sra_deinitialize): Free new bitmaps.
7713	(create_access_1): New function.
7714	(create_access): Parts moved to create_access_1.
7715	(type_consists_of_records_p): New function.
7716	(completely_scalarize_record): Likewise.
7717	(build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
7718	(build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
7719	(sort_and_splice_var_accesses): Hint groups with a total_scalarization
7720	access.
7721	(analyze_all_variable_accesses): Completely scalarize small eligible
7722	records.
7723
77242010-01-21  Martin Jambor  <mjambor@suse.cz>
7725
7726	* tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
7727
77282010-01-21  Andrew Haley  <aph@redhat.com>
7729
7730	* gcc.c (process_command): Move lang_specific_driver before
7731	setting cc_libexec_prefix.
7732
77332010-01-21  Richard Guenther  <rguenther@suse.de>
7734
7735	PR middle-end/19988
7736	* fold-const.c (negate_expr_p): Pretend only negative
7737	real constants are easily negatable.
7738
77392010-01-20  Janis Johnson  <janis187@us.ibm.com>
7740	    Jason Merrill  <jason@redhat.com>
7741
7742	* tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
7743	(TYPE_TRANSPARENT_AGGR): this, for union and record.
7744	* calls.c (initialize argument_information): Handle it.
7745	* c-common.c (handle_transparent_union_attribute): Use new name.
7746	* c-decl.c (finish_struct): Ditto.
7747	* c-typeck.c (type_lists_compatible_p): Ditto.
7748	(convert_for_assignment): Use new name and also handle record.
7749	* function.c (aggregate_value_p): Handle it.
7750	(pass_by_reference): Ditto.
7751	(assign_parm_data_types): Ditto.
7752	* print-tree.c (print_node): Ditto.
7753	* lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
7754	* lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
7755	* tree.c (first_field): New fn.
7756
77572010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
7758
7759	PR target/42818
7760	* config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
7761	even when linking statically, for now.
7762
77632010-01-20  Alexandre Oliva  <aoliva@redhat.com>
7764
7765	PR debug/42715
7766	* var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
7767	without a cselib val.
7768	(count_uses): Accept MO_VAL_SET with no val on stores.
7769	(add_stores): Likewise.
7770
77712010-01-20  Jakub Jelinek  <jakub@redhat.com>
7772
7773	* var-tracking.c (check_value_val): Add a compile time assertion.
7774	(dv_is_decl_p): Simplify.
7775	(dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
7776	gcc_assert if ENABLE_CHECKING.
7777
77782010-01-20  Alexandre Oliva  <aoliva@redhat.com>
7779
7780	PR debug/42782
7781	* var-tracking.c: Include tree-flow.h.
7782	(mem_dies_at_call): New.
7783	(dataflow_set_preserve_mem_locs): Use it.
7784	(dataflow_set_remove_mem_locs): Likewise.
7785	(dump_var): Renamed from dump_variable.  Adjust all callers.
7786	(dump_var_slot): Renamed from dump_variable_slot.  Likewise.
7787	* Makefile.in (var-tracking.o): Adjust deps.
7788
77892010-01-20  Joern Rennecke  <amylaar@spamcop.net>
7790
7791	* doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
7792
77932010-01-20  Richard Guenther  <rguenther@suse.de>
7794
7795	PR tree-optimization/42717
7796	* tree-ssa-dce.c (get_live_post_dom): Remove.
7797	(forward_edge_to_pdom): Take an arbitrary edge to copy
7798	degenerate PHI args from.
7799	(remove_dead_stmt): Use the first post-dominator even if it
7800	does not contain live statements as redirection destination.
7801
78022010-01-20  Richard Guenther  <rguenther@suse.de>
7803
7804	* tree-inline.c (estimate_num_insns): Handle EH builtins.
7805
78062010-01-20  Jakub Jelinek  <jakub@redhat.com>
7807
7808	* sel-sched.c (create_speculation_check): Remove set but not used
7809	variable twin.
7810	(try_transformation_cache): Remove set but not used variable ds.
7811	(calculate_privileged_insns): Remove set but not used variables
7812	cur_insn and min_spec_insn.
7813	(find_best_expr): Remove set but not used variable avail_n.
7814	* tree-predcom.c (base_names_in_chain_on): Remove set but not used
7815	variable e.
7816	* cgraphunit.c (assemble_thunk): Remove set but not used variable
7817	false_label.
7818	* haifa-sched.c (remove_notes): Remove set but not used variable prev.
7819	* graphite-clast-to-gimple.c (gloog): Remove set but not used variable
7820	new_scop_exit_edge.
7821
78222010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
7823
7824	PR bootstrap/42786
7825	* config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
7826	cpu types.  Add support for *-sse3 cpu types.
7827	(x86_64-*-*): Ditto.
7828
78292010-01-20  Jakub Jelinek  <jakub@redhat.com>
7830
7831	PR middle-end/42803
7832	* varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
7833	argument, call initializer_constant_valid_p_1 instead of
7834	initializer_constant_valid_p, pass CACHE to it, return NULL
7835	immediately if first call returns NULL.
7836	(initializer_constant_valid_p_1): New function.
7837	(initializer_constant_valid_p): Use it.
7838
78392010-01-20  Thomas Quinot  <quinot@adacore.com>
7840
7841	* tree.def (PLACEHOLDER_EXPR): Fix comment.
7842
78432010-01-20  Jakub Jelinek  <jakub@redhat.com>
7844
7845	* dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
7846	of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
7847	(loc_list_from_tree): Don't handle unsigned division.  Handle
7848	signed modulo using DW_OP_{over,over,div,mul,minus}.
7849	* unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
7850	modulo instead of signed.
7851
78522010-01-20  DJ Delorie  <dj@redhat.com>
7853
7854	* config/h8300/h8300.c (F): Add "in_epilogue" flag.
7855	(Fpa): Pass it
7856	(h8300_emit_stack_adjustment): Propogate it.
7857	(push): Pass it.
7858	(h8300_expand_prologue): Likewise.
7859	(h8300_expand_epilogue): Likewise.
7860
78612010-01-19  Michael Matz  <matz@suse.de>
7862
7863	PR tree-optimization/41783
7864	* tree-data-ref.c (toplevel): Include flags.h.
7865	(dump_data_dependence_relation):  Also dump the inputs if the
7866	result will be unknown.
7867	(split_constant_offset_1): Look through some conversions.
7868	* tree-predcom.c (determine_roots_comp): Restart a new chain if
7869	the offset from last element is too large.
7870	(ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
7871	(reassociate_to_the_same_stmt): Handle vector registers.
7872	* tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
7873	(e.g. conversions).
7874	* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
7875	wide_prolog_niters argument, emit widening instructions.
7876	(vect_do_peeling_for_alignment): Adjust caller, use widened
7877	variant of the iteration cound.
7878	* Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
7879
78802010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
7881
7882	PR target/38697
7883	* config/arm/neon-testgen.m (emit_automatics): New parameter
7884	features. Adjust for Fixed_return_reg feature.
7885	(test_intrinsic): Call emit_automatics with new feature.
7886	* config/arm/neon.ml: Update copyright years.
7887	(features): New Fixed_return_reg feature.
7888	(ops): Update feature for Vget_low.
7889
78902010-01-19  Jakub Jelinek  <jakub@redhat.com>
7891
7892	PR tree-optimization/42719
7893	* tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
7894	stmt uses.
7895
7896	PR debug/42728
7897	* fwprop.c (all_uses_available_at): Return false if def_set dest
7898	is a REG that is used in def_insn.
7899
79002010-01-19  Joern Rennecke  <amylaar@spamcop.net>
7901
7902	* doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
7903
7904	(TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
7905	Add argument names.
7906
7907	(TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
7908
7909	* target.h (struct gcc_target) <secondary_reload>: Change type
7910	of last argument to secondary_reload_info *.
7911
79122010-01-18  Uros Bizjak  <ubizjak@gmail.com>
7913
7914	PR target/42774
7915	* config/alpha/predicates.md (aligned_memory_operand): Return 0 for
7916	memory references with unaligned offsets.  Remove CQImode handling.
7917	(unaligned_memory_operand): Return 1 for memory references with
7918	unaligned offsets.  Remove CQImode handling.
7919
79202010-01-18  Richard Guenther  <rguenther@suse.de>
7921
7922	PR middle-end/39954
7923	* cfgexpand.c (expand_call_stmt): TER pointer arguments in
7924	builtin calls.
7925
79262010-01-18  Richard Guenther  <rguenther@suse.de>
7927
7928	PR tree-optimization/42781
7929	* tree-ssa-structalias.c (find_what_var_points_to): Skip
7930	restrict processing only if the original variable was artificial.
7931
79322010-01-18  Joern Rennecke  <amylaar@spamcop.net>
7933
7934	* doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
7935	find number of popped argument bytes.
7936
7937	(TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
7938	Fix the text that describes the return value for invalid insns.
7939
7940	(TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
7941
7942	(TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
7943	Clarify what 'cost of the -dependence' is.  Fix quoting.
7944
7945	* toplev.c (default_get_pch_validity): Rename argument to "sz".
7946	* doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
7947
79482010-01-17  Jakub Jelinek  <jakub@redhat.com>
7949
7950	* dwarf2out.c (mem_loc_descriptor): Don't ICE on
7951	{S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
7952
79532010-01-17  Richard Guenther  <rguenther@suse.de>
7954
7955	PR middle-end/42248
7956	* function.c (split_complex_args): Take a VEC to modify.
7957	(assign_parms_augmented_arg_list): Build a VEC instead of
7958	a chain of PARM_DECLs.
7959	(assign_parms_unsplit_complex): Take a VEC of arguments.
7960	Do not fixup unmodified parms.
7961	(assign_parms): Deal with the VEC.
7962	(gimplify_parameters): Likewise.
7963
79642010-01-17  Richard Guenther  <rguenther@suse.de>
7965
7966	* tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
7967	node existence check.
7968	* tree-vect-loop.c (vect_analyze_loop_form): Likewise.
7969	* tree-cfgcleanup.c (merge_phi_nodes): Likewise.
7970	* tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
7971	* tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
7972	(gimple_execute_on_growing_pred): Likewise.
7973
79742010-01-17  Richard Guenther  <rguenther@suse.de>
7975
7976	PR tree-optimization/42773
7977	* tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
7978	(compute_antic_aux): Likewise.
7979	(compute_partial_antic_aux): Likewise.
7980
79812010-01-17  Jie Zhang  <jie.zhang@analog.com>
7982
7983	PR debug/42767
7984	* dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
7985	and US_TRUNCATE.
7986
79872010-01-17  Joern Rennecke  <amylaar@spamcop.net>
7988
7989	* doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
7990	appearance.
7991
7992	(TARGET_LEGITIMATE_ADDRESS_P): Add return type.
7993	Fix markup for strict argument.
7994
7995	(TARGET_SCHED_REORDER2): Fix argument types.
7996
7997	(TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
7998	(TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
7999
8000	(TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
8001	(TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
8002
8003	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
8004	Add argument name.
8005
8006	(TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
8007	(TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
8008	(TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
8009	(TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
8010	(TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
8011
8012	(TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
8013
8014	(TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
8015
8016	(TARGET_ASM_RELOC_RW_MASK): Add return type.
8017	(TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
8018
8019	(TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
8020
8021	(TARGET_ASM_FILE_START): Put @findex before paragraph start.
8022	Use prototype.
8023
8024	(TARGET_ASM_NAMED_SECTION): Fix argument list.
8025
8026	(TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
8027	(TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
8028
8029	(TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
8030
8031	(TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
8032
8033	(TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
8034	referring to it.  Fix language.
8035
8036	(TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
8037
8038	(TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
8039
8040	(TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
8041
8042	(TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
8043
8044	(TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
8045	'@var{stream}.  Remove stray 'and'.
8046
8047	(TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
8048
8049	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
8050
8051	(TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
8052
8053	(TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
8054	misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
8055
8056	(TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
8057	Fix description of return value.
8058	Rename argument "sz" to "len."
8059
8060	(TARGET_CXX_GUARD_MASK_BIT): Add missing article.
8061	Clarify meaning of 'true' return value.
8062
8063	(TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
8064
8065	(TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
8066	rep_mode versus mode_rep.
8067
8068	(TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
8069
8070	(TARGET_BUILTIN_DECL): Fix name.
8071
8072	(TARGET_COMMUTATIVE_P): Fix type of first argument.
8073
8074	(TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
8075
8076	(TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
8077
8078	(TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
8079
8080	(TARGET_RELAXED_ORDERING): Use @deftypevr.
8081
8082	(TARGET_GET_DRAP_RTX): Note that this is a hook.
8083	Clarify language.
8084
8085	(TARGET_BUILTIN_RECIPROCAL): Fix argument types.
8086	Rename argument tm_fn to md_fn.
8087
8088	(TARGET_OPTION_PRINT): Fix argument list.
8089
80902010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
8091
8092	PR target/42664
8093	* config/i386/i386.c (ix86_fixup_binary_operands):
8094	Revert FMA4 fixup of operands.
8095
80962010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8097
8098	PR gcc/42525
8099	* Makefile.in (write_entries_to_file, install-plugin):
8100	Use \012 instead of \n with tr.
8101
81022010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
8103
8104	* configure.ac (HAVE_AS_REF): New C macro.
8105	* configure: Regenerate.
8106	* config.in: Likewise.
8107	* collect2.c (main): Only postpone SCAN_DWEH to the second pass
8108	if HAVE_AS_REF.
8109	* config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
8110	if HAVE_AS_REF.
8111
81122010-01-16  Joern Rennecke  <amylaar@spamcop.net>
8113
8114	* doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
8115
8116	(TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
8117
8118	(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
8119
8120	(TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
8121
8122	(TARGET_IN_SMALL_DATA_P): Fix argument type.
8123
8124	(TARGET_BINDS_LOCAL_P): Fix argument type.
8125
8126	(TARGET_ASM_FILE_END): Use prototype.
8127
8128	(TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
8129
8130	(TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
8131
8132	(TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
8133
8134	(TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
8135
8136	(TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
8137	(TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
8138
8139	(TARGET_PCH_VALID_P): Put 'const char *' in braces.
8140	(TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
8141
8142	(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
8143	(TARGET_ADDR_SPACE_SUBSET_P): Likewise.
8144	(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
8145	(TARGET_ADDR_SPACE_CONVERT): Likewise.
8146
8147	(TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
8148
8149	(TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
8150
8151	(TARGET_INIT_BUILTINS): Use prototype.
8152
8153	(TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
8154	Put 'const char *' in braces.  Fix parameter types.
8155	(TARGET_INVALID_CONVERSION): Fix parameter types.
8156	(TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
8157	(TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
8158
8159	(TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
8160	Fix argument type.
8161
8162	(TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
8163
8164	(TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
8165
81662010-01-15  Joern Rennecke  <amylaar@spamcop.net>
8167
8168	* doc/tm.texi (TARGET_HELP): Fix return type.
8169
8170	(TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
8171	in braces.  Fix argument types.
8172
8173	(TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
8174
8175	(TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
8176
8177	(TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
8178
8179	(TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
8180	(TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
8181
8182	(TARGET_MANGLE_TYPE): Fix argument types.
8183
8184	(TARGET_IRA_COVER_CLASSES): Use prototype.
8185
8186	(TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
8187
8188	(TARGET_CAN_ELIMINATE): Use identifiers for argument names.
8189
8190	(TARGET_PROMOTE_PROTOTYPES): Fix argument type.
8191
8192	(TARGET_MUST_PASS_IN_STACK): Fix argument type.
8193
8194	(TARGET_CALLEE_COPIES): Fix argument types.
8195
8196	(TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
8197
8198	(TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
8199
8200	(TARGET_FUNCTION_VALUE): Fix argument types.
8201
8202	(TARGET_RETURN_IN_MSB): Fix argument type.
8203
8204	(TARGET_RETURN_IN_MEMORY): Fix argument types.
8205
8206	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
8207
8208	(TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
8209
8210	(TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
8211	agree with return type.
8212
8213	(TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
8214
82152010-01-15  Jing Yu  <jingyu@google.com>
8216
8217	PR rtl-optimization/42691
8218	* combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
8219	a pseudo to a constant and are merged, and adjust comments.
8220
82212010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
8222
8223	* config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
8224
82252010-01-15  Richard Guenther  <rguenther@suse.de>
8226
8227	PR middle-end/42739
8228	* tree-cfgcleanup.c (remove_forwarder_block): Move destination
8229	labels of computed or non-local gotos to the destination.
8230	* tree-cfg.c (gimple_verify_flow_info): Verify that a EH
8231	landing pad label is the first label.
8232
82332010-01-15  Richard Guenther  <rguenther@suse.de>
8234
8235	* tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
8236
82372010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
8238
8239	PR target/42747
8240	* config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
8241	to allow generation of the xssqrtdp instruction on power7.
8242	(sqrtdf2_fpr): Ditto.
8243
82442010-01-14  Jakub Jelinek  <jakub@redhat.com>
8245
8246	PR middle-end/42674
8247	* c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
8248	functions with noreturn attribute.
8249
8250	PR c++/42608
8251	* varasm.c (declare_weak): Add weak attribute to decl if it
8252	doesn't have one already.
8253	(assemble_external): Only add decls to weak_decls if they also
8254	have weak attribute.
8255
82562010-01-14  Alexandre Oliva  <aoliva@redhat.com>
8257
8258	* var-tracking.c (var_reg_delete): Don't delete the association
8259	between REGs and values or one-part variables if the register
8260	isn't clobbered.
8261
82622010-01-14  Jakub Jelinek  <jakub@redhat.com>
8263
8264	PR debug/42657
8265	* tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
8266	because its first operand is a non-localized variable.
8267
82682010-01-14  Martin Jambor  <mjambor@suse.cz>
8269
8270	PR tree-optimization/42706
8271	* tree-sra.c (encountered_recursive_call): New variable.
8272	(encountered_unchangable_recursive_call): Likewise.
8273	(sra_initialize): Initialize both new variables.
8274	(callsite_has_enough_arguments_p): New function.
8275	(scan_function): Call decl and flags check only for IPA-SRA, check
8276	whether there is a recursive call and whether it has enough arguments.
8277	(all_callers_have_enough_arguments_p): New function.
8278	(convert_callers): Look for recursive calls only when
8279	encountered_recursive_call is set.
8280	(ipa_early_sra): Bail out either if
8281	!all_callers_have_enough_arguments_p or
8282	encountered_unchangable_recursive_call.
8283
82842010-01-14  Alexander Monakov  <amonakov@ispras.ru>
8285
8286	* sel-sched.c: Add 2010 to copyright years.
8287	* sel-sched-ir.c: Likewise.
8288	* sel-sched-ir.h: Likewise.
8289
82902010-01-14  Martin Jambor  <mjambor@suse.cz>
8291
8292	PR tree-optimization/42714
8293	* tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
8294	constructors specially.
8295
82962010-01-14  Andi Kleen  <ak@linux.intel.com>
8297
8298	* config/i386/drivers-i386.c (detect_caches_intel):
8299	Add l2sizekb parameter and fill in.
8300	(host_detect_local_cpu): Add l2sizekb, fill in.
8301	Add Atom small cache heuristic.
8302
83032010-01-14  Andi Kleen  <ak@linux.intel.com>
8304
8305	* config/i386/drivers-i386.c (detect_caches_cpuid4):
8306	Add level3 parameter and fill in.
8307	(detect_caches_intel): Handle level3 cache.
8308
83092010-01-14  Andi Kleen  <ak@linux.intel.com>
8310
8311	* config/i386/drivers-i386.c (host_detect_local_cpu):
8312	Fix core duo detection.
8313
83142010-01-14  Andi Kleen  <ak@linux.intel.com>
8315
8316	* config/i386/drivers-i386.c (host_detect_local_cpu):
8317	Fix Atom detection.
8318
83192010-01-14  Alexander Monakov  <amonakov@ispras.ru>
8320
8321	* config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
8322	(rs6000_variable_issue_1): this.  Use...
8323	(rs6000_variable_issue): here.  Reimplement.  Print debug info.
8324
83252010-01-14  Alexander Monakov  <amonakov@ispras.ru>
8326
8327	* sel-sched-ir.c (sel_restore_other_notes): Rename to
8328	sel_restore_notes.  Update all callers.  Call reemit_notes
8329	for all insns.
8330
83312010-01-14  Andrey Belevantsev  <abel@ispras.ru>
8332
8333	PR rtl-optimization/42246
8334	* sel-sched-ir.h (get_all_loop_exits): Include exits from inner
8335	loops.
8336
83372010-01-14  Andrey Belevantsev  <abel@ispras.ru>
8338
8339	* sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
8340	all successors is the same as number of successors in current region.
8341
83422010-01-14  Alexander Monakov  <amonakov@ispras.ru>
8343
8344	* sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
8345	to rename is not separable.  Otherwise check that its LHS is not NULL.
8346
83472010-01-14  Alexander Monakov  <amonakov@ispras.ru>
8348
8349	* sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
8350
83512010-01-14  Alexander Monakov  <amonakov@ispras.ru>
8352
8353	* sel-sched.c (mark_unavailable_hard_regs): Do not try to search
8354	available registers when failed to discover LHS register class.
8355	Fix indentation.  Update comment.
8356
83572010-01-14  Andrey Belevantsev  <abel@ispras.ru>
8358	    Alexander Monakov  <amonakov@ispras.ru>
8359
8360	PR rtl-optimization/42389
8361	* sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
8362	to can_issue_more.
8363	(advance_state_on_fence): Likewise.
8364	(sel_target_adjust_priority): Print debug output only when
8365	sched_verbose >= 4, not 2.
8366	(get_expr_cost): Do not issue all unique insns on the next cycle.
8367	(fill_insns): Initialize can_issue_more from the value saved
8368	with the fence.
8369	* sel-sched-ir.c (flist_add): New parameter issue_more.
8370	Init FENCE_ISSUE_MORE with it.
8371	(merge_fences): Likewise.
8372	(init_fences): Update call to flist_add.
8373	(add_to_fences, add_clean_fence_to_fences)
8374	(add_dirty_fence_to_fences): Likewise.
8375	(move_fence_to_fences): Update call to merge_fences.
8376	(invoke_reorder_hooks): Do not reset can_issue_more on insns from
8377	sched groups.
8378	* sel-sched-ir.h (struct _fence): New field issue_more.
8379	(FENCE_ISSUE_MORE): New accessor macro.
8380
83812010-01-14  Andrey Belevantsev  <abel@ispras.ru>
8382
8383	PR rtl-optimization/42388
8384	* sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
8385	that have no predecessors nor successors.  Do not call move_bb_info
8386	for empty blocks outside of current region.
8387
83882010-01-14  Alexander Monakov  <amonakov@ispras.ru>
8389
8390	PR rtl-optimization/42294
8391	* sel-sched-ir.h (struct _sel_insn_data): Update comment.
8392	* sel-sched.c (move_exprs_to_boundary): Transitively add all
8393	originators' originators.
8394
83952010-01-14  Alexander Monakov  <amonakov@ispras.ru>
8396
8397	PR rtl-optimization/39453
8398	PR rtl-optimization/42246
8399	* sel-sched-ir.c (considered_for_pipelining_p): Do not test
8400	for pipelining_p.
8401	(sel_add_loop_preheaders): Add preheader to last_added_blocks.
8402
84032010-01-14  Andrey Belevantsev  <abel@ispras.ru>
8404	    Alexander Monakov  <amonakov@ispras.ru>
8405
8406	PR middle-end/42245
8407	* sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
8408	(maybe_tidy_empty_bb): ... here.  Make static.  Add new
8409	argument.  Update all callers.
8410	(tidy_control_flow): ... and here.  Recompute topological order
8411	of basic blocks in region if necessary.
8412	(sel_redirect_edge_and_branch): Change return type.  Return true
8413	if topological order might have been invalidated.
8414	(purge_empty_blocks): Export and move from...
8415	* sel-sched.c (purge_empty_blocks): ... here.
8416	* sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
8417	(maybe_tidy_empty_bb): Delete prototype.
8418	(purge_empty_blocks): Declare.
8419
84202010-01-14  Andrey Belevantsev  <abel@ispras.ru>
8421
8422	PR rtl-optimization/42249
8423	* sel-sched.c (try_replace_dest_reg): When chosen register
8424	and original register is the same, do not bail out early, but
8425	still check all original insns for validity of replacing destination
8426	register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
8427	in this case.
8428
84292010-01-14  Jakub Jelinek  <jakub@redhat.com>
8430
8431	PR c/42721
8432	Port from no-undefined-overflow branch:
8433	2009-03-09  Richard Guenther  <rguenther@suse.de>
8434
8435	* fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
8436
84372010-01-14  Richard Guenther  <rguenther@suse.de>
8438
8439	PR lto/42665
8440	* gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
8441
84422010-01-14  Ira Rosen  <irar@il.ibm.com>
8443
8444	PR tree-optimization/42709
8445	* tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
8446	as scalar type in creation of constant vector operand.
8447
84482010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8449
8450	PR testsuite/42414
8451	* Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
8452	(check-parallel-%): Match `testsuite' directory component only
8453	at the end.
8454
84552010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
8456
8457	PR translation/39521
8458	* gcc.c (do_spec_1): Wrapped the error and notice messages of specs
8459	strings with _().
8460
84612010-01-13  Richard Guenther  <rguenther@suse.de>
8462
8463	PR tree-optimization/42730
8464	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
8465	offset zero.
8466
84672010-01-13  Steve Ellcey  <sje@cup.hp.com>
8468
8469	PR target/pr42542
8470	* config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
8471	for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
8472	them signed.
8473
84742010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
8475
8476	* config/bfin/libgcc-bfin.ver: Regenerate based on current
8477	libgcc-std.ver.  Add entries for ___smulsi3_highpart and
8478	___umulsi3_highpart.
8479
8480	* config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
8481	rather than schedule_insns if the pass is enabled.
8482
84832010-01-13  Martin Jambor  <mjambor@suse.cz>
8484
8485	PR tree-optimization/42704
8486	* tree-sra.c (sra_modify_assign): Do not delete assignments to
8487	SSA_NAMEs.
8488
84892010-01-13  Martin Jambor  <mjambor@suse.cz>
8490
8491	PR tree-optimization/42703
8492	* tree-sra.c (analyze_access_subtree): Check that we can build a
8493	reference to the original data within the aggregate.
8494
84952010-01-13  Richard Guenther  <rguenther@suse.de>
8496
8497	PR tree-optimization/42705
8498	* tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
8499
85002010-01-13  Richard Guenther  <rguenther@suse.de>
8501
8502	PR middle-end/42716
8503	* fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
8504
85052010-01-13  Jakub Jelinek  <jakub@redhat.com>
8506
8507	PR debug/41371
8508	* var-tracking.c (values_to_unmark): New variable.
8509	(find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
8510	values_to_unmark vector.  Moved body to...
8511	(find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
8512	instead queue it into values_to_unmark vector.
8513	(vt_find_locations): Free values_to_unmark vector.
8514
85152010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
8516
8517	* config/s390/s390.c (override_options): Set
8518	default of max-pending-list-length to 256
8519
85202010-01-13  Richard Guenther  <rguenther@suse.de>
8521
8522	PR lto/42678
8523	* tree-pass.h (PROP_gimple_lcx): New.
8524	* cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
8525	* passes.c (init_optimization_passes): Move pass_lower_complex_O0
8526	before the final cleanup_eh.
8527	(dump_properties): Dump PROP_gimple_lcx.
8528	* tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
8529	(tree_lower_complex_O0): Remove.
8530	(gate_no_optimization): Run if PROP_gimple_lcx is not set.
8531	(pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
8532	tree_lower_complex, schedule TODO_update_ssa.
8533	* lto-streamer-out.c (output_function): Stream the functions
8534	properties.
8535	* lto-streamer-in.c (input_function): Likewise.
8536	(lto_read_body): Do not override them here.
8537
85382010-01-12  Joseph Myers  <joseph@codesourcery.com>
8539
8540	PR c/42708
8541	* c-typeck.c (build_c_cast): Fold value cast to union type before
8542	wrapping it in a CONSTRUCTOR.
8543
85442010-01-12  Jakub Jelinek  <jakub@redhat.com>
8545
8546	PR rtl-optimization/42699
8547	* cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
8548	involved.
8549
85502010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8551
8552	* config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
8553	SUBTARGET_WARN_UNUSED_SPEC): Move ...
8554	config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
8555	SUBTARGET_WARN_UNUSED_SPEC): ... here
8556	* config/mips/iris5.h (LIBGCC_SPEC): Define.
8557
85582010-01-12  Julian Brown  <julian@codesourcery.com>
8559
8560	* config/arm/neon-schedgen.ml (Utils): Don't try to
8561	open missing module.
8562	(find_with_result): New.
8563
85642010-01-12  Jakub Jelinek  <jakub@redhat.com>
8565
8566	PR debug/42662
8567	* simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
8568	sharing when canonicalizing ({lt,ge}u (plus a b) b).
8569
8570	PR tree-optimization/42645
8571	* tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
8572	(remap_ssa_name): If processing_debug_stmt and name wasn't found in
8573	decl_map, set processing_debug_stmt to -1 and return name without
8574	any remapping.
8575
85762010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
8577
8578	* doc/install.texi (Specific#x-x-cygwin): Document minimum required
8579	binutils version, and reword target configuration description.
8580
85812010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
8582
8583	* config/avr/avr.h (LINKER_NAME): Remove.
8584
85852010-01-11  Janis Johnson  <janis187@us.ibm.com>
8586
8587	PR target/42416
8588	* config/rs6000/rs6000.c (rs6000_override_options): On targets
8589	that support VSX, warn for -mno-altivec if vsx is not disabled,
8590	and disable vsx.
8591
85922010-01-11  Joseph Myers  <joseph@codesourcery.com>
8593	    Shujing Zhao  <pearly.zhao@oracle.com>
8594
8595	PR translation/42469
8596	* common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
8597	fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
8598	character between option name and help text.
8599	* c.opt (imultilib): Likewise.
8600
86012010-01-10  Rafael Avila de Espindola  <espindola@google.com>
8602
8603	* lto-streamer-out.c (output_unreferenced_globals): Output static
8604	variables.
8605
86062010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
8607
8608	PR rtl-optimization/42621
8609	* bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
8610	optimizing for size.
8611	(duplicate_computed_gotos): Remove now-redundant check.
8612
86132010-01-10  Steve Ellcey  <sje@cup.hp.com>
8614
8615	PR target/37454
8616	* configure.ac: Save and restore LDFLAGS and LIBS
8617	* configure: Regenerate.
8618
86192010-01-10  Richard Guenther  <rguenther@suse.de>
8620
8621	PR middle-end/42667
8622	* builtins.c (fold_builtin_strlen): Add type argument and
8623	convert the resulting length to it.
8624	(fold_builtin_1): Adjust.
8625
86262010-01-09  Jakub Jelinek  <jakub@redhat.com>
8627
8628	* config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
8629	sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
8630	1 insn.
8631	(num_insns_constant_wide): Adjust for that change.
8632
86332010-01-09  Alexandre Oliva  <aoliva@redhat.com>
8634
8635	PR debug/42631
8636	* web.c (union_defs): Add used argument, to combine uses of
8637	uninitialized regs.
8638	(entry_register): Adjust type and tests of used argument.
8639	(web_main): Widen used for new use.  Pass it to union_defs.
8640	* df.h (union_defs): Adjust prototype.
8641
86422010-01-09  Alexandre Oliva  <aoliva@redhat.com>
8643
8644	PR debug/42630
8645	* loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
8646	uses in new incoming argument.  Free body.
8647	(reset_debug_uses_in_loop): New.
8648	(analyze_insn_to_expand_var): Call the latter if the former found
8649	anything.  Fix whitespace.  Reject invalid dest overlaps before
8650	going through all insns in the loop.
8651
86522010-01-09  Alexandre Oliva  <aoliva@redhat.com>
8653
8654	PR debug/42629
8655	* haifa-sched.c (dying_use_p): Debug insns don't count.
8656
86572010-01-09  Alexandre Oliva  <aoliva@redhat.com>
8658
8659	PR middle-end/42363
8660	* gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
8661	* tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
8662	(verify_gimple_call): Reject LHS in noreturn calls.
8663
86642010-01-09  Alexandre Oliva  <aoliva@redhat.com>
8665
8666	PR debug/42604
8667	PR debug/42395
8668	* tree-vect-loop-manip.c (adjust_info): New type.
8669	(adjust_vec): New pointer to vector.
8670	(adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
8671	(adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
8672	(slpeel_update_phis_for_duplicate_loop): Use them.
8673	(slpeel_update_phi_nodes_for_guard1): Likewise.
8674	(slpeel_update_phi_nodes_for_guard2): Likewise.
8675	(slpeel_tree_peel_loop_to_edge): Likewise.
8676	(vect_update_ivs_after_vectorizer): Likewise.
8677
86782010-01-09  Alexandre Oliva  <aoliva@redhat.com>
8679
8680	* vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
8681	(DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
8682
86832010-01-09  Alexandre Oliva  <aoliva@redhat.com>
8684
8685	* config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
8686	bogus uninitialized warning.
8687
86882010-01-09  Richard Guenther  <rguenther@suse.de>
8689
8690	PR middle-end/42512
8691	* tree-scalar-evolution.c (interpret_loop_phi): Make sure
8692	the evolution is compatible with the initial condition.
8693
86942010-01-09  Jakub Jelinek  <jakub@redhat.com>
8695
8696	* gcc.c (process_command): Update copyright notice dates.
8697	* gcov.c (print_version): Likewise.
8698	* gcov-dump.c (print_version): Likewise.
8699	* mips-tfile.c (main): Likewise.
8700	* mips-tdump.c (main): Likewise.
8701
87022010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
8703
8704	PR target/41885
8705	* config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
8706	(rotlhi3): Delete.
8707	(rotlhi3_8): Delete.
8708	(rotlsi3): Delete.
8709	(rotlsi3_8): Delete.
8710	(rotlsi3_16): Delete.
8711	(rotlsi3_24): Delete.
8712	(rotl<mode>3): New.
8713	(*rotw<mode>3): New.
8714	(*rotb<mode>3): New.
8715	* config/avr/avr.c (avr_rotate_bytes): New function.
8716	* config/avr/avr-proto.h (avr_rotate_bytes): New function.
8717
87182010-01-08  Steve Ellcey  <sje@cup.hp.com>
8719
8720	PR target/37454
8721	* configure.ac: Modify -rdynamic check.
8722	* configure: Regenerate.
8723
87242010-01-08  DJ Delorie  <dj@redhat.com>
8725
8726	* config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
8727	register popping order.
8728
87292010-01-08  Richard Guenther  <rguenther@suse.de>
8730
8731	PR lto/42528
8732	* c.opt (fsigned-char): Also let LTO handle this option.
8733	(funsigned-char): Likewise.
8734
87352010-01-07  Richard Guenther  <rguenther@suse.de>
8736
8737	* gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
8738	(gimple_op): Likewise.
8739	(gimple_op_ptr): Likewise.
8740	(gimple_assign_set_lhs): Remove gcc_assert.
8741	(gimple_assign_set_rhs1): Likewise.
8742	(gimple_assign_set_rhs2): Likewise.
8743	(gimple_call_set_lhs): Likewise.
8744	(gimple_call_set_fn): Likewise.
8745	(gimple_call_set_fndecl): Likewise.
8746	(gimple_call_fndecl): Likewise.
8747	(gimple_call_return_type): Likewise.
8748	(gimple_call_set_chain): Likewise.
8749	(gimple_call_num_args): Likewise.
8750	(gimple_call_set_arg): Likewise.
8751	(gimple_cond_set_code): Likewise.
8752	(gimple_cond_set_lhs): Likewise.
8753	(gimple_cond_set_rhs): Likewise.
8754	(gimple_cond_set_true_label): Likewise.
8755	(gimple_cond_set_false_label): Likewise.
8756	(gimple_label_set_label): Likewise.
8757	(gimple_goto_set_dest): Likewise.
8758	(gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
8759	(gimple_debug_bind_get_value): Likewise.
8760	(gimple_debug_bind_get_value_ptr): Likewise.
8761	(gimple_debug_bind_set_var): Likewise.
8762	(gimple_debug_bind_set_value): Likewise.
8763	(gimple_debug_bind_reset_value): Likewise.
8764	(gimple_debug_bind_has_value_p): Likewise.
8765	(gimple_return_retval_ptr): Remove gcc_assert.
8766	(gimple_return_retval): Likewise.
8767	(gimple_return_set_retval): Likewise.
8768	* tree-flow.h (struct gimple_df): Remove nonlocal_all member.
8769	(safe_referenced_var_iterator): Remove.
8770	(FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
8771	* tree-flow-inline.h (gimple_nonlocal_all): Remove.
8772	(fill_referenced_var_vec): Remove.
8773	(first_readonly_imm_use): Remove redundant gcc_assert.
8774	(phi_arg_index_from_use): Combine gcc_asserts.
8775	(move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
8776	(first_imm_use_stmt): Remove redundant gcc_assert.
8777	* tree-cfg.c (verify_gimple_call): Verify function and chain
8778	operands.  Verify arguments.
8779	(verify_types_in_gimple_stmt): Verify condition code and labels.
8780
87812010-01-07  Richard Guenther  <rguenther@suse.de>
8782
8783	PR tree-optimization/42641
8784	* sese.c (rename_map_elt_info): Use the SSA name version, do
8785	not hash pointers.
8786
87872010-01-07  Jakub Jelinek  <jakub@redhat.com>
8788
8789	PR tree-optimization/42625
8790	* cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
8791	TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
8792
87932010-01-07  Duncan Sands  <baldrick@free.fr>
8794
8795	* Makefile.in (PLUGIN_HEADERS): Add version.h.
8796
87972010-01-07  Uros Bizjak  <ubizjak@gmail.com>
8798
8799	PR target/42511
8800	* ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
8801	note itself is not function_invariant_p.
8802
88032009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
8804
8805	* gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
8806	Do not add the DF_NOTE problem.
8807	* store-motion.c (execute_rtl_store_motion): Likewise.
8808
88092010-01-07  Martin Jambor  <mjambor@suse.cz>
8810
8811	PR tree-optimization/42157
8812	* tree-sra.c (compare_access_positions): Stabilize sort if both
8813	accesses have integer types, return zero immediately if they are the
8814	same.
8815
88162010-01-06  Richard Henderson  <rth@redhat.com>
8817
8818	PR middle-end/41883
8819	* haifa-sched.c (add_to_note_list): Merge into ...
8820	(concat_note_lists): ... here, and ...
8821	(unlink_other_notes, rm_other_notes): Merge into...
8822	(remove_notes): ... here.  Create REG_SAVE_NOTEs for
8823	NOTE_INSN_EPILOGUE_BEG.
8824
88252010-01-06  Richard Guenther  <rguenther@suse.de>
8826
8827	* ipa-inline.c (cgraph_decide_inlining_incrementally): Do
8828	not inline regular functions into always-inline functions.
8829
88302010-01-06  Nick Clifton  <nickc@redhat.com>
8831
8832	* config/rx/rx.h (enum rx_cpu_type): Add RX200.
8833	(CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
8834	used together.
8835	(OVERRIDE_OPTIONS): Delete.
8836	(OPTIMIZATION_OPTIONS): Define.
8837	(ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
8838	* config/rx/rx.c (rx_handle_option): Issue an error message if
8839	-mcpu=rx200 and -fpu are used together.
8840	(rx_set_optimization_options): New function.  Issue an error
8841	message if an optimization attribute attempts to reset the FPU/
8842	math optimization pairing.
8843	* config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
8844	* config/rx/rx.opt: Set the default to 32-bit doubles.
8845	* config/rx/t-rx: Add multilibs for -nofpu option.
8846	* doc/invoke.texi: Update documentation of RX options.
8847
88482010-01-06  Richard Guenther  <rguenther@suse.de>
8849
8850	* tree-ssa-pre.c (name_to_id): New global.
8851	(alloc_expression_id): Simplify SSA name handling.
8852	(lookup_expression_id): Likewise.
8853	(init_pre): Zero name_to_id.
8854	(fini_pre): Free it.
8855
88562010-01-06  Uros Bizjak  <ubizjak@gmail.com>
8857
8858	* ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
8859
88602010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
8861
8862	PR target/42542
8863	* config/i386/sse.md (smaxv2di3): New.
8864	(umaxv2di3): Likewise.
8865	(sminv2di3): Likewise.
8866	(uminv2di3): Likewise.
8867
88682010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
8869
8870	PR target/42564
8871	* config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
8872	* config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
8873	(legitimize_tls_address): Likewise.
8874	(sparc_tls_referenced_p): Likewise.
8875	* config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
8876	and adjust calls to legitimize_pic_address.
8877	(legitimate_constant_p) Use sparc_tls_referenced_p.
8878	(legitimate_pic_operand_p): Likewise.
8879	(sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
8880	(sparc_tls_symbol_ref_1): Delete.
8881	(sparc_tls_referenced_p): Make static, recognize specific patterns.
8882	(legitimize_tls_address): Make static, handle CONST patterns.
8883	(legitimize_pic_address): Make static, remove unused parameter and
8884	adjust recursive calls.
8885	(sparc_legitimize_address): Make static, use sparc_tls_referenced_p
8886	and adjust call to legitimize_pic_address.
8887	(sparc_output_mi_thunk): Likewise.
8888
88892010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
8890	    H.J. Lu  <hongjiu.lu@intel.com>
8891
8892	PR target/42542
8893	* config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
8894	for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
8895	operands to make them signed.
8896
8897	Revert:
8898	2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
8899
8900	PR target/42542
8901	* config/i386/i386.c (ix86_expand_int_vcond): Don't convert
8902	GTU to GT for V4SI and V2DI.
8903
8904	* config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
8905	(umin<mode>3): Removed.
8906	(uminv8hi3): New.
8907	(uminv4si3): Likewise.
8908
89092010-01-05  Martin Jambor  <mjambor@suse.cz>
8910
8911	PR tree-optimization/42462
8912	* ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
8913	current_function_decl to helper functions and macros.
8914
89152010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8916
8917	PR bootstrap/41771
8918	* flags.h: Don't include real.h.
8919	(HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
8920	HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
8921	* real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
8922	HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
8923	* dominance.c: Update copyright.
8924	* gimple.c (walk_gimple_op): Remove inline.
8925	* tree-ssa-reassoc.c: Include real.h.
8926	* Makefile.in (FLAGS_H): Remove $(REAL_H).
8927	(tree-ssa-reassoc.o): Depend on $(REAL_H).
8928
89292010-01-05  Nick Clifton  <nickc@redhat.com>
8930
8931	* config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
8932	register to push into the stack frame when the accumulator has to
8933	be saved during interrupts.
8934
89352010-01-05  Eric Fisher  <joefoxreal@gmail.com>
8936
8937	* doc/invoke.texi: Remove the documentation about option
8938	-Wunreachable-code.
8939	* common.opt (Wunreachable-code):  Preserved for backward
8940	compatibility.
8941	* tree-cfg.c: Remove the implementation of -Wunreachable-code.
8942	* opts.c (common_handle_option): Add OPT_Wunreachable_code to
8943	the backward compatibility flag section.
8944
89452010-01-05  Richard Guenther  <rguenther@suse.de>
8946
8947	* tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
8948
89492010-01-05  Jakub Jelinek  <jakub@redhat.com>
8950
8951	PR other/42611
8952	* cfgexpand.c (expand_one_var): Diagnose too large variables.
8953
8954	PR tree-optimization/42508
8955	* tree-sra.c (convert_callers): Check for recursive call
8956	by comparing cgraph nodes instead of decls.
8957	(modify_function): Call ipa_modify_formal_parameters also
8958	on all same_body aliases.
8959
8960	* cgraphunit.c (cgraph_materialize_all_clones): Compare
8961	cgraph nodes when checking for same_body aliases.
8962
89632010-01-05  Richard Guenther  <rguenther@suse.de>
8964
8965	* tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
8966	allocation and lookup.
8967	(get_or_alloc_expr_for_constant): Likewise.
8968	(phi_translate): Sink allocation.
8969
89702010-01-04  Richard Guenther  <rguenther@suse.de>
8971
8972	* tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
8973	a new entry only if needed.
8974	* tree-ssa-dom.c (lookup_avail_expr): Likewise.
8975	* tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
8976	hashtable lookup.
8977	* tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
8978	the result array.
8979	(phi_translate): Handle CONSTANTs early.
8980
89812010-01-04  Martin Jambor  <mjambor@suse.cz>
8982
8983	PR tree-optimization/42398
8984	* tree-sra.c (struct access): Removed flag grp_different_types.
8985	(dump_access): Do not dump the removed flag.
8986	(sort_and_splice_var_accesses): Do not set the removed flag.
8987	(sra_modify_expr): Check for type compatibility directly.
8988
89892010-01-04  Martin Jambor  <mjambor@suse.cz>
8990
8991	PR tree-optimization/42366
8992	* ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
8993	edges with variable number of parameters.
8994	* ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
8995	flag instead of asserting it.
8996	(ipa_read_node_info): Read uses_analysis_done flag.
8997
89982010-01-04  Richard Guenther  <rguenther@suse.de>
8999
9000	* tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
9001	iterative_hash_* as intended.
9002	(vn_reference_compute_hash): Likewise.  Simplify hashing
9003	SSA names.
9004	(vn_reference_lookup_2): Likewise.
9005	(vn_nary_op_compute_hash): Likewise.
9006	(vn_phi_compute_hash): Likewise.
9007	(expressions_equal_p): Remove strange code.
9008	* tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
9009	(pre_expr_hash): Likewise.  Simplify hashing SSA names.
9010	(bitmap_insert_into_set_1): Take value-id as parameter.
9011	(add_to_value): Pass it.
9012	(bitmap_insert_into_set): Likewise.
9013	(bitmap_value_insert_into_set): Likewise.  Remove redundant check.
9014
90152010-01-04  Jakub Jelinek  <jakub@redhat.com>
9016
9017	PR driver/42442
9018	* gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
9019	(do_self_spec): For switches with SWITCH_IGNORE set set also
9020	SWITCH_IGNORE_PERMANENTLY.
9021	(check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
9022	of SWITCH_IGNORE.
9023
90242010-01-04  Rafael Avila de Espindola  <espindola@google.com>
9025
9026	* lto-streamer-out.c (output_unreferenced_globals): Output the full
9027	tree of an unreferenced global var.
9028
90292010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
9030
9031	PR target/42542
9032	* config/i386/i386.c (ix86_expand_int_vcond): Don't convert
9033	GTU to GT for V4SI and V2DI.
9034
9035	* config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
9036	(umin<mode>3): Removed.
9037	(uminv8hi3): New.
9038	(uminv4si3): Likewise.
9039
90402010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
9041
9042	PR lto/42581
9043	* collect2.c (main): Turn on trace in collect2 if -v is passed
9044	to gcc with LTO.
9045
90462010-01-03  Jerry Quinn  <jlquinn@optonline.net>
9047
9048	* doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
9049	description of expression operand.
9050
90512010-01-03  Andrew Jenner  <andrew@codesourcery.com>
9052
9053	* configure.ac: Add install-html to target_list for Make-hooks.
9054	* configure: Regenerate.
9055	* fortran/Make-lang.in (F95_HTMLFILES): New.
9056	(fortran.html): Use it.
9057	(fortran.install-html): New.
9058	* Makefile.in (install-html): Add lang.install-html.
9059	* java/Make-lang.in (JAVA_HTMLFILES): New.
9060	(java.html): Use it.
9061	(java.install-html): New.
9062	* objc/Make-lang.in (objc.install-html): New.
9063	* objcp/Make-lang.in (obj-c++.install-html): New.
9064	* cp/Make-lang.in (c++.install-html): New.
9065	* ada/gcc-interface/Make-lang.in (ada.install-html): New.
9066	* lto/Make-lang.in (lto.install-html): New.
9067
90682010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
9069
9070	PR lto/42520
9071	* gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
9072
90732009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
9074
9075	PR rtl-optimization/41862
9076	* store-motion.c (store_killed_in_insn, compute_store_table,
9077	remove_reachable_equiv_notes, replace_store_insn,
9078	build_store_vectors): Ignore all DEBUG_INSNs.
9079
90802010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
9081
9082	PR lto/41564
9083	* common.opt: Add dumpdir.
9084
9085	* gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
9086	isn't specified.
9087	(option_map): Add --dumpdir.
9088
9089	* gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
9090
9091	* lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
9092
9093	* opts.c (decode_options): Try dump_dir_name first if
9094	dump_base_name isn't an absolute path.
9095	(common_handle_option): Handle OPT_dumpdir.
9096
9097	* toplev.c (dump_dir_name): New.
9098	(print_switch_values): Also ignore -dumpdir.
9099
9100	* toplev.h (dump_dir_name): New.
9101
91022010-01-03  Richard Guenther  <rguenther@suse.de>
9103
9104	PR tree-optimization/42589
9105	* tree-ssa-math-opts.c (execute_optimize_bswap): Allow
9106	double-word expansion of bswap32.
9107
91082010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
9109
9110	* postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
9111	with BLOCK_FOR_INSN.
9112	* auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
9113	* ifcvt.c (noce_get_alt_condition, noce_try_abs,
9114	noce_process_if_block): Likewise.
9115	* gcse.c (compute_local_properties, insert_expr_in_table,
9116	insert_set_in_table, canon_list_insert, find_avail_set,
9117	pre_insert_copy_insn): Likewise.
9118
9119	* basic-block.h (BLOCK_NUM): Move from here...
9120	* sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
9121
91222010-01-03  Richard Guenther  <rguenther@suse.de>
9123
9124	PR tree-optimization/42438
9125	* tree-ssa-pre.c (struct bb_bitmap_sets): Add
9126	contains_may_not_return_call flag.
9127	(BB_MAY_NOTRETURN): New.
9128	(valid_in_sets): Trapping nary operations are not valid
9129	in blocks that may not return.
9130	(insert_into_preds_of_block): Remove check for trapping expressions.
9131	(compute_avail): Compute also BB_MAY_NOTRETURN.
9132
91332010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
9134
9135	* doc/invoke.texi: Add 2010 to copyright years.
9136
91372010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
9138
9139	* config/sparc/sparc.c: Fix formatting nits.
9140
91412010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
9142	    Alexander Monakov  <amonakov@ispras.ru>
9143
9144	* doc/invoke.texi (Optimize Options): Reword introduction a bit.
9145
91462010-01-02  Richard Guenther  <rguenther@suse.de>
9147
9148	PR middle-end/42577
9149	* tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
9150	(simplify_switch_using_ranges): Mark to be removed edges
9151	as non-executable.
9152
91532010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9154
9155	* config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
9156
9157	* collect2.c (scan_libraries): Add missing argument in call to
9158	scan_prog_file.
9159
91602010-01-02  Uros Bizjak  <ubizjak@gmail.com>
9161
9162	PR target/42448
9163	* config/alpha/predicates.md (aligned_memory_operand): Return false
9164	for CQImode.
9165	(unaligned_memory_operand): Return true for CQImode.
9166	* config/alpha/alpha.c (get_aligned_mem): Assert that location
9167	doesn not cross aligned SImode word boundary.
9168
91692010-01-02  Anatoly Sokolov  <aesok@post.ru>
9170
9171	* config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
9172	Remove.
9173	* config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
9174	avr_change_section, avr_reg_class_from_letter) : Remove declaration.
9175
91762010-01-02  Richard Guenther  <rguenther@suse.de>
9177
9178	PR lto/41597
9179	* toplev.c (compile_file): Emit LTO marker properly.  Change
9180	it to __gnu_lto_v1.
9181	* collect2.c (scan_prog_file): Adjust for changed LTO marker.
9182
91832010-01-01  Richard Guenther  <rguenther@suse.de>
9184
9185	PR debug/42455
9186	* tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
9187
91882010-01-01  Richard Guenther  <rguenther@suse.de>
9189
9190	PR c/42570
9191	* c-decl.c (grokdeclarator): For zero-size arrays force
9192	structural equality checks as layout_type does.
9193
91942010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
9195
9196	* builtins.c: Update copyright to 2010.
9197
91982010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
9199
9200	PR lto/42531
9201	* lto-streamer-out.c (produce_asm): Revert the last change.
9202	(copy_function): Likewise.
9203
9204	* lto-streamer.c (lto_get_section_name): Skip any leading
9205	asterisk in name.
9206
92072010-01-01  Richard Guenther  <rguenther@suse.de>
9208
9209	PR middle-end/42559
9210	* builtins.c (get_object_alignment): Do not use DECL_ALIGN
9211	for LABEL_DECLs.
9212
9213
9214Copyright (C) 2010 Free Software Foundation, Inc.
9215
9216Copying and distribution of this file, with or without modification,
9217are permitted in any medium without royalty provided the copyright
9218notice and this notice are preserved.
9219