OSDN Git Service

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