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