OSDN Git Service

gcc/
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2012-01-12  Georg-Johann Lay  <avr@gjlay.de>
2
3         Backport from mainline r183796
4         PR rtl-optimization/51374
5         * combine.c (can_combine_p): Don't allow volatile_refs_p insns
6         to cross other volatile_refs_p insns.
7
8 2012-01-31  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
9
10         Backport from mainline.
11         2011-01-31  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
12
13         config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true
14         condition.
15
16 2012-01-31  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
17
18         * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag
19         to srak instruction.
20
21 2012-01-30  Bin Cheng  <bin.cheng@arm.com>
22
23         Backport from mainline.
24         2012-01-30  Bin Cheng  <bin.cheng@arm.com>
25
26         PR target/51835
27         * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
28         for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
29
30 2012-01-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
31
32         Backport from mainline.
33         2012-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
34
35         PR target/50313
36         * config/arm/arm.c (arm_load_pic_register): Use
37         gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit
38         , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four.
39         (arm_pic_static_addr): Likewise.
40         (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED.
41         (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED.
42         * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define.
43         (pic_load_addr_unified): New.
44
45 2012-01-25  Richard Guenther  <rguenther@suse.de>
46
47         * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both
48         bases are dereferenced.
49
50 2012-01-24  Richard Guenther  <rguenther@suse.de>
51
52         Forward-port to branch
53         2010-09-21  Jakub Jelinek  <jakub@redhat.com>
54
55         PR middle-end/45678
56         * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
57         op0 isn't sufficiently aligned and there is movmisalignM
58         insn for mode, use it to load op0 into a temporary register.
59
60 2012-01-20  Eric Botcazou  <ebotcazou@adacore.com>
61
62         * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK.
63
64 2012-01-19  Quentin Neill  <quentin.neill@amd.com>
65
66         PR target/48743
67         * config/i386/driver-i386.c (host_detect_local_cpu): Also check
68         family to distinguish PROCESSOR_ATHLON.
69
70 2012-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
71
72         PR tree-optimization/49642
73         * ipa-split.c (forbidden_dominators): New variable.
74         (check_forbidden_calls): New function.
75         (dominated_by_forbidden): Likewise.
76         (consider_split): Check for forbidden dominators.
77         (execute_split_functions): Initialize and free forbidden
78         dominators info; call check_forbidden_calls.
79
80 2012-01-18  David Edelsohn  <dje.gcc@gmail.com>
81
82         * config/rs6000/rs6000.md (call_value_indirect_aix32): Fix typo
83         in mode of operand[4].
84
85 2012-01-15  Uros Bizjak  <ubizjak@gmail.com>
86
87         PR rtl-optimization/51821
88         * recog.c (peep2_find_free_register): Determine clobbered registers
89         from insn pattern.
90
91 2012-01-12  Georg-Johann Lay  <avr@gjlay.de>
92
93         Backport from mainline r183129
94         PR target/51756
95         * config/avr/avr.c (avr_encode_section_info): Test for absence of
96         DECL_EXTERNAL when checking for initializers of progmem variables.
97
98 22012-01-12  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
99
100         Backport from mainline
101         2012-01-11  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
102
103         * config/arm/arm.md (mov_notscc): Use MVN for false condition.
104
105 2012-01-12  Uros Bizjak  <ubizjak@gmail.com>
106
107         * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
108         (x86_shift<mode>_adj_1): Remove operand constraint from operand 3.
109
110 2012-01-10  Joseph Myers  <joseph@codesourcery.com>
111
112         Revert:
113
114         2008-09-18  Andrew Pinski  <andrew_pinski@playstation.sony.com>
115
116         PR rtl-opt/37451
117         * loop-doloop.c (doloop_modify): New argument zero_extend_p and
118         zero extend count after the correction to it is done.
119         (doloop_optimize): Update call to doloop_modify, don't zero extend
120         count before call.
121
122         2008-11-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
123
124         PR rtl-opt/37782
125         * loop-doloop.c (doloop_modify): Add from_mode argument that says what
126         mode count is in.
127         (doloop_optimize): Update call to doloop_modify.
128
129 2012-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
130
131         * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
132
133 2012-01-09  Eric Botcazou  <ebotcazou@adacore.com>
134
135         * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Check that the
136         purported sigacthandler address isn't null before dereferencing it.
137         (sparc_is_sighandler): Likewise.
138
139 2012-01-09  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
140
141         Backport from mainline
142         2011-11-04  Jiangning Liu  <jiangning.liu@arm.com>
143
144         PR rtl-optimization/38644
145         * config/arm/arm.c (thumb1_expand_epilogue): Add memory barrier
146         for epilogue having stack adjustment.
147
148 2012-01-09  Eric Botcazou  <ebotcazou@adacore.com>
149
150         PR ada/41929
151         * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove SAVPC and
152         add CFA.  Revert back to old code for Solaris 8+ multi-threaded.
153         (sparc_is_sighandler): Likewise.
154         (MD_FALLBACK_FRAME_STATE_FOR): Adjust call to IS_SIGHANDLER.
155
156 2012-01-06  Eric Botcazou  <ebotcazou@adacore.com>
157
158         Backport from mainline
159         2012-01-06  Arnaud Charlet  <charlet@adacore.com>
160
161         * c-decl.c (ext_block): Moved up.
162         (collect_all_refs, for_each_global_decl): Take ext_block into account.
163
164 2012-01-06  Richard Sandiford  <richard.sandiford@linaro.org>
165
166         PR middle-end/48660
167         * expr.h (copy_blkmode_to_reg): Declare.
168         * expr.c (copy_blkmode_to_reg): New function.
169         (expand_assignment): Don't expand register RESULT_DECLs before
170         the lhs.  Use copy_blkmode_to_reg to copy BLKmode values into a
171         RESULT_DECL register.
172         (expand_expr_real_1): Handle BLKmode decls when looking for promotion.
173
174 2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
175
176         PR tree-optimization/51315
177         * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
178         (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
179
180 2012-01-04  Eric Botcazou  <ebotcazou@adacore.com>
181
182         PR tree-optimization/51624
183         * tree-sra.c (build_ref_for_model): When replicating a chain of
184         COMPONENT_REFs, stop as soon as the offset would become negative.
185
186 2012-01-04  Richard Guenther  <rguenther@suse.de>
187
188         PR tree-optimization/49651
189         * tree-ssa-structalias.c (type_can_have_subvars): New function.
190         (var_can_have_subvars): Use it.
191         (get_constraint_for_1): Only consider subfields if there can be any.
192
193 2012-01-03  Sandra Loosemore  <sandra@codesourcery.com>
194
195         Backport from mainline:
196         2012-01-02  Sandra Loosemore  <sandra@codesourcery.com>
197
198         * doc/invoke.texi (-flto and related options): Copy-edit.
199
200 2012-01-03  Richard Guenther  <rguenther@suse.de>
201
202         Backport from mainline
203         2011-11-10  Richard Guenther  <rguenther@suse.de>
204
205         PR tree-optimization/51042
206         * tree-ssa-pre.c (phi_translate_1): Avoid recursing on
207         self-referential expressions.  Refactor code to avoid duplication.
208
209 2012-01-03  Richard Guenther  <rguenther@suse.de>
210
211         PR tree-optimization/51070
212         * tree-loop-distribution.c (generate_builtin): Do not replace
213         the loop with a builtin if the partition contains statements which
214         results are used outside of the loop.
215         (stmt_has_scalar_dependences_outside_loop): Properly handle calls.
216
217 2011-12-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
218
219         Backport from the mainline
220         2011-12-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
221
222         * config/rs6000/rs6000.c (rs6000_inner_target_options): Fix thinko
223         in setting options via target #pragma or attribute.
224
225 2011-12-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
226
227         Backport from mainline
228         2011-12-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
229
230         PR target/51623
231         * config/rs6000/rs6000.c (rs6000_assemble_integer): Don't call
232         unlikely_text_section_p.  Instead check for being in a code section.
233
234 2011-12-23  Richard Guenther  <rguenther@suse.de>
235
236         PR rtl-optimization/50396
237         * simplify-rtx.c (simplify_binary_operation_1): Properly
238         guard code that only works for integers.
239
240 2011-12-22  Doug Kwan  <dougkwan@google.com>
241
242         Backport from mainline
243         2011-03-23  Julian Brown  <julian@codesourcery.com>
244
245         * expr.c (expand_expr_real_1): Only use BLKmode for volatile
246         accesses which are not naturally aligned.
247
248         2011-11-20  Joey Ye  <joey.ye@arm.com>
249
250         * expr.c (expand_expr_real_1): Correctly handle strict volatile
251         bitfield loads smaller than mode size.
252
253 2011-12-21  Richard Earnshaw  <rearnsha@arm.com>
254
255         PR target/51643
256         * arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous
257         change.
258
259 2011-12-21  Richard Earnshaw  <rearnsha@arm.com>
260
261         PR target/51643
262         * arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a
263         weak function on bare-metal EABI targets.
264
265 2011-12-21  Uros Bizjak  <ubizjak@gmail.com>
266
267         Backport from mainline
268         2011-12-21  Richard Guenther  <rguenther@suse.de>
269
270         PR lto/41159
271         * tree-outof-ssa.c (insert_value_copy_on_edge): Use the
272         mode of the pseudo as destination mode.  Only assert that
273         is equal to the promoted mode of the decl if it is a REG.
274
275 2011-12-21  Uros Bizjak  <ubizjak@gmail.com>
276
277         * config/alpha/linux-unwind.h: Update copyright years.
278         (MD_FROB_UPDATE_CONTEXT): New define.
279         (alpha_frob_update_context): New function.
280
281 2011-12-19  Martin Jambor  <mjambor@suse.cz>
282
283         PR tree-optimization/51583
284         * tree-sra.c (load_assign_lhs_subreplacements): Call
285         force_gimple_operand_gsi when necessary also in case of no
286         corresponding replacement on the RHS.
287
288 2011-12-16  Eric Botcazou  <ebotcazou@adacore.com>
289
290         * config/sparc/sparc.md (UNSPEC_FRAME_BLOCKAGE): New constant.
291         (frame_blockage): New expander.
292         (frame_blockage<P:mode>): New instruction.
293         * config/sparc/sparc.c (sparc_expand_prologue): When the sequence of
294         instructions establishing the frame isn't atomic, emit frame blockage.
295
296 2011-12-15  H.J. Lu  <hongjiu.lu@intel.com>
297
298         Backport from mainline.
299         2011-10-28  Chung-Lin Tang  <cltang@codesourcery.com>
300
301         PR rtl-optimization/49720
302         * simplify-rtx.c (simplify_relational_operation_1): Detect
303         infinite recursion condition in "(eq/ne (plus x cst1) cst2)
304         simplifies to (eq/ne x (cst2 - cst1))" case.
305
306 2011-12-15  Andreas Tobler  <andreast@fgznet.ch>
307
308         Backport from mainline.
309         2011-12-15  Andreas Tobler  <andreast@fgznet.ch>
310
311         * config/i386/freebsd.h (TARGET_ASM_FILE_END): Define.
312
313 2011-12-13  Eric Botcazou  <ebotcazou@adacore.com>
314
315         * lto-streamer-out.c (write_symbol): Use proper 64-bit host type.
316         * lto-cgraph.c (input_cgraph_opt_section): Use 'int' for offsets.
317         * lto-streamer-in.c (lto_read_body): Likewise.
318         (lto_input_toplevel_asms): Likewise.
319         * lto-section-in.c (lto_create_simple_input_block): Likewise.
320         * lto-opts.c (lto_read_file_options): Likewise.
321         * ipa-prop.c (ipa_prop_read_section): Likewise.
322
323         * df.h (DF_NOTE): Fix typo in comment.
324
325 2011-12-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
326
327         * regmove.c (fixup_match_2): Only access call_used_regs with hard
328         regs.
329
330 2011-12-12  Jakub Jelinek  <jakub@redhat.com>
331
332         PR middle-end/51510
333         * calls.c (internal_arg_pointer_based_exp_scan): Don't use
334         VEC_safe_grow_cleared if idx is smaller than VEC_length.
335
336         Backported from mainline
337         2011-12-11  Jakub Jelinek  <jakub@redhat.com>
338
339         PR tree-optimization/51485
340         * tree-vect-data-refs.c (vect_analyze_data_refs): Give up on
341         DRs in call stmts.
342
343 2011-12-12  Eric Botcazou  <ebotcazou@adacore.com>
344
345         PR tree-optimization/50569
346         * tree-sra.c (build_ref_for_model): Replicate a chain of COMPONENT_REFs
347         in the expression of MODEL instead of just the last one.
348
349 2011-12-09  Michael Meissner  <meissner@the-meissners.org>
350
351         Backport from mainline
352         2011-12-09  Michael Meissner  <meissner@the-meissners.org>
353
354         PR rtl-optimization/51469
355         * varasm.c (default_binds_local_p_1): If the symbol is a gnu
356         indirect function, mark the symbol as non-local.
357
358 2011-12-09  Jakub Jelinek  <jakub@redhat.com>
359
360         Backport from mainline
361         2011-12-08  Jakub Jelinek  <jakub@redhat.com>
362
363         PR tree-optimization/51466
364         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also copy
365         TREE_SIDE_EFFECTS.
366
367         2011-11-28  Jakub Jelinek  <jakub@redhat.com>
368
369         PR tree-optimization/50078
370         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Copy over
371         TREE_THIS_VOLATILE also from the old to new lhs resp. rhs.
372
373 2011-12-09  Kazu Hirata  <kazu@codesourcery.com>
374
375         Backport from mainline:
376
377         2011-12-05  Kazu Hirata  <kazu@codesourcery.com>
378
379         PR target/51408
380         * config/arm/arm.md (*minmax_arithsi): Always require the else
381         clause in the MINUS case.
382
383 2011-12-08  Teresa Johnson  <tejohnson@google.com>
384
385         Backport from mainline:
386
387         2011-08-05  Uros Bizjak  <ubizjak@gmail.com>
388
389         * config/i386/i386.md (*movdi_internal_rex64): Use "!o" constraint
390         instead of "!m" for operand 0, alternative 4.
391         (*movdf_internal_rex64): Ditto for operand 0, alernative 6.
392
393 2011-12-08  Jakub Jelinek  <jakub@redhat.com>
394
395         Backport from mainline
396         2011-12-05  Jakub Jelinek  <jakub@redhat.com>
397
398         PR debug/51410
399         * c-decl.c (pop_scope): Don't add DECL_EXTERNAL decls
400         for debug info if scope is file_scope.
401
402         PR c/51339
403         * c-decl.c (c_finish_incomplete_decl, finish_decl): Call
404         relayout_decl instead of layout_decl.
405
406         2011-12-05  Jakub Jelinek  <jakub@redhat.com>
407                     Eric Botcazou  <ebotcazou@adacore.com>
408
409         PR middle-end/51323
410         PR middle-end/50074
411         * calls.c (internal_arg_pointer_exp_state): New variable.
412         (internal_arg_pointer_based_exp_1,
413         internal_arg_pointer_exp_scan): New functions.
414         (internal_arg_pointer_based_exp): New function.
415         (mem_overlaps_already_clobbered_arg_p): Use it.
416         (expand_call): Free internal_arg_pointer_exp_state.cache vector
417         and clear internal_arg_pointer_exp_state.scan_start.
418
419         2011-11-30  Jakub Jelinek  <jakub@redhat.com>
420
421         PR rtl-optimization/48721
422         * sched-deps.c (sched_analyze_insn): For SIBLING_CALL_P set
423         reg_pending_barrier to TRUE_BARRIER.
424
425         2011-11-26  Joern Rennecke  <joern.rennecke@embecosm.com>
426
427         PR middle-end/50074
428         * calls.c (mem_overlaps_already_clobbered_arg_p):
429         Return false if no outgoing arguments have been stored so far.
430
431 2011-12-08  Eric Botcazou  <ebotcazou@adacore.com>
432
433         PR tree-optimization/51315
434         * tree-sra.c (tree_non_mode_aligned_mem_p): Rename to...
435         (tree_non_aligned_mem_p): ...this.  Add ALIGN parameter.  Look into
436         MEM_REFs and use get_object_or_type_alignment for them.
437         (build_accesses_from_assign): Adjust for above change.
438         (access_precludes_ipa_sra_p): Likewise.
439
440 2011-12-06  Martin Jambor  <mjambor@suse.cz>
441
442         Backport from mainline:
443
444         2011-12-02  Martin Jambor  <mjambor@suse.cz>
445
446         PR tree-optimization/50622
447         * tree-sra.c (load_assign_lhs_subreplacements): Force gimple operand
448         if both lacc and racc are grp_partial_lhs.
449
450 2011-12-06  Iain Sandoe  <iains@gcc.gnu.org>
451
452         * config/rs6000/rs6000.c (darwin_rs6000_override_options): Initialize
453         rs6000_current_abi.
454
455 2011-12-06  Alan Modra  <amodra@gmail.com>
456
457         PR target/50906
458         * config/rs6000/rs6000.c (rs6000_emit_prologue <TARGET_SPE_ABI>):
459         Do not mark r11 setup as frame-related.  Pass correct offset to
460         rs6000_emit_savres_rtx.  Correct out-of-line rs6000_frame_related
461         arguments.  Correct sp_offset.  Remove "offset" fudge from
462         in-line rs6000_frame_related call.  Rename misleading variable.
463         Fix comments and whitespace.  Tidy some expressions.
464         (rs6000_emit_epilogue <TARGET_SPE_ABI>): Always set frame_reg_rtx
465         to r11 in out-of-line case.  Correct sp_offset.  Pass correct
466         offset to rs6000_emit_savres_rtx.  Rename misleading variable.
467         Fix comments and whitespace.  Tidy some expressions.
468         (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Add sp_offset
469         adjustment when !saving_GPRs_inline.  Correct register mode
470         used in address calcs.
471         (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Similarly when
472         !restoring_GPRs_inline.
473
474 2011-12-04  Jérémie Detrey  <Jeremie.Detrey@loria.fr>
475
476         PR target/51393
477         * config/i386/avxintrin.h (_mm256_insert_epi64): Declare second
478         parameter as long long.
479
480 2011-12-02  Georg-Johann Lay  <avr@gjlay.de>
481
482         PR target/51002
483         PR target/51345
484         * config/avr/libgcc.S (__prologue_saves__, __epilogue_restores__):
485         Enclose parts using __SP_H__ in !defined (__AVR_HAVE_8BIT_SP__).
486         Add FIXME comments.
487         * config/avr/avr.md (movhi_sp_r_irq_off, movhi_sp_r_irq_on): Set
488         insn condition to !AVR_HAVE_8BIT_SP.
489         * config/avr/avr.c (output_movhi): "clr%B0" instead of "in
490         %B0,__SP_H__" if AVR_HAVE_8BIT_SP.
491         (avr_file_start): Only print "__SP_H__ = 0x3e" if !AVR_HAVE_8BIT_SP.
492         * config/avr/avr-devices.c (avr_mcu_types): ATtiny4313 and
493         AT86RF401 have a 16-bit SP (their manual is bogus).
494
495 2011-11-25  Richard Sandiford  <richard.sandiford@linaro.org>
496
497         Backport from mainline:
498
499         2011-03-29  Richard Sandiford  <richard.sandiford@linaro.org>
500
501         PR debug/48190
502         * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
503         (cached_dw_loc_list_def): New structure.
504         (cached_dw_loc_list): New typedef.
505         (cached_dw_loc_list_table): New variable.
506         (cached_dw_loc_list_table_hash): New function.
507         (cached_dw_loc_list_table_eq): Likewise.
508         (add_location_or_const_value_attribute): Take a bool cache_p.
509         Cache the list when the parameter is true.
510         (gen_formal_parameter_die): Update caller.
511         (gen_variable_die): Likewise.
512         (dwarf2out_finish): Likewise.
513         (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
514         while generating debug info for the decl.
515         (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
516         (dwarf2out_init): Initialize cached_dw_loc_list_table.
517         (resolve_addr): Cache the result of resolving a chain of
518         location lists.
519
520 2011-11-24  Enkovich Ilya  <ilya.enkovich@intel.com>
521
522         PR target/51287
523         * i386.c (distance_non_agu_define): Fix insn attr check.
524
525 2011-11-20  Andreas Tobler  <andreast@fgznet.ch>
526
527         * configure: Regenerate.
528
529 2011-11-19  Eric Botcazou  <ebotcazou@adacore.com>
530
531         PR rtl-optimization/51187
532         * reorg.c (relax_delay_slots): Do not consider a jump useless if there
533         is a barrier between the jump and its target label.
534
535 2011-11-19  Richard Earnshaw  <rearnsha@arm.com>
536
537         PR target/50493
538         * config/arm/arm.c (neon_disambiguate_copy): Correctly handle partial
539         overlap of src and dest operands.
540
541 2011-11-18  Iain Sandoe  <iains@gcc.gnu.org>
542
543         PR target/49992
544         * configure.ac: Remove ranlib special-casing for Darwin.
545         * configure: Regenerate.
546
547 2011-11-16  Richard Earnshaw  <rearnsha@arm.com>
548             Bernd Schmidt <bernds@coudesourcery.com>
549             Sebastian Huber <sebastian.huber@embedded-brains.de>
550
551         PR target/49641
552         * config/arm/arm.c (store_multiple_sequence): Avoid cases where
553         the base reg is stored iff compiling for Thumb1.
554
555 2011-11-13  Iain Sandoe  <iains@gcc.gnu.org>
556
557         PR target/48108
558         Backport from mainline r180523
559         * config/darwin.c (top level): Amend comments concerning LTO output.
560         (lto_section_num): New variable.  (darwin_lto_section_e): New GTY.
561         (LTO_SECTS_SECTION, LTO_INDEX_SECTION): New.
562         (LTO_NAMES_SECTION): Rename.
563         (darwin_asm_named_section): Record LTO section counts and switches
564         in a vec of darwin_lto_section_e.
565         (darwin_file_start): Remove unused code.
566         (darwin_file_end): Put an LTO section termination label.  Handle
567         output of the wrapped LTO sections, index and names table.
568
569 2011-11-12  Iain Sandoe  <iains@gcc.gnu.org>
570
571         PR target/45233
572         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
573         Only expand a symbol ref. into an access when the entity is defined
574         in the TU.
575
576 2011-11-10  Jakub Jelinek  <jakub@redhat.com>
577
578         PR middle-end/51077
579         * tree-object-size.c (addr_object_size): Check TREE_CODE of
580         MEM_REF's operand rather than code of the MEM_REF itself.
581
582 2011-11-07  Alan Modra  <amodra@gmail.com>
583
584         PR target/30282
585         * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Always emit
586         blockage for ABI_V4.
587
588 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
589
590         PR c++/50608
591         * c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call
592         to fold_offsetof.
593         * c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1.
594
595 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
596
597         PR target/50979
598         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8.
599
600 2011-11-03  Uros Bizjak  <ubizjak@gmail.com>
601
602         * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2,
603         rint<mode>2, floor<mode>2, lfloor<MODEF:mode><SWI48:mode>2,
604         btrunc<mode>2, lwp_lwpval<mode>3): Use operands[N] instead of operandN.
605
606 2011-11-02  Eric Botcazou  <ebotcazou@adacore.com>
607
608         PR target/50945
609         * config/sparc/sparc.md (movsf_insn): Reindent constraints.
610         (movsf_insn_no_fpu): Likewise.
611         (movdf_insn_sp32): Likewise.
612         (movdf_insn_sp32_no_fpu): Likewise.
613         (movdf_insn_sp32_v9): Likewise.  Remove redundant GY constraint.
614         (movdf_insn_sp32_v9_no_fpu): Likewise.
615         (movdf_insn_sp64): Likewise.
616         (movdf_insn_sp64_no_fpu): Likewise.
617         (movtf_insn_sp32): Likewise.
618         (movtf_insn_sp32_no_fpu): Likewise.
619         (movtf_insn_sp64): Likewise.
620         (movtf_insn_sp64_hq): Likewise.
621         (movtf_insn_sp64_no_fpu): Likewise.
622
623 2011-11-02  Bernd Schmidt  <bernds@codesourcery.com>
624
625         * cfgcleanup.c (try_head_merge_bb): If get_condition returns
626         NULL for a jump that is a cc0 insn, pick the previous insn for
627         move_before.
628
629 2011-11-01  Uros Bizjak  <ubizjak@gmail.com>
630
631         * config/i386/i386.md (splitters for int-float conversion): Use
632         SUBREG_REG on SUBREGs in splitter constraints.
633
634 2011-11-01  Julian Brown  <julian@codesourcery.com>
635
636         PR rtl-optimization/47918
637         * reload1.c (set_initial_label_offsets): Use initial offsets
638         for labels on the nonlocal_goto_handler_labels chain.
639
640 2011-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
641
642         PR target/50691
643         * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references.
644         * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Return false for
645         TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC symbol references.
646
647 2011-10-27  Uros Bizjak  <ubizjak@gmail.com>
648
649         PR target/50875
650         * config/i386/sse.md (*avx_unpcklpd256): Remove extra insn
651         constraints.  Change alternative 1 to "x,m,1".
652
653 2011-10-26  Jakub Jelinek  <jakub@redhat.com>
654
655         * BASE-VER: Set to 4.6.3.
656         * DEV-PHASE: Set to prerelease.
657
658 2011-10-26  Release Manager
659
660         * GCC 4.6.2 released.
661
662 2011-10-25  Kai Tietz  <ktietz@redhat.com>
663
664         * config/i386/mingw32.h (SUBTARGET_FRAME_POINTER_REQUIRED):
665         Use for 32-bit frame-pointer, if setjmp is used.
666
667 2011-10-24  Jakub Jelinek  <jakub@redhat.com>
668
669         PR debug/50816
670         * dwarf2out.c (dwarf2out_source_line): Emit discriminators only if
671         -gdwarf-4 or not -gstrict-dwarf.
672
673 2011-10-24  Georg-Johann Lay  <avr@gjlay.de>
674
675         PR target/49824
676         Backport from mainline r180385
677         * doc/extend.texi (Declaring Attributes of Functions):
678         Document OS_main and OS_task attributes.
679         (Specifying Attributes of Variables): Move up
680         subsection "AVR Variable Attributes" as of alphabetical order.
681
682 2011-10-24  Georg-Johann Lay  <avr@gjlay.de>
683
684         PR target/50820
685         * doc/invoke.texi (AVR Options): New subsubsection to explain EIND
686         handling and indirect jump/calls on devices > 128k.
687
688 2011-10-23  Uros Bizjak  <ubizjak@gmail.com>
689
690         PR target/50788
691         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
692         Remove (match_dup 0).
693
694 2011-10-21  Georg-Johann Lay  <avr@gjlay.de>
695
696         PR target/50820
697         Backport from Mainline r180299.
698         * config/avr/libgcc.S (__EIND__): New define to 0x3C.
699         (__tablejump__): Consistently use EIND for indirect jump/call.
700         (__tablejump_elpm__): Ditto.
701
702 2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
703
704         PR target/50106
705         Backport from mainline.
706         2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
707
708         * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
709         reg size from 1-3.
710
711 2011-10-19  Jakub Jelinek  <jakub@redhat.com>
712
713         * dwarf2out.c (loc_descriptor): For SUBREG pass SUBREG_REG's mode as
714         second argument instead of mode.
715
716         PR target/50350
717         Backport from mainline
718         2011-09-27  Richard Sandiford  <rdsandiford@googlemail.com>
719
720         PR middle-end/50386
721         PR middle-end/50326
722         * tree-sra.c (build_ref_for_model): Use the type of the field as
723         the type of the COMPONENT_REF.
724
725 2011-10-18  Uros Bizjak  <ubizjak@gmail.com>
726             Eric Botcazou  <ebotcazou@adacore.com>
727
728         PR target/50737
729         * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Set
730         fs->signal_frame to 1.
731
732 2011-10-14  Richard Guenther  <rguenther@suse.de>
733
734         Backport from mainline
735         2011-10-14  Richard Guenther  <rguenther@suse.de>
736
737         PR tree-optimization/50723
738         * ipa-split.c (split_function): Use GSI_CONTINUE_LINKING.
739
740         2011-10-13  Richard Guenther  <rguenther@suse.de>
741
742         PR tree-optimization/50712
743         * ipa-split.c (split_function): Always re-gimplify parameters
744         when they are not gimple vals before passing them.  Properly
745         check for type compatibility.
746
747 2011-10-13  Eric Botcazou  <ebotcazou@adacore.com>
748
749         * doc/invoke.texi (SPARC options): Document -mfix-at697f.
750         * config/sparc/sparc.opt (mfix-at697f): New option.
751         * config/sparc/sparc.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
752         (sparc_reorg): New function.
753
754 2011-10-12  Steve Ellcey  <sje@cup.hp.com>
755
756         PR target/49967
757         Backport from Mainline 179472.
758         * configure.ac (gcc_cv_ld_static_dynamic): Define for *-*-hpux*.
759         (gcc_cv_ld_static_option): Ditto.
760         (gcc_cv_ld_dynamic_option): Ditto.
761         * configure: Regenerate.
762
763 2011-10-12  Paul Koning  <pkoning@gcc.gnu.org>
764
765         PR tree-optimization/50189
766         * tree-vrp.c (extract_range_from_assert): Use the type of
767         the variable, not the limit.
768
769 2011-10-12  Richard Guenther  <rguenther@suse.de>
770
771         PR tree-optimization/50700
772         * tree-object-size.c (addr_object_size): Simplify and treat
773         MEM_REF bases consistently.
774
775 2011-10-12  Joseph Myers  <joseph@codesourcery.com>
776
777         PR c/50565
778         * convert.c (convert_to_integer): Do not narrow operands of
779         pointer subtraction.
780
781 2011-10-11  Eric Botcazou  <ebotcazou@adacore.com>
782
783         PR target/49965
784         * config/sparc/sparc.md (mov<I:mode>cc): Do not save comparison code.
785         (mov<F:mode>cc): Likewise.
786
787 2011-10-11  Nick Clifton  <nickc@redhat.com>
788
789         PR middle-end/49801
790         * compare-elim.c (find_comparisons_in_bb): Use df_get_live_in and
791         df_get_live_out instead of accessing the bitmaps directly.
792         (execute_compare_elim_after_reload): Remove calls to df_set_flags,
793         df_live_add_problem and df_analyze.
794
795 2011-10-10  Georg-Johann Lay  <avr@gjlay.de>
796
797         PR target/50652
798         Backport from Mainline r179737.
799         * config/avr/avr-devices.c (avr_mcu_types): Set
800         .data_section_start of atmega164a to 0x100.
801
802 2011-10-07  Bernd Schmidt  <bernds@codesourcery.com>
803
804         PR target/49049
805         * config/arm/arm.md (arm_subsi3_insn): Lose the last alternative.
806
807 2011-10-06  Jakub Jelinek  <jakub@redhat.com>
808
809         * tree.h (avoid_folding_inline_builtin): New prototype.
810         * builtins.c (avoid_folding_inline_builtin): No longer static.
811         * gimple-fold.c (gimple_fold_builtin): Give up if
812         avoid_folding_inline_builtin returns true.
813
814         PR tree-optimization/49279
815         * tree-ssa-structalias.c (find_func_aliases): Don't handle
816         CAST_RESTRICT.
817
818 2011-10-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
819
820         * longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local
821         variables.  Fix second operand of DR.  Swap inputs for sdiv_qrnnd.
822
823 2011-10-03  Jakub Jelinek  <jakub@redhat.com>
824             Ian Lance Taylor  <iant@google.com>
825
826         * godump.c (go_output_typedef): Support printing enum values that
827         don't fit in a signed HOST_WIDE_INT.
828
829 2011-09-30  Jakub Jelinek  <jakub@redhat.com>
830
831         PR inline-asm/50571
832         * gimple-fold.c (fold_stmt_1) <case GIMPLE_ASM>: If
833         input constraints allow mem and not reg, pass true instead of
834         false as second argument to maybe_fold_reference.
835
836 2011-09-30  Jakub Jelinek  <jakub@redhat.com>
837             Richard Guenther  <rguenther@suse.de>
838
839         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Fix
840         handling of BUILT_IN_STRNCAT.
841         (ref_maybe_used_by_call_p_1): Fix handling of BUILT_IN_STRCAT,
842         and BUILT_IN_STRNCAT.
843
844 2011-09-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
845
846         * graphite-scop-detection.c (make_close_phi_nodes_unique):  New
847         forward declaration.
848         (remove_duplicate_close_phi): Detect and repair creation of
849         duplicate close-phis for a containing loop.
850
851 2011-09-26  Richard Guenther  <rguenther@suse.de>
852
853         PR tree-optimization/50472
854         * tree-ssa-ccp.c (fold_const_aggregate_ref): Do not fold
855         volatile references.
856
857 2011-09-25  Ira Rosen  <ira.rosen@linaro.org>
858
859         PR tree-optimization/50413
860         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail to vectorize
861         a basic block if one of its data-refs can't be analyzed.
862
863 2011-09-25  Ira Rosen  <ira.rosen@linaro.org>
864
865         PR tree-optimization/50412
866         * tree-vect-data-refs.c (vect_analyze_group_access): Fail for
867         accesses that require epilogue loop if vectorizing outer loop.
868
869 2011-09-22  Uros Bizjak  <ubizjak@gmail.com>
870
871         PR target/50464
872         * config/i386/sse.md (xop_pcmov_<mode>): Change operand 1 predicate
873         to register_operand and operand 2 predicate to nonimmediate_operand.
874         (xop_pcmov_<mode>256): Ditto.
875         * config/i386/i386.c (ix86_expand_sse_movcc): When generating
876         xop_pcmov, force op_true to register.  Also, force op_false to
877         register if it doesn't satisfy nonimmediate_operand predicate.
878
879 2011-09-19  Alan Modra  <amodra@gmail.com>
880             Michael Meissner  <meissner@linux.vnet.ibm.com>
881
882         PR target/50341
883         * config/rs6000/rs6000.md (call_indirect_aix32): Do not split the
884         load of the indirect function's TOC from the call to prevent the
885         compiler from moving the load of the new TOC above code that
886         references the current function's TOC.
887         (call_indirect_aix64): Ditto.
888         (call_value_indirect_aix32): Ditto.
889         (call_value_indirect_aix64): Ditto.
890         (call_indirect_nonlocal_aix32_internal): Ditto.
891         (call_indirect_nonlocal_aix32): Ditto.
892         (call_indirect_nonlocal_aix64_internal): Ditto.
893         (call_indirect_nonlocal_aix64): Ditto.
894         (call_value_indirect_nonlocal_aix32_internal): Ditto.
895         (call_value_indirect_nonlocal_aix32): Ditto.
896         (call_value_indirect_nonlocal_aix64_internal): Ditto.
897         (call_value_indirect_nonlocal_aix64): Ditto.
898
899 2011-09-19  Martin Jambor  <mjambor@suse.cz>
900
901         PR middle-end/49886
902         * ipa-split.c (split_function): Do not change signature if it is
903         not possible or there are attribute types.
904
905 2011-09-18  Eric Botcazou  <ebotcazou@adacore.com>
906             Iain Sandoe  <developer@sandoe-acoustics.co.uk>
907
908         PR target/50091
909         * config/rs6000/rs6000.md (probe_stack): Use explicit operand.
910         * config/rs6000/rs6000.c (output_probe_stack_range): Likewise.
911
912 2011-09-14  Diego Novillo  <dnovillo@google.com>
913
914         * tree-vect-stmts.c (vect_transform_stmt): Remove unused
915         local variable ORIG_SCALAR_STMT.
916
917 2011-09-08  Martin Jambor  <mjambor@suse.cz>
918
919         Backport from mainline
920         2011-09-07  Martin Jambor  <mjambor@suse.cz>
921
922         PR tree-optimization/49911
923         * tree-sra.c (analyze_access_subtree): Change type of to-be-replaced
924         enumerations to the corresponding plain integer type.
925
926 2011-09-08  Richard Guenther  <rguenther@suse.de>
927
928         Backport from mainline
929         2011-07-04  Richard Guenther  <rguenther@suse.de>
930
931         PR tree-optimization/49518
932         PR tree-optimization/49628
933         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Skip
934         irrelevant data-references.
935
936 2011-09-08  Richard Guenther  <rguenther@suse.de>
937
938         Backport from mainline
939         2011-08-23  Richard Guenther  <rguenther@suse.de>
940
941         PR tree-optimization/50162
942         * tree-vect-stmts.c (vectorizable_call): Fix argument lookup.
943
944 2011-09-08  Richard Guenther  <rguenther@suse.de>
945
946         Backport from mainline
947         2011-05-05  Michael Matz  <matz@suse.de>
948
949         * config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
950         * config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
951         * config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
952         * config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
953         * config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
954         * config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
955         * config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
956         * config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
957         * config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
958         * config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
959         * config/i386/linux.h (ENDFILE_SPEC): Add Ofast.
960         * config/i386/linux64.h (ENDFILE_SPEC): Add Ofast.
961         * config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
962         * config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
963         * config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
964         * config/mips/linux.h (ENDFILE_SPEC): Add Ofast.
965
966 2011-09-08  Eric Botcazou  <ebotcazou@adacore.com>
967             Iain Sandoe  <iains@gcc.gnu.org>
968
969         Backport from mainline (restore powerpc-darwin Ada bootstrap).
970         * config/rs6000/rs6000.c (compute_save_world_info): Test
971         cfun->has_nonlocal_label to determine if the out-of-line save
972         world call may be used.
973
974 2011-09-08  Jakub Jelinek  <jakub@redhat.com>
975
976         PR target/50310
977         * config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Return
978         code early if TARGET_AVX.
979         (ix86_expand_fp_vcond): Handle LTGT and UNEQ.
980
981 2011-09-06  Martin Jambor  <mjambor@suse.cz>
982
983         Revert
984         2011-09-02  Martin Jambor  <mjambor@suse.cz>
985         PR middle-end/49886
986         * ipa-split.c (split_function): Do not skip any arguments if
987         can_change_signature is set or there are function type attributes.
988
989 2011-09-05  Georg-Johann Lay  <avr@gjlay.de>
990
991         PR target/50289
992         Backport from mainline r178528
993         * config/avr/avr.c (sequent_regs_live): Don't recognize sequences
994         that contain global register variable.
995
996 2011-09-02  Martin Jambor  <mjambor@suse.cz>
997
998         PR middle-end/49886
999         * ipa-split.c (split_function): Do not skip any arguments if
1000         can_change_signature is set or there are function type attributes.
1001
1002 2011-09-01  Ira Rosen  <ira.rosen@linaro.org>
1003
1004         PR tree-optimization/50178
1005         * tree-vect-stmts.c (vectorizable_call): Update the related
1006         pattern statement before deleting the original call.
1007         (vect_transform_stmt): Don't expect the related pattern statement
1008         to match the original statement after transformation.
1009
1010 2011-08-29  Richard Guenther  <rguenther@suse.de>
1011
1012         PR middle-end/50116
1013         * varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].
1014
1015 2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
1016
1017         * config/i386/sse.md (vec_extract_lo_<mode>): Prevent both
1018         operands in memory.
1019         (vec_extract_lo_v16hi): Ditto.
1020         (*vec_extract_v4sf_mem): Add TARGET_SSE insn constraint.
1021         * config/i386/i386.c (legitimize_tls_address): Change REG_EQIV
1022         notes to REG_EQUAL.
1023
1024 2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
1025
1026         PR target/50202
1027         * config/i386/sse.md (sse4_2_pcmpestr): Emit NOTE_INSN_DELETED note
1028         when all outputs are unused.
1029         (sse4_2_pcmpistr): Ditto.
1030
1031 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
1032
1033         PR c/50179
1034         * c-typeck.c (c_process_expr_stmt): Skip over nops and
1035         call mark_exp_read even if exprv is ADDR_EXPR.
1036
1037 2011-08-20  Jakub Jelinek  <jakub@redhat.com>
1038
1039         PR tree-optimization/48739
1040         * tree-ssa.c: Include cfgloop.h.
1041         (execute_update_addresses_taken): When updating ssa, if in
1042         loop closed SSA form, call rewrite_into_loop_closed_ssa instead of
1043         update_ssa.
1044         * Makefile.in (tree-ssa.o): Depend on $(CFGLOOP_H).
1045
1046 2011-08-18  Jakub Jelinek  <jakub@redhat.com>
1047
1048         PR target/50092
1049         * config/i386/i386.c (assign_386_stack_local): Call validize_mem
1050         on the result before returning it.
1051
1052 2011-08-16  Liang Wang  <lwang1@marvell.com>
1053
1054         * ggc.h (ggc_alloc_rtvec_sized): Change arguments of
1055         ggc_alloc_zone_vec_rtvec_def.
1056
1057 2011-08-12  Nick Clifton  <nickc@redhat.com>
1058
1059         * builtins.c (expand_builtin_memcmp): Do not use cmpstrnsi
1060         pattern.
1061         * doc/md.texi (cmpstrn): Note that the comparison stops if both
1062         fetched bytes are zero.
1063         (cmpstr): Likewise.
1064         (cmpmem): Note that the comparison does not stop if both of the
1065         fetched bytes are zero.
1066
1067 2011-08-11  Kazuhiro Inaoka  <kazuhiro.inaoka.ud@renesas.com>
1068
1069         * config/rx/rx.md (movsicc): Allow register to register
1070         transfers.
1071         (*movsicc): Likewise.
1072         (*stcc): Restrict this pattern to EQ and NE compares.
1073         (*stcc_reg): New pattern.  Works for any comparison but only for
1074         register transfers.
1075
1076 2011-08-10  DJ Delorie  <dj@redhat.com>
1077
1078         * expr.c (expand_expr_addr_expr_1): Detect a user request for
1079         a local frame in a naked function, and produce a suitable
1080         error for that specific case.
1081
1082 2011-08-09  Martin Jambor  <mjambor@suse.cz>
1083
1084         PR middle-end/49923
1085         * tree-sra.c (access_precludes_ipa_sra_p): Also check access
1086         memory alignment.
1087
1088 2011-08-09  Nick Clifton  <nickc@redhat.com>
1089
1090         * config/rx/rx.md: Disable extender peepholes at -O3.
1091
1092 2011-08-06  Uros Bizjak  <ubizjak@gmail.com>
1093
1094         PR target/50001
1095         * config/alpha/alpha.c (alpha_instantiate_decls): New function.
1096         (TARGET_INSTANTIATE_DECLS): New define.
1097
1098 2011-08-05  H.J. Lu  <hongjiu.lu@intel.com>
1099
1100         Backport from mainline
1101         2011-08-05  H.J. Lu  <hongjiu.lu@intel.com>
1102
1103         * config/i386/i386.c (processor_alias_table): Add core-avx-i.
1104
1105         * doc/invoke.texi: Document core-avx-i.
1106
1107 2011-08-03  Jakub Jelinek  <jakub@redhat.com>
1108
1109         PR tree-optimization/49948
1110         * gimple.c (walk_stmt_load_store_addr_ops): Walk CONSTRUCTOR elements.
1111
1112 2011-08-02  Uros Bizjak  <ubizjak@gmail.com>
1113
1114         * doc/md.texi (stack_protect_set): The pattern moves ptr_mode value.
1115         (stack_protect_test): The pattern compares ptr_mode value.
1116
1117 2011-07-31  Uros Bizjak  <ubizjak@gmail.com>
1118
1119         PR target/49920
1120         * config/i386/i386.md (strset): Do not expand strset_singleop
1121         when %eax or $edi are fixed.
1122         (*strsetdi_rex_1): Disable when %eax or %edi are fixed.
1123         (*strsetsi_1): Ditto.
1124         (*strsethi_1): Ditto.
1125         (*strsetqi_1): Ditto.
1126         (*rep_stosdi_rex64): Disable when %eax, %ecx or %edi are fixed.
1127         (*rep_stossi): Ditto.
1128         (*rep_stosqi): Ditto.
1129         (*strlenqi_1): Ditto.
1130         (cmpstrnsi): Also fail when %ecx is fixed.
1131         (*cmpstrnqi_nz_1): Disable when %ecx, %esi or %edi are fixed.
1132         (*cmpstrnqi_1): Ditto.
1133         (*strmovdi_rex_1): Disable when %esi or %edi are fixed.
1134         (*strmovsi_1): Ditto.
1135         (*strmovhi_1): Ditto.
1136         (*strmovqi_1): Ditto.
1137         (*rep_movdi_rex64): Disable when %ecx, %esi or %edi are fixed.
1138         (*rep_movsi): Ditto.
1139         (*rep_movqi): Ditto.
1140
1141 2011-07-31  Mikael Pettersson  <mikpe@it.uu.se>
1142
1143         PR target/47908
1144         * config/m68k/m68k.c (m68k_override_options_after_change): New function.
1145         Disable instruction scheduling for non-ColdFire targets.
1146         (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
1147
1148 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
1149
1150         PR middle-end/49897
1151         PR middle-end/49898
1152         * omp-low.c (use_pointer_for_field): If disallowing copy-in/out
1153         in nested parallel and outer is a gimple_reg, mark it as addressable
1154         and set its bit in task_shared_vars bitmap too.
1155
1156 2011-07-29  Wei Guozhi  <carrot@google.com>
1157
1158         Backport from mainline
1159         2011-07-29  Wei Guozhi  <carrot@google.com>
1160
1161         PR rtl-optimization/49799
1162         * combine.c (make_compound_operation): Check if the bit field is valid
1163         before change it to bit field extraction.
1164
1165 2011-07-28  Jakub Jelinek  <jakub@redhat.com>
1166
1167         PR debug/49871
1168         * dwarf2out.c (size_of_die, value_format, output_die): Use
1169         DW_FORM_udata instead of DW_FORM_data[48] for
1170         dw_val_class_unsigned_const DW_AT_data_member_location for DWARF 3.
1171
1172 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
1173
1174         Backport from mainline
1175         2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
1176
1177         PR target/47364
1178         * config/i386/i386.md (strlen<mode>): Replace SWI48x with P.
1179
1180 2011-07-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1181
1182         Backport from mainline:
1183         2011-07-26  Martin Jambor  <mjambor@suse.cz>
1184
1185         * tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
1186         return false for invariants.
1187
1188 2011-07-27  Jakub Jelinek  <jakub@redhat.com>
1189
1190         PR target/49866
1191         * config/i386/i386.md (*call_pop_1_vzeroupper, *call_pop_1,
1192         *sibcall_pop_1_vzeroupper, *sibcall_pop_1, *call_1_vzeroupper,
1193         *call_1, *sibcall_1_vzeroupper, *sibcall_1, *call_1_rex64_vzeroupper,
1194         *call_1_rex64, *call_1_rex64_ms_sysv_vzeroupper,
1195         *call_1_rex64_ms_sysv, *sibcall_1_rex64_vzeroupper,
1196         *sibcall_1_rex64, *call_value_pop_1_vzeroupper,
1197         *call_value_pop_1, *sibcall_value_pop_1_vzeroupper,
1198         *sibcall_value_pop_1, *call_value_1_vzeroupper,
1199         *call_value_1, *sibcall_value_1_vzeroupper,
1200         *sibcall_value_1, *call_value_1_rex64_vzeroupper,
1201         *call_value_1_rex64, *call_value_1_rex64_ms_sysv_vzeroupper,
1202         *call_value_1_rex64_ms_sysv, *sibcall_value_1_rex64_vzeroupper,
1203         *sibcall_value_1_rex64): Use z constraint instead of s constraint.
1204
1205         Backport from mainline
1206         2011-05-16  Uros Bizjak  <ubizjak@gmail.com>
1207
1208         * config/i386/constraints.md (z): New constraint.
1209
1210 2011-07-25  Andrew Pinski  <apinski@cavium.com>
1211
1212         PR tree-opt/49671
1213         * tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and
1214         TREE_THIS_NOTRAP into the inner most MEM_REF.
1215         Always copy TREE_THIS_VOLATILE.
1216         * tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and
1217         arguments are not volatile references.
1218
1219 2011-07-25  Georg-Johann Lay  <avr@gjlay.de>
1220
1221         PR target/39386
1222         Backport from mainline r176756
1223         2011-07-25  Georg-Johann Lay
1224         * config/avr/avr.c (out_shift_with_cnt): Use tmp_reg as
1225         shift counter for x << x and x >> x shifts.
1226
1227 2011-07-22  Uros Bizjak  <ubizjak@gmail.com>
1228
1229         * config.gcc (x86_64-*-linux*): Set
1230         default_gnu_indirect_function to yes.
1231
1232 2011-07-22  Richard Guenther  <rguenther@suse.de>
1233
1234         PR tree-optimization/45819
1235         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Properly
1236         preserve volatile and notrap flags.
1237
1238 2011-07-21  Uros Bizjak  <ubizjak@gmail.com>
1239
1240         Backport from mainline
1241         2011-07-04  Uros Bizjak  <ubizjak@gmail.com>
1242
1243         PR target/49600
1244         * config/i386/i386.md (SSE2 int->float split): Push operand 1 in
1245         general register to memory for !TARGET_INTER_UNIT_MOVES.
1246
1247 2011-07-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1248
1249         * config/s390/s390.c (s390_class_max_nregs): Fix return type.
1250         * config/s390/s390-protos.h (s390_class_max_nregs): Likewise.
1251
1252 2011-07-19  Jakub Jelinek  <jakub@redhat.com>
1253
1254         PR tree-optimization/49768
1255         * tree-ssa-ccp.c (fold_nonarray_ctor_reference): Return NULL
1256         if offset is smaller than bitoffset, but offset+size is bigger
1257         than bitoffset.
1258
1259 2011-07-18  Jakub Jelinek  <jakub@redhat.com>
1260
1261         PR middle-end/49675
1262         * tree.c (build_common_builtin_nodes): Register
1263         __builtin_return_address, __cyg_profile_func_enter
1264         and __cyg_profile_func_exit.
1265
1266 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1267
1268         * config.gcc: Obsolete i[3456x]86-*-netware*.
1269
1270 2011-07-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1271
1272         PR target/49746
1273         Revert:
1274         2010-12-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1275
1276         * config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean
1277         patterns.
1278
1279 2011-07-17  Eric Botcazou  <ebotcazou@adacore.com>
1280
1281         PR middle-end/49732
1282         * tree.c (walk_tree_1) <DECL_EXPR>: Do not walk a pointed-to type.
1283
1284 2011-07-16  Eric Botcazou  <ebotcazou@adacore.com>
1285
1286         PR tree-optimization/49725
1287         Backport from mainline
1288         2011-03-31  Eric Botcazou  <ebotcazou@adacore.com>
1289
1290         * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
1291         a zero minimum index only if it is redundant.
1292
1293 2011-07-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1294
1295         PR target/49723
1296         * config/pa/pa.md (casesi): Use gen_int_mode instead of GEN_INT.
1297
1298 2011-07-15  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1299
1300         Backport from mainline:
1301         2011-07-13  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1302
1303         * config/spu/spu.c (TARGET_ASM_FILE_START): Do not define.
1304         (asm_file_start): Remove.
1305         (spu_machine_dependent_reorg): Call compute_bb_for_insn and
1306         free_bb_for_insn around code that modifies insns before
1307         restarting df analysis.
1308
1309 2011-07-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1310
1311         Backport from mainline:
1312         2011-07-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1313
1314         PR target/49541
1315         * config/sol2.h (LIB_SPEC): Simplify.
1316         Move LIB_THREAD_LDFLAGS_SPEC ...
1317         (LINK_SPEC): ... here.
1318
1319 2011-07-14  James Greenhalgh  <james.greenhalgh@arm.com>
1320
1321         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add __ARM_FEATURE_DSP.
1322
1323 2011-07-14  Andrew Pinski  <pinskia@gmail.com>
1324
1325         PR tree-opt/49309
1326         * tree-mudflap.c (mf_xform_derefs_1 <case MEM_REF>):
1327         Use fold_build2_loc instead of build2.
1328         Use the correct type for the new tree.
1329
1330 2011-07-14  Georg-Johann Lay  <avr@gjlay.de>
1331
1332         PR target/49487
1333         Backport from mainline r176276
1334         2011-07-14  Georg-Johann Lay
1335         * config/avr/avr.md (rotl<mode>3): Generate SCRATCH instead
1336         of REG.
1337         (*rotw<mode>): Use const_int_operand for operand2.
1338         Use match_scatch for operand3.
1339         (*rotb<mode>): Ditto
1340         * config/avr/avr.c (avr_rotate_bytes): Treat SCRATCH.
1341
1342 2011-07-14  Richard Guenther  <rguenther@suse.de>
1343
1344         PR tree-optimization/49651
1345         * tree-ssa-structalias.c (get_constraint_for_1): Properly
1346         handle dereferences with subvariables.
1347
1348 2011-07-11  Martin Jambor  <mjambor@suse.cz>
1349
1350         PR tree-optimization/49094
1351         * tree-sra.c (tree_non_mode_aligned_mem_p): New function.
1352         (build_accesses_from_assign): Use it.
1353
1354 2011-07-11  Georg-Johann Lay  <avr@gjlay.de>
1355
1356         PR target/39633
1357         Backport from mainline r176141
1358         2011-07-11  Georg-Johann Lay
1359         * config/avr/avr.c (notice_update_cc): For ashiftrt:QI, only
1360         offsets 1..5 set cc0 in a usable way.
1361
1362 2011-07-08  Jakub Jelinek  <jakub@redhat.com>
1363
1364         PR target/49621
1365         * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Use
1366         CONST0_RTX (dest_mode) instead of const0_rtx as second operand
1367         of NE.
1368         * config/rs6000/vector.md (vector_select_<mode>,
1369         vector_select_<mode>_uns): Change second operand of NE to
1370         CONST0_RTX (<MODE>mode) instead of const0_rtx.
1371         * config/rs6000/altivec.md (*altivec_vsel<mode>,
1372         *altivec_vsel<mode>_uns): Expect second operand of NE to be
1373         zero_constant of the corresponding vector mode.
1374         * config/rs6000/vsx.md (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns):
1375         Likewise.
1376
1377 2011-07-08  Georg-Johann Lay  <avr@gjlay.de>
1378
1379         PR target/46779
1380         Backport from mainline SVN 176053.
1381         2011-07-08  Georg-Johann Lay  <avr@gjlay.de>
1382         * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
1383         In particular, allow 8-bit values in r28 and r29.
1384         (avr_hard_regno_scratch_ok): Disallow any register that might be
1385         part of the frame pointer.
1386         (avr_hard_regno_rename_ok): Same.
1387         (avr_legitimate_address_p): Don't allow SUBREGs.
1388
1389 2011-07-07  Eric Botcazou  <ebotcazou@adacore.com>
1390
1391         PR target/49660
1392         * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Add
1393         MASK_V8PLUS, remove commented out flag and reorder.
1394
1395         Backport from mainline
1396         2011-06-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1397
1398         * config/sparc/sol2-64.h (TARGET_DEFAULT): Remove.
1399         (TARGET_64BIT_DEFAULT): Define.
1400         * config.gcc (sparc*-*-solaris2*): Move sparc/sol2-64.h to front
1401         of tm_file.
1402         * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Define.
1403
1404 2011-07-07  Jakub Jelinek  <jakub@redhat.com>
1405
1406         PR c/49644
1407         * c-typeck.c (build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with
1408         one non-complex and one complex argument, call c_save_expr on both
1409         operands.
1410
1411         PR debug/49522
1412         * df-problems.c (dead_debug_reset): Remove dead_debug_uses
1413         referencing debug insns that have been reset.
1414         (dead_debug_insert_before): Don't assert reg is non-NULL,
1415         instead return immediately if it is NULL.
1416
1417         PR middle-end/49640
1418         * gimplify.c (gimplify_compound_lval): For last 2 ARRAY_*REF
1419         operands and last COMPONENT_REF operand call gimplify_expr on it
1420         if non-NULL.
1421
1422 2011-07-06  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1423
1424         Backport from mainline.
1425         2011-06-24  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1426
1427         PR target/49335
1428         * config/arm/predicates.md (add_operator): New.
1429         * config/arm/arm.md ("*arith_shiftsi"): Fix for SP reg usage
1430         in Thumb2.
1431
1432 2011-07-05  Jakub Jelinek  <jakub@redhat.com>
1433
1434         PR tree-optimization/49618
1435         * tree-eh.c (tree_could_trap_p) <case FUNCTION_DECL, case VAR_DECL>:
1436         For DECL_WEAK decls return true.
1437
1438 2011-07-04  Jakub Jelinek  <jakub@redhat.com>
1439
1440         PR rtl-optimization/49619
1441         * combine.c (combine_simplify_rtx): In PLUS -> IOR simplification
1442         pass VOIDmode as op0_mode to recursive call.
1443
1444         PR rtl-optimization/49472
1445         * simplify-rtx.c (simplify_unary_operation_1) <case NEG>: When
1446         negating MULT, negate the second operand instead of first.
1447         (simplify_binary_operation_1) <case MULT>: If one operand is
1448         a NEG and the other is MULT, don't attempt to optimize by
1449         negation of the MULT operand if it only moves the NEG operation
1450         around.
1451
1452         Backported from mainline
1453         2011-06-06  Jakub Jelinek  <jakub@redhat.com>
1454
1455         PR debug/49262
1456         * dwarf2out.c (native_encode_initializer): Decrement count in each
1457         iteration.
1458
1459 2011-07-04  Georg-Johann Lay  <avr@gjlay.de>
1460
1461         Backport from mainline
1462         2011-07-04  Georg-Johann Lay  <avr@gjlay.de>
1463
1464         PR target/44643
1465         * config/avr/avr.c (avr_insert_attributes): Use TYPE_READONLY
1466         instead of TREE_READONLY.
1467
1468 2011-07-04  Richard Guenther  <rguenther@suse.de>
1469
1470         PR tree-optimization/49615
1471         * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix
1472         basic-block index check.
1473
1474 2011-06-30  Eric Botcazou  <ebotcazou@adacore.com>
1475
1476         PR tree-optimization/49572
1477         * tree-ssa-dom.c (initialize_hash_element) <GIMPLE_SINGLE_RHS>: Use the
1478         type of the RHS instead of that of the LHS for the expression type.
1479
1480 2011-06-30  Georg-Johann Lay  <avr@gjlay.de>
1481
1482         Backport from mainline
1483         PR target/34734
1484         (avr_section_type_flags): For data in ".progmem.data", remove
1485         section flag SECTION_WRITE.
1486
1487 2011-06-30  Georg-Johann Lay  <avr@gjlay.de>
1488
1489         Backport from mainline
1490         PR target/34734
1491         * config/avr/avr.c (avr_handle_progmem_attribute): Move warning
1492         about uninitialized data attributed 'progmem' from here...
1493         (avr_encode_section_info): ...to this new function.
1494         (TARGET_ENCODE_SECTION_INFO): New define.
1495
1496 2011-06-29  Changpeng Fang  <changpeng.fang@amd.com>
1497
1498         Backport from mainline
1499         2011-06-29  Changpeng Fang  <changpeng.fang@amd.com>
1500
1501         * config/i386/i386.opt (mprefer-avx128): Redefine the flag as a Mask
1502         option.
1503         * config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_AVX128_OPTIMAL
1504         entry.
1505         (TARGET_AVX128_OPTIMAL): New definition.
1506         * config/i386/i386.c (initial_ix86_tune_features): Initialize
1507         X86_TUNE_AVX128_OPTIMAL entry.
1508         (ix86_option_override_internal): Enable the generation
1509         of the 128-bit instructions when TARGET_AVX128_OPTIMAL is set.
1510         (ix86_preferred_simd_mode): Use TARGET_PREFER_AVX128.
1511         (ix86_autovectorize_vector_sizes): Use TARGET_PREFER_AVX128.
1512
1513 2011-06-29  Harsha Jagasia <harsha.jagasia@amd.com>
1514
1515         Backport from mainline
1516         2011-05-31  Alexandre Oliva  <aoliva@redhat.com>
1517
1518         * config/i386/i386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
1519         * config/i386/sse.md: Add n to negated FMA pattern names.
1520
1521 2011-06-29  Eric Botcazou  <ebotcazou@adacore.com>
1522
1523         PR tree-optimization/49539
1524         * tree-ssa-forwprop.c (can_propagate_from): Check for abnormal SSA
1525         names by means of stmt_references_abnormal_ssa_name.
1526         (associate_plusminus): Call can_propagate_from before propagating
1527         from definition statements.
1528
1529 2011-06-29  Martin Jambor  <mjambor@suse.cz>
1530
1531         Backport from mainline
1532         2011-06-24  Martin Jambor  <mjambor@suse.cz>
1533
1534         PR tree-optimizations/49516
1535         * tree-sra.c (sra_modify_assign): Choose the safe path for
1536         aggregate copies if we also did scalar replacements.
1537
1538 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
1539
1540         Backport from mainline
1541         2011-06-20  Changpeng Fang  <changpeng.fang@amd.com>
1542
1543         PR target/49089
1544         * config/i386/i386.c (avx256_split_unaligned_load): New definition.
1545         (avx256_split_unaligned_store): New definition.
1546         (ix86_option_override_internal): Enable avx256 unaligned load/store
1547         splitting only when avx256_split_unaligned_load/store is set.
1548
1549 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
1550
1551         Backport from mainline
1552         2011-03-28  H.J. Lu  <hongjiu.lu@intel.com>
1553
1554         * config/i386/i386.c (flag_opts): Fix a typo in
1555         -mavx256-split-unaligned-store.
1556
1557 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
1558
1559         Backport from mainline
1560         2011-03-27  H.J. Lu  <hongjiu.lu@intel.com>
1561
1562         * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
1563         unaligned 256bit load/store.
1564         (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
1565         (*avx_movdqu<avxmodesuffix>): Likewise.
1566
1567 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
1568
1569         Backport from mainline
1570         2011-03-27  H.J. Lu  <hongjiu.lu@intel.com>
1571
1572         * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
1573         and -mavx256-split-unaligned-store.
1574         (ix86_option_override_internal): Split 32-byte AVX unaligned
1575         load/store by default.
1576         (ix86_avx256_split_vector_move_misalign): New.
1577         (ix86_expand_vector_move_misalign): Use it.
1578
1579         * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
1580         -mavx256-split-unaligned-store.
1581
1582         * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
1583         256bit load/store.  Generate unaligned store on misaligned memory
1584         operand.
1585         (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
1586         256bit load/store.
1587         (*avx_movdqu<avxmodesuffix>): Likewise.
1588
1589         * doc/invoke.texi: Document -mavx256-split-unaligned-load and
1590         -mavx256-split-unaligned-store.
1591
1592 2011-06-28  Eric Botcazou  <ebotcazou@adacore.com>
1593
1594         * tree-ssa-dom.c (initialize_hash_element): Fix oversight.
1595
1596 2011-06-28  Andrey Belevantsev  <abel@ispras.ru>
1597
1598         Backport from mainline
1599         2011-05-25  Andrey Belevantsev  <abel@ispras.ru>
1600
1601         PR rtl-optimization/49014
1602         * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.
1603
1604 2011-06-28  Alexander Monakov  <amonakov@ispras.ru>
1605
1606         Backport from mainline
1607         2011-04-08  Alexander Monakov  <amonakov@ispras.ru>
1608
1609         PR target/48273
1610         * cfgloop.h (loop_has_exit_edges): New helper.
1611         * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
1612         non-clonable.
1613         * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
1614         that have no exit edges.
1615
1616 2011-06-28  Iain Sandoe  <iains@gcc.gnu.org>
1617
1618         PR target/47997
1619         * config/darwin.c (darwin_mergeable_string_section): Place string
1620         constants in '.cstring' rather than '.const' when CF/NSStrings are
1621         active.
1622
1623 2011-06-27  Eric Botcazou  <ebotcazou@adacore.com>
1624
1625         * reorg.c (fill_simple_delay_slots): Use stop_search_p to stop the
1626         forward scan as well.
1627
1628 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
1629
1630         * BASE-VER: Set to 4.6.2.
1631         * DEV-PHASE: Set to prerelease.
1632
1633 2011-06-27  Release Manager
1634
1635         * GCC 4.6.1 released.
1636
1637 2011-06-21  Alan Modra  <amodra@gmail.com>
1638
1639         * config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): New func.
1640         (TARGET_CANNOT_FORCE_CONST_MEM): Update definition.
1641
1642 2011-06-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1643
1644         Backport from mainline.
1645         2011-06-13  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1646
1647         PR target/48454
1648         * config/arm/neon.md (vec_pack_trunc): Set the lengths
1649         correctly for the case with Quad vectors.
1650
1651 2011-06-20  Alan Modra  <amodra@gmail.com>
1652
1653         * config/rs6000/rs6000.c (create_TOC_reference): Wrap high part
1654         of toc-relative address in CONST.
1655         (rs6000_delegitimize_address): Recognize changed address.
1656         (rs6000_legitimize_reload_address): Likewise.
1657         (rs6000_emit_move): Don't force these constants to memory.
1658         * config/rs6000/rs6000.md (tls_gd, tls_gd_high): Wrap high part of
1659         toc-relative address in CONST.
1660         (tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
1661         (tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.
1662
1663 2011-06-18  Jakub Jelinek  <jakub@redhat.com>
1664
1665         PR target/49411
1666         * config/i386/i386.c (ix86_expand_multi_arg_builtins): If
1667         last_arg_constant and last argument doesn't match its predicate,
1668         for xop_vpermil2<mode>3 error out and for xop_rotl<mode>3
1669         if it is CONST_INT, mask it, otherwise expand using rotl<mode>3.
1670         (ix86_expand_sse_pcmpestr, ix86_expand_sse_pcmpistr): Fix
1671         spelling of error message.
1672         * config/i386/sse.md (sse4a_extrqi, sse4a_insertqi,
1673         vcvtps2ph, *vcvtps2ph, *vcvtps2ph_store, vcvtps2ph256): Use
1674         const_0_to_255_operand instead of const_int_operand.
1675
1676 2011-06-17  Richard Henderson  <rth@redhat.com>
1677
1678         Backport from mainline
1679         2011-03-22  Richard Henderson  <rth@redhat.com>
1680
1681         * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
1682
1683 2011-06-17  Richard Guenther  <rguenther@suse.de>
1684
1685         Backport from mainline
1686         2011-05-23  Richard Guenther  <rguenther@suse.de>
1687
1688         PR tree-optimization/49115
1689         * tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
1690         is not necessarily carried out, do not claim it kills the ref.
1691         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
1692
1693 2011-06-17  Hans-Peter Nilsson  <hp@axis.com>
1694
1695         Backport from mainline
1696         2011-06-17  Hans-Peter Nilsson  <hp@axis.com>
1697
1698         PR rtl-optimization/48542
1699         * reload.c (find_equiv_reg): Stop looking when finding a
1700         setjmp-type call.
1701         * reload1.c (reload_as_needed): Invalidate all reload
1702         registers when crossing a setjmp-type call.
1703
1704 2011-06-16  Kaz Kojima  <kkojima@gcc.gnu.org>
1705
1706         Backport form main line
1707         2011-06-09  Kaz Kojima  <kkojima@gcc.gnu.org>
1708
1709         PR target/49307
1710         * config/sh/sh.md (UNSPEC_CHKADD): New.
1711         (chk_guard_add): New define_insn_and_split.
1712         (symGOT_load): Use chk_guard_add instead of blockage.
1713
1714 2011-06-16  Martin Jambor  <mjambor@suse.cz>
1715
1716         Backported from mainline
1717         2011-06-15  Martin Jambor  <mjambor@suse.cz>
1718
1719         PR tree-optimization/48613
1720         * ipa-prop.c (ipa_prop_write_jump_functions): Return immediately if
1721         ipa_node_params_vector is NULL.
1722
1723 2011-06-16  Jakub Jelinek  <jakub@redhat.com>
1724
1725         PR tree-optimization/49419
1726         * tree-vrp.c (execute_vrp): Call init_range_assertions
1727         before estimate_numbers_of_iterations, call
1728         free_number_of_iterations_estimates before calling
1729         remove_range_assertions.
1730
1731         Backported from mainline
1732         2011-06-13  Edmar Wienskoski  <edmar@freescale.com>
1733
1734         PR target/44618
1735         * config/rs6000/rs6000.md (save_gpregs_<mode>): Replaced pattern
1736         with a set of similar patterns, where the MATCH_OPERAND for the
1737         function argument is replaced with individual references to hardware
1738         registers.
1739         (save_fpregs_<mode>): Ditto
1740         (restore_gpregs_<mode>): Ditto
1741         (return_and_restore_gpregs_<mode>): Ditto
1742         (return_and_restore_fpregs_<mode>): Ditto
1743         (return_and_restore_fpregs_aix_<mode>): Ditto
1744
1745 2011-06-14  Richard Henderson  <rth@redhat.com>
1746
1747         PR debug/48459
1748         * dwarf2out.c (frame_pointer_fb_offset_valid): New.
1749         (based_loc_descr): Assert it's true.
1750         (compute_frame_pointer_to_fb_displacement): Set it,
1751         rather than aborting immediately.
1752
1753 2011-06-14  Richard Henderson  <rth@redhat.com>
1754
1755         Backport from mainline
1756         2011-03-22  Richard Henderson  <rth@redhat.com>
1757
1758         * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
1759         (avr_incoming_return_addr_rtx): New.
1760         (emit_push_byte): New.
1761         (expand_prologue): Use it.  Remove incorrect dwarf annotation for
1762         SREG, RAMPZ, zero register.  Push frame pointer by bytes.  Add dwarf
1763         annotation for __prologue_saves__.  Fixup dwarf annotation for CFA.
1764         (emit_pop_byte): New.
1765         (expand_epilogue): Use it.  Pop frame pointer by bytes.
1766         * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
1767         (INCOMING_RETURN_ADDR_RTX): New.
1768         (INCOMING_FRAME_SP_OFFSET): New.
1769         (ARG_POINTER_CFA_OFFSET): New.
1770         * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
1771         (*pushhi, *pushsi, *pushsf, popqi): Likewise.
1772         (pophi): Remove.
1773
1774 2011-06-14  Jakub Jelinek  <jakub@redhat.com>
1775
1776         PR fortran/49103
1777         * tree.h (DECL_NONSHAREABLE): Define.
1778         (struct tree_decl_common): Change decl_common_unused to
1779         decl_nonshareable_flag.
1780         * cfgexpand.c (expand_used_vars_for_block, clear_tree_used):
1781         Ignore vars with DECL_NONSHAREABLE bit set.
1782         * tree-cfg.c (gimple_duplicate_bb): Set DECL_NONSHAREABLE
1783         on stores to automatic aggregate vars.
1784
1785         PR rtl-optimization/49390
1786         Revert:
1787         2010-06-29  Bernd Schmidt  <bernds@codesourcery.com>
1788
1789         * cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare
1790         MEM_ALIAS_SET.
1791
1792 2011-06-11  Uros Bizjak  <ubizjak@gmail.com>
1793
1794         * config/i386/sse.md (vec_dupv4sf): Correct mode of forced register.
1795         (*vec_dupv2df): Rename from vec_dupv2df.
1796         (vec_dupv2df): New expander.
1797
1798 2011-06-09  Eric Botcazou  <ebotcazou@adacore.com>
1799
1800         * config/sparc/sparc.md (return_internal): Adjust 'length' attribute.
1801
1802 2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
1803
1804         Backport from mainline
1805         2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
1806
1807         * config/i386/driver-i386.c (host_detect_local_cpu): Support
1808         unknown Intel family 0x6 CPUs.
1809
1810 2011-06-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1811
1812         Backport from mainline
1813         2011-06-01  Kaz Kojima  <kkojima@gcc.gnu.org>
1814
1815         PR target/49238
1816         * config/sh/sh.c (expand_cbranchdi4): Use a scratch register if
1817         needed when original operands are used for msw_skip comparison.
1818
1819 2011-06-07  Jakub Jelinek  <jakub@redhat.com>
1820
1821         PR gcov-profile/49299
1822         * value-prof.c (gimple_ic): Don't assume icall has a fallthru edge.
1823
1824 2011-06-06  Pat Haugen <pthaugen@us.ibm.com>
1825
1826         Backport from mainline
1827         2011-05-31  Pat Haugen <pthaugen@us.ibm.com>
1828
1829         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from
1830         NON_FLOAT_REGS.
1831
1832 2011-06-06  Jakub Jelinek  <jakub@redhat.com>
1833
1834         PR c++/49264
1835         * gimple-fold.c (fold_stmt_1): Don't try to fold *& on the lhs
1836         if stmt folded into nothing.
1837         * tree-inline.c (fold_marked_statements): If a builtin at the
1838         end of a bb folded into nothing, just update cgraph edges
1839         and move to next bb.
1840         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Allow new_stmt
1841         to be NULL.  Don't compute count and frequency if new_call is NULL.
1842
1843 2011-06-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1844
1845         * longlong.h (smul_ppmm): The resulting register pair contains the
1846         higher order word first.
1847
1848 2011-06-06  Mikael Pettersson  <mikpe@it.uu.se>
1849
1850         PR tree-optimization/49243
1851         * calls.c (setjmp_call_p): Also check if fndecl has the
1852         returns_twice attribute.
1853
1854 2011-06-06  Richard Guenther  <rguenther@suse.de>
1855
1856         PR tree-optimization/48702
1857         * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
1858         only when we know the base address is within bounds.
1859         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
1860         assume the base address of TARGET_MEM_REFs is in bounds.
1861         (indirect_refs_may_alias_p): Fix TARGET_MEM_REF without index tests.
1862
1863         Backport from mainline
1864         2011-05-31  Jakub Jelinek  <jakub@redhat.com>
1865
1866         PR rtl-optimization/49235
1867         * tree-ssa-address.c (gen_addr_rtx): Ignore base if it is const0_rtx.
1868         (create_mem_ref_raw): Create MEM_REF even if base is INTEGER_CST.
1869
1870 2011-06-05  Eric Botcazou  <ebotcazou@adacore.com>
1871
1872         * config/sparc/sparc.c (output_return): Fix thinko in the output of an
1873         EH return when delayed branches are disabled.
1874
1875 2011-06-05  Kaz Kojima  <kkojima@gcc.gnu.org>
1876
1877         Backport from mainline
1878         2011-05-30  Kaz Kojima  <kkojima@gcc.gnu.org>
1879
1880         PR target/49186
1881         * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
1882         part of the second operand is 0.
1883
1884 2011-06-04  Alexandre Oliva  <aoliva@redhat.com>
1885
1886         PR debug/47590
1887         * target.def (delay_sched2, delay_vartrack): New.
1888         * doc/tm.texi.in: Update.
1889         * doc/tm.texi: Rebuild.
1890         * sched-rgn.c (gate_handle_sched2): Fail if delay_sched2.
1891         * var-tracking.c (gate_handle_var_tracking): Likewise.
1892         * config/bfin/bfin.c (bfin_flag_schedule_insns2): Drop.
1893         (bfin_flag_var_tracking): Drop.
1894         (output_file_start): Don't save and override flag_var_tracking.
1895         (bfin_option_override): Ditto flag_schedule_insns_after_reload.
1896         (bfin_reorg): Test original variables.
1897         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
1898         * config/ia64/ia64.c (ia64_flag_schedule_insns2): Drop.
1899         (ia64_flag_var_tracking): Drop.
1900         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
1901         (ia64_file_start): Don't save and override flag_var_tracking.
1902         (ia64_override_options_after_change): Ditto
1903         flag_schedule_insns_after_reload.
1904         (ia64_reorg): Test original variables.
1905         * config/picochip/picochip.c (picochip_flag_schedule_insns2): Drop.
1906         (picochip_flag_var_tracking): Drop.
1907         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
1908         (picochip_option_override): Don't save and override
1909         flag_schedule_insns_after_reload.
1910         (picochip_asm_file_start): Ditto flag_var_tracking.
1911         (picochip_reorg): Test original variables.
1912         * config/spu/spu.c (spu_flag_var_tracking): Drop.
1913         (TARGET_DELAY_VARTRACK): Define.
1914         (spu_var_tracking): New.
1915         (spu_machine_dependent_reorg): Call it.
1916         (asm_file_start): Don't save and override flag_var_tracking.
1917
1918 2011-06-04  Ira Rosen  <ira.rosen@linaro.org>
1919
1920         PR tree-optimization/49038
1921         * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
1922         Ensure at least one epilogue iteration if required by data
1923         accesses with gaps.
1924         * tree-vectorizer.h (struct _loop_vec_info): Add new field
1925         to mark loops that require peeling for gaps.
1926         * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
1927         (vect_get_known_peeling_cost): Take peeling for gaps into
1928         account.
1929         (vect_transform_loop): Generate epilogue if required by data
1930         access with gaps.
1931         * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
1932         loop as requiring an epilogue if there are gaps in the end of
1933         the strided group.
1934
1935 2011-06-02  Ira Rosen  <ira.rosen@linaro.org>
1936
1937         PR tree-optimization/49093
1938         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail for volatile
1939         data references.
1940
1941 2011-05-19  Quentin Neill  <quentin.neill@amd.com>
1942
1943         * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
1944         (fma4_fmaddsub): Likewise
1945
1946 2011-05-31  Richard Guenther  <rguenther@suse.de>
1947
1948         Backport from mainline
1949         2011-05-19  Richard Guenther  <rguenther@suse.de>
1950
1951         PR middle-end/48985
1952         * tree-object-size.c (addr_object_size): If the pointed-to
1953         variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.
1954
1955 2011-05-31  Richard Guenther  <rguenther@suse.de>
1956
1957         Backport from mainline
1958         2011-05-11  Richard Guenther  <rguenther@suse.de>
1959
1960         PR middle-end/48953
1961         * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
1962
1963 2011-05-30  Richard Guenther  <rguenther@suse.de>
1964
1965         PR tree-optimization/49218
1966         * tree-vrp.c (adjust_range_with_scev): Properly check whether
1967         overflow occured.
1968
1969 2011-05-30  Georg-Johann Lay  <avr@gjlay.de>
1970
1971         PR target/45263
1972         * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors):
1973         Don't use r20 around calls of __tablejump_elpm__
1974
1975 2011-05-29  Richard Sandiford  <rdsandiford@googlemail.com>
1976
1977         PR target/43700
1978         * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
1979         registers.
1980
1981 2011-05-29  Richard Sandiford  <rdsandiford@googlemail.com>
1982
1983         PR target/43995
1984         * config/mips/mips.c (mips_pic_call_symbol_from_set): Add a
1985         recurse_p argument.  Only follow register copies if it is set,
1986         and prevent mips_find_pic_call_symbol from recursing.
1987         (mips_find_pic_call_symbol): Add a recurse_p argument.
1988         Pass it to mips_pic_call_symbol_from_set.
1989         (mips_annotate_pic_calls): Update accordingly.
1990
1991 2011-05-29  Richard Guenther  <rguenther@suse.de>
1992
1993         PR tree-optimization/49217
1994         * ipa-pure-const.c (propagate_pure_const): Fix typos.
1995
1996 2011-05-26  Pat Haugen <pthaugen@us.ibm.com>
1997
1998         * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
1999         moves expensive on Power7 also.
2000
2001 2011-05-26  Georg-Johann Lay  <avr@gjlay.de>
2002
2003         PR target/44643
2004         * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
2005         alone. Error if non-const data has attribute progmem.
2006
2007 2011-05-26  Jakub Jelinek  <jakub@redhat.com>
2008
2009         PR c++/49165
2010         * gimplify.c (shortcut_cond_r): Don't special case
2011         COND_EXPRs if they have void type on one of their arms.
2012
2013         PR tree-optimization/49161
2014         * tree-vrp.c (struct case_info): New type.
2015         (compare_case_labels): Sort case_info structs instead of
2016         trees, and not primarily by CASE_LABEL uids but by
2017         label_for_block indexes.
2018         (find_switch_asserts): Put case labels into struct case_info
2019         array instead of TREE_VEC, adjust sorting, compare label_for_block
2020         values instead of CASE_LABELs.
2021
2022 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
2023
2024         PR target/49128
2025         * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
2026
2027 2011-05-18  Jan Hubicka  <jh@suse.cz>
2028
2029         PR tree-optimization/44897
2030         * ipa-inline.c (cgraph_decide_recursive_inlining): Do not divide
2031         by zero for insane profiles.
2032
2033 2011-05-24  Eric Botcazou  <ebotcazou@adacore.com>
2034
2035         * config/sparc/sparc.c (sparc_option_override): If not set by the user,
2036         force flag_ira_share_save_slots to 0.
2037
2038 2011-05-24  Uros Bizjak  <ubizjak@gmail.com>
2039
2040         PR target/49133
2041         * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.
2042
2043 2011-05-24  H.J. Lu  <hongjiu.lu@intel.com>
2044
2045         Backport from mainline
2046         2011-05-24  H.J. Lu  <hongjiu.lu@intel.com>
2047
2048         PR target/49128
2049         * config/i386/driver-i386.c (host_detect_local_cpu): Always
2050         add -mno-XXX.  Handle FMA.
2051
2052 2011-05-23  Jakub Jelinek  <jakub@redhat.com>
2053
2054         PR lto/49123
2055         * fold-const.c (constant_boolean_node): If type is non-NULL,
2056         use build_int_cst_type instead of build_int_cst.
2057
2058         PR debug/49032
2059         * dbxout.c: Include cgraph.h.
2060         (dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
2061         and without value expr, return NULL if no varpool node exists for
2062         it or if it is not needed.
2063         * Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
2064
2065         PR c/49120
2066         * c-decl.c (start_decl): Convert expr to void_type_node.
2067
2068         PR middle-end/48973
2069         * expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
2070         failed and the comparison has a single bit signed type, use
2071         constm1_rtx instead of const1_rtx for true value.
2072         (do_store_flag): If ops->type is single bit signed type, disable
2073         signel bit test optimization and pass -1 instead of 1 as last
2074         parameter to emit_store_flag_force.
2075
2076 2011-05-22  Eric Botcazou  <ebotcazou@adacore.com>
2077
2078         * config.gcc (sparc-*-elf*): Add sparc/t-crtin.
2079         (sparc-*-rtems*): Likewise.
2080         (sparc64-*-elf*): Likewise.
2081         (sparc64-*-rtems*): Likewise.
2082         (sparc*-*-solaris2*): Likewise.  Remove crti.o crtn.o extra parts.
2083         * config/sparc/t-crtin: New file.
2084         * config/sparc/t-sol2 (crti.o): Delete rule.
2085         (crtn.o): Likewise.
2086         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
2087         * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
2088         * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
2089         (ENDFILE_SPEC): Add crtn.o.
2090
2091 2011-05-22  Uros Bizjak  <ubizjak@gmail.com>
2092
2093         PR target/49104
2094         * config/i386/cpuid.h (bit_MMXEXT): New define.
2095
2096 2011-05-22  Jakub Jelinek  <jakub@redhat.com>
2097
2098         PR middle-end/49029
2099         * expmed.c (extract_fixed_bit_field): Test whether target can be used
2100         only after deciding which mode to use.
2101
2102 2011-05-21  Eric Botcazou  <ebotcazou@adacore.com>
2103
2104         * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
2105         frame pointer.
2106
2107 2011-05-21  Eric Botcazou  <ebotcazou@adacore.com>
2108
2109         * config/sparc/sparc.c (eligible_for_return_delay): Do not return
2110         false if there are call-saved registers here...
2111         (sparc_can_use_return_insn_p): ...but here instead.
2112         (save_or_restore_regs): Fix thinko.
2113         (sparc_expand_prologue): Use current_function_is_leaf.
2114         (sparc_frame_pointer_required): Likewise.
2115
2116 2011-05-20  Jakub Jelinek  <jakub@redhat.com>
2117
2118         PR bootstrap/49086
2119         * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
2120         for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
2121
2122 2011-05-20  Richard Guenther  <rguenther@suse.de>
2123
2124         PR tree-optimization/49079
2125         * tree-dfa.c (get_ref_base_and_extent): Handle view-converting
2126         MEM_REFs correctly for the trailing array access detection.
2127         Special case constants the same way as decls for overall size
2128         constraining.
2129
2130 2011-05-20  Jakub Jelinek  <jakub@redhat.com>
2131
2132         PR tree-optimization/49073
2133         * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return
2134         NULL if PHI argument is SSA_NAME, whose def_stmt is dominated
2135         by the PHI.
2136         * tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
2137
2138 2011-05-19  Uros Bizjak  <ubizjak@gmail.com>
2139
2140         * config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
2141         when TARGET_RDRND is active.
2142         (ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
2143         Generate dummy SImode target register when target is NULL.
2144
2145 2011-05-18  H.J. Lu  <hongjiu.lu@intel.com>
2146
2147         Backport from mainline
2148         2011-05-18  H.J. Lu  <hongjiu.lu@intel.com>
2149
2150         PR target/49002
2151         * config/i386/sse.md (avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>):
2152         Properly handle load cast.
2153
2154 2011-05-18  Jakub Jelinek  <jakub@redhat.com>
2155
2156         PR tree-optimization/49039
2157         * tree-vrp.c (extract_range_from_binary_expr): For
2158         MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]>
2159         return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>].
2160
2161 2011-05-18  Richard Guenther  <rguenther@suse.de>
2162
2163         PR tree-optimization/49018
2164         * gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
2165         * tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
2166         gimple_has_side_effects.
2167
2168 2011-05-18  Richard Guenther  <rguenther@suse.de>
2169
2170         Backport from mainline
2171         2011-04-19  Richard Guenther  <rguenther@suse.de>
2172
2173         PR lto/48207
2174         * tree.c (free_lang_data): Do not reset the decl-assembler-name
2175         langhook.
2176
2177         2011-04-21  Richard Guenther  <rguenther@suse.de>
2178
2179         PR lto/48703
2180         * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of
2181         DECL_NAME.
2182
2183 2011-05-18  Richard Guenther  <rguenther@suse.de>
2184
2185         Backport from mainline
2186         2011-05-12  Richard Guenther  <rguenther@suse.de>
2187
2188         PR tree-optimization/48172
2189         * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
2190         the number of iterations from the segment size calculation.
2191         (vect_create_cond_for_alias_checks): Adjust.
2192
2193         2011-05-13  Richard Guenther  <rguenther@suse.de>
2194
2195         PR tree-optimization/48172
2196         * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
2197         multiplying by number of iterations for equal step.
2198         (vect_create_cond_for_alias_checks): Likewise.
2199
2200 2011-05-18  Jakub Jelinek  <jakub@redhat.com>
2201
2202         PR tree-optimization/49000
2203         * tree-ssa.c (execute_update_addresses_taken): Call
2204         maybe_rewrite_mem_ref_base on debug stmt value.  If it couldn't
2205         be rewritten and decl has been marked for renaming, reset
2206         the debug stmt.
2207
2208 2011-05-17  Nick Clifton  <nickc@redhat.com>
2209
2210         Import these patches from the mainline:
2211
2212         2011-05-17  Nick Clifton  <nickc@redhat.com>
2213
2214         * config/rx/rx.c (rx_memory_move_cost): Include cost of register moves.
2215
2216         * config/rx/rx.md: Add peephole to remove redundant extensions
2217         after loads.
2218         (bitset_in_memory): Use rx_restricted_mem_operand.
2219         (bitinvert_in_memory): Likewise.
2220         (bitclr_in_memory): Likewise.
2221
2222         2011-05-17  Kazuhio Inaoka  <kazuhiro.inaoka.ud@renesas.com>
2223                     Nick Clifton  <nickc@redhat.com>
2224
2225         * config/rx/rx.md: Add peepholes to match a register move followed
2226         by a comparison of the moved register.  Replace these with an
2227         addition of zero that does both actions in one instruction.
2228
2229 2011-05-17  Jakub Jelinek  <jakub@redhat.com>
2230
2231         PR target/48986
2232         * config/i386/sync.md (sync_old_add<mode>): Relax operand 2
2233         predicate to allow CONST_INT.
2234
2235 2011-05-16  Joseph Myers  <joseph@codesourcery.com>
2236
2237         PR preprocessor/48677
2238         * cppspec.c (lang_specific_driver): Set new_decoded_options[0]
2239         from decoded_options[0], not from itself.
2240
2241 2011-05-16  Uros Bizjak  <ubizjak@gmail.com>
2242
2243         * config/i386/i386.md (*movxf_internal): Disable CONST_DOUBLE
2244         optimization for CM_MEDIUM and CM_LARGE code models.  Fix usage
2245         of standard_80387_constant_p.
2246         (*movxf_internal_nointeger): Ditto.
2247         (*movdf_internal): Remove dead code-size optimization.
2248         (*movdf_internal_rex64): Fix usage of standard_80387_constant_p.
2249         (*movdf_internal_nointeger): Ditto.
2250         (*movsf_internal): Ditto.
2251         (floating point move splitters): Ditto.
2252         * config/i386/constraints.md (G): Ditto.
2253         * config/i386/i386.c (ix86_preferred_reload_class): Ditto.
2254
2255 2011-05-12  Jakub Jelinek  <jakub@redhat.com>
2256
2257         PR tree-optimization/48975
2258         * tree-if-conv.c (combine_blocks): Call free_bb_predicate
2259         on all bbs here and free and clear ifc_bbs at the end.
2260
2261 2011-05-12  Richard Guenther  <rguenther@suse.de>
2262
2263         Backport from mainline
2264         2011-05-02  Richard Guenther  <rguenther@suse.de>
2265
2266         PR tree-optimization/48822
2267         * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
2268         (process_scc): Indicate which iteration we start.
2269
2270 2011-05-12  Jakub Jelinek  <jakub@redhat.com>
2271
2272         PR debug/48967
2273         * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
2274         if validate_subreg fails.
2275
2276 2011-05-12  Nick Clifton  <nickc@redhat.com>
2277
2278         * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
2279         * config/rx/rx.c (rx_is_legitimate_constant): Use gcc_unreachable
2280         instead of abort.
2281         (rx_align_for_label): Test label before extracting its number of
2282         uses.
2283         (rx_max_skip_for_label): Ignore debug insns.
2284
2285 2011-05-11  Jakub Jelinek  <jakub@redhat.com>
2286
2287         PR debug/48159
2288         * tree-ssa.c (reset_debug_uses): New function.
2289         * tree-flow.h (reset_debug_uses): New prototype.
2290         * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
2291         * tree-loop-distribution.c (generate_loops_for_partition): Call
2292         reset_debug_uses on the stmts that will be removed.  Keep around
2293         all debug stmts, don't count them as bits in partition bitmap.
2294         (generate_builtin): Don't count debug stmts or labels as bits in
2295         partition bitmap.
2296
2297 2011-05-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
2298
2299         Backport from mainline
2300         2011-05-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
2301
2302         PR target/48857, 48495
2303         * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete.
2304         (VSX_MODE): Ditto.
2305         (VSX_MOVE_MODE): Ditto.
2306         (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and
2307         VSX vector types.  Add V2DImode.
2308         (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of
2309         ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls.
2310         (MODES_TIEABLE_P): Ditto.
2311
2312         * config/rs6000/rs6000.c (rs6000_emit_move): Use
2313         ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and
2314         VSX_VECTOR_MODE.
2315         (init_cumulative_args): Ditto.
2316         (rs6000_function_arg_boundary): Ditto.
2317         (rs6000_function_arg_advance_1): Ditto.
2318         (rs6000_function_arg): Ditto.
2319         (rs6000_function_ok_for_sibcall): Ditto.
2320         (emit_frame_save): Ditto.
2321         (rs6000_function_value): Ditto.
2322         (rs6000_libcall_value): Ditto.
2323
2324 2011-05-10  Nick Clifton  <nickc@redhat.com>
2325
2326         * config/rx/rx.c (rx_memory_move_cost): Reduce the cost for
2327         stores.
2328
2329 2011-05-10  DJ Delorie  <dj@redhat.com>
2330
2331         * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
2332         (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
2333         * config/rx/rx.c (rx_align_for_label): Add label and
2334         uses_threshold parameters.  Do not align when the label is not
2335         used enough.
2336         * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
2337
2338 2011-05-10  Jakub Jelinek  <jakub@redhat.com>
2339
2340         Backported from mainline
2341         2011-05-07  Zdenek Dvorak  <ook@ucw.cz>
2342
2343         PR tree-optimization/48837
2344         * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
2345         when accumulator transformation is performed.
2346
2347 2011-05-10  Jakub Jelinek  <jakub@redhat.com>
2348
2349         PR tree-optimization/48611
2350         PR tree-optimization/48794
2351         * tree-eh.c (remove_unreachable_handlers): Don't remove regions
2352         referenced from RESX or EH_DISPATCH arguments.
2353
2354 2011-05-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2355
2356         * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
2357         temporary register to match Pmode.
2358
2359 2011-05-09  Eric Botcazou  <ebotcazou@adacore.com>
2360
2361         * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
2362         (dataflow_set_preserve_mem_locs): Likewise.
2363
2364 2011-05-06  Uros Bizjak  <ubizjak@gmail.com>
2365
2366         * config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
2367         constraint modifier to "r".
2368
2369 2011-05-06  Alan Modra  <amodra@gmail.com>
2370
2371         PR target/48900
2372         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
2373         const0_rtx as the arg to the dummy __tls_get_addr libcall.
2374
2375 2011-05-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2376
2377         * config/s390/s390.c (s390_asm_trampoline_template): Comment
2378         instruction sizes.
2379         (s390_trampoline_init): Replace UNITS_PER_WORD with UNITS_PER_LONG.
2380
2381 2011-05-06  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2382
2383         PR target/48252
2384         * config/arm/neon.md (neon_vtrn<mode>): Fix typo from earlier commit.
2385
2386 2011-05-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
2387
2388         * config/rs6000/rs6000.c (rs6000_handle_option): Add missing break
2389         for OPT_mfpu_ case.
2390
2391 2011-05-05  Jason Merrill  <jason@redhat.com>
2392
2393         PR c++/40975
2394         * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
2395
2396 2011-05-05  Julian Brown  <julian@codesourcery.com>
2397
2398         * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
2399         parenthesis in D-register case.
2400
2401 2011-05-05  Ira Rosen  <ira.rosen@linaro.org>
2402
2403         Backport from mainline:
2404         2011-04-18  Ulrich Weigand  <ulrich.weigand@linaro.org>
2405                     Ira Rosen  <ira.rosen@linaro.org>
2406
2407         PR target/48252
2408         * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
2409         to match neon_vzip/vuzp/vtrn_internal.
2410         * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
2411         outputs explicitly dependent on both inputs.
2412         (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
2413
2414 2011-05-04  Uros Bizjak  <ubizjak@gmail.com>
2415
2416         * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
2417         Use %v prefix in insn mnemonic to handle TARGET_AVX.
2418         (*movdi_internal): Use "maybe_vex" instead of "vex" in "prefix"
2419         attribute calculation.
2420         (*movdf_internal): Output AVX mnemonics.  Add "prefix" attribute.
2421         * config/i386/sse.md (*sse2_storeq_rex64): Do not emit %v prefix
2422         for mov{q} mnemonic.
2423         (*vec_extractv2di_1_rex64_avx): Ditto.
2424
2425 2011-05-03  Uros Bizjak  <ubizjak@gmail.com>
2426             Jakub Jelinek  <jakub@redhat.com>
2427
2428         PR target/48774
2429         * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
2430         only succeed if req_mode is the same as set_mode.
2431
2432 2011-05-03  Richard Guenther  <rguenther@suse.de>
2433
2434         PR lto/48846
2435         * lto-streamer-in.c (unpack_ts_decl_common_value_fields):
2436         Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
2437         * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
2438
2439 2011-05-03  Eric Botcazou  <ebotcazou@adacore.com>
2440
2441         PR target/48723
2442         * config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
2443         for -fstack-check if the size to allocate is negative.
2444
2445 2011-04-30  Jakub Jelinek  <jakub@redhat.com>
2446
2447         PR tree-optimization/48809
2448         * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
2449         type.
2450         (gen_inbound_check): Don't compute index_expr - range_min in utype
2451         again, instead reuse SSA_NAME initialized in build_arrays.
2452         Remove two useless gsi_for_stmt calls.
2453
2454 2011-04-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
2455
2456         Backport from mainline
2457         2011-04-01  Andrew Pinski  <pinskia@gmail.com>
2458             Michael Meissner  <meissner@linux.vnet.ibm.com>
2459
2460         PR target/48262
2461         * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
2462         operands, as per the specifications.
2463
2464         * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
2465         (vec_extract_evenv4sf): Ditto.
2466         (vec_extract_evenv8hi): Ditto.
2467         (vec_extract_evenv16qi): Ditto.
2468         (vec_extract_oddv4si): Ditto.
2469
2470 2011-04-28  Jakub Jelinek  <jakub@redhat.com>
2471
2472         PR middle-end/48597
2473         * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
2474         inline asm.
2475
2476 2011-04-27  Jakub Jelinek  <jakub@redhat.com>
2477
2478         PR c/48742
2479         * c-typeck.c (build_binary_op): Don't wrap arguments if
2480         int_operands is true.
2481
2482 2011-04-26  Jakub Jelinek  <jakub@redhat.com>
2483
2484         PR debug/48768
2485         * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
2486         is error_mark_node, set value to NULL.
2487
2488         PR tree-optimization/48734
2489         * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
2490         if return value from maybe_fold_*_comparsions isn't something
2491         the code is prepared to handle.
2492
2493 2011-04-26  Richard Guenther  <rguenther@suse.de>
2494
2495         PR tree-optimization/48731
2496         * ipa-inline.c (cgraph_flatten): Test if function is inlinable.
2497
2498 2011-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
2499
2500         PR other/48748
2501         * doc/extend.texi (Type Traits): Document __is_standard_layout,
2502         __is_literal_type, and __is_trivial; update throughout about
2503         possibly cv-qualified void types.
2504
2505 2011-04-23  Jakub Jelinek  <jakub@redhat.com>
2506
2507         PR c/48685
2508         * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
2509         to VOID_TYPE even around MODIFY_EXPR.
2510
2511 2011-04-22  Jakub Jelinek  <jakub@redhat.com>
2512
2513         PR tree-optimization/48717
2514         * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
2515         ~A + A optimizations use build_int_cst_type instead of build_int_cst.
2516
2517 2011-04-22  Jakub Jelinek  <jakub@redhat.com>
2518
2519         PR c/48716
2520         * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
2521         TREE_STATIC variables declared inside of some OpenMP construct.
2522
2523 2011-04-21  Uros Bizjak  <ubizjak@gmail.com>
2524
2525         PR target/48708
2526         * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
2527         vec_extract and vec_concat for non-SSE4_1 targets.
2528
2529 2011-04-21  Richard Guenther  <rguenther@suse.de>
2530
2531         PR middle-end/48695
2532         * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
2533         objects and types here.  Adjust for their offset before comparing.
2534
2535 2011-04-21  Eric Botcazou  <ebotcazou@adacore.com>
2536
2537         * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
2538
2539 2011-04-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2540
2541         PR target/48288
2542         * config/pa/predicates.md (ior_operand): Delete predicate.
2543         (cint_ior_operand, reg_or_cint_ior_operand): New predicates.
2544         * config/pa/pa.md (iordi3): Use reg_or_cint_ior_operand predicate in
2545         expander.  Use cint_ior_operand in unnamed insn.
2546         (iorsi3): Likewise.
2547         * config/pa/pa-protos.h (ior_operand): Delete declarations.
2548
2549 2011-04-20  Jakub Jelinek  <jakub@redhat.com>
2550
2551         PR tree-optimization/48611
2552         * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
2553         beyond ERT_MUST_NOT_THROW region.
2554
2555 2011-04-20  Eric Botcazou  <ebotcazou@adacore.com>
2556
2557         Backport from mainline
2558         2011-04-19  Eric Botcazou  <ebotcazou@adacore.com>
2559
2560         PR lto/48148
2561         * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
2562         the types if they have different enumeration identifiers.
2563
2564         2011-04-18  Eric Botcazou  <ebotcazou@adacore.com>
2565
2566         PR lto/48492
2567         * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
2568         DECL_IN_CONSTANT_POOL without RTL.
2569
2570 2011-04-20  Richard Guenther  <rguenther@suse.de>
2571
2572         Backport from mainline
2573         2011-04-19  Bernd Schmidt  <bernds@codesourcery.com>
2574
2575         PR fortran/47976
2576         * reload1.c (inc_for_reload): Return void. All callers changed.
2577         (emit_input_reload_insns): Don't try to delete previous output
2578         reloads to a register, or record spill_reg_store for autoincs.
2579
2580 2011-04-19  Jakub Jelinek  <jakub@redhat.com>
2581
2582         PR target/48678
2583         * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
2584         is a SUBREG with non-MODE_INT mode inside of it.
2585
2586 2011-04-18  Jakub Jelinek  <jakub@redhat.com>
2587
2588         PR middle-end/48661
2589         * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
2590         if TREE_TYPE (v) is non-NULL.
2591
2592         * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
2593         gimple_get_virt_mehtod_for_binfo.
2594         * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
2595         * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
2596         callers.
2597         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
2598
2599 2011-04-18  Eric Botcazou  <ebotcazou@adacore.com>
2600
2601         * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
2602
2603 2011-04-18  Jakub Jelinek  <jakub@redhat.com>
2604
2605         PR tree-optimization/48616
2606         * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
2607         whether the shift is by scalar or vector based on whether all SLP
2608         scalar stmts have the same rhs.
2609
2610 2011-04-17  Dennis, CHENG Renquan  <crquan@fedoraproject.org>
2611
2612         * doc/passes.texi: Fill crossref nodes.
2613
2614 2011-04-17  Marius Strobl  <marius@FreeBSD.org>
2615
2616         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
2617         (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
2618         (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
2619
2620 2011-04-17  Eric Botcazou  <ebotcazou@adacore.com>
2621
2622         PR lto/48538
2623         * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
2624         is non-null before accessing it.
2625         (input_cgraph): Remove trailing spaces.
2626
2627 2011-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2628
2629         * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
2630         Replace match_operand with match_dup for the third operand in
2631         these expanders.
2632
2633 2011-04-15  Jakub Jelinek  <jakub@redhat.com>
2634
2635         PR target/48605
2636         * config/i386/sse.md (avx_insertps, sse4_1_insertps): If operands[2]
2637         is a MEM, offset it as needed based on top 2 bits in operands[3],
2638         change MEM mode to SFmode and mask those 2 bits away from operands[3].
2639
2640 2011-04-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2641
2642         Backport from mainline:
2643         2011-04-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2644
2645         PR target/48366
2646         * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
2647         move from floating point to shift amount register.
2648         (emit_move_sequence): Remove secondary reload support for floating
2649         point to shift amount amount register copies.
2650         (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
2651         amount register copies.
2652         * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
2653         register, return false if mode isn't a scalar integer mode.
2654         * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
2655
2656 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
2657
2658         PR middle-end/48591
2659         * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is NULL.
2660         (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
2661
2662 2011-04-13  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2663
2664         Backport from mainline:
2665         2011-04-12  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2666         PR target/48090
2667         * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
2668
2669 2011-04-12  Martin Jambor  <mjambor@suse.cz>
2670
2671         PR tree-optimization/48195
2672         * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
2673         ipa_check_create_edge_args.
2674         (ipcp_generate_summary): Do not call ipa_check_create_node_params and
2675         ipa_check_create_edge_args.
2676         * ipa-inline.c (inline_generate_summary): Do not call
2677         ipa_check_create_node_params and ipa_check_create_edge_args.
2678         * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
2679         ipa_check_create_edge_args.
2680
2681 2011-04-12  Jakub Jelinek  <jakub@redhat.com>
2682
2683         PR rtl-optimization/48549
2684         * combine.c (propagate_for_debug): Also stop after BB_END of
2685         this_basic_block.  Process LAST and just stop processing after it.
2686         (combine_instructions): If last_combined_insn has been deleted,
2687         set last_combined_insn to its PREV_INSN.
2688
2689 2011-04-12  Nick Clifton  <nickc@redhat.com>
2690
2691         * config/v850/v850.c (expand_prologue): Do not use the CALLT
2692         instruction for interrupt handlers if the target is the basic V850
2693         architecture.
2694         (expand_epilogue): Likewise.
2695
2696 2011-04-12  Jakub Jelinek  <jakub@redhat.com>
2697
2698         PR c/48517
2699         * c-typeck.c (store_init_value): Set TREE_TYPE (decl) to
2700         qualified type.
2701
2702 2011-04-11  Joseph Myers  <joseph@codesourcery.com>
2703
2704         * common.opt (Tbss=, Tdata=, Ttext=): New options.
2705
2706 2011-04-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2707
2708         Backport from mainline:
2709         2011-04-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2710
2711         * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
2712
2713 2011-04-09  Duncan Sands  <baldrick@free.fr>
2714
2715         * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
2716
2717 2011-04-08  Steven G. Kargl  <kargl@gcc.gnu.org>
2718
2719         PR target/47829
2720         * config.gcc: disable unwind table generation for crtbegin/crtend
2721         on i386-*-freebsd.
2722
2723 2011-04-08  Jakub Jelinek  <jakub@redhat.com>
2724
2725         PR tree-optimization/48377
2726         * tree-vect-data-refs.c (vector_alignment_reachable_p): Set is_packed
2727         to true even for types with smaller TYPE_ALIGN than TYPE_SIZE.
2728
2729 2011-04-07  Uros Bizjak  <ubizjak@gmail.com>
2730
2731         * config/i386/sse.md: Update copyright year.
2732         (avx_cmp<ssescalarmodesuffix><mode>3): Add missing output
2733         register constraint.
2734         (*vec_concatv2sf_avx): Fix wrong register constraint in
2735         alternative 3 of operand 1.
2736         (*vec_set<mode>_0_avx): Avoid combining registers from different
2737         units in a single alternative.
2738         (*vec_set<mode>_0_sse4_1): Ditto.
2739         (*vec_set<mode>_0_sse2): Ditto.
2740         (vec_set<mode>_0): Ditto.
2741         (sse2_storehpd): Ditto.
2742         (sse2_loadhpd): Ditto.
2743         (sse4_1_insertps): Use nonimmediate_operand for operand 2.
2744         * config/i386/predicates.md (sse_comparison_operator): Do not
2745         define as special predicate.
2746
2747 2011-04-07  Jakub Jelinek  <jakub@redhat.com>
2748
2749         PR debug/48343
2750         * combine.c (combine_instructions): Add last_combined_insn,
2751         update it if insn is after it, pass it to all try_combine calls.
2752         (try_combine): Add last_combined_insn parameter, pass it instead of
2753         i3 to propagate_for_debug.
2754
2755 2011-04-07  Andrey Belevantsev  <abel@ispras.ru>
2756
2757         Backport from mainline
2758         2011-03-26  Andrey Belevantsev  <abel@ispras.ru>
2759
2760         PR rtl-optimization/48144
2761         * sel-sched-ir.c (merge_history_vect): Factor out from ...
2762         (merge_expr_data): ... here.
2763         (av_set_intersect): Rename to av_set_code_motion_filter.
2764         Update all callers.  Call merge_history_vect when an
2765         expression is found in both sets.
2766         * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
2767
2768 2011-04-06  Jakub Jelinek  <jakub@redhat.com>
2769
2770         PR debug/48466
2771         * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
2772         as base_reg whatever register reg has been eliminated to, instead
2773         of hardcoding STACK_POINTER_REGNUM.
2774
2775         Backported from mainline
2776         2011-04-01  Jakub Jelinek  <jakub@redhat.com>
2777
2778         PR middle-end/48335
2779         * expr.c (expand_assignment): Handle all possibilities
2780         if TO_RTX is CONCAT.
2781         * expmed.c (store_bit_field_1): Avoid trying to create
2782         invalid SUBREGs.
2783         (store_split_bit_field): If SUBREG_REG (op0) or
2784         op0 itself has smaller mode than word, return it
2785         for offset 0 and const0_rtx for out-of-bounds stores.
2786         If word is const0_rtx, skip it.
2787
2788 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
2789
2790         * gcov-io.c: Use GCC Runtime Library Exception.
2791
2792 2011-04-05  Eric Botcazou  <ebotcazou@adacore.com>
2793
2794         * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
2795
2796 2011-04-01  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2797
2798         * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
2799
2800 2011-04-01  Andrey Belevantsev  <abel@ispras.ru>
2801
2802         Backport from mainline
2803         2011-03-22  Andrey Belevantsev  <abel@ispras.ru>
2804
2805         PR rtl-optimization/48143
2806         * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
2807         (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
2808         sse2_cvtps2pd): Likewise.
2809
2810 2011-03-31  Eric Botcazou  <ebotcazou@adacore.com>
2811
2812         PR target/48142
2813         * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
2814         frame-related from frame-unrelated adjustments to the stack pointer.
2815
2816 2011-03-30  H.J. Lu  <hongjiu.lu@intel.com>
2817
2818         Backport from mainline
2819         2011-03-30  H.J. Lu  <hongjiu.lu@intel.com>
2820
2821         PR target/48349
2822         * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
2823         FLOAT_SSE_REGS.
2824
2825 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
2826
2827         PR debug/48253
2828         * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
2829         dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
2830         dw_fde_unlikely_section_end_label, cold_in_std_section,
2831         dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
2832         Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
2833         fields.
2834         (output_fde): Use dw_fde_second_{begin,end} if second is
2835         true, otherwise dw_fde_{begin,end}.
2836         (output_call_frame_info): Test dw_fde_second_begin != NULL
2837         instead of dw_fde_switched_sections.
2838         (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
2839         fields, initialize new fields.  Initialize in_std_section
2840         unconditionally from the first partition.
2841         (dwarf2out_end_epilogue): Don't override dw_fde_end when
2842         dw_fde_second_begin is non-NULL.
2843         (dwarf2out_switch_text_section): Stop initializing removed
2844         dw_fde_struct fields, initialize new fields, initialize
2845         also dw_fde_end here.  Set dw_fde_switch_cfi even when
2846         dwarf2out_do_cfi_asm ().  Call var_location_switch_text_section.
2847         (struct var_loc_list_def): Add last_before_switch field.
2848         (arange_table, arange_table_allocated, arange_table_in_use,
2849         ARANGE_TABLE_INCREMENT, add_arange): Removed.
2850         (size_of_aranges): Count !in_std_section and !second_in_std_section
2851         hunks in fdes, instead of looking at arange_table_in_use.
2852         (output_aranges): Add aranges_length argument, don't call
2853         size_of_aranges here.  Instead of using aranges_table*
2854         emit ranges for fdes when !in_std_section resp.
2855         !second_in_std_section.
2856         (dw_loc_list): Break ranges crossing section switch.
2857         (convert_cfa_to_fb_loc_list): Likewise.  If switched sections,
2858         use dw_fde_second_end instead of dw_fde_end as end of last
2859         range.
2860         (gen_subprogram_die): Don't call add_arange.  Use
2861         dw_fde_{begin,end} for first partition and if switched
2862         section dw_fde_second_{begin,end} for the second.
2863         (var_location_switch_text_section_1,
2864         var_location_switch_text_section): New functions.
2865         (dwarf2out_begin_function): Initialize cold_text_section even
2866         when function_section () isn't text_section.
2867         (prune_unused_types): Don't walk arange_table.
2868         (dwarf2out_finish): Don't needlessly test
2869         flag_reorder_blocks_and_partition when testing cold_text_section_used.
2870         If info_section_emitted, call size_of_aranges and if it indicates
2871         non-empty .debug_aranges, call output_aranges with the computed
2872         size.  Stop using removed dw_fde_struct fields, use
2873         dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
2874         for second.
2875
2876 2011-03-29  Uros Bizjak  <ubizjak@gmail.com>
2877
2878         * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
2879         (alpha_option_override): Don't set alpha_sr_alias_set.
2880         (emit_frame_store_1): Use gen_frame_mem rather than calling
2881         set_mem_alias_set.
2882         (alpha_expand_epilogue): Ditto.
2883         (unicosmk_gen_dsib): Ditto.
2884
2885 2011-03-29  Nick Clifton  <nickc@redhat.com>
2886
2887         * config/rx/rx.h (LABEL_ALIGN_AFTER_BARRIER): Define.
2888         (ASM_OUTPUT_MAX_SKIP): Define.
2889         * config/rx/predicates.md (rx_zs_comparison_operator): Do not
2890         allow LT aor GE comparisons.
2891         * config/rx/rx-protos.h (rx_align_for_label): Prototype.
2892         * config/rx/rx.md: Add peepholes and patterns to combine extending
2893         loads with simple arithmetic instructions.
2894         * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI modes
2895         to use pre-decrement and post-increment addressing.
2896         (rx_is_restricted_memory_address): For REG+INT addressing, ensure
2897         that the INT is a valid offset.
2898         (rx_print_operand): Handle %R.
2899         Fix %Q's handling of MEMs.
2900         (rx_option_override): Set alignments.
2901         (rx_align_for_label): New function.
2902         (rx_max_skip_for_label): New function.
2903         (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
2904         (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
2905         (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
2906         (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
2907
2908 2011-03-29  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2909
2910         * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
2911         for invalid symbolic addresses.
2912         (s390_secondary_reload): Don't use s390_check_symref_alignment for
2913         larl operands.
2914
2915 2011-03-28  Richard Sandiford  <richard.sandiford@linaro.org>
2916
2917         PR target/47553
2918         * config/arm/predicates.md (neon_lane_number): Accept 0..15.
2919
2920 2011-03-28  Richard Guenther  <rguenther@suse.de>
2921
2922         Backport from mainline
2923         2011-03-24  Richard Guenther  <rguenther@suse.de>
2924
2925         PR middle-end/48269
2926         * tree-object-size.c (addr_object_size): Do not double-account
2927         for MEM_REF offsets.
2928
2929         2011-03-22  Richard Guenther  <rguenther@suse.de>
2930
2931         PR tree-optimization/48228
2932         * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
2933         for single-arg PHIs.
2934
2935         2011-03-17  Richard Guenther  <rguenther@suse.de>
2936
2937         PR middle-end/48134
2938         * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
2939         a value make sure to fold the statement.
2940
2941         2011-03-15  Richard Guenther  <rguenther@suse.de>
2942
2943         PR middle-end/48031
2944         * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
2945         or variable-indexed array accesses when in gimple form.
2946
2947 2011-03-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
2948
2949         PR other/48179
2950         PR other/48221
2951         PR other/48234
2952         * doc/extend.texi (Alignment): Move section to match order in TOC.
2953         * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
2954         (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
2955
2956 2011-03-26  Uros Bizjak  <ubizjak@gmail.com>
2957
2958         Backport from mainline:
2959         2011-03-24  Uros Bizjak  <ubizjak@gmail.com>
2960
2961         PR target/48237
2962         * config/i386/i386.md (*movdf_internal_rex64): Do not split
2963         alternatives that can be handled with movq or movabsq insn.
2964         (*movdf_internal): Disable for !TARGET_64BIT.
2965         (*movdf_internal_nointeger): Ditto.
2966         * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
2967
2968 2011-03-26  Jakub Jelinek  <jakub@redhat.com>
2969
2970         Backport from mainline
2971         2011-03-24  Jakub Jelinek  <jakub@redhat.com>
2972
2973         PR debug/48204
2974         * simplify-rtx.c (simplify_const_unary_operation): Call
2975         real_convert when changing mode class with FLOAT_EXTEND.
2976
2977         2011-03-20  Jakub Jelinek  <jakub@redhat.com>
2978
2979         PR c/42544
2980         PR c/48197
2981         * c-common.c (shorten_compare): If primopN is first sign-extended
2982         to opN and then zero-extended to result type, set primopN to opN.
2983
2984         PR rtl-optimization/48156
2985         * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
2986         assume df and df_lr are not NULL.
2987
2988         2011-03-17  Jakub Jelinek  <jakub@redhat.com>
2989
2990         PR rtl-optimization/48141
2991         * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
2992         * dse.c: Include params.h.
2993         (active_local_stores_len): New variable.
2994         (add_wild_read, dse_step1): Clear it when setting active_local_stores
2995         to NULL.
2996         (record_store, check_mem_read_rtx): Decrease it when removing
2997         from the chain.
2998         (scan_insn): Likewise.  Increase it when adding to chain, if it
2999         reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
3000         set active_local_stores to NULL before the addition.
3001         * Makefile.in (dse.o): Depend on $(PARAMS_H).
3002
3003         PR rtl-optimization/48141
3004         * dse.c (record_store): If no positions are needed in an insn
3005         that cannot be deleted, at least unchain it from active_local_stores.
3006
3007 2011-03-25  Jakub Jelinek  <jakub@redhat.com>
3008
3009         * BASE-VER: Set to 4.6.1.
3010         * DEV-PHASE: Set to prerelease.
3011
3012 2011-03-25  Release Manager
3013
3014         * GCC 4.6.0 released.
3015
3016 2011-03-21  Andreas Tobler  <andreast@fgznet.ch>
3017
3018         * config/rs6000/t-freebsd: Remove duplication from file.
3019
3020 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3021
3022         PR bootstrap/48135
3023         * doc/install.texi (Prerequisites): Move jar etc. up.
3024         Explain support library version requirements.
3025
3026 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3027
3028         PR bootstrap/48135
3029         * doc/install.texi (Prerequisites): Move Perl to build
3030         requirements.  Always necessary on Solaris 2 with Sun ld.
3031
3032 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3033
3034         * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
3035         binutils 2.21.
3036         (Specific, i?86-*-solaris2.[89]): Likewise.
3037         (Specific, i?86-*-solaris2.10): Likewise.
3038         (Specific, mips-sgi-irix6): Likewise.
3039         (Specific, *-*-solaris2*): Remove Sun Studio download URL.
3040         Update for binutils 2.21.
3041
3042 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
3043
3044         PR target/48213
3045         * config/s390/s390.c (s390_delegitimize_address): Don't call
3046         lowpart_subreg if orig_x has BLKmode.
3047
3048 2011-03-20  Joseph Myers  <joseph@codesourcery.com>
3049
3050         * c-decl.c (diagnose_mismatched_decls): Give an error for
3051         redefining a typedef with variably modified type.
3052
3053 2011-03-20  Joseph Myers  <joseph@codesourcery.com>
3054
3055         * c-decl.c (grokfield): Don't allow typedefs for structures or
3056         unions with no tag by default.
3057         * doc/extend.texi (Unnamed Fields): Update.
3058
3059 2011-03-18  Jakub Jelinek  <jakub@redhat.com>
3060
3061         PR debug/48176
3062         * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
3063         arange_table_in_use is 0, but either text_section_used or
3064         cold_text_section_used is true.  Don't call it if
3065         !info_section_emitted.
3066
3067 2011-03-18  Richard Guenther  <rguenther@suse.de>
3068
3069         * doc/install.texi (--enable-gold): Remove.
3070         (--with-plugin-ld): Document.
3071         * doc/invoke.texi (-fuse-linker-plugin): Clarify.
3072
3073 2011-03-18  H.J. Lu  <hongjiu.lu@intel.com>
3074
3075         Backport from mainline
3076         2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
3077
3078         PR target/48171
3079         * config/i386/i386.opt: Add Save to -mavx and -mfma.
3080
3081 2011-03-18  Richard Henderson  <rth@redhat.com>
3082             Jakub Jelinek  <jakub@redhat.com>
3083
3084         PR bootstrap/48161
3085         * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
3086         instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
3087
3088 2011-03-17  Richard Guenther  <rguenther@suse.de>
3089
3090         PR middle-end/48165
3091         * tree-object-size.c (compute_object_offset): Properly return
3092         the offset operand of MEM_REFs as sizetype.
3093
3094 2011-03-16  Dodji Seketeli  <dodji@redhat.com>
3095
3096         PR debug/47510
3097         * dwarf2out.c (strip_naming_typedef): Factorize out of ...
3098         (lookup_type_die_strip_naming_typedef): ... here.
3099         (get_context_die): Use it.
3100         (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
3101         the anonymous struct named by the naming typedef.
3102
3103 2011-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3104
3105         PR target/46788
3106         * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
3107         in the output template.
3108
3109 2011-03-15  Alan Modra  <amodra@gmail.com>
3110
3111         PR target/48032
3112         * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
3113         presume symbol_refs without a symbol_ref_decl are suitably
3114         aligned, nor other trees we may see here.  Handle anchor symbols.
3115         (legitimate_constant_pool_address_p): Comment.  Add mode param.
3116         Check cmodel=medium addresses.  Adjust all calls.
3117         (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
3118         creating cmodel=medium optimized access to locals.
3119         * config/rs6000/constraints.md (R): Pass QImode to
3120         legitimate_constant_pool_address_p.
3121         * config/rs6000/predicates.md (input_operand): Pass mode to
3122         legitimate_constant_pool_address_p.
3123         * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
3124         Update prototype.
3125
3126 2011-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
3127
3128         PR target/48053
3129         * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
3130         64-bit constants being loaded into registers other than GPRs such
3131         as loading 0 into a VSX register.
3132
3133 2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3134
3135         * config/sol2.c (solaris_assemble_visibility): Remove obsolete
3136         URLs.
3137
3138 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
3139
3140         * doc/invoke.texi, doc/standards.texi: Refer to
3141         gcc-4.6/c99status.html.
3142
3143         * DEV-PHASE: Mark "prerelease".
3144
3145 2011-03-14  Richard Guenther  <rguenther@suse.de>
3146
3147         PR middle-end/48098
3148         * tree.c (build_vector_from_val): Adjust assert to requirements
3149         and reality.
3150
3151 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
3152
3153         PR bootstrap/48102
3154         * graphite-cloog-compat.h (build_cloog_prog): Remove STATE
3155         parameter.
3156
3157 2011-03-14  Andreas Tobler  <andreast@fgznet.ch>
3158
3159         * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
3160         terms of target_flags_explicit. Adjust copyright year.
3161
3162         * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
3163         * config/rs6000/t-freebsd: New file. Add override for
3164         LIB2FUNCS_EXTRA.
3165
3166 2011-03-13  Chris Demetriou  <cgd@google.com>
3167
3168         * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
3169         (-fno-diagnostics-show-option): this, to reflect current default.
3170         (-Werror=): Update text about -fno-diagnostics-show-option.
3171
3172 2011-03-12  Peter Bergner  <bergner@vnet.ibm.com>
3173
3174         PR target/48053
3175         * config/rs6000/predicates.md (easy_vector_constant_add_self,
3176         easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
3177         * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
3178         mode is not V2DImode or V2DFmode.
3179         (vspltis_constant): Do not handle V2DImode and V2DFmode.
3180         (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
3181         * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
3182         registers to 0.
3183         (movdi_internal64): Likewise.
3184
3185 2011-03-12  Sebastian Pop  <sebastian.pop@amd.com>
3186
3187         PR tree-optimization/47127
3188         * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
3189         parameter.
3190         (set_cloog_options): Same.
3191         (scop_to_clast): Same.
3192         (print_clast_stmt): Do not call cloog_state_malloc and
3193         cloog_state_free.
3194         (print_generated_program): Same.
3195         (gloog): Same.
3196         * graphite-clast-to-gimple.h (cloog_state): Declared.
3197         (scop_to_clast): Adjust declaration.
3198         * graphite.c (cloog_state): Defined here.
3199         (graphite_initialize): Call cloog_state_malloc.
3200         (graphite_finalize): Call cloog_state_free.
3201
3202 2011-03-11  Jason Merrill  <jason@redhat.com>
3203
3204         * attribs.c (lookup_attribute_spec): Take const_tree.
3205         * tree.h: Adjust.
3206
3207 2011-03-11  Joseph Myers  <joseph@codesourcery.com>
3208
3209         * config/sparc/sparc.c (sparc_option_override): Use
3210         PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
3211
3212 2011-03-11  Richard Guenther  <rguenther@suse.de>
3213
3214         PR tree-optimization/48067
3215         * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
3216         multiplication result will be only used once on the target
3217         stmt.
3218
3219 2011-03-11  Richard Guenther  <rguenther@suse.de>
3220
3221         * doc/invoke.texi (max-inline-insns-single): Adjust default value.
3222
3223 2011-03-11  Richard Guenther  <rguenther@suse.de>
3224
3225         PR lto/48073
3226         * tree.c (find_decls_types_r): Do not walk types only reachable
3227         from IDENTIFIER_NODEs.
3228
3229 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
3230
3231         PR middle-end/48044
3232         * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
3233         all vnode->force_output nodes as needed.
3234
3235 2011-03-11  Jason Merrill  <jason@redhat.com>
3236
3237         PR c++/48069
3238         * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
3239         COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
3240
3241 2011-03-11  Martin Jambor  <mjambor@suse.cz>
3242
3243         * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
3244         cgraph_node.
3245
3246 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
3247
3248         PR tree-optimization/48063
3249         * ipa-inline.c (cgraph_decide_inlining): Don't try to
3250         inline functions called once if !tree_can_inline_p (node->callers).
3251
3252 2011-03-11  Chen Liqin  <liqin.gcc@gmail.com>
3253
3254         * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
3255         extra_objs.
3256         * config/score/score3.c: Delete.
3257         * config/score/score3.h: Delete.
3258         * config/score/mul-div.S: Delete.
3259         * config/score/sfp-machine.h: Add new file.
3260         * config/score/constraints.md: Add new file.
3261         * config/score/t-score-softfp: Add new file.
3262         * config/score/t-score-elf: Remove score3.o, do not generate multilib.
3263         * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
3264         (score7_extra_constraint): Delete.
3265         (score7_option_override): Remove unused code.
3266         * config/score/score.c: Remove score3 and score5 define and code.
3267         * config/score/score.h: Remove score3 and score5 define and code.
3268         * config/score/score.md: Remove score3 template and unusual insn.
3269         * config/score/score.opt: Remove score3 and score5 options.
3270
3271 2011-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3272
3273         * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
3274         when _HPUX_SOURCE is defined.
3275         (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
3276
3277 2011-03-10  Jason Merrill  <jason@redhat.com>
3278
3279         PR c++/48029
3280         * stor-layout.c (layout_type): Don't set structural equality
3281         on arrays of incomplete type.
3282         * tree.c (type_hash_eq): Handle comparing them properly.
3283
3284 2011-03-10  Jakub Jelinek  <jakub@redhat.com>
3285
3286         PR debug/48043
3287         * config/s390/s390.c (s390_delegitimize_address): Make sure the
3288         result mode matches original rtl mode.
3289
3290 2011-03-10  Nick Clifton  <nickc@redhat.com>
3291
3292         * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
3293         (andsi3, andsi3_flags): Fix timings for three operand alternative.
3294
3295 2011-03-09  Jakub Jelinek  <jakub@redhat.com>
3296
3297         PR rtl-optimization/47866
3298         * expr.c (store_field): If MEM_SCALAR_P (target), don't use
3299         MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
3300         if target wasn't scalar.
3301         * function.c (assign_stack_temp_for_type): Assert that neither
3302         MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
3303         MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
3304         macro.
3305         * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
3306
3307 2011-03-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3308
3309         * config/s390/s390-protos.h (s390_label_align): New prototype.
3310         * config/s390/s390.c (s390_label_align): New function.
3311         * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
3312
3313 2011-03-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
3314
3315         PR target/47755
3316         * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
3317         V2DI/V2DF constants.  Only all 0's or all 1's are easy.
3318         (output_vec_const_move): Ditto.
3319
3320 2011-03-08  Anatoly Sokolov  <aesok@post.ru>
3321
3322         * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
3323         * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
3324         * config/mips/mips.c (mips_preferred_reload_class): Make static.
3325         Change 'rclass' argument and result type to reg_class_t.
3326         (TARGET_PREFERRED_RELOAD_CLASS): Define.
3327
3328 2011-03-08  Georg-Johann Lay  <avr@gjlay.de>
3329
3330         * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
3331         * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
3332         (TARGET_MEMORY_MOVE_COST): Define.
3333         (avr_register_move_cost, avr_memory_move_cost): New Functions.
3334
3335 2011-03-08  Jakub Jelinek  <jakub@redhat.com>
3336
3337         PR debug/47881
3338         * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
3339         removed anything.
3340
3341         PR tree-optimization/48022
3342         * fold-const.c (fold_comparison): Don't call fold_overflow_warning
3343         for EQ/NE_EXPR.
3344
3345 2011-03-07  Jakub Jelinek  <jakub@redhat.com>
3346
3347         PR debug/47991
3348         * var-tracking.c (find_use_val): Return NULL for
3349         cui->sets && cui->store_p BLKmode MEMs.
3350
3351 2011-03-07  Anatoly Sokolov  <aesok@post.ru>
3352
3353         * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
3354         Remove.
3355         * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
3356         xstormy16_print_operand_address): Remove.
3357         * config/stormy16/stormy16.c (xstormy16_print_operand,
3358         xstormy16_print_operand_address): Make static.
3359         (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
3360
3361 2011-03-07  Pat Haugen  <pthaugen@us.ibm.com>
3362
3363         PR target/47862
3364         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
3365         * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
3366         before definition.
3367
3368 2011-03-07  Zdenek Dvorak  <ook@ucw.cz>
3369
3370         PR bootstrap/48000
3371         * cfgloopmanip.c (fix_bb_placements): Return immediately
3372         if FROM is BASE_LOOP's header.
3373
3374 2011-03-07  Paul Wögerer  <paul_woegerer@mentor.com>
3375
3376         * gimplify.c (gimplify_function_tree): Fix building calls
3377         to __builtin_return_address.
3378
3379 2011-03-07  Alan Modra  <amodra@gmail.com>
3380
3381         * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
3382         * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
3383         * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
3384         * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
3385         return_mode args.
3386         * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
3387         (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
3388         (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
3389         (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
3390         * config/rs6000/rs6000.c
3391         (rs6000_elf_end_indicate_exec_stack): Rename to..
3392         (rs6000_elf_file_end): ..this.  Only call file_end_indicate_exec_stack
3393         for POWERPC_LINUX.  Move code emitting .gnu_attribute to here, from..
3394         (rs6000_file_start): ..here.
3395         (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
3396         file scope variables.
3397         (call_ABI_of_interest): New function.
3398         (init_cumulative_args): Set above vars when function return value
3399         is a float, vector, or small struct.
3400         (rs6000_function_arg_advance_1): Likewise for function args.
3401         (rs6000_va_start): Set rs6000_passes_float if variable arg function
3402         references float args.
3403
3404 2011-03-07  Mingjie Xing  <mingjie.xing@gmail.com>
3405
3406         * doc/cfg.texi: Remove "See" before @ref.
3407         * doc/invoke.texi: Likewise.
3408
3409 2011-03-05  Jason Merrill  <jason@redhat.com>
3410
3411         * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
3412
3413 2011-03-05  Anthony Green  <green@moxielogic.com>
3414
3415         * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
3416
3417 2011-03-05  Zdenek Dvorak  <ook@ucw.cz>
3418
3419         PR rtl-optimization/47899
3420         * cfgloopmanip.c (fix_bb_placements): Fix first argument
3421         to flow_loop_nested_p when moving the loop upward.
3422
3423 2011-03-05  Richard Earnshaw  <rearnsha@arm.com>
3424
3425         PR target/47719
3426         * arm.md (movhi_insn_arch4):  Accept any immediate constant.
3427
3428 2011-03-05  Jakub Jelinek  <jakub@redhat.com>
3429
3430         PR tree-optimization/47967
3431         * ipa-cp.c (build_const_val): Return NULL instead of creating
3432         VIEW_CONVERT_EXPR for mismatching sizes.
3433         (ipcp_create_replace_map): Return NULL if build_const_val failed.
3434         (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
3435         give up on versioning.
3436
3437 2011-03-05  Alan Modra  <amodra@gmail.com>
3438
3439         PR target/47986
3440         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
3441         full cmodel medium/large lo_sum + high addresses.
3442
3443 2011-03-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3444
3445         * config/s390/s390.c (s390_decompose_address): Reject non-literal
3446         pool references in UNSPEC_LTREL_OFFSET.
3447
3448 2011-03-04  Jan Hubicka  <jh@suse.cz>
3449
3450         PR lto/47497
3451         * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
3452         (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
3453         * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk): Add node pointers.
3454         * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
3455         cgraph_add_thunk): Add node pointers.
3456         * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
3457         associated to right node.
3458         (input_node): Update use of cgraph_same_body_alias
3459         and cgraph_add_thunk.
3460
3461 2011-03-04  Changpeng Fang  <changpeng.fang@amd.com>
3462
3463         * config/i386/i386.opt (mprefer-avx128): New flag.
3464         * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit mode
3465         when the flag -mprefer-avx128 is on.
3466
3467 2011-03-04  Richard Sandiford  <richard.sandiford@linaro.org>
3468
3469         * dwarf2out.c (compare_loc_operands): Fix address handling.
3470
3471 2011-03-04  Alan Modra  <amodra@gmail.com>
3472
3473         * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
3474
3475 2011-03-04  Richard Guenther  <rguenther@suse.de>
3476
3477         PR middle-end/47968
3478         * expmed.c (extract_bit_field_1): Prefer vector modes that
3479         vec_extract patterns can handle.
3480
3481 2011-03-04  Richard Guenther  <rguenther@suse.de>
3482
3483         PR middle-end/47975
3484         * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
3485
3486 2011-03-04  Richard Henderson  <rth@redhat.com>
3487
3488         * explow.c (emit_stack_save): Remove 'after' parameter.
3489         (emit_stack_restore): Likewise.
3490         * expr.h: Update to match.
3491         * builtins.c, calls.c, stmt.c: Likewise.
3492         * config/alpha/alpha.md, config/avr/avr.md: Likewise.
3493         * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
3494         * function.c (expand_function_end): Insert the emit_stack_save
3495         sequence before parm_birth_insn instead of after.
3496
3497 2011-03-03  Uros Bizjak  <ubizjak@gmail.com>
3498
3499         * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
3500         (ssse3_pmaddubsw128): Ditto.
3501         (ssse3_pmaddubsw): Ditto.
3502
3503 2011-03-03  Steve Ellcey  <sje@cup.hp.com>
3504
3505         * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
3506
3507 2011-03-03  Jakub Jelinek  <jakub@redhat.com>
3508
3509         PR c/47963
3510         * gimplify.c (omp_add_variable): Only call omp_notice_variable
3511         on TYPE_SIZE_UNIT if it is a DECL.
3512
3513         PR debug/47283
3514         * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
3515         first operand is not is_gimple_mem_ref_addr, try to fold it.
3516         If the operand still isn't is_gimple_mem_ref_addr, clear
3517         MEM_EXPR on op0.
3518
3519 2011-03-03  Richard Guenther  <rguenther@suse.de>
3520
3521         PR middle-end/47283
3522         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
3523         match comment.
3524         (refs_may_alias_p_1): For release branches return true if
3525         we are confused by our input.
3526
3527 2011-03-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3528
3529         * config/s390/s390.c (s390_function_value): Rename to ...
3530         (s390_function_and_libcall_value): ... this.
3531         (s390_function_value): New function.
3532         (s390_libcall_value): New function.
3533         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
3534         * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
3535         target macro definitions.
3536         * config/s390/s390-protos.h (s390_function_value): Remove prototype.
3537
3538 2011-03-02  Joseph Myers  <joseph@codesourcery.com>
3539
3540         * config/i386/freebsd64.h (CC1_SPEC): Define.
3541         * config/i386/linux64.h (CC1_SPEC): Define.
3542         * config/i386/x86-64.h (CC1_SPEC): Don't define.
3543
3544 2011-03-02  Anatoly Sokolov  <aesok@post.ru>
3545
3546         * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
3547         Remove.
3548         * config/stormy16/stormy16.c: Include reload.h.
3549         (xstormy16_memory_move_cost): New function.
3550         (TARGET_MEMORY_MOVE_COST): Define.
3551
3552 2011-03-02  Richard Sandiford  <richard.sandiford@linaro.org>
3553
3554         PR rtl-optimization/47925
3555         * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
3556         with side effects.  Remove the more-specific check for volatile asms.
3557
3558 2011-03-02  Alan Modra  <amodra@gmail.com>
3559
3560         PR target/47935
3561         * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
3562         toc relative addresses for valid offsets.
3563
3564 2011-03-01  Richard Guenther  <rguenther@suse.de>
3565
3566         PR tree-optimization/47890
3567         * tree-vect-loop.c (get_initial_def_for_induction): Set
3568         related stmt properly.
3569
3570 2011-03-01  Richard Guenther  <rguenther@suse.de>
3571
3572         PR lto/47924
3573         * lto-streamer.c (lto_record_common_node): Also register
3574         the canonical type.
3575
3576 2011-03-01  Richard Guenther  <rguenther@suse.de>
3577
3578         PR lto/46911
3579         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
3580         Do not stream DECL_ABSTRACT_ORIGIN.
3581         (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
3582         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
3583         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
3584         Do not stream DECL_ABSTRACT_ORIGIN.
3585         (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
3586         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
3587
3588 2011-02-28  Anatoly Sokolov  <aesok@post.ru>
3589
3590         * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
3591         FUNCTION_VALUE_REGNO_P): Remove.
3592         * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
3593         * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
3594         Add 'outgoing' argument.
3595         (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
3596         function.
3597         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
3598         TARGET_FUNCTION_VALUE_REGNO_P): Define.
3599
3600 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
3601
3602         PR debug/28047
3603         * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
3604         (lookup_filename): Likewise.
3605         * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
3606
3607 2011-02-28  Bernd Schmidt  <bernds@codesourcery.com>
3608             Jakub Jelinek  <jakub@redhat.com>
3609
3610         PR middle-end/47893
3611         * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
3612         (assign_stack_local_1): Change last argument type to int.
3613         * function.c (assign_stack_local_1): Replace reduce_alignment_ok
3614         argument with kind.  If bit ASLK_RECORD_PAD is not set in it,
3615         don't record padding space into frame_space_list nor use those areas.
3616         (assign_stack_local): Adjust caller.
3617         (assign_stack_temp_for_type): Call assign_stack_local_1 instead
3618         of assign_stack_local, pass 0 as last argument.
3619         * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
3620         callers.
3621
3622 2011-02-28  Jakub Jelinek  <jakub@redhat.com>
3623
3624         PR debug/47283
3625         * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
3626         Use target address_mode and pointer_mode hooks instead of hardcoded
3627         Pmode and ptr_mode.  Handle some simple cases of extending if
3628         POINTERS_EXTEND_UNSIGNED < 0.
3629         (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
3630         Call convert_debug_memory_address.
3631         (expand_debug_expr) <case ADDR_EXPR>: Pass as to
3632         convert_debug_memory_address.
3633
3634         PR middle-end/46790
3635         * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
3636         * configure: Regenerated.
3637         * config.in: Regenerated.
3638         * varasm.c (default_function_section): Return NULL
3639         if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
3640
3641 2011-02-28  Martin Jambor  <mjambor@suse.cz>
3642
3643         * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
3644         the description to match the printed values.
3645
3646 2011-02-28  Richard Guenther  <rguenther@suse.de>
3647
3648         * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
3649         of the copied scope tree.
3650
3651 2011-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3652
3653         * doc/extend.texi (Function Attributes): Avoid deeply (and
3654         wrongly) nested tables.
3655
3656 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
3657
3658         PR middle-end/47903
3659         * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
3660         MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
3661         r isn't op0 nor op1.
3662
3663 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
3664
3665         * config/avr/avr.md: Remove magic comment for emacs.
3666
3667 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
3668
3669         PR target/45261
3670         * config/avr/avr.c (avr_option_override): Use error on bad options.
3671         (avr_help): New function.
3672         (TARGET_HELP): Define.
3673
3674 2011-02-22  Georg-Johann Lay  <avr@gjlay.de>
3675
3676         PR target/42240
3677         * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
3678         (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
3679
3680 2011-02-26  Gerald Pfeifer  <gerald@pfeifer.com>
3681
3682         * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
3683         (ARM Options): Ditto.
3684         (i386 and x86-64 Options): Ditto.
3685         (RX Options): Ditto.
3686         (SPARC Options): Ditto.
3687
3688 2011-02-26  Tijl Coosemans  <tijl@coosemans.org>
3689
3690         * config.gcc (i386-*-freebsd*): Make i486 the default arch on
3691         FreeBSD 6 and later.  Generally use cpu generic.
3692
3693 2011-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
3694
3695         * doc/cpp.texi: Update copyright years.
3696
3697 2011-02-25  Sebastien Bourdeauducq  <sebastien@milkymist.org>
3698
3699         PR target/46898
3700         * config/lm32/lm32.md (ashrsi3): Added needed variable.
3701
3702 2011-02-25  Jon Beniston  <jon@beniston.com>
3703
3704         PR target/46898
3705         * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
3706         * config/lm32/lm32.md (ashlsi3): Remove unused variable.
3707         * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
3708         (lm32_block_move_inline): Add type cast to remove warning.
3709         (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
3710         (gen_int_relational): Move declarations to start of function.
3711
3712 2011-02-25  Eric Botcazou  <ebotcazou@adacore.com>
3713
3714         PR tree-optimization/45470
3715         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
3716         can throw internally only.
3717         * tree-vect-stmts.c (vectorizable_call): Likewise.
3718
3719 2011-02-24  Anatoly Sokolov  <aesok@post.ru>
3720
3721         * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
3722         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
3723         * config/stormy16/stormy16-protos.h
3724         (xstormy16_preferred_reload_class): Remove.
3725         * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
3726         static. Change 'rclass' argument and return type to reg_class_t.
3727         (TARGET_PREFERRED_RELOAD_CLASS,
3728         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
3729
3730 2011-02-24  Richard Guenther  <rguenther@suse.de>
3731
3732         * lto-streamer-in.c (input_bb): Do not find referenced vars
3733         in debug statements.
3734
3735 2011-02-23  Jason Merrill  <jason@redhat.com>
3736
3737         * common.opt (fabi-version): Document v5 and v6.
3738
3739 2011-02-23  Richard Guenther  <rguenther@suse.de>
3740
3741         PR tree-optimization/47849
3742         * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
3743
3744 2011-02-23  Jie Zhang  <jie@codesourcery.com>
3745
3746         * opts-common.c (decode_cmdline_option): Print empty string
3747         argument as "" in decoded->orig_option_with_args_text.
3748         * gcc.c (execute): Print empty string argument as ""
3749         in the verbose output.
3750         (do_spec_1): Keep empty string argument.
3751
3752 2011-02-23  Nathan Froyd  <froydnj@codesourcery.com>
3753
3754         * config.gcc: Declare score-* and crx-* obsolete.
3755
3756 2011-02-23  Jie Zhang  <jie@codesourcery.com>
3757
3758         PR rtl-optimization/47763
3759         * web.c (web_main): Ignore naked clobber when replacing register.
3760
3761 2011-02-22  Anatoly Sokolov  <aesok@post.ru>
3762
3763         * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
3764         Remove.
3765
3766 2011-02-22  Sebastian Pop  <sebastian.pop@amd.com>
3767
3768         PR doc/47848
3769         * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
3770
3771 2011-02-22  Mike Stump  <mikestump@comcast.net>
3772
3773         * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
3774         assembler.
3775         * configure: Regenerate.
3776
3777 2011-02-21  Chung-Lin Tang  <cltang@codesourcery.com>
3778
3779         PR rtl-optimization/46002
3780         * ira-color.c (update_copy_costs): Change class intersection
3781         test to reg_class_contents[] test of 'hard_regno'.
3782
3783 2011-02-21  Joseph Myers  <joseph@codesourcery.com>
3784
3785         * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
3786         than Driver option.
3787         * config/hpux11.opt (mt): Likewise.
3788         * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
3789         * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
3790         * config/vax/elf.opt (mno-asm-pic): Likewise.
3791         * config/vms/vms.opt (map, mvms-return-codes): Likewise.
3792
3793 2011-02-21  Mike Stump  <mikestump@comcast.net>
3794
3795         PR target/47822
3796         * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
3797         tree so we can get save the type.
3798         * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
3799         for CFString instead of trying to use past the end of the builtins.
3800         * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
3801         * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
3802         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
3803         * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
3804         Rename to darwin_builtin_cfstring.
3805         (darwin_init_cfstring_builtins): Return the built type.
3806
3807 2011-02-21  Uros Bizjak  <ubizjak@gmail.com>
3808
3809         PR target/47840
3810         * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
3811         (_mm256_insert_epi64): Use _mm_insert_epi64.
3812
3813 2011-02-21  Anatoly Sokolov  <aesok@post.ru>
3814
3815         * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
3816         * config/stormy16/stormy16-protos.h
3817         (xstormy16_mode_dependent_address_p): Remove.
3818         * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
3819         Make static. Change return type to bool. Change argument type to
3820         const_rtx. Remove dead code.
3821         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3822
3823 2011-02-21  Richard Guenther  <rguenther@suse.de>
3824
3825         PR lto/47820
3826         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
3827         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
3828         (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
3829         TUs context.
3830         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
3831         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
3832
3833 2011-02-20  Richard Guenther  <rguenther@suse.de>
3834
3835         PR lto/47822
3836         * tree.c (free_lang_data_in_decl): Clean builtins from
3837         the TU decl BLOCK_VARS.
3838
3839 2011-02-19  Alexandre Oliva  <aoliva@redhat.com>
3840
3841         PR debug/47620
3842         PR debug/47630
3843         * haifa-sched.c (fix_tick_ready): Skip tick computation
3844         for debug insns.
3845
3846 2011-02-19  Richard Guenther  <rguenther@suse.de>
3847
3848         PR lto/47647
3849         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
3850         Remove lazy BLOCK_VARS streaming.
3851         (lto_input_ts_block_tree_pointers): Likewise.
3852         * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
3853
3854 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
3855
3856         * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
3857
3858 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
3859
3860         * config/i386/biarch32.h, config/i386/mach.h,
3861         config/rs6000/aix.opt, config/sh/superh64.h: Remove.
3862
3863 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
3864
3865         PR target/47800
3866         * config/i386/i386.md (peephole2 for shift and plus): Use
3867         operands[1] original mode in the first insn.
3868
3869 2011-02-18  Mike Stump  <mikestump@comcast.net>
3870
3871         * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
3872
3873 2011-02-18  Jan Hubicka  <jh@suse.cz>
3874
3875         PR middle-end/47788
3876         * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
3877         to zero when the function is not inlinable at all.
3878
3879 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3880
3881         * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
3882         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
3883         pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
3884         * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
3885         * config/pa/t-pa64: Likewise.
3886         * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3887
3888 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
3889
3890         PR driver/47787
3891         * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
3892
3893 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3894
3895         PR target/47792
3896         * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
3897
3898 2011-02-18  Anatoly Sokolov  <aesok@post.ru>
3899
3900         * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
3901         RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
3902         LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
3903         GO_IF_LEGITIMATE_ADDRESS): Remove macros.
3904         * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
3905         (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
3906         m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
3907         m32r_load_postinc_p, m32r_store_preinc_predec_p,
3908         m32r_legitimate_address_p): New functions.
3909         * config/m32r/constraints.md (constraint "S"): Don't use
3910         STORE_PREINC_PREDEC_P.
3911         (constraint "U"): Don't use LOAD_POSTINC_P.
3912
3913 2011-02-18  Chung-Lin Tang  <cltang@codesourcery.com>
3914
3915         PR rtl-optimization/46178
3916         * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
3917         compute ira_hard_regno_cover_class[].
3918
3919 2011-02-18  Richard Guenther  <rguenther@suse.de>
3920
3921         PR lto/47798
3922         * lto-streamer.h (lto_global_var_decls): Declare.
3923         * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
3924         statics for global var processing.
3925
3926 2011-02-18  Richard Guenther  <rguenther@suse.de>
3927
3928         PR tree-optimization/47737
3929         * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
3930         edge dominance check.
3931
3932 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
3933
3934         PR debug/47780
3935         * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
3936         avoid invalid rtx sharing.
3937
3938 2011-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
3939
3940         * doc/cpp.texi (Obsolete Features): Add background on the
3941         origin of assertions.
3942
3943 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
3944
3945         * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
3946         objc_abi == 2.
3947         * config/darwin.c (output_objc_section_asm_op): Added support for
3948         ABI v1 and v2.
3949         (is_objc_metadata): New.
3950         (darwin_objc2_section): New.
3951         (darwin_objc1_section): New.
3952         (machopic_select_section): Added support for ABI v1 and v2.
3953         (darwin_emit_objc_zeroed): New.
3954         (darwin_output_aligned_bss): Detect objc metadata and treat it
3955         appropriately.
3956         (darwin_asm_output_aligned_decl_common): Same.
3957         (darwin_asm_output_aligned_decl_local): Same.
3958         * config/darwin-sections.def: Updated for ABI v1 and v2.
3959         * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
3960         compiling Objective-C code for the NeXT runtime, default to using
3961         ABI version 0 for 32-bit, and version 2 for 64-bit.
3962
3963 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
3964
3965         * common.opt (optimize_fast): New Variable.
3966         * opts.c (default_options_optimization): Use opts->x_optimize_fast
3967         instead of local variable ofast.
3968
3969 2011-02-17  Nicola Pero  <nicola.pero@meta-innovation.com>
3970
3971         * doc/invoke.texi (fobjc-abi-version): Documented.
3972         (fobjc-nilcheck): Documented.
3973         (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
3974         version.
3975
3976 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
3977
3978         PR driver/47390
3979         * common.opt (export-dynamic): New Driver option.
3980         * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
3981
3982 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
3983
3984         * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
3985
3986 2011-02-17  Alexandre Oliva  <aoliva@redhat.com>
3987             Jan Hubicka  <jh@suse.cz>
3988
3989         PR debug/47106
3990         PR debug/47402
3991         * cfgexpand.c (account_used_vars_for_block): Remove.
3992         (estimated_stack_frame_size): Use referenced vars.
3993         * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
3994         that were referenced in the original function.  Test src_fn
3995         rather than cfun.  Drop redundant get_var_ann.
3996         (setup_one_parameter): Drop redundant get_var_ann.
3997         (declare_return_variable): Likewise.
3998         (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
3999         (copy_arguments_for_versioning): Drop redundant get_var_ann.
4000         * ipa-inline.c (compute_inline_parameters): Do not compute
4001         disregard_inline_limits here.
4002         (compute_inlinable_for_current, pass_inlinable): New.
4003         (pass_inline_parameters): Require PROP_referenced_vars.
4004         * cgraphunit.c (cgraph_process_new_functions): Don't run
4005         compute_inline_parameters explicitly unless function is in SSA form.
4006         (cgraph_analyze_function): Set .disregard_inline_limits.
4007         * tree-sra.c (convert_callers): Compute inliner parameters
4008         only for functions already in SSA form.
4009
4010 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
4011
4012         * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
4013         -mlittle-endian-data.
4014
4015 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
4016
4017         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
4018         -mno-fpu, not -fpu and -no-fpu.
4019         * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
4020         * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
4021
4022 2011-02-17  Uros Bizjak  <ubizjak@gmail.com>
4023
4024         PR target/43653
4025         * config/i386/i386.c (ix86_secondary_reload): Handle SSE
4026         input reload with PLUS RTX.
4027
4028 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
4029
4030         * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
4031         of InverseVar(MDMX).
4032
4033 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
4034
4035         * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
4036         --m4-340.
4037
4038 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
4039
4040         * config/mn10300/mn10300.opt (mno-crt0): New.
4041
4042 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
4043
4044         * config/m68k/uclinux.opt (static-libc): New Driver option.
4045
4046 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
4047
4048         * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
4049
4050 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
4051
4052         * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
4053         %{muser-extend-enabled}.
4054
4055 2011-02-16  Richard Guenther  <rguenther@suse.de>
4056
4057         PR tree-optimization/47738
4058         * tree-ssa-loop.c (run_tree_predictive_commoning): Return
4059         the TODO from tree_predictive_commoning.
4060
4061 2011-02-15  Jeff Law  <law@redhat.com>
4062
4063         Revert
4064         2011-01-25  Jeff Law  <law@redhat.com>
4065
4066         PR rtl-optimization/37273
4067         * ira-costs.c (scan_one_insn): Detect constants living in memory and
4068         handle them like argument loads from stack slots.  Do not double
4069         count memory for memory constants and argument loads from stack slots.
4070
4071 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
4072
4073         PR middle-end/47725
4074         * combine.c (cant_combine_insn_p): Revert the last change.
4075
4076 2011-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
4077
4078         PR target/47755
4079         * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
4080         mode for vector constants.  Remove code that checks for TImode.
4081
4082 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
4083
4084         PR debug/47106
4085         PR debug/47402
4086         * cgraph.h (compute_inline_parameters): Return void.
4087         * ipa-inline.c (compute_inline_parameters): Adjust.
4088
4089 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
4090
4091         PR debug/47106
4092         PR debug/47402
4093         * tree-inline.h (estimated_stack_frame_size): Take cgraph node
4094         rather than decl.
4095         * cfgexpand.c (estimated_stack_frame_size): Likewise.
4096         * ipa-inline.c (compute_inline_parameters): Adjust.
4097
4098 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
4099
4100         PR debug/47106
4101         PR debug/47402
4102         * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
4103         Adjust all users.  Pass FN to...
4104         * tree-flow-inline.h (first_referenced_var): ... this.  Add
4105         fn argument.
4106         * ipa-struct-reorg.c: Adjust.
4107         * tree-dfa.c: Adjust.
4108         * tree-into-ssa.c: Adjust.
4109         * tree-sra.c: Adjust.
4110         * tree-ssa-alias.c: Adjust.
4111         * tree-ssa-live.c: Adjust.
4112         * tree-ssa.c: Adjust.
4113         * tree-ssanames.c: Adjust.
4114         * tree-tailcall.c: Adjust.
4115
4116 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
4117
4118         PR debug/47106
4119         PR debug/47402
4120         * tree-flow.h (referenced_var_lookup): Add fn parameter.
4121         Adjust all callers.
4122         * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
4123         * tree-flow-inline.h: Adjust.
4124         * gimple-pretty-print.c: Adjust.
4125         * tree-into-ssa.c: Adjust.
4126         * tree-ssa.c: Adjust.
4127         * cfgexpand.c: Adjust.
4128
4129 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
4130
4131         * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
4132         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4133         (EXTRA_CONSTRAINT): Delete.
4134         * config/iq2000/constraints.md: New file.
4135         * config/iq2000/iq2000.md: Include it.
4136         (define_insn ""): Delete.
4137         (movsi_internal2, movhi_internal2, movqi_internal2): Delete
4138         unsupported constraint letters from patterns.
4139         (call_value, call_value_internal1): Likewise.
4140         (call_value_multiple_internal1): Likewise.
4141
4142 2011-02-15  Nick Clifton  <nickc@redhat.com>
4143
4144         * config/mn10300/mn10300.c: Include tm-constrs.h.
4145         (struct liw_data): New data structure describing an LIW candidate
4146         instruction.
4147         (extract_bundle): Use struct liw_data.  Allow small integer
4148         operands for some instructions.
4149         (check_liw_constraints): Use struct liw_data.  Remove swapped
4150         parameter.  Add comments describing the checks.  Fix bug when
4151         assigning the source of liw1 to the source of liw2.
4152         (liw_candidate): Delete.  Code moved into extract_bundle.
4153         (mn10300_bundle_liw): Use struct liw_data.  Check constraints
4154         before swapping.
4155         * config/mn10300/predicates.md (liw_operand): New predicate.
4156         Allows registers and small integer constants.
4157         * config/mn10300/constraints.md (O): New constraint.  Accetps
4158         integers in the range -8 to +7 inclusive.
4159         * config/mn10300/mn10300.md (movesi_internal): Add an alternative
4160         for moving a small integer into a register.  Give this alternative
4161         LIW attributes.
4162         (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
4163         (ashlsi3): Likewise, plus give LIW attributes to the alternatives
4164         using the J,K,L and M constraints,
4165         (liw): Remove SI mode on second operands to allow for HI and QI
4166         mode values.
4167         (cmp_liw, liw_cmp): Likewise.  Plus fix order of operands in the
4168         instruction.
4169
4170 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
4171
4172         PR middle-end/47725
4173         * combine.c (cant_combine_insn_p): Check zero/sign extended
4174         hard registers.
4175
4176 2011-02-15  Richard Guenther  <rguenther@suse.de>
4177
4178         PR tree-optimization/47743
4179         * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
4180         for a non-type-compatible VN lookup bail out.
4181
4182 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
4183
4184         * config/fr30/constraints.md: New file.
4185         * config/fr30/fr30.md: Include it.
4186         * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
4187         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4188         (EXTRA_CONSTRAINT): Delete.
4189
4190 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
4191
4192         * config/frv/constraints.md: New file.
4193         * config/frv/predicates.md: Include it.
4194         * config/frv/frv.c (reg_class_from_letter): Delete.
4195         (frv_option_override): Don't initialize it.
4196         * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
4197         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
4198         (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
4199         (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
4200         (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
4201         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4202         (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
4203         (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
4204         (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
4205         (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
4206         (REG_CLASS_FROM_CONSTRAINT): Delete.
4207
4208 2011-02-15  Jakub Jelinek  <jakub@redhat.com>
4209
4210         PR middle-end/47581
4211         * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
4212         if frame size is 0 in a leaf function.
4213
4214 2011-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4215
4216         PR pch/14940
4217         * config/alpha/host-osf.c: New file.
4218         * config/alpha/x-osf: New file.
4219         * config.host (alpha*-dec-osf*): Use it.
4220
4221 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
4222
4223         * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
4224         * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
4225         * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
4226         (rx_mode_dependent_address_p): ...this. Make static. Change argument
4227         type to const_rtx.
4228         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
4229
4230 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
4231
4232         * config/stormy16/constraints.md: New file.
4233         * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
4234         Use satisfies_constraint_Q and satisfies_constraint_R.
4235         * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
4236         Delete.
4237         (xstormy16_legitiamte_address_p): Declare.
4238         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
4239         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4240         (EXTRA_CONSTRAINT): Delete.
4241         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
4242         Un-staticize.
4243         (xstormy16_extra_constraint_p): Delete.
4244
4245 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
4246
4247         PR tree-optimization/46494
4248         * loop-unroll.c (split_edge_and_insert): Adjust comment.
4249         * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
4250         (pass_rtl_loop_done): Add TODO_verify_flow.
4251         * fwprop.c (pass_rtl_fwprop): Likewise.
4252         * modulo-sched.c (pass_sms): Likewise.
4253         * tree-ssa-dom.c (pass_dominator): Likewise.
4254         * tree-ssa-loop-ch.c (pass_ch): Likewise.
4255         * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
4256         (pass_tree_loop_done): Likewise.
4257         * tree-ssa-pre.c (execute_pre): Likewise.
4258         * tree-ssa-reassoc.c (pass_reassoc): Likewise.
4259         * tree-ssa-sink.c (pass_sink_code): Likewise.
4260         * tree-vrp.c (pass_vrp): Likewise.
4261
4262 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
4263
4264         * config/v850/constraints.md: New file.
4265         * config/v850/v850.md: Include it.
4266         * config/v850/predicates.md (reg_or_0_operand): Use
4267         satisfies_constraint_G.
4268         (special_symbolref_operand): Use satisfies_constraint_K.
4269         * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
4270         (GO_IF_LEGITIMATE_ADDRESS): Likewise.
4271         (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
4272         (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
4273         (EXTRA_CONSTRAINT): Delete.
4274         (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
4275         (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
4276         (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
4277
4278 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
4279
4280         PR target/47696
4281         * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
4282         description.
4283
4284 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
4285
4286         * config/mcore/constraints.md: New file.
4287         * config/mcore/mcore.md: Include it.
4288         * config/mcore/mcore.c (reg_class_from_letter): Delete.
4289         * config/mcore/mcore.h (reg_class_from_letter): Delete.
4290         (REG_CLASS_FROM_LETTER): Delete.
4291         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
4292         insn_const_int_ok_for_constraint.
4293         (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
4294         (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
4295         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4296         (EXTRA_CONSTRAINT): Delete.
4297
4298 2011-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4299
4300         PR ada/41929
4301         * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
4302         (IS_SIGHANDLER): Define.
4303         (sparc64_is_sighandler): New function, split off from
4304         sparc64_fallback_frame_state.
4305         (sparc_is_sighandler): New function, split off from
4306         sparc_fallback_frame_state.
4307         (sparc64_fallback_frame_state): Merge with ...
4308         (sparc_fallback_frame_state): ... this into ...
4309         (MD_FALLBACK_FRAME_STATE_FOR): ... this.
4310         Change new_cfa to long.  Remove regs_off, fpu_save_off, fpu_save.
4311         Define nframes, mctx.  Use IS_SIGHANDLER, handler_args, mctx, walk
4312         stack instead of hardcoded offsets.
4313
4314 2011-02-14  Andriy Gapon  <avg@freebsd.org>
4315
4316         PR target/45808
4317         * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
4318
4319 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4320
4321         * configure: Regenerate.
4322
4323 2011-02-12  Joseph Myers  <joseph@codesourcery.com>
4324
4325         PR driver/45731
4326         * gcc.c (asm_options): Correct spec matching --target-help.
4327
4328 2011-02-12  Martin Jambor  <mjambor@suse.cz>
4329
4330         * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
4331         to gimple call error.
4332
4333 2011-02-12  Mike Stump  <mikestump@comcast.net>
4334
4335         * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
4336         comments in backslash regions.
4337
4338 2011-02-12  Mike Stump  <mikestump@comcast.net>
4339             Jakub Jelinek  <jakub@redhat.com>
4340             Iain Sandoe  <iains@gcc.gnu.org>
4341
4342         PR target/47324
4343         * dwarf2out.c (output_cfa_loc): When required, apply the
4344         DWARF2_FRAME_REG_OUT macro to adjust register numbers.
4345         (output_loc_sequence): Likewise.
4346         (output_loc_operands_raw): Likewise.
4347         (output_loc_sequence_raw): Likewise.
4348         (output_cfa_loc): Likewise.
4349         (output_loc_list): Suppress register number adjustment when
4350         calling output_loc_sequence()
4351         (output_die): Likewise.
4352
4353 2011-02-12  Anatoly Sokolov  <aesok@post.ru>
4354
4355         * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
4356         Remove macros.
4357         * config/xtensa/xtensa.c (xtensa_register_move_cost,
4358         xtensa_memory_move_cost): New functions.
4359         (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
4360
4361 2011-02-12  Alexandre Oliva  <aoliva@redhat.com>
4362
4363         PR lto/47225
4364         * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
4365         in the current directory.
4366         * configure: Rebuilt.
4367
4368 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
4369
4370         * config/darwin.c (darwin_override_options): Add a hunk missed
4371         from the commit of r168571.  Trim comment line lengths and
4372         correct indents of the preceding block.
4373
4374 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
4375
4376         * gcc.c (driver_handle_option): Concatenate the argument to -F with
4377         the switch.
4378
4379 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
4380
4381         * common.opt (nostartfiles): New Driver option.
4382
4383 2011-02-11  Xinliang David Li  <davidxl@google.com>
4384
4385         PR tree-optimization/47707
4386         * tree-chrec.c (convert_affine_scev): Keep type precision.
4387
4388 2011-02-11  Eric Botcazou  <ebotcazou@adacore.com>
4389
4390         PR tree-optimization/47420
4391         * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
4392
4393 2011-02-11  Pat Haugen  <pthaugen@us.ibm.com>
4394
4395         PR rtl-optimization/47614
4396         * rtl.h (check_for_inc_dec): Declare.
4397         * dse.c (check_for_inc_dec): Externalize...
4398         * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
4399         (reload_cse_simplify_operands): Don't simplify opnds with side effects.
4400
4401 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
4402
4403         PR driver/47678
4404         * gcc.c (main): Do not compile inputs if there were errors in
4405         option handling.
4406         * opts-common.c (read_cmdline_option): Check for wrong language
4407         after other error checks.
4408
4409 2011-02-11  Nathan Froyd  <froydnj@codesourcery.com>
4410
4411         * cgraph.c: Fix comment typos.
4412         * cgraph.h: Likewise.
4413         * cgraphunit.c: Likewise.
4414         * ipa-cp.c: Likewise.
4415         * ipa-inline.c: Likewise.
4416         * ipa-prop.c: Likewise.
4417         * ipa-pure-const.c: Likewise.
4418         * ipa-ref.c: Likewise.
4419         * ipa-reference.c: Likewise.
4420
4421 2011-02-11  Jakub Jelinek  <jakub@redhat.com>
4422
4423         PR debug/47684
4424         * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
4425
4426 2011-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4427
4428         PR testsuite/47400
4429         * doc/sourcebuild.texi (Require Support): Document
4430         dg-require-ascii-locale.
4431
4432 2011-02-11  Mingjie Xing  <mingjie.xing@gmail.com>
4433
4434         * doc/lto.texi (Write summary): Fix missing parentheses.
4435
4436 2011-02-10  DJ Delorie  <dj@redhat.com>
4437
4438         * config/m32c/m32c.c (m32c_option_override): Disable
4439         -fcombine-stack-adjustments until flag value tracking and compare
4440         optimization can be rewritten.
4441
4442 2011-02-10  Peter Bergner  <bergner@vnet.ibm.com>
4443
4444         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
4445         PROCESSOR_POWER7.
4446         (PROCESSOR_DEFAULT64): Likewise.
4447
4448 2011-02-10  Richard Henderson  <rth@redhat.com>
4449
4450         * config/rx/predicates.md (rx_zs_comparison_operator): Revert
4451         change from 2011-02-03.
4452         * config/rx/rx.c (flags_from_code): Likewise.
4453         (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
4454         is valid, n/pz otherwise.
4455         (rx_select_cc_mode): Return CCmode if Y is not zero.
4456
4457 2011-02-10  Richard Guenther  <rguenther@suse.de>
4458
4459         * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
4460
4461 2011-02-10  Richard Guenther  <rguenther@suse.de>
4462
4463         PR tree-optimization/47677
4464         * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
4465
4466 2011-02-10  Jakub Jelinek  <jakub@redhat.com>
4467
4468         PR target/47665
4469         * combine.c (make_compound_operation): Only change shifts into
4470         multiplication for SCALAR_INT_MODE_P.
4471
4472 2011-02-10  Jie Zhang  <jie@codesourcery.com>
4473
4474         PR testsuite/47622
4475         Revert
4476         2011-02-05  Jie Zhang  <jie@codesourcery.com>
4477         PR debug/42631
4478         * web.c (entry_register): Don't clobber the number of the
4479         first uninitialized reference in used[].
4480
4481 2011-02-09  Richard Guenther  <rguenther@suse.de>
4482
4483         PR tree-optimization/47664
4484         * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
4485         all edges again.
4486
4487 2011-02-09  David Edelsohn  <dje.gcc@gmail.com>
4488
4489         PR target/46481
4490         PR target/47032
4491         * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
4492         PROCESSOR_POWER7.
4493         (PROCESSOR_DEFAULT64): Same.
4494         (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
4495
4496 2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4497
4498         * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
4499
4500 2011-02-09  Martin Jambor  <mjambor@suse.cz>
4501
4502         PR middle-end/45505
4503         * tree-sra.c (struct access): New flags grp_scalar_read and
4504         grp_scalar_write.  Changed description of assignment read and write
4505         flags.
4506         (dump_access): Dump new flags, reorder all of them.
4507         (sort_and_splice_var_accesses): Set the new flag accordingly, use them
4508         to detect multiple scalar reads.
4509         (analyze_access_subtree): Use the new scalar read write flags instead
4510         of the old flags.  Adjusted comments.
4511
4512 2011-02-08  DJ Delorie  <dj@redhat.com>
4513
4514         PR target/47548
4515         * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
4516         patterns.
4517
4518 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
4519
4520         * config/m68k/uclinux.opt: New.
4521         * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
4522
4523 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
4524
4525         * config/cris/elf.opt (sim): New Driver option.
4526
4527 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
4528
4529         * config/xtensa/elf.opt: New.
4530         * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
4531
4532 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
4533
4534         * config/vax/elf.opt: New.
4535         * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
4536
4537 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
4538
4539         * config/rs6000/aix64.opt (posix, pthread): New Driver options.
4540
4541 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
4542
4543         * config/gnu-user.opt: New.
4544         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
4545         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
4546         *-*-uclinux*): Use gnu-user.opt.
4547
4548 2011-02-08  Thomas Schwinge  <thomas@schwinge.name>
4549
4550         * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
4551         * config/i386/gnu.h (CPP_SPEC): Likewise.
4552
4553 2011-02-08  Ian Lance Taylor  <iant@google.com>
4554
4555         * common.opt (fcx-limited-range): Add SetByCombined flag.
4556         (ffinite-math-only, fmath-errno, frounding-math): Likewise.
4557         (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
4558         (fassociative-math, freciprocal-math): Likewise.
4559         (funsafe-math-optimizations): Likewise.
4560         * opth-gen.awk: Handle SetByCombined.
4561         * optc-gen.awk: Likewise.
4562         * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
4563         (set_unsafe_math_optimizations_flags): Likewise.
4564         * doc/options.texi (Option properties): Document SetByCombined.
4565
4566 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
4567
4568         * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
4569         i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
4570         m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
4571         m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
4572         sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
4573
4574 2011-02-08  Sebastian Pop  <sebastian.pop@amd.com>
4575
4576         PR tree-optimization/46834
4577         PR tree-optimization/46994
4578         PR tree-optimization/46995
4579         * graphite-sese-to-poly.c (used_outside_reduction): New.
4580         (detect_commutative_reduction): Call used_outside_reduction.
4581         (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
4582         translate_scalar_reduction_to_array only when at least one
4583         loop-phi/close-phi tuple has been detected.
4584
4585 2011-02-08  Richard Guenther  <rguenther@suse.de>
4586
4587         PR middle-end/47639
4588         * tree-vect-generic.c (expand_vector_operations_1): Update
4589         stmts here ...
4590         (expand_vector_operations): ... not here.  Cleanup EH info
4591         and the CFG if required.
4592
4593 2011-02-08  Richard Guenther  <rguenther@suse.de>
4594
4595         PR tree-optimization/47641
4596         * tree-ssa.c (execute_update_addresses_taken): For asm outputs
4597         require type compatibility.
4598
4599 2011-02-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4600
4601         * gimple-low.c (lower_function_body): Don't remove the location of
4602         the return statement here.
4603         (lower_gimple_return): Do it here instead but only if the return
4604         statement is actually used twice.
4605
4606 2011-02-08  Richard Guenther  <rguenther@suse.de>
4607
4608         PR tree-optimization/47632
4609         * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
4610         unused up_to_stmt parameter, return whether cfg-cleanup is
4611         necessary, remove EH info properly.
4612         (forward_propagate_into_gimple_cond): Adjust caller.
4613         (forward_propagate_into_cond): Likewise.
4614         (forward_propagate_comparison): Likewise.
4615         (tree_ssa_forward_propagate_single_use_vars): Make
4616         forward_propagate_comparison case similar to the two others.
4617
4618 2011-02-08  Nick Clifton  <nickc@redhat.com>
4619
4620         * config/mn10300/mn10300.opt (mliw): New command line option.
4621         * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
4622         (liw_bundling): New automaton.
4623         (liw): New attribute.
4624         (liw_op): New attribute.
4625         (liw_op1, liw_op2, liw_both, liw_either): New reservations.
4626         (movsi_internal): Add LIW attributes.
4627         (andsi3): Likewise.
4628         (iorsi3): Likewise.
4629         (xorsi3): Likewise.
4630         (addsi3): Separate register and immediate alternatives.
4631         Add LIW attributes.
4632         (subsi3): Likewise.
4633         (cmpsi): Likewise.
4634         (aslsi3): Likewise.
4635         (lshrsi3): Likewise.
4636         (ashrsi3): Likewise.
4637         (liw): New pattern.
4638         * config/mn10300/mn10300.c (liw_op_names): New
4639         (mn10300_print_operand): Handle 'W' operand descriptor.
4640         (extract_bundle): New function.
4641         (check_liw_constraints): New function.
4642         (liw_candidate): New function.
4643         (mn10300_bundle_liw): New function.
4644         (mn10300_reorg): New function.
4645         (TARGET_MACHINE_DEPENDENT_REORG): Define.
4646         (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
4647         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
4648         __LIW__ or __NO_LIW__.
4649         * doc/invoke.texi: Describe the -mliw command line option.
4650
4651 2011-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4652
4653         * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
4654         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
4655         pthread_mutex_unlock): Remove.
4656         * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
4657         * config/pa/t-pa64: Likewise.
4658         * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
4659         shared libc if not linking against libpthread.
4660         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
4661
4662 2011-02-07  Iain Sandoe  <iains@gcc.gnu.org>
4663
4664         PR target/47558
4665         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
4666         on 10.6 and later to ensure that we always use the unwinder from
4667         the system.  Only add -no_compact_unwind when tarteting darwin
4668         10.6 or later.
4669
4670 2011-02-07  Steve Ellcey  <sje@cup.hp.com>
4671
4672         PR target/46997
4673         * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
4674         (vec_interleave_lowv2sf): Ditto.
4675         (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
4676         (vec_extract_oddv2sf): Ditto.
4677
4678 2011-02-07  Mike Stump  <mikestump@comcast.net>
4679
4680         PR target/42333
4681         Add __ieee_divdc3 entry point.
4682         * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
4683         entry point.
4684         (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
4685         * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
4686         * config/darwin.c (darwin_rename_builtins): Add.
4687         * config/darwin-protos.h (darwin_rename_builtins): Add.
4688
4689 2011-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
4690
4691         PR target/47636
4692         * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
4693         for the condition.
4694
4695 2011-02-07  Mike Stump  <mikestump@comcast.net>
4696
4697         * config/darwin.opt (mmacosx-version-min): Update default OS version.
4698
4699 2011-02-07  Denis Chertykov  <chertykov@gmail.com>
4700
4701         PR target/47534
4702         * config/avr/libgcc.S (exit): Move .endfunc
4703
4704 2011-02-07  Richard Guenther  <rguenther@suse.de>
4705
4706         PR tree-optimization/47615
4707         * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
4708         * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
4709         (run_scc_vn): Initialize it.
4710         (visit_reference_op_load): Use it.
4711         * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
4712
4713 2011-02-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4714
4715         * config/spu/spu.c (spu_init_libfuncs): Install SImode and
4716         DImode trapping arithmetic libfuncs.
4717
4718 2011-02-07  Richard Guenther  <rguenther@suse.de>
4719
4720         PR tree-optimization/47621
4721         * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
4722         two duplicates ...
4723         (execute_update_addresses_taken): ... here.  Make it more
4724         conservative in what we accept.
4725
4726 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
4727
4728         * config/sparc/freebsd.h (ASM_SPEC): Define.
4729         * config/sparc/vxworks.h (ASM_SPEC): Define.
4730
4731 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
4732
4733         * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
4734
4735 2011-02-06  Steven Bosscher  <steven@gcc.gnu.org>
4736
4737         * doc/invoke.texi: Remove reference to compiler internals from
4738         user documentation.
4739
4740         * reg-notes.def: Remove REG_VALUE_PROFILE.
4741         * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
4742
4743 2011-02-05  Jakub Jelinek  <jakub@redhat.com>
4744
4745         PR middle-end/47610
4746         * varasm.c (default_section_type_flags): If decl is NULL,
4747         and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
4748
4749 2011-02-05  Jie Zhang  <jie@codesourcery.com>
4750
4751         PR debug/42631
4752         * web.c (entry_register): Don't clobber the number of the
4753         first uninitialized reference in used[].
4754
4755 2011-02-04  Sebastian Pop  <sebastian.pop@amd.com>
4756
4757         PR tree-optimization/46194
4758         * tree-data-ref.c (analyze_miv_subscript): Remove comment.
4759         (build_classic_dist_vector_1): Do not represent classic distance
4760         vectors when the access functions are variating in different loops.
4761
4762 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
4763
4764         * config/mips/iris6.opt: New.
4765         * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
4766
4767 2011-02-04  Richard Henderson  <rth@redhat.com>
4768             Steve Ellcey  <sje@cup.hp.com>
4769
4770         PR target/46997
4771         * config/ia64/predicates.md (mux1_brcst_element): New.
4772         * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
4773         * config/ia64/ia64.c (ia64_unpack_assemble): New.
4774         (ia64_unpack_sign): New.
4775         (ia64_expand_unpack): Rewrite using new routines.
4776         (ia64_expand_widen_sum): Ditto.
4777         (ia64_expand_dot_prod_v8qi): Ditto.
4778         * config/ia64/vect.md (mulv8qi3): Rewrite to use new
4779         routines, add endian check.
4780         (pmpy2_even): Rename from pmpy2_r, add endian check.
4781         (pmpy2_odd): Rename from pmpy2_l, add endian check.
4782         (vec_widen_smult_lo_v4hi): Rewrite using new routines.
4783         (vec_widen_smult_hi_v4hi): Ditto.
4784         (vec_widen_umult_lo_v4hi): Ditto.
4785         (vec_widen_umult_hi_v4hi): Ditto.
4786         (mulv2si3): Change endian checks.
4787         (sdot_prodv4hi): Rewrite with new calls.
4788         (udot_prodv4hi): New.
4789         (vec_pack_ssat_v4hi): Add endian check.
4790         (vec_pack_usat_v4hi): Ditto.
4791         (vec_pack_ssat_v2si): Ditto.
4792         (max1_even): Rename from max1_r, add endian check.
4793         (max1_odd): Rename from max1_l, add endian check.
4794         (*mux1_rev): Format change.
4795         (*mux1_mix): Ditto.
4796         (*mux1_shuf): Ditto.
4797         (*mux1_alt): Ditto.
4798         (*mux1_brcst_v8qi): Use new predicate.
4799         (vec_extract_evenv8qi): Remove endian check.
4800         (vec_extract_oddv8qi): Ditto.
4801         (vec_interleave_lowv4hi): Format change.
4802         (vec_interleave_highv4hi): Ditto.
4803         (mix2_even): Rename from mix2_r, add endian check.
4804         (mix2_odd): Rename from mux2_l, add endian check.
4805         (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
4806         (vec_extract_evenodd_helper): Format change.
4807         (vec_extract_evenv4hi): Remove endian check.
4808         (vec_extract_oddv4hi): Remove endian check.
4809         (vec_interleave_lowv2si): Format change.
4810         (vec_interleave_highv2si): Format change.
4811         (vec_initv2si): Remove endian check.
4812         (vecinit_v2si): Add endian check.
4813         (reduc_splus_v2sf): Add endian check.
4814         (reduc_smax_v2sf): Ditto.
4815         (reduc_smin_v2sf): Ditto.
4816         (vec_initv2sf): Remove endian check.
4817         (fpack): Add endian check.
4818         (fswap): Add endian check.
4819         (vec_interleave_highv2sf): Add endian check.
4820         (vec_interleave_lowv2sf): Add endian check.
4821         (fmix_lr): Add endian check.
4822         (vec_setv2sf): Format change.
4823         (*vec_extractv2sf_0_be): Use shift to extract operand.
4824         (*vec_extractv2sf_1_be): New.
4825         (vec_pack_trunc_v4hi): Add endian check.
4826         (vec_pack_trunc_v2si): Format change.
4827
4828 2011-02-04  Jakub Jelinek  <jakub@redhat.com>
4829
4830         PR inline-asm/23200
4831         * tree-ssa-ter.c (is_replaceable_p): Add TER argument.  Don't
4832         do bb, locus and block comparison and disallow loads if it is not set.
4833         (stmt_is_replaceable_p): New function.
4834         (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
4835         callers.
4836         * expr.c (expand_expr_real_1) <case SSA_NAME>: If
4837         get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
4838         SSA_NAME_DEF_STMT.
4839         * tree-flow.h (stmt_is_replaceable_p): New prototype.
4840
4841 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
4842
4843         * config/rs6000/xilinx.opt: New.
4844         * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
4845
4846 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
4847
4848         * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
4849
4850 2011-02-03  Anatoly Sokolov  <aesok@post.ru>
4851
4852         * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
4853         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
4854         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
4855         secondary_reload_info, xtensa_secondary_reload): Remove.
4856         * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
4857         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
4858         (xtensa_preferred_reload_class): Make static. Change return and
4859         'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
4860         Use CONST_DOUBLE_P predicate.
4861         (xtensa_preferred_output_reload_class): New function.
4862         (xtensa_secondary_reload): Make static.
4863
4864 2011-02-03  Joseph Myers  <joseph@codesourcery.com>
4865
4866         * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
4867         Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
4868         Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
4869
4870 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
4871
4872         PR middle-end/31490
4873         * output.h (SECTION_RELRO): Define.
4874         (SECTION_MACH_DEP): Adjust.
4875         (get_variable_section): New prototype.
4876         * varpool.c (varpool_finalize_named_section_flags): New function.
4877         (varpool_assemble_pending_decls): Call it.
4878         * cgraph.h (varpool_finalize_named_section_flags): New prototype.
4879         * cgraphunit.c (cgraph_output_in_order): Call
4880         varpool_finalize_named_section_flags.
4881         * varasm.c (get_section): Allow section flags conflicts between
4882         relro and read-only sections if the section hasn't been declared yet.
4883         Set SECTION_OVERRIDE after diagnosing section type conflict.
4884         (get_variable_section): No longer static.
4885         (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
4886         readonly sections that need relocations.
4887         (decl_readonly_section_1): New function.
4888         (decl_readonly_section): Use it.
4889
4890         Revert:
4891         2010-11-17  Dinar Temirbulatov  <dtemirbulatov@gmail.com>
4892                     Steve Ellcey  <sje@cup.hp.com>
4893
4894         PR middle-end/31490
4895         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
4896         if section attribute used.
4897
4898 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
4899
4900         * config/darwin.h (SECTION_NO_ANCHOR): Remove.
4901         * config/darwin.c (SECTION_NO_ANCHOR): Define.
4902         (darwin_init_sections): Remove assertion.
4903
4904 2011-02-03  Nick Clifton  <nickc@redhat.com>
4905
4906         * config/rx/predicates.md (rx_zs_comparison_operator): Remove
4907         lt and ge.
4908         * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
4909         * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
4910         instead of "n" and "pz".
4911         (flags_from_code): LT and GE tests need CC_FLAG_O as well as
4912         CC_FLAG_S.
4913
4914 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
4915
4916         PR target/47312
4917         * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
4918         fma, expand FMA_EXPR as fma{,f,l} call.
4919
4920         PR lto/47274
4921         * lto-streamer-out.c (write_symbol): When writing kind and visibility,
4922         copy them into a unsigned char variable and pass address of it to
4923         lto_output_data_stream.
4924
4925         PR target/47564
4926         * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
4927         around backend_init_target and lang_dependent_init_target calls.
4928         * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
4929         (verify_cgraph_node): Don't call set_cfun here.  Use
4930         cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
4931         Set error_found for incorrectly represented calls to thunks.
4932
4933 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
4934
4935         PR debug/43092
4936         PR rtl-optimization/43494
4937         * rtl.h (for_each_inc_dec_fn): New type.
4938         (for_each_inc_dec): Declare.
4939         * rtlanal.c (struct for_each_inc_dec_ops): New type.
4940         (for_each_inc_dec_find_inc_dec): New fn.
4941         (for_each_inc_dec_find_mem): New fn.
4942         (for_each_inc_dec): New fn.
4943         * dse.c (struct insn_size): Remove.
4944         (replace_inc_dec, replace_inc_dec_mem): Remove.
4945         (emit_inc_dec_insn_before): New fn.
4946         (check_for_inc_dec): Use it, along with for_each_inc_dec.
4947         (canon_address): Pass mem modes to cselib_lookup.
4948         * cselib.h (cselib_lookup): Add memmode argument.  Adjust callers.
4949         (cselib_lookup_from_insn): Likewise.
4950         (cselib_subst_to_values): Likewise.
4951         * cselib.c (find_slot_memmode): New var.
4952         (cselib_find_slot): New fn.  Use it instead of
4953         htab_find_slot_with_hash everywhere.
4954         (entry_and_rtx_equal_p): Use find_slot_memmode.
4955         (autoinc_split): New fn.
4956         (rtx_equal_for_cselib_p): Rename and implement in terms of...
4957         (rtx_equal_for_cselib_1): ... this.  Take memmode, pass it on.
4958         Deal with autoinc.  Special-case recursion into MEMs.
4959         (cselib_hash_rtx): Likewise.
4960         (cselib_lookup_mem): Infer pmode from address mode.  Distinguish
4961         address and MEM modes.
4962         (cselib_subst_to_values): Add memmode, pass it on.
4963         Deal with autoinc.
4964         (cselib_lookup): Add memmode argument, pass it on.
4965         (cselib_lookup_from_insn): Add memmode.
4966         (cselib_invalidate_rtx): Discard obsolete push_operand handling.
4967         (struct cselib_record_autoinc_data): New.
4968         (cselib_record_autoinc_cb): New fn.
4969         (cselib_record_sets): Use it, along with for_each_inc_dec.  Pass MEM
4970         mode to cselib_lookup.  Reset autoinced REGs here instead of...
4971         (cselib_process_insn): ... here.
4972         * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
4973         to cselib_lookup.
4974         (add_uses): Likewise, also to cselib_subst_to_values.
4975         (add_stores): Likewise.
4976         * sched-deps.c  (add_insn_mem_dependence): Pass mode to
4977         cselib_subst_to_values.
4978         (sched_analyze_1, sched_analyze_2): Likewise.  Adjusted.
4979         * gcse.c (do_local_cprop): Adjusted.
4980         * postreload.c (reload_cse_simplify_set): Adjusted.
4981         (reload_cse_simplify_operands): Adjusted.
4982         * sel-sched-dump (debug_mem_addr_value): Pass mode.
4983
4984 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
4985
4986         PR tree-optimization/45122
4987         * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
4988         unsafe assumptions when there's more than one loop exit.
4989
4990 2011-02-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
4991
4992         PR target/47272
4993         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
4994         Document using vector double with the load/store builtins, and
4995         that the load/store builtins always use Altivec instructions.
4996
4997         * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
4998         to use altivec memory instructions, even on VSX.
4999         (vector_altivec_store_<mode>): Ditto.
5000
5001         * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
5002         function.
5003
5004         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
5005         V2DF, V2DI support to load/store overloaded builtins.
5006
5007         * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
5008         altivec load/store builtins for V2DF/V2DI types.
5009
5010         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
5011         set avoid indexed addresses on power6 if -maltivec.
5012         (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
5013         vector_altivec_load/vector_altivec_store builtins.
5014         (altivec_expand_st_builtin): Ditto.
5015         (altivec_expand_builtin): Add VSX memory builtins.
5016         (rs6000_init_builtins): Add V2DI types to internal types.
5017         (altivec_init_builtins): Add support for V2DF/V2DI altivec
5018         load/store builtins.
5019         (rs6000_address_for_altivec): Insure memory address is appropriate
5020         for Altivec.
5021
5022         * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
5023         vec_vsx_ld and vec_vsx_st.
5024         (vsx_store_<mode>): Ditto.
5025
5026         * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
5027         variables to hold long long types for VSX vector memory builtins.
5028         (RS6000_BTI_unsigned_long_long): Ditto.
5029         (long_long_integer_type_internal_node): Ditti.
5030         (long_long_unsigned_type_internal_node): Ditti.
5031
5032         * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
5033         (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
5034         (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
5035
5036         * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
5037         short cuts.
5038         (vec_vsx_st): Ditto.
5039
5040 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
5041
5042         * config/pa/pa-hpux10.opt: New.
5043         * config/hpux11.opt (pthread): New Driver option.
5044         * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
5045         * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
5046
5047 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
5048
5049         * config/ia64/vms.opt: New.
5050         * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
5051
5052 2011-02-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
5053
5054         PR target/47580
5055         * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
5056         gpc_reg_operand instead of vsx_register_operand to match rs6000.md
5057         generator functions.
5058         (vsx_floatuns<VSi><mode>2): Ditto.
5059         (vsx_fix_trunc<mode><VSi>2): Ditto.
5060         (vsx_fixuns_trunc<mode><VSi>2): Ditto.
5061
5062 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
5063
5064         * config/i386/djgpp.opt (posix): New Driver option.
5065
5066 2011-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
5067
5068         * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
5069         Move to the unsupported targets list.
5070
5071 2011-02-02  Peter Bergner  <bergner@vnet.ibm.com>
5072
5073         PR rtl-optimization/47525
5074         * df-scan.c: Update copyright years.
5075         (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
5076         and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
5077
5078 2011-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5079
5080         * config/i386/sysv4.h (TARGET_VERSION): Remove.
5081         (SUBTARGET_RETURN_IN_MEMORY): Remove.
5082         (ASM_OUTPUT_ASCII): Remove.
5083         * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
5084
5085 2011-02-02  Jeff Law  <law@redhat.com>
5086
5087         PR middle-end/47543
5088         * reload.c (find_reloads_address): Handle reg+d address where both
5089         components are invalid by reloading the entire address.
5090
5091 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
5092             Richard Guenther  <rguenther@suse.de>
5093
5094         PR tree-optimization/40979
5095         PR bootstrap/47044
5096         * passes.c (init_optimization_passes): After LIM call copy_prop
5097         and DCE to clean up.
5098         * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
5099
5100 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
5101
5102         PR tree-optimization/47576
5103         PR tree-optimization/47555
5104         * doc/invoke.texi (scev-max-expr-complexity): Documented.
5105         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
5106         (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
5107         * tree-scalar-evolution.c (follow_ssa_edge): Use
5108         PARAM_SCEV_MAX_EXPR_COMPLEXITY.
5109
5110 2011-02-02  Richard Guenther  <rguenther@suse.de>
5111
5112         PR tree-optimization/47566
5113         * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
5114
5115 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
5116
5117         PR debug/47106
5118         PR debug/47402
5119         * tree-inline.c (declare_return_variable): Remove unused caller
5120         variable.
5121
5122         PR debug/47106
5123         PR debug/47402
5124         * tree-flow-inline.h (clear_is_used, is_used_p): New.
5125         * cfgexpand.c (account_used_vars_for_block): Use them.
5126         * tree-nrv.c (tree_nrv): Likewise.
5127         * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
5128         (dump_scope_block): Likewise.
5129         (remove_unused_locals): Likewise.
5130
5131         PR debug/47106
5132         PR debug/47402
5133         * tree-inline.c (declare_return_variable): Add result decl to
5134         local decls only once.
5135         * gimple-low.c (record_vars_into): Mark newly-created variables
5136         as referenced.
5137
5138 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
5139
5140         PR debug/47498
5141         PR debug/47501
5142         PR debug/45136
5143         PR debug/45130
5144         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
5145         debug insns.
5146         (no_real_insns_p, schedule_block, set_priorities): Drop special
5147         treatment of boundary debug insns.
5148         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
5149         * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
5150         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
5151         (BOUNDARY_DEBUG_INSN_P): Likewise.
5152         (SCHEDULE_DEBUG_INSN_P): Likewise.
5153         * sched-rgn.c (init_ready_list): Drop special treatment of
5154         boundary debug insns.
5155         * final.c (rest_of_clean_state): Clear notes' BB.
5156
5157 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
5158
5159         * config/openbsd.opt (assert=): New Driver option.
5160
5161 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
5162
5163         * config/i386/nto.opt: New.
5164         * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
5165
5166 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
5167
5168         * config/i386/netware.opt: New.
5169         * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
5170
5171 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
5172
5173         * config/interix.opt (posix): New Driver option.
5174
5175 2011-02-01  DJ Delorie  <dj@redhat.com>
5176
5177         * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
5178
5179         * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
5180         class for A0/A1.
5181
5182 2011-02-01  Sebastian Pop  <sebastian.pop@amd.com>
5183
5184         PR tree-optimization/47561
5185         * toplev.c (process_options): Print the Graphite flags.  Add
5186         flag_loop_flatten to the list of options requiring Graphite.
5187
5188 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
5189
5190         * config/i386/cygming.opt (posix): New Driver option.
5191
5192 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
5193
5194         * config/arm/vxworks.opt: New.
5195         * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
5196
5197 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
5198
5199         * config/alpha/elf.opt: New.
5200         * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
5201         alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
5202
5203 2011-02-01  Richard Guenther  <rguenther@suse.de>
5204
5205         PR tree-optimization/47559
5206         * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
5207         store-motion on references that can throw.
5208
5209 2011-02-01  Bernd Schmidt  <bernds@codesourcery.com>
5210
5211         * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
5212         * tree-pass.h (TDF_CSELIB): New macro.
5213         * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
5214         cselib_lookup): Check for it rather than for TDF_DETAILS.
5215
5216 2011-02-01  H.J. Lu  <hongjiu.lu@intel.com>
5217
5218         PR driver/47547
5219         * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
5220         is HOST_BIT_BUCKET.
5221
5222         * opts.c (finish_options): Don't add x_aux_base_name if it is
5223         HOST_BIT_BUCKET.
5224
5225 2011-02-01  Richard Guenther  <rguenther@suse.de>
5226
5227         PR tree-optimization/47555
5228         Revert
5229         2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
5230
5231         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
5232
5233 2011-02-01  Sebastien Bourdeauducq  <sebastien@milkymist.org>
5234
5235         PR gcc/46692
5236         * config/lm32/t-lm32: Add multilib for all CPU options.
5237
5238 2011-02-01  Richard Guenther  <rguenther@suse.de>
5239
5240         PR tree-optimization/47541
5241         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
5242         sure to have a field at offset zero.
5243
5244 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
5245
5246         * config/arc/arc.opt (EB, EL): New Driver options.
5247
5248 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
5249
5250         * config/alpha/osf5.opt: New.
5251         * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
5252
5253 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
5254
5255         * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
5256
5257 2011-01-31  Sebastian Pop  <sebastian.pop@amd.com>
5258
5259         * common.opt (ftree-loop-linear): Use Alias to make it an alias of
5260         -floop-interchange.
5261         * invoke.texi (-ftree-loop-linear): Make it clear that this flag
5262         is an alias of -floop-interchange and that it requires the
5263         Graphite infrastructure.
5264         * tree-ssa-loop.c (gate_graphite_transforms): Do not set
5265         flag_loop_interchange based on the value of flag_tree_loop_linear.
5266
5267 2011-01-31  Jakub Jelinek  <jakub@redhat.com>
5268             Richard Guenther  <rguenther@suse.de>
5269
5270         PR tree-optimization/47538
5271         * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
5272         type instead of r1type, except for comparisons.  For right
5273         shifts and comparisons punt if there are mismatches in
5274         sizetype vs. non-sizetype types.
5275
5276 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5277
5278         * doc/sourcebuild.texi (Effective-Target Keywords): Document
5279         avx_runtime.
5280
5281 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5282
5283         * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
5284         version number.
5285         * configure: Regenerate.
5286
5287 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5288
5289         * configure.ac (gcc_cv_ld_static_option): Define.
5290         (gcc_cv_ld_dynamic_option): Define.
5291         (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
5292         instead.
5293         (HAVE_LD_STATIC_DYNAMIC): Update message.
5294         (LD_STATIC_OPTION): Define.
5295         (LD_DYNAMIC_OPTION): Define.
5296         * configure: Regenerate.
5297         * config.in: Regenerate.
5298         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
5299         HAVE_LD_STATIC_DYNAMIC]: Use them.
5300
5301 2011-01-31  Nick Clifton  <nickc@redhat.com>
5302
5303         * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
5304         registers inside interrupt handlers if the handler is not a leaf
5305         function.
5306
5307 2011-01-31  Nick Clifton  <nickc@redhat.com>
5308
5309         * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
5310         reg_renumber returning an INVALID_REGNUM.
5311
5312 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
5313
5314         PR libgcj/44341
5315         * doc/install.texi: Document host options discarded when cross
5316         configuring target libraries.
5317
5318 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
5319
5320         Reverted:
5321         2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
5322         PR debug/45136
5323         PR debug/45130
5324         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
5325         debug insns.
5326         (no_real_insns_p, schedule_block, set_priorities): Drop special
5327         treatment of boundary debug insns.
5328         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
5329         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
5330         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
5331         (BOUNDARY_DEBUG_INSN_P): Likewise.
5332         (SCHEDULE_DEBUG_INSN_P): Likewise.
5333         * sched-rgn.c (init_ready_list): Drop special treatment of
5334         boundary debug insns.
5335         * final.c (rest_of_clean-state): Clear notes' BB.
5336
5337 2011-01-31  Alan Modra  <amodra@gmail.com>
5338
5339         * config/rs6000/rs6000.c (print_operand): Rearrange addends in
5340         toc relative expressions as we do in print_operand_address.
5341
5342 2011-01-30  Kazu Hirata  <kazu@codesourcery.com>
5343
5344         * doc/extend.texi: Follow spelling conventions.
5345         * doc/invoke.texi: Fix a typo.
5346
5347 2011-01-30  Joseph Myers  <joseph@codesourcery.com>
5348
5349         * config/hpux11.opt: New.
5350         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
5351         ia64*-*-hpux*): Use hpux11.opt.
5352
5353 2011-01-30  Jonathan Yong  <jon_y@users.sourceforge.net>
5354
5355         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
5356         to tmake_file.
5357
5358 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
5359
5360         * doc/install.texi (hppa-hp-hpux10): Remove references to HP
5361         support sites.
5362
5363 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
5364
5365         * doc/install.texi (Binaries): Remove outdated reference for
5366         Motorola 68HC11/68HC12 downloads.
5367
5368 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
5369
5370         * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
5371         Drepper's paper.
5372
5373 2011-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
5374
5375         PR bootstrap/47147
5376         * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
5377         used by NetBSD.
5378
5379 2011-01-28  Ahmad Sharif  <asharif@google.com>
5380
5381         * value-prof.c (check_counter): Corrected error message.
5382
5383 2011-01-29  Jie Zhang  <jie@codesourcery.com>
5384
5385         * config/arm/arm.c (arm_legitimize_reload_address): New.
5386         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
5387         arm_legitimize_reload_address.
5388         * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
5389
5390 2011-01-28  Ian Lance Taylor  <iant@google.com>
5391
5392         * godump.c (go_define): Ignore macros whose definitions include
5393         two adjacent operands.
5394
5395 2011-01-28  Jakub Jelinek  <jakub@redhat.com>
5396
5397         PR target/42894
5398         * varasm.c (force_const_mem): Store copy of x in desc->constant
5399         instead of x itself.
5400         * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
5401         itself into REG_EQUAL note.
5402
5403 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
5404
5405         * config/freebsd.opt (posix, rdynamic): New Driver options.
5406
5407 2011-01-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5408
5409         * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
5410         -Bstatic/-Bdynamic.
5411         * configure: Regenerate.
5412
5413 2011-01-27  Joseph Myers  <joseph@codesourcery.com>
5414
5415         * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
5416         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
5417
5418 2011-01-27  Anatoly Sokolov  <aesok@post.ru>
5419
5420         * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
5421         * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
5422         * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
5423         (s390_preferred_reload_class): Make static. Change return and
5424         'rclass' argument type to reg_class_t.
5425
5426 2011-01-27  Jan Hubicka  <jh@suse.cz>
5427
5428         PR middle-end/46949
5429         * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
5430         (process_function_and_variable_attributes): Check defined weakrefs.
5431
5432 2011-01-27  Martin Jambor  <mjambor@suse.cz>
5433
5434         PR tree-optimization/47228
5435         * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
5436         build_ref_for_offset.
5437
5438 2011-01-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5439
5440         * config/spu/spu-elf.h (ASM_SPEC): Remove.
5441
5442 2011-01-26  Mikael Pettersson  <mikpe@it.uu.se>
5443
5444         PR rtl-optimization/46856
5445         * postreload.c (reload_combine_recognize_const_pattern): Do not
5446         separate cc0 setter and user on cc0 targets.
5447
5448 2011-01-26  Nicola Pero  <nicola.pero@meta-innovation.com>
5449
5450         PR c/43082
5451         * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
5452         passed a VOID_TYPE expression, immediately emit an error and
5453         return error_mark_node.
5454
5455 2011-01-26  Jeff Law  <law@redhat.com>
5456
5457         PR rtl-optimization/47464
5458         * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
5459         rather than may_trap_p as needed.
5460
5461 2011-01-26  DJ Delorie  <dj@redhat.com>
5462
5463         PR rtl-optimization/46878
5464         * combine.c (insn_a_feeds_b): Check for the implicit cc0
5465         setter/user dependency as well.
5466
5467 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
5468
5469         PR rtl-optimization/44469
5470         * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
5471         after removing trivially dead basic blocks.
5472
5473 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
5474
5475         * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
5476         * config/frv/frv.h (LINK_SPEC): Likewise.
5477         * config/i386/netware.h (LINK_SPEC): Likewise.
5478         * config/m68k/linux.h (ASM_SPEC): Likewise.
5479         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
5480         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
5481         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
5482         * config/sparc/linux.h (ASM_SPEC): Likewise.
5483         * config/sparc/linux64.h (ASM_SPEC): Likewise.
5484         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
5485
5486 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
5487
5488         * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
5489         * config/frv/frv.h (ASM_SPEC): Likewise.
5490         * config/m68k/linux.h (ASM_SPEC): Likewise.
5491         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
5492         * config/rs6000/linux64.h (ASM_SPEC): Likewise.
5493         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
5494         * config/sparc/linux.h (ASM_SPEC): Likewise.
5495         * config/sparc/linux64.h (ASM_SPEC): Likewise.
5496         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
5497
5498 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
5499
5500         * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
5501         * config/frv/frv.h (LINK_SPEC): Likewise.
5502         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
5503
5504 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
5505
5506         * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
5507         * config/frv/frv.h (ASM_SPEC): Likewise.
5508         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
5509         * config/m68k/linux.h (ASM_SPEC): Likewise.
5510         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
5511         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
5512         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
5513         * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
5514         * config/sparc/linux.h (ASM_SPEC): Likewise.
5515         * config/sparc/linux64.h (ASM_SPEC): Likewise.
5516         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
5517         * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
5518
5519 2011-01-26  Steve Ellcey  <sje@cup.hp.com>
5520
5521         PR target/46997
5522         * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
5523         (*mux2): Ditto.
5524         (vec_extract_evenodd_help): Ditto.
5525         (vec_extract_evenv4hi): Ditto.
5526         (vec_extract_oddv4hi): Ditto.
5527         (vec_interleave_lowv2si): Ditto.
5528         (vec_interleave_highv2si): Ditto.
5529         (vec_extract_evenv2si): Ditto.
5530         (vec_extract_oddv2si: Ditto.
5531         (vec_pack_trunc_v2si): Ditto.
5532
5533 2011-01-22  Jan Hubicka  <jh@suse.cz>
5534
5535         PR target/47237
5536         * cgraph.h (cgraph_local_info): New field can_change_signature.
5537         * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
5538         signature can change.
5539         (ipcp_estimate_growth): Call sequence simplify only if calle signature
5540         can change.
5541         (ipcp_insert_stage): Only compute args_to_skip if signature can change.
5542         (cgraph_function_versioning): We can not change signature of functions
5543         that don't allow that.
5544         * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
5545         (lto_input_node): Likewise.
5546         * ipa-inline.c (compute_inline_parameters): Compute
5547         local.can_change_signature.
5548         * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
5549         * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
5550         functions that can not change signature.
5551         * i386.c (ix86_function_regparm, ix86_function_sseregparm,
5552         init_cumulative_args): Do not use local calling conventions
5553         for functions that can not change signature.
5554
5555 2011-01-22  Jan Hubicka  <jh@suse.cz>
5556
5557         * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
5558
5559 2011-01-26  Richard Guenther  <rguenther@suse.de>
5560
5561         PR tree-optimization/47190
5562         * cgraphunit.c (process_common_attributes): New function.
5563         (process_function_and_variable_attributes): Use it.
5564
5565 2011-01-26  Richard Guenther  <rguenther@suse.de>
5566
5567         PR lto/47423
5568         * cgraphbuild.c (record_eh_tables): Record reference to personality
5569         function.
5570
5571 2011-01-26  Alexandre Oliva  <aoliva@redhat.com>
5572
5573         PR debug/45454
5574         * sel-sched.c (moveup_expr): Don't let debug insns prevent
5575         non-debug insns from moving up.
5576
5577 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
5578
5579         PR target/40125
5580         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
5581         t-dlldir{,-x} fragment for build and add it to tmake_file.
5582         (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
5583         * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
5584         * config/i386/t-dlldir: New file.
5585         (SHLIB_DLLDIR): Define.
5586         * config/i386/t-dlldir-x: New file.
5587         (SHLIB_DLLDIR): Define.
5588         * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
5589         (SHLIB_INSTALL): Use it.
5590
5591 2011-01-26  Chung-Lin Tang  <cltang@codesourcery.com>
5592
5593         PR target/47246
5594         * config/arm/arm.c (thumb2_legitimate_index_p): Change the
5595         lower bound of the allowed Thumb-2 coprocessor load/store
5596         index range to -256. Add explaining comment.
5597
5598 2011-01-25  Ian Lance Taylor  <iant@google.com>
5599
5600         * godump.c (go_define): Improve lexing of macro expansion to only
5601         accept expressions which match Go spec.
5602
5603 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
5604
5605         PR c++/43601
5606         * tree.c (handle_dll_attribute): Handle it.
5607         * doc/extend.texi (@item dllexport): Mention it.
5608         * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
5609
5610 2011-01-25  Ian Lance Taylor  <iant@google.com>
5611
5612         PR tree-optimization/26854
5613         * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
5614         (decl_jump_unsafe): Move higher in file, with no other change.
5615         (bind): Set has_jump_unsafe_decl if appropriate.
5616         (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
5617         (check_earlier_gotos): Likewise.
5618         (c_check_switch_jump_warnings): Likewise.
5619
5620 2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
5621
5622         * doc/invoke.texi (Warning Options): Add missing hyphen.
5623         (-fprofile-dir): Minor grammatical fixes.
5624         (-fbranch-probabilities): Likewise.
5625
5626 2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
5627
5628         PR debug/45136
5629         PR debug/45130
5630         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
5631         debug insns.
5632         (no_real_insns_p, schedule_block, set_priorities): Drop special
5633         treatment of boundary debug insns.
5634         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
5635         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
5636         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
5637         (BOUNDARY_DEBUG_INSN_P): Likewise.
5638         (SCHEDULE_DEBUG_INSN_P): Likewise.
5639         * sched-rgn.c (init_ready_list): Drop special treatment of
5640         boundary debug insns.
5641         * final.c (rest_of_clean-state): Clear notes' BB.
5642
5643 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5644
5645         * Makefile.in (LAMBDA_H): Removed.
5646         (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
5647         (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
5648         lambda-trans.o, and tree-loop-linear.o.
5649         (lto-symtab.o): Remove dependence on LAMBDA_H.
5650         (tree-loop-linear.o): Remove rule.
5651         (lambda-mat.o): Same.
5652         (lambda-trans.o): Same.
5653         (lambda-code.o): Same.
5654         (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
5655         (tree-vect-slp.o): Same.
5656         * hwint.h (gcd): Moved here.
5657         (least_common_multiple): Same.
5658         * lambda-code.c: Removed.
5659         * lambda-mat.c: Removed.
5660         * lambda-trans.c: Removed.
5661         * lambda.h: Removed.
5662         * tree-loop-linear.c: Removed.
5663         * lto-symtab.c: Do not include lambda.h.
5664         * omega.c (gcd): Removed.
5665         * passes.c (init_optimization_passes): Remove pass_linear_transform.
5666         * tree-data-ref.c (print_lambda_vector): Moved here.
5667         (lambda_vector_copy): Same.
5668         (lambda_matrix_copy): Same.
5669         (lambda_matrix_id): Same.
5670         (lambda_vector_first_nz): Same.
5671         (lambda_matrix_row_add): Same.
5672         (lambda_matrix_row_exchange): Same.
5673         (lambda_vector_mult_const): Same.
5674         (lambda_vector_negate): Same.
5675         (lambda_matrix_row_negate): Same.
5676         (lambda_vector_equal): Same.
5677         (lambda_matrix_right_hermite): Same.
5678         * tree-data-ref.h: Do not include lambda.h.
5679         (lambda_vector): Moved here.
5680         (lambda_matrix): Same.
5681         (dependence_level): Same.
5682         (lambda_transform_legal_p): Removed declaration.
5683         (lambda_collect_parameters): Same.
5684         (lambda_compute_access_matrices): Same.
5685         (lambda_vector_gcd): Same.
5686         (lambda_vector_new): Same.
5687         (lambda_vector_clear): Same.
5688         (lambda_vector_lexico_pos): Same.
5689         (lambda_vector_zerop): Same.
5690         (lambda_matrix_new): Same.
5691         * tree-flow.h (least_common_multiple): Removed declaration.
5692         * tree-parloops.c (lambda_trans_matrix): Moved here.
5693         (LTM_MATRIX): Same.
5694         (LTM_ROWSIZE): Same.
5695         (LTM_COLSIZE): Same.
5696         (LTM_DENOMINATOR): Same.
5697         (lambda_trans_matrix_new): Same.
5698         (lambda_matrix_vector_mult): Same.
5699         (lambda_transform_legal_p): Same.
5700         * tree-pass.h (pass_linear_transform): Removed declaration.
5701         * tree-ssa-loop.c (tree_linear_transform): Removed.
5702         (gate_tree_linear_transform): Removed.
5703         (pass_linear_transform): Removed.
5704         (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
5705         flag_loop_interchange.
5706
5707 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
5708
5709         PR tree-optimization/47265
5710         PR tree-optimization/47443
5711         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
5712         if name still has some uses.
5713
5714 2011-01-25  Martin Jambor  <mjambor@suse.cz>
5715
5716         PR tree-optimization/47382
5717         * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
5718         (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
5719
5720 2011-01-25  Joel Sherrill  <joel.sherrill@oarcorp.com>
5721
5722         * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
5723         sjlj_except_unwind_info.
5724
5725 2011-01-25  Richard Guenther  <rguenther@suse.de>
5726
5727         PR tree-optimization/47426
5728         * tree-ssa-structalias.c (ipa_pta_execute): Make externally
5729         visible functions results escape.
5730
5731 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
5732
5733         PR target/45701
5734         * config/arm/arm.c (any_sibcall_uses_r3): New function.
5735         (arm_get_frame_offsets): Use it.
5736
5737 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5738             Jakub Jelinek  <jakub@redhat.com>
5739
5740         PR tree-optimization/47271
5741         * tree-if-conv.c (bb_postdominates_preds): New.
5742         (if_convertible_bb_p): Call bb_postdominates_preds.
5743         (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
5744         (predicate_scalar_phi): Call bb_postdominates_preds.
5745
5746 2011-01-25  Nick Clifton  <nickc@redhat.com>
5747
5748         * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
5749         * config/rx/rx.c (rx_function_value): Likewise.
5750         (rx_promote_function_mode): Likewise.
5751         (gen_safe_add): Place an outsized immediate value inside an UNSPEC
5752         in order to make it legitimate.
5753         * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
5754         make sure that the first operand is the same as the result register.
5755         (addsi3_unspec): Delete.
5756         (subdi3): Do not accept immediate operands.
5757         (subdi3_internal): Likewise.
5758
5759 2011-01-25  Jeff Law  <law@redhat.com>
5760
5761         PR rtl-optimization/37273
5762         * ira-costs.c (scan_one_insn): Detect constants living in memory and
5763         handle them like argument loads from stack slots.  Do not double
5764         count memory for memory constants and argument loads from stack slots.
5765
5766 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
5767
5768         PR tree-optimization/47427
5769         PR tree-optimization/47428
5770         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
5771         coalesce if the new root var would be TREE_READONLY.
5772
5773 2011-01-25  Richard Guenther  <rguenther@suse.de>
5774
5775         PR middle-end/47414
5776         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
5777         correct type for TBAA.
5778
5779 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5780
5781         * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
5782         (close_phi_written_to_memory): Call for_each_index with
5783         dr_indices_valid_in_loop.
5784
5785 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5786
5787         * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
5788         when it is initialized.
5789
5790 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5791
5792         * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
5793         call to graphite_find_data_references_in_stmt.
5794         * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
5795         (try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
5796         call to graphite_find_data_references_in_stmt.
5797         (analyze_drs_in_stmts): Same.
5798         * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
5799         in which the scalar analysis of indices is performed.
5800         (create_data_ref): Same.  Update call to dr_analyze_indices.
5801         (find_data_references_in_stmt): Update call to create_data_ref.
5802         (graphite_find_data_references_in_stmt): Same.
5803         * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
5804         declaration.
5805         (create_data_ref): Same.
5806         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
5807         call to create_data_ref.
5808
5809 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5810
5811         * graphite-sese-to-poly.c (build_poly_scop): Move
5812         rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
5813
5814 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5815
5816         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
5817         VAR_DECL, PARM_DECL, and RESULT_DECL.
5818
5819 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5820
5821         * graphite-dependences.c (reduction_dr_1): Allow several reductions
5822         in a reduction PBB.
5823         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
5824         that have already been marked as PBB_IS_REDUCTION.
5825
5826 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5827
5828         * graphite-scop-detection.c (same_close_phi_node): New.
5829         (remove_duplicate_close_phi): New.
5830         (make_close_phi_nodes_unique): New.
5831         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
5832
5833 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5834
5835         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
5836         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
5837         of both data references to be the same.
5838
5839 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5840
5841         * graphite-dependences.c (build_lexicographical_constraint): Remove
5842         the gdim parameter.
5843         (build_lexicographical_constraint): Adjust call to
5844         ppl_powerset_is_empty.
5845         (dependence_polyhedron): Same.
5846         (graphite_legal_transform_dr): Same.
5847         (graphite_carried_dependence_level_k): Same.
5848         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
5849         parameter.
5850         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
5851
5852 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5853
5854         * graphite-sese-to-poly.c
5855         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
5856         (close_phi_written_to_memory): New.
5857         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
5858         and unshare_expr.
5859
5860 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5861
5862         * doc/install.texi: Update the expected version number of PPL to 0.11.
5863         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
5864         #if PPL_VERSION_MINOR < 11.
5865
5866 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5867
5868         * graphite-dependences.c: Include graphite-cloog-util.h.
5869         (new_poly_ddr): Inlined into dependence_polyhedron.
5870         (free_poly_ddr): Moved close by new_poly_ddr.
5871         (dependence_polyhedron_1): Renamed dependence_polyhedron.
5872         Early return NULL when ppl_powerset_is_empty returns true.
5873         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
5874         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
5875         (graphite_legal_transform_dr): Call new_poly_ddr.
5876         (graphite_carried_dependence_level_k): Same.
5877         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
5878         (dot_transformed_deps_stmt_1): Removed.
5879         (dot_deps_stmt_1): Call dot_deps_stmt_2.
5880         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
5881         (dot_deps_1): Call dot_deps_2.
5882         * Makefile.in (graphite-dependences.o): Add missing dependence on
5883         graphite-cloog-util.h.
5884
5885 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5886
5887         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
5888         (build_lexicographical_constraint): Same.
5889         (dependence_polyhedron_1): Same.
5890         (graphite_legal_transform_dr): Same.
5891         (graphite_carried_dependence_level_k): Same.
5892         * graphite-ppl.c (ppl_powerset_is_empty): New.
5893         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
5894         * tree-data-ref.c (dump_data_reference): Print the basic block index.
5895
5896 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5897
5898         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
5899         the "a followed by b" relation and document it.
5900
5901 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5902
5903         * graphite-dependences.c (build_lexicographical_constraint): Stop the
5904         iteration when the bag of constraints is empty.
5905
5906 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5907
5908         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
5909
5910 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5911
5912         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
5913         nest and two loop depths as parameters.
5914         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
5915         lst_perfect_nestify.
5916
5917 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5918
5919         * graphite-dependences.c (print_pddr): Call
5920         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
5921
5922 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5923
5924         * graphite-ppl.c (debug_gmp_value): New.
5925         * graphite-ppl.h (debug_gmp_value): Declared.
5926
5927 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
5928
5929         * doc/install.texi: Document availability of cloog-0.16.
5930
5931 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
5932
5933         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
5934         invalid postdominance info.
5935
5936 2011-01-24  Jan Hubicka  <jh@suse.cz>
5937
5938         PR c/21659
5939         * doc/extend.texi (weak pragma): Drop claim that it must
5940         appear before definition.
5941         * varasm.c (merge_weak, declare_weak): Only sanity check
5942         that DECL is not output at a time it is declared weak.
5943
5944 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
5945
5946         * machmode.def: Fixed comments.
5947
5948 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
5949
5950         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
5951
5952 2011-01-24  Paul Koning  <ni1d@arrl.net>
5953
5954         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
5955         WORDS_BIG_ENDIAN.
5956
5957 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
5958
5959         PR target/46519
5960         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
5961         (block_info): Add scanned and prev.
5962         (move_or_delete_vzeroupper_2): Return if the basic block
5963         has been scanned and the upper 128bit state is unchanged
5964         from the last scan.
5965         (move_or_delete_vzeroupper_1): Return true if the exit
5966         state is changed.
5967         (move_or_delete_vzeroupper): Visit basic blocks using the
5968         work-list based algorithm based on vt_find_locations in
5969         var-tracking.c.
5970
5971         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
5972
5973 2011-01-24  Nick Clifton  <nickc@redhat.com>
5974
5975         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
5976         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
5977         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
5978         then define __v850e1__.
5979         * doc/invoke.texi: Document -mv850es.
5980
5981 2011-01-24  Richard Henderson  <rth@redhat.com>
5982
5983         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
5984         compound unordered comparisons.
5985         * config/rx/rx.c (rx_split_fp_compare): Remove.
5986         * config/rx/rx-protos.h: Update.
5987         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
5988         (cbranchsf4): Don't call rx_split_fp_compare.
5989         (*cbranchsf4): Use rx_split_cbranch.
5990         (*cmpsf): Don't accept "i" constraint.
5991         (*conditional_branch): Only valid after reload.
5992         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
5993
5994 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
5995
5996         PR target/47385
5997         * config/rs6000/altivec.md (vector constant splitters): Add
5998         support for creating vector single precision constants if -mvsx is
5999         used and we would create the constant using Altivec primitives.
6000
6001 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
6002             Richard Sandiford  <rdsandiford@googlemail.com>
6003
6004         PR rtl-optimization/47166
6005         * reload1.c (emit_reload_insns): Disable the spill_reg_store
6006         mechanism for PRE_MODIFY and POST_MODIFY.
6007         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
6008         reloadreg.
6009
6010 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
6011
6012         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
6013
6014 2011-01-22  Jan Hubicka  <jh@suse.cz>
6015
6016         PR lto/47333
6017         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
6018
6019 2011-01-22  Jan Hubicka  <jh@suse.cz>
6020
6021         PR tree-optimization/43884
6022         PR lto/44334
6023         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
6024         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
6025
6026 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
6027
6028         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
6029         * config/s390/s390.c (s390_register_move_cost,
6030         s390_memory_move_cost): New.
6031         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
6032
6033 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6034
6035         PR middle-end/47401
6036         * except.c (sjlj_assign_call_site_values): Move setting the
6037         crtl->uses_eh_lsda flag to ...
6038         (sjlj_mark_call_sites): ... here.
6039         (sjlj_emit_function_enter): Support NULL dispatch label.
6040         (sjlj_build_landing_pads): In a function with no landing pads
6041         that still has must-not-throw regions, generate code to register
6042         a personality function with empty LSDA.
6043
6044 2011-01-21  Richard Henderson  <rth@redhat.com>
6045
6046         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
6047
6048         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
6049
6050         * compare-elim.c: New file.
6051         * Makefile.in (OBJS-common): Add it.
6052         (compare-elim.o): New.
6053         * common.opt (fcompare-elim): New.
6054         * opts.c (default_options_table): Add OPT_fcompare_elim.
6055         * tree-pass.h (pass_compare_elim_after_reload): New.
6056         * passes.c (init_optimization_passes): Add it.
6057         * recog.h: Protect against re-inclusion.
6058         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
6059         * doc/invoke.texi (-fcompare-elim): Document it.
6060         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
6061         * doc/tm.texi: Rebuild.
6062
6063 2011-01-22  Nick Clifton  <nickc@redhat.com>
6064
6065         * config/rx/rx.md (cstoresf4): Pass comparison operator to
6066         rx_split_fp_compare.
6067
6068 2011-01-22  Nick Clifton  <nickc@redhat.com>
6069
6070         * config/rx/rx.md (UNSPEC_CONST): New.
6071         (deallocate_and_return): Wrap the amount popped off the stack in
6072         an UNSPEC_CONST in order to stop it being rejected by
6073         -mmax-constant-size.
6074         (pop_and_return): Add a "(return)" rtx.
6075         (call): Drop the immediate operand.
6076         (call_internal): Likewise.
6077         (call_value): Likewise.
6078         (call_value_internal): Likewise.
6079         (sibcall_internal): Likewise.
6080         (sibcall_value_internal): Likewise.
6081         (sibcall): Likewise.  Generate an explicit call using
6082         sibcall_internal.
6083         (sibcall_value): Likewise.
6084         (mov<>): FAIL if a constant operand is not legitimate.
6085         (addsi3_unpsec): New pattern.
6086
6087         * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
6088         (ok_for_max_constant): New function.
6089         (gen_safe_add): New function.
6090         (rx_expand_prologue): Use gen_safe_add.
6091         (rx_expand_epilogue): Likewise.
6092         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
6093         UNSPEC CONSTs.
6094
6095 2011-01-21  Jeff Law  <law@redhat.com>
6096
6097         PR tree-optimization/47053
6098         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
6099         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
6100         statements are deleted.
6101         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
6102         is nonempty, then purge dead edges and cleanup the CFG.
6103
6104 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
6105
6106         PR debug/47402
6107         Temporarily revert:
6108         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
6109         PR debug/47106
6110         * tree-dfa.c (create_var_ann): Mark variable as used.
6111
6112 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
6113
6114         PR middle-end/45566
6115         * except.c (convert_to_eh_region_ranges): Emit queued no-region
6116         notes from other section in hot/cold partitioning even if
6117         last_action is -3.  Increment call_site_base.
6118
6119         PR rtl-optimization/47366
6120         * fwprop.c (forward_propagate_into): Return bool.  If
6121         any changes are made, -fnon-call-exceptions is used and
6122         REG_EH_REGION note is present, call purge_dead_edges
6123         and return true if it purged anything.
6124         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
6125         any EH edges were purged.
6126
6127 2011-01-21  Jeff Law  <law@redhat.com>
6128
6129         PR rtl-optimization/41619
6130         * caller-save.c (setup_save_areas): Break out code to determine
6131         which hard regs are live across calls by examining the reload chains
6132         so that it is always used.
6133         Eliminate code which checked REG_N_CALLS_CROSSED.
6134
6135 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
6136
6137         PR tree-optimization/47355
6138         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
6139         NOP has non-debug uses beyond PHIs in new_bb.
6140
6141 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
6142
6143         PR debug/47106
6144         * cfgexpand.c (account_used_vars_for_block): Only account vars
6145         that are annotated as used.
6146         (estimated_stack_frame_size): Don't set TREE_USED.
6147         * tree-dfa.c (create_var_ann): Mark variable as used.
6148
6149 2011-01-21  Richard Guenther  <rguenther@suse.de>
6150
6151         PR middle-end/47395
6152         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
6153
6154 2011-01-21  Richard Guenther  <rguenther@suse.de>
6155
6156         PR tree-optimization/47365
6157         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
6158         (vn_reference_lookup_pieces): Adjust.
6159         (vn_reference_lookup): Likewise.
6160         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
6161         (vn_reference_lookup_3): Only look through kills if in
6162         VN_WALKREWRITE mode.
6163         (vn_reference_lookup_pieces): Adjust.
6164         (vn_reference_lookup): Likewise.
6165         (visit_reference_op_load): Likewise.
6166         (visit_reference_op_store): Likewise.
6167         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
6168         (compute_avail): Likewise.
6169         (eliminate): Likewise.
6170
6171 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
6172
6173         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
6174         DECL_IGNORED_P non-reg vars if they are used.
6175
6176         PR tree-optimization/47391
6177         * varpool.c (const_value_known_p): Return false if
6178         decl is volatile.
6179
6180 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
6181
6182         PR bootstrap/47215
6183         * config/i386/i386.c (ix86_local_alignment): Handle
6184         case for va_list_type_node is nil.
6185         (ix86_canonical_va_list_type): Likewise.
6186
6187 2011-01-21  Alan Modra  <amodra@gmail.com>
6188
6189         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
6190         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
6191
6192 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
6193
6194         * config/arm/arm.md (define_attr type): Rename f_load
6195         and f_store to f_fpa_load and f_fpa_store. Update.
6196         (write_conflict): Deal with rename fallout.
6197         (*push_fp_multi): Likewise.
6198         * config/arm/fpa.md (f_load): Use f_fpa_load.
6199         (f_store): Use f_fpa_store.
6200         (*movsf_fpa): Likewise.
6201         (*movdf_fpa): Likewise.
6202         (*movxf_fpa): Likewise.
6203         (*thumb2_movsf_fpa): Likewise.
6204         (*thumb2_movdf_fpa): Likewise.
6205         (*thumb2_movxf_fpa): Likewise.
6206         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
6207         f_loadd and f_stored.
6208         (*thumb2_movdi_vfp): Likewise.
6209         (*thumb2_movsf_vfp): Fix attribute to f_loads.
6210         (*thumb2_movsi_vfp): Likewise.
6211         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
6212         Use f_loads instead of f_load.
6213         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
6214
6215 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
6216
6217         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
6218         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
6219         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
6220         (xtensa_mode_dependent_address_p): New function.
6221         (constantpool_address_p): Make static. Change return type to bool.
6222         Change argument type to const_rtx. Use CONST_INT_P predicate.
6223
6224 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
6225
6226         PR debug/46583
6227         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
6228
6229 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
6230
6231         PR debug/47283
6232         * cfgexpand.c (expand_debug_expr): Instead of generating
6233         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
6234         etc. handling.
6235
6236 2011-01-20  Richard Guenther  <rguenther@suse.de>
6237
6238         PR middle-end/47370
6239         * tree-inline.c (remap_gimple_op_r): Recurse manually for
6240         the pointer operand of MEM_REFs.
6241
6242 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
6243
6244         PR tree-optimization/46130
6245         * ipa-split.c (consider_split): If return_bb contains non-virtual
6246         PHIs other than for retval or if split_function would not adjust it,
6247         refuse to split.
6248
6249 2011-01-20  Richard Guenther  <rguenther@suse.de>
6250
6251         PR tree-optimization/47167
6252         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
6253         Revert previous change, only avoid enumeral type changes.
6254
6255 2011-01-19  Mike Stump  <mikestump@comcast.net>
6256
6257         * doc/tm.texi.in (BRANCH_COST): Englishify.
6258         * doc/tm.texi (BRANCH_COST): Likewise.
6259
6260 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
6261
6262         PR c++/47291
6263         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
6264         (gen_scheduled_generic_parms_dies): New functions.
6265         (gen_struct_or_union_type_die): Schedule template parameters DIEs
6266         generation for the end of CU compilation.
6267         (dwarf2out_finish): Generate template parameters DIEs here.
6268
6269 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
6270
6271         PR debug/46240
6272         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
6273         debug bind stmt on merge edges.
6274
6275 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
6276
6277         PR debug/47079
6278         PR debug/46724
6279         * function.c (instantiate_expr): Instantiate incoming rtl of
6280         implicit arguments, and recurse on VALUE_EXPRs.
6281         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
6282         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
6283
6284 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
6285
6286         * c-parser.c (c_parser_for_statement): Initialize
6287         collection_expression.
6288
6289 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
6290
6291         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
6292
6293 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
6294
6295         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
6296         (LINK_SHLIB_SPEC): Don't use %(link_path).
6297         (SUBTARGET_EXTRA_SPECS): Remove link_path.
6298
6299 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
6300
6301         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
6302         (NO_SHARED_LIB_SUPPORT): Remove.
6303         (LINK_SHLIB_SPEC): Remove one conditional definition.
6304
6305 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
6306
6307         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
6308         %{call_shared}.
6309         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
6310         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
6311         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
6312         %{call_shared} and conditionals on these options not being passed.
6313         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
6314         %{call_shared}.
6315
6316 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
6317
6318         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
6319         simplify.
6320
6321         * ipa-split.c: Spelling fixes.
6322
6323 2011-01-19  Richard Henderson  <rth@redhat.com>
6324
6325         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
6326         (*mulsi3): Likewise.
6327
6328         * longlong.h [__mn10300__] (count_leading_zeros): New.
6329         [__mn10300__] (umul_ppmm, smul_ppmm): New.
6330         [__mn10300__] (add_ssaaaa, subddmmss): New.
6331         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
6332         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
6333
6334 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6335
6336         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
6337
6338 2011-01-19  Richard Henderson  <rth@redhat.com>
6339
6340         * config/mn10300/mn10300.md (addsi3_flags): New.
6341         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
6342         (subsi3_flags, subc_internal, subdi3): New.
6343         (subdi3_internal, *subdi3_degenerate): New.
6344         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
6345
6346         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
6347         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
6348         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
6349         * config/mn10300/mn10300-protos.h: Update.
6350         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
6351         (return_ret): Likewise.  Rename from return_internal_regs.
6352         (return_internal): Remove.
6353
6354         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
6355         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
6356         (mn10300_legitimate_constant_p): Likewise.
6357         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
6358         (mn10300_frame_size): New.
6359         (mn10300_expand_prologue): Use it.
6360         (mn10300_expand_epilogue): Likewise.
6361         (mn10300_initial_offset): Likewise.
6362         * config/mn10300/mn10300-protos.h: Update.
6363         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
6364         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
6365         (prologue, epilogue, return_internal): Tidy output code.
6366         (mn10300_store_multiple_operation, return): Likewise.
6367         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
6368         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
6369         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
6370         (load_pic, am33_load_pic): New.
6371         (mn10300_load_pic0, mn10300_load_pic1): New.
6372
6373         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
6374         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
6375         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
6376         (cc_flags_for_mode, cc_flags_for_code): New.
6377         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
6378         overflow flag is not valid.  Validate that the flags we need
6379         for the comparison are valid.
6380         (mn10300_output_cmp): Remove.
6381         (mn10300_output_add): New.
6382         (mn10300_select_cc_mode): Use cc_flags_for_code.
6383         (mn10300_split_cbranch): New.
6384         (mn10300_match_ccmode): New.
6385         (mn10300_split_and_operand_count): New.
6386         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
6387         to the function.
6388         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
6389         (addsi3): ... here.  Use mn10300_output_add.
6390         (*addsi3_flags): New.
6391         (*am33_subsi3, *mn10300_subsi3): Merge...
6392         (subsi3): ... here.  Use attribute isa.
6393         (*subsi3_flags): New.
6394         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
6395         when possible.
6396         (*am33_andsi3, *mn10300_andsi3): Merge...
6397         (andsi3): ... here.
6398         (*andsi3_flags): New.
6399         (andsi3 splitters): New.
6400         (*am33_iorsi3, *mn10300_iorsi3): Merge...
6401         (iorsi3): ... here.
6402         (*iorsi3_flags): New.
6403         (*am33_xorsi3, *mn10300_xorsi3): Merge...
6404         (xorsi3): ... here.
6405         (*xorsi3_flags): New.
6406         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
6407         (one_cmplsi2): ... here.
6408         (*one_cmplsi2_flags): New.
6409         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
6410         instead of "dax" in constraints.  Use mn10300_split_cbranch.
6411         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
6412         use matching constraints to eliminate a self-comparison.
6413         (*integer_conditional_branch): Rename from integer_conditional_branch.
6414         Use int_mode_flags to match CC_REG.
6415         (*cbranchsi4_btst, *btstsi): New.
6416         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
6417         mn10300_split_cbranch.
6418         (*am33_cmpsf): Rename from am33_cmpsf.
6419         (*float_conditional_branch): Rename from float_conditional_branch.
6420         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
6421         (zero_extendqisi2): ... here.
6422         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
6423         (zero_extendhisi2): ... here.
6424         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
6425         (extendqisi2): ... here.
6426         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
6427         (extendhisi2): ... here.
6428         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
6429         (ashlsi3): ... here.
6430         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
6431         (lshrsi3): ... here.
6432         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
6433         (ashrsi3): ... here.
6434         (consecutive add peephole): Remove.
6435         * config/mn10300/predicates.md (label_ref_operand): New.
6436         (int_mode_flags): New.
6437         (CCZN_comparison_operator): New.
6438
6439         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
6440         (throughput_42_latency_43): New reservation.
6441         (mulsidi3, umulsidi3): New expanders.
6442         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
6443         the MDR register to allocation; separately allocate the low and
6444         high parts of the DImode result.
6445         (umulsidi3_internal): Similarly.
6446         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
6447         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
6448         (udivsi3, umodsi3): Remove.
6449         (udivmodsi4, divmodsi4): New expanders.
6450         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
6451         (*divmodsi4): Simiarly.
6452         (ext_internal): New.
6453
6454         * config/mn10300/constraints.md ("z"): New constraint.
6455         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
6456         (FIXED_REGISTERS): Don't fix MDR.
6457         (CALL_USED_REGSITERS): Reformat nicely.
6458         (REG_ALLOC_ORDER): Add MDR.
6459         (enum regclass): Add MDR_REGS.
6460         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
6461         (IRA_COVER_CLASSES): Add MDR_REGS.
6462         (REGNO_REG_CLASS): Handle MDR_REG.
6463         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
6464         (mn10300_register_move_cost): Likewise.
6465         * config/mn10300/mn10300.md (MDR_REG): New.
6466         (*movsi_internal): Handle moves to/from MDR_REGS.
6467
6468         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
6469         POST_MODIFY.
6470         (mn10300_secondary_reload): Tidy combination reload classes.
6471         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
6472         addresses for AM33.  Allow symbolic offsets for reg+imm.
6473         (mn10300_regno_in_class_p): New.
6474         (mn10300_legitimize_reload_address): New.
6475         * config/mn10300/mn10300.h (enum reg_class): Remove
6476         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
6477         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
6478         SP_OR_GENERAL_REGS.
6479         (REG_CLASS_NAMES): Update to match.
6480         (REG_CLASS_CONTENTS): Likewise.
6481         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
6482         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
6483         (REGNO_IN_RANGE_P): Remove.
6484         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
6485         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
6486         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
6487         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
6488         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
6489         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
6490         (REGNO_GENERAL_P): New.
6491         (HAVE_POST_MODIFY_DISP): New.
6492         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
6493         (LEGITIMIZE_RELOAD_ADDRESS): New.
6494         * config/mn10300/mn10300-protos.h: Update.
6495
6496         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
6497         DATA_REGS for AM33 stack-pointer destination.
6498         (mn10300_preferred_output_reload_class): Likewise.
6499         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
6500         into a form appropriate for ...
6501         (TARGET_SECONDARY_RELOAD): New.
6502         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
6503         * config/mn10300/mn10300-protos.h: Update.
6504         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
6505         reload_insi; use the "A" constraint for the scratch; handle AM33
6506         moves of sp to non-address registers.
6507
6508         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
6509         (*movqi_internal): ... here.
6510         (*am33_movhi, *mn10300_movhi): Merge into...
6511         (*movhi_internal): ... here.
6512         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
6513         as the source/destination of moves from/to SP.
6514         (movsf): Only allow for AM33-2.
6515         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
6516         any integer constant constraint.  Only allow for AM33-2.  Tidy
6517         all of the alternative outputs.
6518         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
6519         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
6520         for MN103.
6521         (udivsi3, umodsi3): New patterns for MN103 only.
6522
6523 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
6524
6525         * doc/tm.texi.in: Spell out that a lack of register class unions
6526         can lead to ICEs.
6527         * doc/tm.texi: Regenerate.
6528
6529 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
6530
6531         PR rtl-optimization/47337
6532         * dce.c (check_argument_store): New function.
6533         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
6534
6535         PR tree-optimization/47290
6536         * tree-eh.c (infinite_empty_loop_p): New function.
6537         (cleanup_empty_eh): Use it.
6538
6539 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
6540
6541         PR target/46997
6542         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
6543         (a64_expand_widen_sum): Ditto.
6544         * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
6545         (vec_extract_evenodd_help): Ditto.
6546         (vec_extract_evenv4hi): Ditto.
6547         (vec_extract_oddv4hi): Ditto.
6548         (vec_extract_evenv2si): Ditto.
6549         (vec_extract_oddv2si): Ditto.
6550         (vec_extract_evenv2sf): Ditto.
6551         (vec_extract_oddv2sf): Ditto.
6552         (vec_pack_trunc_v4hi: Ditto.
6553         (vec_pack_trunc_v2si): Ditto.
6554         (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
6555         (vec_interleave_highv8qi): Ditto.
6556         (mix1_r): Ditto.
6557         (vec_extract_oddv8qi): Ditto.
6558         (vec_interleave_lowv4hi): Ditto.
6559         (vec_interleave_highv4hi): Ditto.
6560         (vec_interleave_lowv2si): Ditto.
6561         (vec_interleave_highv2si): Ditto.
6562
6563 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6564
6565         * doc/extend.texi: Mention __float128 support on hppa HP-UX.
6566         * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
6567         * config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
6568         (pa_c_mode_for_suffix): New.
6569         (TARGET_EXPAND_BUILTIN): Define.
6570         (TARGET_C_MODE_FOR_SUFFIX): Define.
6571         (pa_builtins): Define.
6572         (pa_init_builtins): Register __float128 type and init new support
6573         builtins.
6574         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
6575         * config/pa/quadlib.c (_U_Qfcopysign): New.
6576
6577 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
6578
6579         PR middle-end/46894
6580         * explow.c (allocate_dynamic_stack_space): Do not assume more than
6581         BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
6582         are defined.
6583
6584 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6585
6586         PR tree-optimization/47179
6587         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
6588         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
6589
6590 2011-01-18  Richard Guenther  <rguenther@suse.de>
6591
6592         PR rtl-optimization/47216
6593         * emit-rtl.c: Include tree-flow.h.
6594         (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
6595         of replicating it with different semantics.
6596         * Makefile.in (emit-rtl.o): Adjust.
6597
6598 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
6599
6600         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
6601         (cortex_a9_dp): Handle neon types correctly.
6602
6603 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
6604
6605         PR rtl-optimization/47299
6606         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
6607         subtarget.  Use normal multiplication if both operands are constants.
6608         * expmed.c (expand_widening_mult): Don't try to optimize constant
6609         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
6610         before using it.
6611
6612 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6613
6614         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
6615         spacing after 'e.g.', typos, comma, hyphenation.
6616
6617 2011-01-17  Richard Henderson  <rth@redhat.com>
6618
6619         * config/rx/predicates.md (rx_constshift_operand): Use match_test.
6620         (rx_restricted_mem_operand): New.
6621         (rx_shift_operand): Use register_operand.
6622         (rx_source_operand, rx_compare_operand): Likewise.
6623         * config/rx/rx.md (addsi3_flags): New expander.
6624         (adddi3): Rewrite as expander.
6625         (adc_internal, *adc_flags, adddi3_internal): New patterns.
6626         (subsi3_flags): New expander.
6627         (subdi3): Rewrite as expander.
6628         (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
6629
6630         * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
6631         (rx_init_builtins): Remove sat builtin.
6632         (rx_expand_builtin): Likewise.
6633         * config/rx/rx.md (ssaddsi3): New.
6634         (*sat): Rename from sat.  Represent the CC_REG input.
6635
6636         * config/rx/predicates.md (rshift_operator): New.
6637         * config/rx/rx.c (rx_expand_insv): Remove.
6638         * config/rx/rx-protos.h: Update.
6639         * config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
6640         operand to the canonical position.
6641         (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
6642         (*bitclr, *bitclr_in_memory): Similarly.
6643         (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
6644         (insv): Retain the zero_extract in the expansion.
6645
6646         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
6647         (bswaphi2, bitinvert, revw): Likewise.
6648
6649         * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
6650         (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
6651         * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
6652         (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
6653         (bitset, bitset_in_memory): Likewise.
6654         (bitinvert, bitinvert_in_memory): Likewise.
6655         (bitclr, bitclr_in_memory): Likewise.
6656         (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
6657         (rx_strend, rx_cmpstrn): Likewise.
6658         (rx_setmem): Likewise.  Make the source BLKmode to match the dest.
6659         (bitop peep2 patterns): Remove.
6660
6661         * config/rx/rx.c (rx_match_ccmode): New.
6662         * config/rx/rx-protos.h: Update.
6663         * config/rx/rx.md (abssi2): Clobber, don't set flags.
6664         (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
6665         (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
6666         (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
6667         (fix_truncsfsi2, floatsisf2): Likewise.
6668         (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
6669         (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
6670         (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
6671         (*subsi3_flags, *xorsi3_flags): New.
6672
6673         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
6674
6675         * config/rx/rx.c (rx_print_operand): Remove workaround for
6676         unsplit comparison operations.
6677
6678         * config/rx/rx.md (movsicc): Split after reload.
6679         (*movsicc): Merge *movsieq and *movsine via match_operator.
6680         (*stcc): New pattern.
6681
6682         * config/rx/rx.c (rx_float_compare_mode): Remove.
6683         * config/rx/rx.h (rx_float_compare_mode): Remove.
6684         * config/rx/rx.md (cstoresi4): Split after reload.
6685         (*sccc): New pattern.
6686
6687         * config/rx/predicates.md (label_ref_operand): New.
6688         (rx_z_comparison_operator): New.
6689         (rx_zs_comparison_operator): New.
6690         (rx_fp_comparison_operator): New.
6691         * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
6692         Validate that the flags are set properly for the comparison.
6693         (rx_gen_cond_branch_template): Remove.
6694         (rx_cc_modes_compatible): Remove.
6695         (mode_from_flags): New.
6696         (flags_from_code): Rename from flags_needed_for_conditional.
6697         (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
6698         (rx_select_cc_mode): Likewise.
6699         (rx_split_fp_compare): New.
6700         (rx_split_cbranch): New.
6701         * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
6702         (*cbranchsi4): Use match_operator and rx_split_cbranch.
6703         (*cbranchsf4): Similarly.
6704         (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
6705         match_operator and rx_split_cbranch.
6706         (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
6707         tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
6708         (*cmpsi): Rename from cmpsi.
6709         (*tstsi): Rename from tstsi.
6710         (*cmpsf): Rename from cmpsf; use CC_Fmode.
6711         (*conditional_branch): Rename from conditional_branch.
6712         (*reveresed_conditional_branch): Remove.
6713         (b<code>): Remove expander.
6714         * config/rx/rx-protos.h: Update.
6715
6716         * config/rx/rx.c (rx_compare_redundant): Remove.
6717         * config/rx/rx.md (cmpsi): Don't use it.
6718         * config/rx/rx-protos.h: Update.
6719
6720         * config/rx/rx-modes.def (CC_F): New mode.
6721         * config/rx/rx.c (rx_select_cc_mode): New.
6722         * config/rx/rx.h (SELECT_CC_MODE): Use it.
6723         * config/rx/rx-protos.h: Update.
6724
6725 2011-01-17  Richard Henderson  <rth@redhat.com>
6726
6727         * except.c (dump_eh_tree): Fix stray ; after for statement.
6728
6729 2011-01-17  Richard Guenther  <rguenther@suse.de>
6730
6731         PR tree-optimization/47313
6732         * tree-inline.c (tree_function_versioning): Move DECL_RESULT
6733         handling before copying the body.  Properly deal with
6734         by-reference result in SSA form.
6735
6736 2011-01-17  Ian Lance Taylor  <iant@google.com>
6737
6738         PR target/47219
6739         * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
6740         (struct_value_alias_set): Don't define.
6741         (sparc_option_override): Don't set sparc_sr_alias_set and
6742         struct_value_alias_set.
6743         (save_or_restore_regs): Use gen_frame_mem rather than calling
6744         set_mem_alias_set.
6745         (sparc_struct_value_rtx): Likewise.
6746
6747 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
6748
6749         PR target/47318
6750         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
6751         __m128i.
6752         (_mm_maskstore_pd): Likewise.
6753         (_mm_maskload_ps): Likewise.
6754         (_mm_maskstore_ps): Likewise.
6755         (_mm256_maskload_pd): Change mask to __m256i.
6756         (_mm256_maskstore_pd): Likewise.
6757         (_mm256_maskload_ps): Likewise.
6758         (_mm256_maskstore_ps): Likewise.
6759
6760         * config/i386/i386-builtin-types.def: Updated.
6761         (ix86_expand_special_args_builtin): Likewise.
6762
6763         * config/i386/i386.c (bdesc_special_args): Update
6764         __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
6765         __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
6766         __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
6767         __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
6768
6769         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
6770         Use <avxpermvecmode> on mask register.
6771         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
6772
6773 2011-01-17  Olivier Hainque  <hainque@adacore.com>
6774             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
6775             Eric Botcazou  <ebotcazou@adacore.com>
6776
6777         PR target/46655
6778         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
6779         if <= USHRT_MAX in 32-bit mode.
6780
6781 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6782
6783         * doc/install.texi (Configuration, Specific): Wrap long
6784         lines in examples.  Allow line wrapping in long options
6785         and URLs where beneficial for PDF output.
6786
6787 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
6788
6789         * config/mips/mips.c (mips_classify_symbol): Don't return
6790         SYMBOL_PC_RELATIVE for nonlocal labels.
6791
6792 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
6793
6794         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
6795
6796 2011-01-15  Jan Hubicka  <jh@suse.cz>
6797
6798         PR tree-optimization/47276
6799         * ipa.c (function_and_variable_visibility): Do not try to mark alias
6800         declarations as needed.
6801
6802 2011-01-15  Martin Jambor  <mjambor@suse.cz>
6803
6804         * common.opt (fdevirtualize): New flag.
6805         * doc/invoke.texi (Option Summary): Document it.
6806         * opts.c (default_options_table): Add devirtualize flag.
6807         * ipa-prop.c (detect_type_change): Return immediately if
6808         devirtualize flag is not set.
6809         (detect_type_change_ssa): Likewise.
6810         (compute_known_type_jump_func): Likewise.
6811         (ipa_analyze_virtual_call_uses): Likewise.
6812
6813 2011-01-14  Martin Jambor  <mjambor@suse.cz>
6814
6815         PR tree-optimization/45934
6816         PR tree-optimization/46302
6817         * ipa-prop.c (type_change_info): New type.
6818         (stmt_may_be_vtbl_ptr_store): New function.
6819         (check_stmt_for_type_change): Likewise.
6820         (detect_type_change): Likewise.
6821         (detect_type_change_ssa): Likewise.
6822         (compute_complex_assign_jump_func): Check for dynamic type change.
6823         (compute_complex_ancestor_jump_func): Likewise.
6824         (compute_known_type_jump_func): Likewise.
6825         (compute_scalar_jump_functions): Likewise.
6826         (ipa_analyze_virtual_call_uses): Likewise.
6827         (ipa_analyze_node): Push and pop cfun, set current_function_decl.
6828
6829 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6830
6831         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
6832         * config/i386/i386.opt (msse5): New Alias.
6833
6834 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6835
6836         * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
6837         * config/sparc/linux64.h (CC1_SPEC): Likewise.
6838         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
6839         * config/sparc/sparc.h (CC1_SPEC): Likewise.
6840
6841 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6842
6843         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
6844         -mcpu options.
6845         * config/sparc/linux64.h (CC1_SPEC): Likewise.
6846         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
6847         * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
6848         * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
6849         Likewise.
6850         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
6851
6852 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6853
6854         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
6855
6856 2011-01-14  Mike Stump  <mikestump@comcast.net>
6857
6858         * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
6859         * config/fr30/fr30.md: Likweise
6860         (movsi_push): Likewise.
6861         (movsi_pop): Likewise.
6862         (enter_func): Likewise.
6863         * config/moxie/moxie.md (movsi_push): Likewise.
6864         (movsi_pop): Likewise.
6865
6866 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6867
6868         * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
6869         %{no_archive} %{exact_version}.
6870         * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
6871         * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
6872         %{no_archive} %{exact_version}.
6873         * config/mips/openbsd.h (LINK_SPEC): Likewise.
6874         * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
6875         * config/mips/vxworks.h: Likewise.
6876
6877 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6878
6879         * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
6880
6881 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6882
6883         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
6884         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
6885
6886 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6887
6888         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
6889         -nodefaultlib.
6890
6891 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6892
6893         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
6894         for mcpu not cpu.
6895         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
6896         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
6897         not cpu.
6898         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
6899         Don't handle -shlib.
6900
6901 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6902
6903         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
6904         (CC1_SPEC): Don't handle -profile.
6905
6906 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6907
6908         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
6909         * config/mips/mips.h (CC1_SPEC): Likewise.
6910
6911 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6912
6913         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
6914         * config/mips/mips.h (CC1_SPEC): Likewise.
6915
6916 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6917
6918         * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
6919         * config/m32r/linux.h (LINK_SPEC): Likewise.
6920         * config/mips/linux.h (LINK_SPEC): Likewise.
6921         * config/mips/linux64.h (LINK_SPEC): Likewise.
6922         * config/sparc/linux.h (LINK_SPEC): Likewise.
6923         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
6924         LINK_SPEC): Likewise.
6925         * config/xtensa/linux.h (LINK_SPEC): Likewise.
6926
6927 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6928
6929         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
6930         %{version:-v}.
6931         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
6932
6933 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6934
6935         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
6936         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
6937
6938 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6939
6940         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
6941
6942 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6943
6944         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
6945         supports -Bstatic/-Bdynamic.
6946         * configure: Regenerate.
6947
6948 2011-01-14  Jan Hubicka  <jh@suse.cz>
6949             Jack Howarth  <howarth@bromo.med.uc.edu>
6950
6951         PR target/46037
6952         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
6953         when checking debug_info_level. Test write_symbols instead of
6954         debug_hooks->var_location when setting flag_var_tracking_uninit.
6955
6956 2011-01-14  Richard Guenther  <rguenther@suse.de>
6957
6958         PR tree-optimization/47179
6959         * target.def (ref_may_alias_errno): New target hook.
6960         * targhooks.h (default_ref_may_alias_errno): Declare.
6961         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
6962         (default_ref_may_alias_errno): New function.
6963         * target.h (struct ao_ref_s): Declare.
6964         * tree-ssa-alias.c: Include target.h.
6965         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
6966         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
6967         (targhooks.o): Likewise.
6968         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
6969         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
6970
6971 2011-01-14  Richard Guenther  <rguenther@suse.de>
6972
6973         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
6974
6975 2011-01-14  Richard Guenther  <rguenther@suse.de>
6976
6977         PR tree-optimization/47280
6978         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
6979         return CFG changes.
6980         (tree_ssa_forward_propagate_single_use_vars): Deal with
6981         CFG changes from associate_plusminus.
6982
6983 2011-01-14  Richard Guenther  <rguenther@suse.de>
6984
6985         PR middle-end/47281
6986         Revert
6987         2011-01-11  Richard Guenther  <rguenther@suse.de>
6988
6989         PR tree-optimization/46076
6990         * tree-ssa.c (useless_type_conversion_p): Conversions from
6991         unprototyped to empty argument list function types are useless.
6992
6993 2011-01-14  Richard Guenther  <rguenther@suse.de>
6994
6995         PR tree-optimization/47286
6996         * tree-ssa-structalias.c (new_var_info): Register variables are global.
6997
6998 2011-01-14  Martin Jambor  <mjambor@suse.cz>
6999
7000         PR middle-end/46823
7001         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
7002
7003 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
7004
7005         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
7006         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
7007         * config/xtensa/xtensa.c (xtensa_libcall_value,
7008         xtensa_function_value_regno_p): New functions.
7009         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
7010
7011 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
7012
7013         PR c++/47213
7014         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
7015         PE specific hook.
7016         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
7017         New function prototype.
7018         * config/i386/winnt.c (i386_pe_assemble_visibility):
7019         Warn only if attribute was specified by user.
7020
7021 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
7022
7023         PR target/47251
7024         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
7025         floating point.
7026         (floatunsdidf2_fcfidu): Ditto.
7027
7028 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7029
7030         * config/s390/s390.c (print_operand_address): Replace 'error' with
7031         'output_operand_lossage'.
7032         (print_operand): Likewise.
7033
7034 2011-01-13  Jeff Law  <law@redhat.com>
7035
7036         PR rtl-optimization/39077
7037         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
7038         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
7039         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
7040         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
7041         * gcse.c (prune_insertions_deletions): New function.
7042         (compute_pre_data): Use it.
7043
7044 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
7045
7046         PR debug/PR46973
7047         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
7048         static function.
7049         (prune_unused_types_mark): Use it.
7050
7051 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
7052
7053         PR rtl-optimization/45352
7054         * sel-sched.c: Update copyright years.
7055         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
7056         in the advancing loop when we have issued issue_rate insns.
7057
7058 2011-01-12  Richard Henderson  <rth@redhat.com>
7059
7060         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
7061         (TARGET_MD_ASM_CLOBBERS): New.
7062
7063         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
7064         (TARGET_DELEGITIMIZE_ADDRESS): New.
7065
7066         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
7067         (clzsi2, *bsch): New patterns.
7068
7069         * config/mn10300/mn10300.md (INT): New mode iterator.
7070         (*mov<INT>_clr): New pattern, and peep2 to generate it.
7071
7072         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
7073         flag_split_wide_types.
7074
7075         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
7076         (mn10300_trampoline_init): Rewrite without a template, an immediate
7077         load and a direct branch.
7078         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
7079
7080 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
7081
7082         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
7083         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
7084         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
7085         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
7086
7087 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
7088
7089         PR debug/47209
7090         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
7091         of type.
7092
7093 2011-01-12  Jan Hubicka  <jh@suse.cz>
7094
7095         PR driver/47244
7096         * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
7097         (PLUGIN_COND_CLOSE): New macro.
7098         (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
7099
7100 2011-01-12  Richard Guenther  <rguenther@suse.de>
7101
7102         PR lto/47259
7103         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
7104         register variables in a MEM_REF.
7105
7106 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
7107
7108         * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
7109         crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
7110         hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
7111         i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
7112         i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
7113         x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
7114         ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
7115         m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
7116         mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
7117         s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
7118         sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
7119         am33_2.0-*-linux*): Use gnu-user.h before linux.h.
7120         * config/gnu-user.h: New.  Copied from linux.h.
7121         (LINUX_TARGET_STARTFILE_SPEC): Rename to
7122         GNU_USER_TARGET_STARTFILE_SPEC.
7123         (LINUX_TARGET_ENDFILE_SPEC): Rename to
7124         GNU_USER_TARGET_ENDFILE_SPEC.
7125         (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
7126         (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
7127         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
7128         LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
7129         CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
7130         UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
7131         BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
7132         BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
7133         LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
7134         TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
7135         * config/arm/linux-eabi.h (CC1_SPEC): Use
7136         GNU_USER_TARGET_CC1_SPEC.
7137         (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
7138         (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
7139         (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
7140         * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
7141         LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
7142         LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
7143         CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
7144         LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
7145
7146 2011-01-12  Richard Guenther  <rguenther@suse.de>
7147
7148         PR other/46946
7149         * doc/invoke.texi (ffast-math): Document it is turned on
7150         with -Ofast.
7151
7152 2011-01-12  Jan Hubicka  <jh@suse.cz>
7153
7154         PR tree-optimization/47233
7155         * opts.c (common_handle_option): Disable ipa-reference with profile
7156         feedback.
7157
7158 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
7159
7160         * c-parser.c (c_parser_objc_at_property_declaration): Improved
7161         error message.
7162
7163 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
7164
7165         * c-parser.c (c_lex_one_token): Updated and reindented some
7166         comments.  No changes in code.
7167
7168 2011-01-11  Ian Lance Taylor  <iant@google.com>
7169
7170         * godump.c (go_output_var): Don't output the variable if there is
7171         already a type with the same name.
7172
7173 2011-01-11  Ian Lance Taylor  <iant@google.com>
7174
7175         * godump.c (go_format_type): Don't generate float80.
7176
7177 2011-01-11  Richard Henderson  <rth@redhat.com>
7178
7179         * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
7180         declaration.  Rewrite for both speed and size.
7181         (mn10300_address_cost_1): Remove.
7182         (mn10300_register_move_cost): New.
7183         (mn10300_memory_move_cost): New.
7184         (mn10300_rtx_costs): Rewrite for both speed and size.  Don't handle
7185         ZERO_EXTRACT.  Do handle UNSPEC, arithmetic, logicals, compare,
7186         extensions, shifts, BSWAP, CLZ.
7187         (mn10300_wide_const_load_uses_clr): Remove.
7188         (TARGET_REGISTER_MOVE_COST): New.
7189         (TARGET_MEMORY_MOVE_COST): New.
7190         * config/mn10300/mn10300-protos.h: Update.
7191         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
7192
7193         * config/mn10300/constraints.md ("R", "T"): Remove constraints.
7194         * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
7195         * config/mn10300/mn10300-protos.h: Update.
7196         * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
7197         (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
7198         (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
7199         (*test_int_bitfield, *test_byte_bitfield): Remove.
7200         (*bit_test, *subreg_bit_test): Remove.
7201         * config/mn10300/predicates.md (const_8bit_operand): Remove.
7202
7203         * config/mn10300/constraints.md ("c"): Rename from "A".
7204         ("A", "D"): New constraint letters.
7205         * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
7206         (fmssf4, fnmasf4, fnmssf4): Likewise.
7207
7208         * config/mn10300/mn10300.md (isa): New attribute.
7209         (enabled): New attribute.
7210
7211         * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
7212         (abssf2, negsf2): Define only for hardware fp.
7213         (sqrtsf2): Reformat.
7214         (addsf3, subsf3, mulsf3): Merge expander and insn.
7215
7216         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
7217         (DEBUGGER_AUTO_OFFSET): Remove.
7218         (DEBUGGER_ARG_OFFSET): Remove.
7219
7220         * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
7221         Emit register stores with the same offsets as the hardware.
7222         (mn10300_store_multiple_operation): Don't check that the register
7223         save offsets are monotonic.
7224         * config/mn10300/mn10300-protos.h: Update.
7225
7226         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
7227
7228         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
7229         in terms of the value on the stack, not the MDR register.
7230
7231 2011-01-11  Jan Hubicka  <jh@suse.cz>
7232
7233         PR lto/45721
7234         PR lto/45375
7235         * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
7236         (symbol_alias_set_destroy, symbol_alias_set_contains,
7237         propagate_aliases_backward): Declare.
7238         * lto-streamer-out.c (struct sets): New sturcture.
7239         (trivally_defined_alias): New function.
7240         (output_alias_pair_p): Rewrite.
7241         (output_unreferenced_globals): Fix output of alias pairs.
7242         (produce_symtab): Likewise.
7243         * ipa.c (function_and_variable_visibility): Set weak alias destination
7244         as needed in lto.
7245         * varasm.c (symbol_alias_set_t): Remove.
7246         (symbol_alias_set_destroy): Export.
7247         (propagate_aliases_forward, propagate_aliases_backward): New functions
7248         based on ...
7249         (compute_visible_aliases): ... this one; remove.
7250         (trivially_visible_alias): New
7251         (trivially_defined_alias): New.
7252         (remove_unreachable_alias_pairs): Rewrite.
7253         (finish_aliases_1): Reorganize code checking if alias is defined.
7254         * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
7255         in LTO mode.
7256
7257 2011-01-11  Richard Guenther  <rguenther@suse.de>
7258
7259         PR tree-optimization/46076
7260         * tree-ssa.c (useless_type_conversion_p): Conversions from
7261         unprototyped to empty argument list function types are useless.
7262
7263 2011-01-11  Richard Guenther  <rguenther@suse.de>
7264
7265         PR middle-end/45235
7266         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
7267         volatile MEMs as MEM_READONLY_P.
7268
7269 2011-01-11  Richard Guenther  <rguenther@suse.de>
7270
7271         PR tree-optimization/47239
7272         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
7273
7274 2011-01-11  Jeff Law  <law@redhat.com>
7275
7276         PR tree-optimization/47086
7277         * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
7278         IVs from statements that might throw.
7279
7280 2011-01-10  Jan Hubicka  <jh@suse.cz>
7281
7282         PR lto/45375
7283         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
7284
7285 2011-01-10  Jan Hubicka  <jh@suse.cz>
7286
7287         PR lto/45375
7288         * profile.c (read_profile_edge_counts): Ignore profile inconistency
7289         when correcting profile.
7290
7291 2011-01-10  Jan Hubicka  <jh@suse.cz>
7292
7293         PR lto/46083
7294         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
7295         DECL_FINI_PRIORITY.
7296         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
7297         Restore DECL_FINI_PRIORITY.
7298
7299 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7300
7301         * doc/gimple.texi: Fix quoting of multi-word return values in
7302         @deftypefn statements.  Ensure presence of return value.  Wrap
7303         overlong @deftypefn lines.
7304         (is_gimple_operand, is_gimple_min_invariant_address): Remove
7305         descriptions of removed functions.
7306         * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
7307         of multi-word return value in @deftypefn statement.
7308
7309 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7310
7311         * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
7312         (Conditional Expressions, Logical Operators)
7313         (Statement and operand traversals): Do not indent smallexample
7314         code.  Fix duplicate function argument in example.
7315
7316 2011-01-10  Jeff Law  <law@redhat.com>
7317
7318         PR tree-optimization/47141
7319         * ipa-split.c (split_function): Handle case where we are
7320         returning a value and the return block has a virtual operand phi.
7321
7322 2011-01-10  Jan Hubicka  <jh@suse.cz>
7323
7324         PR tree-optimization/47234
7325         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
7326         (pass_feedback_split_functions): Declare.
7327         * passes.c (init_optimization_passes): Add ipa-split as subpass of
7328         tree-profile.
7329         * ipa-split.c (gate_split_functions): Update comments; disable
7330         split-functions for profile_arc_flag and branch_probabilities.
7331         (gate_feedback_split_functions): New function.
7332         (execute_feedback_split_functions): New function.
7333         (pass_feedback_split_functions): New global var.
7334
7335 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
7336
7337         PR lto/46760
7338         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
7339         calling gimple_call_set_cannot_inline.
7340
7341 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
7342
7343         * config/darwin-sections.def: Remove unused section.
7344
7345 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
7346
7347         PR c++/47218
7348         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
7349
7350 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
7351
7352         PR objc/47232
7353         * c-parser.c (c_parser_declaration_or_fndef): Improved
7354         error message.
7355
7356 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
7357
7358         * config/i386/winnt.c (i386_pe_start_function): Make sure
7359         to switch back to function's section.
7360
7361 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
7362
7363         PR gcc/46902
7364         PR testsuite/46912
7365         * plugin.c: Move include of dlfcn.h from here...
7366         * system.h: ... to here.
7367
7368 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7369
7370         * doc/cpp.texi (C++ Named Operators): Fix markup for header
7371         file name.
7372         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
7373         two extra empty pages in PDF output.
7374
7375 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
7376
7377         PR objc/47078
7378         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
7379         for error recovery purposes behave as if it was not specified so
7380         that the default type is usd.
7381
7382 2011-01-07  Jan Hubicka  <jh@suse.cz>
7383
7384         PR tree-optmization/46469
7385         * ipa.c (function_and_variable_visibility): Clear needed flags on
7386         nodes with external decls; handle weakrefs merging correctly.
7387
7388 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
7389
7390         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
7391         not false.
7392
7393 2011-01-07  Jan Hubicka  <jh@suse.cz>
7394
7395         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
7396         and no longer claim that gold is required for linker plugin.
7397         * configure: Regenerate.
7398         * gcc.c (PLUGIN_COND): New macro.
7399         (LINK_COMMAND_SPEC): Use it.
7400         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
7401         * config.in (HAVE_LTO_PLUGIN): New.
7402         * configure.ac (--with-lto-plugin): New parameter; autodetect
7403         HAVE_LTO_PLUGIN.
7404
7405 2011-01-07  Jan Hubicka  <jh@suse.cz>
7406
7407         PR tree-optimization/46367
7408         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
7409         when we can update original.
7410         (cgraph_mark_inline_edge): Sanity check.
7411         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
7412
7413 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7414
7415         * config/spu/spu.h (ASM_COMMENT_START): Define.
7416
7417 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
7418
7419         PR driver/42445
7420         * gcc.c (%>S): New.
7421         (SWITCH_KEEP_FOR_GCC): Likewise.
7422         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
7423         (do_spec_1): Handle "%>".
7424
7425         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
7426
7427 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
7428
7429         PR target/47201
7430         * config/i386/i386.c (ix86_delegitimize_address): If
7431         simplify_gen_subreg fails, return orig_x.
7432
7433         PR bootstrap/47187
7434         * value-prof.c (gimple_stringop_fixed_value): Handle
7435         lhs of the call properly.
7436
7437 2011-01-07  Jan Hubicka  <jh@suse.cz>
7438
7439         PR lto/45375
7440         * lto-opt.c (lto_reissue_options): Set flag_shlib.
7441
7442 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
7443
7444         * target.def (function_switched_text_sections): New hook.
7445         * doc/tm.texi: Regenerated.
7446         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
7447         * final.c (default_function_switched_text_sections): New.
7448         (final_scan_insn): Call function_switched_text_sections when a
7449         mid-function section change occurs.
7450         * output.h (default_function_switched_text_sections): Declare.
7451         * config/darwin-protos.h (darwin_function_switched_text_sections):
7452         Likewise.
7453         * config/darwin.c (darwin_function_switched_text_sections): New.
7454         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
7455
7456 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
7457
7458         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
7459         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
7460         the secondary code fragment when outputting for DWARF == 2.
7461
7462 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
7463
7464         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
7465         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
7466         Remove.
7467         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
7468         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
7469
7470 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
7471
7472         PR debug/46704
7473         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
7474         when it is not empty.
7475
7476 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
7477
7478         Bobcat Enablement
7479         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
7480         (case ${target}): Add btver1.
7481         * config/i386/driver-i386.c (host_detect_local_cpu): Let
7482         -march=native recognize btver1 processors.
7483         * config/i386/i386-c.c (ix86_target_macros_internal): Add
7484         btver1 def_and_undef
7485         * config/i386/i386.c (struct processor_costs btver1_cost): New
7486         btver1 cost table.
7487         (m_BTVER1): New definition.
7488         (m_AMD_MULTIPLE): Includes m_BTVER1.
7489         (initial_ix86_tune_features): Add btver1 tune.
7490         (processor_target_table): Add btver1 entry.
7491         (static const char *const cpu_names): Add btver1 entry.
7492         (software_prefetching_beneficial_p): Add btver1.
7493         (ix86_option_override_internal): Add btver1 instruction sets.
7494         (ix86_issue_rate): Add btver1.
7495         (ix86_adjust_cost): Add btver1.
7496         * config/i386/i386.h (TARGET_BTVER1): New definition.
7497         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
7498         (enum processor_type): Add PROCESSOR_BTVER1.
7499         * config/i386/i386.md (define_attr "cpu"): Add btver1.
7500
7501 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7502
7503         PR target/43309
7504         * config/i386/i386.c (legitimize_tls_address)
7505         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
7506         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
7507         (tls_initial_exec_64_sun): New pattern.
7508
7509 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
7510
7511         * doc/invoke.texi (Overall Options): Improve wording and markup
7512         of the description of -wrapper.
7513
7514 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
7515
7516         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
7517         rdynamic, threads): New Driver options.
7518
7519 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7520
7521         PR target/38118
7522         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
7523         if coming from .tdata.
7524         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
7525
7526 2011-01-06  Jan Hubicka  <jh@suse.cz>
7527
7528         PR lto/47188
7529         * collect2.c (main): Do not enable LTOmode when plugin is active.
7530
7531 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7532
7533         PR other/45915
7534         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
7535         --version output if supported.
7536         * configure: Regenerate.
7537
7538 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
7539
7540         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
7541         Driver options.
7542
7543 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
7544
7545         PR c/47150
7546         * c-convert.c (convert): When converting a complex expression
7547         other than COMPLEX_EXPR to a different complex type, ensure
7548         c_save_expr is called instead of save_expr, unless in_late_binary_op.
7549         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
7550         when converting COMPLEX_TYPE.
7551
7552 2011-01-06  Ira Rosen  <irar@il.ibm.com>
7553
7554         PR tree-optimization/47139
7555         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
7556         only the last reduction value is used outside the loop.  Update
7557         documentation.
7558
7559 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
7560
7561         * config/rtems.opt: New.
7562         * config.gcc (*-*-rtems*): Use rtems.opt.
7563
7564 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
7565
7566         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
7567         processors do not support 3DNow instructions.
7568
7569 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7570
7571         * config/spu/spu.c (spu_option_override): Set parameter
7572         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
7573
7574 2011-01-05  Jan Hubicka  <jh@suse.cz>
7575
7576         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
7577         at the command line.
7578
7579 2011-01-05  Martin Jambor  <mjambor@suse.cz>
7580
7581         PR lto/47162
7582         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
7583         deltas on streamed outgoing edges.
7584         (output_node_opt_summary): Output info for outgoing edges only when
7585         the node is in new parameter set.
7586         (output_cgraph_opt_summary): New parameter set, passed to the two
7587         aforementioned functions.  Update its forward declaration and its
7588         callee too.
7589
7590 2011-01-05  Tom Tromey  <tromey@redhat.com>
7591
7592         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
7593         operator to c_finish_omp_atomic.
7594         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
7595         (build_unary_op): Update.
7596         (build_modify_expr): Update.
7597         (build_asm_expr): Update.
7598
7599 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7600
7601         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
7602         newly inserted insns.
7603         (pad_bb): Likewise.
7604         (spu_emit_branch_hint): Likewise.
7605         (insert_hbrp_for_ilb_runout): Likewise.
7606         (spu_machine_dependent_reorg): Call df_finish_pass after
7607         schedule_insns returns.
7608
7609 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7610
7611         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
7612
7613 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
7614
7615         PR tree-optimization/47005
7616         * tree-sra.c (struct access): Add 'non_addressable' bit.
7617         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
7618         (decide_one_param_reduction): Return 0 if the parameter is passed by
7619         reference and one of the accesses in the group is non_addressable.
7620
7621 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
7622
7623         PR tree-optimization/47056
7624         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
7625         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
7626         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
7627
7628 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
7629
7630         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
7631         initializer.  Skip view conversions from aggregate types.
7632
7633 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
7634
7635         PR bootstrap/47055
7636         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
7637
7638 2011-01-04  Philipp Thomas  <pth@suse.de>
7639
7640         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
7641         obvious typo.
7642
7643 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7644
7645         * function.c (thread_prologue_and_epilogue_insns): Do not crash
7646         on empty epilogue sequences.
7647
7648 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
7649
7650         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
7651         non-static): New Driver options.
7652
7653 2011-01-04  Jie Zhang  <jie@codesourcery.com>
7654
7655         PR driver/47137
7656         * gcc.c (default_compilers[]): Set combinable field to 0
7657         for all assembly languages.
7658
7659 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
7660
7661         * config/mips/loongson3a.md: New file.
7662         * config/mips/mips.md: Include loongson3a.md.
7663         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
7664         TUNE_LOONGSON_3A.
7665
7666 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
7667
7668         PR middle-end/47017
7669         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
7670         instead of convert_memory_address_addr_space on the base expression.
7671
7672 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7673
7674         * config/spu/spu.c (spu_option_override): Update error text
7675         for bad -march= / -mtune= values.
7676
7677 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7678
7679         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
7680         if branch-hint optimization will be performed.
7681
7682 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
7683
7684         PR tree-optimization/47148
7685         * ipa-split.c (split_function): Convert arguments to
7686         DECL_ARG_TYPE if possible.
7687
7688         PR tree-optimization/47155
7689         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
7690         when computing uns.
7691
7692         PR rtl-optimization/47157
7693         * combine.c (try_combine): If undobuf.other_insn becomes
7694         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
7695         and set *new_direct_jump_p too.
7696
7697 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
7698
7699         PR tree-optimization/47021
7700         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
7701
7702 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
7703
7704         * gcc.c (process_command): Update copyright notice dates.
7705         * gcov.c (print_version): Likewise.
7706         * gcov-dump.c (print_version): Likewise.
7707         * mips-tfile.c (main): Likewise.
7708         * mips-tdump.c (main): Likewise.
7709
7710 2011-01-03  Martin Jambor  <mjambor@suse.cz>
7711
7712         PR tree-optimization/46801
7713         * tree-sra.c (type_internals_preclude_sra_p): Check whether
7714         aggregate fields start at byte boundary instead of the bit-field flag.
7715
7716 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
7717
7718         PR driver/47137
7719         * gcc.c (main): Revert revision 168407.
7720
7721 2011-01-03  Martin Jambor  <mjambor@suse.cz>
7722
7723         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
7724
7725 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7726
7727         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
7728         vector optab to expand vector/scalar shift, update gimple to vector.
7729
7730 2011-01-03  Martin Jambor  <mjambor@suse.cz>
7731
7732         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
7733         a thunk.
7734
7735 2011-01-03  Martin Jambor  <mjambor@suse.cz>
7736
7737         PR tree-optimization/46984
7738         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
7739         HOST_WIDE_INT.
7740         (cgraph_create_indirect_edge): Fixed line length.
7741         (cgraph_indirect_call_info): Declare.
7742         (cgraph_make_edge_direct) Update declaration.
7743         * cgraph.c (cgraph_allocate_init_indirect_info): New function.
7744         (cgraph_create_indirect_edge): Use it.
7745         (cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
7746         callees.
7747         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
7748         the new thunk_delta representation.
7749         * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
7750         HOST_WIDE_INT.
7751         (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
7752         (ipa_read_indirect_edge_info): Likewise.
7753         * lto-cgraph.c (output_edge_opt_summary): New function.
7754         (output_node_opt_summary): Call it on all outgoing edges.
7755         (input_edge_opt_summary): New function.
7756         (input_node_opt_summary): Call it on all outgoing edges.
7757
7758 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
7759
7760         PR driver/47137
7761         * gcc.c (main): Don't check have_o when settting combine_inputs.
7762
7763 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
7764
7765         * regrename.c: Add general comment describing the pass.
7766         (struct du_head): Remove 'length' field.
7767         (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
7768         (regrename_optimize): Do not sort chains.  Rework comments, add others.
7769         Force renaming to the preferred class (if any) in the first pass and do
7770         not consider registers that belong to it in the second pass.
7771         (create_new_chain): Do not set 'length' field.
7772         (scan_rtx_reg): Likewise.
7773
7774 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
7775
7776         PR tree-optimization/47140
7777         * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
7778         TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
7779         to bit_value_binop.
7780
7781         PR rtl-optimization/47028
7782         * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
7783         parm_birth_insn instead of at the beginning of first bb.
7784
7785 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
7786
7787         * doc/generic.texi: Remove duplicated "@subsubsection Statements".
7788         Remove the word "see" before "@pxref".
7789         * doc/rtl.texi: Remove the word "see" before "@pxref".
7790
7791 2011-01-01  Jan Hubicka  <jh@suse.cz>
7792
7793         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
7794         memory.
7795
7796 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
7797
7798         PR target/38662
7799         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
7800
7801 \f
7802 Copyright (C) 2011 Free Software Foundation, Inc.
7803
7804 Copying and distribution of this file, with or without modification,
7805 are permitted in any medium without royalty provided the copyright
7806 notice and this notice are preserved.