OSDN Git Service

bfb5e84ca99d9a07dc282a6dfd8202a47cca5366
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2013-01-03  Richard Henderson  <rth@redhat.com>
2
3         * config/i386/i386.c (ix86_expand_move): Always assign to op1
4         after eliminating TLS symbols.
5
6 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7
8         PR target/53789
9         * config/pa/pa.md (movsi): Revert previous change.
10         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
11         references.
12
13 2013-01-02  Rainer Emrich  <rainer@emrich-ebersheim.de>
14
15         PR bootstrap/55707
16         * graphite-dependences.c (hash_poly_ddr_p): Cast from pointer via
17         intptr_t.
18
19 2013-01-02  Jason Merrill  <jason@redhat.com>
20
21         PR c++/55804
22         * tree.c (build_array_type_1): Revert earlier change.
23
24 2012-12-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
25
26         PR target/53789
27         * config/pa/pa.md (movsi): Reject expansion of TLS symbol references
28         after reload starts.
29
30 2012-12-21  Martin Jambor  <mjambor@suse.cz>
31
32         PR tree-optimization/55355
33         * tree-sra.c (type_internals_preclude_sra_p): Also check that
34         bit_position is small enough to fit a single HOST_WIDE_INT.
35
36 2012-12-21  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
37
38         * config.gcc: Match arm*-*-uclinux*eabi* for EABI uCLinux.
39
40 2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
41
42         Backport from mainline
43         2012-10-15  Matthias Klose  <doko@ubuntu.com>
44
45         * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
46         * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
47
48 2012-12-16  Eric Botcazou  <ebotcazou@adacore.com>
49             Tomash Brechko  <tomash.brechko@gmail.com>
50
51         PR target/55673
52         * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed
53         handling of before and after cases.
54         * config/sparc/sync.md (atomic_store): Fix pasto.
55
56 2012-12-14  Yvan Roux  <yvan.roux@linaro.org>
57
58         * optabs.c (expand_atomic_store): Elide redundant model test.
59
60 2012-12-13  Richard Henderson  <rth@redhat.com>
61
62         PR middle-end/55492
63         * optabs.c (expand_atomic_load): Emit acquire barrier after the load.
64
65 2012-12-11  Eric Botcazou  <ebotcazou@adacore.com>
66
67         PR target/54121
68         * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
69         (tldo_stb_sp64): Likewise.
70         (tldo_sth_sp32): Likewise.
71         (tldo_sth_sp64): Likewise.
72         (tldo_stw_sp32): Likewise.
73         (tldo_stw_sp64): Likewise.
74         (tldo_stx_sp64): Likewise.
75
76 2012-12-10 Kai Tietz  <ktietz@redhat.com>
77
78         PR target/53912
79         * print-tree.c (print_node): Cast from pointer via uintptr_t.
80
81 2012-12-07  Uros Bizjak  <ubizjak@gmail.com>
82
83         Backport from mainline
84         2012-12-06  Uros Bizjak  <ubizjak@gmail.com>
85                     H.J. Lu  <hongjiu.lu@intel.com>
86
87         PR target/55597
88         * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
89         before using it as insn or call equivalent.
90
91 2012-12-06  Jason Merrill  <jason@redhat.com>
92
93         PR c++/55032
94         * tree.c (build_array_type_1): Re-layout if we found it in the
95         hash table.
96
97 2012-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
98
99         * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
100         opaque cond in all call insns.
101
102 2012-12-03  Eric Botcazou  <ebotcazou@adacore.com>
103
104         * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
105         area if the function allocates dynamic stack space.
106         (ia64_initial_elimination_offset): Adjust offsets to above change.
107
108 2012-12-03  Richard Biener  <rguenther@suse.de>
109
110         Backport from mainline
111         2012-09-24  Richard Guenther  <rguenther@suse.de>
112
113         PR tree-optimization/53663
114         * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional
115         native encode/interpret translation on VN_WALKREWRITE.
116
117 2012-12-03 Kai Tietz  <ktietz@redhat.com>
118
119         PR target/53912
120         * ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t.
121
122         PR target/53912
123         * tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT.
124
125         PR target/53912
126         * pointer-set.c (hash1): Cast from pointer via uintptr_t.
127
128 2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
129
130         Backport from mainline:
131         2012-11-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
132
133         PR target/55195
134         * config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types.
135         (in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
136         (in_nullified_branch_delay): Likewise.
137         (in_call_delay): Likewise.
138         Define delay for sibcall insns.  Adjust Z3 and Z4 insn reservations for
139         new types.  Add opaque cond to mark all calls, sibcalls, dyncalls and
140         the $$sh_func_adrs call as variable.  Update type of sibcalls and
141         $$sh_func_adrs call.
142         * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
143         length instead of adjustment.  Handle negative and undefined call
144         adjustments for insn_default_length.  Remove adjustment for millicode
145         insn with unfilled delay slot.
146         (pa_output_millicode_call): Update for revised millicode length.
147         * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
148
149 2012-11-29  Kai Tietz  <ktietz@redhat.com>
150
151         PR target/55171
152         * prefix.c (lookup_key): Replace xmalloc/xrealloc
153         use by XNEWVEC/XRESIZEVEC.
154
155         * i386.c (get_scratch_register_on_entry): Handle
156         thiscall-convention.
157         (split_stack_prologue_scratch_regno): Likewise.
158         (ix86_static_chain): Likewise.
159         (x86_output_mi_thunk): Likewise.
160
161 2012-11-28  H.J. Lu  <hongjiu.lu@intel.com>
162
163         Backported from mainline
164         2012-11-27  H.J. Lu  <hongjiu.lu@intel.com>
165                     Markus Trippelsdorf  <markus@trippelsdorf.de>
166
167         PR lto/54795
168         * lto-opts.c (lto_write_options): Also handle
169         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and
170         OPT_SPECIAL_program_name.
171
172         PR lto/55474
173         * lto-wrapper.c (merge_and_complain): Handle
174         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore,
175         OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
176
177 2012-11-27  Paolo Bonzini  <pbonzini@redhat.com>
178
179         PR rtl-optimization/55489
180         * gcse.c (compute_transp): Precompute a canonical version
181         of XEXP (x, 0), and pass it to canon_true_dependence.
182
183 2012-11-27  Richard Biener  <rguenther@suse.de>
184
185         PR middle-end/55331
186         * gimple-fold.c (gimplify_and_update_call_from_tree): Replace
187         stmt with a NOP instead of removing it.
188
189 2012-11-26  Richard Biener  <rguenther@suse.de>
190
191         Backport from mainline
192         2012-10-19  Richard Biener  <rguenther@suse.de>
193
194         PR tree-optimization/54976
195         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
196         Robustify against odd inner_mode inputs.
197
198         2012-10-12  Richard Biener  <rguenther@suse.de>
199
200         PR tree-optimization/54894
201         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
202         Handle over-aligned scalar types properly.
203
204         2012-10-02  Richard Guenther  <rguenther@suse.de>
205
206         PR middle-end/54735
207         * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
208         cleaning up the CFG.
209
210 2012-11-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
211
212         Backport from mainline
213         2012-11-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
214
215         * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
216         explaining the register ordering preferences.
217
218         2012-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
219         * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
220         constraints so that the traditional floating point loads, stores,
221         and moves are done first, then the VSX loads, stores, and moves,
222         and finally the GPR loads, stores, and moves so that reload
223         chooses FPRs over GPRs, and uses the traditional load/store
224         instructions which provide an offset.
225         (movdf_hardfloat64): Likewise.
226
227 2012-11-19  H.J. Lu  <hongjiu.lu@intel.com>
228
229         Backported from mainline
230         2012-11-13  Eric Botcazou  <ebotcazou@adacore.com>
231                     H.J. Lu  <hongjiu.lu@intel.com>
232
233         PR middle-end/55142
234         * config/i386/i386.c (legitimize_pic_address): Properly handle
235         REG + CONST.
236         (ix86_print_operand_address): Set code to 'k' when forcing
237         addr32 prefix.  For x32, zero-extend negative displacement if
238         it < -16*1024*1024.
239
240 2012-11-12  Eric Botcazou  <ebotcazou@adacore.com>
241
242         * common.opt (fvar-tracking-uninit): Document.
243         * toplev.c (process_options): Fix handling of flag_var_tracking_uninit.
244         * config/darwin.c (darwin_override_options): Likewise.
245
246 2012-11-11  Eric Botcazou  <ebotcazou@adacore.com>
247
248         * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
249         * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.
250
251 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
252
253         * doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
254
255 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
256
257         * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
258         sp_offset manually.
259
260 2012-11-07  Uros Bizjak  <ubizjak@gmail.com>
261
262         Backport from mainline
263         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
264
265         * config/i386/i386.c (ix86_init_machine_status): Do not
266         explicitly clear tls_descriptor_call_expanded_p again.
267
268         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
269
270         * config/i386/sse.md
271         (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
272         as read and written by the instruction.
273
274         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
275
276         * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
277         (ix86_instantiate_decls): New function.
278         (ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
279         stack slot instead of SLOT_VIRTUAL.
280         <case IX86_BUILTIN_STMXCSR>: Ditto.
281         (assign_386_stack_local): Do not assert when virtual slot is valid.
282         * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
283         * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
284         (truncxf<mode>2): Ditto.
285         (floatunssi<mode>2): Ditto.
286         (isinf<mode>2): Ditto.
287         * config/i386/sync.md (atomic_load<mode>): Ditto.
288         (atomic_store<mode>): Ditto.
289
290 2012-11-07  Eric Botcazou  <ebotcazou@adacore.com>
291
292         PR middle-end/55219
293         * fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
294         the argument is itself a conditional expression.
295
296 2012-11-05  H.J. Lu  <hongjiu.lu@intel.com>
297
298         * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
299         REX_INT_REGNO_P.
300
301 2012-11-05  Eric Botcazou  <ebotcazou@adacore.com>
302
303         PR tree-optimization/54986
304         * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op
305         conversions on entry but add them back on exit if needed.
306
307 2012-11-05  Richard Sandiford  <rdsandiford@googlemail.com>
308
309         PR target/55204
310         * config/i386/i386.c (ix86_address_subreg_operand): Remove stack
311         pointer check.
312         (print_reg): Use true_regnum rather than REGNO.
313         (ix86_print_operand_address): Remove SUBREG handling.
314
315 2012-11-05  Jakub Jelinek  <jakub@redhat.com>
316
317         Backported from mainline
318         2012-10-24  Jakub Jelinek  <jakub@redhat.com>
319
320         PR debug/54828
321         * gimple.h (is_gimple_sizepos): New inline function.
322         * gimplify.c (gimplify_one_sizepos): Use it.  Remove useless
323         final assignment to expr variable.
324         * tree.c (RETURN_TRUE_IF_VAR): Return true also if
325         !TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified
326         into a local temporary.
327
328         2012-10-10  Jakub Jelinek  <jakub@redhat.com>
329
330         PR tree-optimization/54877
331         * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
332         use make_ssa_name instead of copy_ssa_name.
333
334 2012-11-03  Peter Bergner  <bergner@vnet.ibm.com>
335
336         Backport from mainline
337         2012-10-31  Jakub Jelinek  <jakub@redhat.com>
338
339         PR tree-optimization/53708
340         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
341         user-supplied alignment when used with an explicit section name.
342
343 2012-11-02  Jeff Law  <law@redhat.com>
344
345         PR tree-optimization/54985
346         * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function extracted
347         from thread_across_edge.
348         (thread_across_edge): Use it in all cases where we might thread
349         across a back edge.
350
351 2012-10-31  Eric Botcazou  <ebotcazou@adacore.com>
352
353         * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
354         special register pushes before frame probing and allocation.
355
356 2012-10-31  Ralf Corsépius  <ralf.corsepius@rtems.org>,
357             Joel Sherrill  <joel.sherrill@oarcorp.com>
358
359         * config/sparc/t-rtems: New (Custom multilibs).
360         * config/sparc/t-rtems-64: New (Custom multilibs).
361         * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
362         (sparc-*-rtems*): Add sparc/t-rtems.
363
364 2012-10-30  Eric Botcazou  <ebotcazou@adacore.com>
365
366         * cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
367         head comment.
368         (hash_rtx): Likewise.
369
370 2012-10-29  Terry Guo  <terry.guo@arm.com>
371
372         Backport from mainline
373         2012-10-11  Terry Guo  <terry.guo@arm.com>
374
375         * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
376         architecture.
377         * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
378         instruction.
379
380 2012-10-26  Gunther Nikl  <gnikl@users.sourceforge.net>
381
382         * common/config/m68k/m68k-common.c (m68k_handle_option): Set
383         gcc_options fields of opts_set for -m68020-40 and -m68020-60.
384
385 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
386
387         * config/avr/t-rtems: Revert previous commit.
388
389 2012-10-26  Terry Guo  <terry.guo@arm.com>
390
391         Backport from mainline
392         2012-10-23  Terry Guo  <terry.guo@arm.com>
393
394         PR target/55019
395         * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
396         live argument regs.
397
398 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
399
400         * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
401         __USE_INIT_FINI__.
402         * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
403
404 2012-10-25  Ralf Corsépius  <ralf.corsepius@rtems.org>
405
406         * config.gcc (microblaze*-*-rtems*): New target.
407         * config/microblaze/rtems.h: New.
408         * config/microblaze/t-rtems: New.
409
410 2012-10-25  Richard Biener  <rguenther@suse.de>
411
412         PR tree-optimization/54902
413         * tree-ssa-pre.c (fini_pre): Return TODO.
414         (execute_pre): Adjust.
415         * tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
416         blocks before computing dominators.
417
418 2012-10-24  Uros Bizjak  <ubizjak@gmail.com>
419
420         Backport from mainline
421         2012-10-22  Uros Bizjak  <ubizjak@gmail.com>
422
423         * config/i386/i386.c (memory_address_length): Assert that non-null
424         base or index RTXes are registers.  Do not check for REG RTXes.
425         Determine addr32 prefix using SImode_address_operand or
426         from original base and index RTXes.  Simplify code.
427
428         2012-10-21  Uros Bizjak  <ubizjak@gmail.com>
429
430         * config/i386/i386-protos.h (memory_address_length): Add new bool
431         argument.  Update all uses.
432         * config/i386/i386.c (memory_address_length): If not LEA insn, then
433         add length of addr32 prefix based on mode of base or index register.
434         (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
435         addresses here.  Update call to memory_address_length.
436         (ix86_print_address_operand): Use SImode_address_operand predicate.
437         * config/i386/predicates.md (SImode_address_operand): New.
438         * config/i386/i386.md (lea<mode>): Use SImode_address_operand
439         to calculate "mode" attribute.  Use SImode_address_operand predicate
440         instead of open-coding accepted RTX codes.
441
442 2012-10-22  Georg-Johann Lay  <avr@gjlay.de>
443
444         Backport from 2012-10-22 trunk r192685.
445         * doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
446         Note __AVR_<device>__ is not defined for cores.
447         Don't point to --help=target.
448         Order --mcu= documentation according to trunk:/gcc/doc/avr-mmcu.texi.
449
450 2012-10-19  Marek Polacek  <polacek@redhat.com>
451
452         Backported from mainline
453         2012-10-19  Marek Polacek  <polacek@redhat.com>
454
455         PR middle-end/54945
456         * fold-const.c (fold_sign_changed_comparison):  Punt if folding
457         pointer/non-pointer comparison.
458
459 2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
460
461         Backported from mainline
462         2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
463
464         PR target/54892
465         * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
466         sure the mode is correct when falling through from above cases.
467
468 2012-10-19  Alan Modra  <amodra@gmail.com>
469
470         * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
471         (HAVE_LD_LARGE_TOC): Likewise.
472         * configure: Regenerate.
473
474 2012-10-19  Alan Modra  <amodra@gmail.com>
475
476         * config/rs6000/predicates.md (splat_input_operand): Don't call
477         input_operand for MEMs.  Instead check for volatile and call
478         memory_address_addr_space_p with modified mode.
479
480 2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
481
482         Backported from mainline
483         2012-07-23  Ulrich Weigand  <ulrich.weigand@linaro.org>
484
485         * config/arm/arm.c (arm_reorg): Ensure all insns are split.
486
487 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
488
489         PR rtl-optimization/54870
490         * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
491         * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
492         SSA_NAME pointer that points to a partition if there is at least
493         one variable with it set in the partition.
494         * dse.c (local_variable_can_escape): New predicate.
495         (can_escape): Call it.
496         * gimplify.c (mark_addressable): If this is a partitioned decl, also
497         mark the SSA_NAME pointer that points to a partition.
498
499 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
500
501         Backport from mainline
502         2012-08-09  Andrey Belevantsev  <abel@ispras.ru>
503
504         PR rtl-optimization/53701
505         * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
506         rocess not only expr's vinsns but all old vinsns from expr's
507         istory of changes.
508
509 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
510
511         Backport from mainline
512         2012-07-31  Andrey Belevantsev  <abel@ispras.ru>
513         PR target/53975
514
515         * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
516         Revert
517         2011-08-04  Sergey Grechanik  <mouseentity@ispras.ru>
518         * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
519         only if producer writes to the register given by regno.
520
521 2012-09-15  Uros Bizjak  <ubizjak@gmail.com>
522
523         Backport from mainline
524         2012-10-15  Uros Bizjak  <ubizjak@gmail.com>
525
526         * config/i386/sse.md (UNSPEC_MOVU): Remove.
527         (UNSPEC_LOADU): New.
528         (UNSPEC_STOREU): Ditto.
529         (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
530         (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
531         (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
532         (<sse2>_movdqu<avxsizesuffix>): Split to ...
533         (<sse2>_loaddqu<avxsizesuffix>): ... this and ...
534         (<sse2>_storedqu<avxsizesuffix>): ... this.
535         (*sse4_2_pcmpestr_unaligned): Update.
536         (*sse4_2_pcmpistr_unaligned): Ditto.
537
538         * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
539         gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
540         gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
541         (ix86_expand_vector_move_misalign): Use gen_sse_loadups or
542         gen_sse2_load{dqu,upd} to load from unaligned memory and
543         gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
544         unaligned memory.
545         (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
546         Use CODE_FOR_sse_loadups.
547         <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
548         <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
549         <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
550         <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
551         <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
552         <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
553         <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
554         <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
555         <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
556         <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
557         <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
558
559 2012-10-15  Steven Bosscher  <steven@gcc.gnu.org>
560
561         Backport from trunk (r190222):
562
563         PR tree-optimization/54146
564         * ifcvt.c: Include pointer-set.h.
565         (cond_move_process_if_block): Change type of then_regs and
566         else_regs from alloca'd array to pointer_sets.
567         (check_cond_move_block): Update for this change.
568         (cond_move_convert_if_block): Likewise.
569         * Makefile.in: Fix dependencies for ifcvt.o.
570
571 2012-10-15  Richard Guenther  <rguenther@suse.de>
572
573         PR tree-optimization/54920
574         * tree-ssa-pre.c (create_expression_by_pieces): Properly
575         allocate temporary storage for all NARY elements.
576
577 2012-10-08  Georg-Johann Lay  <avr@gjlay.de>
578
579         PR target/54854
580         * doc/invoke.texi (AVR Options): Deprecate -mshort-calls.
581
582 2012-10-05  Mark Kettenis  <kettenis@openbsd.org>
583
584         * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
585         default_use_cxa_atexit to yes.
586
587 2012-10-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
588
589         * config/pa/pa.md: Adjust unamed HImode add insn pattern.
590
591 2012-10-05  Jan Hubicka  <jh@suse.cz>
592             Jakub Jelinek  <jakub@redhat.com>
593
594         PR tree-optimization/33763
595         * tree-inline.c (expand_call_inline): Silently ignore always_inline
596         attribute for redefined extern inline functions.
597
598 2012-10-03  H.J. Lu  <hongjiu.lu@intel.com>
599
600         Backported from mainline
601         2012-10-03  Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
602
603         * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
604         in SSE and YMM state support check for -march=native.
605
606 2012-10-03  Alexandre Oliva <aoliva@redhat.com>
607
608         PR debug/53135
609         * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
610         when needed.
611
612 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
613
614         Backported from mainline
615         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
616
617         PR target/54785
618         * doc/invoke.texi: Document -mprefer-avx128.
619
620 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
621
622         Backported from mainline
623         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
624
625         PR target/54741
626         *  config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
627         (XSTATE_FP): Likewise.
628         (XSTATE_SSE): Likewise.
629         (XSTATE_YMM): Likewise.
630         (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
631         SSE and YMM states aren't supported.
632
633 2012-10-01  Tom de Vries  <tom@codesourcery.com>
634
635         * var-tracking.c (set_dv_changed): Add an 'inline' function specifier to
636         the prototype.
637
638 2012-10-01  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
639
640         PR target/54746
641         * config/s390/s390.c (s390_option_override): Add missing break.
642
643 2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
644
645         Backport from mainline
646         2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
647
648         * config.gcc: Replace 'host' with 'target' when configuring for
649         powerpc64*-*-freebsd.
650
651 2012-09-28  Meador Inge  <meadori@codesourcery.com>
652
653         Backport from mainline
654         2012-09-27  Meador Inge  <meadori@codesourcery.com>
655
656         * gcc-ar.c (main): Handle the returning of the sub-process error
657         code correctly.
658
659 2012-09-28  Georg-Johann Lay  <avr@gjlay.de>
660
661         Backport from 2012-09-28 trunk r191821.
662         * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
663
664 2012-09-27  Jakub Jelinek  <jakub@redhat.com>
665
666         PR target/54703
667         * simplify-rtx.c (simplify_binary_operation_1): Perform
668         (x - (x & y)) -> (x & ~y) optimization only for integral modes.
669
670 2012-09-24  Eric Botcazou  <ebotcazou@adacore.com>
671
672         * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
673         TYPE_NONALIASED_COMPONENT flag.
674         * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
675         TYPE_NONALIASED_COMPONENT flag.
676
677 2012-09-21  Richard Guenther  <rguenther@suse.de>
678
679         PR middle-end/54638
680         Backport from mainline
681         2012-04-19  Richard Guenther  <rguenther@suse.de>
682
683         * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
684         array access.
685
686 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
687
688         PR c/54552
689         * c-typeck.c (c_cast_expr): When casting to a type requiring
690         C_MAYBE_CONST_EXPR to be created, pass the inner expression to
691         c_fully_fold first.
692
693 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
694
695         PR c/54103
696         * c-typeck.c (build_unary_op): Pass original argument of
697         TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
698         any C_MAYBE_CONST_EXPR, if it has integer operands.
699         (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
700         TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
701         to c_objc_common_truthvalue_conversion, then remove any
702         C_MAYBE_CONST_EXPR, if they have integer operands.  Use
703         c_objc_common_truthvalue_conversion not
704         c_common_truthvalue_conversion.
705         (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
706         call note_integer_operands for arguments with integer operands
707         that are not integer constants.
708
709 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
710
711         Backported from mainline
712         2012-09-17  Jakub Jelinek  <jakub@redhat.com>
713
714         PR tree-optimization/54563
715         * tree-ssa-math-opts.c (execute_cse_sincos): Call
716         gimple_purge_dead_eh_edges if last call has been changed.
717
718         2012-09-14  Jakub Jelinek  <jakub@redhat.com>
719
720         PR target/54564
721         * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
722         instead of (match_dup 0) as second argument to vec_merge.
723         (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
724         Remove third alternative.
725         (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
726         operand 2 instead of operand 1, but put it as first argument
727         of fma.
728         * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
729         _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
730         of the first.
731
732 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
733
734         * BASE-VER: Set to 4.7.3.
735         * DEV-PHASE: Set to prerelease.
736
737 2012-09-20  Release Manager
738
739         * GCC 4.7.2 released.
740
741 2012-09-15  Andi Kleen  <ak@linux.intel.com>
742
743         Backport from mainline
744         2012-09-07  Andi Kleen  <ak@linux.intel.com>
745
746         * gcc/lto-streamer.h (res_pair): Add.
747         (lto_file_decl_data): Replace resolutions with respairs.
748         Add max_index.
749         * gcc/lto/lto.c (lto_resolution_read): Remove max_index.  Add rp.
750         Initialize respairs.
751         (lto_file_finalize): Set up resolutions vector lazily from respairs.
752
753 2012-09-14  Walter Lee  <walt@tilera.com>
754
755         Backport from mainline.
756         2012-09-14  Walter Lee  <walt@tilera.com>
757
758         * doc/invoke.texi (Option Summary): fix typesetting for -mcpu
759         option for TILEPro and TILE-Gx.
760
761 2012-09-13  Uros Bizjak  <ubizjak@gmail.com>
762
763         * config/i386/i386.h (x86_prefetchw): New global variable.
764         (TARGET_PREFETCHW): New macro.
765         * config/i386/i386.c (PTA_PREFETCHW): Ditto.
766         (processor_alias_table): Add PTA_PREFETCHW to
767         bdver1, bdver2 and btver1.
768         (ix86_option_override_internal): Set x86_prefetchw for
769         PTA_PREFETCHW targets.
770         * config/i386/i386.md (prefetch): Expand to prefetchw
771         for TARGET_PREFETCHW.
772         (*prefetch_3dnow_<mode>): Also enable for TARGET_PREFETCHW.
773
774         Backport from mainline
775         2012-08-13  Uros Bizjak  <ubizjak@gmail.com>
776
777         * config/i386/i386.md (prefetch): Do not assert mode of operand 0.
778         (*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
779         Rename to ...
780         (*prefetch_sse): ... this.
781         (*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
782         Rename to ...
783         (*prefetch_3dnow): ... this.
784
785 2012-09-13  Jakub Jelinek  <jakub@redhat.com>
786
787         PR c/54559
788         * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
789         COMPLEX_TYPE with in_late_binary_op set temporarily to true.
790
791 2012-09-12  Teresa Johnson  <tejohnson@google.com>
792
793         Backport from mainline.
794         2012-09-12  Teresa Johnson  <tejohnson@google.com>
795
796         PR gcov-profile/54487
797         * configure.ac (HOST_HAS_F_SETLKW): Set based on compile
798         test using F_SETLKW with fcntl.
799         * configure, config.in: Regenerate.
800
801 2012-09-12  Uros Bizjak  <ubizjak@gmail.com>
802
803         Backport from mainline
804         2012-09-12  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
805
806         * config/i386/i386.md : Comments on fma4 instruction selection
807         reflect requirement on register pressure based cost model.
808
809         * config/i386/driver-i386.c (host_detect_local_cpu): fma4
810         flag is set-reset as informed by the cpuid flag.
811
812         * config/i386/i386.c (processor_alias_table): fma4
813         flag is enabled for bdver2.
814
815 2012-09-12  Christian Bruel  <christian.bruel@st.com>
816
817         * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
818
819 2012-09-12  Jakub Jelinek  <jakub@redhat.com>
820
821         * config.gcc: Obsolete picochip-*.
822
823 2012-09-11  Richard Guenther  <rguenther@suse.de>
824
825         PR debug/54534
826         * cgraph.h (varpool_can_remove_if_no_refs): Restore dependence
827         on flag_toplevel_reorder.
828
829 2012-09-10  Richard Henderson  <rth@redhat.com>
830
831         * config/alpha/predicates.md (small_symbolic_operand): Disallow
832         large offsets.
833
834 2012-09-10  Georg-Johann Lay  <avr@gjlay.de>
835
836         Backport from 2012-09-10 mainline r191132.
837
838         PR target/54536
839         * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
840
841 2012-09-10  Markus Trippelsdorf  <markus@trippelsdorf.de>
842
843         PR middle-end/54515
844         * tree-sra.c (disqualify_base_of_expr): Check for possible
845         NULL_TREE returned by get_base_address()
846
847 2012-09-07  Richard Guenther  <rguenther@suse.de>
848
849         Backport from mainline
850         2012-06-26  Jan Hubicka  <jh@suse.cz>
851
852         PR lto/53572
853         * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
854         used symbols.
855
856 2012-09-07  Richard Guenther  <rguenther@suse.de>
857
858         Backport from mainline
859         2012-07-13  Richard Guenther  <rguenther@suse.de>
860
861         PR tree-optimization/53922
862         * tree-vrp.c (value_inside_range): Change prototype to take
863         min/max instead of value-range.
864         (range_includes_zero_p): Likewise.  Return the result from
865         value_inside_range.
866         (extract_range_from_binary_expr_1): Adjust to handle dont-know
867         return value from range_includes_zero_p.
868         (extract_range_from_unary_expr_1): Likewise.
869         (compare_range_with_value): Likewise.
870         (vrp_meet_1): Likewise.
871
872 2012-09-07  Richard Guenther  <rguenther@suse.de>
873
874         PR middle-end/53667
875         * tree-ssa-structalias.c (handle_rhs_call): Properly clobber
876         EAF_NOESCAPED arguments.  Transitively close non-EAF_DIRECT
877         arguments separately.
878
879 2012-09-07  Jakub Jelinek  <jakub@redhat.com>
880
881         Backported from mainline
882         2012-09-06  Jakub Jelinek  <jakub@redhat.com>
883
884         PR rtl-optimization/54455
885         * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru
886         bb ends up with asm goto referencing bb's label.
887
888 2012-09-07  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
889
890         Backport from mainline.
891         2012-08-29  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
892                     Richard Earnshaw  <richard.earnshaw@arm.com>
893
894         PR target/54252
895         * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
896         element size. Use elem_type from the formal parameter. New parameter
897         fcode.
898         (neon_expand_args): Adjust call to neon_dereference_pointer.
899
900 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
901
902         * config/i386/sse.md (<sse4_1_avx2>_pblendvb): Use
903         reg_not_xmm0_operand_maybe_avx as operand 0 constraint.
904
905 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
906
907         Backport from mainline
908         2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
909
910         * config/i386/i386.md (isa): Add fma and fma4.
911         (enabled): Handle fma and fma4.
912         * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>.
913         (*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>.
914         (*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>.
915         (*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>.
916         (*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>.
917         (*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>.
918
919         2012-08-10  Uros Bizjak  <ubizjak@gmail.com>
920
921         * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>,
922         *fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>,
923         *fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns.
924
925 2012-09-06  Richard Guenther  <rguenther@suse.de>
926
927         PR tree-optimization/54498
928         * tree-ssa-alias.h (get_continuation_for_phi): Add flag to
929         abort when reaching an already visited region.
930         * tree-ssa-alias.c (maybe_skip_until): Likewise.  And do it.
931         (get_continuation_for_phi_1): Likewise.
932         (walk_non_aliased_vuses): When we translated the reference,
933         abort when we re-visit a region.
934         * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
935
936 2012-09-06  Andrew Pinski  <apinski@cavium.com>
937
938         PR tree-opt/54494
939         * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also.
940
941 2012-09-05  Jakub Jelinek  <jakub@redhat.com>
942
943         PR middle-end/54486
944         * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
945         build_int_cst with size_type_node instead of size_int.
946
947 2012-09-05  Georg-Johann Lay  <avr@gjlay.de>
948
949         Backport from 2012-09-05 mainline r190697.
950
951         PR target/54461
952         * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
953         configured --with-avrlibc.
954         (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if configured
955         --with-avrlibc.
956         * config/avr/avrlibc.h: New file.
957         * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
958         configured --with-avrlibc.
959         * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__
960
961 2012-09-05  Bin Cheng  <bin.cheng@arm.com>
962
963         Backport from 2012-09-04 mainline r190919
964
965         PR target/45070
966         * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value
967         of size less than 4 bytes by using macro ARM_NUM_INTS.
968         (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS.
969
970 2012-09-04  Richard Henderson  <rth@redhat.com>
971
972         * alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
973
974 2012-09-04  Georg-Johann Lay  <avr@gjlay.de>
975
976         Backport from 2012-09-04 mainline r190920
977
978         PR target/54476
979         * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with SImode.
980
981 2012-09-04  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
982
983         Backport from 2012-09-04 mainline r190914
984
985         PR target/54220
986         * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
987         define to...
988         (avr_allocate_stack_slots_for_args): ...this new static function.
989
990 2012-09-03  H.J. Lu  <hongjiu.lu@intel.com>
991
992         Backported from mainline
993         2012-08-23  H.J. Lu  <hongjiu.lu@intel.com>
994
995         PR driver/54335
996         * doc/invoke.texi: Add -da and remove -dm.
997
998 2012-09-03  Jakub Jelinek  <jakub@redhat.com>
999
1000         Backported from mainline
1001         2012-09-01  Jakub Jelinek  <jakub@redhat.com>
1002
1003         PR target/54436
1004         * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
1005         operands[1] is CONST_INT_P, convert it to QImode before printing.
1006
1007         2012-08-31  Jakub Jelinek  <jakub@redhat.com>
1008
1009         PR c/54428
1010         * c-convert.c (convert): Don't call fold_convert_loc if
1011         TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
1012         is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
1013         COMPLEX_TYPE -> COMPLEX_TYPE conversion.
1014
1015         2012-08-24  Jakub Jelinek  <jakub@redhat.com>
1016
1017         PR c/54363
1018         * gimplify.c (optimize_compound_literals_in_ctor): Only recurse
1019         if init is a CONSTRUCTOR.
1020
1021 2012-09-02  Eric Botcazou  <ebotcazou@adacore.com>
1022
1023         PR rtl-optimization/54369
1024         * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
1025         calling dbr_schedule.
1026         * config/sparc/sparc.c (sparc_reorg): Likewise.
1027
1028 2012-08-31  Kirill Yukhin  <kirill.yukhin@intel.com>
1029
1030         Backport from mainline
1031         2012-08-23  Yuri Rumyantsev  <ysrumyan@gmail.com>
1032
1033         * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
1034         case for Atom processor.
1035
1036 2012-08-28  Uros Bizjak  <ubizjak@gmail.com>
1037
1038         Backport from mainline
1039         2012-08-27  Uros Bizjak  <ubizjak@gmail.com>
1040
1041         PR target/46254
1042         * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
1043         true for TARGET_64BIT or !flag_pic.
1044         * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
1045         (atomic_compare_and_swap_double<mode>): Change operand 2 predicate
1046         to cmpxchg8b_pic_memory_operand.  Use DWIH mode iterator.
1047         Add insn constraint.  Conditionally emit xchg asm insns.
1048         (atomic_compare_and_swap<mode>): Update calls.  Check only
1049         cmpxchg8b_pic_memory_operand in memory address fixup.
1050         (DCASMODE): Remove.
1051         (CASHMODE): Rename from DCASHMODE.
1052         (doublemodesuffix): Update modes.
1053         (regprefix): New mode attribute.
1054
1055         (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
1056         <UNSPECV_CMPXCHG>: New constant.
1057         (atomic_compare_and_swap<mode>_1): Rename from
1058         atomic_compare_and_swap_single<mode>.  Update calls and
1059         unspec_volatile constants.
1060         (atomic_compare_and_swap<mode>_doubleword): Rename from
1061         atomic_compare_and_swap_double<mode>.  Update calls and
1062         unspec_volatile constants.
1063
1064 2012-08-28  Walter Lee  <walt@tilera.com>
1065
1066         Backport from mainline
1067         2012-08-28  Walter Lee  <walt@tilera.com>
1068
1069         * confg/tilegx/tilegx.md: Fix code style.
1070         (*zero_extendsidi_truncdisi): Fix typo.
1071         * config/tilegx/tilegx.c: Fix code style.
1072         (tilegx_function_profiler): Fix typo.
1073
1074 2012-08-27  Walter Lee  <walt@tilera.com>
1075
1076         Backport from mainline
1077         2012-08-27  Walter Lee  <walt@tilera.com>
1078
1079         * doc/md.texi (TILE-Gx): Fix typo.
1080
1081 2012-08-27  Walter Lee  <walt@tilera.com>
1082
1083         Backport from mainline
1084         2012-08-27  Walter Lee  <walt@tilera.com>
1085
1086         * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
1087         * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
1088
1089 2012-08-27  Walter Lee  <walt@tilera.com>
1090
1091         Backport from mainline
1092         2012-08-27  Walter Lee  <walt@tilera.com>
1093
1094         * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
1095         (insn_bfins): Delete.
1096
1097 2012-08-27  Walter Lee  <walt@tilera.com>
1098
1099         Backport from mainline
1100         2012-08-27  Walter Lee  <walt@tilera.com>
1101
1102         * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
1103         atomic_exchange_bare<mode>,
1104         atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
1105         * config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation.
1106         * config/tilegx/tilegx.md (type): Add X1_remove.
1107         (insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
1108         insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
1109         insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
1110         X1_remote.
1111
1112 2012-08-25  Eric Botcazou  <ebotcazou@adacore.com>
1113
1114         PR rtl-optimization/54088
1115         * jump.c (delete_related_insns): Robustify latest change.
1116
1117 2012-08-21  Richard Guenther  <rguenther@suse.de>
1118
1119         Backport from mainline
1120         2012-08-16  Richard Guenther  <rguenther@suse.de>
1121
1122         PR middle-end/54146
1123         * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
1124         exit vector.
1125         * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
1126         * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
1127         * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
1128         * tree-ssa-loop-im.c (analyze_memory_references): Adjust.
1129         (tree_ssa_lim_finalize): Free all mem_refs.
1130         * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
1131         scc when bailing out.
1132         * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
1133         * ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
1134         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
1135         FOR_EACH_LOOP_BREAK.
1136
1137         2012-08-17  Richard Guenther  <rguenther@suse.de>
1138
1139         * tree-sra.c (modify_function): Free redirect_callers vector.
1140         * ipa-split.c (split_function): Free args_to_pass vector.
1141         * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
1142         vec_oprnds.
1143         (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
1144         * tree-vect-slp.c (vect_free_slp_instance): Free the instance.
1145         (vect_analyze_slp_instance): Free everything.
1146         (destroy_bb_vec_info): Free the SLP instances.
1147
1148         2012-08-17  Richard Guenther  <rguenther@suse.de>
1149
1150         * params.def (integer-share-limit): Decrease from 256 to 251,
1151         add rationale.
1152
1153         2012-08-21  Richard Guenther  <rguenther@suse.de>
1154
1155         * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
1156         the affine expansion cache.
1157
1158 2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
1159
1160         Backported from trunk
1161         2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
1162
1163         PR middle-end/53992
1164         * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
1165
1166 2012-08-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1167
1168         Backport from mainline.
1169         2012-08-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1170
1171         PR target/54212
1172         * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
1173         mark as predicable. Adjust asm template.
1174         (vec_setv2di_internal): Likewise.
1175         (vec_extract<mode> VD, VQ): Likewise.
1176         (vec_extractv2di): Likewise.
1177         (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise.
1178         (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise.
1179         (neon_vdup_n<mode> VX, V32): Likewise.
1180         (neon_vdup_nv2di): Likewise.
1181
1182 2012-08-17  Walter Lee  <walt@tilera.com>
1183
1184         Backport from mainline
1185         2012-08-17  Walter Lee  <walt@tilera.com>
1186
1187         * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
1188         (FEEDBACK_ENTER): Define.
1189         (FEEDBACK_REENTER): Define.
1190         (FEEDBACK_ENTRY): Define.
1191         * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
1192         (FEEDBACK_ENTER): Define.
1193         (FEEDBACK_REENTER): Define.
1194         (FEEDBACK_ENTRY): Define.
1195
1196 2012-08-16  Walter Lee  <walt@tilera.com>
1197
1198         Backport from mainline
1199         2012-08-16  Walter Lee  <walt@tilera.com>
1200
1201         * config.gcc (tilegx-*-linux*): Add feedback.h.
1202         (tilepro-*-linux*): Likewise.
1203         * config/tilegx/feedback.h: New file.
1204         * config/tilepro/feedback.h: New file.
1205
1206 2012-08-08  Pavel Chupin  <pavel.v.chupin@intel.com>
1207
1208         Backport from mainline r189840 and r187586:
1209         2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>
1210
1211         * config/i386/i386.md (stack_protect_set): Disable the pattern
1212         for Android since Android libc (bionic) does not provide random
1213         value for stack protection guard at gs:0x14. Guard value
1214         will be provided from external symbol (default implementation).
1215         (stack_protect_set_<mode>): Likewise.
1216         (stack_protect_test): Likewise.
1217         (stack_protect_test_<mode>): Likewise.
1218         * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
1219         not have Bionic by default
1220         * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
1221         Macro OPTION_BIONIC is defined in this file and provides Bionic
1222         accessibility status
1223
1224         2012-05-16  Igor Zamyatin  <igor.zamyatin@intel.com>
1225
1226         * configure.ac: Stack protector enabling for Android targets.
1227         * configure: Regenerate.
1228
1229 2012-08-13  Jakub Jelinek  <jakub@redhat.com>
1230
1231         Backported from trunk
1232         2012-07-19  Jakub Jelinek  <jakub@redhat.com>
1233
1234         PR rtl-optimization/53942
1235         * function.c (assign_parm_setup_reg): Avoid zero/sign extension
1236         directly from likely spilled non-fixed hard registers, move them
1237         to pseudo first.
1238
1239 2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
1240
1241         * config/i386/sse.md (xop_phaddbq):  Fix vec_select selectors.
1242         (xop_phaddubq): Ditto.
1243
1244 2012-08-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
1245
1246         Backport from mainline
1247         2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
1248                     Richard Earnshaw  <rearnsha@arm.com>
1249
1250         * target.def (vector_alignment): New target hook.
1251         * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
1252         * doc/tm.texi: Regenerate.
1253         * targhooks.c (default_vector_alignment): New function.
1254         * targhooks.h (default_vector_alignment): Add prototype.
1255         * stor-layout.c (layout_type): Use targetm.vector_alignment.
1256         * config/arm/arm.c (arm_vector_alignment): New function.
1257         (TARGET_VECTOR_ALIGNMENT): Define.
1258
1259         * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
1260         vector type alignment instead of size.
1261         * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
1262         element type size directly instead of computing it from alignment.
1263         Fix variable naming and comment.
1264
1265 2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
1266
1267         Backport from mainline
1268         2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
1269
1270         * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
1271         (alpha_pad_function_end): ... this.  Also insert NOP between
1272         sibling call and GP load.
1273         (alpha_reorg): Update call to alpha_pad_function_end.  Expand comment.
1274
1275 2012-08-09  H.J. Lu  <hongjiu.lu@intel.com>
1276
1277         Backport from mainline
1278         2012-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
1279                     H.J. Lu  <hongjiu.lu@intel.com>
1280
1281         PR rtl-optimization/54157
1282         * combine.c (gen_lowpart_for_combine): Don't return identity
1283         for CONST or symbolic reference.
1284
1285 2012-08-06  Uros Bizjak  <ubizjak@gmail.com>
1286
1287         Backport from mainline
1288         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
1289
1290         * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
1291         * config/i386/i386.c (ix86_lea_outperforms): Make static.  Make
1292         split_cost argument signed.
1293         (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
1294         (ix86_avoid_lea_for_addr): Ditto.
1295
1296         2012-07-27  Uros Bizjak  <ubizjak@gmail.com>
1297
1298         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false if
1299         the address has less than two components.
1300
1301 2012-08-02  Steve Ellcey  <sellcey@mips.com>
1302
1303         Backport from mainline
1304         2012-07-19  Steve Ellcey  <sellcey@mips.com>
1305
1306         * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
1307         MIPS16 mode.
1308
1309 2012-08-02  Uros Bizjak  <ubizjak@gmail.com>
1310
1311         Backport from mainline
1312         2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
1313
1314         PR target/53961
1315         * config/i386/i386.c (ix86_legitimate_address_p): Move check for
1316         negative constant address for TARGET_X32 ...
1317         (ix86_decompose_address): ... here.  Reject constant addresses
1318         that don't satisfy x86_64_immediate_operand predicate.
1319
1320         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
1321
1322         PR target/53961
1323         * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
1324         * config/i386/i386.c (ix86_print_operand_address): Ditto.
1325         (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
1326         addresses.  Prevent zero extensions of CONST_INT operands.
1327
1328         2012-07-22  Uros Bizjak  <ubizjak@gmail.com>
1329
1330         PR target/53961
1331         * config/i386/i386.md (*lea): New insn pattern.
1332         (*lea_1): Remove.
1333         (*lea<mode>_2): Ditto.
1334         (*lea_{3,4,5,6}_zext): Ditto.
1335         * config/i386/predicates.md (lea_address_operand): Do not reject
1336         zero-extended address operands.
1337         * config/i386/constraints.md (j): Remove address constraint.
1338         * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
1339         of an address.
1340         (ix86_print_operand_address): Handle SImode subreg of an address.
1341         (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now.
1342
1343 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
1344
1345         Backport from mainline
1346         2012-03-09  Uros Bizjak  <ubizjak@gmail.com>
1347
1348         PR target/52530
1349         * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
1350         (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
1351         to set code to 'q'.
1352         * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
1353         (*movdi_internal_rex64): Use %E operand modifier for lea.
1354         (*movsi_internal): Ditto.
1355         (*lea_1): Ditto.
1356         (*lea<mode>_2): Ditto.
1357         (*lea_{3,4,5,6}_zext): Ditto.
1358         (*tls_global_dynamic_32_gnu): Ditto.
1359         (*tls_global_dynamic_64): Ditto.
1360         (*tls_dynamic_gnu2_lea_32): Ditto.
1361         (*tls_dynamic_gnu2_lea_64): Ditto.
1362         (pro_epilogue_adjust_stack_<mode>_add): Ditto.
1363
1364 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
1365
1366         Backport from mainline
1367         2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
1368
1369         * config/i386/i386.c (ix86_address_subreg_operand): Reject
1370         stack pointer.
1371         (ix86_print_operand_address): Assert that parts.base and parts.index
1372         are non-NULL after call to simplify_subreg.
1373
1374 2012-07-22  Oleg Endo  <olegendo@gcc.gnu.org>
1375
1376         PR target/33135
1377         * config/sh/sh.opt (mieee): Use Var instead of Mask.  Correct
1378         description.
1379         * config/sh/sh.c (sh_option_override): Do not change
1380         flag_finite_math_only.  Set TARGET_IEEE to complement of
1381         flag_finite_math_only.
1382         * doc/invoke.texi (SH options): Add mno-ieee.  Correct
1383         description of mieee and mno-ieee behavior.
1384
1385 2012-07-20  Kirill Yukhin  <kirill.yukhin@intel.com>
1386
1387         PR target/53877
1388         * config/i386/lzcntintrin.h (_lzcnt_u32): New.
1389         (_lzcnt_u64): Ditto.
1390
1391 2012-07-20  Andrey Belevantsev  <abel@ispras.ru>
1392
1393         Backport from mainline
1394         2012-03-06  Andrey Belevantsev  <abel@ispras.ru>
1395
1396         PR rtl-optimization/52250
1397         * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
1398         to put note list into.  Unconditionally call move_bb_info.
1399         (move_bb_info): Do not assert the blocks being in the same region,
1400         just drop the note list if they are not.
1401
1402 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
1403
1404         * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
1405
1406 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
1407
1408         * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
1409         defining statement is a SSA name that occurs in abnormal PHIs.
1410
1411 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
1412
1413         * gimple-fold.c (canonicalize_constructor_val): Strip only useless type
1414         conversions.
1415
1416 2012-07-19  Richard Guenther  <rguenther@suse.de>
1417             Eric Botcazou  <ebotcazou@adacore.com>
1418
1419         * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
1420         about transition from invariant to known bits.
1421         (likely_value): Addresses with UNDEFINED components are UNDEFINED.
1422
1423 2012-07-19  Jakub Jelinek  <jakub@redhat.com>
1424
1425         PR middle-end/54017
1426         * tree-cfgcleanup.c (cleanup_omp_return): Remove.
1427         (cleanup_tree_cfg_bb): Don't call it.
1428         * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
1429         handling.
1430
1431 2012-07-19  Christian Bruel  <christian.bruel@st.com>
1432
1433         PR target/54029
1434         * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
1435
1436 2012-07-18  Ralf Corsépius  <ralf.corsepius@rtems.org>
1437
1438         * config.gcc (v850-*-rtems*): New target.
1439         * config/v850/rtems.h: New.
1440         * config/v850/t-rtems: New.
1441
1442 2012-07-18  Nick Clifton  <nickc@redhat.com>
1443
1444         * doc/invoke.texi (ARM Options): Document -munaligned-access.
1445
1446 2012-07-15  Uros Bizjak  <ubizjak@gmail.com>
1447
1448         PR target/53961
1449
1450         Backport from mainline
1451         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
1452
1453         PR target/53110
1454         * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
1455         instead expand it as zero extension.
1456
1457 2012-07-14  Uros Bizjak  <ubizjak@gmail.com>
1458
1459         * config/i386/i386.md (QImode and HImode cmove splitters): Merge
1460         QImode and HImode splitters.  Use ix86_comparison_operator.
1461         Explicitly match FLAGS_REG.
1462         (DFmode cmove splitter): Explicitly match FLAGS_REG.
1463
1464 2012-07-13  Richard Sandiford  <rdsandiford@googlemail.com>
1465             Steven Bosscher  <steven@gcc.gnu.org>
1466             Bernd Schmidt  <bernds@codesourcery.com>
1467
1468         PR rtl-optimization/53908
1469         * df-problems.c (can_move_insns_across): When doing
1470         memory-reference book-keeping, handle call insns.
1471
1472 2012-07-10  Uros Bizjak  <ubizjak@gmail.com>
1473
1474         Backport from mainline
1475         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
1476
1477         PR target/53811
1478         * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
1479         sibcall_insn_operand.  Move it to a temporary register if not.
1480
1481         2012-07-06  Uros Bizjak  <ubizjak@gmail.com>
1482
1483         PR target/53853
1484         * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
1485         emit PIC sequence for fnaddr symbol reference in advance.
1486
1487 2012-07-09  Jason Merrill  <jason@redhat.com>
1488
1489         PR c++/53882
1490         * tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE.
1491         (type_hash_eq): Likewise.
1492
1493         PR c++/53826
1494         * tree.c (build_zero_cst): Handle NULLPTR_TYPE.
1495
1496 2012-07-07  Ulrich Weigand  <ulrich.weigand@linaro.org>
1497
1498         * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour
1499         due to negative shift amount.
1500
1501 2012-07-06  Kai Tietz  <ktietz@redhat.com>
1502
1503         Backport from mainline.
1504         PR bootstrap/52947
1505         * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
1506         as "/mingw/include".
1507
1508 2012-07-06  Nick Clifton  <nickc@redhat.com>
1509
1510         * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
1511         default_encode_section_info.
1512
1513 2012-07-06  Richard Guenther  <rguenther@suse.de>
1514
1515         Backport from mainline
1516         2012-03-30  Richard Guenther  <rguenther@suse.de>
1517
1518         PR middle-end/52786
1519         * double-int.c (rshift_double): Remove not needed cast.
1520
1521         2012-03-28  Richard Guenther  <rguenther@suse.de>
1522
1523         PR middle-end/50708
1524         * double-int.h (rshift_double): Remove.
1525         * double-int.c (lshift_double): Use absu_hwi to make count
1526         positive.
1527         (rshift_double): Make static, take unsigned count argument,
1528         remove handling of negative count argument.
1529         (double_int_rshift): Dispatch to lshift_double.
1530
1531 2012-07-06  Richard Guenther  <rguenther@suse.de>
1532
1533         Backport from mainline
1534         2012-06-18  Richard Guenther  <rguenther@suse.de>
1535
1536         PR tree-optimization/53693
1537         * tree-vect-patterns.c (vect_operation_fits_smaller_type):
1538         Reject operands with more than one use.
1539
1540 2012-07-06  Richard Guenther  <rguenther@suse.de>
1541
1542         Backport from mainline
1543         2012-04-11  Richard Guenther  <rguenther@suse.de>
1544
1545         PR middle-end/52621
1546         * tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
1547         consider loop nesting.
1548         (evolution_function_is_univariate_p): Properly check the remainder
1549         for chrecs.
1550
1551 2012-07-05  Pat Haugen <pthaugen@us.ibm.com>
1552
1553         Backport from mainline
1554         2012-05-24  Pat Haugen <pthaugen@us.ibm.com>
1555
1556         * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
1557         rs6000_sched_costly_dep default to true_store_to_load_dep_costly.
1558         (adjacent_mem_locations): Move some code to and call...
1559         (get_memref_parts): ...new function.
1560         (mem_locations_overlap): New function.
1561         (rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn.
1562         (is_mem_ref): Rename to...
1563         (find_mem_ref): ...this. Return MEM rtx.
1564         (get_store_dest): Remove function.
1565         (is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add
1566         new parameter and adjust calls.
1567         (rs6000_is_costly_dependence): Update calls for extra arg. Make sure
1568         mem refs overlap for true_store_to_load_dep_costly.
1569         (rs6000_sched_reorder2): Update calls for extra arg. Adjust args
1570         passed to adjacent_mem_locations.
1571         (is_costly_group): Walk resolved dependency list.
1572         (force_new_group): Emit group ending nop for Power6/Power7.
1573         * config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value.
1574         (group_ending_nop): New define_insn.
1575
1576 2012-07-04  Richard Guenther  <rguenther@suse.de>
1577
1578         PR middle-end/53433
1579         * gimple-fold.c (get_base_constructor): Do not return an
1580         error_mark_node DECL_INITIAL.
1581
1582 2012-07-04  Uros Bizjak  <ubizjak@gmail.com>
1583
1584         Backport from mainline
1585         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
1586
1587         * config/i386/i386.c (ix86_option_override_internal): Fix wrong
1588         code model string in the error message.
1589
1590 2012-07-04  Tristan Gingold  <gingold@adacore.com>
1591
1592         Backport from mainline.
1593         2012-06-25  Tristan Gingold  <gingold@adacore.com>
1594
1595         * config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ...
1596         (seh_cfa_adjust_cfa): ... that function.
1597         (seh_emit_stackalloc): Do not emit out of range values.
1598         * config/i386/i386.md: Delete unused UNSPEC_REG_SAVE,
1599         UNSPEC_DEF_CFA constants.
1600         * config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define.
1601         * config/i386/i386.c (ix86_frame_pointer_required): Required
1602         for very large frames on SEH target.
1603         (ix86_compute_frame_layout): Save area is before frame pointer
1604         on SEH target.  Handle very large frames.
1605         (ix86_expand_prologue): Likewise.
1606
1607 2012-07-04  Richard Guenther  <rguenther@suse.de>
1608
1609         * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same
1610         as in free_lang_data_in_type.
1611
1612 2012-07-02  Martin Jambor  <mjambor@suse.cz>
1613
1614         Backport from mainline.
1615         2012-07-02  Martin Jambor  <mjambor@suse.cz>
1616
1617         PR middle-end/38474
1618         * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a
1619         dynamic type change check.
1620
1621 2012-06-29  Eric Botcazou  <ebotcazou@adacore.com>
1622
1623         * tree-eh.c (lower_try_finally_switch): Really put the location of the
1624         last statement of the finally block onto the switch.
1625
1626 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1627
1628         * configure: Regenerate.
1629
1630         Backport from mainline.
1631         2012-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1632
1633         * config.gcc (target_type_format_char): New. Document it. Set it for
1634         arm*-*-* .
1635         * configure.ac (gnu_unique_option): Use target_type_format_char
1636         in test.  Comment rationale.
1637
1638 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1639
1640         Backport from mainline.
1641         2012-05-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1642
1643         * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
1644
1645 2012-06-28  Georg-Johann Lay  <avr@gjlay.de>
1646
1647         Backport from 2012-06-28 mainline r189049
1648
1649         PR 53595
1650         * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New.
1651         * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New.
1652         * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to
1653         avr_hard_regno_call_part_clobbered.
1654
1655 2012-06-28  Richard Guenther  <rguenther@suse.de>
1656
1657         PR middle-end/53790
1658         * expr.c (expand_expr_real_1): Verify if the type is complete
1659         before inspecting its size.
1660
1661 2012-06-27  Nick Clifton  <nickc@redhat.com>
1662
1663         * config/rx/rx.md (comparesi3_extend): Remove = modifier from
1664         input operand.
1665
1666 2012-06-26  Alexandre Oliva  <aoliva@redhat.com>
1667
1668         PR debug/53682
1669         * cselib.c (promote_debug_loc): Don't crash on NULL argument.
1670
1671 2012-06-26  Nick Clifton  <nickc@redhat.com>
1672
1673         * config/rx/rx.md (simple_return): Use the simple_return rtx.
1674
1675 2012-06-25  Jakub Jelinek  <jakub@redhat.com>
1676
1677         PR target/53759
1678         * config/i386/sse.md (sse_loadlps): Use x m x constraints instead
1679         of x x x in the vmovlps load alternative.
1680
1681 2012-06-22  Richard Guenther  <rguenther@suse.de>
1682
1683         * gcov-iov.c: Include bconfig.h and system.h.
1684
1685 2012-06-22  Richard Guenther  <rguenther@suse.de>
1686
1687         PR gcov-profile/53744
1688         * gcov-iov.c (main): Treat "" and "prerelease" the same.
1689
1690 2012-06-22  Eric Botcazou  <ebotcazou@adacore.com>
1691
1692         * tree-ssa-live.c (remove_unused_scope_block_p): Remove again
1693         DECL_IGNORED_P non-reg vars even if they are used.
1694
1695 2012-06-19  Jason Merrill  <jason@redhat.com>
1696
1697         PR c++/52637
1698         * dwarf2out.c (modified_type_die): Use scope_die_for.
1699         (gen_type_die_with_usage, dwarf2out_finish): Likewise.
1700         (uses_local_type_r, uses_local_type): New.
1701         (scope_die_for): Keep a type that uses a local type in local scope.
1702         Use get_context_die for namespace and type scope.
1703
1704 2012-06-19  Richard Guenther  <rguenther@suse.de>
1705
1706         PR middle-end/53470
1707         * tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
1708         replace it with the first non-BLOCK context.
1709
1710 2012-06-18  Vladimir Makarov  <vmakarov@redhat.com>
1711
1712         PR rtl-optimization/53700
1713
1714         Backport from mainline
1715         2012-03-29  Vladimir Makarov  <vmakarov@redhat.com>
1716
1717         * ira-color.c (setup_left_conflict_sizes_p): Process all
1718         conflicting objects.
1719
1720 2012-06-18  Venkataramanan Kumar <venkataramanan.kumar@amd.com>
1721
1722         Backport from mainline
1723         2012-05-09 Uros Bizjak  <ubizjak@gmail.com>
1724
1725         PR target/52908
1726         * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
1727         xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high.
1728         (vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern
1729         instead of xop_mulv2div2di3_low.
1730         (xop_p<macs>dql): Fix vec_select selector.
1731         (xop_p<macs>dqh): Ditto.
1732         (xop_mulv2div2di3_low): Remove insn_and_split pattern.
1733         (xop_mulv2div2di3_high): Ditto.
1734
1735 2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
1736
1737         Backport from mainline:
1738         2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
1739
1740         * config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
1741
1742 2012-06-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1743
1744         Backport from mainline:
1745         2012-06-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1746
1747         * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define.
1748         * config/pa/pa.c (pa_attr_length_millicode_call): Use
1749         MAX_PCREL17F_OFFSET instead of fixed offset.
1750         (pa_attr_length_call): Likewise.
1751         (pa_attr_length_indirect_call): Likewise.
1752
1753 2012-06-15  Walter Lee  <walt@tilera.com>
1754
1755         Backport from mainline:
1756         2012-06-15  Walter Lee  <walt@tilera.com>
1757
1758         * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.
1759
1760         2012-06-14  Maxim Kuvyrkov  <maxim@codesourcery.com>
1761
1762         * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
1763
1764 2012-06-15  Aldy Hernandez  <aldyh@redhat.com>
1765
1766         Backport from mainline:
1767
1768         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
1769         * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
1770         * gimple.h (block_in_transaction): Check for flag_tm.
1771
1772 2012-06-14  Aldy Hernandez  <aldyh@redhat.com>
1773
1774         PR tree-optimization/52558
1775
1776         Backport from mainline:
1777         2012-05-21  Aldy Hernandez  <aldyh@redhat.com>
1778         * gimple.h (gimple_set_in_transaction): Remove.
1779         (gimple_in_transaction): Look in BB instead.
1780         (gimple_statement_base): Remove in_transaction field.
1781         * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
1782         * trans-mem.c (compute_transaction_bits): Place transaction bit
1783         information into basic blocks.
1784
1785         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
1786
1787         PR tree-optimization/52558
1788         * cfg.c (alloc_aux_for_edge): Fix comment.
1789         (alloc_aux_for_edge): Remove static.
1790         * basic-block.h (alloc_aux_for_edge): Protoize.
1791         * tree-ssa-loop-im.c (execute_sm_if_changed): New.
1792         (execute_sm_if_changed_flag): New.
1793         (execute_sm_if_changed_flag_set): New.
1794         (execute_sm): Do not generate data races unless requested.
1795         (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
1796         (tree_ssa_lim_finalize): Call free_aux_for_edges.
1797         * gimple.h (block_in_transaction): New.
1798         (gimple_in_transaction): Use block_in_transaction.
1799
1800 2012-06-14  Jakub Jelinek  <jakub@redhat.com>
1801
1802         Backported from mainline
1803         2012-06-12  Jakub Jelinek  <jakub@redhat.com>
1804
1805         PR rtl-optimization/53589
1806         * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
1807         discovery even when e->dest != target.  If any LABEL_REF points
1808         to e->dest label, redirect it to target's label.
1809
1810         2012-06-07  Jakub Jelinek  <jakub@redhat.com>
1811
1812         PR middle-end/53580
1813         * omp-low.c (scan_omp_1_stmt): If check_omp_nesting_restrictions
1814         returns false, replace stmt with GIMPLE_NOP.
1815         (check_omp_nesting_restrictions): Instead of issuing warnings,
1816         issue errors and return false if any errors were reported.
1817
1818 2012-06-14  Richard Guenther  <rguenther@suse.de>
1819
1820         * BASE-VER: Set to 4.7.2.
1821         * DEV-PHASE: Set to prerelease.
1822
1823 2012-06-12  Christian Bruel  <christian.bruel@st.com>
1824
1825         PR target/53621
1826         * config/sh/sh.c (sh_option_override): Don't force
1827          flag_omit_frame_pointer and maccumulate_outgoing_args.
1828         * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
1829
1830 2012-06-14  Release Manager
1831
1832         * GCC 4.7.1 released.
1833
1834 2012-06-13  Uros Bizjak  <ubizjak@gmail.com>
1835
1836         * config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
1837
1838 2012-06-13  Richard Henderson  <rth@redhat.com>
1839
1840         * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
1841         iterator instead of INT.
1842
1843 2012-06-08  Richard Henderson  <rth@redhat.com>
1844
1845         PR c++/53602
1846         * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
1847         note to a clobber insn when no other insn is available.
1848
1849 2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>
1850
1851         PR c++/53524
1852         * doc/invoke.texi (Wenum-compare): Update documentation.
1853
1854 2012-06-04  Edmar Wienskoski  <edmar@freescale.com>
1855
1856         PR target/53559
1857         * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
1858         operands.
1859         (altivec_stvlxl): Ditto.
1860         (altivec_stvrx): Ditto.
1861         (altivec_stvrxl): Ditto.
1862
1863 2012-06-04  Aldy Hernandez  <aldyh@redhat.com>
1864
1865         PR middle-end/47530
1866         * trans-mem.c (expand_block_edges): Do not skip the first
1867         statement when resetting the BB.
1868
1869 2012-06-04  Richard Guenther  <rguenther@suse.de>
1870
1871         PR middle-end/53471
1872         * dwarf2out.c (dwarf2out_finish): If generating LTO do not
1873         create new assembler names.
1874
1875 2012-06-04  Richard Guenther  <rguenther@suse.de>
1876
1877         Backport from mainline
1878         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
1879
1880         PR middle-end/52979
1881         * stor-layout.c (get_best_mode): Don't return mode with bitsize
1882         larger than maxbits.  Don't compute maxbits modulo align.
1883         Also check that unit bytes long store at bitpos / unit * unit
1884         doesn't affect bits beyond bitregion_end.
1885         * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
1886         would not fit into bitregion_start ... bitregion_end + 1 bit
1887         region.
1888         (store_split_bit_field): Decrease unit close to end of bitregion_end
1889         if access is restricted in order to avoid mutual recursion.
1890
1891 2012-06-04  Georg-Johann Lay  <avr@gjlay.de>
1892
1893         Backport from 2012-06-04 mainline r188172
1894
1895         PR target/46261
1896         * config/avr/avr-stdint.h: New file.
1897         * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
1898         newlib-stdint.h
1899
1900 2012-06-04  Jakub Jelinek  <jakub@redhat.com>
1901
1902         PR tree-optimization/53550
1903         * tree-ssa-loop-niter.c (number_of_iterations_cond): If type
1904         is POINTER_TYPE_P, use sizetype as step type instead of type.
1905
1906 2012-06-04  Richard Guenther  <rguenther@suse.de>
1907             Eric Botcazou  <ebotcazou@adacore.com>
1908
1909         Backport from mainline
1910         2012-04-03  Eric Botcazou  <ebotcazou@adacore.com>
1911
1912         * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS.
1913         Change type of BITOFFSET to signed.  Make sure the lower bound of
1914         the computed range is non-negative by adjusting OFFSET and BITPOS.
1915         (expand_assignment): Adjust call to get_bit_range.
1916
1917         2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
1918
1919         * expr.c (get_bit_range): Return the null range if the enclosing record
1920         is part of a larger bit field.
1921
1922         2012-03-20  Richard Guenther  <rguenther@suse.de>
1923
1924         * stor-layout.c (finish_bitfield_representative): Fallback
1925         to conservative maximum size if the padding up to the next
1926         field cannot be computed as a constant.
1927         (finish_bitfield_layout): If we cannot compute the distance
1928         between the start of the bitfield representative and the
1929         bitfield member start a new representative.
1930         * expr.c (get_bit_range): The distance between the start of
1931         the bitfield representative and the bitfield member is zero
1932         if the field offsets are not constants.
1933
1934         2012-03-16  Richard Guenther  <rguenther@suse.de>
1935
1936         * stor-layout.c (finish_bitfield_representative): Fall back
1937         to the conservative maximum size if we cannot compute the
1938         size of the tail padding.
1939
1940         2012-03-14  Richard Guenther  <rguenther@suse.de>
1941
1942         * tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define.
1943         * stor-layout.c (start_bitfield_representative): New function.
1944         (finish_bitfield_representative): Likewise.
1945         (finish_bitfield_layout): Likewise.
1946         (finish_record_layout): Call finish_bitfield_layout.
1947         * tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER
1948         for QUAL_UNION_TYPE fields.
1949         * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
1950         Stream DECL_BIT_FIELD_REPRESENTATIVE.
1951         * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
1952
1953         PR middle-end/52080
1954         PR middle-end/52097
1955         PR middle-end/48124
1956         * expr.c (get_bit_range): Unconditionally extract bitrange
1957         from DECL_BIT_FIELD_REPRESENTATIVE.
1958         (expand_assignment): Adjust call to get_bit_range.
1959
1960 2012-06-01  Eric Botcazou  <ebotcazou@adacore.com>
1961
1962         PR middle-end/53501
1963         * fold-const.c (fold_binary_loc): Refine previous change.
1964
1965 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
1966
1967         Backport from mainline
1968         2012-03-27  Chung-Lin Tang  <cltang@codesourcery.com>
1969
1970         PR target/52667
1971         * config/sh/sh.c (find_barrier): Add equality check of last_got to
1972         avoid going above orig insn.  Update comments.
1973
1974 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
1975
1976         Backport from mainline
1977         2012-03-21  Kaz Kojima  <kkojima@gcc.gnu.org>
1978
1979         PR target/52642
1980         * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
1981         prologue for unwinder and profiler.
1982
1983 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
1984
1985         Backport from mainline
1986         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
1987
1988         * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
1989
1990 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
1991
1992         Backport from mainline
1993         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
1994
1995         * config/sh/sh.c (sh_dwarf_register_span): Don't apply
1996         DBX_REGISTER_NUMBER.
1997
1998 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
1999
2000         Backport from mainline
2001         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
2002
2003         * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
2004         operand is CONST_INT.  Take COSTS_N_INSNS into account.
2005         (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value of
2006         shiftcosts.     
2007
2008 2012-05-31  Georg-Johann Lay  <avr@gjlay.de>
2009
2010         * config/avr/avr.opt (-msp8): Document it.
2011         * doc/invoke.texi (AVR Options): Copy from trunk docu.
2012
2013 2012-05-31  Richard Guenther  <rguenther@suse.de>
2014
2015         PR middle-end/48493
2016         * expr.c (expand_assignment): Do not use movmisalign on
2017         non-memory.
2018
2019 2012-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2020
2021         PR target/52999
2022         * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
2023         (pa_section_type_flags): New.
2024         (pa_legitimate_constant_p): Revert previous change.
2025
2026 2012-05-30  Aldy Hernandez  <aldyh@redhat.com>
2027
2028         Backport from mainline
2029         2012-05-25  Aldy Hernandez  <aldyh@redhat.com>
2030
2031         PR middle-end/53008
2032         * trans-mem.c (ipa_tm_create_version_alias): Output new_node if
2033         accessed indirectly.
2034         (ipa_tm_create_version): Same.
2035
2036 2012-05-30  Jason Merrill  <jason@redhat.com>
2037
2038         PR c++/53220
2039         * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning
2040         about array compound literals.
2041
2042 2012-05-30  Richard Guenther  <rguenther@suse.de>
2043
2044         PR middle-end/53501
2045         * fold-const.c (fold_binary_loc): Make sure to call
2046         fold_plusminus_mult_expr with the original sign of operands.
2047
2048 2012-05-30  Eric Botcazou  <ebotcazou@adacore.com>
2049
2050         * explow.c (probe_stack_range): Restore simple control flow and stop
2051         again when the probe cannot be generated if HAVE_check_stack.
2052
2053 2012-05-30  Jakub Jelinek  <jakub@redhat.com>
2054
2055         PR rtl-optimization/53519
2056         * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
2057         instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
2058
2059 2012-05-29  Richard Guenther  <rguenther@suse.de>
2060
2061         PR tree-optimization/53516
2062         * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
2063         bitfield accesses.
2064         * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
2065
2066 2012-05-28  Bill Schmidt  <wschmidt@linux.ibm.com>
2067
2068         Backport from mainline
2069         2012-05-28  Richard Guenther  <rguenther@suse.de>
2070
2071         PR tree-optimization/53438
2072         * tree-sra.c (analyze_access_subtree): Correct bitfield exclusion.
2073
2074 2012-05-26  Eric Botcazou  <ebotcazou@adacore.com>
2075
2076         Backport from mainline
2077         2012-03-10  Chung-Lin Tang  <cltang@codesourcery.com>
2078
2079         PR rtl-optimization/52528
2080         * combine.c (can_combine_p): Add setting of subst_low_luid
2081         before call to expand_field_assignment().
2082
2083 2012-05-26  Martin Jambor  <mjambor@suse.cz>
2084
2085         Backport from mainline
2086         2012-05-23  Martin Jambor  <mjambor@suse.cz>
2087
2088         * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.
2089
2090 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
2091
2092         PR lto/52178
2093         * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
2094         * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
2095
2096 2012-05-25  Alexander Ivchenko  <alexander.ivchenko@intel.com>
2097
2098         PR target/53435
2099         * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
2100         (ix86_expand_vec_perm): Use int mode instead of float.
2101
2102 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
2103
2104         PR ada/52362
2105         * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
2106         gnu_ld variables to yes.
2107         * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
2108         (HAVE_GNU_AS): Likewise.
2109         * config.in: Regenerate.
2110         * configure: Likewise.
2111
2112 2012-05-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2113
2114         Backport from mainline
2115         2012-03-12  Richard Guenther  <rguenther@suse.de>
2116         * config/arm/arm.c (neon_dereference_pointer): Do not call
2117         covert during RTL expansion.
2118
2119 2012-05-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2120
2121         Backport from mainline
2122         2012-05-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2123
2124         PR target/53385
2125         * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
2126         relied on signed overflow behavior.
2127
2128 2012-05-24  Richard Guenther  <rguenther@suse.de>
2129
2130         PR middle-end/53460
2131         * tree-profile.c (tree_profiling): Cleanup the CFG if
2132         execute_fixup_cfg requests it.
2133
2134 2012-05-24  Jakub Jelinek  <jakub@redhat.com>
2135
2136         PR tree-optimization/53465
2137         * tree-vrp.c (extract_range_from_cond_expr): First copy_value_range
2138         vr0 into *vr, then vrp_meet that.
2139         (vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't
2140         have any equivalences.
2141         (vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the
2142         first time.
2143
2144 2012-05-23  Eric Botcazou  <ebotcazou@adacore.com>
2145
2146         * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
2147         size handling.
2148         (gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise.
2149         (iterative_hash_gimple_type): Adjust comment.
2150         (iterative_hash_canonical_type): Likewise.  Hash the bounds of the
2151         domain for an array type instead of the domain type itself.
2152
2153 2012-05-23  Georg-Johann Lay  <avr@gjlay.de>
2154
2155         Backport from 2012-05-23 mainline r187803
2156
2157         PR target/53448
2158         * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
2159         * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
2160         ASM_OUTPUT_ALIGN.
2161
2162 2012-05-23  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
2163
2164         Backport from 2012-05-03 mainline r187075
2165
2166         * config/i386/driver-i386.c (host_detect_local_cpu): Reset
2167         has_fma4 for AMD processors with both fma3 and fma4 support.
2168
2169 2012-05-22  Richard Guenther  <rguenther@suse.de>
2170
2171         PR tree-optimization/53408
2172         * tree-vect-loop.c (vectorizable_induction): Properly check
2173         the restriction that we cannot handle induction results from
2174         the inner loop outside of the outer loop.
2175
2176 2012-05-21  Jakub Jelinek  <jakub@redhat.com>
2177
2178         PR tree-optimization/53436
2179         * omp-low.c (omp_build_component_ref): New function.
2180         (build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.
2181
2182         PR tree-optimization/53366
2183         * tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
2184         tests if complex_numbers == 2, but there are non-complex number loads
2185         too.
2186
2187         PR tree-optimization/53409
2188         * tree-vect-loop.c (vect_analyze_loop_operations): Don't check
2189         vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.
2190
2191         PR tree-optimization/53410
2192         * fold-const.c (fold_binary_loc): Use build_zero_cst (type)
2193         instead of build_int_cst (type, 0) where vector types might be
2194         involved.
2195
2196 2012-05-21  Joseph Myers  <joseph@codesourcery.com>
2197
2198         PR c/53418
2199         * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
2200         from folded operands before wrapping another around the
2201         conditional expression.
2202
2203 2012-05-21  Dave Boutcher  <daveboutcher@gmail.com>
2204             Patrick Marlier  <patrick.marlier@gmail.com>
2205
2206         * trans-mem.c (ipa_tm_transform_clone): Transform functions with
2207         indirect calls.
2208
2209 2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
2210
2211         Backport from mainline
2212         2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
2213
2214         PR target/53416
2215         * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
2216         (UNSPECV_RDRAND): This.
2217         (rdrand<mode>_1): Updated.
2218
2219 2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
2220
2221         Backport from mainline
2222         2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
2223
2224         * config/i386/driver-i386.c (host_detect_local_cpu): Support
2225         RDRND, F16C and FSGSBASE.
2226
2227 2012-05-19  Eric Botcazou  <ebotcazou@adacore.com>
2228
2229         Backport from mainline
2230         2012-05-14  Eric Botcazou  <ebotcazou@adacore.com>
2231
2232         * tree-ssa-pre.c (can_value_number_call): Delete.
2233         (compute_avail): Skip all statements with side effects.
2234         <GIMPLE_CALL>: Skip calls to internal functions.
2235
2236 2012-05-18  David S. Miller  <davem@davemloft.net>
2237
2238         Backport r185385 from mainline
2239         2012-03-14  Richard Guenther  <rguenther@suse.de>
2240
2241         PR middle-end/52584
2242         * tree-vect-generic.c (type_for_widest_vector_mode): Take
2243         element type instead of mode, use build_vector_type_for_mode
2244         instead of the langhook, build a vector of proper signedness.
2245         (expand_vector_operations_1): Adjust.
2246
2247 2012-05-18  Olivier Hainque  <hainque@adacore.com>
2248
2249         * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of
2250         $(libsubdir) as libexecsubdir.
2251
2252 2012-05-16  Andrew Pinski  <apinski@cavium.com>
2253
2254         * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
2255         GIMPLE_ASSIGN.
2256
2257 2012-05-16  David S. Miller  <davem@davemloft.net>
2258
2259         * jump.c (delete_related_insns): If we remove a CALL, make sure
2260         we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.
2261
2262 2012-05-16  Richard Henderson  <rth@redhat.com>
2263
2264         PR debug/52727
2265         * combine-stack-adj.c (prev_active_insn_bb): New.
2266         (next_active_insn_bb): New.
2267         (force_move_args_size_note): New.
2268         (combine_stack_adjustments_for_block): Use it.
2269
2270 2012-05-16  Olivier Hainque  <hainque@adacore.com>
2271
2272         * Makefile.in (install-no-fixedincludes): New target, former toplevel
2273         gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
2274         Add comments and improve stamp preservation across the whole sequence.
2275         (stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.
2276
2277 2012-05-16  Richard Guenther  <rguenther@suse.de>
2278
2279         PR tree-optimization/53364
2280         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
2281         detect a view-conversion of the decl.
2282
2283 2012-05-15  Jakub Jelinek  <jakub@redhat.com>
2284
2285         PR target/53358
2286         * config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
2287         that operands[2] is either immediate, or q_regs_operand.
2288
2289 2012-05-15  Bin Cheng  <bin.cheng@arm.com>
2290
2291         Backport r187139 from mainline.
2292         2012-05-04  Bin Cheng  <bin.cheng@arm.com>
2293
2294         PR rtl-optimization/52804
2295         * reload1.c (reload_reg_reaches_end_p): Check whether successor
2296         reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
2297         of current one with type RELOAD_FOR_INPADDR_ADDRESS.
2298         Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
2299         RELOAD_FOR_OUTADDR_ADDRESS.
2300
2301 2012-05-14  Uros Bizjak  <ubizjak@gmail.com>
2302
2303         PR target/46098
2304         * config/i386/i386.c (ix86_expand_special_args_builtin): Always
2305         generate target register for "load" class builtins.
2306
2307         Revert:
2308         2010-10-22  Uros Bizjak  <ubizjak@gmail.com>
2309
2310         PR target/46098
2311         * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
2312         Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
2313         (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
2314         (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
2315         (<sse>_movu<ssemodesuffix>): New expander.
2316         (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
2317         (avx_movdqu<avxmodesuffix>): New expander.
2318         (*sse2_movdqu): Rename from sse2_movdqu.
2319         (sse2_movdqu): New expander.
2320
2321 2012-05-14  Jakub Jelinek  <jakub@redhat.com>
2322
2323         * dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat
2324         lineno 1 the same as lineno 0 before first start file directive.
2325         (optimize_macinfo_range): Likewise.
2326
2327         * dwarf2out.c (have_macinfo): Define.
2328         (dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info
2329         attribute, don't force empty compilation unit and don't emit any
2330         .debug_macinfo/.debug_macro section if macinfo_table is empty.
2331
2332 2012-05-13  Uros Bizjak  <ubizjak@gmail.com>
2333
2334         Backport from mainline
2335         2012-05-12  Uros Bizjak  <ubizjak@gmail.com>
2336
2337         * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
2338         ORDERED and UNORDERED conditions.
2339
2340 2012-05-12  Eric Botcazou  <ebotcazou@adacore.com>
2341
2342         * function.c (requires_stack_frame_p): If the function can throw
2343         non-call exceptions, return true if the insn can throw internally.
2344
2345 2012-05-10  Eric Botcazou  <ebotcazou@adacore.com>
2346
2347         * gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the
2348         DECL_ORIGINAL_TYPE if it is present.
2349
2350 2012-05-09  Georg-Johann Lay  <avr@gjlay.de>
2351
2352         Backport from 2012-05-12 mainline r187342.
2353
2354         PR target/53256
2355         * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
2356         * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
2357         * config/avr/avr.h (struct machine_function): Add attributes_checked_p.
2358         * config/avr/avr.c (avr_asm_declare_function_name): Remove.
2359         (expand_prologue): Move initialization of cfun->machine->is_naked,
2360         is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
2361         (avr_set_current_function): ...this new static function.
2362         (TARGET_SET_CURRENT_FUNCTION): New define.
2363         (avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
2364         checking attributes of current_function_decl.
2365         (avr_regs_to_save): Ditto.
2366         (signal_function_p): Rename to avr_signal_function_p.
2367         (interrupt_function_p): Rename to avr_interrupt_function_p.
2368
2369         * doc/extend.texi (Function Attributes): Better explanation of
2370         'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
2371         alphabetical order.
2372
2373 2012-05-09  Matthias Klose  <doko@ubuntu.com>
2374
2375         * gcc-ar.c (main): Don't check for execute bits for the plugin.
2376
2377 2012-05-08  Hans-Peter Nilsson  <hp@axis.com>
2378
2379         PR target/53272
2380         * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
2381         when a constant source operand matches an "I" constraint, the "no
2382         CC0 change" applies to a register-destination only, not a
2383         strict_low_part-destination.
2384
2385 2012-05-07  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2386
2387         Backport from mainline:
2388         2012-04-19  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2389
2390         * config/arm/sync.md (sync_optab): Change ior attribute to "or".
2391
2392 2012-05-07  Jakub Jelinek  <jakub@redhat.com>
2393
2394         PR tree-optimization/53239
2395         * tree-vrp.c (get_value_range): Set VR of
2396         SSA_NAME_IS_DEFAULT_DEF of DECL_BY_REFERENCE RESULT_DECL
2397         to nonnull.
2398
2399 2012-05-07  Richard Guenther  <rguenther@suse.de>
2400
2401         PR tree-optimization/53195
2402         * tree-inline.c (setup_one_parameter): Properly add referenced
2403         vars from the parameters new known value.
2404
2405 2012-05-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2406
2407         Backport from mainline:
2408         2012-04-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2409
2410         PR target/52999
2411         * config/pa/pa.c (pa_legitimate_constant_p): Don't put function labels
2412         in constant pool.
2413
2414 2012-05-04  Ian Lance Taylor  <iant@google.com>
2415
2416         * tree-vect-patterns.c (vect_single_imm_use): Correct return
2417         values from false to NULL.
2418
2419 2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
2420
2421         Backport from mainline
2422         2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
2423
2424         PR target/53228
2425         * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
2426         (TARGET_CMOV): Rename from TARGET_CMOVE.
2427         (TARGET_CMOVE): New define.
2428         * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
2429         Do not set TARGET_CMOVE here.
2430
2431 2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
2432
2433         Backport from mainline:
2434
2435         2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
2436
2437         PR tree-optimization/52633
2438         * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
2439         vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
2440         (vect_recog_over_widening_pattern): Remove handling of code that was
2441         already detected as over-widening pattern.  Remove special handling
2442         of "unsigned" cases.  Instead, support general case of conversion
2443         of the shift result to another type.
2444
2445         2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
2446
2447         * tree-vect-patterns.c (vect_single_imm_use): New function.
2448         (vect_recog_widen_mult_pattern): Use it instead of open-coding loop.
2449         (vect_recog_over_widening_pattern): Likewise.
2450         (vect_recog_widen_shift_pattern): Likewise.
2451
2452         2012-04-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
2453
2454         PR tree-optimization/52870
2455         * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Verify that
2456         presumed pattern statement is within the same loop or basic block.
2457
2458 2012-05-04  Richard Guenther  <rguenther@suse.de>
2459
2460         * common.opt (flto-report): Do not mark as Optimization.
2461
2462 2012-05-04  Eric Botcazou  <ebotcazou@adacore.com>
2463
2464         PR target/48496
2465         * recog.c (constrain_operands): If extra constraints are present, also
2466         accept pseudo-registers with equivalent memory locations during reload.
2467
2468 2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
2469
2470         Backport from the mainline
2471         2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
2472
2473         PR target/53199
2474         * config/rs6000/rs6000.md (bswapdi splitters): If
2475         -mavoid-indexed-addresses (or -mcpu=power6 which sets it by
2476         default) is used, generate an alternate sequence that does not
2477         depend on using indexed addressing.
2478
2479 2012-05-03  David S. Miller  <davem@davemloft.net>
2480
2481         PR target/52684
2482         * config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
2483         MEM directly into a libcall, mark it's MEM_EXPR as addressable.
2484         (sparc_emit_float_lib_cmp): Likewise.
2485
2486 2012-05-04  Martin Jambor  <mjambor@suse.cz>
2487
2488         Backport from mainline
2489         2012-05-02  Martin Jambor  <mjambor@suse.cz>
2490
2491         PR lto/52605
2492         * dwarf2out.c (dwarf2out_decl): Only lookup die representing context
2493         of a variable when the contect is a function.
2494
2495 2012-05-03  Jakub Jelinek  <jakub@redhat.com>
2496
2497         PR plugins/53126
2498         * gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env,
2499         append program name to it and pass that as first argument
2500         to make_relative_prefix.  Always pass standard_libexec_prefix
2501         as last argument to make_relative_prefix.  If
2502         make_relative_prefix returns NULL, fall back to
2503         standard_libexec_prefix.
2504
2505         PR debug/53174
2506         * tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being
2507         removed.
2508
2509         PR target/53187
2510         * config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class
2511         mode, return that mode.
2512
2513 2012-05-03  Richard Guenther  <rguenther@suse.de>
2514
2515         PR tree-optimization/53144
2516         * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
2517         Rename to ...
2518         (vn_reference_lookup_or_insert_for_pieces): ... this.  Properly deal
2519         with SSA name values.
2520         (vn_reference_lookup_3): Adjust callers.
2521
2522 2012-05-02  Jakub Jelinek  <jakub@redhat.com>
2523
2524         PR tree-optimization/53163
2525         * tree-ssa-phiopt.c (cond_if_else_store_replacement): Don't ignore
2526         return value from compute_all_dependences.
2527
2528         PR rtl-optimization/53160
2529         * ree.c (combine_reaching_defs): Handle the case where cand->insn
2530         has been modified by ree pass already.
2531
2532 2012-05-01  Uros Bizjak  <ubizjak@gmail.com>
2533
2534         Backport from mainline
2535         2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
2536
2537         PR middle-end/53136
2538         * ipa-prop.c (ipa_print_node_jump_functions): Wrap multiple
2539         calls to cgraph_node_name in xstrdup.
2540         (ipa_make_edge_direct_to_target): Ditto.
2541         * tree-sra.c (convert_callers_for_node): Ditto.
2542         * lto-symtab.c (lto_cgraph_replace_node): Ditto.
2543         * ipa-cp.c (perhaps_add_new_callers): Ditto.
2544         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Ditto.
2545         (cgraph_materialize_all_clones): Ditto.
2546         * ipa-inline.c (report_inline_failed_reason): Ditto.
2547         (want_early_inline_function_p): Ditto.
2548         (edge_badness): Ditto.
2549         (update_edge_key): Ditto.
2550         (flatten_function): Ditto.
2551         (ipa_inline): Ditto.
2552         (inline_always_inline_functions): Ditto.
2553         (early_inline_small_functions): Ditto.
2554
2555 2012-04-30  Andreas Tobler  <andreast@fgznet.ch>
2556
2557         Backport from mainline
2558         2012-03-21  Andreas Tobler  <andreast@fgznet.ch>
2559
2560         * configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*.
2561         Introduce emul_name to select the right linker emulation for
2562         powerpc64-*-freebsd*.
2563         * configure: Regenerate.
2564         * config.gcc: Add bits to support powerpc64-*-freebsd*.
2565         * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define.
2566         * config/rs6000/freebsd64.h: New file.
2567         * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
2568         POWERPC_FREEBSD.
2569         (rs6000_savres_strategy): Likewise.
2570         (rs6000_savres_routine_name): Likewise.
2571         (rs6000_elf_file_end): Likewise.
2572         * config/rs6000/t-freebsd64: New file.
2573         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the
2574         rs6000_current_abi for 64-bit FreeBSD to ABI_AIX.
2575
2576 2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
2577
2578         Backport from mainline
2579         2012-04-27  Paolo Bonzini  <bonzini@gnu.org>
2580
2581         PR target/53138
2582         * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber.
2583
2584 2012-04-30  Eric Botcazou  <ebotcazou@adacore.com>
2585
2586         * config/i386/i386.c (ix86_handle_struct_attribute): Use the proper
2587         predicate to discriminate types.
2588
2589 2012-04-27  Richard Guenther  <rguenther@suse.de>
2590
2591         PR c/51527
2592         * convert.c (convert_to_integer): Avoid infinite recursion for
2593         target-defined built-in types.
2594
2595 2012-04-26  Hans-Peter Nilsson  <hp@axis.com>
2596
2597         PR target/53120
2598         * config/cris/cris.md ("*andhi_lowpart_v32")
2599         ("*andqi_lowpart_v32"): Change first input-only operand from
2600         a (match_operand ...) to (match_dup 0).  Drop alternatives with
2601         const_int-matching constraints for redundancy.
2602         ("*andhi_lowpart_non_v32", "*andqi_lowpart_non_v32"): Ditto.  Drop
2603         three-operand alternative.
2604
2605 2012-04-26  Uros Bizjak  <ubizjak@gmail.com>
2606
2607         Backport from mainline
2608         2012-04-23  Uros Bizjak  <ubizjak@gmail.com>
2609
2610         * config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative.
2611         (*addsi_2_zext): Ditto.
2612         (*add<mode>_3): Ditto.
2613         (*addsi_3_zext): Ditto.
2614         (*add<mode>_5): Ditto.
2615
2616 2012-04-25  Jakub Jelinek  <jakub@redhat.com>
2617
2618         PR c/52880
2619         * c-typeck.c (set_nonincremental_init,
2620         set_nonincremental_init_from_string): Pass true instead of false
2621         as IMPLICIT to add_pending_init.
2622
2623 2012-04-24  Georg-Johann Lay  <avr@gjlay.de>
2624
2625         Backport from 2012-04-24 mainline r186768.
2626
2627         PR target/53065
2628         * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define.
2629
2630 2012-04-24  Richard Guenther  <rguenther@suse.de>
2631
2632         PR tree-optimization/53085
2633         * tree-ssa-pre.c (eliminate): Do not eliminate volatile redundant
2634         stores.
2635
2636 2012-04-24  Jakub Jelinek  <jakub@redhat.com>
2637
2638         PR middle-end/53084
2639         * varasm.c (compute_reloc_for_constant): Handle ADDR_EXPR
2640         of MEM_REF.
2641         (output_addressed_constants): Likewise.
2642
2643         PR middle-end/52999
2644         * varasm.c (get_section): Don't ICE for section conflicts with
2645         built-in section kinds.
2646
2647 2012-04-23  David Edelsohn  <dje.gcc@gmail.com>
2648
2649         * config/rs6000/sync.md (fetchop_name): Change ior attribute to "or".
2650
2651 2012-04-23  Georg-Johann Lay  <avr@gjlay.de>
2652
2653         * doc/extend.texi (AVR Named Address Spaces): Fix typos.
2654
2655 2012-04-23  Richard Guenther  <rguenther@suse.de>
2656
2657         PR c/53060
2658         * c-typeck.c (build_binary_op): Fix typo.
2659
2660 2012-04-23  Jakub Jelinek  <jakub@redhat.com>
2661
2662         PR tree-optimizations/52891
2663         * tree-vect-patterns.c (adjust_bool_pattern): Use
2664         build_nonstandard_type even if rhs1 has unsigned INTEGER_TYPE,
2665         but with non-standard precision.
2666
2667 2012-04-22  Ian Lance Taylor  <iant@google.com>
2668
2669         * godump.c (go_output_typedef): Dump size of structs.
2670
2671 2012-04-20  Ulrich Weigand  <ulrich.weigand@linaro.org>
2672
2673         Backport from mainline:
2674
2675         * config/arm/arm.c (arm_print_operand): Fix invalid alignment
2676         hints for 'A' operand types.
2677
2678 2012-04-19  Georg-Johann Lay  <avr@gjlay.de>
2679
2680         Backport from 2012-04-19 mainline r186588.
2681
2682         PR target/53033
2683         * config/avr/avr.c (avr_out_load_psi): Fix assembler template for
2684         the case *(X+const).
2685
2686 2012-04-18  Uros Bizjak  <ubizjak@gmail.com>
2687
2688         * config/alpha/sync.md (fetchop_name): Change ior attribute to "or".
2689
2690 2012-04-17  Uros Bizjak  <ubizjak@gmail.com>
2691
2692         PR target/53020
2693         * config/i386/sync.md (atomic_<code><mode>): Rename to
2694         atomic_<logic><mode>.
2695
2696 2012-04-16  Uros Bizjak  <ubizjak@gmail.com>
2697
2698         Backport from mainline
2699         2012-04-12  Uros Bizjak  <ubizjak@gmail.com>
2700
2701         PR target/52932
2702         * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
2703         argument type to __m256i.  Update call to __builtin_ia32_permvarsf256.
2704         * config/i386/sse.md (avx2_permvarv8sf): Change operand 1 to V8SI.
2705         (avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
2706         * config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
2707         Update builtin type to V8SF_FTYPE_V8SF_V8SI.
2708         (ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
2709         gen_avx2_permvarv8sf.
2710
2711 2012-04-16  Martin Jambor  <mjambor@suse.cz>
2712
2713         Backported from mainline
2714
2715         2012-04-13  Martin Jambor  <mjambor@suse.cz>
2716         PR middle-end/52939
2717
2718         * gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
2719         fold_ctor_reference returns a zero constant.
2720
2721 2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
2722
2723         Backported from mainline
2724         2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
2725
2726         * config/i386/i386-c.c (ix86_target_macros): Define _ILP32
2727         and __ILP32__ for x32.
2728
2729 2012-04-13  Tom de Vries  <tom@codesourcery.com>
2730
2731         Backport from mainline r186418.
2732
2733         2012-04-13  Tom de Vries  <tom@codesourcery.com>
2734
2735         * tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add
2736         parameters vuse and vuse_escaped.
2737         (find_duplicate): Init vuse1, vuse2 and vuse_escaped.  Pass to
2738         gsi_advance_bw_nondebug_nonlocal.  Return if vuse_escaped and
2739         vuse1 != vuse2.
2740
2741 2012-04-13  Richard Guenther  <rguenther@suse.de>
2742
2743         PR tree-optimization/52969
2744         * tree-if-conv.c (predicate_mem_writes): Properly gimplify
2745         the condition for the COND_EXPR and handle predicate negation
2746         by swapping the COND_EXPR arms.
2747
2748 2012-04-13  Richard Guenther  <rguenther@suse.de>
2749
2750         PR c/52862
2751         * convert.c (convert_to_pointer): Remove special-casing of
2752         zero.
2753
2754 2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
2755
2756         Backport from mainline
2757         2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
2758
2759         PR target/52775
2760         * config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
2761         the list of options to enable the FCFID instruction.
2762         (TARGET_EXTRA_BUILTINS): Adjust comment.
2763
2764 2012-04-12  Richard Guenther  <rguenther@suse.de>
2765
2766         PR tree-optimization/52943
2767         * tree-chrec.h (chrec_is_positive): Remove.
2768         * tree-scalar-evolution.c (chrec_is_positive): Move ...
2769         * tree-data-ref.c (chrec_is_positive): ... here.  Make static.
2770         Return false for a constant zero instead of negative.
2771         (analyze_siv_subscript_cst_affine): Handle zero difference
2772         in the initial condition explicitely.
2773
2774 2012-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2775
2776         PR middle-end/52894
2777         * varasm.c (process_pending_assemble_externals): Set
2778         pending_assemble_externals_processed true.
2779         (assemble_external): Call assemble_external_real if the pending
2780         assemble externals have been processed.
2781
2782 2012-04-09  Eric Botcazou  <ebotcazou@adacore.com>
2783
2784         PR target/52717
2785         * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
2786         the DECL generated for the special GOT helper.
2787
2788 2012-04-06  Walter Lee  <walt@tilera.com>
2789
2790         Backport from mainline
2791         2012-03-07  Walter Lee  <walt@tilera.com>
2792
2793         * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
2794         REG_CFA_* notes for the stack pointer.
2795         (tilegx_expand_epilogue): Restore stack pointer by adjusting it by
2796         EH_RETURN_STACKADJ_RTX.
2797         * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
2798         generate REG_CFA_* notes for the stack pointer.
2799         (tilepro_expand_epilogue): Restore stack pointer by adjusting it
2800         by EH_RETURN_STACKADJ_RTX.
2801
2802 2012-04-06  Matt Turner  <mattst88@gmail.com>
2803
2804         * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc".
2805
2806 2012-04-06  Eric Botcazou  <ebotcazou@adacore.com>
2807
2808         * config/ia64/ia64.c (ia64_load_pair_ok): Return 0 if the second member
2809         of the destination isn't also a FP_REGS register.
2810
2811 2012-04-03  Richard Guenther  <rguenther@suse.de>
2812
2813         Backport from mainline
2814         2012-03-02  Richard Guenther  <rguenther@suse.de>
2815
2816         PR tree-optimization/52406
2817         * tree-data-ref.h: Update documentation about DR_BASE_OBJECT.
2818         (struct indices): Add unconstrained_base member.
2819         (struct dr_alias): Remove unused vops member.
2820         (DR_UNCONSTRAINED_BASE): New define.
2821         * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs
2822         add indices to allow their disambiguation.  Make DR_BASE_OBJECT
2823         be an artificial access that covers the whole indexed object,
2824         or mark it with DR_UNCONSTRAINED_BASE if we cannot do so.  Canonicalize
2825         plain decl base-objects to their MEM_REF variant.
2826         (dr_may_alias_p): When the base-object of either data reference
2827         has unknown size use only points-to information.
2828         (compute_affine_dependence): Make dumps easier to read and
2829         more verbose.
2830         * tree-vect-data-ref.c (vector_alignment_reachable_p): Use
2831         DR_REF when looking for packed references.
2832         (vect_supportable_dr_alignment): Likewise.
2833
2834 2012-04-03  Richard Guenther  <rguenther@suse.de>
2835
2836         Backport from mainline
2837         2012-03-15  Richard Guenther  <rguenther@suse.de>
2838
2839         PR middle-end/52580
2840         * tree-data-ref.c (subscript_dependence_tester_1): Check
2841         all dimensions for non-conflicting access functions.
2842
2843 2012-04-03  Richard Guenther  <rguenther@suse.de>
2844
2845         Backport from mainline
2846         2012-03-06  Richard Guenther  <rguenther@suse.de>
2847
2848         PR middle-end/52493
2849         * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify.
2850
2851         2012-03-23  Richard Guenther  <rguenther@suse.de>
2852
2853         PR tree-optimization/52678
2854         * tree-vectorizer.h (struct _stmt_vec_info): Add
2855         loop_phi_evolution_part member.
2856         (STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define.
2857         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize
2858         STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
2859         * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
2860         Use the cached evolution part and the PHI nodes value from
2861         the loop preheader edge instead of re-analyzing the evolution.
2862
2863         2012-03-26  Richard Guenther  <rguenther@suse.de>
2864
2865         PR tree-optimization/52701
2866         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
2867         compute and set the evolution part of PHI nodes.
2868
2869         2012-03-30  Richard Guenther  <rguenther@suse.de>
2870
2871         PR tree-optimization/52754
2872         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
2873         propagate arbitrary addresses into really plain dereferences.
2874
2875 2012-04-03  Jakub Jelinek  <jakub@redhat.com>
2876
2877         PR tree-optimization/52835
2878         * tree-data-ref.c (build_rdg): Return NULL if
2879         compute_data_dependences_for_loop failed.
2880
2881 2012-03-31  Eric Botcazou  <ebotcazou@adacore.com>
2882
2883         * tree-cfg.c (call_can_make_abnormal_goto): New predicate.
2884         (stmt_can_make_abnormal_goto): Use it.
2885         (is_ctrl_altering_stmt): Likewise.
2886
2887 2012-03-31  Martin Jambor  <mjambor@suse.cz>
2888
2889         Backported from mainline
2890         2012-03-30  Martin Jambor  <mjambor@suse.cz>
2891
2892         * tree-ssa-ccp.c (insert_clobbers_for_var): Do not assert that there
2893         is a builtin_stack_save in a dominating BB.
2894
2895 2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
2896
2897         * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
2898         crossing 128bit lane boundary.
2899
2900 2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
2901
2902         Backported from mainline
2903         2012-03-27  Uros Bizjak  <ubizjak@gmail.com>
2904
2905         PR target/52698
2906         * config/i386/i386-protos.h (ix86_legitimize_reload_address):
2907         New prototype.
2908         * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
2909         * config/i386/i386.c: Include reload.h.
2910         (ix86_legitimize_reload_address): New function.
2911
2912 2012-03-28  Martin Jambor  <mjambor@suse.cz>
2913
2914         Backported from mainline
2915         2012-03-27  Martin Jambor  <mjambor@suse.cz>
2916
2917         PR middle-end/52693
2918         * tree-sra.c (sra_modify_assign): Do not call
2919         load_assign_lhs_subreplacements when working with an unscalarizable
2920         region.
2921
2922 2012-03-28  Jakub Jelinek  <jakub@redhat.com>
2923
2924         PR middle-end/52691
2925         * tree-ssa-ccp.c (optimize_stdarg_builtin): Optimize
2926         __builtin_va_start to __builtin_next_arg if the latter is
2927         builtin_decl_explicit_p rather than when it is not.
2928
2929         PR middle-end/52750
2930         * tree-vect-generic.c (vector_element): Perform multiplication
2931         for pos in bitsizetype type instead of idx type.
2932
2933 2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
2934
2935         Backport from 2012-03-28 mainline r185910.
2936
2937         PR target/52692
2938         * config/avr/avr.c (TARGET_BUILTIN_DECL): New define.
2939         (avr_builtin_decl): New static function.
2940         (struct avr_builtin_description, avr_bdesc): Move up.
2941         Add GTY marker. Add field fndecl. Remove redundant field id.
2942         (avr_init_builtins): Initialize avr_bdesc[ID].fndecl.
2943         (avr_expand_builtin): Code cleanup because .id is removed.
2944
2945 2012-03-28  Aurelien Buhrig  <aurelien.buhrig.gcc@gmail.com>
2946
2947         PR middle-end/51893
2948         * expmed.c (store_bit_field_1): Fix wordnum value for big-endian
2949         targets.
2950
2951 2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
2952
2953         Backport from 2012-03-28 mainline r185907.
2954
2955         PR target/52737
2956         * config.gcc (tm_file): Remove avr/multilib.h.
2957
2958         * doc/invoke.texi (AVR Options): Adjust
2959         documentation of -mtiny-stack.
2960
2961         * config/avr/genmultilib.awk: Remove code to generate multilib.h.
2962         (BEGIN): Use -msp8 as multilib option instead of -mtiny-stack.
2963         * config/avr/t-avr: Remove generation of multilib.h.
2964         * config/avr/t-multilib: Regenerate.
2965         * config/avr/multilib.h: Remove.
2966         * config/avr/avr.opt (-msp8): New option.
2967         (avr_sp8): New variable.
2968         * config/avr/driver-avr.c (avr_device_to_sp8): New function.
2969         * config/avr/avr.h (AVR_HAVE_SPH): New define.
2970         (AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8.
2971         (avr_device_to_sp8): New prototype.
2972         (EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 }
2973         (DRIVER_SELF_SPECS): New define.
2974         * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
2975         __AVR_SP8__, __AVR_HAVE_SPH__.
2976         * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
2977         AVR_HAVE_8BIT_SP to decide if SP_H is present.
2978         (avr_file_start): Ditto.
2979
2980 2012-03-28  Jakub Jelinek  <jakub@redhat.com>
2981
2982         PR target/52736
2983         * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0
2984         instead of 8 in adjust_address.
2985
2986 2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
2987
2988         * expmed.c (store_bit_field): Assert that BITREGION_START is a multiple
2989         of a unit before computing the offset in units.
2990
2991 2012-03-27  Richard Guenther  <rguenther@suse.de>
2992
2993         PR middle-end/52720
2994         * fold-const.c (try_move_mult_to_index): Handle &x.array more
2995         explicitely.
2996
2997 2012-03-24  Eric Botcazou  <ebotcazou@adacore.com>
2998
2999         PR target/52610
3000         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=leon.
3001
3002 2012-03-24  Steven Bosscher  <steven@gcc.gnu.org>
3003
3004         PR middle-end/52640
3005         * varasm.c: Include pointer-set.h.
3006         (pending_assemble_externals_set): New pointer set.
3007         (process_pending_assemble_externals): Destroy the pointer set.
3008         (assemble_external): See if decl is in pending_assemble_externals_set,
3009         and add it to pending_assemble_externals if necessary.
3010         (init_varasm_once): Allocate pending_assemble_externals_set.
3011
3012 2012-03-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
3013
3014         Backported from mainline
3015         2012-03-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
3016
3017         PR target/50310
3018         * config/rs6000/vector.md (vector_uneq<mode>): Add support for
3019         UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
3020         (vector_ltgt<mode>): Likewise.
3021         (vector_ordered<mode>): Likewise.
3022         (vector_unordered<mode>): Likewise.
3023         * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
3024
3025 2012-03-23  Joern Rennecke  <joern.rennecke@embecosm.com>
3026
3027         * config/epiphany/epiphany.c (epiphany_function_value_regno_p):
3028         Make static.
3029
3030 2012-03-22  Kaz Kojima  <kkojima@gcc.gnu.org>
3031
3032         Backported from mainline
3033         2012-03-02  Kaz Kojima  <kkojima@gcc.gnu.org>
3034
3035         PR target/48596
3036         PR target/48806
3037         * config/sh/sh.c (sh_register_move_cost): Increase cost between
3038         GENERAL_REGS and FP_REGS for SImode.
3039
3040 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
3041
3042         PR middle-end/52547
3043         * tree-nested.c (convert_tramp_reference_stmt): Call declare_vars
3044         on any new_local_var_chain vars declared during recursing on
3045         GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK body.
3046
3047 2012-03-22  Georg-Johann Lay  <avr@gjlay.de>
3048
3049         Backport from 2012-03-22 mainline r185692.
3050
3051         PR target/52496
3052         * config/avr/avr.md (unspec): Remove UNSPEC_MEMORY_BARRIER.
3053         (unspecv): Add UNSPECV_MEMORY_BARRIER.
3054         (cli_sei): Use unspec_volatile instead of unspec for memory barrier.
3055         (delay_cycles_1, delay_cycles_2): Ditto.
3056         (delay_cycles_3, delay_cycles_4): Ditto.
3057         (nopv, *nopv): Ditto.
3058         (sleep, *sleep): Ditto.
3059         (wdr, *wdr): Ditto.
3060
3061         Backport from 2012-03-21 mainline r185605.
3062
3063         PR rtl-optimization/52543
3064         PR target/52461
3065         * config/avr/avr-protos.h (avr_load_lpm): New prototype.
3066         * config/avr/avr.c (avr_mode_dependent_address_p): New function.
3067         (TARGET_MODE_DEPENDENT_ADDRESS_P): New define.
3068         (avr_load_libgcc_p): Restrict to __flash loads.
3069         (avr_out_lpm): Only handle 1-byte loads from __flash.
3070         (avr_load_lpm): New function.
3071         (avr_find_unused_d_reg): Remove.
3072         (avr_out_lpm_no_lpmx): Remove.
3073         (adjust_insn_length): Handle ADJUST_LEN_LOAD_LPM.
3074         * config/avr/avr.md (unspec): Add UNSPEC_LPM.
3075         (load_<mode>_libgcc): Use UNSPEC_LPM instead of MEM.
3076         (load_<mode>, load_<mode>_clobber): New insns.
3077         (mov<mode>): For multi-byte move from non-generic
3078         16-bit address spaces: Expand to load_<mode> resp.
3079         load_<mode>_clobber.
3080         (load<mode>_libgcc): Remove expander.
3081         (split-lpmx): Remove split.
3082
3083         Backport from 2012-03-13 mainline r185329.
3084
3085         PR target/52488
3086         * config/avr/avr.c (avr_prologue_setup_frame): Cut down stack
3087         offset (size) to a value the insns can deal with.
3088         (expand_epilogue): Ditto.
3089
3090         Backport from 2012-03-12 mainline r185256.
3091
3092         PR target/52499
3093         * config/avr/avr.c (avr_mode_code_base_reg_class): Change return
3094         type from reg_class_t to enum reg_class.
3095         * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
3096
3097         Backport from 2012-03-12 mainline r185253.
3098
3099         PR target/52148
3100         * config/avr/avr.c (avr_out_movmem): Fix typo in output template
3101         for the case ADDR_SPACE_FLASH and AVR_HAVE_LPMX introduced in
3102         r184615 from 2012-02-28.
3103
3104         Backport from 2012-03-08 mainline r185105.
3105
3106         * config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative
3107         for constants in [-63,63].
3108
3109         Backport from 2012-03-08 mainline r185100.
3110
3111         PR target/52496
3112         * config/avr/avr.c (avr_mem_clobber): New static function.
3113         (avr_expand_delay_cycles): Add memory clobber operand to
3114         delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4.
3115         * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
3116         (enable_interrupt, disable_interrupt): New expander.
3117         (nopv, sleep, wdr): New expanders.
3118         (delay_cycles_1): Add memory clobber.
3119         (delay_cycles_2): Add memory clobber.
3120         (delay_cycles_3): Add memory clobber.
3121         (delay_cycles_4): Add memory clobber.
3122         (cli_sei): New insn from former "enable_interrupt",
3123         "disable_interrupt" with memory clobber.
3124         (*wdt): New insn from former "wdt" with memory clobber.
3125         (*nopv): Similar, but for "nopv".
3126         (*sleep): Similar, but for "sleep".
3127
3128         Backport from 2012-03-07 mainline r185043.
3129
3130         PR target/52484
3131         * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint.
3132
3133         Backport from 2012-03-07 mainline r185032.
3134
3135         PR target/52506
3136         * gcc/config/avr/avr.c (expand_epilogue): Fix order of restoration
3137         to: RAMPZ, RAMPY, RAMPX, RAMPD.
3138         (expand_prologue): Only clear RAMPZ if it has effect on RAM-read.
3139
3140         Backport from 2012-03-07 mainline r185031.
3141
3142         PR target/52505
3143         * config/avr/avr.c (avr_out_xload): Don't read unintentionally
3144         from RAM.
3145         * config/avr/avr.md (xload_8): Adjust insn length.
3146
3147         Backport from 2012-03-07 mainline r185030.
3148
3149         PR target/52461
3150         * gcc/config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
3151         if RAMPZ affects reading from RAM.
3152
3153         Backport from 2012-03-05 mainline r184919.
3154
3155         * config/avr/avr.md (*umaddqihi4.2): New insn-and-split.
3156
3157 2012-03-22  Georg-Johann Lay  <avr@gjlay.de>
3158
3159         Backport from mainline r185259.
3160
3161         PR other/52545
3162         * output.h (SECTION_EXCLUDE, SECTION_MACH_DEP): Don't use
3163         SECTION_MACH_DEP reserved bits for SECTION_EXCLUDE.
3164
3165 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
3166
3167         Backported from mainline
3168         2012-03-13  Jakub Jelinek  <jakub@redhat.com>
3169
3170         PR c/52577
3171         * c-parser.c (c_parser_postfix_expression)
3172         <case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values.
3173
3174         * config/i386/smmintrin.h: Avoid /* within a comment.
3175         * config/i386/nmmintrin.h: Likewise.
3176
3177 2012-03-22  Richard Guenther  <rguenther@suse.de>
3178
3179         * BASE-VER: Set to 4.7.1.
3180         * DEV-PHASE: Set to prerelease.
3181
3182 2012-03-22  Release Manager
3183
3184         * GCC 4.7.0 released.
3185
3186 2012-03-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3187
3188         * doc/install.texi (Specific, *-*-solaris2*): Improve wording.
3189
3190 2012-03-15  Jakub Jelinek  <jakub@redhat.com>
3191             Andrew Pinski  <apinski@cavium.com>
3192
3193         PR middle-end/52592
3194         * builtins.c (expand_builtin_int_roundingfn_2): If expanding
3195         BUILT_IN_IR{INT,OUND}* using optab fails, emit lr{int,ound}*
3196         calls instead of __builtin_ir{int,ound}*.
3197
3198 2012-03-14  Jakub Jelinek  <jakub@redhat.com>
3199
3200         PR c++/52582
3201         * config/rs6000/rs6000.c (call_ABI_of_interest): Return true
3202         if c_node is NULL.
3203
3204 2012-03-13  Joseph Myers  <joseph@codesourcery.com>
3205
3206         * doc/invoke.texi (-std=c99), doc/standards.texi (C language):
3207         Refer to GCC 4.7 version of c99status.html.
3208
3209 2012-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
3210
3211         Backport from mainline
3212         2012-03-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
3213
3214         * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Do not
3215         redefine to be NULL if the current bit-size is different from the
3216         configured bit-size.
3217
3218         * config/rs6000/rs6000.c (rs6000_option_override_internal): If the
3219         cpu is defaulted, use PROCESSOR_DEFAULT and PROCESSOR_DEFAULT64 to
3220         set the default tuning.  Add asserts to make sure the cpu and tune
3221         indexes are defined.  Fix tests for cpu/tune index to use >= 0 to
3222         test whether the index is set, instead of > 0.
3223         (rs6000_file_start): Do not reset the default cpu if the current
3224         bit-size is different from the configured bit-size.
3225
3226 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3227
3228         * doc/install.texi (Specific, i?86-*-solaris2.[89]): Update
3229         binutils reference.
3230         (Specific, i?86-*-solaris2.10): Remove GCC 4.0 reference.
3231         Update binutils references.
3232         (Specific, *-*-solaris2*): Mention bundled GCC in Solaris 10 and 11.
3233         Update binutils reference.
3234         Update Sun as/GNU ld caveat.
3235         Document binutils largefile requirement for LTO plugin.
3236         Remove reference to alternate libpthread.
3237
3238 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3239
3240         * doc/install.texi (Specific, alpha*-dec-osf5.1): Update binutils
3241         reference.
3242         (Specific, mips-sgi-irix6): Likewise.
3243
3244 2012-03-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3245
3246         * configure.ac (gcc_cv_as_ix86_tlsldmplt): Add label.
3247         * configure: Regenerate.
3248
3249 2012-03-07  Richard Henderson  <rth@redhat.com>
3250
3251         * config/m68k/m68k.h (ISA_HAS_TAS): New.
3252         * config/m68k/sync.md (atomic_test_and_set): Use it.
3253         (atomic_test_and_set_1): Likewise.
3254
3255 2012-03-07  Ralf Corsépius  <ralf.corsepius@rtems.org>
3256
3257         PR target/51417
3258         * Makefile.in: Let install-gcc-ar depend on installdirs,
3259         gcc-ar$(exeext), gcc-nm$(exeext), gcc-ranlib$(exeext).
3260         Don't double canonicalize if cross-compiling.
3261
3262 2012-03-06  Aldy Hernandez  <aldyh@redhat.com>
3263
3264         * trans-mem.c: New typedef for tm_region_p.
3265         Define vector types for tm_region_p.
3266         (tm_region_init): Replace region_worklist to a vector called
3267         bb_regions.
3268
3269 2012-03-06  Aldy Hernandez  <aldyh@redhat.com>
3270
3271         PR middle-end/52463
3272         * trans-mem.c (tm_region_init): Use last_basic_block.
3273
3274 2012-03-05  Richard Henderson  <rth@redhat.com>
3275
3276         PR tree-opt/52242
3277         Revert: 2011-11-26  Richard Henderson  <rth@redhat.com>
3278         * omp-low.c (expand_omp_atomic): Assume anything aligned to
3279         BIGGEST_ALIGNMENT is aligned.
3280
3281 2012-03-05  Oleg Endo  <olegendo@gcc.gnu.org>
3282
3283         * config/sh/sh.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
3284
3285 2012-03-05  Richard Henderson  <rth@redhat.com>
3286
3287         PR target/52481
3288         * config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
3289         instead of calling negqi2 directly.
3290
3291 2012-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3292
3293         * config/mips/iris6.h [!USED_FOR_TARGET] (long_intmax): Declare.
3294         (INTMAX_TYPE): Use it.
3295         (UINTMAX_TYPE): Likewise.
3296         (SUBTARGET_OVERRIDE_OPTIONS): Define.
3297         (irix6_c_common_override_options): Declare.
3298         (C_COMMON_OVERRIDE_OPTIONS): Define.
3299         * config/mips/mips.c [TARGET_IRIX6] (long_intmax): Define.
3300         * config/mips/irix6-c.c: New file.
3301         * config/mips/t-irix6 (irix6-c.o): New target.
3302         * config.gcc (mips-sgi-irix6.5): Set c_target_objs,
3303         cxx_target_objs.
3304
3305 2012-03-02  Richard Henderson  <rth@redhat.com>
3306
3307         * optabs.c (expand_atomic_test_and_set): Honor
3308         atomic_test_and_set_trueval even when atomic_test_and_set
3309         optab is not in use.
3310
3311 2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
3312
3313         Backport from mainline
3314         2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
3315
3316         * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
3317
3318 2012-03-02  Richard Guenther  <rguenther@suse.de>
3319
3320         * DEV-PHASE: Set to prerelease.
3321
3322 2012-03-01  Richard Earnshaw  <rearnsha@arm.com>
3323
3324         * config.gcc (obsolete): Add all ARM targets using the FPA.
3325         (with_fpu): Obsolete selection of the FPA or Maverick on ARM.
3326         * doc/install.texi: Avoid references to obsolete ARM ports.
3327
3328 2012-03-01  Joern Rennecke  <joern.rennecke@embecosm.com>
3329
3330         * config/epiphany/epiphany.md (movmisalign<mode>): New patterns.
3331
3332 2012-03-01  Jeremy Bennett  <jeremy.bennett@embecosm.com>
3333             Joern Rennecke  <joern.rennecke@embecosm.com>
3334
3335         * doc/extend.texi: Expand and update information on interrupt
3336         attribute for Epiphany.
3337
3338 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
3339
3340         * config/sh/sh-protos.h: Update copyright notice dates.
3341         * config/sh/sh.h: Likewise.
3342         * config/sh/sh.md: Likewise.
3343         * config/sh/constraints.md: Likewise.
3344         * config/sh/predicates.md: Likewise.
3345
3346 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
3347
3348         * config/sh/sh-protos.h (tertiary_reload_operand): Remove dead function.
3349         * config/sh/sh.c (tertiary_reload_operand): Likewise.
3350
3351 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
3352
3353         * config/sh/constraints.md: Fix comment typo.
3354
3355 2012-03-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3356
3357         PR target/52408
3358         * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
3359         unsigned HOST_WIDE_INT.
3360         (zvdep_imm64): Likewise.
3361         (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
3362         (vdepi_and): Likewise.
3363         Likewise for unamed 64-bit patterns.
3364         * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
3365
3366 2012-03-01  Alexandre Oliva  <aoliva@redhat.com>
3367
3368         PR debug/52001
3369         PR rtl-optimization/52417
3370         * cselib.c (cselib_any_perm_equivs): New variable.
3371         (cselib_reset_table): Check that it's not set when not
3372         preserving constants.
3373         (cselib_add_permanent_equiv): Set it.
3374         (cselib_have_permanent_equivalences): New.
3375         (cselib_init, cselib_finish): Reset it.
3376         * cselib.h (cselib_have_permanent_equivalences): Declare.
3377         * alias.c (get_addr): Restore earlier behavior when there
3378         aren't permanent equivalences.
3379
3380 2012-03-01  Steven Bosscher  <steven@gcc.gnu.org>
3381
3382         * config/mn10300/mn10300-modes.def: Fix copyright notice.
3383         * config/v850/v850-modes.def: Fix copyright notice.
3384
3385 2012-03-01  Georg-Johann Lay  <avr@gjlay.de>
3386
3387         * doc/extend.texi (AVR Built-in Functions): Document
3388         __builtin_avr_flash_segment.
3389
3390         * config/avr/builtins.def (__builtin_avr_flash_segment): New entry.
3391         * config/avr/avr.md (flash_segment, flash_segment1): New expanders.
3392         (*split.flash_segment): New insn-and-split.
3393         * config/avr/avr.c (avr_init_builtins): Add local variables:
3394         const_memx_void_node, const_memx_ptr_type_node,
3395         char_ftype_const_memx_ptr.
3396
3397 2012-03-01  Jakub Jelinek  <jakub@redhat.com>
3398
3399         PR tree-optimization/52445
3400         * tree-ssa-phiopt.c (struct name_to_bb): Remove ssa_name field,
3401         add ssa_name_ver, offset and size fields and change store field
3402         to bool.
3403         (name_to_bb_hash, name_to_bb_eq): Adjust for the above changes.
3404         (add_or_mark_expr): Likewise.  Only consider previous stores
3405         with the same size and offset.
3406         (nt_init_block): Only look at gimple_assign_single_p stmts,
3407         doesn't look at rhs2.
3408
3409 2012-03-01  Richard Guenther  <rguenther@suse.de>
3410
3411         PR middle-end/52443
3412         * tree-cfg.c (verify_gimple_assign_unary): Allow any
3413         conversions from integral types to pointer types.
3414
3415 2012-03-01  Georg-Johann Lay  <avr@gjlay.de>
3416
3417         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in
3418         defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__
3419         unintentionally removed in r184616.
3420
3421 2012-03-01  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
3422
3423         * doc/invoke.texi: Document AMD bdver2 and remove mentioning
3424         3DNow from bdver1.
3425
3426 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
3427             Uros Bizjak  <ubizjak@gmail.com>
3428
3429         PR target/52437
3430         * config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF"
3431         alternatives, add "e" constraint to the new last alternative
3432         and ! to last 3 alternatives.
3433
3434 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
3435
3436         * dwarf2out.c (modified_type_die): Set DW_AT_GNAT_descriptive_type and
3437         DW_AT_artificial attributes at the end of the processing.
3438         (gen_array_type_die): Likewise.
3439         (gen_enumeration_type_die): Likewise.
3440         (gen_struct_or_union_type_die): Likewise.
3441         (add_gnat_descriptive_type_attribute): Do not suppress debug info for
3442         the parent type.
3443
3444 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
3445
3446         PR middle-end/52419
3447         * expr.c (expand_assignment): If doing misaligned store that doesn't
3448         cover all mode bits, perform a RMW cycle.
3449
3450         PR tree-optimization/52429
3451         * tree-parloops.c (separate_decls_in_region_debug): Return early
3452         if var is LABEL_DECL.
3453
3454 2012-02-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3455
3456         PR tree-optimization/52424
3457         * tree-ssa-dom.c (dom_opt_leave_block): Push a marker before
3458         calling dom_thread_across_edge.
3459
3460 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
3461
3462         * config/avr/avr.c: Move definition of TARGET macros to end of file.
3463
3464 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
3465
3466         * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype.
3467         * config/avr/avr.c (avr_output_bld): Remove unused function.
3468         (avr_out_sbxx_branch): Use "%T" to print bit position.
3469
3470 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
3471
3472         * config/avr/avr.md: Untabify.
3473
3474 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
3475
3476         * config/avr/avr.md (eqne): New code iterator.
3477         (*dec-and-branchsi): Use it in text peephole's condition.
3478         (*dec-and-branchhi): Ditto.
3479         (*dec-and-branchqi): Ditto.
3480
3481 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
3482
3483         PR target/49939
3484         * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that
3485         the device does not have the skip-bug.
3486
3487 2012-02-29  Oleg Endo  <olegendo@gcc.gnu.org>
3488
3489         * doc/invoke.texi (-msoft-atomic): Add more detailed description.
3490         (-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd
3491         -mpretend-cmove): New.
3492
3493 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
3494
3495         PR bootstrap/52397
3496         * df.h (struct df_d): Adjust comment that hard_regs_live_count
3497         doesn't count DEBUG_INSN refs.
3498         * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE
3499         for DEBUG_INSN refs.
3500
3501 2012-02-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3502
3503         Partially revert:
3504
3505         2012-02-20  Richard Guenther  <rguenther@suse.de>
3506         PR tree-optimization/52298
3507         * tree-vect-stmts.c (vectorizable_load): Properly use
3508         STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
3509         outer loops.
3510
3511 2012-02-28  Aldy Hernandez  <aldyh@redhat.com>
3512
3513         PR middle-end/51752
3514         * gimple.h (gimple_in_transaction): New.
3515         (gimple_set_in_transaction): New.
3516         (struct gimple_statement_base): Add in_transaction field.
3517         * tree-ssa-loop-im.c: (movement_possibility): Restrict movement of
3518         transaction loads.
3519         (tree_ssa_lim_initialize): Compute transaction bits.
3520         * tree.h (compute_transaction_bits): Protoize.
3521         * trans-mem.c (tm_region_init): Use the heap to store BB
3522         auxilliary data.
3523         (compute_transaction_bits): New.
3524
3525 2012-02-28  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
3526
3527         * gcc.c (display_help): Document --help=common and sort entries
3528         alphabetically.
3529
3530 2012-02-28  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
3531
3532         * doc/install.texi: Document check-$LANG specific shortcuts
3533
3534 2012-02-28  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
3535
3536         PR target/51534
3537         * config/arm/arm.c (neon_builtin_data): Add entries for vcgeu
3538         and vcgtu.
3539         * config/arm/arm_neon.h: Regenerate.
3540         * config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU.
3541         (neon_vcgeu): New insn.
3542         (neon_vcgtu): Likewise.
3543         * config/arm/neon.ml (s_8_32, u_8_32): New lists.
3544         (ops): Unsigned comparison intrinsics call a different
3545         builtin.
3546
3547 2012-02-28  Richard Guenther  <rguenther@suse.de>
3548
3549         PR target/52407
3550         * config/i386/i386.c (ix86_expand_vector_set): Fix element
3551         ordering for the VEC_CONCAT for two element vectors for
3552         V2SFmode, V2SImode and V2DImode.
3553
3554 2012-02-28  Richard Earnshaw  <rearnsha@arm.com>
3555
3556         PR target/49448
3557         * config.gcc (arm*-*-linux*): Use an unambiguous pattern for
3558         detecting big-endian triplets.
3559
3560 2012-02-28  Richard Earnshaw  <rearnsha@arm.com>
3561
3562         * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine
3563         mode if there is no type information available.
3564
3565 2012-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
3566
3567         PR tree-optimization/53207
3568         * doc/invoke.texi: Document as experimental and relying on graphite.
3569
3570 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
3571
3572         * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
3573         of initializer to changes from r184614.
3574
3575 2012-02-28  Richard Guenther  <rguenther@suse.de>
3576
3577         PR tree-optimization/52395
3578         * tree-sra.c (build_ref_for_offset): Also look at the base
3579         TYPE_ALIGN when figuring out the alignment of the replacement.
3580
3581 2012-02-28  Richard Guenther  <rguenther@suse.de>
3582
3583         PR tree-optimization/52402
3584         * ipa-prop.c (ipa_modify_call_arguments): Properly use
3585         mis-aligned types when creating the accesses at the call site.
3586
3587 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
3588
3589         * config/avr/builtins.def: New file.
3590         * config/avr/t-avr (avr.o, avr-c.o): Depend on it.
3591         * config/avr/avr.c (enum avr_builtin_id): Use it.
3592         (avr_init_builtins): Use it. And use avr_bdesc.
3593         (bdesc_1arg): Remove.
3594         (bdesc_2arg): Remove.
3595         (bdesc_3arg): Remove.
3596         (struct avr_builtin_description): Add field n_args.
3597         (avr_bdesc): New static variable using builtins.def.
3598         (avr_expand_builtin): Use it.
3599         Don't call avr_expand_delay_cycles if op0 is not CONST_INT.
3600         (avr_fold_builtin): Fold AVR_BUILTIN_SWAP.
3601         Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST.
3602
3603 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
3604
3605         PR target/52148
3606         * config/avr/avr.md (movmem_<mode>): Replace match_operand that
3607         match only one single hard register with respective hard reg rtx.
3608         (movmemx_<mode>): Ditto.
3609         * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new
3610         insn anatomy of movmem[x]_<mode>.
3611         (avr_out_movmem): Same for printing assembler and operand usage.
3612
3613 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
3614
3615         PR target/49868
3616         PR target/52261
3617         * doc/extend.texi (AVR Named Address Spaces): No more try to fix
3618         address spaces located outside of device flash.
3619
3620         * config/avr/avr.h (base_arch_s): Remove field n_segments.
3621         (mcu_type_s): Add field n_flash.
3622         * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments.
3623         Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5.
3624         (AVR_MCU): Add N_FLASH argument.
3625         * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash.
3626         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in
3627         macro __FLASH<n> if that address space makes sense for the device.
3628         * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces
3629         outside of target flash.
3630         (avr_asm_named_section): Ditto.
3631         (avr_asm_select_section): Ditto.
3632         (avr_addr_space_convert): Ditto.
3633         (avr_emit_movmemhi): Ditto.
3634         (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if
3635         address space is outside of device flash.
3636         (avr_insert_attributes): Ditto.
3637         (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of
3638         avr_current_arch->n_segments.
3639
3640 2012-02-27  H.J. Lu  <hongjiu.lu@intel.com>
3641
3642         PR target/52352
3643         * config/i386/i386.md (*movabs<mode>_1): Enable only for
3644         TARGET_LP64.
3645         (*movabs<mode>_2): Likewise.
3646
3647 2012-02-27  Jakub Jelinek  <jakub@redhat.com>
3648
3649         PR target/52375
3650         * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use
3651         s_register_operand in the test instead of REG_P.  Don't call
3652         gen_reg_rtx if it won't be used.
3653
3654         PR tree-optimization/52376
3655         * ipa-split.c (split_function): Ignore CLOBBER stmts.
3656
3657 2012-02-27  Stuart Henderson  <shenders@gcc.gnu.org>
3658
3659         * ifcvt.c (noce_get_condition): Check condition variable is not
3660         small_register_classes_for_mode_p before accepting.
3661
3662 2012-02-27  Uros Bizjak  <ubizjak@gmail.com>
3663
3664         * config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints.
3665
3666 2012-02-27  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
3667
3668         Revert:
3669         2012-01-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
3670         * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
3671         tuning parameters.
3672         * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
3673
3674 2012-02-27  Oleg Endo  <olegendo@gcc.gnu.org>
3675
3676         * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
3677
3678 2012-02-26  Oleg Endo  <olegendo@gcc.gnu.org>
3679
3680         * config/sh/predicates.md: Remove blank lines.
3681         * config/sh/sh.c: Fix typos in comments.
3682         * config/sh/constraints.md: Likewise.
3683         * config/sh/sh.md: Remove blank lines.
3684         Fix typos in comments.  Use ;; as comment characters.
3685
3686 2012-02-26  Walter Lee  <walt@tilera.com>
3687
3688         * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern.
3689         (replace_mov_pcrel_step2): Ditto.
3690
3691 2012-02-25  Alexandre Oliva  <aoliva@redhat.com>
3692
3693         PR debug/52001
3694         * alias.c (refs_newer_value_cb, refs_newer_value_p): New.
3695         (get_addr): Walk canonical value's locs.  Avoid returning VALUEs
3696         and locs that reference values newer than the non-canonical value
3697         at hand.  Return the canonical value as a worst case.
3698         (memrefs_conflict_p): Walk canonical value's locs.
3699
3700         PR debug/52001
3701         * cselib.c (preserve_only_constants): Rename to...
3702         (preserve_constants_and_equivs): ... this.  Split out...
3703         (invariant_or_equiv_p): ... this.  Preserve plus expressions
3704         of other preserved expressions too.
3705         (cselib_reset_table): Adjust.
3706         * var-tracking.c (reverse_op): Use canonical value to build
3707         reverse operation.
3708
3709 2012-02-23  Kai Tietz  <ktietz@redhat.com>
3710
3711         * config/i386/i386.c (ix86_delegitimize_address): Handle
3712         UNSPEC_PCREL plus displacement.
3713
3714 2012-02-24  Georg-Johann Lay  <avr@gjlay.de>
3715
3716         PR target/52261
3717         * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base
3718         to test for unusedness in st X addressing.
3719
3720 2012-02-24  Richard Guenther  <rguenther@suse.de>
3721
3722         PR middle-end/52361
3723         * gimple.c (walk_gimple_op): Use predicates with less redundant tests.
3724         (is_gimple_reg_type): Move inline ...
3725         * gimple.h (is_gimple_reg_type): ... here.
3726
3727 2012-02-24  Richard Guenther  <rguenther@suse.de>
3728
3729         PR middle-end/52361
3730         * passes.c (execute_function_todo): When verifying SSA form
3731         verify gimple form first.
3732         * tree-ssa.c (verify_ssa): Do not verify gimple form here.
3733
3734 2012-02-24  Richard Guenther  <rguenther@suse.de>
3735
3736         PR middle-end/52355
3737         * fold-const.c (fold_addr_of_array_ref_difference): New function.
3738         (fold_binary_loc): Use it to extend the existing &a[i] - &a[j] folding.
3739
3740 2012-02-13  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
3741
3742         * tree-if-conv (predicate_scalar_phi): Commentary typo fix.
3743
3744 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
3745
3746         * tree-phinodes.c (make_phi_node): Mark static.
3747         * tree-flow.h (make_phi_node): Remove extern decl.
3748         * doc/gimple.texi (make_phi_node): Remove documentation.
3749
3750 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
3751
3752         * tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file.
3753         * tree-ssa-sccvn.c (print_scc): Ditto.
3754
3755 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
3756
3757         * doc/passes.texi (Full redundancy elimination): Fix typo.
3758
3759 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
3760
3761         * doc/invoke.texi (-fdse, -fdce): Remove duplicate entries.
3762
3763 2012-02-23  Eric Botcazou  <ebotcazou@adacore.com>
3764
3765         PR bootstrap/52287
3766         * haifa-sched.c (rank_for_schedule): Stabilize sort for debug insns.
3767
3768 2012-02-23  Uros Bizjak  <ubizjak@gmail.com>
3769
3770         PR c/52290
3771         * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL.
3772
3773 2012-02-23  Georg-Johann Lay  <avr@gjlay.de>
3774
3775         * config/avr/avr.md (code_stdname): Add ior, xor.
3776         (xior): New code iterator.
3777         (*<code_stdname><mode>qi.byte0): Use xior instead of ior.
3778         (*<code_stdname><mode>qi.byte1-3): Ditto.
3779
3780 2012-02-23  Jakub Jelinek  <jakub@redhat.com>
3781
3782         PR tree-optimization/52019
3783         * ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore
3784         CLOBBER stmts.
3785
3786 2012-02-23  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3787
3788         * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
3789         HAVE_INITFINI_ARRAY to work around namespace pollution in
3790         certain versions of newlib system headers.
3791         * config.in: Regenerate.
3792         * configure: Regenerate.
3793         * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
3794         instead of HAVE_INITFINI_ARRAY.
3795
3796 2012-02-22  Uros Bizjak  <ubizjak@gmail.com>
3797
3798         PR target/52330
3799         * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
3800         is not offsettable memory reference.
3801
3802 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
3803
3804         PR target/18145
3805         * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip
3806         setting avr_need_clear_bss_p for __gnu_lto* symbols.
3807
3808 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
3809
3810         * config/avr/avr.h (avr_accumulate_outgoing_args): Return int.
3811         * config/avr/avr.c (avr_accumulate_outgoing_args): Return int.
3812
3813 2012-02-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3814
3815         * configure.ac (LIB_TLS_SPEC): Enforce use of alternate thread
3816         library on Solaris 8 even without TLS support.
3817         * configure: Regenerate.
3818
3819 2012-02-22  Richard Guenther  <rguenther@suse.de>
3820
3821         PR middle-end/52329
3822         * gimple-fold.c (fold_stmt_1): Also canonicalize ADDR_EXPRs
3823         for GIMPLE_DEBUG stmts.
3824
3825 2012-02-22  Martin Jambor  <mjambor@suse.cz>
3826
3827         PR middle-end/51782
3828         * emit-rtl.c (set_mem_attributes_minus_bitpos): Set address space
3829         according to the base object.
3830
3831 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
3832
3833         PR rtl-optimization/50063
3834         * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state)
3835         and 2 (8-bit SP) in operand 2.
3836         * config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue
3837         setup to use movhi_sp_r instead of vanilla move to write SP.
3838         Adjust REG_CFA notes to superseed unspec.
3839         (expand_epilogue): Adjust epilogue setup to use movhi_sp_r instead
3840         of vanilla move.
3841         As function body might contain CLI or SEI: Use irq_state 0 (IRQ
3842         known to be off) only with TARGET_NO_INTERRUPTS. Never use
3843         irq_state 1 (IRQ known to be on) here.
3844
3845 2012-02-21  Bernd Schmidt  <bernds@codesourcery.com>
3846
3847         * ira.c (check_allocation): Use REG_WORDS_BIG_ENDIAN, not
3848         WORDS_BIG_ENDIAN.
3849         * ira-color.c (setup_profitable_hard_regs, check_hard_reg_p,
3850         assign_hard_reg): Likewise.
3851
3852 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
3853
3854         * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0".
3855
3856 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
3857
3858         * config/avr/avr.md
3859         (*dec-and-branchhi!=-1.d.clobber): New text peephole.
3860         (*dec-and-branchhi!=-1.l.clobber): New text peephole.
3861
3862 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
3863
3864         * config/avr/avr-protos.h (avr_accumulate_outgoing_args): Move
3865         prototype from here to...
3866         * config/avr/avr.h: ...here.
3867
3868 2012-02-21  Richard Earnshaw  <rearnsha@arm.com>
3869
3870         PR target/52294
3871         * thumb2.md (thumb2_shiftsi3_short): Split register and
3872         immediate shifts.  For register shifts tie operands 0 and 1.
3873         (peephole2 for above): Check that register-controlled shifts
3874         have suitably tied operands.
3875
3876 2012-02-21  Quentin Neill  <quentin.neill@amd.com>
3877
3878         PR target/52137
3879         * config/i386/bdver1.md (bdver1_call, bdver1_push,
3880         bdver1_pop, bdver1_leave, bdver1_lea, bdver1_imul_DI, bdver1_imul,
3881         bdver1_imul_mem_DI, bdver1_imul_mem, bdver1_idiv, bdver1_idiv_mem,
3882         bdver1_str, bdver1_idirect, bdver1_ivector, bdver1_idirect_loadmov,
3883         bdver1_idirect_load, bdver1_ivector_load, bdver1_idirect_movstore,
3884         bdver1_idirect_both, bdver1_ivector_both, bdver1_idirect_store,
3885         bdver1_ivector_store, bdver1_fldxf, bdver1_fld, bdver1_fstxf,
3886         bdver1_fst, bdver1_fist, bdver1_fmov_bdver1, bdver1_fadd_load,
3887         bdver1_fadd, bdver1_fmul_load, bdver1_fmul, bdver1_fsgn,
3888         bdver1_fdiv_load, bdver1_fdiv, bdver1_fpspc_load, bdver1_fpspc,
3889         bdver1_fcmov_load, bdver1_fcmov, bdver1_fcomi_load,
3890         bdver1_fcomi, bdver1_fcom_load, bdver1_fcom,
3891         bdver1_fxch, bdver1_ssevector_avx128_unaligned_load,
3892         bdver1_ssevector_avx256_unaligned_load,
3893         bdver1_ssevector_sse128_unaligned_load,
3894         bdver1_ssevector_avx128_load, bdver1_ssevector_avx256_load,
3895         bdver1_ssevector_sse128_load, bdver1_ssescalar_movq_load,
3896         bdver1_ssescalar_vmovss_load, bdver1_ssescalar_sse128_load,
3897         bdver1_mmxsse_load, bdver1_sse_store_avx256, bdver1_sse_store,
3898         bdver1_mmxsse_store_short, bdver1_ssevector_avx256,
3899         bdver1_movss_movsd, bdver1_mmxssemov, bdver1_sselog_load_256,
3900         bdver1_sselog_256, bdver1_sselog_load, bdver1_sselog,
3901         bdver1_ssecmp_load, bdver1_ssecmp, bdver1_ssecomi_load,
3902         bdver1_ssecomi, bdver1_vcvtX2Y_avx256_load, bdver1_vcvtX2Y_avx256,
3903         bdver1_ssecvt_cvtss2sd_load, bdver1_ssecvt_cvtss2sd,
3904         bdver1_sseicvt_cvtsi2sd_load, bdver1_sseicvt_cvtsi2sd,
3905         bdver1_ssecvt_cvtpd2ps_load, bdver1_ssecvt_cvtpd2ps,
3906         bdver1_ssecvt_cvtdq2ps_load, bdver1_ssecvt_cvtdq2ps,
3907         bdver1_ssecvt_cvtdq2pd_load, bdver1_ssecvt_cvtdq2pd,
3908         bdver1_ssecvt_cvtps2pd_load, bdver1_ssecvt_cvtps2pd,
3909         bdver1_ssecvt_cvtsX2si_load, bdver1_ssecvt_cvtsX2si,
3910         bdver1_ssecvt_cvtpd2pi_load, bdver1_ssecvt_cvtpd2pi,
3911         bdver1_ssecvt_cvtpd2dq_load, bdver1_ssecvt_cvtpd2dq,
3912         bdver1_ssecvt_cvtps2pi_load, bdver1_ssecvt_cvtps2pi,
3913         bdver1_ssemuladd_load_256, bdver1_ssemuladd_256,
3914         bdver1_ssemuladd_load, bdver1_ssemuladd, bdver1_sseimul_load,
3915         bdver1_sseimul, bdver1_sseiadd_load, bdver1_sseiadd,
3916         bdver1_ssediv_double_load_256, bdver1_ssediv_double_256,
3917         bdver1_ssediv_single_load_256, bdver1_ssediv_single_256,
3918         bdver1_ssediv_double_load, bdver1_ssediv_double,
3919         bdver1_ssediv_single_load, bdver1_ssediv_single, bdver1_sseins):
3920         Add "bdver2" attribute.
3921
3922 2012-02-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3923
3924         * config/s390/s390.c (s390_option_override): Make -mhard-dfp the
3925         default if possible and not specified otherwise.
3926
3927 2012-02-21  Richard Guenther  <rguenther@suse.de>
3928
3929         PR middle-end/52314
3930         * gimplify.c (create_tmp_from_val): Use the main variant type
3931         for the type of the temporary we create.
3932
3933 2012-02-21  Richard Guenther  <rguenther@suse.de>
3934
3935         PR tree-optimization/52324
3936         * gimplify.c (gimplify_expr): When re-gimplifying expressions
3937         do not gimplify a MEM_REF address operand if it is already
3938         in suitable form.
3939
3940 2012-02-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3941
3942         * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace
3943         TARGET_HARD_FLOAT with TARGET_HARD_DFP.
3944
3945 2012-02-21  Richard Guenther  <rguenther@suse.de>
3946
3947         * tree-vect-stmts.c (vectorizable_load): Use pre-computed
3948         nested_in_vect_loop.
3949
3950 2012-02-21  Jakub Jelinek  <jakub@redhat.com>
3951
3952         PR tree-optimization/52318
3953         * gimple-fold.c (gimplify_and_update_call_from_tree): Add
3954         vdef also to non-pure/const call stmts in the sequence.
3955
3956 2012-02-20  David S. Miller  <davem@davemloft.net>
3957
3958         * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we
3959         don't use the "rd %pc" instruction on v9 for PIC register loads.
3960
3961 2012-02-20  Aldy Hernandez  <aldyh@redhat.com>
3962
3963         PR middle-end/52141
3964         * trans-mem.c (ipa_tm_scan_irr_block): Error out on GIMPLE_ASM's
3965         in a transaction safe function.
3966
3967 2012-02-20  Kai Tietz  <ktietz@redhat.com>
3968
3969         PR target/52238
3970         * stor-layout.c (place_field): Handle desired_align for
3971         ms-bitfields, too.
3972
3973 2012-02-20  Richard Guenther  <rguenther@suse.de>
3974
3975         PR tree-optimization/52298
3976         * tree-vect-stmts.c (vectorizable_store): Properly use
3977         STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
3978         outer loops.
3979         (vectorizable_load): Likewise.
3980         * tree-vect-data-refs.c (vect_analyze_data_ref_access):
3981         Access DR_STEP after ensuring it is not NULL.
3982
3983 2012-02-20  Jakub Jelinek  <jakub@redhat.com>
3984
3985         PR tree-optimization/52286
3986         * fold-const.c (fold_binary_loc): For (X & C1) | C2
3987         optimization use double_int_to_tree instead of build_int_cst_wide,
3988         rewrite to use double_int vars.
3989
3990 2012-02-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3991
3992         PR target/50166
3993         * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Require gcc_SUN_LD_VERSION.
3994         Define _start.
3995         Remove -e 0 from $gcc_cv_ld invocation.
3996         Only use __GLIBC_PREREQ if defined.
3997         Enable on Solaris since Solaris 8 patch.
3998         (gcc_SUN_LD_VERSION): New macro.
3999         * configure.ac (ld_ver) <*-*-solaris2*>: Refer to
4000         gcc_SUN_LD_VERSION for version number format.
4001         * configure: Regenerate.
4002         * varasm.c (get_elf_initfini_array_priority_section): Set
4003         SECTION_NOTYPE for non-default priority.
4004         Use get_section instead of get_unnamed_section to emit
4005         .init_array/.fini_array with default priority.
4006
4007 2012-02-19  Richard Sandiford  <rdsandiford@googlemail.com>
4008
4009         * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
4010         (mips_get_tp): Set it.  Record that __mips16_rdhwr binds locally.
4011         (mips_start_unique_function, mips_output_mips16_rdhwr)
4012         (mips_code_end): New functions.
4013         (TARGET_ASM_CODE_END): Define.
4014
4015 2012-02-19  Richard Sandiford  <rdsandiford@googlemail.com>
4016
4017         * config/mips/mips.c (mips16_build_call_stub): Add CFI information
4018         to stubs with non-sibling calls.
4019
4020 2012-02-18  Sandra Loosemore  <sandra@codesourcery.com>
4021
4022         * doc/invoke.texi (-fira-* options): Copy-edit.
4023         (ira-* parameters): Copy-edit.
4024
4025 2012-02-17  Sandra Loosemore  <sandra@codesourcery.com>
4026
4027         * doc/invoke.texi: Minor copy-edits to bring into conformance with
4028         GCC coding conventions.
4029
4030 2012-02-17  Sandra Loosemore  <sandra@codesourcery.com>
4031
4032         * doc/invoke.texi: Consistently hyphenate "big-endian"/"little-endian"
4033         when used as adjectives.
4034
4035 2012-02-16  Sandra Loosemore  <sandra@codesourcery.com>
4036
4037         * doc/invoke.texi: Clean up "that"/"which" confusion.
4038
4039 2012-02-17  Steven Bosscher  <steven@gcc.gnu.org>
4040
4041         * system.h: Poison SMALL_REGISTER_CLASSES
4042         * config/rl78/rl78.h: Replace SMALL_REGISTER_CLASSES with hook.
4043         * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES.
4044
4045 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
4046
4047         PR tree-optimization/52285
4048         * tree-tailcall.c (find_tail_calls): Ignore gimple_clobber_p stmts
4049         when deciding if a call is a tail call or tail recursion.
4050
4051 2012-02-16  Kai Tietz  <ktietz@redhat.com>
4052
4053         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
4054         interger-constant displacement for UNSPEC_PCREL.
4055
4056 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
4057
4058         PR rtl-optimization/52208
4059         * ira-costs.c (scan_one_insn): Don't decrease mem_cost
4060         for MEMs with REG_EQUIV, if the MEM isn't general_operand.
4061
4062         PR tree-optimization/52255
4063         * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): If
4064         loop->header has virtual PHI, but exit_e->dest doesn't, add
4065         virtual PHI to exit_e->dest and adjust all uses after the loop.
4066
4067         PR debug/52260
4068         * dwarf2out.c (copy_decls_walk): Fill in *slot before traversing
4069         children with clone_tree_hash, not after it.
4070
4071 2012-02-16  Iain Sandoe  <iains@gcc.gnu.org>
4072
4073         * config/darwin.h (ASM_OUTPUT_LABELREF): Add user label prefix for
4074         extended identifiers.
4075
4076 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
4077
4078         PR middle-end/51929
4079         * cgraphunit.c (verify_edge_corresponds_to_fndecl): If node is
4080         a same_body_alias, also test whether e->callee isn't a former
4081         or current clone of the decl this is a same body alias of.
4082
4083         PR translation/52264
4084         * cgraphunit.c (verify_cgraph_node): Fix a typo.
4085
4086 2012-02-15  Sandra Loosemore  <sandra@codesourcery.com>
4087
4088         * doc/invoke.texi: Clean up "n-bit/byte/word" modifiers.
4089
4090 2012-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
4091
4092         PR target/52199
4093         * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
4094         force_reg instead of copy_to_reg for better optimization.  Force
4095         non-register or memory operands into a register.
4096
4097 2012-02-15  Andrew MacLeod  <amacleod@redhat.com>
4098
4099         * extend.texi: Reserve upper bits of memory model for future use.
4100
4101 2012-01-15  Georg-Johann Lay  <avr@gjlay.de>
4102             Anatoly Sokolov <aesok@post.ru>
4103             Eric Weddington <eric.weddington@atmel.com>
4104
4105         PR target/52261
4106         * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2,
4107         avrxmega4, avrxmega5, avrxmega6, avrxmega7.
4108         Rewrite initializers for .macro.
4109         * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs:
4110         avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4
4111         atxmega32d4, atxmega32x1.
4112         avrxmega4: atxmega64a3, atxmega64d3.
4113         avrxmega5: atxmega64a1, atxmega64a1u.
4114         avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3,
4115         atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3.
4116         avrxmega7: atxmega128a1, atxmega128a1u.
4117         * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2,
4118         ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7.
4119         (struct base_arch_s): Rename reserved to xmega_p.
4120         Rename reserved2 to have_rampd.
4121         (AVR_XMEGA): New define.
4122         (AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines.
4123         (AVR_HAVE_RAMPZ): Change definition to fit xmega.
4124         * config/avr/predicates.md (io_address_operand): Take into
4125         account SFR offset.
4126         (low_io_address_operand): Ditto.
4127         (high_io_address_operand): Ditto.
4128         * config/avr/avr.md (isa): Add alternatives no_xmega, xmega.
4129         (enabled, movhi_sp_r): Use them.
4130         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use
4131         cpp_define_formatted to built-in define __AVR_ARCH__.
4132         (__AVR_XMEGA__): New built-in define.
4133         (__AVR_HAVE_RAMPD__): New built-in define.
4134         (__AVR_HAVE_RAMPX__): New built-in define.
4135         (__AVR_HAVE_RAMPY__): New built-in define.
4136         (__AVR_HAVE_RAMPZ__): Change condition when to built-in define it.
4137
4138         * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy.
4139         (avr_option_override): Initialize them.
4140         (sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx.
4141         (avr_init_expanders): Initialize them. No more block several calls.
4142         (emit_push_sfr): New static function.
4143         (avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed.
4144         Handle AVR_XMEGA.
4145         (expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed.
4146         (avr_print_operand): Print addreeses as symbols for
4147         RAMPX, RAMPY, RAMPD, CCP.
4148         (output_movhi): Handle AVR_XMEGA when writing to SP.
4149         (avr_out_movhi_mr_r_xmega): New static function.
4150         (out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA.
4151         (avr_file_start): Print symbol defines for __RAMPX__,  __RAMPY__,
4152         __RAMPD__,  __CCP__ as needed.
4153
4154         * config/avr/multilib.h: Regenerate.
4155         * config/avr/t-multilib: Regenerate.
4156         * config/avr/avr-tables.opt: Regenerate.
4157
4158 2012-02-15  Tobias Grosser <grosser@fim.uni-passau.de>
4159
4160         PR tree-optimization/50561
4161         * graphite-flattening.c (lst_project_loop): Do not
4162         remove old scattering dimensions after flattening.
4163         (lst_do_flatten): Likewise.
4164
4165 2012-02-15  Georg-Johann Lay  <avr@gjlay.de>
4166
4167         * doc/extend.texi (AVR Built-in Functions): Remove doc for
4168         __builtin_avr_map8, __builtin_avr_map16.