OSDN Git Service

6540af709841985a7f00ac126d6f546fef5594cf
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2012-02-09  Jakub Jelinek  <jakub@redhat.com>
2
3         Backported from mainline
4         2012-02-08  Jakub Jelinek  <jakub@redhat.com>
5
6         PR rtl-optimization/52139
7         * cfgrtl.c (cfg_layout_merge_blocks): If BB_END
8         is a BARRIER after emit_insn_after_noloc, move BB_END
9         to the last non-BARRIER insn before it.
10
11         2012-02-07  Jakub Jelinek  <jakub@redhat.com>
12
13         PR rtl-optimization/52060
14         * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables,
15         copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already
16         before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy
17         and/or i0src_copy2 when needed.
18
19         PR middle-end/52074
20         * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
21         if modifier < EXPAND_SUM call force_operand on the result.
22
23         2012-02-06  Jakub Jelinek  <jakub@redhat.com>
24
25         PR target/52129
26         * calls.c (mem_overlaps_already_clobbered_arg_p): If val is
27         CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it.
28
29         2012-02-02  Jakub Jelinek  <jakub@redhat.com>
30
31         PR middle-end/48071
32         * diagnostic.c (diagnostic_finish): Remove trailing newlines.
33
34         2012-01-28  Jakub Jelinek  <jakub@redhat.com>
35
36         PR target/52006
37         * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
38         arm_general_register_operand predicate for operand 2 instead of
39         register_operand.
40
41         2012-01-19  Jakub Jelinek  <jakub@redhat.com>
42
43         PR libmudflap/40778
44         * tree-mudflap.c (mf_artificial): New function.
45         (execute_mudflap_function_ops, execute_mudflap_function_decls,
46         mx_register_decls, mudflap_enqueue_decl): Use it.
47
48         2012-01-05  Jakub Jelinek  <jakub@redhat.com>
49
50         PR rtl-optimization/51767
51         * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
52         of jump_block and add an extra edge for degenerated asm gotos.
53
54         PR middle-end/51768
55         * stmt.c (check_unique_operand_names): Don't ICE during error
56         reporting if i is from labels chain.
57
58         PR middle-end/44777
59         * profile.c (branch_prob): Split bbs that have exit edge
60         and need a fake entry edge too.
61
62         2012-01-04  Jakub Jelinek  <jakub@redhat.com>
63
64         PR debug/51695
65         * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
66         in .debug_loc on the floor.
67
68         2011-12-15  Jakub Jelinek  <jakub@redhat.com>
69
70         PR c/51360
71         * c-parser.c (c_parser_omp_clause_num_threads,
72         c_parser_omp_clause_schedule): Call mark_exp_read.
73
74         PR debug/51517
75         * tree-ssa-coalesce.c (coalesce_ssa_name): For !optimize, test
76         !DECL_IGNORED_P instead of !DECL_ARTIFICIAL.
77
78 2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
79
80         Backport from mainline 
81         2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
82
83         PR middle-end/52140
84         * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
85
86 2012-02-09  Andrey Belevantsev  <abel@ispras.ru>
87
88         Backport from mainline 
89         2012-01-20  Andrey Belevantsev  <abel@ispras.ru>
90
91         PR target/51106
92         * function.c (instantiate_virtual_regs_in_insn): Use
93         delete_insn_and_edges when removing a wrong asm insn.
94
95 2012-02-07  Eric Botcazou  <ebotcazou@adacore.com>
96
97         PR middle-end/51994
98         * expr.c (get_inner_reference): If there is an offset, add a negative
99         bit position to it (if any).
100
101 2012-02-07  Kai Tietz  <ktietz@redhat.com>
102             Dave Korn  <dave.korn.cygwin@gmail.com>
103
104         PR target/40068
105         * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
106         Take care that typinfo gets dllexport-attribute.
107
108 2012-02-07  Alan Modra  <amodra@gmail.com>
109
110         PR target/52107
111         * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
112         subregs of TFmode.
113
114 2012-02-02  Uros Bizjak  <ubizjak@gmail.com>
115
116         Backport from mainline:
117         2011-11-18  Uros Bizjak  <ubizjak@gmail.com>
118
119         PR tree-optimization/51118
120         * fold-const.c (fold_checksum_tree): Check for TS_TYPED structure
121         before using TREE_TYPE accessor on expr.
122
123 2012-01-12  Georg-Johann Lay  <avr@gjlay.de>
124
125         Backport from mainline r183796
126         PR rtl-optimization/51374
127         * combine.c (can_combine_p): Don't allow volatile_refs_p insns
128         to cross other volatile_refs_p insns.
129
130 2012-01-31  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
131
132         Backport from mainline.
133         2011-01-31  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
134
135         config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true
136         condition.
137
138 2012-01-31  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
139
140         * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag
141         to srak instruction.
142
143 2012-01-30  Bin Cheng  <bin.cheng@arm.com>
144
145         Backport from mainline.
146         2012-01-30  Bin Cheng  <bin.cheng@arm.com>
147
148         PR target/51835
149         * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
150         for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
151
152 2012-01-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
153
154         Backport from mainline.
155         2012-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
156
157         PR target/50313
158         * config/arm/arm.c (arm_load_pic_register): Use
159         gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit
160         , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four.
161         (arm_pic_static_addr): Likewise.
162         (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED.
163         (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED.
164         * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define.
165         (pic_load_addr_unified): New.
166
167 2012-01-25  Richard Guenther  <rguenther@suse.de>
168
169         * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both
170         bases are dereferenced.
171
172 2012-01-24  Richard Guenther  <rguenther@suse.de>
173
174         Forward-port to branch
175         2010-09-21  Jakub Jelinek  <jakub@redhat.com>
176
177         PR middle-end/45678
178         * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
179         op0 isn't sufficiently aligned and there is movmisalignM
180         insn for mode, use it to load op0 into a temporary register.
181
182 2012-01-20  Eric Botcazou  <ebotcazou@adacore.com>
183
184         * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK.
185
186 2012-01-19  Quentin Neill  <quentin.neill@amd.com>
187
188         PR target/48743
189         * config/i386/driver-i386.c (host_detect_local_cpu): Also check
190         family to distinguish PROCESSOR_ATHLON.
191
192 2012-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
193
194         PR tree-optimization/49642
195         * ipa-split.c (forbidden_dominators): New variable.
196         (check_forbidden_calls): New function.
197         (dominated_by_forbidden): Likewise.
198         (consider_split): Check for forbidden dominators.
199         (execute_split_functions): Initialize and free forbidden
200         dominators info; call check_forbidden_calls.
201
202 2012-01-18  David Edelsohn  <dje.gcc@gmail.com>
203
204         * config/rs6000/rs6000.md (call_value_indirect_aix32): Fix typo
205         in mode of operand[4].
206
207 2012-01-15  Uros Bizjak  <ubizjak@gmail.com>
208
209         PR rtl-optimization/51821
210         * recog.c (peep2_find_free_register): Determine clobbered registers
211         from insn pattern.
212
213 2012-01-12  Georg-Johann Lay  <avr@gjlay.de>
214
215         Backport from mainline r183129
216         PR target/51756
217         * config/avr/avr.c (avr_encode_section_info): Test for absence of
218         DECL_EXTERNAL when checking for initializers of progmem variables.
219
220 22012-01-12  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
221
222         Backport from mainline
223         2012-01-11  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
224
225         * config/arm/arm.md (mov_notscc): Use MVN for false condition.
226
227 2012-01-12  Uros Bizjak  <ubizjak@gmail.com>
228
229         * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
230         (x86_shift<mode>_adj_1): Remove operand constraint from operand 3.
231
232 2012-01-10  Joseph Myers  <joseph@codesourcery.com>
233
234         Revert:
235
236         2008-09-18  Andrew Pinski  <andrew_pinski@playstation.sony.com>
237
238         PR rtl-opt/37451
239         * loop-doloop.c (doloop_modify): New argument zero_extend_p and
240         zero extend count after the correction to it is done.
241         (doloop_optimize): Update call to doloop_modify, don't zero extend
242         count before call.
243
244         2008-11-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
245
246         PR rtl-opt/37782
247         * loop-doloop.c (doloop_modify): Add from_mode argument that says what
248         mode count is in.
249         (doloop_optimize): Update call to doloop_modify.
250
251 2012-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
252
253         * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
254
255 2012-01-09  Eric Botcazou  <ebotcazou@adacore.com>
256
257         * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Check that the
258         purported sigacthandler address isn't null before dereferencing it.
259         (sparc_is_sighandler): Likewise.
260
261 2012-01-09  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
262
263         Backport from mainline
264         2011-11-04  Jiangning Liu  <jiangning.liu@arm.com>
265
266         PR rtl-optimization/38644
267         * config/arm/arm.c (thumb1_expand_epilogue): Add memory barrier
268         for epilogue having stack adjustment.
269
270 2012-01-09  Eric Botcazou  <ebotcazou@adacore.com>
271
272         PR ada/41929
273         * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove SAVPC and
274         add CFA.  Revert back to old code for Solaris 8+ multi-threaded.
275         (sparc_is_sighandler): Likewise.
276         (MD_FALLBACK_FRAME_STATE_FOR): Adjust call to IS_SIGHANDLER.
277
278 2012-01-06  Eric Botcazou  <ebotcazou@adacore.com>
279
280         Backport from mainline
281         2012-01-06  Arnaud Charlet  <charlet@adacore.com>
282
283         * c-decl.c (ext_block): Moved up.
284         (collect_all_refs, for_each_global_decl): Take ext_block into account.
285
286 2012-01-06  Richard Sandiford  <richard.sandiford@linaro.org>
287
288         PR middle-end/48660
289         * expr.h (copy_blkmode_to_reg): Declare.
290         * expr.c (copy_blkmode_to_reg): New function.
291         (expand_assignment): Don't expand register RESULT_DECLs before
292         the lhs.  Use copy_blkmode_to_reg to copy BLKmode values into a
293         RESULT_DECL register.
294         (expand_expr_real_1): Handle BLKmode decls when looking for promotion.
295
296 2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
297
298         PR tree-optimization/51315
299         * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
300         (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
301
302 2012-01-04  Eric Botcazou  <ebotcazou@adacore.com>
303
304         PR tree-optimization/51624
305         * tree-sra.c (build_ref_for_model): When replicating a chain of
306         COMPONENT_REFs, stop as soon as the offset would become negative.
307
308 2012-01-04  Richard Guenther  <rguenther@suse.de>
309
310         PR tree-optimization/49651
311         * tree-ssa-structalias.c (type_can_have_subvars): New function.
312         (var_can_have_subvars): Use it.
313         (get_constraint_for_1): Only consider subfields if there can be any.
314
315 2012-01-03  Sandra Loosemore  <sandra@codesourcery.com>
316
317         Backport from mainline:
318         2012-01-02  Sandra Loosemore  <sandra@codesourcery.com>
319
320         * doc/invoke.texi (-flto and related options): Copy-edit.
321
322 2012-01-03  Richard Guenther  <rguenther@suse.de>
323
324         Backport from mainline
325         2011-11-10  Richard Guenther  <rguenther@suse.de>
326
327         PR tree-optimization/51042
328         * tree-ssa-pre.c (phi_translate_1): Avoid recursing on
329         self-referential expressions.  Refactor code to avoid duplication.
330
331 2012-01-03  Richard Guenther  <rguenther@suse.de>
332
333         PR tree-optimization/51070
334         * tree-loop-distribution.c (generate_builtin): Do not replace
335         the loop with a builtin if the partition contains statements which
336         results are used outside of the loop.
337         (stmt_has_scalar_dependences_outside_loop): Properly handle calls.
338
339 2011-12-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
340
341         Backport from the mainline
342         2011-12-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
343
344         * config/rs6000/rs6000.c (rs6000_inner_target_options): Fix thinko
345         in setting options via target #pragma or attribute.
346
347 2011-12-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
348
349         Backport from mainline
350         2011-12-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
351
352         PR target/51623
353         * config/rs6000/rs6000.c (rs6000_assemble_integer): Don't call
354         unlikely_text_section_p.  Instead check for being in a code section.
355
356 2011-12-23  Richard Guenther  <rguenther@suse.de>
357
358         PR rtl-optimization/50396
359         * simplify-rtx.c (simplify_binary_operation_1): Properly
360         guard code that only works for integers.
361
362 2011-12-22  Doug Kwan  <dougkwan@google.com>
363
364         Backport from mainline
365         2011-03-23  Julian Brown  <julian@codesourcery.com>
366
367         * expr.c (expand_expr_real_1): Only use BLKmode for volatile
368         accesses which are not naturally aligned.
369
370         2011-11-20  Joey Ye  <joey.ye@arm.com>
371
372         * expr.c (expand_expr_real_1): Correctly handle strict volatile
373         bitfield loads smaller than mode size.
374
375 2011-12-21  Richard Earnshaw  <rearnsha@arm.com>
376
377         PR target/51643
378         * arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous
379         change.
380
381 2011-12-21  Richard Earnshaw  <rearnsha@arm.com>
382
383         PR target/51643
384         * arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a
385         weak function on bare-metal EABI targets.
386
387 2011-12-21  Uros Bizjak  <ubizjak@gmail.com>
388
389         Backport from mainline
390         2011-12-21  Richard Guenther  <rguenther@suse.de>
391
392         PR lto/41159
393         * tree-outof-ssa.c (insert_value_copy_on_edge): Use the
394         mode of the pseudo as destination mode.  Only assert that
395         is equal to the promoted mode of the decl if it is a REG.
396
397 2011-12-21  Uros Bizjak  <ubizjak@gmail.com>
398
399         * config/alpha/linux-unwind.h: Update copyright years.
400         (MD_FROB_UPDATE_CONTEXT): New define.
401         (alpha_frob_update_context): New function.
402
403 2011-12-19  Martin Jambor  <mjambor@suse.cz>
404
405         PR tree-optimization/51583
406         * tree-sra.c (load_assign_lhs_subreplacements): Call
407         force_gimple_operand_gsi when necessary also in case of no
408         corresponding replacement on the RHS.
409
410 2011-12-16  Eric Botcazou  <ebotcazou@adacore.com>
411
412         * config/sparc/sparc.md (UNSPEC_FRAME_BLOCKAGE): New constant.
413         (frame_blockage): New expander.
414         (frame_blockage<P:mode>): New instruction.
415         * config/sparc/sparc.c (sparc_expand_prologue): When the sequence of
416         instructions establishing the frame isn't atomic, emit frame blockage.
417
418 2011-12-15  H.J. Lu  <hongjiu.lu@intel.com>
419
420         Backport from mainline.
421         2011-10-28  Chung-Lin Tang  <cltang@codesourcery.com>
422
423         PR rtl-optimization/49720
424         * simplify-rtx.c (simplify_relational_operation_1): Detect
425         infinite recursion condition in "(eq/ne (plus x cst1) cst2)
426         simplifies to (eq/ne x (cst2 - cst1))" case.
427
428 2011-12-15  Andreas Tobler  <andreast@fgznet.ch>
429
430         Backport from mainline.
431         2011-12-15  Andreas Tobler  <andreast@fgznet.ch>
432
433         * config/i386/freebsd.h (TARGET_ASM_FILE_END): Define.
434
435 2011-12-13  Eric Botcazou  <ebotcazou@adacore.com>
436
437         * lto-streamer-out.c (write_symbol): Use proper 64-bit host type.
438         * lto-cgraph.c (input_cgraph_opt_section): Use 'int' for offsets.
439         * lto-streamer-in.c (lto_read_body): Likewise.
440         (lto_input_toplevel_asms): Likewise.
441         * lto-section-in.c (lto_create_simple_input_block): Likewise.
442         * lto-opts.c (lto_read_file_options): Likewise.
443         * ipa-prop.c (ipa_prop_read_section): Likewise.
444
445         * df.h (DF_NOTE): Fix typo in comment.
446
447 2011-12-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
448
449         * regmove.c (fixup_match_2): Only access call_used_regs with hard
450         regs.
451
452 2011-12-12  Jakub Jelinek  <jakub@redhat.com>
453
454         PR middle-end/51510
455         * calls.c (internal_arg_pointer_based_exp_scan): Don't use
456         VEC_safe_grow_cleared if idx is smaller than VEC_length.
457
458         Backported from mainline
459         2011-12-11  Jakub Jelinek  <jakub@redhat.com>
460
461         PR tree-optimization/51485
462         * tree-vect-data-refs.c (vect_analyze_data_refs): Give up on
463         DRs in call stmts.
464
465 2011-12-12  Eric Botcazou  <ebotcazou@adacore.com>
466
467         PR tree-optimization/50569
468         * tree-sra.c (build_ref_for_model): Replicate a chain of COMPONENT_REFs
469         in the expression of MODEL instead of just the last one.
470
471 2011-12-09  Michael Meissner  <meissner@the-meissners.org>
472
473         Backport from mainline
474         2011-12-09  Michael Meissner  <meissner@the-meissners.org>
475
476         PR rtl-optimization/51469
477         * varasm.c (default_binds_local_p_1): If the symbol is a gnu
478         indirect function, mark the symbol as non-local.
479
480 2011-12-09  Jakub Jelinek  <jakub@redhat.com>
481
482         Backport from mainline
483         2011-12-08  Jakub Jelinek  <jakub@redhat.com>
484
485         PR tree-optimization/51466
486         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also copy
487         TREE_SIDE_EFFECTS.
488
489         2011-11-28  Jakub Jelinek  <jakub@redhat.com>
490
491         PR tree-optimization/50078
492         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Copy over
493         TREE_THIS_VOLATILE also from the old to new lhs resp. rhs.
494
495 2011-12-09  Kazu Hirata  <kazu@codesourcery.com>
496
497         Backport from mainline:
498
499         2011-12-05  Kazu Hirata  <kazu@codesourcery.com>
500
501         PR target/51408
502         * config/arm/arm.md (*minmax_arithsi): Always require the else
503         clause in the MINUS case.
504
505 2011-12-08  Teresa Johnson  <tejohnson@google.com>
506
507         Backport from mainline:
508
509         2011-08-05  Uros Bizjak  <ubizjak@gmail.com>
510
511         * config/i386/i386.md (*movdi_internal_rex64): Use "!o" constraint
512         instead of "!m" for operand 0, alternative 4.
513         (*movdf_internal_rex64): Ditto for operand 0, alernative 6.
514
515 2011-12-08  Jakub Jelinek  <jakub@redhat.com>
516
517         Backport from mainline
518         2011-12-05  Jakub Jelinek  <jakub@redhat.com>
519
520         PR debug/51410
521         * c-decl.c (pop_scope): Don't add DECL_EXTERNAL decls
522         for debug info if scope is file_scope.
523
524         PR c/51339
525         * c-decl.c (c_finish_incomplete_decl, finish_decl): Call
526         relayout_decl instead of layout_decl.
527
528         2011-12-05  Jakub Jelinek  <jakub@redhat.com>
529                     Eric Botcazou  <ebotcazou@adacore.com>
530
531         PR middle-end/51323
532         PR middle-end/50074
533         * calls.c (internal_arg_pointer_exp_state): New variable.
534         (internal_arg_pointer_based_exp_1,
535         internal_arg_pointer_exp_scan): New functions.
536         (internal_arg_pointer_based_exp): New function.
537         (mem_overlaps_already_clobbered_arg_p): Use it.
538         (expand_call): Free internal_arg_pointer_exp_state.cache vector
539         and clear internal_arg_pointer_exp_state.scan_start.
540
541         2011-11-30  Jakub Jelinek  <jakub@redhat.com>
542
543         PR rtl-optimization/48721
544         * sched-deps.c (sched_analyze_insn): For SIBLING_CALL_P set
545         reg_pending_barrier to TRUE_BARRIER.
546
547         2011-11-26  Joern Rennecke  <joern.rennecke@embecosm.com>
548
549         PR middle-end/50074
550         * calls.c (mem_overlaps_already_clobbered_arg_p):
551         Return false if no outgoing arguments have been stored so far.
552
553 2011-12-08  Eric Botcazou  <ebotcazou@adacore.com>
554
555         PR tree-optimization/51315
556         * tree-sra.c (tree_non_mode_aligned_mem_p): Rename to...
557         (tree_non_aligned_mem_p): ...this.  Add ALIGN parameter.  Look into
558         MEM_REFs and use get_object_or_type_alignment for them.
559         (build_accesses_from_assign): Adjust for above change.
560         (access_precludes_ipa_sra_p): Likewise.
561
562 2011-12-06  Martin Jambor  <mjambor@suse.cz>
563
564         Backport from mainline:
565
566         2011-12-02  Martin Jambor  <mjambor@suse.cz>
567
568         PR tree-optimization/50622
569         * tree-sra.c (load_assign_lhs_subreplacements): Force gimple operand
570         if both lacc and racc are grp_partial_lhs.
571
572 2011-12-06  Iain Sandoe  <iains@gcc.gnu.org>
573
574         * config/rs6000/rs6000.c (darwin_rs6000_override_options): Initialize
575         rs6000_current_abi.
576
577 2011-12-06  Alan Modra  <amodra@gmail.com>
578
579         PR target/50906
580         * config/rs6000/rs6000.c (rs6000_emit_prologue <TARGET_SPE_ABI>):
581         Do not mark r11 setup as frame-related.  Pass correct offset to
582         rs6000_emit_savres_rtx.  Correct out-of-line rs6000_frame_related
583         arguments.  Correct sp_offset.  Remove "offset" fudge from
584         in-line rs6000_frame_related call.  Rename misleading variable.
585         Fix comments and whitespace.  Tidy some expressions.
586         (rs6000_emit_epilogue <TARGET_SPE_ABI>): Always set frame_reg_rtx
587         to r11 in out-of-line case.  Correct sp_offset.  Pass correct
588         offset to rs6000_emit_savres_rtx.  Rename misleading variable.
589         Fix comments and whitespace.  Tidy some expressions.
590         (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Add sp_offset
591         adjustment when !saving_GPRs_inline.  Correct register mode
592         used in address calcs.
593         (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Similarly when
594         !restoring_GPRs_inline.
595
596 2011-12-04  Jérémie Detrey  <Jeremie.Detrey@loria.fr>
597
598         PR target/51393
599         * config/i386/avxintrin.h (_mm256_insert_epi64): Declare second
600         parameter as long long.
601
602 2011-12-02  Georg-Johann Lay  <avr@gjlay.de>
603
604         PR target/51002
605         PR target/51345
606         * config/avr/libgcc.S (__prologue_saves__, __epilogue_restores__):
607         Enclose parts using __SP_H__ in !defined (__AVR_HAVE_8BIT_SP__).
608         Add FIXME comments.
609         * config/avr/avr.md (movhi_sp_r_irq_off, movhi_sp_r_irq_on): Set
610         insn condition to !AVR_HAVE_8BIT_SP.
611         * config/avr/avr.c (output_movhi): "clr%B0" instead of "in
612         %B0,__SP_H__" if AVR_HAVE_8BIT_SP.
613         (avr_file_start): Only print "__SP_H__ = 0x3e" if !AVR_HAVE_8BIT_SP.
614         * config/avr/avr-devices.c (avr_mcu_types): ATtiny4313 and
615         AT86RF401 have a 16-bit SP (their manual is bogus).
616
617 2011-11-25  Richard Sandiford  <richard.sandiford@linaro.org>
618
619         Backport from mainline:
620
621         2011-03-29  Richard Sandiford  <richard.sandiford@linaro.org>
622
623         PR debug/48190
624         * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
625         (cached_dw_loc_list_def): New structure.
626         (cached_dw_loc_list): New typedef.
627         (cached_dw_loc_list_table): New variable.
628         (cached_dw_loc_list_table_hash): New function.
629         (cached_dw_loc_list_table_eq): Likewise.
630         (add_location_or_const_value_attribute): Take a bool cache_p.
631         Cache the list when the parameter is true.
632         (gen_formal_parameter_die): Update caller.
633         (gen_variable_die): Likewise.
634         (dwarf2out_finish): Likewise.
635         (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
636         while generating debug info for the decl.
637         (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
638         (dwarf2out_init): Initialize cached_dw_loc_list_table.
639         (resolve_addr): Cache the result of resolving a chain of
640         location lists.
641
642 2011-11-24  Enkovich Ilya  <ilya.enkovich@intel.com>
643
644         PR target/51287
645         * i386.c (distance_non_agu_define): Fix insn attr check.
646
647 2011-11-20  Andreas Tobler  <andreast@fgznet.ch>
648
649         * configure: Regenerate.
650
651 2011-11-19  Eric Botcazou  <ebotcazou@adacore.com>
652
653         PR rtl-optimization/51187
654         * reorg.c (relax_delay_slots): Do not consider a jump useless if there
655         is a barrier between the jump and its target label.
656
657 2011-11-19  Richard Earnshaw  <rearnsha@arm.com>
658
659         PR target/50493
660         * config/arm/arm.c (neon_disambiguate_copy): Correctly handle partial
661         overlap of src and dest operands.
662
663 2011-11-18  Iain Sandoe  <iains@gcc.gnu.org>
664
665         PR target/49992
666         * configure.ac: Remove ranlib special-casing for Darwin.
667         * configure: Regenerate.
668
669 2011-11-16  Richard Earnshaw  <rearnsha@arm.com>
670             Bernd Schmidt <bernds@coudesourcery.com>
671             Sebastian Huber <sebastian.huber@embedded-brains.de>
672
673         PR target/49641
674         * config/arm/arm.c (store_multiple_sequence): Avoid cases where
675         the base reg is stored iff compiling for Thumb1.
676
677 2011-11-13  Iain Sandoe  <iains@gcc.gnu.org>
678
679         PR target/48108
680         Backport from mainline r180523
681         * config/darwin.c (top level): Amend comments concerning LTO output.
682         (lto_section_num): New variable.  (darwin_lto_section_e): New GTY.
683         (LTO_SECTS_SECTION, LTO_INDEX_SECTION): New.
684         (LTO_NAMES_SECTION): Rename.
685         (darwin_asm_named_section): Record LTO section counts and switches
686         in a vec of darwin_lto_section_e.
687         (darwin_file_start): Remove unused code.
688         (darwin_file_end): Put an LTO section termination label.  Handle
689         output of the wrapped LTO sections, index and names table.
690
691 2011-11-12  Iain Sandoe  <iains@gcc.gnu.org>
692
693         PR target/45233
694         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
695         Only expand a symbol ref. into an access when the entity is defined
696         in the TU.
697
698 2011-11-10  Jakub Jelinek  <jakub@redhat.com>
699
700         PR middle-end/51077
701         * tree-object-size.c (addr_object_size): Check TREE_CODE of
702         MEM_REF's operand rather than code of the MEM_REF itself.
703
704 2011-11-07  Alan Modra  <amodra@gmail.com>
705
706         PR target/30282
707         * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Always emit
708         blockage for ABI_V4.
709
710 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
711
712         PR c++/50608
713         * c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call
714         to fold_offsetof.
715         * c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1.
716
717 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
718
719         PR target/50979
720         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8.
721
722 2011-11-03  Uros Bizjak  <ubizjak@gmail.com>
723
724         * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2,
725         rint<mode>2, floor<mode>2, lfloor<MODEF:mode><SWI48:mode>2,
726         btrunc<mode>2, lwp_lwpval<mode>3): Use operands[N] instead of operandN.
727
728 2011-11-02  Eric Botcazou  <ebotcazou@adacore.com>
729
730         PR target/50945
731         * config/sparc/sparc.md (movsf_insn): Reindent constraints.
732         (movsf_insn_no_fpu): Likewise.
733         (movdf_insn_sp32): Likewise.
734         (movdf_insn_sp32_no_fpu): Likewise.
735         (movdf_insn_sp32_v9): Likewise.  Remove redundant GY constraint.
736         (movdf_insn_sp32_v9_no_fpu): Likewise.
737         (movdf_insn_sp64): Likewise.
738         (movdf_insn_sp64_no_fpu): Likewise.
739         (movtf_insn_sp32): Likewise.
740         (movtf_insn_sp32_no_fpu): Likewise.
741         (movtf_insn_sp64): Likewise.
742         (movtf_insn_sp64_hq): Likewise.
743         (movtf_insn_sp64_no_fpu): Likewise.
744
745 2011-11-02  Bernd Schmidt  <bernds@codesourcery.com>
746
747         * cfgcleanup.c (try_head_merge_bb): If get_condition returns
748         NULL for a jump that is a cc0 insn, pick the previous insn for
749         move_before.
750
751 2011-11-01  Uros Bizjak  <ubizjak@gmail.com>
752
753         * config/i386/i386.md (splitters for int-float conversion): Use
754         SUBREG_REG on SUBREGs in splitter constraints.
755
756 2011-11-01  Julian Brown  <julian@codesourcery.com>
757
758         PR rtl-optimization/47918
759         * reload1.c (set_initial_label_offsets): Use initial offsets
760         for labels on the nonlocal_goto_handler_labels chain.
761
762 2011-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
763
764         PR target/50691
765         * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references.
766         * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Return false for
767         TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC symbol references.
768
769 2011-10-27  Uros Bizjak  <ubizjak@gmail.com>
770
771         PR target/50875
772         * config/i386/sse.md (*avx_unpcklpd256): Remove extra insn
773         constraints.  Change alternative 1 to "x,m,1".
774
775 2011-10-26  Jakub Jelinek  <jakub@redhat.com>
776
777         * BASE-VER: Set to 4.6.3.
778         * DEV-PHASE: Set to prerelease.
779
780 2011-10-26  Release Manager
781
782         * GCC 4.6.2 released.
783
784 2011-10-25  Kai Tietz  <ktietz@redhat.com>
785
786         * config/i386/mingw32.h (SUBTARGET_FRAME_POINTER_REQUIRED):
787         Use for 32-bit frame-pointer, if setjmp is used.
788
789 2011-10-24  Jakub Jelinek  <jakub@redhat.com>
790
791         PR debug/50816
792         * dwarf2out.c (dwarf2out_source_line): Emit discriminators only if
793         -gdwarf-4 or not -gstrict-dwarf.
794
795 2011-10-24  Georg-Johann Lay  <avr@gjlay.de>
796
797         PR target/49824
798         Backport from mainline r180385
799         * doc/extend.texi (Declaring Attributes of Functions):
800         Document OS_main and OS_task attributes.
801         (Specifying Attributes of Variables): Move up
802         subsection "AVR Variable Attributes" as of alphabetical order.
803
804 2011-10-24  Georg-Johann Lay  <avr@gjlay.de>
805
806         PR target/50820
807         * doc/invoke.texi (AVR Options): New subsubsection to explain EIND
808         handling and indirect jump/calls on devices > 128k.
809
810 2011-10-23  Uros Bizjak  <ubizjak@gmail.com>
811
812         PR target/50788
813         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
814         Remove (match_dup 0).
815
816 2011-10-21  Georg-Johann Lay  <avr@gjlay.de>
817
818         PR target/50820
819         Backport from Mainline r180299.
820         * config/avr/libgcc.S (__EIND__): New define to 0x3C.
821         (__tablejump__): Consistently use EIND for indirect jump/call.
822         (__tablejump_elpm__): Ditto.
823
824 2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
825
826         PR target/50106
827         Backport from mainline.
828         2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
829
830         * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
831         reg size from 1-3.
832
833 2011-10-19  Jakub Jelinek  <jakub@redhat.com>
834
835         * dwarf2out.c (loc_descriptor): For SUBREG pass SUBREG_REG's mode as
836         second argument instead of mode.
837
838         PR target/50350
839         Backport from mainline
840         2011-09-27  Richard Sandiford  <rdsandiford@googlemail.com>
841
842         PR middle-end/50386
843         PR middle-end/50326
844         * tree-sra.c (build_ref_for_model): Use the type of the field as
845         the type of the COMPONENT_REF.
846
847 2011-10-18  Uros Bizjak  <ubizjak@gmail.com>
848             Eric Botcazou  <ebotcazou@adacore.com>
849
850         PR target/50737
851         * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Set
852         fs->signal_frame to 1.
853
854 2011-10-14  Richard Guenther  <rguenther@suse.de>
855
856         Backport from mainline
857         2011-10-14  Richard Guenther  <rguenther@suse.de>
858
859         PR tree-optimization/50723
860         * ipa-split.c (split_function): Use GSI_CONTINUE_LINKING.
861
862         2011-10-13  Richard Guenther  <rguenther@suse.de>
863
864         PR tree-optimization/50712
865         * ipa-split.c (split_function): Always re-gimplify parameters
866         when they are not gimple vals before passing them.  Properly
867         check for type compatibility.
868
869 2011-10-13  Eric Botcazou  <ebotcazou@adacore.com>
870
871         * doc/invoke.texi (SPARC options): Document -mfix-at697f.
872         * config/sparc/sparc.opt (mfix-at697f): New option.
873         * config/sparc/sparc.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
874         (sparc_reorg): New function.
875
876 2011-10-12  Steve Ellcey  <sje@cup.hp.com>
877
878         PR target/49967
879         Backport from Mainline 179472.
880         * configure.ac (gcc_cv_ld_static_dynamic): Define for *-*-hpux*.
881         (gcc_cv_ld_static_option): Ditto.
882         (gcc_cv_ld_dynamic_option): Ditto.
883         * configure: Regenerate.
884
885 2011-10-12  Paul Koning  <pkoning@gcc.gnu.org>
886
887         PR tree-optimization/50189
888         * tree-vrp.c (extract_range_from_assert): Use the type of
889         the variable, not the limit.
890
891 2011-10-12  Richard Guenther  <rguenther@suse.de>
892
893         PR tree-optimization/50700
894         * tree-object-size.c (addr_object_size): Simplify and treat
895         MEM_REF bases consistently.
896
897 2011-10-12  Joseph Myers  <joseph@codesourcery.com>
898
899         PR c/50565
900         * convert.c (convert_to_integer): Do not narrow operands of
901         pointer subtraction.
902
903 2011-10-11  Eric Botcazou  <ebotcazou@adacore.com>
904
905         PR target/49965
906         * config/sparc/sparc.md (mov<I:mode>cc): Do not save comparison code.
907         (mov<F:mode>cc): Likewise.
908
909 2011-10-11  Nick Clifton  <nickc@redhat.com>
910
911         PR middle-end/49801
912         * compare-elim.c (find_comparisons_in_bb): Use df_get_live_in and
913         df_get_live_out instead of accessing the bitmaps directly.
914         (execute_compare_elim_after_reload): Remove calls to df_set_flags,
915         df_live_add_problem and df_analyze.
916
917 2011-10-10  Georg-Johann Lay  <avr@gjlay.de>
918
919         PR target/50652
920         Backport from Mainline r179737.
921         * config/avr/avr-devices.c (avr_mcu_types): Set
922         .data_section_start of atmega164a to 0x100.
923
924 2011-10-07  Bernd Schmidt  <bernds@codesourcery.com>
925
926         PR target/49049
927         * config/arm/arm.md (arm_subsi3_insn): Lose the last alternative.
928
929 2011-10-06  Jakub Jelinek  <jakub@redhat.com>
930
931         * tree.h (avoid_folding_inline_builtin): New prototype.
932         * builtins.c (avoid_folding_inline_builtin): No longer static.
933         * gimple-fold.c (gimple_fold_builtin): Give up if
934         avoid_folding_inline_builtin returns true.
935
936         PR tree-optimization/49279
937         * tree-ssa-structalias.c (find_func_aliases): Don't handle
938         CAST_RESTRICT.
939
940 2011-10-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
941
942         * longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local
943         variables.  Fix second operand of DR.  Swap inputs for sdiv_qrnnd.
944
945 2011-10-03  Jakub Jelinek  <jakub@redhat.com>
946             Ian Lance Taylor  <iant@google.com>
947
948         * godump.c (go_output_typedef): Support printing enum values that
949         don't fit in a signed HOST_WIDE_INT.
950
951 2011-09-30  Jakub Jelinek  <jakub@redhat.com>
952
953         PR inline-asm/50571
954         * gimple-fold.c (fold_stmt_1) <case GIMPLE_ASM>: If
955         input constraints allow mem and not reg, pass true instead of
956         false as second argument to maybe_fold_reference.
957
958 2011-09-30  Jakub Jelinek  <jakub@redhat.com>
959             Richard Guenther  <rguenther@suse.de>
960
961         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Fix
962         handling of BUILT_IN_STRNCAT.
963         (ref_maybe_used_by_call_p_1): Fix handling of BUILT_IN_STRCAT,
964         and BUILT_IN_STRNCAT.
965
966 2011-09-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
967
968         * graphite-scop-detection.c (make_close_phi_nodes_unique):  New
969         forward declaration.
970         (remove_duplicate_close_phi): Detect and repair creation of
971         duplicate close-phis for a containing loop.
972
973 2011-09-26  Richard Guenther  <rguenther@suse.de>
974
975         PR tree-optimization/50472
976         * tree-ssa-ccp.c (fold_const_aggregate_ref): Do not fold
977         volatile references.
978
979 2011-09-25  Ira Rosen  <ira.rosen@linaro.org>
980
981         PR tree-optimization/50413
982         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail to vectorize
983         a basic block if one of its data-refs can't be analyzed.
984
985 2011-09-25  Ira Rosen  <ira.rosen@linaro.org>
986
987         PR tree-optimization/50412
988         * tree-vect-data-refs.c (vect_analyze_group_access): Fail for
989         accesses that require epilogue loop if vectorizing outer loop.
990
991 2011-09-22  Uros Bizjak  <ubizjak@gmail.com>
992
993         PR target/50464
994         * config/i386/sse.md (xop_pcmov_<mode>): Change operand 1 predicate
995         to register_operand and operand 2 predicate to nonimmediate_operand.
996         (xop_pcmov_<mode>256): Ditto.
997         * config/i386/i386.c (ix86_expand_sse_movcc): When generating
998         xop_pcmov, force op_true to register.  Also, force op_false to
999         register if it doesn't satisfy nonimmediate_operand predicate.
1000
1001 2011-09-19  Alan Modra  <amodra@gmail.com>
1002             Michael Meissner  <meissner@linux.vnet.ibm.com>
1003
1004         PR target/50341
1005         * config/rs6000/rs6000.md (call_indirect_aix32): Do not split the
1006         load of the indirect function's TOC from the call to prevent the
1007         compiler from moving the load of the new TOC above code that
1008         references the current function's TOC.
1009         (call_indirect_aix64): Ditto.
1010         (call_value_indirect_aix32): Ditto.
1011         (call_value_indirect_aix64): Ditto.
1012         (call_indirect_nonlocal_aix32_internal): Ditto.
1013         (call_indirect_nonlocal_aix32): Ditto.
1014         (call_indirect_nonlocal_aix64_internal): Ditto.
1015         (call_indirect_nonlocal_aix64): Ditto.
1016         (call_value_indirect_nonlocal_aix32_internal): Ditto.
1017         (call_value_indirect_nonlocal_aix32): Ditto.
1018         (call_value_indirect_nonlocal_aix64_internal): Ditto.
1019         (call_value_indirect_nonlocal_aix64): Ditto.
1020
1021 2011-09-19  Martin Jambor  <mjambor@suse.cz>
1022
1023         PR middle-end/49886
1024         * ipa-split.c (split_function): Do not change signature if it is
1025         not possible or there are attribute types.
1026
1027 2011-09-18  Eric Botcazou  <ebotcazou@adacore.com>
1028             Iain Sandoe  <developer@sandoe-acoustics.co.uk>
1029
1030         PR target/50091
1031         * config/rs6000/rs6000.md (probe_stack): Use explicit operand.
1032         * config/rs6000/rs6000.c (output_probe_stack_range): Likewise.
1033
1034 2011-09-14  Diego Novillo  <dnovillo@google.com>
1035
1036         * tree-vect-stmts.c (vect_transform_stmt): Remove unused
1037         local variable ORIG_SCALAR_STMT.
1038
1039 2011-09-08  Martin Jambor  <mjambor@suse.cz>
1040
1041         Backport from mainline
1042         2011-09-07  Martin Jambor  <mjambor@suse.cz>
1043
1044         PR tree-optimization/49911
1045         * tree-sra.c (analyze_access_subtree): Change type of to-be-replaced
1046         enumerations to the corresponding plain integer type.
1047
1048 2011-09-08  Richard Guenther  <rguenther@suse.de>
1049
1050         Backport from mainline
1051         2011-07-04  Richard Guenther  <rguenther@suse.de>
1052
1053         PR tree-optimization/49518
1054         PR tree-optimization/49628
1055         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Skip
1056         irrelevant data-references.
1057
1058 2011-09-08  Richard Guenther  <rguenther@suse.de>
1059
1060         Backport from mainline
1061         2011-08-23  Richard Guenther  <rguenther@suse.de>
1062
1063         PR tree-optimization/50162
1064         * tree-vect-stmts.c (vectorizable_call): Fix argument lookup.
1065
1066 2011-09-08  Richard Guenther  <rguenther@suse.de>
1067
1068         Backport from mainline
1069         2011-05-05  Michael Matz  <matz@suse.de>
1070
1071         * config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
1072         * config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
1073         * config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
1074         * config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
1075         * config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
1076         * config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
1077         * config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
1078         * config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
1079         * config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
1080         * config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
1081         * config/i386/linux.h (ENDFILE_SPEC): Add Ofast.
1082         * config/i386/linux64.h (ENDFILE_SPEC): Add Ofast.
1083         * config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
1084         * config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
1085         * config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
1086         * config/mips/linux.h (ENDFILE_SPEC): Add Ofast.
1087
1088 2011-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1089             Iain Sandoe  <iains@gcc.gnu.org>
1090
1091         Backport from mainline (restore powerpc-darwin Ada bootstrap).
1092         * config/rs6000/rs6000.c (compute_save_world_info): Test
1093         cfun->has_nonlocal_label to determine if the out-of-line save
1094         world call may be used.
1095
1096 2011-09-08  Jakub Jelinek  <jakub@redhat.com>
1097
1098         PR target/50310
1099         * config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Return
1100         code early if TARGET_AVX.
1101         (ix86_expand_fp_vcond): Handle LTGT and UNEQ.
1102
1103 2011-09-06  Martin Jambor  <mjambor@suse.cz>
1104
1105         Revert
1106         2011-09-02  Martin Jambor  <mjambor@suse.cz>
1107         PR middle-end/49886
1108         * ipa-split.c (split_function): Do not skip any arguments if
1109         can_change_signature is set or there are function type attributes.
1110
1111 2011-09-05  Georg-Johann Lay  <avr@gjlay.de>
1112
1113         PR target/50289
1114         Backport from mainline r178528
1115         * config/avr/avr.c (sequent_regs_live): Don't recognize sequences
1116         that contain global register variable.
1117
1118 2011-09-02  Martin Jambor  <mjambor@suse.cz>
1119
1120         PR middle-end/49886
1121         * ipa-split.c (split_function): Do not skip any arguments if
1122         can_change_signature is set or there are function type attributes.
1123
1124 2011-09-01  Ira Rosen  <ira.rosen@linaro.org>
1125
1126         PR tree-optimization/50178
1127         * tree-vect-stmts.c (vectorizable_call): Update the related
1128         pattern statement before deleting the original call.
1129         (vect_transform_stmt): Don't expect the related pattern statement
1130         to match the original statement after transformation.
1131
1132 2011-08-29  Richard Guenther  <rguenther@suse.de>
1133
1134         PR middle-end/50116
1135         * varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].
1136
1137 2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
1138
1139         * config/i386/sse.md (vec_extract_lo_<mode>): Prevent both
1140         operands in memory.
1141         (vec_extract_lo_v16hi): Ditto.
1142         (*vec_extract_v4sf_mem): Add TARGET_SSE insn constraint.
1143         * config/i386/i386.c (legitimize_tls_address): Change REG_EQIV
1144         notes to REG_EQUAL.
1145
1146 2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
1147
1148         PR target/50202
1149         * config/i386/sse.md (sse4_2_pcmpestr): Emit NOTE_INSN_DELETED note
1150         when all outputs are unused.
1151         (sse4_2_pcmpistr): Ditto.
1152
1153 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
1154
1155         PR c/50179
1156         * c-typeck.c (c_process_expr_stmt): Skip over nops and
1157         call mark_exp_read even if exprv is ADDR_EXPR.
1158
1159 2011-08-20  Jakub Jelinek  <jakub@redhat.com>
1160
1161         PR tree-optimization/48739
1162         * tree-ssa.c: Include cfgloop.h.
1163         (execute_update_addresses_taken): When updating ssa, if in
1164         loop closed SSA form, call rewrite_into_loop_closed_ssa instead of
1165         update_ssa.
1166         * Makefile.in (tree-ssa.o): Depend on $(CFGLOOP_H).
1167
1168 2011-08-18  Jakub Jelinek  <jakub@redhat.com>
1169
1170         PR target/50092
1171         * config/i386/i386.c (assign_386_stack_local): Call validize_mem
1172         on the result before returning it.
1173
1174 2011-08-16  Liang Wang  <lwang1@marvell.com>
1175
1176         * ggc.h (ggc_alloc_rtvec_sized): Change arguments of
1177         ggc_alloc_zone_vec_rtvec_def.
1178
1179 2011-08-12  Nick Clifton  <nickc@redhat.com>
1180
1181         * builtins.c (expand_builtin_memcmp): Do not use cmpstrnsi
1182         pattern.
1183         * doc/md.texi (cmpstrn): Note that the comparison stops if both
1184         fetched bytes are zero.
1185         (cmpstr): Likewise.
1186         (cmpmem): Note that the comparison does not stop if both of the
1187         fetched bytes are zero.
1188
1189 2011-08-11  Kazuhiro Inaoka  <kazuhiro.inaoka.ud@renesas.com>
1190
1191         * config/rx/rx.md (movsicc): Allow register to register
1192         transfers.
1193         (*movsicc): Likewise.
1194         (*stcc): Restrict this pattern to EQ and NE compares.
1195         (*stcc_reg): New pattern.  Works for any comparison but only for
1196         register transfers.
1197
1198 2011-08-10  DJ Delorie  <dj@redhat.com>
1199
1200         * expr.c (expand_expr_addr_expr_1): Detect a user request for
1201         a local frame in a naked function, and produce a suitable
1202         error for that specific case.
1203
1204 2011-08-09  Martin Jambor  <mjambor@suse.cz>
1205
1206         PR middle-end/49923
1207         * tree-sra.c (access_precludes_ipa_sra_p): Also check access
1208         memory alignment.
1209
1210 2011-08-09  Nick Clifton  <nickc@redhat.com>
1211
1212         * config/rx/rx.md: Disable extender peepholes at -O3.
1213
1214 2011-08-06  Uros Bizjak  <ubizjak@gmail.com>
1215
1216         PR target/50001
1217         * config/alpha/alpha.c (alpha_instantiate_decls): New function.
1218         (TARGET_INSTANTIATE_DECLS): New define.
1219
1220 2011-08-05  H.J. Lu  <hongjiu.lu@intel.com>
1221
1222         Backport from mainline
1223         2011-08-05  H.J. Lu  <hongjiu.lu@intel.com>
1224
1225         * config/i386/i386.c (processor_alias_table): Add core-avx-i.
1226
1227         * doc/invoke.texi: Document core-avx-i.
1228
1229 2011-08-03  Jakub Jelinek  <jakub@redhat.com>
1230
1231         PR tree-optimization/49948
1232         * gimple.c (walk_stmt_load_store_addr_ops): Walk CONSTRUCTOR elements.
1233
1234 2011-08-02  Uros Bizjak  <ubizjak@gmail.com>
1235
1236         * doc/md.texi (stack_protect_set): The pattern moves ptr_mode value.
1237         (stack_protect_test): The pattern compares ptr_mode value.
1238
1239 2011-07-31  Uros Bizjak  <ubizjak@gmail.com>
1240
1241         PR target/49920
1242         * config/i386/i386.md (strset): Do not expand strset_singleop
1243         when %eax or $edi are fixed.
1244         (*strsetdi_rex_1): Disable when %eax or %edi are fixed.
1245         (*strsetsi_1): Ditto.
1246         (*strsethi_1): Ditto.
1247         (*strsetqi_1): Ditto.
1248         (*rep_stosdi_rex64): Disable when %eax, %ecx or %edi are fixed.
1249         (*rep_stossi): Ditto.
1250         (*rep_stosqi): Ditto.
1251         (*strlenqi_1): Ditto.
1252         (cmpstrnsi): Also fail when %ecx is fixed.
1253         (*cmpstrnqi_nz_1): Disable when %ecx, %esi or %edi are fixed.
1254         (*cmpstrnqi_1): Ditto.
1255         (*strmovdi_rex_1): Disable when %esi or %edi are fixed.
1256         (*strmovsi_1): Ditto.
1257         (*strmovhi_1): Ditto.
1258         (*strmovqi_1): Ditto.
1259         (*rep_movdi_rex64): Disable when %ecx, %esi or %edi are fixed.
1260         (*rep_movsi): Ditto.
1261         (*rep_movqi): Ditto.
1262
1263 2011-07-31  Mikael Pettersson  <mikpe@it.uu.se>
1264
1265         PR target/47908
1266         * config/m68k/m68k.c (m68k_override_options_after_change): New function.
1267         Disable instruction scheduling for non-ColdFire targets.
1268         (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
1269
1270 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
1271
1272         PR middle-end/49897
1273         PR middle-end/49898
1274         * omp-low.c (use_pointer_for_field): If disallowing copy-in/out
1275         in nested parallel and outer is a gimple_reg, mark it as addressable
1276         and set its bit in task_shared_vars bitmap too.
1277
1278 2011-07-29  Wei Guozhi  <carrot@google.com>
1279
1280         Backport from mainline
1281         2011-07-29  Wei Guozhi  <carrot@google.com>
1282
1283         PR rtl-optimization/49799
1284         * combine.c (make_compound_operation): Check if the bit field is valid
1285         before change it to bit field extraction.
1286
1287 2011-07-28  Jakub Jelinek  <jakub@redhat.com>
1288
1289         PR debug/49871
1290         * dwarf2out.c (size_of_die, value_format, output_die): Use
1291         DW_FORM_udata instead of DW_FORM_data[48] for
1292         dw_val_class_unsigned_const DW_AT_data_member_location for DWARF 3.
1293
1294 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
1295
1296         Backport from mainline
1297         2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
1298
1299         PR target/47364
1300         * config/i386/i386.md (strlen<mode>): Replace SWI48x with P.
1301
1302 2011-07-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1303
1304         Backport from mainline:
1305         2011-07-26  Martin Jambor  <mjambor@suse.cz>
1306
1307         * tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
1308         return false for invariants.
1309
1310 2011-07-27  Jakub Jelinek  <jakub@redhat.com>
1311
1312         PR target/49866
1313         * config/i386/i386.md (*call_pop_1_vzeroupper, *call_pop_1,
1314         *sibcall_pop_1_vzeroupper, *sibcall_pop_1, *call_1_vzeroupper,
1315         *call_1, *sibcall_1_vzeroupper, *sibcall_1, *call_1_rex64_vzeroupper,
1316         *call_1_rex64, *call_1_rex64_ms_sysv_vzeroupper,
1317         *call_1_rex64_ms_sysv, *sibcall_1_rex64_vzeroupper,
1318         *sibcall_1_rex64, *call_value_pop_1_vzeroupper,
1319         *call_value_pop_1, *sibcall_value_pop_1_vzeroupper,
1320         *sibcall_value_pop_1, *call_value_1_vzeroupper,
1321         *call_value_1, *sibcall_value_1_vzeroupper,
1322         *sibcall_value_1, *call_value_1_rex64_vzeroupper,
1323         *call_value_1_rex64, *call_value_1_rex64_ms_sysv_vzeroupper,
1324         *call_value_1_rex64_ms_sysv, *sibcall_value_1_rex64_vzeroupper,
1325         *sibcall_value_1_rex64): Use z constraint instead of s constraint.
1326
1327         Backport from mainline
1328         2011-05-16  Uros Bizjak  <ubizjak@gmail.com>
1329
1330         * config/i386/constraints.md (z): New constraint.
1331
1332 2011-07-25  Andrew Pinski  <apinski@cavium.com>
1333
1334         PR tree-opt/49671
1335         * tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and
1336         TREE_THIS_NOTRAP into the inner most MEM_REF.
1337         Always copy TREE_THIS_VOLATILE.
1338         * tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and
1339         arguments are not volatile references.
1340
1341 2011-07-25  Georg-Johann Lay  <avr@gjlay.de>
1342
1343         PR target/39386
1344         Backport from mainline r176756
1345         2011-07-25  Georg-Johann Lay
1346         * config/avr/avr.c (out_shift_with_cnt): Use tmp_reg as
1347         shift counter for x << x and x >> x shifts.
1348
1349 2011-07-22  Uros Bizjak  <ubizjak@gmail.com>
1350
1351         * config.gcc (x86_64-*-linux*): Set
1352         default_gnu_indirect_function to yes.
1353
1354 2011-07-22  Richard Guenther  <rguenther@suse.de>
1355
1356         PR tree-optimization/45819
1357         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Properly
1358         preserve volatile and notrap flags.
1359
1360 2011-07-21  Uros Bizjak  <ubizjak@gmail.com>
1361
1362         Backport from mainline
1363         2011-07-04  Uros Bizjak  <ubizjak@gmail.com>
1364
1365         PR target/49600
1366         * config/i386/i386.md (SSE2 int->float split): Push operand 1 in
1367         general register to memory for !TARGET_INTER_UNIT_MOVES.
1368
1369 2011-07-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1370
1371         * config/s390/s390.c (s390_class_max_nregs): Fix return type.
1372         * config/s390/s390-protos.h (s390_class_max_nregs): Likewise.
1373
1374 2011-07-19  Jakub Jelinek  <jakub@redhat.com>
1375
1376         PR tree-optimization/49768
1377         * tree-ssa-ccp.c (fold_nonarray_ctor_reference): Return NULL
1378         if offset is smaller than bitoffset, but offset+size is bigger
1379         than bitoffset.
1380
1381 2011-07-18  Jakub Jelinek  <jakub@redhat.com>
1382
1383         PR middle-end/49675
1384         * tree.c (build_common_builtin_nodes): Register
1385         __builtin_return_address, __cyg_profile_func_enter
1386         and __cyg_profile_func_exit.
1387
1388 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1389
1390         * config.gcc: Obsolete i[3456x]86-*-netware*.
1391
1392 2011-07-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1393
1394         PR target/49746
1395         Revert:
1396         2010-12-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1397
1398         * config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean
1399         patterns.
1400
1401 2011-07-17  Eric Botcazou  <ebotcazou@adacore.com>
1402
1403         PR middle-end/49732
1404         * tree.c (walk_tree_1) <DECL_EXPR>: Do not walk a pointed-to type.
1405
1406 2011-07-16  Eric Botcazou  <ebotcazou@adacore.com>
1407
1408         PR tree-optimization/49725
1409         Backport from mainline
1410         2011-03-31  Eric Botcazou  <ebotcazou@adacore.com>
1411
1412         * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
1413         a zero minimum index only if it is redundant.
1414
1415 2011-07-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1416
1417         PR target/49723
1418         * config/pa/pa.md (casesi): Use gen_int_mode instead of GEN_INT.
1419
1420 2011-07-15  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1421
1422         Backport from mainline:
1423         2011-07-13  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1424
1425         * config/spu/spu.c (TARGET_ASM_FILE_START): Do not define.
1426         (asm_file_start): Remove.
1427         (spu_machine_dependent_reorg): Call compute_bb_for_insn and
1428         free_bb_for_insn around code that modifies insns before
1429         restarting df analysis.
1430
1431 2011-07-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1432
1433         Backport from mainline:
1434         2011-07-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1435
1436         PR target/49541
1437         * config/sol2.h (LIB_SPEC): Simplify.
1438         Move LIB_THREAD_LDFLAGS_SPEC ...
1439         (LINK_SPEC): ... here.
1440
1441 2011-07-14  James Greenhalgh  <james.greenhalgh@arm.com>
1442
1443         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add __ARM_FEATURE_DSP.
1444
1445 2011-07-14  Andrew Pinski  <pinskia@gmail.com>
1446
1447         PR tree-opt/49309
1448         * tree-mudflap.c (mf_xform_derefs_1 <case MEM_REF>):
1449         Use fold_build2_loc instead of build2.
1450         Use the correct type for the new tree.
1451
1452 2011-07-14  Georg-Johann Lay  <avr@gjlay.de>
1453
1454         PR target/49487
1455         Backport from mainline r176276
1456         2011-07-14  Georg-Johann Lay
1457         * config/avr/avr.md (rotl<mode>3): Generate SCRATCH instead
1458         of REG.
1459         (*rotw<mode>): Use const_int_operand for operand2.
1460         Use match_scatch for operand3.
1461         (*rotb<mode>): Ditto
1462         * config/avr/avr.c (avr_rotate_bytes): Treat SCRATCH.
1463
1464 2011-07-14  Richard Guenther  <rguenther@suse.de>
1465
1466         PR tree-optimization/49651
1467         * tree-ssa-structalias.c (get_constraint_for_1): Properly
1468         handle dereferences with subvariables.
1469
1470 2011-07-11  Martin Jambor  <mjambor@suse.cz>
1471
1472         PR tree-optimization/49094
1473         * tree-sra.c (tree_non_mode_aligned_mem_p): New function.
1474         (build_accesses_from_assign): Use it.
1475
1476 2011-07-11  Georg-Johann Lay  <avr@gjlay.de>
1477
1478         PR target/39633
1479         Backport from mainline r176141
1480         2011-07-11  Georg-Johann Lay
1481         * config/avr/avr.c (notice_update_cc): For ashiftrt:QI, only
1482         offsets 1..5 set cc0 in a usable way.
1483
1484 2011-07-08  Jakub Jelinek  <jakub@redhat.com>
1485
1486         PR target/49621
1487         * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Use
1488         CONST0_RTX (dest_mode) instead of const0_rtx as second operand
1489         of NE.
1490         * config/rs6000/vector.md (vector_select_<mode>,
1491         vector_select_<mode>_uns): Change second operand of NE to
1492         CONST0_RTX (<MODE>mode) instead of const0_rtx.
1493         * config/rs6000/altivec.md (*altivec_vsel<mode>,
1494         *altivec_vsel<mode>_uns): Expect second operand of NE to be
1495         zero_constant of the corresponding vector mode.
1496         * config/rs6000/vsx.md (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns):
1497         Likewise.
1498
1499 2011-07-08  Georg-Johann Lay  <avr@gjlay.de>
1500
1501         PR target/46779
1502         Backport from mainline SVN 176053.
1503         2011-07-08  Georg-Johann Lay  <avr@gjlay.de>
1504         * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
1505         In particular, allow 8-bit values in r28 and r29.
1506         (avr_hard_regno_scratch_ok): Disallow any register that might be
1507         part of the frame pointer.
1508         (avr_hard_regno_rename_ok): Same.
1509         (avr_legitimate_address_p): Don't allow SUBREGs.
1510
1511 2011-07-07  Eric Botcazou  <ebotcazou@adacore.com>
1512
1513         PR target/49660
1514         * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Add
1515         MASK_V8PLUS, remove commented out flag and reorder.
1516
1517         Backport from mainline
1518         2011-06-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1519
1520         * config/sparc/sol2-64.h (TARGET_DEFAULT): Remove.
1521         (TARGET_64BIT_DEFAULT): Define.
1522         * config.gcc (sparc*-*-solaris2*): Move sparc/sol2-64.h to front
1523         of tm_file.
1524         * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Define.
1525
1526 2011-07-07  Jakub Jelinek  <jakub@redhat.com>
1527
1528         PR c/49644
1529         * c-typeck.c (build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with
1530         one non-complex and one complex argument, call c_save_expr on both
1531         operands.
1532
1533         PR debug/49522
1534         * df-problems.c (dead_debug_reset): Remove dead_debug_uses
1535         referencing debug insns that have been reset.
1536         (dead_debug_insert_before): Don't assert reg is non-NULL,
1537         instead return immediately if it is NULL.
1538
1539         PR middle-end/49640
1540         * gimplify.c (gimplify_compound_lval): For last 2 ARRAY_*REF
1541         operands and last COMPONENT_REF operand call gimplify_expr on it
1542         if non-NULL.
1543
1544 2011-07-06  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1545
1546         Backport from mainline.
1547         2011-06-24  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1548
1549         PR target/49335
1550         * config/arm/predicates.md (add_operator): New.
1551         * config/arm/arm.md ("*arith_shiftsi"): Fix for SP reg usage
1552         in Thumb2.
1553
1554 2011-07-05  Jakub Jelinek  <jakub@redhat.com>
1555
1556         PR tree-optimization/49618
1557         * tree-eh.c (tree_could_trap_p) <case FUNCTION_DECL, case VAR_DECL>:
1558         For DECL_WEAK decls return true.
1559
1560 2011-07-04  Jakub Jelinek  <jakub@redhat.com>
1561
1562         PR rtl-optimization/49619
1563         * combine.c (combine_simplify_rtx): In PLUS -> IOR simplification
1564         pass VOIDmode as op0_mode to recursive call.
1565
1566         PR rtl-optimization/49472
1567         * simplify-rtx.c (simplify_unary_operation_1) <case NEG>: When
1568         negating MULT, negate the second operand instead of first.
1569         (simplify_binary_operation_1) <case MULT>: If one operand is
1570         a NEG and the other is MULT, don't attempt to optimize by
1571         negation of the MULT operand if it only moves the NEG operation
1572         around.
1573
1574         Backported from mainline
1575         2011-06-06  Jakub Jelinek  <jakub@redhat.com>
1576
1577         PR debug/49262
1578         * dwarf2out.c (native_encode_initializer): Decrement count in each
1579         iteration.
1580
1581 2011-07-04  Georg-Johann Lay  <avr@gjlay.de>
1582
1583         Backport from mainline
1584         2011-07-04  Georg-Johann Lay  <avr@gjlay.de>
1585
1586         PR target/44643
1587         * config/avr/avr.c (avr_insert_attributes): Use TYPE_READONLY
1588         instead of TREE_READONLY.
1589
1590 2011-07-04  Richard Guenther  <rguenther@suse.de>
1591
1592         PR tree-optimization/49615
1593         * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix
1594         basic-block index check.
1595
1596 2011-06-30  Eric Botcazou  <ebotcazou@adacore.com>
1597
1598         PR tree-optimization/49572
1599         * tree-ssa-dom.c (initialize_hash_element) <GIMPLE_SINGLE_RHS>: Use the
1600         type of the RHS instead of that of the LHS for the expression type.
1601
1602 2011-06-30  Georg-Johann Lay  <avr@gjlay.de>
1603
1604         Backport from mainline
1605         PR target/34734
1606         (avr_section_type_flags): For data in ".progmem.data", remove
1607         section flag SECTION_WRITE.
1608
1609 2011-06-30  Georg-Johann Lay  <avr@gjlay.de>
1610
1611         Backport from mainline
1612         PR target/34734
1613         * config/avr/avr.c (avr_handle_progmem_attribute): Move warning
1614         about uninitialized data attributed 'progmem' from here...
1615         (avr_encode_section_info): ...to this new function.
1616         (TARGET_ENCODE_SECTION_INFO): New define.
1617
1618 2011-06-29  Changpeng Fang  <changpeng.fang@amd.com>
1619
1620         Backport from mainline
1621         2011-06-29  Changpeng Fang  <changpeng.fang@amd.com>
1622
1623         * config/i386/i386.opt (mprefer-avx128): Redefine the flag as a Mask
1624         option.
1625         * config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_AVX128_OPTIMAL
1626         entry.
1627         (TARGET_AVX128_OPTIMAL): New definition.
1628         * config/i386/i386.c (initial_ix86_tune_features): Initialize
1629         X86_TUNE_AVX128_OPTIMAL entry.
1630         (ix86_option_override_internal): Enable the generation
1631         of the 128-bit instructions when TARGET_AVX128_OPTIMAL is set.
1632         (ix86_preferred_simd_mode): Use TARGET_PREFER_AVX128.
1633         (ix86_autovectorize_vector_sizes): Use TARGET_PREFER_AVX128.
1634
1635 2011-06-29  Harsha Jagasia <harsha.jagasia@amd.com>
1636
1637         Backport from mainline
1638         2011-05-31  Alexandre Oliva  <aoliva@redhat.com>
1639
1640         * config/i386/i386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
1641         * config/i386/sse.md: Add n to negated FMA pattern names.
1642
1643 2011-06-29  Eric Botcazou  <ebotcazou@adacore.com>
1644
1645         PR tree-optimization/49539
1646         * tree-ssa-forwprop.c (can_propagate_from): Check for abnormal SSA
1647         names by means of stmt_references_abnormal_ssa_name.
1648         (associate_plusminus): Call can_propagate_from before propagating
1649         from definition statements.
1650
1651 2011-06-29  Martin Jambor  <mjambor@suse.cz>
1652
1653         Backport from mainline
1654         2011-06-24  Martin Jambor  <mjambor@suse.cz>
1655
1656         PR tree-optimizations/49516
1657         * tree-sra.c (sra_modify_assign): Choose the safe path for
1658         aggregate copies if we also did scalar replacements.
1659
1660 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
1661
1662         Backport from mainline
1663         2011-06-20  Changpeng Fang  <changpeng.fang@amd.com>
1664
1665         PR target/49089
1666         * config/i386/i386.c (avx256_split_unaligned_load): New definition.
1667         (avx256_split_unaligned_store): New definition.
1668         (ix86_option_override_internal): Enable avx256 unaligned load/store
1669         splitting only when avx256_split_unaligned_load/store is set.
1670
1671 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
1672
1673         Backport from mainline
1674         2011-03-28  H.J. Lu  <hongjiu.lu@intel.com>
1675
1676         * config/i386/i386.c (flag_opts): Fix a typo in
1677         -mavx256-split-unaligned-store.
1678
1679 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
1680
1681         Backport from mainline
1682         2011-03-27  H.J. Lu  <hongjiu.lu@intel.com>
1683
1684         * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
1685         unaligned 256bit load/store.
1686         (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
1687         (*avx_movdqu<avxmodesuffix>): Likewise.
1688
1689 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
1690
1691         Backport from mainline
1692         2011-03-27  H.J. Lu  <hongjiu.lu@intel.com>
1693
1694         * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
1695         and -mavx256-split-unaligned-store.
1696         (ix86_option_override_internal): Split 32-byte AVX unaligned
1697         load/store by default.
1698         (ix86_avx256_split_vector_move_misalign): New.
1699         (ix86_expand_vector_move_misalign): Use it.
1700
1701         * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
1702         -mavx256-split-unaligned-store.
1703
1704         * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
1705         256bit load/store.  Generate unaligned store on misaligned memory
1706         operand.
1707         (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
1708         256bit load/store.
1709         (*avx_movdqu<avxmodesuffix>): Likewise.
1710
1711         * doc/invoke.texi: Document -mavx256-split-unaligned-load and
1712         -mavx256-split-unaligned-store.
1713
1714 2011-06-28  Eric Botcazou  <ebotcazou@adacore.com>
1715
1716         * tree-ssa-dom.c (initialize_hash_element): Fix oversight.
1717
1718 2011-06-28  Andrey Belevantsev  <abel@ispras.ru>
1719
1720         Backport from mainline
1721         2011-05-25  Andrey Belevantsev  <abel@ispras.ru>
1722
1723         PR rtl-optimization/49014
1724         * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.
1725
1726 2011-06-28  Alexander Monakov  <amonakov@ispras.ru>
1727
1728         Backport from mainline
1729         2011-04-08  Alexander Monakov  <amonakov@ispras.ru>
1730
1731         PR target/48273
1732         * cfgloop.h (loop_has_exit_edges): New helper.
1733         * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
1734         non-clonable.
1735         * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
1736         that have no exit edges.
1737
1738 2011-06-28  Iain Sandoe  <iains@gcc.gnu.org>
1739
1740         PR target/47997
1741         * config/darwin.c (darwin_mergeable_string_section): Place string
1742         constants in '.cstring' rather than '.const' when CF/NSStrings are
1743         active.
1744
1745 2011-06-27  Eric Botcazou  <ebotcazou@adacore.com>
1746
1747         * reorg.c (fill_simple_delay_slots): Use stop_search_p to stop the
1748         forward scan as well.
1749
1750 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
1751
1752         * BASE-VER: Set to 4.6.2.
1753         * DEV-PHASE: Set to prerelease.
1754
1755 2011-06-27  Release Manager
1756
1757         * GCC 4.6.1 released.
1758
1759 2011-06-21  Alan Modra  <amodra@gmail.com>
1760
1761         * config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): New func.
1762         (TARGET_CANNOT_FORCE_CONST_MEM): Update definition.
1763
1764 2011-06-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1765
1766         Backport from mainline.
1767         2011-06-13  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1768
1769         PR target/48454
1770         * config/arm/neon.md (vec_pack_trunc): Set the lengths
1771         correctly for the case with Quad vectors.
1772
1773 2011-06-20  Alan Modra  <amodra@gmail.com>
1774
1775         * config/rs6000/rs6000.c (create_TOC_reference): Wrap high part
1776         of toc-relative address in CONST.
1777         (rs6000_delegitimize_address): Recognize changed address.
1778         (rs6000_legitimize_reload_address): Likewise.
1779         (rs6000_emit_move): Don't force these constants to memory.
1780         * config/rs6000/rs6000.md (tls_gd, tls_gd_high): Wrap high part of
1781         toc-relative address in CONST.
1782         (tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
1783         (tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.
1784
1785 2011-06-18  Jakub Jelinek  <jakub@redhat.com>
1786
1787         PR target/49411
1788         * config/i386/i386.c (ix86_expand_multi_arg_builtins): If
1789         last_arg_constant and last argument doesn't match its predicate,
1790         for xop_vpermil2<mode>3 error out and for xop_rotl<mode>3
1791         if it is CONST_INT, mask it, otherwise expand using rotl<mode>3.
1792         (ix86_expand_sse_pcmpestr, ix86_expand_sse_pcmpistr): Fix
1793         spelling of error message.
1794         * config/i386/sse.md (sse4a_extrqi, sse4a_insertqi,
1795         vcvtps2ph, *vcvtps2ph, *vcvtps2ph_store, vcvtps2ph256): Use
1796         const_0_to_255_operand instead of const_int_operand.
1797
1798 2011-06-17  Richard Henderson  <rth@redhat.com>
1799
1800         Backport from mainline
1801         2011-03-22  Richard Henderson  <rth@redhat.com>
1802
1803         * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
1804
1805 2011-06-17  Richard Guenther  <rguenther@suse.de>
1806
1807         Backport from mainline
1808         2011-05-23  Richard Guenther  <rguenther@suse.de>
1809
1810         PR tree-optimization/49115
1811         * tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
1812         is not necessarily carried out, do not claim it kills the ref.
1813         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
1814
1815 2011-06-17  Hans-Peter Nilsson  <hp@axis.com>
1816
1817         Backport from mainline
1818         2011-06-17  Hans-Peter Nilsson  <hp@axis.com>
1819
1820         PR rtl-optimization/48542
1821         * reload.c (find_equiv_reg): Stop looking when finding a
1822         setjmp-type call.
1823         * reload1.c (reload_as_needed): Invalidate all reload
1824         registers when crossing a setjmp-type call.
1825
1826 2011-06-16  Kaz Kojima  <kkojima@gcc.gnu.org>
1827
1828         Backport form main line
1829         2011-06-09  Kaz Kojima  <kkojima@gcc.gnu.org>
1830
1831         PR target/49307
1832         * config/sh/sh.md (UNSPEC_CHKADD): New.
1833         (chk_guard_add): New define_insn_and_split.
1834         (symGOT_load): Use chk_guard_add instead of blockage.
1835
1836 2011-06-16  Martin Jambor  <mjambor@suse.cz>
1837
1838         Backported from mainline
1839         2011-06-15  Martin Jambor  <mjambor@suse.cz>
1840
1841         PR tree-optimization/48613
1842         * ipa-prop.c (ipa_prop_write_jump_functions): Return immediately if
1843         ipa_node_params_vector is NULL.
1844
1845 2011-06-16  Jakub Jelinek  <jakub@redhat.com>
1846
1847         PR tree-optimization/49419
1848         * tree-vrp.c (execute_vrp): Call init_range_assertions
1849         before estimate_numbers_of_iterations, call
1850         free_number_of_iterations_estimates before calling
1851         remove_range_assertions.
1852
1853         Backported from mainline
1854         2011-06-13  Edmar Wienskoski  <edmar@freescale.com>
1855
1856         PR target/44618
1857         * config/rs6000/rs6000.md (save_gpregs_<mode>): Replaced pattern
1858         with a set of similar patterns, where the MATCH_OPERAND for the
1859         function argument is replaced with individual references to hardware
1860         registers.
1861         (save_fpregs_<mode>): Ditto
1862         (restore_gpregs_<mode>): Ditto
1863         (return_and_restore_gpregs_<mode>): Ditto
1864         (return_and_restore_fpregs_<mode>): Ditto
1865         (return_and_restore_fpregs_aix_<mode>): Ditto
1866
1867 2011-06-14  Richard Henderson  <rth@redhat.com>
1868
1869         PR debug/48459
1870         * dwarf2out.c (frame_pointer_fb_offset_valid): New.
1871         (based_loc_descr): Assert it's true.
1872         (compute_frame_pointer_to_fb_displacement): Set it,
1873         rather than aborting immediately.
1874
1875 2011-06-14  Richard Henderson  <rth@redhat.com>
1876
1877         Backport from mainline
1878         2011-03-22  Richard Henderson  <rth@redhat.com>
1879
1880         * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
1881         (avr_incoming_return_addr_rtx): New.
1882         (emit_push_byte): New.
1883         (expand_prologue): Use it.  Remove incorrect dwarf annotation for
1884         SREG, RAMPZ, zero register.  Push frame pointer by bytes.  Add dwarf
1885         annotation for __prologue_saves__.  Fixup dwarf annotation for CFA.
1886         (emit_pop_byte): New.
1887         (expand_epilogue): Use it.  Pop frame pointer by bytes.
1888         * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
1889         (INCOMING_RETURN_ADDR_RTX): New.
1890         (INCOMING_FRAME_SP_OFFSET): New.
1891         (ARG_POINTER_CFA_OFFSET): New.
1892         * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
1893         (*pushhi, *pushsi, *pushsf, popqi): Likewise.
1894         (pophi): Remove.
1895
1896 2011-06-14  Jakub Jelinek  <jakub@redhat.com>
1897
1898         PR fortran/49103
1899         * tree.h (DECL_NONSHAREABLE): Define.
1900         (struct tree_decl_common): Change decl_common_unused to
1901         decl_nonshareable_flag.
1902         * cfgexpand.c (expand_used_vars_for_block, clear_tree_used):
1903         Ignore vars with DECL_NONSHAREABLE bit set.
1904         * tree-cfg.c (gimple_duplicate_bb): Set DECL_NONSHAREABLE
1905         on stores to automatic aggregate vars.
1906
1907         PR rtl-optimization/49390
1908         Revert:
1909         2010-06-29  Bernd Schmidt  <bernds@codesourcery.com>
1910
1911         * cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare
1912         MEM_ALIAS_SET.
1913
1914 2011-06-11  Uros Bizjak  <ubizjak@gmail.com>
1915
1916         * config/i386/sse.md (vec_dupv4sf): Correct mode of forced register.
1917         (*vec_dupv2df): Rename from vec_dupv2df.
1918         (vec_dupv2df): New expander.
1919
1920 2011-06-09  Eric Botcazou  <ebotcazou@adacore.com>
1921
1922         * config/sparc/sparc.md (return_internal): Adjust 'length' attribute.
1923
1924 2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
1925
1926         Backport from mainline
1927         2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
1928
1929         * config/i386/driver-i386.c (host_detect_local_cpu): Support
1930         unknown Intel family 0x6 CPUs.
1931
1932 2011-06-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1933
1934         Backport from mainline
1935         2011-06-01  Kaz Kojima  <kkojima@gcc.gnu.org>
1936
1937         PR target/49238
1938         * config/sh/sh.c (expand_cbranchdi4): Use a scratch register if
1939         needed when original operands are used for msw_skip comparison.
1940
1941 2011-06-07  Jakub Jelinek  <jakub@redhat.com>
1942
1943         PR gcov-profile/49299
1944         * value-prof.c (gimple_ic): Don't assume icall has a fallthru edge.
1945
1946 2011-06-06  Pat Haugen <pthaugen@us.ibm.com>
1947
1948         Backport from mainline
1949         2011-05-31  Pat Haugen <pthaugen@us.ibm.com>
1950
1951         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from
1952         NON_FLOAT_REGS.
1953
1954 2011-06-06  Jakub Jelinek  <jakub@redhat.com>
1955
1956         PR c++/49264
1957         * gimple-fold.c (fold_stmt_1): Don't try to fold *& on the lhs
1958         if stmt folded into nothing.
1959         * tree-inline.c (fold_marked_statements): If a builtin at the
1960         end of a bb folded into nothing, just update cgraph edges
1961         and move to next bb.
1962         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Allow new_stmt
1963         to be NULL.  Don't compute count and frequency if new_call is NULL.
1964
1965 2011-06-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1966
1967         * longlong.h (smul_ppmm): The resulting register pair contains the
1968         higher order word first.
1969
1970 2011-06-06  Mikael Pettersson  <mikpe@it.uu.se>
1971
1972         PR tree-optimization/49243
1973         * calls.c (setjmp_call_p): Also check if fndecl has the
1974         returns_twice attribute.
1975
1976 2011-06-06  Richard Guenther  <rguenther@suse.de>
1977
1978         PR tree-optimization/48702
1979         * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
1980         only when we know the base address is within bounds.
1981         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
1982         assume the base address of TARGET_MEM_REFs is in bounds.
1983         (indirect_refs_may_alias_p): Fix TARGET_MEM_REF without index tests.
1984
1985         Backport from mainline
1986         2011-05-31  Jakub Jelinek  <jakub@redhat.com>
1987
1988         PR rtl-optimization/49235
1989         * tree-ssa-address.c (gen_addr_rtx): Ignore base if it is const0_rtx.
1990         (create_mem_ref_raw): Create MEM_REF even if base is INTEGER_CST.
1991
1992 2011-06-05  Eric Botcazou  <ebotcazou@adacore.com>
1993
1994         * config/sparc/sparc.c (output_return): Fix thinko in the output of an
1995         EH return when delayed branches are disabled.
1996
1997 2011-06-05  Kaz Kojima  <kkojima@gcc.gnu.org>
1998
1999         Backport from mainline
2000         2011-05-30  Kaz Kojima  <kkojima@gcc.gnu.org>
2001
2002         PR target/49186
2003         * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
2004         part of the second operand is 0.
2005
2006 2011-06-04  Alexandre Oliva  <aoliva@redhat.com>
2007
2008         PR debug/47590
2009         * target.def (delay_sched2, delay_vartrack): New.
2010         * doc/tm.texi.in: Update.
2011         * doc/tm.texi: Rebuild.
2012         * sched-rgn.c (gate_handle_sched2): Fail if delay_sched2.
2013         * var-tracking.c (gate_handle_var_tracking): Likewise.
2014         * config/bfin/bfin.c (bfin_flag_schedule_insns2): Drop.
2015         (bfin_flag_var_tracking): Drop.
2016         (output_file_start): Don't save and override flag_var_tracking.
2017         (bfin_option_override): Ditto flag_schedule_insns_after_reload.
2018         (bfin_reorg): Test original variables.
2019         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
2020         * config/ia64/ia64.c (ia64_flag_schedule_insns2): Drop.
2021         (ia64_flag_var_tracking): Drop.
2022         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
2023         (ia64_file_start): Don't save and override flag_var_tracking.
2024         (ia64_override_options_after_change): Ditto
2025         flag_schedule_insns_after_reload.
2026         (ia64_reorg): Test original variables.
2027         * config/picochip/picochip.c (picochip_flag_schedule_insns2): Drop.
2028         (picochip_flag_var_tracking): Drop.
2029         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
2030         (picochip_option_override): Don't save and override
2031         flag_schedule_insns_after_reload.
2032         (picochip_asm_file_start): Ditto flag_var_tracking.
2033         (picochip_reorg): Test original variables.
2034         * config/spu/spu.c (spu_flag_var_tracking): Drop.
2035         (TARGET_DELAY_VARTRACK): Define.
2036         (spu_var_tracking): New.
2037         (spu_machine_dependent_reorg): Call it.
2038         (asm_file_start): Don't save and override flag_var_tracking.
2039
2040 2011-06-04  Ira Rosen  <ira.rosen@linaro.org>
2041
2042         PR tree-optimization/49038
2043         * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
2044         Ensure at least one epilogue iteration if required by data
2045         accesses with gaps.
2046         * tree-vectorizer.h (struct _loop_vec_info): Add new field
2047         to mark loops that require peeling for gaps.
2048         * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
2049         (vect_get_known_peeling_cost): Take peeling for gaps into
2050         account.
2051         (vect_transform_loop): Generate epilogue if required by data
2052         access with gaps.
2053         * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
2054         loop as requiring an epilogue if there are gaps in the end of
2055         the strided group.
2056
2057 2011-06-02  Ira Rosen  <ira.rosen@linaro.org>
2058
2059         PR tree-optimization/49093
2060         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail for volatile
2061         data references.
2062
2063 2011-05-19  Quentin Neill  <quentin.neill@amd.com>
2064
2065         * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
2066         (fma4_fmaddsub): Likewise
2067
2068 2011-05-31  Richard Guenther  <rguenther@suse.de>
2069
2070         Backport from mainline
2071         2011-05-19  Richard Guenther  <rguenther@suse.de>
2072
2073         PR middle-end/48985
2074         * tree-object-size.c (addr_object_size): If the pointed-to
2075         variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.
2076
2077 2011-05-31  Richard Guenther  <rguenther@suse.de>
2078
2079         Backport from mainline
2080         2011-05-11  Richard Guenther  <rguenther@suse.de>
2081
2082         PR middle-end/48953
2083         * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
2084
2085 2011-05-30  Richard Guenther  <rguenther@suse.de>
2086
2087         PR tree-optimization/49218
2088         * tree-vrp.c (adjust_range_with_scev): Properly check whether
2089         overflow occured.
2090
2091 2011-05-30  Georg-Johann Lay  <avr@gjlay.de>
2092
2093         PR target/45263
2094         * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors):
2095         Don't use r20 around calls of __tablejump_elpm__
2096
2097 2011-05-29  Richard Sandiford  <rdsandiford@googlemail.com>
2098
2099         PR target/43700
2100         * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
2101         registers.
2102
2103 2011-05-29  Richard Sandiford  <rdsandiford@googlemail.com>
2104
2105         PR target/43995
2106         * config/mips/mips.c (mips_pic_call_symbol_from_set): Add a
2107         recurse_p argument.  Only follow register copies if it is set,
2108         and prevent mips_find_pic_call_symbol from recursing.
2109         (mips_find_pic_call_symbol): Add a recurse_p argument.
2110         Pass it to mips_pic_call_symbol_from_set.
2111         (mips_annotate_pic_calls): Update accordingly.
2112
2113 2011-05-29  Richard Guenther  <rguenther@suse.de>
2114
2115         PR tree-optimization/49217
2116         * ipa-pure-const.c (propagate_pure_const): Fix typos.
2117
2118 2011-05-26  Pat Haugen <pthaugen@us.ibm.com>
2119
2120         * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
2121         moves expensive on Power7 also.
2122
2123 2011-05-26  Georg-Johann Lay  <avr@gjlay.de>
2124
2125         PR target/44643
2126         * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
2127         alone. Error if non-const data has attribute progmem.
2128
2129 2011-05-26  Jakub Jelinek  <jakub@redhat.com>
2130
2131         PR c++/49165
2132         * gimplify.c (shortcut_cond_r): Don't special case
2133         COND_EXPRs if they have void type on one of their arms.
2134
2135         PR tree-optimization/49161
2136         * tree-vrp.c (struct case_info): New type.
2137         (compare_case_labels): Sort case_info structs instead of
2138         trees, and not primarily by CASE_LABEL uids but by
2139         label_for_block indexes.
2140         (find_switch_asserts): Put case labels into struct case_info
2141         array instead of TREE_VEC, adjust sorting, compare label_for_block
2142         values instead of CASE_LABELs.
2143
2144 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
2145
2146         PR target/49128
2147         * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
2148
2149 2011-05-18  Jan Hubicka  <jh@suse.cz>
2150
2151         PR tree-optimization/44897
2152         * ipa-inline.c (cgraph_decide_recursive_inlining): Do not divide
2153         by zero for insane profiles.
2154
2155 2011-05-24  Eric Botcazou  <ebotcazou@adacore.com>
2156
2157         * config/sparc/sparc.c (sparc_option_override): If not set by the user,
2158         force flag_ira_share_save_slots to 0.
2159
2160 2011-05-24  Uros Bizjak  <ubizjak@gmail.com>
2161
2162         PR target/49133
2163         * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.
2164
2165 2011-05-24  H.J. Lu  <hongjiu.lu@intel.com>
2166
2167         Backport from mainline
2168         2011-05-24  H.J. Lu  <hongjiu.lu@intel.com>
2169
2170         PR target/49128
2171         * config/i386/driver-i386.c (host_detect_local_cpu): Always
2172         add -mno-XXX.  Handle FMA.
2173
2174 2011-05-23  Jakub Jelinek  <jakub@redhat.com>
2175
2176         PR lto/49123
2177         * fold-const.c (constant_boolean_node): If type is non-NULL,
2178         use build_int_cst_type instead of build_int_cst.
2179
2180         PR debug/49032
2181         * dbxout.c: Include cgraph.h.
2182         (dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
2183         and without value expr, return NULL if no varpool node exists for
2184         it or if it is not needed.
2185         * Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
2186
2187         PR c/49120
2188         * c-decl.c (start_decl): Convert expr to void_type_node.
2189
2190         PR middle-end/48973
2191         * expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
2192         failed and the comparison has a single bit signed type, use
2193         constm1_rtx instead of const1_rtx for true value.
2194         (do_store_flag): If ops->type is single bit signed type, disable
2195         signel bit test optimization and pass -1 instead of 1 as last
2196         parameter to emit_store_flag_force.
2197
2198 2011-05-22  Eric Botcazou  <ebotcazou@adacore.com>
2199
2200         * config.gcc (sparc-*-elf*): Add sparc/t-crtin.
2201         (sparc-*-rtems*): Likewise.
2202         (sparc64-*-elf*): Likewise.
2203         (sparc64-*-rtems*): Likewise.
2204         (sparc*-*-solaris2*): Likewise.  Remove crti.o crtn.o extra parts.
2205         * config/sparc/t-crtin: New file.
2206         * config/sparc/t-sol2 (crti.o): Delete rule.
2207         (crtn.o): Likewise.
2208         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
2209         * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
2210         * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
2211         (ENDFILE_SPEC): Add crtn.o.
2212
2213 2011-05-22  Uros Bizjak  <ubizjak@gmail.com>
2214
2215         PR target/49104
2216         * config/i386/cpuid.h (bit_MMXEXT): New define.
2217
2218 2011-05-22  Jakub Jelinek  <jakub@redhat.com>
2219
2220         PR middle-end/49029
2221         * expmed.c (extract_fixed_bit_field): Test whether target can be used
2222         only after deciding which mode to use.
2223
2224 2011-05-21  Eric Botcazou  <ebotcazou@adacore.com>
2225
2226         * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
2227         frame pointer.
2228
2229 2011-05-21  Eric Botcazou  <ebotcazou@adacore.com>
2230
2231         * config/sparc/sparc.c (eligible_for_return_delay): Do not return
2232         false if there are call-saved registers here...
2233         (sparc_can_use_return_insn_p): ...but here instead.
2234         (save_or_restore_regs): Fix thinko.
2235         (sparc_expand_prologue): Use current_function_is_leaf.
2236         (sparc_frame_pointer_required): Likewise.
2237
2238 2011-05-20  Jakub Jelinek  <jakub@redhat.com>
2239
2240         PR bootstrap/49086
2241         * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
2242         for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
2243
2244 2011-05-20  Richard Guenther  <rguenther@suse.de>
2245
2246         PR tree-optimization/49079
2247         * tree-dfa.c (get_ref_base_and_extent): Handle view-converting
2248         MEM_REFs correctly for the trailing array access detection.
2249         Special case constants the same way as decls for overall size
2250         constraining.
2251
2252 2011-05-20  Jakub Jelinek  <jakub@redhat.com>
2253
2254         PR tree-optimization/49073
2255         * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return
2256         NULL if PHI argument is SSA_NAME, whose def_stmt is dominated
2257         by the PHI.
2258         * tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
2259
2260 2011-05-19  Uros Bizjak  <ubizjak@gmail.com>
2261
2262         * config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
2263         when TARGET_RDRND is active.
2264         (ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
2265         Generate dummy SImode target register when target is NULL.
2266
2267 2011-05-18  H.J. Lu  <hongjiu.lu@intel.com>
2268
2269         Backport from mainline
2270         2011-05-18  H.J. Lu  <hongjiu.lu@intel.com>
2271
2272         PR target/49002
2273         * config/i386/sse.md (avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>):
2274         Properly handle load cast.
2275
2276 2011-05-18  Jakub Jelinek  <jakub@redhat.com>
2277
2278         PR tree-optimization/49039
2279         * tree-vrp.c (extract_range_from_binary_expr): For
2280         MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]>
2281         return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>].
2282
2283 2011-05-18  Richard Guenther  <rguenther@suse.de>
2284
2285         PR tree-optimization/49018
2286         * gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
2287         * tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
2288         gimple_has_side_effects.
2289
2290 2011-05-18  Richard Guenther  <rguenther@suse.de>
2291
2292         Backport from mainline
2293         2011-04-19  Richard Guenther  <rguenther@suse.de>
2294
2295         PR lto/48207
2296         * tree.c (free_lang_data): Do not reset the decl-assembler-name
2297         langhook.
2298
2299         2011-04-21  Richard Guenther  <rguenther@suse.de>
2300
2301         PR lto/48703
2302         * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of
2303         DECL_NAME.
2304
2305 2011-05-18  Richard Guenther  <rguenther@suse.de>
2306
2307         Backport from mainline
2308         2011-05-12  Richard Guenther  <rguenther@suse.de>
2309
2310         PR tree-optimization/48172
2311         * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
2312         the number of iterations from the segment size calculation.
2313         (vect_create_cond_for_alias_checks): Adjust.
2314
2315         2011-05-13  Richard Guenther  <rguenther@suse.de>
2316
2317         PR tree-optimization/48172
2318         * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
2319         multiplying by number of iterations for equal step.
2320         (vect_create_cond_for_alias_checks): Likewise.
2321
2322 2011-05-18  Jakub Jelinek  <jakub@redhat.com>
2323
2324         PR tree-optimization/49000
2325         * tree-ssa.c (execute_update_addresses_taken): Call
2326         maybe_rewrite_mem_ref_base on debug stmt value.  If it couldn't
2327         be rewritten and decl has been marked for renaming, reset
2328         the debug stmt.
2329
2330 2011-05-17  Nick Clifton  <nickc@redhat.com>
2331
2332         Import these patches from the mainline:
2333
2334         2011-05-17  Nick Clifton  <nickc@redhat.com>
2335
2336         * config/rx/rx.c (rx_memory_move_cost): Include cost of register moves.
2337
2338         * config/rx/rx.md: Add peephole to remove redundant extensions
2339         after loads.
2340         (bitset_in_memory): Use rx_restricted_mem_operand.
2341         (bitinvert_in_memory): Likewise.
2342         (bitclr_in_memory): Likewise.
2343
2344         2011-05-17  Kazuhio Inaoka  <kazuhiro.inaoka.ud@renesas.com>
2345                     Nick Clifton  <nickc@redhat.com>
2346
2347         * config/rx/rx.md: Add peepholes to match a register move followed
2348         by a comparison of the moved register.  Replace these with an
2349         addition of zero that does both actions in one instruction.
2350
2351 2011-05-17  Jakub Jelinek  <jakub@redhat.com>
2352
2353         PR target/48986
2354         * config/i386/sync.md (sync_old_add<mode>): Relax operand 2
2355         predicate to allow CONST_INT.
2356
2357 2011-05-16  Joseph Myers  <joseph@codesourcery.com>
2358
2359         PR preprocessor/48677
2360         * cppspec.c (lang_specific_driver): Set new_decoded_options[0]
2361         from decoded_options[0], not from itself.
2362
2363 2011-05-16  Uros Bizjak  <ubizjak@gmail.com>
2364
2365         * config/i386/i386.md (*movxf_internal): Disable CONST_DOUBLE
2366         optimization for CM_MEDIUM and CM_LARGE code models.  Fix usage
2367         of standard_80387_constant_p.
2368         (*movxf_internal_nointeger): Ditto.
2369         (*movdf_internal): Remove dead code-size optimization.
2370         (*movdf_internal_rex64): Fix usage of standard_80387_constant_p.
2371         (*movdf_internal_nointeger): Ditto.
2372         (*movsf_internal): Ditto.
2373         (floating point move splitters): Ditto.
2374         * config/i386/constraints.md (G): Ditto.
2375         * config/i386/i386.c (ix86_preferred_reload_class): Ditto.
2376
2377 2011-05-12  Jakub Jelinek  <jakub@redhat.com>
2378
2379         PR tree-optimization/48975
2380         * tree-if-conv.c (combine_blocks): Call free_bb_predicate
2381         on all bbs here and free and clear ifc_bbs at the end.
2382
2383 2011-05-12  Richard Guenther  <rguenther@suse.de>
2384
2385         Backport from mainline
2386         2011-05-02  Richard Guenther  <rguenther@suse.de>
2387
2388         PR tree-optimization/48822
2389         * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
2390         (process_scc): Indicate which iteration we start.
2391
2392 2011-05-12  Jakub Jelinek  <jakub@redhat.com>
2393
2394         PR debug/48967
2395         * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
2396         if validate_subreg fails.
2397
2398 2011-05-12  Nick Clifton  <nickc@redhat.com>
2399
2400         * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
2401         * config/rx/rx.c (rx_is_legitimate_constant): Use gcc_unreachable
2402         instead of abort.
2403         (rx_align_for_label): Test label before extracting its number of
2404         uses.
2405         (rx_max_skip_for_label): Ignore debug insns.
2406
2407 2011-05-11  Jakub Jelinek  <jakub@redhat.com>
2408
2409         PR debug/48159
2410         * tree-ssa.c (reset_debug_uses): New function.
2411         * tree-flow.h (reset_debug_uses): New prototype.
2412         * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
2413         * tree-loop-distribution.c (generate_loops_for_partition): Call
2414         reset_debug_uses on the stmts that will be removed.  Keep around
2415         all debug stmts, don't count them as bits in partition bitmap.
2416         (generate_builtin): Don't count debug stmts or labels as bits in
2417         partition bitmap.
2418
2419 2011-05-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
2420
2421         Backport from mainline
2422         2011-05-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
2423
2424         PR target/48857, 48495
2425         * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete.
2426         (VSX_MODE): Ditto.
2427         (VSX_MOVE_MODE): Ditto.
2428         (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and
2429         VSX vector types.  Add V2DImode.
2430         (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of
2431         ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls.
2432         (MODES_TIEABLE_P): Ditto.
2433
2434         * config/rs6000/rs6000.c (rs6000_emit_move): Use
2435         ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and
2436         VSX_VECTOR_MODE.
2437         (init_cumulative_args): Ditto.
2438         (rs6000_function_arg_boundary): Ditto.
2439         (rs6000_function_arg_advance_1): Ditto.
2440         (rs6000_function_arg): Ditto.
2441         (rs6000_function_ok_for_sibcall): Ditto.
2442         (emit_frame_save): Ditto.
2443         (rs6000_function_value): Ditto.
2444         (rs6000_libcall_value): Ditto.
2445
2446 2011-05-10  Nick Clifton  <nickc@redhat.com>
2447
2448         * config/rx/rx.c (rx_memory_move_cost): Reduce the cost for
2449         stores.
2450
2451 2011-05-10  DJ Delorie  <dj@redhat.com>
2452
2453         * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
2454         (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
2455         * config/rx/rx.c (rx_align_for_label): Add label and
2456         uses_threshold parameters.  Do not align when the label is not
2457         used enough.
2458         * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
2459
2460 2011-05-10  Jakub Jelinek  <jakub@redhat.com>
2461
2462         Backported from mainline
2463         2011-05-07  Zdenek Dvorak  <ook@ucw.cz>
2464
2465         PR tree-optimization/48837
2466         * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
2467         when accumulator transformation is performed.
2468
2469 2011-05-10  Jakub Jelinek  <jakub@redhat.com>
2470
2471         PR tree-optimization/48611
2472         PR tree-optimization/48794
2473         * tree-eh.c (remove_unreachable_handlers): Don't remove regions
2474         referenced from RESX or EH_DISPATCH arguments.
2475
2476 2011-05-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2477
2478         * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
2479         temporary register to match Pmode.
2480
2481 2011-05-09  Eric Botcazou  <ebotcazou@adacore.com>
2482
2483         * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
2484         (dataflow_set_preserve_mem_locs): Likewise.
2485
2486 2011-05-06  Uros Bizjak  <ubizjak@gmail.com>
2487
2488         * config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
2489         constraint modifier to "r".
2490
2491 2011-05-06  Alan Modra  <amodra@gmail.com>
2492
2493         PR target/48900
2494         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
2495         const0_rtx as the arg to the dummy __tls_get_addr libcall.
2496
2497 2011-05-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2498
2499         * config/s390/s390.c (s390_asm_trampoline_template): Comment
2500         instruction sizes.
2501         (s390_trampoline_init): Replace UNITS_PER_WORD with UNITS_PER_LONG.
2502
2503 2011-05-06  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2504
2505         PR target/48252
2506         * config/arm/neon.md (neon_vtrn<mode>): Fix typo from earlier commit.
2507
2508 2011-05-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
2509
2510         * config/rs6000/rs6000.c (rs6000_handle_option): Add missing break
2511         for OPT_mfpu_ case.
2512
2513 2011-05-05  Jason Merrill  <jason@redhat.com>
2514
2515         PR c++/40975
2516         * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
2517
2518 2011-05-05  Julian Brown  <julian@codesourcery.com>
2519
2520         * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
2521         parenthesis in D-register case.
2522
2523 2011-05-05  Ira Rosen  <ira.rosen@linaro.org>
2524
2525         Backport from mainline:
2526         2011-04-18  Ulrich Weigand  <ulrich.weigand@linaro.org>
2527                     Ira Rosen  <ira.rosen@linaro.org>
2528
2529         PR target/48252
2530         * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
2531         to match neon_vzip/vuzp/vtrn_internal.
2532         * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
2533         outputs explicitly dependent on both inputs.
2534         (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
2535
2536 2011-05-04  Uros Bizjak  <ubizjak@gmail.com>
2537
2538         * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
2539         Use %v prefix in insn mnemonic to handle TARGET_AVX.
2540         (*movdi_internal): Use "maybe_vex" instead of "vex" in "prefix"
2541         attribute calculation.
2542         (*movdf_internal): Output AVX mnemonics.  Add "prefix" attribute.
2543         * config/i386/sse.md (*sse2_storeq_rex64): Do not emit %v prefix
2544         for mov{q} mnemonic.
2545         (*vec_extractv2di_1_rex64_avx): Ditto.
2546
2547 2011-05-03  Uros Bizjak  <ubizjak@gmail.com>
2548             Jakub Jelinek  <jakub@redhat.com>
2549
2550         PR target/48774
2551         * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
2552         only succeed if req_mode is the same as set_mode.
2553
2554 2011-05-03  Richard Guenther  <rguenther@suse.de>
2555
2556         PR lto/48846
2557         * lto-streamer-in.c (unpack_ts_decl_common_value_fields):
2558         Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
2559         * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
2560
2561 2011-05-03  Eric Botcazou  <ebotcazou@adacore.com>
2562
2563         PR target/48723
2564         * config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
2565         for -fstack-check if the size to allocate is negative.
2566
2567 2011-04-30  Jakub Jelinek  <jakub@redhat.com>
2568
2569         PR tree-optimization/48809
2570         * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
2571         type.
2572         (gen_inbound_check): Don't compute index_expr - range_min in utype
2573         again, instead reuse SSA_NAME initialized in build_arrays.
2574         Remove two useless gsi_for_stmt calls.
2575
2576 2011-04-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
2577
2578         Backport from mainline
2579         2011-04-01  Andrew Pinski  <pinskia@gmail.com>
2580             Michael Meissner  <meissner@linux.vnet.ibm.com>
2581
2582         PR target/48262
2583         * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
2584         operands, as per the specifications.
2585
2586         * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
2587         (vec_extract_evenv4sf): Ditto.
2588         (vec_extract_evenv8hi): Ditto.
2589         (vec_extract_evenv16qi): Ditto.
2590         (vec_extract_oddv4si): Ditto.
2591
2592 2011-04-28  Jakub Jelinek  <jakub@redhat.com>
2593
2594         PR middle-end/48597
2595         * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
2596         inline asm.
2597
2598 2011-04-27  Jakub Jelinek  <jakub@redhat.com>
2599
2600         PR c/48742
2601         * c-typeck.c (build_binary_op): Don't wrap arguments if
2602         int_operands is true.
2603
2604 2011-04-26  Jakub Jelinek  <jakub@redhat.com>
2605
2606         PR debug/48768
2607         * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
2608         is error_mark_node, set value to NULL.
2609
2610         PR tree-optimization/48734
2611         * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
2612         if return value from maybe_fold_*_comparsions isn't something
2613         the code is prepared to handle.
2614
2615 2011-04-26  Richard Guenther  <rguenther@suse.de>
2616
2617         PR tree-optimization/48731
2618         * ipa-inline.c (cgraph_flatten): Test if function is inlinable.
2619
2620 2011-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
2621
2622         PR other/48748
2623         * doc/extend.texi (Type Traits): Document __is_standard_layout,
2624         __is_literal_type, and __is_trivial; update throughout about
2625         possibly cv-qualified void types.
2626
2627 2011-04-23  Jakub Jelinek  <jakub@redhat.com>
2628
2629         PR c/48685
2630         * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
2631         to VOID_TYPE even around MODIFY_EXPR.
2632
2633 2011-04-22  Jakub Jelinek  <jakub@redhat.com>
2634
2635         PR tree-optimization/48717
2636         * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
2637         ~A + A optimizations use build_int_cst_type instead of build_int_cst.
2638
2639 2011-04-22  Jakub Jelinek  <jakub@redhat.com>
2640
2641         PR c/48716
2642         * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
2643         TREE_STATIC variables declared inside of some OpenMP construct.
2644
2645 2011-04-21  Uros Bizjak  <ubizjak@gmail.com>
2646
2647         PR target/48708
2648         * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
2649         vec_extract and vec_concat for non-SSE4_1 targets.
2650
2651 2011-04-21  Richard Guenther  <rguenther@suse.de>
2652
2653         PR middle-end/48695
2654         * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
2655         objects and types here.  Adjust for their offset before comparing.
2656
2657 2011-04-21  Eric Botcazou  <ebotcazou@adacore.com>
2658
2659         * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
2660
2661 2011-04-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2662
2663         PR target/48288
2664         * config/pa/predicates.md (ior_operand): Delete predicate.
2665         (cint_ior_operand, reg_or_cint_ior_operand): New predicates.
2666         * config/pa/pa.md (iordi3): Use reg_or_cint_ior_operand predicate in
2667         expander.  Use cint_ior_operand in unnamed insn.
2668         (iorsi3): Likewise.
2669         * config/pa/pa-protos.h (ior_operand): Delete declarations.
2670
2671 2011-04-20  Jakub Jelinek  <jakub@redhat.com>
2672
2673         PR tree-optimization/48611
2674         * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
2675         beyond ERT_MUST_NOT_THROW region.
2676
2677 2011-04-20  Eric Botcazou  <ebotcazou@adacore.com>
2678
2679         Backport from mainline
2680         2011-04-19  Eric Botcazou  <ebotcazou@adacore.com>
2681
2682         PR lto/48148
2683         * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
2684         the types if they have different enumeration identifiers.
2685
2686         2011-04-18  Eric Botcazou  <ebotcazou@adacore.com>
2687
2688         PR lto/48492
2689         * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
2690         DECL_IN_CONSTANT_POOL without RTL.
2691
2692 2011-04-20  Richard Guenther  <rguenther@suse.de>
2693
2694         Backport from mainline
2695         2011-04-19  Bernd Schmidt  <bernds@codesourcery.com>
2696
2697         PR fortran/47976
2698         * reload1.c (inc_for_reload): Return void. All callers changed.
2699         (emit_input_reload_insns): Don't try to delete previous output
2700         reloads to a register, or record spill_reg_store for autoincs.
2701
2702 2011-04-19  Jakub Jelinek  <jakub@redhat.com>
2703
2704         PR target/48678
2705         * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
2706         is a SUBREG with non-MODE_INT mode inside of it.
2707
2708 2011-04-18  Jakub Jelinek  <jakub@redhat.com>
2709
2710         PR middle-end/48661
2711         * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
2712         if TREE_TYPE (v) is non-NULL.
2713
2714         * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
2715         gimple_get_virt_mehtod_for_binfo.
2716         * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
2717         * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
2718         callers.
2719         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
2720
2721 2011-04-18  Eric Botcazou  <ebotcazou@adacore.com>
2722
2723         * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
2724
2725 2011-04-18  Jakub Jelinek  <jakub@redhat.com>
2726
2727         PR tree-optimization/48616
2728         * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
2729         whether the shift is by scalar or vector based on whether all SLP
2730         scalar stmts have the same rhs.
2731
2732 2011-04-17  Dennis, CHENG Renquan  <crquan@fedoraproject.org>
2733
2734         * doc/passes.texi: Fill crossref nodes.
2735
2736 2011-04-17  Marius Strobl  <marius@FreeBSD.org>
2737
2738         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
2739         (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
2740         (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
2741
2742 2011-04-17  Eric Botcazou  <ebotcazou@adacore.com>
2743
2744         PR lto/48538
2745         * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
2746         is non-null before accessing it.
2747         (input_cgraph): Remove trailing spaces.
2748
2749 2011-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2750
2751         * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
2752         Replace match_operand with match_dup for the third operand in
2753         these expanders.
2754
2755 2011-04-15  Jakub Jelinek  <jakub@redhat.com>
2756
2757         PR target/48605
2758         * config/i386/sse.md (avx_insertps, sse4_1_insertps): If operands[2]
2759         is a MEM, offset it as needed based on top 2 bits in operands[3],
2760         change MEM mode to SFmode and mask those 2 bits away from operands[3].
2761
2762 2011-04-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2763
2764         Backport from mainline:
2765         2011-04-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2766
2767         PR target/48366
2768         * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
2769         move from floating point to shift amount register.
2770         (emit_move_sequence): Remove secondary reload support for floating
2771         point to shift amount amount register copies.
2772         (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
2773         amount register copies.
2774         * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
2775         register, return false if mode isn't a scalar integer mode.
2776         * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
2777
2778 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
2779
2780         PR middle-end/48591
2781         * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is NULL.
2782         (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
2783
2784 2011-04-13  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2785
2786         Backport from mainline:
2787         2011-04-12  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2788         PR target/48090
2789         * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
2790
2791 2011-04-12  Martin Jambor  <mjambor@suse.cz>
2792
2793         PR tree-optimization/48195
2794         * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
2795         ipa_check_create_edge_args.
2796         (ipcp_generate_summary): Do not call ipa_check_create_node_params and
2797         ipa_check_create_edge_args.
2798         * ipa-inline.c (inline_generate_summary): Do not call
2799         ipa_check_create_node_params and ipa_check_create_edge_args.
2800         * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
2801         ipa_check_create_edge_args.
2802
2803 2011-04-12  Jakub Jelinek  <jakub@redhat.com>
2804
2805         PR rtl-optimization/48549
2806         * combine.c (propagate_for_debug): Also stop after BB_END of
2807         this_basic_block.  Process LAST and just stop processing after it.
2808         (combine_instructions): If last_combined_insn has been deleted,
2809         set last_combined_insn to its PREV_INSN.
2810
2811 2011-04-12  Nick Clifton  <nickc@redhat.com>
2812
2813         * config/v850/v850.c (expand_prologue): Do not use the CALLT
2814         instruction for interrupt handlers if the target is the basic V850
2815         architecture.
2816         (expand_epilogue): Likewise.
2817
2818 2011-04-12  Jakub Jelinek  <jakub@redhat.com>
2819
2820         PR c/48517
2821         * c-typeck.c (store_init_value): Set TREE_TYPE (decl) to
2822         qualified type.
2823
2824 2011-04-11  Joseph Myers  <joseph@codesourcery.com>
2825
2826         * common.opt (Tbss=, Tdata=, Ttext=): New options.
2827
2828 2011-04-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2829
2830         Backport from mainline:
2831         2011-04-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2832
2833         * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
2834
2835 2011-04-09  Duncan Sands  <baldrick@free.fr>
2836
2837         * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
2838
2839 2011-04-08  Steven G. Kargl  <kargl@gcc.gnu.org>
2840
2841         PR target/47829
2842         * config.gcc: disable unwind table generation for crtbegin/crtend
2843         on i386-*-freebsd.
2844
2845 2011-04-08  Jakub Jelinek  <jakub@redhat.com>
2846
2847         PR tree-optimization/48377
2848         * tree-vect-data-refs.c (vector_alignment_reachable_p): Set is_packed
2849         to true even for types with smaller TYPE_ALIGN than TYPE_SIZE.
2850
2851 2011-04-07  Uros Bizjak  <ubizjak@gmail.com>
2852
2853         * config/i386/sse.md: Update copyright year.
2854         (avx_cmp<ssescalarmodesuffix><mode>3): Add missing output
2855         register constraint.
2856         (*vec_concatv2sf_avx): Fix wrong register constraint in
2857         alternative 3 of operand 1.
2858         (*vec_set<mode>_0_avx): Avoid combining registers from different
2859         units in a single alternative.
2860         (*vec_set<mode>_0_sse4_1): Ditto.
2861         (*vec_set<mode>_0_sse2): Ditto.
2862         (vec_set<mode>_0): Ditto.
2863         (sse2_storehpd): Ditto.
2864         (sse2_loadhpd): Ditto.
2865         (sse4_1_insertps): Use nonimmediate_operand for operand 2.
2866         * config/i386/predicates.md (sse_comparison_operator): Do not
2867         define as special predicate.
2868
2869 2011-04-07  Jakub Jelinek  <jakub@redhat.com>
2870
2871         PR debug/48343
2872         * combine.c (combine_instructions): Add last_combined_insn,
2873         update it if insn is after it, pass it to all try_combine calls.
2874         (try_combine): Add last_combined_insn parameter, pass it instead of
2875         i3 to propagate_for_debug.
2876
2877 2011-04-07  Andrey Belevantsev  <abel@ispras.ru>
2878
2879         Backport from mainline
2880         2011-03-26  Andrey Belevantsev  <abel@ispras.ru>
2881
2882         PR rtl-optimization/48144
2883         * sel-sched-ir.c (merge_history_vect): Factor out from ...
2884         (merge_expr_data): ... here.
2885         (av_set_intersect): Rename to av_set_code_motion_filter.
2886         Update all callers.  Call merge_history_vect when an
2887         expression is found in both sets.
2888         * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
2889
2890 2011-04-06  Jakub Jelinek  <jakub@redhat.com>
2891
2892         PR debug/48466
2893         * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
2894         as base_reg whatever register reg has been eliminated to, instead
2895         of hardcoding STACK_POINTER_REGNUM.
2896
2897         Backported from mainline
2898         2011-04-01  Jakub Jelinek  <jakub@redhat.com>
2899
2900         PR middle-end/48335
2901         * expr.c (expand_assignment): Handle all possibilities
2902         if TO_RTX is CONCAT.
2903         * expmed.c (store_bit_field_1): Avoid trying to create
2904         invalid SUBREGs.
2905         (store_split_bit_field): If SUBREG_REG (op0) or
2906         op0 itself has smaller mode than word, return it
2907         for offset 0 and const0_rtx for out-of-bounds stores.
2908         If word is const0_rtx, skip it.
2909
2910 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
2911
2912         * gcov-io.c: Use GCC Runtime Library Exception.
2913
2914 2011-04-05  Eric Botcazou  <ebotcazou@adacore.com>
2915
2916         * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
2917
2918 2011-04-01  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2919
2920         * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
2921
2922 2011-04-01  Andrey Belevantsev  <abel@ispras.ru>
2923
2924         Backport from mainline
2925         2011-03-22  Andrey Belevantsev  <abel@ispras.ru>
2926
2927         PR rtl-optimization/48143
2928         * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
2929         (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
2930         sse2_cvtps2pd): Likewise.
2931
2932 2011-03-31  Eric Botcazou  <ebotcazou@adacore.com>
2933
2934         PR target/48142
2935         * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
2936         frame-related from frame-unrelated adjustments to the stack pointer.
2937
2938 2011-03-30  H.J. Lu  <hongjiu.lu@intel.com>
2939
2940         Backport from mainline
2941         2011-03-30  H.J. Lu  <hongjiu.lu@intel.com>
2942
2943         PR target/48349
2944         * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
2945         FLOAT_SSE_REGS.
2946
2947 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
2948
2949         PR debug/48253
2950         * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
2951         dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
2952         dw_fde_unlikely_section_end_label, cold_in_std_section,
2953         dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
2954         Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
2955         fields.
2956         (output_fde): Use dw_fde_second_{begin,end} if second is
2957         true, otherwise dw_fde_{begin,end}.
2958         (output_call_frame_info): Test dw_fde_second_begin != NULL
2959         instead of dw_fde_switched_sections.
2960         (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
2961         fields, initialize new fields.  Initialize in_std_section
2962         unconditionally from the first partition.
2963         (dwarf2out_end_epilogue): Don't override dw_fde_end when
2964         dw_fde_second_begin is non-NULL.
2965         (dwarf2out_switch_text_section): Stop initializing removed
2966         dw_fde_struct fields, initialize new fields, initialize
2967         also dw_fde_end here.  Set dw_fde_switch_cfi even when
2968         dwarf2out_do_cfi_asm ().  Call var_location_switch_text_section.
2969         (struct var_loc_list_def): Add last_before_switch field.
2970         (arange_table, arange_table_allocated, arange_table_in_use,
2971         ARANGE_TABLE_INCREMENT, add_arange): Removed.
2972         (size_of_aranges): Count !in_std_section and !second_in_std_section
2973         hunks in fdes, instead of looking at arange_table_in_use.
2974         (output_aranges): Add aranges_length argument, don't call
2975         size_of_aranges here.  Instead of using aranges_table*
2976         emit ranges for fdes when !in_std_section resp.
2977         !second_in_std_section.
2978         (dw_loc_list): Break ranges crossing section switch.
2979         (convert_cfa_to_fb_loc_list): Likewise.  If switched sections,
2980         use dw_fde_second_end instead of dw_fde_end as end of last
2981         range.
2982         (gen_subprogram_die): Don't call add_arange.  Use
2983         dw_fde_{begin,end} for first partition and if switched
2984         section dw_fde_second_{begin,end} for the second.
2985         (var_location_switch_text_section_1,
2986         var_location_switch_text_section): New functions.
2987         (dwarf2out_begin_function): Initialize cold_text_section even
2988         when function_section () isn't text_section.
2989         (prune_unused_types): Don't walk arange_table.
2990         (dwarf2out_finish): Don't needlessly test
2991         flag_reorder_blocks_and_partition when testing cold_text_section_used.
2992         If info_section_emitted, call size_of_aranges and if it indicates
2993         non-empty .debug_aranges, call output_aranges with the computed
2994         size.  Stop using removed dw_fde_struct fields, use
2995         dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
2996         for second.
2997
2998 2011-03-29  Uros Bizjak  <ubizjak@gmail.com>
2999
3000         * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
3001         (alpha_option_override): Don't set alpha_sr_alias_set.
3002         (emit_frame_store_1): Use gen_frame_mem rather than calling
3003         set_mem_alias_set.
3004         (alpha_expand_epilogue): Ditto.
3005         (unicosmk_gen_dsib): Ditto.
3006
3007 2011-03-29  Nick Clifton  <nickc@redhat.com>
3008
3009         * config/rx/rx.h (LABEL_ALIGN_AFTER_BARRIER): Define.
3010         (ASM_OUTPUT_MAX_SKIP): Define.
3011         * config/rx/predicates.md (rx_zs_comparison_operator): Do not
3012         allow LT aor GE comparisons.
3013         * config/rx/rx-protos.h (rx_align_for_label): Prototype.
3014         * config/rx/rx.md: Add peepholes and patterns to combine extending
3015         loads with simple arithmetic instructions.
3016         * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI modes
3017         to use pre-decrement and post-increment addressing.
3018         (rx_is_restricted_memory_address): For REG+INT addressing, ensure
3019         that the INT is a valid offset.
3020         (rx_print_operand): Handle %R.
3021         Fix %Q's handling of MEMs.
3022         (rx_option_override): Set alignments.
3023         (rx_align_for_label): New function.
3024         (rx_max_skip_for_label): New function.
3025         (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
3026         (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
3027         (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
3028         (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
3029
3030 2011-03-29  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3031
3032         * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
3033         for invalid symbolic addresses.
3034         (s390_secondary_reload): Don't use s390_check_symref_alignment for
3035         larl operands.
3036
3037 2011-03-28  Richard Sandiford  <richard.sandiford@linaro.org>
3038
3039         PR target/47553
3040         * config/arm/predicates.md (neon_lane_number): Accept 0..15.
3041
3042 2011-03-28  Richard Guenther  <rguenther@suse.de>
3043
3044         Backport from mainline
3045         2011-03-24  Richard Guenther  <rguenther@suse.de>
3046
3047         PR middle-end/48269
3048         * tree-object-size.c (addr_object_size): Do not double-account
3049         for MEM_REF offsets.
3050
3051         2011-03-22  Richard Guenther  <rguenther@suse.de>
3052
3053         PR tree-optimization/48228
3054         * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
3055         for single-arg PHIs.
3056
3057         2011-03-17  Richard Guenther  <rguenther@suse.de>
3058
3059         PR middle-end/48134
3060         * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
3061         a value make sure to fold the statement.
3062
3063         2011-03-15  Richard Guenther  <rguenther@suse.de>
3064
3065         PR middle-end/48031
3066         * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
3067         or variable-indexed array accesses when in gimple form.
3068
3069 2011-03-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
3070
3071         PR other/48179
3072         PR other/48221
3073         PR other/48234
3074         * doc/extend.texi (Alignment): Move section to match order in TOC.
3075         * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
3076         (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
3077
3078 2011-03-26  Uros Bizjak  <ubizjak@gmail.com>
3079
3080         Backport from mainline:
3081         2011-03-24  Uros Bizjak  <ubizjak@gmail.com>
3082
3083         PR target/48237
3084         * config/i386/i386.md (*movdf_internal_rex64): Do not split
3085         alternatives that can be handled with movq or movabsq insn.
3086         (*movdf_internal): Disable for !TARGET_64BIT.
3087         (*movdf_internal_nointeger): Ditto.
3088         * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
3089
3090 2011-03-26  Jakub Jelinek  <jakub@redhat.com>
3091
3092         Backport from mainline
3093         2011-03-24  Jakub Jelinek  <jakub@redhat.com>
3094
3095         PR debug/48204
3096         * simplify-rtx.c (simplify_const_unary_operation): Call
3097         real_convert when changing mode class with FLOAT_EXTEND.
3098
3099         2011-03-20  Jakub Jelinek  <jakub@redhat.com>
3100
3101         PR c/42544
3102         PR c/48197
3103         * c-common.c (shorten_compare): If primopN is first sign-extended
3104         to opN and then zero-extended to result type, set primopN to opN.
3105
3106         PR rtl-optimization/48156
3107         * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
3108         assume df and df_lr are not NULL.
3109
3110         2011-03-17  Jakub Jelinek  <jakub@redhat.com>
3111
3112         PR rtl-optimization/48141
3113         * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
3114         * dse.c: Include params.h.
3115         (active_local_stores_len): New variable.
3116         (add_wild_read, dse_step1): Clear it when setting active_local_stores
3117         to NULL.
3118         (record_store, check_mem_read_rtx): Decrease it when removing
3119         from the chain.
3120         (scan_insn): Likewise.  Increase it when adding to chain, if it
3121         reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
3122         set active_local_stores to NULL before the addition.
3123         * Makefile.in (dse.o): Depend on $(PARAMS_H).
3124
3125         PR rtl-optimization/48141
3126         * dse.c (record_store): If no positions are needed in an insn
3127         that cannot be deleted, at least unchain it from active_local_stores.
3128
3129 2011-03-25  Jakub Jelinek  <jakub@redhat.com>
3130
3131         * BASE-VER: Set to 4.6.1.
3132         * DEV-PHASE: Set to prerelease.
3133
3134 2011-03-25  Release Manager
3135
3136         * GCC 4.6.0 released.
3137
3138 2011-03-21  Andreas Tobler  <andreast@fgznet.ch>
3139
3140         * config/rs6000/t-freebsd: Remove duplication from file.
3141
3142 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3143
3144         PR bootstrap/48135
3145         * doc/install.texi (Prerequisites): Move jar etc. up.
3146         Explain support library version requirements.
3147
3148 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3149
3150         PR bootstrap/48135
3151         * doc/install.texi (Prerequisites): Move Perl to build
3152         requirements.  Always necessary on Solaris 2 with Sun ld.
3153
3154 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3155
3156         * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
3157         binutils 2.21.
3158         (Specific, i?86-*-solaris2.[89]): Likewise.
3159         (Specific, i?86-*-solaris2.10): Likewise.
3160         (Specific, mips-sgi-irix6): Likewise.
3161         (Specific, *-*-solaris2*): Remove Sun Studio download URL.
3162         Update for binutils 2.21.
3163
3164 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
3165
3166         PR target/48213
3167         * config/s390/s390.c (s390_delegitimize_address): Don't call
3168         lowpart_subreg if orig_x has BLKmode.
3169
3170 2011-03-20  Joseph Myers  <joseph@codesourcery.com>
3171
3172         * c-decl.c (diagnose_mismatched_decls): Give an error for
3173         redefining a typedef with variably modified type.
3174
3175 2011-03-20  Joseph Myers  <joseph@codesourcery.com>
3176
3177         * c-decl.c (grokfield): Don't allow typedefs for structures or
3178         unions with no tag by default.
3179         * doc/extend.texi (Unnamed Fields): Update.
3180
3181 2011-03-18  Jakub Jelinek  <jakub@redhat.com>
3182
3183         PR debug/48176
3184         * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
3185         arange_table_in_use is 0, but either text_section_used or
3186         cold_text_section_used is true.  Don't call it if
3187         !info_section_emitted.
3188
3189 2011-03-18  Richard Guenther  <rguenther@suse.de>
3190
3191         * doc/install.texi (--enable-gold): Remove.
3192         (--with-plugin-ld): Document.
3193         * doc/invoke.texi (-fuse-linker-plugin): Clarify.
3194
3195 2011-03-18  H.J. Lu  <hongjiu.lu@intel.com>
3196
3197         Backport from mainline
3198         2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
3199
3200         PR target/48171
3201         * config/i386/i386.opt: Add Save to -mavx and -mfma.
3202
3203 2011-03-18  Richard Henderson  <rth@redhat.com>
3204             Jakub Jelinek  <jakub@redhat.com>
3205
3206         PR bootstrap/48161
3207         * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
3208         instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
3209
3210 2011-03-17  Richard Guenther  <rguenther@suse.de>
3211
3212         PR middle-end/48165
3213         * tree-object-size.c (compute_object_offset): Properly return
3214         the offset operand of MEM_REFs as sizetype.
3215
3216 2011-03-16  Dodji Seketeli  <dodji@redhat.com>
3217
3218         PR debug/47510
3219         * dwarf2out.c (strip_naming_typedef): Factorize out of ...
3220         (lookup_type_die_strip_naming_typedef): ... here.
3221         (get_context_die): Use it.
3222         (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
3223         the anonymous struct named by the naming typedef.
3224
3225 2011-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3226
3227         PR target/46788
3228         * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
3229         in the output template.
3230
3231 2011-03-15  Alan Modra  <amodra@gmail.com>
3232
3233         PR target/48032
3234         * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
3235         presume symbol_refs without a symbol_ref_decl are suitably
3236         aligned, nor other trees we may see here.  Handle anchor symbols.
3237         (legitimate_constant_pool_address_p): Comment.  Add mode param.
3238         Check cmodel=medium addresses.  Adjust all calls.
3239         (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
3240         creating cmodel=medium optimized access to locals.
3241         * config/rs6000/constraints.md (R): Pass QImode to
3242         legitimate_constant_pool_address_p.
3243         * config/rs6000/predicates.md (input_operand): Pass mode to
3244         legitimate_constant_pool_address_p.
3245         * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
3246         Update prototype.
3247
3248 2011-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
3249
3250         PR target/48053
3251         * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
3252         64-bit constants being loaded into registers other than GPRs such
3253         as loading 0 into a VSX register.
3254
3255 2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3256
3257         * config/sol2.c (solaris_assemble_visibility): Remove obsolete
3258         URLs.
3259
3260 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
3261
3262         * doc/invoke.texi, doc/standards.texi: Refer to
3263         gcc-4.6/c99status.html.
3264
3265         * DEV-PHASE: Mark "prerelease".
3266
3267 2011-03-14  Richard Guenther  <rguenther@suse.de>
3268
3269         PR middle-end/48098
3270         * tree.c (build_vector_from_val): Adjust assert to requirements
3271         and reality.
3272
3273 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
3274
3275         PR bootstrap/48102
3276         * graphite-cloog-compat.h (build_cloog_prog): Remove STATE
3277         parameter.
3278
3279 2011-03-14  Andreas Tobler  <andreast@fgznet.ch>
3280
3281         * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
3282         terms of target_flags_explicit. Adjust copyright year.
3283
3284         * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
3285         * config/rs6000/t-freebsd: New file. Add override for
3286         LIB2FUNCS_EXTRA.
3287
3288 2011-03-13  Chris Demetriou  <cgd@google.com>
3289
3290         * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
3291         (-fno-diagnostics-show-option): this, to reflect current default.
3292         (-Werror=): Update text about -fno-diagnostics-show-option.
3293
3294 2011-03-12  Peter Bergner  <bergner@vnet.ibm.com>
3295
3296         PR target/48053
3297         * config/rs6000/predicates.md (easy_vector_constant_add_self,
3298         easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
3299         * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
3300         mode is not V2DImode or V2DFmode.
3301         (vspltis_constant): Do not handle V2DImode and V2DFmode.
3302         (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
3303         * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
3304         registers to 0.
3305         (movdi_internal64): Likewise.
3306
3307 2011-03-12  Sebastian Pop  <sebastian.pop@amd.com>
3308
3309         PR tree-optimization/47127
3310         * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
3311         parameter.
3312         (set_cloog_options): Same.
3313         (scop_to_clast): Same.
3314         (print_clast_stmt): Do not call cloog_state_malloc and
3315         cloog_state_free.
3316         (print_generated_program): Same.
3317         (gloog): Same.
3318         * graphite-clast-to-gimple.h (cloog_state): Declared.
3319         (scop_to_clast): Adjust declaration.
3320         * graphite.c (cloog_state): Defined here.
3321         (graphite_initialize): Call cloog_state_malloc.
3322         (graphite_finalize): Call cloog_state_free.
3323
3324 2011-03-11  Jason Merrill  <jason@redhat.com>
3325
3326         * attribs.c (lookup_attribute_spec): Take const_tree.
3327         * tree.h: Adjust.
3328
3329 2011-03-11  Joseph Myers  <joseph@codesourcery.com>
3330
3331         * config/sparc/sparc.c (sparc_option_override): Use
3332         PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
3333
3334 2011-03-11  Richard Guenther  <rguenther@suse.de>
3335
3336         PR tree-optimization/48067
3337         * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
3338         multiplication result will be only used once on the target
3339         stmt.
3340
3341 2011-03-11  Richard Guenther  <rguenther@suse.de>
3342
3343         * doc/invoke.texi (max-inline-insns-single): Adjust default value.
3344
3345 2011-03-11  Richard Guenther  <rguenther@suse.de>
3346
3347         PR lto/48073
3348         * tree.c (find_decls_types_r): Do not walk types only reachable
3349         from IDENTIFIER_NODEs.
3350
3351 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
3352
3353         PR middle-end/48044
3354         * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
3355         all vnode->force_output nodes as needed.
3356
3357 2011-03-11  Jason Merrill  <jason@redhat.com>
3358
3359         PR c++/48069
3360         * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
3361         COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
3362
3363 2011-03-11  Martin Jambor  <mjambor@suse.cz>
3364
3365         * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
3366         cgraph_node.
3367
3368 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
3369
3370         PR tree-optimization/48063
3371         * ipa-inline.c (cgraph_decide_inlining): Don't try to
3372         inline functions called once if !tree_can_inline_p (node->callers).
3373
3374 2011-03-11  Chen Liqin  <liqin.gcc@gmail.com>
3375
3376         * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
3377         extra_objs.
3378         * config/score/score3.c: Delete.
3379         * config/score/score3.h: Delete.
3380         * config/score/mul-div.S: Delete.
3381         * config/score/sfp-machine.h: Add new file.
3382         * config/score/constraints.md: Add new file.
3383         * config/score/t-score-softfp: Add new file.
3384         * config/score/t-score-elf: Remove score3.o, do not generate multilib.
3385         * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
3386         (score7_extra_constraint): Delete.
3387         (score7_option_override): Remove unused code.
3388         * config/score/score.c: Remove score3 and score5 define and code.
3389         * config/score/score.h: Remove score3 and score5 define and code.
3390         * config/score/score.md: Remove score3 template and unusual insn.
3391         * config/score/score.opt: Remove score3 and score5 options.
3392
3393 2011-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3394
3395         * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
3396         when _HPUX_SOURCE is defined.
3397         (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
3398
3399 2011-03-10  Jason Merrill  <jason@redhat.com>
3400
3401         PR c++/48029
3402         * stor-layout.c (layout_type): Don't set structural equality
3403         on arrays of incomplete type.
3404         * tree.c (type_hash_eq): Handle comparing them properly.
3405
3406 2011-03-10  Jakub Jelinek  <jakub@redhat.com>
3407
3408         PR debug/48043
3409         * config/s390/s390.c (s390_delegitimize_address): Make sure the
3410         result mode matches original rtl mode.
3411
3412 2011-03-10  Nick Clifton  <nickc@redhat.com>
3413
3414         * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
3415         (andsi3, andsi3_flags): Fix timings for three operand alternative.
3416
3417 2011-03-09  Jakub Jelinek  <jakub@redhat.com>
3418
3419         PR rtl-optimization/47866
3420         * expr.c (store_field): If MEM_SCALAR_P (target), don't use
3421         MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
3422         if target wasn't scalar.
3423         * function.c (assign_stack_temp_for_type): Assert that neither
3424         MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
3425         MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
3426         macro.
3427         * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
3428
3429 2011-03-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3430
3431         * config/s390/s390-protos.h (s390_label_align): New prototype.
3432         * config/s390/s390.c (s390_label_align): New function.
3433         * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
3434
3435 2011-03-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
3436
3437         PR target/47755
3438         * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
3439         V2DI/V2DF constants.  Only all 0's or all 1's are easy.
3440         (output_vec_const_move): Ditto.
3441
3442 2011-03-08  Anatoly Sokolov  <aesok@post.ru>
3443
3444         * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
3445         * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
3446         * config/mips/mips.c (mips_preferred_reload_class): Make static.
3447         Change 'rclass' argument and result type to reg_class_t.
3448         (TARGET_PREFERRED_RELOAD_CLASS): Define.
3449
3450 2011-03-08  Georg-Johann Lay  <avr@gjlay.de>
3451
3452         * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
3453         * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
3454         (TARGET_MEMORY_MOVE_COST): Define.
3455         (avr_register_move_cost, avr_memory_move_cost): New Functions.
3456
3457 2011-03-08  Jakub Jelinek  <jakub@redhat.com>
3458
3459         PR debug/47881
3460         * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
3461         removed anything.
3462
3463         PR tree-optimization/48022
3464         * fold-const.c (fold_comparison): Don't call fold_overflow_warning
3465         for EQ/NE_EXPR.
3466
3467 2011-03-07  Jakub Jelinek  <jakub@redhat.com>
3468
3469         PR debug/47991
3470         * var-tracking.c (find_use_val): Return NULL for
3471         cui->sets && cui->store_p BLKmode MEMs.
3472
3473 2011-03-07  Anatoly Sokolov  <aesok@post.ru>
3474
3475         * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
3476         Remove.
3477         * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
3478         xstormy16_print_operand_address): Remove.
3479         * config/stormy16/stormy16.c (xstormy16_print_operand,
3480         xstormy16_print_operand_address): Make static.
3481         (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
3482
3483 2011-03-07  Pat Haugen  <pthaugen@us.ibm.com>
3484
3485         PR target/47862
3486         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
3487         * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
3488         before definition.
3489
3490 2011-03-07  Zdenek Dvorak  <ook@ucw.cz>
3491
3492         PR bootstrap/48000
3493         * cfgloopmanip.c (fix_bb_placements): Return immediately
3494         if FROM is BASE_LOOP's header.
3495
3496 2011-03-07  Paul Wögerer  <paul_woegerer@mentor.com>
3497
3498         * gimplify.c (gimplify_function_tree): Fix building calls
3499         to __builtin_return_address.
3500
3501 2011-03-07  Alan Modra  <amodra@gmail.com>
3502
3503         * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
3504         * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
3505         * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
3506         * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
3507         return_mode args.
3508         * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
3509         (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
3510         (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
3511         (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
3512         * config/rs6000/rs6000.c
3513         (rs6000_elf_end_indicate_exec_stack): Rename to..
3514         (rs6000_elf_file_end): ..this.  Only call file_end_indicate_exec_stack
3515         for POWERPC_LINUX.  Move code emitting .gnu_attribute to here, from..
3516         (rs6000_file_start): ..here.
3517         (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
3518         file scope variables.
3519         (call_ABI_of_interest): New function.
3520         (init_cumulative_args): Set above vars when function return value
3521         is a float, vector, or small struct.
3522         (rs6000_function_arg_advance_1): Likewise for function args.
3523         (rs6000_va_start): Set rs6000_passes_float if variable arg function
3524         references float args.
3525
3526 2011-03-07  Mingjie Xing  <mingjie.xing@gmail.com>
3527
3528         * doc/cfg.texi: Remove "See" before @ref.
3529         * doc/invoke.texi: Likewise.
3530
3531 2011-03-05  Jason Merrill  <jason@redhat.com>
3532
3533         * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
3534
3535 2011-03-05  Anthony Green  <green@moxielogic.com>
3536
3537         * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
3538
3539 2011-03-05  Zdenek Dvorak  <ook@ucw.cz>
3540
3541         PR rtl-optimization/47899
3542         * cfgloopmanip.c (fix_bb_placements): Fix first argument
3543         to flow_loop_nested_p when moving the loop upward.
3544
3545 2011-03-05  Richard Earnshaw  <rearnsha@arm.com>
3546
3547         PR target/47719
3548         * arm.md (movhi_insn_arch4):  Accept any immediate constant.