OSDN Git Service

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