OSDN Git Service

2013-03-06 Joel Sherrill <joel.sherrill@oarcorp.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
2
3         Backport from mainline
4         2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
5
6         PR target/56529
7         * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
8         instead of TARGET_SH2 for call-table case.  Do not set sh_div_strategy
9         to SH_DIV_CALL_TABLE for TARGET_SH2.
10         * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
11         list.
12         * doc/invoke.texi (SH options): Use table for mdiv= option.  Document
13         mdiv= call-div1, call-fp, call-table options.
14
15 2013-03-06  Sebastian Huber <sebastian.huber@embedded-brains.de>
16
17         * config.gcc (arm*-*-rtemself*): New.
18         (arm*-*-rtems*): Removed.
19         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
20         "arm*-*-rtemseabi*" to "arm*-*-rtems*".
21
22 2013-03-01  Richard Biener  <rguenther@suse.de>
23
24         Backport from mainline
25         2012-12-12  Zdenek Dvorak  <ook@ucw.cz>
26
27         PR tree-optimization/55481
28         * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall
29         back to general rewriting if we cannot leave an original biv
30         definition alone.
31
32 2013-03-01  Richard Biener  <rguenther@suse.de>
33
34         Backport from mainline
35         2012-04-10  Richard Guenther  <rguenther@suse.de>
36  
37         PR middle-end/52888
38         * gimple-low.c (gimple_check_call_args): Properly account for
39         compatible aggregate types.
40
41 2013-02-26  Nick Clifton  <nickc@redhat.com>
42
43         PR target/56453
44         Import this patch from the mainline:
45
46         2012-08-17  Nick Clifton  <nickc@redhat.com>
47
48         * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
49         (branch_true): Likewise.
50         (branch_false): Likewise.
51
52 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
53
54         PR tree-optimization/56443
55         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
56         overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
57         to type_for_mode langhook.
58
59 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
60
61         PR bootstrap/56258
62         * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
63         instead of @itemx.
64
65 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
66
67         Backported from mainline
68         2013-02-19  Jakub Jelinek  <jakub@redhat.com>
69
70         PR tree-optimization/56350
71         * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
72         if haven't found reduction or nested cycle operand, rather than
73         asserting we must find it.
74
75         PR tree-optimization/56381
76         * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
77         to fold_build3.
78
79         2013-02-08  Jakub Jelinek  <jakub@redhat.com>
80
81         PR tree-optimization/56250
82         * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
83         if type is unsigned and code isn't MULT_EXPR.
84
85         2013-02-06  Jakub Jelinek  <jakub@redhat.com>
86
87         PR middle-end/56217
88         * omp-low.c (use_pointer_for_field): Return false if
89         lower_send_shared_vars doesn't generate any copy-out code.
90
91         2012-11-27  Jakub Jelinek  <jakub@redhat.com>
92
93         PR tree-optimization/55110
94         * tree-vect-loop.c (vectorizable_reduction): Don't assert
95         that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.
96
97 2013-02-18  Richard Biener  <rguenther@suse.de>
98
99         Revert
100         2013-02-04  Richard Biener  <rguenther@suse.de>
101
102         Backport from mainline
103         2012-07-04  Richard Guenther  <rguenther@suse.de>
104
105         PR tree-optimization/53844
106         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
107         the loop virtual PHI.
108
109 2013-02-13  David S. Miller  <davem@davemloft.net>
110
111         * expmed.c (expand_shift_1): Only strip scalar integer subregs.
112
113 2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
114
115         Backport from mainline
116         2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
117
118         PR rtl-optimization/56275
119         * simplify-rtx.c (avoid_constant_pool_reference): Check that
120         offset is non-negative and less than cmode size before
121         calling simplify_subreg.
122
123 2013-02-09  Uros Bizjak  <ubizjak@gmail.com>
124
125         Backport from mainline
126         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
127
128         * config/i386/sse.md (FMAMODEM): New mode iterator.
129         (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
130         mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
131
132         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
133
134         * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
135         when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
136         * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
137
138 2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
139
140         Backport from mainline
141         2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
142
143         PR target/56043
144         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
145         If there is no implicit builtin declaration, just return NULL.
146
147 2013-02-08  David Edelsohn  <dje.gcc@gmail.com>
148             Michael Meissner  <meissner@linux.vnet.ibm.com>
149
150         Backport from mainline
151         * config/rs6000/rs6000.c (rs6000_option_override_internal): Clear
152         MASK_VSX from set_masks if OS_MISSING_ALTIVEC.
153
154 2013-02-07  David S. Miller  <davem@davemloft.net>
155
156         * dwarf2out.c (based_loc_descr): Perform leaf register remapping
157         on 'reg'.
158         * var-tracking.c (vt_add_function_parameter): Test the presence of
159         HAVE_window_save properly and do not remap argument registers when
160         we have a leaf function.
161
162 2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
163
164         Backport from mainline
165         2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
166
167         PR bootstrap/56227
168         * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
169         instead of "ll".
170         * config/i386/i386.c (ix86_print_operand): Ditto.
171
172 2013-02-07  Alan Modra  <amodra@gmail.com>
173
174         PR target/53040
175         * config/rs6000/rs6000.c (rs6000_savres_strategy): When using
176         static chain, set REST_INLINE_FPRS too.
177
178 2013-02-06  David Edelsohn  <dje.gcc@gmail.com>
179
180         Backport from mainline
181         2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
182
183         * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
184         * configure: Regenerate.
185
186 2013-02-05  David Edelsohn  <dje.gcc@gmail.com>
187
188         Backport from mainline
189         2013-02-03  David Edelsohn  <dje.gcc@gmail.com>
190                     Andrew Dixie  <andrewd@gentrack.com>
191
192         * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
193         flag set.
194
195 2013-02-05  Richard Biener  <rguenther@suse.de>
196
197         Backport from mainline
198         2012-12-10  Richard Biener  <rguenther@suse.de>
199
200         PR tree-optimization/55107
201         * tree-ssa-pre.c (struct pre_stats): Remove constified field.
202         (bitmap_set_replace_value): Add gcc_unreachable.
203         (do_regular_insertion): Re-write all_same handling.  Insert
204         an assignment instead of a PHI in this case.
205         (execute_pre): Do not record constified events.
206
207 2013-02-05  Richard Biener  <rguenther@suse.de>
208
209         PR tree-optimization/54767
210         * tree-vrp.c (vrp_visit_phi_node): For PHI arguments coming via
211         backedges drop all symbolical range information.
212         (execute_vrp): Compute backedges.
213
214 2013-02-04  Richard Biener  <rguenther@suse.de>
215
216         Backport from mainline
217         2012-01-11  Richard Guenther  <rguenther@suse.de>
218
219         PR tree-optimization/44061
220         * tree-vrp.c (extract_range_basic): Compute zero as
221         value-range for __builtin_constant_p of function parameters.
222
223         2013-01-08  Jakub Jelinek  <jakub@redhat.com>
224
225         PR middle-end/55890
226         * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_class_p.
227
228 2013-02-04  Richard Biener  <rguenther@suse.de>
229
230         Backport from mainline
231         2012-07-04  Richard Guenther  <rguenther@suse.de>
232
233         PR tree-optimization/53844
234         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
235         the loop virtual PHI.
236
237         2012-12-13  Richard Biener  <rguenther@suse.de>
238
239         PR lto/55660
240         * tree-streamer.c (record_common_node): Check that we are not
241         recursively pre-loading nodes we want to skip.  Handle
242         char_type_node appearing as part of va_list_type_node.
243
244 2013-02-04  Richard Biener  <rguenther@suse.de>
245
246         PR middle-end/55890
247         * gimple.h (gimple_call_builtin_class_p): New function.
248         * gimple.c (validate_call): New function.
249         (gimple_call_builtin_class_p): Likewise.
250         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
251         Use gimple_call_builtin_class_p.
252         (find_func_clobbers): Likewise.
253         * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
254         (strlen_optimize_stmt): Likewise.
255
256 2013-02-01  Jakub Jelinek  <jakub@redhat.com>
257
258         Backported from mainline
259         2013-01-28  Jakub Jelinek  <jakub@redhat.com>
260
261         PR tree-optimization/56125
262         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
263         pow(x,c) into sqrt(x) * powi(x, n/2) or
264         1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
265         optimizing for size.
266         Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
267         1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
268         integer.
269
270         2013-01-25  Jakub Jelinek  <jakub@redhat.com>
271
272         PR tree-optimization/56098
273         * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
274         for stmts with volatile ops.
275         (cond_store_replacement): Don't optimize if assign has volatile ops.
276         (cond_if_else_store_replacement_1): Don't optimize if either
277         then_assign or else_assign have volatile ops.
278
279         2013-01-23  Jakub Jelinek  <jakub@redhat.com>
280
281         PR target/49069
282         * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
283         instead of cmpdi_operand for first comparison operand.
284         Don't assert that comparison operands aren't both constants.
285
286         2013-01-21  Jakub Jelinek  <jakub@redhat.com>
287
288         PR tree-optimization/56051
289         * fold-const.c (fold_binary_loc): Don't fold
290         X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
291         a narrowing conversion, or widening conversion from signed
292         to unsigned.
293
294         2013-01-18  Jakub Jelinek  <jakub@redhat.com>
295
296         PR middle-end/56015
297         * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
298         the case where writing real complex part of target modifies
299         op1.
300
301         2013-01-15  Jakub Jelinek  <jakub@redhat.com>
302
303         PR target/55940
304         * function.c (thread_prologue_and_epilogue_insns): Always
305         add crtl->drap_reg to set_up_by_prologue.set, even if
306         stack_realign_drap is false.
307
308         2013-01-10  Jakub Jelinek  <jakub@redhat.com>
309
310         PR tree-optimization/55921
311         * tree-complex.c (expand_complex_asm): New function.
312         (expand_complex_operations_1): Call it for GIMPLE_ASM.
313
314         2013-01-03  Jakub Jelinek  <jakub@redhat.com>
315
316         PR rtl-optimization/55838
317         * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
318         iv0.step, iv1.step and step.
319
320         2012-11-23  Jakub Jelinek  <jakub@redhat.com>
321
322         PR c++/54046
323         * Makefile.in (gimple-low.o): Depend on langhooks.h.
324         * gimple-low.c: Include langhooks.c.
325         (block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK,
326         by default call lang_hooks.block_may_fallthru.
327         * langhooks.h (struct lang_hooks): Add block_may_fallthru
328         langhook.
329         * langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define.
330         (LANG_HOOKS_INITIALIZER): Use it.
331
332         2012-11-20  Jakub Jelinek  <jakub@redhat.com>
333
334         PR middle-end/55094
335         * builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
336         on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
337         * cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
338         on the first old_insns_match_p call.  For !ACCUMULATE_OUTGOING_ARGS
339         fail if the last real insn doesn't have REG_ARGS_SIZE note.
340
341         2012-11-17  Jakub Jelinek  <jakub@redhat.com>
342
343         PR tree-optimization/55236
344         * fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv
345         and signed ARG0_TYPE, force low and high to be non-NULL.
346
347         2012-11-13  Jakub Jelinek  <jakub@redhat.com>
348
349         PR rtl-optimization/54127
350         * cfgrtl.c (force_nonfallthru_and_redirect): When redirecting
351         asm goto labels from BB_HEAD (e->dest) to target bb, decrement
352         LABEL_NUSES of BB_HEAD (e->dest) and increment LABEL_NUSES of
353         BB_HEAD (target) appropriately and adjust JUMP_LABEL and/or
354         REG_LABEL_TARGET and REG_LABEL_OPERAND.
355
356 2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
357
358         * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
359         range isn't testing for zero.
360
361 2013-01-29  Richard Biener  <rguenther@suse.de>
362
363         PR tree-optimization/56113
364         * tree-ssa-structalias.c (equiv_class_lookup): Also return
365         the bitmap leader.
366         (label_visit): Free duplicate bitmaps and record the leader instead.
367         (perform_var_substitution): Adjust.
368
369 2013-01-28  Serowk  <serowk@yandex.ru>
370
371         PR target/35294
372         * config/arm/arm.c (arm_expand_binop_builtin): Add new parameter.
373         Fix mode checks to allow for the passing of constants in the
374         second parameter.
375         (arm_expand_builtin): Adjust calls to arm_expand_binop_builtin.
376         Add entries in the switch statement for builtin iwmmxt vector
377         shift and rotate builtins.
378
379 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
380
381         Backport from mainline
382         2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
383
384         PR target/56114
385         * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
386         operand 0 in movabs insn template for -masm=intel asm alternative.
387         (*movabs<mode>_2): Ditto for operand 1.
388
389 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
390
391         Backport from mainline
392         2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
393
394         PR target/56028
395         * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
396         alternative to (o,r).
397         (*movdi_internal_rex64): Remove (!o,n) alternative.
398         (DImode immediate->memory splitter): Remove.
399         (DImode immediate->memory peephole2): Remove.
400         (movtf): Enable for TARGET_64BIT || TARGET_SSE.
401         (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
402         alternative to (!o,*r).
403         (*movtf_internal_sse): New pattern.
404         (*movxf_internal_rex64): New pattern.
405         (*movxf_internal): Disable for TARGET_64BIT.
406         (*movdf_internal_rex64): Remove (!o,F) alternative.
407
408         2013-01-23  Uros Bizjak  <ubizjak@gmail.com>
409
410         * config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives
411         involving stack registers slightly.
412
413         2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
414
415         * config/i386/constraints.md (Yf): New constraint.
416         * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
417         of f constraint to conditionaly disable x87 register preferences.
418         (*movdf_internal): Ditto.
419         (*movsf_internal): Ditto.
420
421         2012-01-24  Uros Bizjak  <ubizjak@gmail.com>
422
423         * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
424         (*movtf_internal_rex64): Add (!o,C) alternative
425         (*movxf_internal_rex64): Ditto.
426         (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
427
428 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
429
430         * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
431
432 2013-01-24  Martin Jambor  <mjambor@suse.cz>
433
434         Backport from mainline
435         2013-01-04  Martin Jambor  <mjambor@suse.cz>
436
437         PR tree-optimization/55755
438         * tree-sra.c (sra_modify_assign): Do not check that an access has no
439         children when trying to avoid producing a VIEW_CONVERT_EXPR.
440
441 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
442
443         Backport from mainline
444         2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
445
446         * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
447
448 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
449
450         PR rtl-optimization/56023
451         * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
452         dependent on debug instruction.
453
454 2013-01-21  Martin Jambor  <mjambor@suse.cz>
455
456         Backport from mainline
457         2013-01-17  Martin Jambor  <mjambor@suse.cz>
458
459         PR tree-optimizations/55264
460         * cgraph.c (cgraph_create_virtual_clone): Mark clones as non-virtual.
461         * cgraph.h (cgraph_only_called_directly_p_or_aliased_p): Return false
462         for virtual functions.
463         * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
464         for virtual methods.
465         * ipa.c (cgraph_remove_unreachable_nodes): Never return true for
466         virtual methods before inlining is over.
467
468 2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
469
470         Backport from mainline
471         2012-01-17  Uros Bizjak  <ubizjak@gmail.com>
472
473         PR target/55981
474         * config/i386/sync.md (atomic_store<mode>): Generate SWImode
475         store through atomic_store<mode>_1.
476         (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
477
478 2013-01-16  Richard Biener  <rguenther@suse.de>
479
480         PR middle-end/55882
481         * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
482         account for bitpos when computing alignment.
483
484 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
485
486         Backport from 2013-01-14 trunk r195169.
487
488         PR target/55974
489         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
490         etc. to 1 and not to __flash.
491         Use LL suffix for __INT24_MAX__ with -mint8.
492         Use ULL suffix for __UINT24_MAX__ with -mint8.
493
494 2013-01-14  Matthias Klose  <doko@ubuntu.com>
495
496         * doc/invoke.texi: Document -print-multiarch.
497         * doc/install.texi: Document --enable-multiarch.
498         * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
499         * configure.ac: Add --enable-multiarch option.
500         Substitute with_cpu, with_float.
501         * configure: Regenerate.
502         * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
503         enable_multiarch, with_cpu, with_float: New macros.
504         if_multiarch: New macro, define in terms of enable_multiarch.
505         * genmultilib: Add new argument for the multiarch name.
506         * gcc.c (multiarch_dir): Define.
507         (for_each_path): Search for multiarch suffixes.
508         (driver_handle_option): Handle multiarch option.
509         (do_spec_1): Pass -imultiarch if defined.
510         (main): Print multiarch.
511         (set_multilib_dir): Separate multilib and multiarch names
512         from multilib_select.
513         (print_multilib_info): Ignore multiarch names in multilib_select.
514         * incpath.c (add_standard_paths): Search the multiarch include dirs.
515         * cppdefault.h (default_include): Document multiarch in multilib
516         member.
517         * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
518         include directory for multiarch directories.
519         * common.opt: New options --print-multiarch and -imultilib.
520
521         * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
522         Include i386/t-linux.
523         <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
524         Include i386/t-kfreebsd.
525         <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
526         * config/i386/t-linux64: Add multiarch names in
527         MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
528         * config/i386/t-gnu: New file.
529         * config/i386/t-kfreebsd: Likewise.
530         * config/i386/t-linux: Likewise.
531
532         * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
533         * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
534         * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
535         for 32bit non-biarch configurations.
536
537         * config/pa/t-linux: New file; define MULTIARCH_DIRNAME.
538         * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file):
539         Include pa/t-linux.
540
541         * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
542
543         * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
544
545         * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
546         * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
547         * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
548         to the list.
549         (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
550         * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
551         Include rs6000/t-linux for 32bit non-biarch configurations.
552
553         * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
554
555         * config/m68k/t-linux: Define MULTIARCH_DIRNAME.
556
557         * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
558         * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.
559
560         * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
561         * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.
562
563 2013-01-14  Eric Botcazou  <ebotcazou@adacore.com>
564
565         * tree-vectorizer.h (vect_get_single_scalar_iteraion_cost): Fix typo.
566         * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Likewise.
567         (vect_estimate_min_profitable_iter): Adjust to above fix.
568         * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
569
570 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
571
572         Backport from mainline
573         2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
574
575         * doc/extend.texi (X86 Built-in Functions): Add whitespace in
576         __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
577         documentation.  Add missing '__' in front of
578         __builtin_ia32_packssdw256.
579
580 2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
581
582         Backport from mainline
583         2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
584
585         * config/i386/sse.md (*vec_interleave_highv2df): Change mode
586         attribute of movddup insn to DF.
587         (*vec_interleave_lowv2df): Ditto.
588         (vec_dupv2df): Ditto.
589
590 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
591
592         Backport from 2013-01-07 trunk r194991, r194992.
593
594         PR target/55897
595         * doc/extend.texi (AVR Named Address Spaces): __memx goes into
596         .progmemx.data now.
597
598         * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
599         (avr_addrspace_t): Add .section_name field.
600         * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
601         array size.
602         (avr_addrspace): Same.  Initialize .section_name.  Remove last
603         NULL entry.  Put __memx into .progmemx.data.
604         (progmem_section_prefix): Remove.
605         (avr_asm_init_sections): No need to initialize progmem_section.
606         (avr_asm_named_section): Use avr_addrspace[].section_name to get
607         section name prefix.
608         (avr_asm_select_section): Ditto.  And use get_unnamed_section to
609         retrieve the progmem section.
610         * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
611         boundary to run over avr_addrspace[].
612         (avr_register_target_pragmas): Ditto.
613
614 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
615
616         Backport from 2013-01-07 trunk r194978.
617
618         PR target/54461
619         * doc/install.texi (Cross-Compiler-Specific Options): Document
620         --with-avrlibc.
621
622 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
623
624         Backport from 2013-01-07 trunk r194968.
625
626         PR other/55243
627         * config/avr/t-avr: Don't automatically rebuild
628         $(srcdir)/config/avr/t-multilib
629         $(srcdir)/config/avr/avr-tables.opt
630         (avr-mcus): New phony target to build them on request.
631         (s-avr-mlib): Remove.
632         * avr/avr-mcus.def: Adjust comments.
633
634 2013-01-07  Terry Guo  <terry.guo@arm.com>
635
636         Backport from mainline
637         2012-12-19  Terry Guo  <terry.guo@arm.com>
638
639         * config/arm/arm.c (thumb_find_work_register): Check argument
640         register number based on current PCS.
641
642 2013-01-06  Uros Bizjak  <ubizjak@gmail.com>
643
644         Backport from mainline
645         2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
646
647         PR target/55712
648         * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
649         selected code model, define __code_mode_small__, __code_model_medium__,
650         __code_model_large__, __code_model_32__ or __code_model_kernel__.
651         * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
652         xchg temporary register with %k.  Declare temporary register as
653         early clobbered.
654         [__x86_64__]: For medium and large code models, preserve %rbx register.
655
656 2013-01-03  Richard Henderson  <rth@redhat.com>
657
658         * config/i386/i386.c (ix86_expand_move): Always assign to op1
659         after eliminating TLS symbols.
660
661 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
662
663         PR target/53789
664         * config/pa/pa.md (movsi): Revert previous change.
665         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
666         references.
667
668 2013-01-02  Rainer Emrich  <rainer@emrich-ebersheim.de>
669
670         PR bootstrap/55707
671         * graphite-dependences.c (hash_poly_ddr_p): Cast from pointer via
672         intptr_t.
673
674 2013-01-02  Jason Merrill  <jason@redhat.com>
675
676         PR c++/55804
677         * tree.c (build_array_type_1): Revert earlier change.
678
679 2012-12-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
680
681         PR target/53789
682         * config/pa/pa.md (movsi): Reject expansion of TLS symbol references
683         after reload starts.
684
685 2012-12-21  Martin Jambor  <mjambor@suse.cz>
686
687         PR tree-optimization/55355
688         * tree-sra.c (type_internals_preclude_sra_p): Also check that
689         bit_position is small enough to fit a single HOST_WIDE_INT.
690
691 2012-12-21  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
692
693         * config.gcc: Match arm*-*-uclinux*eabi* for EABI uCLinux.
694
695 2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
696
697         Backport from mainline
698         2012-10-15  Matthias Klose  <doko@ubuntu.com>
699
700         * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
701         * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
702
703 2012-12-16  Eric Botcazou  <ebotcazou@adacore.com>
704             Tomash Brechko  <tomash.brechko@gmail.com>
705
706         PR target/55673
707         * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed
708         handling of before and after cases.
709         * config/sparc/sync.md (atomic_store): Fix pasto.
710
711 2012-12-14  Yvan Roux  <yvan.roux@linaro.org>
712
713         * optabs.c (expand_atomic_store): Elide redundant model test.
714
715 2012-12-13  Richard Henderson  <rth@redhat.com>
716
717         PR middle-end/55492
718         * optabs.c (expand_atomic_load): Emit acquire barrier after the load.
719
720 2012-12-11  Eric Botcazou  <ebotcazou@adacore.com>
721
722         PR target/54121
723         * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
724         (tldo_stb_sp64): Likewise.
725         (tldo_sth_sp32): Likewise.
726         (tldo_sth_sp64): Likewise.
727         (tldo_stw_sp32): Likewise.
728         (tldo_stw_sp64): Likewise.
729         (tldo_stx_sp64): Likewise.
730
731 2012-12-10 Kai Tietz  <ktietz@redhat.com>
732
733         PR target/53912
734         * print-tree.c (print_node): Cast from pointer via uintptr_t.
735
736 2012-12-07  Uros Bizjak  <ubizjak@gmail.com>
737
738         Backport from mainline
739         2012-12-06  Uros Bizjak  <ubizjak@gmail.com>
740                     H.J. Lu  <hongjiu.lu@intel.com>
741
742         PR target/55597
743         * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
744         before using it as insn or call equivalent.
745
746 2012-12-06  Jason Merrill  <jason@redhat.com>
747
748         PR c++/55032
749         * tree.c (build_array_type_1): Re-layout if we found it in the
750         hash table.
751
752 2012-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
753
754         * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
755         opaque cond in all call insns.
756
757 2012-12-03  Eric Botcazou  <ebotcazou@adacore.com>
758
759         * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
760         area if the function allocates dynamic stack space.
761         (ia64_initial_elimination_offset): Adjust offsets to above change.
762
763 2012-12-03  Richard Biener  <rguenther@suse.de>
764
765         Backport from mainline
766         2012-09-24  Richard Guenther  <rguenther@suse.de>
767
768         PR tree-optimization/53663
769         * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional
770         native encode/interpret translation on VN_WALKREWRITE.
771
772 2012-12-03 Kai Tietz  <ktietz@redhat.com>
773
774         PR target/53912
775         * ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t.
776
777         PR target/53912
778         * tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT.
779
780         PR target/53912
781         * pointer-set.c (hash1): Cast from pointer via uintptr_t.
782
783 2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
784
785         Backport from mainline:
786         2012-11-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
787
788         PR target/55195
789         * config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types.
790         (in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
791         (in_nullified_branch_delay): Likewise.
792         (in_call_delay): Likewise.
793         Define delay for sibcall insns.  Adjust Z3 and Z4 insn reservations for
794         new types.  Add opaque cond to mark all calls, sibcalls, dyncalls and
795         the $$sh_func_adrs call as variable.  Update type of sibcalls and
796         $$sh_func_adrs call.
797         * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
798         length instead of adjustment.  Handle negative and undefined call
799         adjustments for insn_default_length.  Remove adjustment for millicode
800         insn with unfilled delay slot.
801         (pa_output_millicode_call): Update for revised millicode length.
802         * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
803
804 2012-11-29  Kai Tietz  <ktietz@redhat.com>
805
806         PR target/55171
807         * prefix.c (lookup_key): Replace xmalloc/xrealloc
808         use by XNEWVEC/XRESIZEVEC.
809
810         * i386.c (get_scratch_register_on_entry): Handle
811         thiscall-convention.
812         (split_stack_prologue_scratch_regno): Likewise.
813         (ix86_static_chain): Likewise.
814         (x86_output_mi_thunk): Likewise.
815
816 2012-11-28  H.J. Lu  <hongjiu.lu@intel.com>
817
818         Backported from mainline
819         2012-11-27  H.J. Lu  <hongjiu.lu@intel.com>
820                     Markus Trippelsdorf  <markus@trippelsdorf.de>
821
822         PR lto/54795
823         * lto-opts.c (lto_write_options): Also handle
824         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and
825         OPT_SPECIAL_program_name.
826
827         PR lto/55474
828         * lto-wrapper.c (merge_and_complain): Handle
829         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore,
830         OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
831
832 2012-11-27  Paolo Bonzini  <pbonzini@redhat.com>
833
834         PR rtl-optimization/55489
835         * gcse.c (compute_transp): Precompute a canonical version
836         of XEXP (x, 0), and pass it to canon_true_dependence.
837
838 2012-11-27  Richard Biener  <rguenther@suse.de>
839
840         PR middle-end/55331
841         * gimple-fold.c (gimplify_and_update_call_from_tree): Replace
842         stmt with a NOP instead of removing it.
843
844 2012-11-26  Richard Biener  <rguenther@suse.de>
845
846         Backport from mainline
847         2012-10-19  Richard Biener  <rguenther@suse.de>
848
849         PR tree-optimization/54976
850         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
851         Robustify against odd inner_mode inputs.
852
853         2012-10-12  Richard Biener  <rguenther@suse.de>
854
855         PR tree-optimization/54894
856         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
857         Handle over-aligned scalar types properly.
858
859         2012-10-02  Richard Guenther  <rguenther@suse.de>
860
861         PR middle-end/54735
862         * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
863         cleaning up the CFG.
864
865 2012-11-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
866
867         Backport from mainline
868         2012-11-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
869
870         * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
871         explaining the register ordering preferences.
872
873         2012-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
874         * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
875         constraints so that the traditional floating point loads, stores,
876         and moves are done first, then the VSX loads, stores, and moves,
877         and finally the GPR loads, stores, and moves so that reload
878         chooses FPRs over GPRs, and uses the traditional load/store
879         instructions which provide an offset.
880         (movdf_hardfloat64): Likewise.
881
882 2012-11-19  H.J. Lu  <hongjiu.lu@intel.com>
883
884         Backported from mainline
885         2012-11-13  Eric Botcazou  <ebotcazou@adacore.com>
886                     H.J. Lu  <hongjiu.lu@intel.com>
887
888         PR middle-end/55142
889         * config/i386/i386.c (legitimize_pic_address): Properly handle
890         REG + CONST.
891         (ix86_print_operand_address): Set code to 'k' when forcing
892         addr32 prefix.  For x32, zero-extend negative displacement if
893         it < -16*1024*1024.
894
895 2012-11-12  Eric Botcazou  <ebotcazou@adacore.com>
896
897         * common.opt (fvar-tracking-uninit): Document.
898         * toplev.c (process_options): Fix handling of flag_var_tracking_uninit.
899         * config/darwin.c (darwin_override_options): Likewise.
900
901 2012-11-11  Eric Botcazou  <ebotcazou@adacore.com>
902
903         * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
904         * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.
905
906 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
907
908         * doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
909
910 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
911
912         * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
913         sp_offset manually.
914
915 2012-11-07  Uros Bizjak  <ubizjak@gmail.com>
916
917         Backport from mainline
918         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
919
920         * config/i386/i386.c (ix86_init_machine_status): Do not
921         explicitly clear tls_descriptor_call_expanded_p again.
922
923         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
924
925         * config/i386/sse.md
926         (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
927         as read and written by the instruction.
928
929         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
930
931         * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
932         (ix86_instantiate_decls): New function.
933         (ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
934         stack slot instead of SLOT_VIRTUAL.
935         <case IX86_BUILTIN_STMXCSR>: Ditto.
936         (assign_386_stack_local): Do not assert when virtual slot is valid.
937         * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
938         * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
939         (truncxf<mode>2): Ditto.
940         (floatunssi<mode>2): Ditto.
941         (isinf<mode>2): Ditto.
942         * config/i386/sync.md (atomic_load<mode>): Ditto.
943         (atomic_store<mode>): Ditto.
944
945 2012-11-07  Eric Botcazou  <ebotcazou@adacore.com>
946
947         PR middle-end/55219
948         * fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
949         the argument is itself a conditional expression.
950
951 2012-11-05  H.J. Lu  <hongjiu.lu@intel.com>
952
953         * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
954         REX_INT_REGNO_P.
955
956 2012-11-05  Eric Botcazou  <ebotcazou@adacore.com>
957
958         PR tree-optimization/54986
959         * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op
960         conversions on entry but add them back on exit if needed.
961
962 2012-11-05  Richard Sandiford  <rdsandiford@googlemail.com>
963
964         PR target/55204
965         * config/i386/i386.c (ix86_address_subreg_operand): Remove stack
966         pointer check.
967         (print_reg): Use true_regnum rather than REGNO.
968         (ix86_print_operand_address): Remove SUBREG handling.
969
970 2012-11-05  Jakub Jelinek  <jakub@redhat.com>
971
972         Backported from mainline
973         2012-10-24  Jakub Jelinek  <jakub@redhat.com>
974
975         PR debug/54828
976         * gimple.h (is_gimple_sizepos): New inline function.
977         * gimplify.c (gimplify_one_sizepos): Use it.  Remove useless
978         final assignment to expr variable.
979         * tree.c (RETURN_TRUE_IF_VAR): Return true also if
980         !TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified
981         into a local temporary.
982
983         2012-10-10  Jakub Jelinek  <jakub@redhat.com>
984
985         PR tree-optimization/54877
986         * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
987         use make_ssa_name instead of copy_ssa_name.
988
989 2012-11-03  Peter Bergner  <bergner@vnet.ibm.com>
990
991         Backport from mainline
992         2012-10-31  Jakub Jelinek  <jakub@redhat.com>
993
994         PR tree-optimization/53708
995         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
996         user-supplied alignment when used with an explicit section name.
997
998 2012-11-02  Jeff Law  <law@redhat.com>
999
1000         PR tree-optimization/54985
1001         * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function extracted
1002         from thread_across_edge.
1003         (thread_across_edge): Use it in all cases where we might thread
1004         across a back edge.
1005
1006 2012-10-31  Eric Botcazou  <ebotcazou@adacore.com>
1007
1008         * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
1009         special register pushes before frame probing and allocation.
1010
1011 2012-10-31  Ralf Corsépius  <ralf.corsepius@rtems.org>,
1012             Joel Sherrill  <joel.sherrill@oarcorp.com>
1013
1014         * config/sparc/t-rtems: New (Custom multilibs).
1015         * config/sparc/t-rtems-64: New (Custom multilibs).
1016         * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
1017         (sparc-*-rtems*): Add sparc/t-rtems.
1018
1019 2012-10-30  Eric Botcazou  <ebotcazou@adacore.com>
1020
1021         * cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
1022         head comment.
1023         (hash_rtx): Likewise.
1024
1025 2012-10-29  Terry Guo  <terry.guo@arm.com>
1026
1027         Backport from mainline
1028         2012-10-11  Terry Guo  <terry.guo@arm.com>
1029
1030         * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
1031         architecture.
1032         * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
1033         instruction.
1034
1035 2012-10-26  Gunther Nikl  <gnikl@users.sourceforge.net>
1036
1037         * common/config/m68k/m68k-common.c (m68k_handle_option): Set
1038         gcc_options fields of opts_set for -m68020-40 and -m68020-60.
1039
1040 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
1041
1042         * config/avr/t-rtems: Revert previous commit.
1043
1044 2012-10-26  Terry Guo  <terry.guo@arm.com>
1045
1046         Backport from mainline
1047         2012-10-23  Terry Guo  <terry.guo@arm.com>
1048
1049         PR target/55019
1050         * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
1051         live argument regs.
1052
1053 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
1054
1055         * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
1056         __USE_INIT_FINI__.
1057         * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
1058
1059 2012-10-25  Ralf Corsépius  <ralf.corsepius@rtems.org>
1060
1061         * config.gcc (microblaze*-*-rtems*): New target.
1062         * config/microblaze/rtems.h: New.
1063         * config/microblaze/t-rtems: New.
1064
1065 2012-10-25  Richard Biener  <rguenther@suse.de>
1066
1067         PR tree-optimization/54902
1068         * tree-ssa-pre.c (fini_pre): Return TODO.
1069         (execute_pre): Adjust.
1070         * tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
1071         blocks before computing dominators.
1072
1073 2012-10-24  Uros Bizjak  <ubizjak@gmail.com>
1074
1075         Backport from mainline
1076         2012-10-22  Uros Bizjak  <ubizjak@gmail.com>
1077
1078         * config/i386/i386.c (memory_address_length): Assert that non-null
1079         base or index RTXes are registers.  Do not check for REG RTXes.
1080         Determine addr32 prefix using SImode_address_operand or
1081         from original base and index RTXes.  Simplify code.
1082
1083         2012-10-21  Uros Bizjak  <ubizjak@gmail.com>
1084
1085         * config/i386/i386-protos.h (memory_address_length): Add new bool
1086         argument.  Update all uses.
1087         * config/i386/i386.c (memory_address_length): If not LEA insn, then
1088         add length of addr32 prefix based on mode of base or index register.
1089         (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
1090         addresses here.  Update call to memory_address_length.
1091         (ix86_print_address_operand): Use SImode_address_operand predicate.
1092         * config/i386/predicates.md (SImode_address_operand): New.
1093         * config/i386/i386.md (lea<mode>): Use SImode_address_operand
1094         to calculate "mode" attribute.  Use SImode_address_operand predicate
1095         instead of open-coding accepted RTX codes.
1096
1097 2012-10-22  Georg-Johann Lay  <avr@gjlay.de>
1098
1099         Backport from 2012-10-22 trunk r192685.
1100         * doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
1101         Note __AVR_<device>__ is not defined for cores.
1102         Don't point to --help=target.
1103         Order --mcu= documentation according to trunk:/gcc/doc/avr-mmcu.texi.
1104
1105 2012-10-19  Marek Polacek  <polacek@redhat.com>
1106
1107         Backported from mainline
1108         2012-10-19  Marek Polacek  <polacek@redhat.com>
1109
1110         PR middle-end/54945
1111         * fold-const.c (fold_sign_changed_comparison):  Punt if folding
1112         pointer/non-pointer comparison.
1113
1114 2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
1115
1116         Backported from mainline
1117         2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
1118
1119         PR target/54892
1120         * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
1121         sure the mode is correct when falling through from above cases.
1122
1123 2012-10-19  Alan Modra  <amodra@gmail.com>
1124
1125         * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
1126         (HAVE_LD_LARGE_TOC): Likewise.
1127         * configure: Regenerate.
1128
1129 2012-10-19  Alan Modra  <amodra@gmail.com>
1130
1131         * config/rs6000/predicates.md (splat_input_operand): Don't call
1132         input_operand for MEMs.  Instead check for volatile and call
1133         memory_address_addr_space_p with modified mode.
1134
1135 2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
1136
1137         Backported from mainline
1138         2012-07-23  Ulrich Weigand  <ulrich.weigand@linaro.org>
1139
1140         * config/arm/arm.c (arm_reorg): Ensure all insns are split.
1141
1142 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1143
1144         PR rtl-optimization/54870
1145         * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
1146         * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
1147         SSA_NAME pointer that points to a partition if there is at least
1148         one variable with it set in the partition.
1149         * dse.c (local_variable_can_escape): New predicate.
1150         (can_escape): Call it.
1151         * gimplify.c (mark_addressable): If this is a partitioned decl, also
1152         mark the SSA_NAME pointer that points to a partition.
1153
1154 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
1155
1156         Backport from mainline
1157         2012-08-09  Andrey Belevantsev  <abel@ispras.ru>
1158
1159         PR rtl-optimization/53701
1160         * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
1161         rocess not only expr's vinsns but all old vinsns from expr's
1162         istory of changes.
1163
1164 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
1165
1166         Backport from mainline
1167         2012-07-31  Andrey Belevantsev  <abel@ispras.ru>
1168         PR target/53975
1169
1170         * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
1171         Revert
1172         2011-08-04  Sergey Grechanik  <mouseentity@ispras.ru>
1173         * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
1174         only if producer writes to the register given by regno.
1175
1176 2012-09-15  Uros Bizjak  <ubizjak@gmail.com>
1177
1178         Backport from mainline
1179         2012-10-15  Uros Bizjak  <ubizjak@gmail.com>
1180
1181         * config/i386/sse.md (UNSPEC_MOVU): Remove.
1182         (UNSPEC_LOADU): New.
1183         (UNSPEC_STOREU): Ditto.
1184         (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
1185         (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
1186         (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
1187         (<sse2>_movdqu<avxsizesuffix>): Split to ...
1188         (<sse2>_loaddqu<avxsizesuffix>): ... this and ...
1189         (<sse2>_storedqu<avxsizesuffix>): ... this.
1190         (*sse4_2_pcmpestr_unaligned): Update.
1191         (*sse4_2_pcmpistr_unaligned): Ditto.
1192
1193         * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
1194         gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
1195         gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
1196         (ix86_expand_vector_move_misalign): Use gen_sse_loadups or
1197         gen_sse2_load{dqu,upd} to load from unaligned memory and
1198         gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
1199         unaligned memory.
1200         (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
1201         Use CODE_FOR_sse_loadups.
1202         <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
1203         <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
1204         <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
1205         <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
1206         <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
1207         <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
1208         <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
1209         <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
1210         <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
1211         <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
1212         <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
1213
1214 2012-10-15  Steven Bosscher  <steven@gcc.gnu.org>
1215
1216         Backport from trunk (r190222):
1217
1218         PR tree-optimization/54146
1219         * ifcvt.c: Include pointer-set.h.
1220         (cond_move_process_if_block): Change type of then_regs and
1221         else_regs from alloca'd array to pointer_sets.
1222         (check_cond_move_block): Update for this change.
1223         (cond_move_convert_if_block): Likewise.
1224         * Makefile.in: Fix dependencies for ifcvt.o.
1225
1226 2012-10-15  Richard Guenther  <rguenther@suse.de>
1227
1228         PR tree-optimization/54920
1229         * tree-ssa-pre.c (create_expression_by_pieces): Properly
1230         allocate temporary storage for all NARY elements.
1231
1232 2012-10-08  Georg-Johann Lay  <avr@gjlay.de>
1233
1234         PR target/54854
1235         * doc/invoke.texi (AVR Options): Deprecate -mshort-calls.
1236
1237 2012-10-05  Mark Kettenis  <kettenis@openbsd.org>
1238
1239         * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
1240         default_use_cxa_atexit to yes.
1241
1242 2012-10-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1243
1244         * config/pa/pa.md: Adjust unamed HImode add insn pattern.
1245
1246 2012-10-05  Jan Hubicka  <jh@suse.cz>
1247             Jakub Jelinek  <jakub@redhat.com>
1248
1249         PR tree-optimization/33763
1250         * tree-inline.c (expand_call_inline): Silently ignore always_inline
1251         attribute for redefined extern inline functions.
1252
1253 2012-10-03  H.J. Lu  <hongjiu.lu@intel.com>
1254
1255         Backported from mainline
1256         2012-10-03  Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
1257
1258         * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
1259         in SSE and YMM state support check for -march=native.
1260
1261 2012-10-03  Alexandre Oliva <aoliva@redhat.com>
1262
1263         PR debug/53135
1264         * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
1265         when needed.
1266
1267 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
1268
1269         Backported from mainline
1270         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
1271
1272         PR target/54785
1273         * doc/invoke.texi: Document -mprefer-avx128.
1274
1275 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
1276
1277         Backported from mainline
1278         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
1279
1280         PR target/54741
1281         *  config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
1282         (XSTATE_FP): Likewise.
1283         (XSTATE_SSE): Likewise.
1284         (XSTATE_YMM): Likewise.
1285         (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
1286         SSE and YMM states aren't supported.
1287
1288 2012-10-01  Tom de Vries  <tom@codesourcery.com>
1289
1290         * var-tracking.c (set_dv_changed): Add an 'inline' function specifier to
1291         the prototype.
1292
1293 2012-10-01  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1294
1295         PR target/54746
1296         * config/s390/s390.c (s390_option_override): Add missing break.
1297
1298 2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
1299
1300         Backport from mainline
1301         2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
1302
1303         * config.gcc: Replace 'host' with 'target' when configuring for
1304         powerpc64*-*-freebsd.
1305
1306 2012-09-28  Meador Inge  <meadori@codesourcery.com>
1307
1308         Backport from mainline
1309         2012-09-27  Meador Inge  <meadori@codesourcery.com>
1310
1311         * gcc-ar.c (main): Handle the returning of the sub-process error
1312         code correctly.
1313
1314 2012-09-28  Georg-Johann Lay  <avr@gjlay.de>
1315
1316         Backport from 2012-09-28 trunk r191821.
1317         * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
1318
1319 2012-09-27  Jakub Jelinek  <jakub@redhat.com>
1320
1321         PR target/54703
1322         * simplify-rtx.c (simplify_binary_operation_1): Perform
1323         (x - (x & y)) -> (x & ~y) optimization only for integral modes.
1324
1325 2012-09-24  Eric Botcazou  <ebotcazou@adacore.com>
1326
1327         * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
1328         TYPE_NONALIASED_COMPONENT flag.
1329         * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
1330         TYPE_NONALIASED_COMPONENT flag.
1331
1332 2012-09-21  Richard Guenther  <rguenther@suse.de>
1333
1334         PR middle-end/54638
1335         Backport from mainline
1336         2012-04-19  Richard Guenther  <rguenther@suse.de>
1337
1338         * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
1339         array access.
1340
1341 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
1342
1343         PR c/54552
1344         * c-typeck.c (c_cast_expr): When casting to a type requiring
1345         C_MAYBE_CONST_EXPR to be created, pass the inner expression to
1346         c_fully_fold first.
1347
1348 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
1349
1350         PR c/54103
1351         * c-typeck.c (build_unary_op): Pass original argument of
1352         TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
1353         any C_MAYBE_CONST_EXPR, if it has integer operands.
1354         (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
1355         TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
1356         to c_objc_common_truthvalue_conversion, then remove any
1357         C_MAYBE_CONST_EXPR, if they have integer operands.  Use
1358         c_objc_common_truthvalue_conversion not
1359         c_common_truthvalue_conversion.
1360         (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
1361         call note_integer_operands for arguments with integer operands
1362         that are not integer constants.
1363
1364 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
1365
1366         Backported from mainline
1367         2012-09-17  Jakub Jelinek  <jakub@redhat.com>
1368
1369         PR tree-optimization/54563
1370         * tree-ssa-math-opts.c (execute_cse_sincos): Call
1371         gimple_purge_dead_eh_edges if last call has been changed.
1372
1373         2012-09-14  Jakub Jelinek  <jakub@redhat.com>
1374
1375         PR target/54564
1376         * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
1377         instead of (match_dup 0) as second argument to vec_merge.
1378         (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
1379         Remove third alternative.
1380         (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
1381         operand 2 instead of operand 1, but put it as first argument
1382         of fma.
1383         * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
1384         _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
1385         of the first.
1386
1387 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
1388
1389         * BASE-VER: Set to 4.7.3.
1390         * DEV-PHASE: Set to prerelease.
1391
1392 2012-09-20  Release Manager
1393
1394         * GCC 4.7.2 released.
1395
1396 2012-09-15  Andi Kleen  <ak@linux.intel.com>
1397
1398         Backport from mainline
1399         2012-09-07  Andi Kleen  <ak@linux.intel.com>
1400
1401         * gcc/lto-streamer.h (res_pair): Add.
1402         (lto_file_decl_data): Replace resolutions with respairs.
1403         Add max_index.
1404         * gcc/lto/lto.c (lto_resolution_read): Remove max_index.  Add rp.
1405         Initialize respairs.
1406         (lto_file_finalize): Set up resolutions vector lazily from respairs.
1407
1408 2012-09-14  Walter Lee  <walt@tilera.com>
1409
1410         Backport from mainline.
1411         2012-09-14  Walter Lee  <walt@tilera.com>
1412
1413         * doc/invoke.texi (Option Summary): fix typesetting for -mcpu
1414         option for TILEPro and TILE-Gx.
1415
1416 2012-09-13  Uros Bizjak  <ubizjak@gmail.com>
1417
1418         * config/i386/i386.h (x86_prefetchw): New global variable.
1419         (TARGET_PREFETCHW): New macro.
1420         * config/i386/i386.c (PTA_PREFETCHW): Ditto.
1421         (processor_alias_table): Add PTA_PREFETCHW to
1422         bdver1, bdver2 and btver1.
1423         (ix86_option_override_internal): Set x86_prefetchw for
1424         PTA_PREFETCHW targets.
1425         * config/i386/i386.md (prefetch): Expand to prefetchw
1426         for TARGET_PREFETCHW.
1427         (*prefetch_3dnow_<mode>): Also enable for TARGET_PREFETCHW.
1428
1429         Backport from mainline
1430         2012-08-13  Uros Bizjak  <ubizjak@gmail.com>
1431
1432         * config/i386/i386.md (prefetch): Do not assert mode of operand 0.
1433         (*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
1434         Rename to ...
1435         (*prefetch_sse): ... this.
1436         (*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
1437         Rename to ...
1438         (*prefetch_3dnow): ... this.
1439
1440 2012-09-13  Jakub Jelinek  <jakub@redhat.com>
1441
1442         PR c/54559
1443         * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
1444         COMPLEX_TYPE with in_late_binary_op set temporarily to true.
1445
1446 2012-09-12  Teresa Johnson  <tejohnson@google.com>
1447
1448         Backport from mainline.
1449         2012-09-12  Teresa Johnson  <tejohnson@google.com>
1450
1451         PR gcov-profile/54487
1452         * configure.ac (HOST_HAS_F_SETLKW): Set based on compile
1453         test using F_SETLKW with fcntl.
1454         * configure, config.in: Regenerate.
1455
1456 2012-09-12  Uros Bizjak  <ubizjak@gmail.com>
1457
1458         Backport from mainline
1459         2012-09-12  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
1460
1461         * config/i386/i386.md : Comments on fma4 instruction selection
1462         reflect requirement on register pressure based cost model.
1463
1464         * config/i386/driver-i386.c (host_detect_local_cpu): fma4
1465         flag is set-reset as informed by the cpuid flag.
1466
1467         * config/i386/i386.c (processor_alias_table): fma4
1468         flag is enabled for bdver2.
1469
1470 2012-09-12  Christian Bruel  <christian.bruel@st.com>
1471
1472         * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
1473
1474 2012-09-12  Jakub Jelinek  <jakub@redhat.com>
1475
1476         * config.gcc: Obsolete picochip-*.
1477
1478 2012-09-11  Richard Guenther  <rguenther@suse.de>
1479
1480         PR debug/54534
1481         * cgraph.h (varpool_can_remove_if_no_refs): Restore dependence
1482         on flag_toplevel_reorder.
1483
1484 2012-09-10  Richard Henderson  <rth@redhat.com>
1485
1486         * config/alpha/predicates.md (small_symbolic_operand): Disallow
1487         large offsets.
1488
1489 2012-09-10  Georg-Johann Lay  <avr@gjlay.de>
1490
1491         Backport from 2012-09-10 mainline r191132.
1492
1493         PR target/54536
1494         * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
1495
1496 2012-09-10  Markus Trippelsdorf  <markus@trippelsdorf.de>
1497
1498         PR middle-end/54515
1499         * tree-sra.c (disqualify_base_of_expr): Check for possible
1500         NULL_TREE returned by get_base_address()
1501
1502 2012-09-07  Richard Guenther  <rguenther@suse.de>
1503
1504         Backport from mainline
1505         2012-06-26  Jan Hubicka  <jh@suse.cz>
1506
1507         PR lto/53572
1508         * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
1509         used symbols.
1510
1511 2012-09-07  Richard Guenther  <rguenther@suse.de>
1512
1513         Backport from mainline
1514         2012-07-13  Richard Guenther  <rguenther@suse.de>
1515
1516         PR tree-optimization/53922
1517         * tree-vrp.c (value_inside_range): Change prototype to take
1518         min/max instead of value-range.
1519         (range_includes_zero_p): Likewise.  Return the result from
1520         value_inside_range.
1521         (extract_range_from_binary_expr_1): Adjust to handle dont-know
1522         return value from range_includes_zero_p.
1523         (extract_range_from_unary_expr_1): Likewise.
1524         (compare_range_with_value): Likewise.
1525         (vrp_meet_1): Likewise.
1526
1527 2012-09-07  Richard Guenther  <rguenther@suse.de>
1528
1529         PR middle-end/53667
1530         * tree-ssa-structalias.c (handle_rhs_call): Properly clobber
1531         EAF_NOESCAPED arguments.  Transitively close non-EAF_DIRECT
1532         arguments separately.
1533
1534 2012-09-07  Jakub Jelinek  <jakub@redhat.com>
1535
1536         Backported from mainline
1537         2012-09-06  Jakub Jelinek  <jakub@redhat.com>
1538
1539         PR rtl-optimization/54455
1540         * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru
1541         bb ends up with asm goto referencing bb's label.
1542
1543 2012-09-07  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1544
1545         Backport from mainline.
1546         2012-08-29  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1547                     Richard Earnshaw  <richard.earnshaw@arm.com>
1548
1549         PR target/54252
1550         * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
1551         element size. Use elem_type from the formal parameter. New parameter
1552         fcode.
1553         (neon_expand_args): Adjust call to neon_dereference_pointer.
1554
1555 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
1556
1557         * config/i386/sse.md (<sse4_1_avx2>_pblendvb): Use
1558         reg_not_xmm0_operand_maybe_avx as operand 0 constraint.
1559
1560 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
1561
1562         Backport from mainline
1563         2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
1564
1565         * config/i386/i386.md (isa): Add fma and fma4.
1566         (enabled): Handle fma and fma4.
1567         * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>.
1568         (*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>.
1569         (*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>.
1570         (*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>.
1571         (*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>.
1572         (*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>.
1573
1574         2012-08-10  Uros Bizjak  <ubizjak@gmail.com>
1575
1576         * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>,
1577         *fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>,
1578         *fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns.
1579
1580 2012-09-06  Richard Guenther  <rguenther@suse.de>
1581
1582         PR tree-optimization/54498
1583         * tree-ssa-alias.h (get_continuation_for_phi): Add flag to
1584         abort when reaching an already visited region.
1585         * tree-ssa-alias.c (maybe_skip_until): Likewise.  And do it.
1586         (get_continuation_for_phi_1): Likewise.
1587         (walk_non_aliased_vuses): When we translated the reference,
1588         abort when we re-visit a region.
1589         * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
1590
1591 2012-09-06  Andrew Pinski  <apinski@cavium.com>
1592
1593         PR tree-opt/54494
1594         * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also.
1595
1596 2012-09-05  Jakub Jelinek  <jakub@redhat.com>
1597
1598         PR middle-end/54486
1599         * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
1600         build_int_cst with size_type_node instead of size_int.
1601
1602 2012-09-05  Georg-Johann Lay  <avr@gjlay.de>
1603
1604         Backport from 2012-09-05 mainline r190697.
1605
1606         PR target/54461
1607         * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
1608         configured --with-avrlibc.
1609         (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if configured
1610         --with-avrlibc.
1611         * config/avr/avrlibc.h: New file.
1612         * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
1613         configured --with-avrlibc.
1614         * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__
1615
1616 2012-09-05  Bin Cheng  <bin.cheng@arm.com>
1617
1618         Backport from 2012-09-04 mainline r190919
1619
1620         PR target/45070
1621         * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value
1622         of size less than 4 bytes by using macro ARM_NUM_INTS.
1623         (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS.
1624
1625 2012-09-04  Richard Henderson  <rth@redhat.com>
1626
1627         * alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
1628
1629 2012-09-04  Georg-Johann Lay  <avr@gjlay.de>
1630
1631         Backport from 2012-09-04 mainline r190920
1632
1633         PR target/54476
1634         * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with SImode.
1635
1636 2012-09-04  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1637
1638         Backport from 2012-09-04 mainline r190914
1639
1640         PR target/54220
1641         * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
1642         define to...
1643         (avr_allocate_stack_slots_for_args): ...this new static function.
1644
1645 2012-09-03  H.J. Lu  <hongjiu.lu@intel.com>
1646
1647         Backported from mainline
1648         2012-08-23  H.J. Lu  <hongjiu.lu@intel.com>
1649
1650         PR driver/54335
1651         * doc/invoke.texi: Add -da and remove -dm.
1652
1653 2012-09-03  Jakub Jelinek  <jakub@redhat.com>
1654
1655         Backported from mainline
1656         2012-09-01  Jakub Jelinek  <jakub@redhat.com>
1657
1658         PR target/54436
1659         * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
1660         operands[1] is CONST_INT_P, convert it to QImode before printing.
1661
1662         2012-08-31  Jakub Jelinek  <jakub@redhat.com>
1663
1664         PR c/54428
1665         * c-convert.c (convert): Don't call fold_convert_loc if
1666         TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
1667         is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
1668         COMPLEX_TYPE -> COMPLEX_TYPE conversion.
1669
1670         2012-08-24  Jakub Jelinek  <jakub@redhat.com>
1671
1672         PR c/54363
1673         * gimplify.c (optimize_compound_literals_in_ctor): Only recurse
1674         if init is a CONSTRUCTOR.
1675
1676 2012-09-02  Eric Botcazou  <ebotcazou@adacore.com>
1677
1678         PR rtl-optimization/54369
1679         * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
1680         calling dbr_schedule.
1681         * config/sparc/sparc.c (sparc_reorg): Likewise.
1682
1683 2012-08-31  Kirill Yukhin  <kirill.yukhin@intel.com>
1684
1685         Backport from mainline
1686         2012-08-23  Yuri Rumyantsev  <ysrumyan@gmail.com>
1687
1688         * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
1689         case for Atom processor.
1690
1691 2012-08-28  Uros Bizjak  <ubizjak@gmail.com>
1692
1693         Backport from mainline
1694         2012-08-27  Uros Bizjak  <ubizjak@gmail.com>
1695
1696         PR target/46254
1697         * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
1698         true for TARGET_64BIT or !flag_pic.
1699         * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
1700         (atomic_compare_and_swap_double<mode>): Change operand 2 predicate
1701         to cmpxchg8b_pic_memory_operand.  Use DWIH mode iterator.
1702         Add insn constraint.  Conditionally emit xchg asm insns.
1703         (atomic_compare_and_swap<mode>): Update calls.  Check only
1704         cmpxchg8b_pic_memory_operand in memory address fixup.
1705         (DCASMODE): Remove.
1706         (CASHMODE): Rename from DCASHMODE.
1707         (doublemodesuffix): Update modes.
1708         (regprefix): New mode attribute.
1709
1710         (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
1711         <UNSPECV_CMPXCHG>: New constant.
1712         (atomic_compare_and_swap<mode>_1): Rename from
1713         atomic_compare_and_swap_single<mode>.  Update calls and
1714         unspec_volatile constants.
1715         (atomic_compare_and_swap<mode>_doubleword): Rename from
1716         atomic_compare_and_swap_double<mode>.  Update calls and
1717         unspec_volatile constants.
1718
1719 2012-08-28  Walter Lee  <walt@tilera.com>
1720
1721         Backport from mainline
1722         2012-08-28  Walter Lee  <walt@tilera.com>
1723
1724         * confg/tilegx/tilegx.md: Fix code style.
1725         (*zero_extendsidi_truncdisi): Fix typo.
1726         * config/tilegx/tilegx.c: Fix code style.
1727         (tilegx_function_profiler): Fix typo.
1728
1729 2012-08-27  Walter Lee  <walt@tilera.com>
1730
1731         Backport from mainline
1732         2012-08-27  Walter Lee  <walt@tilera.com>
1733
1734         * doc/md.texi (TILE-Gx): Fix typo.
1735
1736 2012-08-27  Walter Lee  <walt@tilera.com>
1737
1738         Backport from mainline
1739         2012-08-27  Walter Lee  <walt@tilera.com>
1740
1741         * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
1742         * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
1743
1744 2012-08-27  Walter Lee  <walt@tilera.com>
1745
1746         Backport from mainline
1747         2012-08-27  Walter Lee  <walt@tilera.com>
1748
1749         * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
1750         (insn_bfins): Delete.
1751
1752 2012-08-27  Walter Lee  <walt@tilera.com>
1753
1754         Backport from mainline
1755         2012-08-27  Walter Lee  <walt@tilera.com>
1756
1757         * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
1758         atomic_exchange_bare<mode>,
1759         atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
1760         * config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation.
1761         * config/tilegx/tilegx.md (type): Add X1_remove.
1762         (insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
1763         insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
1764         insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
1765         X1_remote.
1766
1767 2012-08-25  Eric Botcazou  <ebotcazou@adacore.com>
1768
1769         PR rtl-optimization/54088
1770         * jump.c (delete_related_insns): Robustify latest change.
1771
1772 2012-08-21  Richard Guenther  <rguenther@suse.de>
1773
1774         Backport from mainline
1775         2012-08-16  Richard Guenther  <rguenther@suse.de>
1776
1777         PR middle-end/54146
1778         * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
1779         exit vector.
1780         * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
1781         * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
1782         * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
1783         * tree-ssa-loop-im.c (analyze_memory_references): Adjust.
1784         (tree_ssa_lim_finalize): Free all mem_refs.
1785         * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
1786         scc when bailing out.
1787         * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
1788         * ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
1789         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
1790         FOR_EACH_LOOP_BREAK.
1791
1792         2012-08-17  Richard Guenther  <rguenther@suse.de>
1793
1794         * tree-sra.c (modify_function): Free redirect_callers vector.
1795         * ipa-split.c (split_function): Free args_to_pass vector.
1796         * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
1797         vec_oprnds.
1798         (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
1799         * tree-vect-slp.c (vect_free_slp_instance): Free the instance.
1800         (vect_analyze_slp_instance): Free everything.
1801         (destroy_bb_vec_info): Free the SLP instances.
1802
1803         2012-08-17  Richard Guenther  <rguenther@suse.de>
1804
1805         * params.def (integer-share-limit): Decrease from 256 to 251,
1806         add rationale.
1807
1808         2012-08-21  Richard Guenther  <rguenther@suse.de>
1809
1810         * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
1811         the affine expansion cache.
1812
1813 2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
1814
1815         Backported from trunk
1816         2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
1817
1818         PR middle-end/53992
1819         * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
1820
1821 2012-08-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1822
1823         Backport from mainline.
1824         2012-08-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1825
1826         PR target/54212
1827         * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
1828         mark as predicable. Adjust asm template.
1829         (vec_setv2di_internal): Likewise.
1830         (vec_extract<mode> VD, VQ): Likewise.
1831         (vec_extractv2di): Likewise.
1832         (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise.
1833         (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise.
1834         (neon_vdup_n<mode> VX, V32): Likewise.
1835         (neon_vdup_nv2di): Likewise.
1836
1837 2012-08-17  Walter Lee  <walt@tilera.com>
1838
1839         Backport from mainline
1840         2012-08-17  Walter Lee  <walt@tilera.com>
1841
1842         * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
1843         (FEEDBACK_ENTER): Define.
1844         (FEEDBACK_REENTER): Define.
1845         (FEEDBACK_ENTRY): Define.
1846         * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
1847         (FEEDBACK_ENTER): Define.
1848         (FEEDBACK_REENTER): Define.
1849         (FEEDBACK_ENTRY): Define.
1850
1851 2012-08-16  Walter Lee  <walt@tilera.com>
1852
1853         Backport from mainline
1854         2012-08-16  Walter Lee  <walt@tilera.com>
1855
1856         * config.gcc (tilegx-*-linux*): Add feedback.h.
1857         (tilepro-*-linux*): Likewise.
1858         * config/tilegx/feedback.h: New file.
1859         * config/tilepro/feedback.h: New file.
1860
1861 2012-08-08  Pavel Chupin  <pavel.v.chupin@intel.com>
1862
1863         Backport from mainline r189840 and r187586:
1864         2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>
1865
1866         * config/i386/i386.md (stack_protect_set): Disable the pattern
1867         for Android since Android libc (bionic) does not provide random
1868         value for stack protection guard at gs:0x14. Guard value
1869         will be provided from external symbol (default implementation).
1870         (stack_protect_set_<mode>): Likewise.
1871         (stack_protect_test): Likewise.
1872         (stack_protect_test_<mode>): Likewise.
1873         * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
1874         not have Bionic by default
1875         * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
1876         Macro OPTION_BIONIC is defined in this file and provides Bionic
1877         accessibility status
1878
1879         2012-05-16  Igor Zamyatin  <igor.zamyatin@intel.com>
1880
1881         * configure.ac: Stack protector enabling for Android targets.
1882         * configure: Regenerate.
1883
1884 2012-08-13  Jakub Jelinek  <jakub@redhat.com>
1885
1886         Backported from trunk
1887         2012-07-19  Jakub Jelinek  <jakub@redhat.com>
1888
1889         PR rtl-optimization/53942
1890         * function.c (assign_parm_setup_reg): Avoid zero/sign extension
1891         directly from likely spilled non-fixed hard registers, move them
1892         to pseudo first.
1893
1894 2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
1895
1896         * config/i386/sse.md (xop_phaddbq):  Fix vec_select selectors.
1897         (xop_phaddubq): Ditto.
1898
1899 2012-08-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
1900
1901         Backport from mainline
1902         2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
1903                     Richard Earnshaw  <rearnsha@arm.com>
1904
1905         * target.def (vector_alignment): New target hook.
1906         * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
1907         * doc/tm.texi: Regenerate.
1908         * targhooks.c (default_vector_alignment): New function.
1909         * targhooks.h (default_vector_alignment): Add prototype.
1910         * stor-layout.c (layout_type): Use targetm.vector_alignment.
1911         * config/arm/arm.c (arm_vector_alignment): New function.
1912         (TARGET_VECTOR_ALIGNMENT): Define.
1913
1914         * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
1915         vector type alignment instead of size.
1916         * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
1917         element type size directly instead of computing it from alignment.
1918         Fix variable naming and comment.
1919
1920 2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
1921
1922         Backport from mainline
1923         2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
1924
1925         * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
1926         (alpha_pad_function_end): ... this.  Also insert NOP between
1927         sibling call and GP load.
1928         (alpha_reorg): Update call to alpha_pad_function_end.  Expand comment.
1929
1930 2012-08-09  H.J. Lu  <hongjiu.lu@intel.com>
1931
1932         Backport from mainline
1933         2012-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
1934                     H.J. Lu  <hongjiu.lu@intel.com>
1935
1936         PR rtl-optimization/54157
1937         * combine.c (gen_lowpart_for_combine): Don't return identity
1938         for CONST or symbolic reference.
1939
1940 2012-08-06  Uros Bizjak  <ubizjak@gmail.com>
1941
1942         Backport from mainline
1943         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
1944
1945         * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
1946         * config/i386/i386.c (ix86_lea_outperforms): Make static.  Make
1947         split_cost argument signed.
1948         (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
1949         (ix86_avoid_lea_for_addr): Ditto.
1950
1951         2012-07-27  Uros Bizjak  <ubizjak@gmail.com>
1952
1953         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false if
1954         the address has less than two components.
1955
1956 2012-08-02  Steve Ellcey  <sellcey@mips.com>
1957
1958         Backport from mainline
1959         2012-07-19  Steve Ellcey  <sellcey@mips.com>
1960
1961         * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
1962         MIPS16 mode.
1963
1964 2012-08-02  Uros Bizjak  <ubizjak@gmail.com>
1965
1966         Backport from mainline
1967         2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
1968
1969         PR target/53961
1970         * config/i386/i386.c (ix86_legitimate_address_p): Move check for
1971         negative constant address for TARGET_X32 ...
1972         (ix86_decompose_address): ... here.  Reject constant addresses
1973         that don't satisfy x86_64_immediate_operand predicate.
1974
1975         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
1976
1977         PR target/53961
1978         * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
1979         * config/i386/i386.c (ix86_print_operand_address): Ditto.
1980         (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
1981         addresses.  Prevent zero extensions of CONST_INT operands.
1982
1983         2012-07-22  Uros Bizjak  <ubizjak@gmail.com>
1984
1985         PR target/53961
1986         * config/i386/i386.md (*lea): New insn pattern.
1987         (*lea_1): Remove.
1988         (*lea<mode>_2): Ditto.
1989         (*lea_{3,4,5,6}_zext): Ditto.
1990         * config/i386/predicates.md (lea_address_operand): Do not reject
1991         zero-extended address operands.
1992         * config/i386/constraints.md (j): Remove address constraint.
1993         * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
1994         of an address.
1995         (ix86_print_operand_address): Handle SImode subreg of an address.
1996         (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now.
1997
1998 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
1999
2000         Backport from mainline
2001         2012-03-09  Uros Bizjak  <ubizjak@gmail.com>
2002
2003         PR target/52530
2004         * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
2005         (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
2006         to set code to 'q'.
2007         * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
2008         (*movdi_internal_rex64): Use %E operand modifier for lea.
2009         (*movsi_internal): Ditto.
2010         (*lea_1): Ditto.
2011         (*lea<mode>_2): Ditto.
2012         (*lea_{3,4,5,6}_zext): Ditto.
2013         (*tls_global_dynamic_32_gnu): Ditto.
2014         (*tls_global_dynamic_64): Ditto.
2015         (*tls_dynamic_gnu2_lea_32): Ditto.
2016         (*tls_dynamic_gnu2_lea_64): Ditto.
2017         (pro_epilogue_adjust_stack_<mode>_add): Ditto.
2018
2019 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
2020
2021         Backport from mainline
2022         2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
2023
2024         * config/i386/i386.c (ix86_address_subreg_operand): Reject
2025         stack pointer.
2026         (ix86_print_operand_address): Assert that parts.base and parts.index
2027         are non-NULL after call to simplify_subreg.
2028
2029 2012-07-22  Oleg Endo  <olegendo@gcc.gnu.org>
2030
2031         PR target/33135
2032         * config/sh/sh.opt (mieee): Use Var instead of Mask.  Correct
2033         description.
2034         * config/sh/sh.c (sh_option_override): Do not change
2035         flag_finite_math_only.  Set TARGET_IEEE to complement of
2036         flag_finite_math_only.
2037         * doc/invoke.texi (SH options): Add mno-ieee.  Correct
2038         description of mieee and mno-ieee behavior.
2039
2040 2012-07-20  Kirill Yukhin  <kirill.yukhin@intel.com>
2041
2042         PR target/53877
2043         * config/i386/lzcntintrin.h (_lzcnt_u32): New.
2044         (_lzcnt_u64): Ditto.
2045
2046 2012-07-20  Andrey Belevantsev  <abel@ispras.ru>
2047
2048         Backport from mainline
2049         2012-03-06  Andrey Belevantsev  <abel@ispras.ru>
2050
2051         PR rtl-optimization/52250
2052         * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
2053         to put note list into.  Unconditionally call move_bb_info.
2054         (move_bb_info): Do not assert the blocks being in the same region,
2055         just drop the note list if they are not.
2056
2057 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
2058
2059         * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
2060
2061 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
2062
2063         * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
2064         defining statement is a SSA name that occurs in abnormal PHIs.
2065
2066 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
2067
2068         * gimple-fold.c (canonicalize_constructor_val): Strip only useless type
2069         conversions.
2070
2071 2012-07-19  Richard Guenther  <rguenther@suse.de>
2072             Eric Botcazou  <ebotcazou@adacore.com>
2073
2074         * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
2075         about transition from invariant to known bits.
2076         (likely_value): Addresses with UNDEFINED components are UNDEFINED.
2077
2078 2012-07-19  Jakub Jelinek  <jakub@redhat.com>
2079
2080         PR middle-end/54017
2081         * tree-cfgcleanup.c (cleanup_omp_return): Remove.
2082         (cleanup_tree_cfg_bb): Don't call it.
2083         * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
2084         handling.
2085
2086 2012-07-19  Christian Bruel  <christian.bruel@st.com>
2087
2088         PR target/54029
2089         * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
2090
2091 2012-07-18  Ralf Corsépius  <ralf.corsepius@rtems.org>
2092
2093         * config.gcc (v850-*-rtems*): New target.
2094         * config/v850/rtems.h: New.
2095         * config/v850/t-rtems: New.
2096
2097 2012-07-18  Nick Clifton  <nickc@redhat.com>
2098
2099         * doc/invoke.texi (ARM Options): Document -munaligned-access.
2100
2101 2012-07-15  Uros Bizjak  <ubizjak@gmail.com>
2102
2103         PR target/53961
2104
2105         Backport from mainline
2106         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
2107
2108         PR target/53110
2109         * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
2110         instead expand it as zero extension.
2111
2112 2012-07-14  Uros Bizjak  <ubizjak@gmail.com>
2113
2114         * config/i386/i386.md (QImode and HImode cmove splitters): Merge
2115         QImode and HImode splitters.  Use ix86_comparison_operator.
2116         Explicitly match FLAGS_REG.
2117         (DFmode cmove splitter): Explicitly match FLAGS_REG.
2118
2119 2012-07-13  Richard Sandiford  <rdsandiford@googlemail.com>
2120             Steven Bosscher  <steven@gcc.gnu.org>
2121             Bernd Schmidt  <bernds@codesourcery.com>
2122
2123         PR rtl-optimization/53908
2124         * df-problems.c (can_move_insns_across): When doing
2125         memory-reference book-keeping, handle call insns.
2126
2127 2012-07-10  Uros Bizjak  <ubizjak@gmail.com>
2128
2129         Backport from mainline
2130         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
2131
2132         PR target/53811
2133         * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
2134         sibcall_insn_operand.  Move it to a temporary register if not.
2135
2136         2012-07-06  Uros Bizjak  <ubizjak@gmail.com>
2137
2138         PR target/53853
2139         * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
2140         emit PIC sequence for fnaddr symbol reference in advance.
2141
2142 2012-07-09  Jason Merrill  <jason@redhat.com>
2143
2144         PR c++/53882
2145         * tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE.
2146         (type_hash_eq): Likewise.
2147
2148         PR c++/53826
2149         * tree.c (build_zero_cst): Handle NULLPTR_TYPE.
2150
2151 2012-07-07  Ulrich Weigand  <ulrich.weigand@linaro.org>
2152
2153         * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour
2154         due to negative shift amount.
2155
2156 2012-07-06  Kai Tietz  <ktietz@redhat.com>
2157
2158         Backport from mainline.
2159         PR bootstrap/52947
2160         * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
2161         as "/mingw/include".
2162
2163 2012-07-06  Nick Clifton  <nickc@redhat.com>
2164
2165         * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
2166         default_encode_section_info.
2167
2168 2012-07-06  Richard Guenther  <rguenther@suse.de>
2169
2170         Backport from mainline
2171         2012-03-30  Richard Guenther  <rguenther@suse.de>
2172
2173         PR middle-end/52786
2174         * double-int.c (rshift_double): Remove not needed cast.
2175
2176         2012-03-28  Richard Guenther  <rguenther@suse.de>
2177
2178         PR middle-end/50708
2179         * double-int.h (rshift_double): Remove.
2180         * double-int.c (lshift_double): Use absu_hwi to make count
2181         positive.
2182         (rshift_double): Make static, take unsigned count argument,
2183         remove handling of negative count argument.
2184         (double_int_rshift): Dispatch to lshift_double.
2185
2186 2012-07-06  Richard Guenther  <rguenther@suse.de>
2187
2188         Backport from mainline
2189         2012-06-18  Richard Guenther  <rguenther@suse.de>
2190
2191         PR tree-optimization/53693
2192         * tree-vect-patterns.c (vect_operation_fits_smaller_type):
2193         Reject operands with more than one use.
2194
2195 2012-07-06  Richard Guenther  <rguenther@suse.de>
2196
2197         Backport from mainline
2198         2012-04-11  Richard Guenther  <rguenther@suse.de>
2199
2200         PR middle-end/52621
2201         * tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
2202         consider loop nesting.
2203         (evolution_function_is_univariate_p): Properly check the remainder
2204         for chrecs.
2205
2206 2012-07-05  Pat Haugen <pthaugen@us.ibm.com>
2207
2208         Backport from mainline
2209         2012-05-24  Pat Haugen <pthaugen@us.ibm.com>
2210
2211         * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
2212         rs6000_sched_costly_dep default to true_store_to_load_dep_costly.
2213         (adjacent_mem_locations): Move some code to and call...
2214         (get_memref_parts): ...new function.
2215         (mem_locations_overlap): New function.
2216         (rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn.
2217         (is_mem_ref): Rename to...
2218         (find_mem_ref): ...this. Return MEM rtx.
2219         (get_store_dest): Remove function.
2220         (is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add
2221         new parameter and adjust calls.
2222         (rs6000_is_costly_dependence): Update calls for extra arg. Make sure
2223         mem refs overlap for true_store_to_load_dep_costly.
2224         (rs6000_sched_reorder2): Update calls for extra arg. Adjust args
2225         passed to adjacent_mem_locations.
2226         (is_costly_group): Walk resolved dependency list.
2227         (force_new_group): Emit group ending nop for Power6/Power7.
2228         * config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value.
2229         (group_ending_nop): New define_insn.
2230
2231 2012-07-04  Richard Guenther  <rguenther@suse.de>
2232
2233         PR middle-end/53433
2234         * gimple-fold.c (get_base_constructor): Do not return an
2235         error_mark_node DECL_INITIAL.
2236
2237 2012-07-04  Uros Bizjak  <ubizjak@gmail.com>
2238
2239         Backport from mainline
2240         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
2241
2242         * config/i386/i386.c (ix86_option_override_internal): Fix wrong
2243         code model string in the error message.
2244
2245 2012-07-04  Tristan Gingold  <gingold@adacore.com>
2246
2247         Backport from mainline.
2248         2012-06-25  Tristan Gingold  <gingold@adacore.com>
2249
2250         * config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ...
2251         (seh_cfa_adjust_cfa): ... that function.
2252         (seh_emit_stackalloc): Do not emit out of range values.
2253         * config/i386/i386.md: Delete unused UNSPEC_REG_SAVE,
2254         UNSPEC_DEF_CFA constants.
2255         * config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define.
2256         * config/i386/i386.c (ix86_frame_pointer_required): Required
2257         for very large frames on SEH target.
2258         (ix86_compute_frame_layout): Save area is before frame pointer
2259         on SEH target.  Handle very large frames.
2260         (ix86_expand_prologue): Likewise.
2261
2262 2012-07-04  Richard Guenther  <rguenther@suse.de>
2263
2264         * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same
2265         as in free_lang_data_in_type.
2266
2267 2012-07-02  Martin Jambor  <mjambor@suse.cz>
2268
2269         Backport from mainline.
2270         2012-07-02  Martin Jambor  <mjambor@suse.cz>
2271
2272         PR middle-end/38474
2273         * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a
2274         dynamic type change check.
2275
2276 2012-06-29  Eric Botcazou  <ebotcazou@adacore.com>
2277
2278         * tree-eh.c (lower_try_finally_switch): Really put the location of the
2279         last statement of the finally block onto the switch.
2280
2281 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2282
2283         * configure: Regenerate.
2284
2285         Backport from mainline.
2286         2012-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2287
2288         * config.gcc (target_type_format_char): New. Document it. Set it for
2289         arm*-*-* .
2290         * configure.ac (gnu_unique_option): Use target_type_format_char
2291         in test.  Comment rationale.
2292
2293 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2294
2295         Backport from mainline.
2296         2012-05-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2297
2298         * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
2299
2300 2012-06-28  Georg-Johann Lay  <avr@gjlay.de>
2301
2302         Backport from 2012-06-28 mainline r189049
2303
2304         PR 53595
2305         * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New.
2306         * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New.
2307         * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to
2308         avr_hard_regno_call_part_clobbered.
2309
2310 2012-06-28  Richard Guenther  <rguenther@suse.de>
2311
2312         PR middle-end/53790
2313         * expr.c (expand_expr_real_1): Verify if the type is complete
2314         before inspecting its size.
2315
2316 2012-06-27  Nick Clifton  <nickc@redhat.com>
2317
2318         * config/rx/rx.md (comparesi3_extend): Remove = modifier from
2319         input operand.
2320
2321 2012-06-26  Alexandre Oliva  <aoliva@redhat.com>
2322
2323         PR debug/53682
2324         * cselib.c (promote_debug_loc): Don't crash on NULL argument.
2325
2326 2012-06-26  Nick Clifton  <nickc@redhat.com>
2327
2328         * config/rx/rx.md (simple_return): Use the simple_return rtx.
2329
2330 2012-06-25  Jakub Jelinek  <jakub@redhat.com>
2331
2332         PR target/53759
2333         * config/i386/sse.md (sse_loadlps): Use x m x constraints instead
2334         of x x x in the vmovlps load alternative.
2335
2336 2012-06-22  Richard Guenther  <rguenther@suse.de>
2337
2338         * gcov-iov.c: Include bconfig.h and system.h.
2339
2340 2012-06-22  Richard Guenther  <rguenther@suse.de>
2341
2342         PR gcov-profile/53744
2343         * gcov-iov.c (main): Treat "" and "prerelease" the same.
2344
2345 2012-06-22  Eric Botcazou  <ebotcazou@adacore.com>
2346
2347         * tree-ssa-live.c (remove_unused_scope_block_p): Remove again
2348         DECL_IGNORED_P non-reg vars even if they are used.
2349
2350 2012-06-19  Jason Merrill  <jason@redhat.com>
2351
2352         PR c++/52637
2353         * dwarf2out.c (modified_type_die): Use scope_die_for.
2354         (gen_type_die_with_usage, dwarf2out_finish): Likewise.
2355         (uses_local_type_r, uses_local_type): New.
2356         (scope_die_for): Keep a type that uses a local type in local scope.
2357         Use get_context_die for namespace and type scope.
2358
2359 2012-06-19  Richard Guenther  <rguenther@suse.de>
2360
2361         PR middle-end/53470
2362         * tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
2363         replace it with the first non-BLOCK context.
2364
2365 2012-06-18  Vladimir Makarov  <vmakarov@redhat.com>
2366
2367         PR rtl-optimization/53700
2368
2369         Backport from mainline
2370         2012-03-29  Vladimir Makarov  <vmakarov@redhat.com>
2371
2372         * ira-color.c (setup_left_conflict_sizes_p): Process all
2373         conflicting objects.
2374
2375 2012-06-18  Venkataramanan Kumar <venkataramanan.kumar@amd.com>
2376
2377         Backport from mainline
2378         2012-05-09 Uros Bizjak  <ubizjak@gmail.com>
2379
2380         PR target/52908
2381         * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
2382         xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high.
2383         (vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern
2384         instead of xop_mulv2div2di3_low.
2385         (xop_p<macs>dql): Fix vec_select selector.
2386         (xop_p<macs>dqh): Ditto.
2387         (xop_mulv2div2di3_low): Remove insn_and_split pattern.
2388         (xop_mulv2div2di3_high): Ditto.
2389
2390 2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
2391
2392         Backport from mainline:
2393         2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
2394
2395         * config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
2396
2397 2012-06-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2398
2399         Backport from mainline:
2400         2012-06-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2401
2402         * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define.
2403         * config/pa/pa.c (pa_attr_length_millicode_call): Use
2404         MAX_PCREL17F_OFFSET instead of fixed offset.
2405         (pa_attr_length_call): Likewise.
2406         (pa_attr_length_indirect_call): Likewise.
2407
2408 2012-06-15  Walter Lee  <walt@tilera.com>
2409
2410         Backport from mainline:
2411         2012-06-15  Walter Lee  <walt@tilera.com>
2412
2413         * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.
2414
2415         2012-06-14  Maxim Kuvyrkov  <maxim@codesourcery.com>
2416
2417         * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
2418
2419 2012-06-15  Aldy Hernandez  <aldyh@redhat.com>
2420
2421         Backport from mainline:
2422
2423         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
2424         * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
2425         * gimple.h (block_in_transaction): Check for flag_tm.
2426
2427 2012-06-14  Aldy Hernandez  <aldyh@redhat.com>
2428
2429         PR tree-optimization/52558
2430
2431         Backport from mainline:
2432         2012-05-21  Aldy Hernandez  <aldyh@redhat.com>
2433         * gimple.h (gimple_set_in_transaction): Remove.
2434         (gimple_in_transaction): Look in BB instead.
2435         (gimple_statement_base): Remove in_transaction field.
2436         * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
2437         * trans-mem.c (compute_transaction_bits): Place transaction bit
2438         information into basic blocks.
2439
2440         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
2441
2442         PR tree-optimization/52558
2443         * cfg.c (alloc_aux_for_edge): Fix comment.
2444         (alloc_aux_for_edge): Remove static.
2445         * basic-block.h (alloc_aux_for_edge): Protoize.
2446         * tree-ssa-loop-im.c (execute_sm_if_changed): New.
2447         (execute_sm_if_changed_flag): New.
2448         (execute_sm_if_changed_flag_set): New.
2449         (execute_sm): Do not generate data races unless requested.
2450         (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
2451         (tree_ssa_lim_finalize): Call free_aux_for_edges.
2452         * gimple.h (block_in_transaction): New.
2453         (gimple_in_transaction): Use block_in_transaction.
2454
2455 2012-06-14  Jakub Jelinek  <jakub@redhat.com>
2456
2457         Backported from mainline
2458         2012-06-12  Jakub Jelinek  <jakub@redhat.com>
2459
2460         PR rtl-optimization/53589
2461         * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
2462         discovery even when e->dest != target.  If any LABEL_REF points
2463         to e->dest label, redirect it to target's label.
2464
2465         2012-06-07  Jakub Jelinek  <jakub@redhat.com>
2466
2467         PR middle-end/53580
2468         * omp-low.c (scan_omp_1_stmt): If check_omp_nesting_restrictions
2469         returns false, replace stmt with GIMPLE_NOP.
2470         (check_omp_nesting_restrictions): Instead of issuing warnings,
2471         issue errors and return false if any errors were reported.
2472
2473 2012-06-14  Richard Guenther  <rguenther@suse.de>
2474
2475         * BASE-VER: Set to 4.7.2.
2476         * DEV-PHASE: Set to prerelease.
2477
2478 2012-06-12  Christian Bruel  <christian.bruel@st.com>
2479
2480         PR target/53621
2481         * config/sh/sh.c (sh_option_override): Don't force
2482          flag_omit_frame_pointer and maccumulate_outgoing_args.
2483         * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
2484
2485 2012-06-14  Release Manager
2486
2487         * GCC 4.7.1 released.
2488
2489 2012-06-13  Uros Bizjak  <ubizjak@gmail.com>
2490
2491         * config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
2492
2493 2012-06-13  Richard Henderson  <rth@redhat.com>
2494
2495         * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
2496         iterator instead of INT.
2497
2498 2012-06-08  Richard Henderson  <rth@redhat.com>
2499
2500         PR c++/53602
2501         * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
2502         note to a clobber insn when no other insn is available.
2503
2504 2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>
2505
2506         PR c++/53524
2507         * doc/invoke.texi (Wenum-compare): Update documentation.
2508
2509 2012-06-04  Edmar Wienskoski  <edmar@freescale.com>
2510
2511         PR target/53559
2512         * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
2513         operands.
2514         (altivec_stvlxl): Ditto.
2515         (altivec_stvrx): Ditto.
2516         (altivec_stvrxl): Ditto.
2517
2518 2012-06-04  Aldy Hernandez  <aldyh@redhat.com>
2519
2520         PR middle-end/47530
2521         * trans-mem.c (expand_block_edges): Do not skip the first
2522         statement when resetting the BB.
2523
2524 2012-06-04  Richard Guenther  <rguenther@suse.de>
2525
2526         PR middle-end/53471
2527         * dwarf2out.c (dwarf2out_finish): If generating LTO do not
2528         create new assembler names.
2529
2530 2012-06-04  Richard Guenther  <rguenther@suse.de>
2531
2532         Backport from mainline
2533         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
2534
2535         PR middle-end/52979
2536         * stor-layout.c (get_best_mode): Don't return mode with bitsize
2537         larger than maxbits.  Don't compute maxbits modulo align.
2538         Also check that unit bytes long store at bitpos / unit * unit
2539         doesn't affect bits beyond bitregion_end.
2540         * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
2541         would not fit into bitregion_start ... bitregion_end + 1 bit
2542         region.
2543         (store_split_bit_field): Decrease unit close to end of bitregion_end
2544         if access is restricted in order to avoid mutual recursion.
2545
2546 2012-06-04  Georg-Johann Lay  <avr@gjlay.de>
2547
2548         Backport from 2012-06-04 mainline r188172
2549
2550         PR target/46261
2551         * config/avr/avr-stdint.h: New file.
2552         * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
2553         newlib-stdint.h
2554
2555 2012-06-04  Jakub Jelinek  <jakub@redhat.com>
2556
2557         PR tree-optimization/53550
2558         * tree-ssa-loop-niter.c (number_of_iterations_cond): If type
2559         is POINTER_TYPE_P, use sizetype as step type instead of type.
2560
2561 2012-06-04  Richard Guenther  <rguenther@suse.de>
2562             Eric Botcazou  <ebotcazou@adacore.com>
2563
2564         Backport from mainline
2565         2012-04-03  Eric Botcazou  <ebotcazou@adacore.com>
2566
2567         * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS.
2568         Change type of BITOFFSET to signed.  Make sure the lower bound of
2569         the computed range is non-negative by adjusting OFFSET and BITPOS.
2570         (expand_assignment): Adjust call to get_bit_range.
2571
2572         2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
2573
2574         * expr.c (get_bit_range): Return the null range if the enclosing record
2575         is part of a larger bit field.
2576
2577         2012-03-20  Richard Guenther  <rguenther@suse.de>
2578
2579         * stor-layout.c (finish_bitfield_representative): Fallback
2580         to conservative maximum size if the padding up to the next
2581         field cannot be computed as a constant.
2582         (finish_bitfield_layout): If we cannot compute the distance
2583         between the start of the bitfield representative and the
2584         bitfield member start a new representative.
2585         * expr.c (get_bit_range): The distance between the start of
2586         the bitfield representative and the bitfield member is zero
2587         if the field offsets are not constants.
2588
2589         2012-03-16  Richard Guenther  <rguenther@suse.de>
2590
2591         * stor-layout.c (finish_bitfield_representative): Fall back
2592         to the conservative maximum size if we cannot compute the
2593         size of the tail padding.
2594
2595         2012-03-14  Richard Guenther  <rguenther@suse.de>
2596
2597         * tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define.
2598         * stor-layout.c (start_bitfield_representative): New function.
2599         (finish_bitfield_representative): Likewise.
2600         (finish_bitfield_layout): Likewise.
2601         (finish_record_layout): Call finish_bitfield_layout.
2602         * tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER
2603         for QUAL_UNION_TYPE fields.
2604         * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
2605         Stream DECL_BIT_FIELD_REPRESENTATIVE.
2606         * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
2607
2608         PR middle-end/52080
2609         PR middle-end/52097
2610         PR middle-end/48124
2611         * expr.c (get_bit_range): Unconditionally extract bitrange
2612         from DECL_BIT_FIELD_REPRESENTATIVE.
2613         (expand_assignment): Adjust call to get_bit_range.
2614
2615 2012-06-01  Eric Botcazou  <ebotcazou@adacore.com>
2616
2617         PR middle-end/53501
2618         * fold-const.c (fold_binary_loc): Refine previous change.
2619
2620 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
2621
2622         Backport from mainline
2623         2012-03-27  Chung-Lin Tang  <cltang@codesourcery.com>
2624
2625         PR target/52667
2626         * config/sh/sh.c (find_barrier): Add equality check of last_got to
2627         avoid going above orig insn.  Update comments.
2628
2629 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
2630
2631         Backport from mainline
2632         2012-03-21  Kaz Kojima  <kkojima@gcc.gnu.org>
2633
2634         PR target/52642
2635         * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
2636         prologue for unwinder and profiler.
2637
2638 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
2639
2640         Backport from mainline
2641         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
2642
2643         * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
2644
2645 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
2646
2647         Backport from mainline
2648         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
2649
2650         * config/sh/sh.c (sh_dwarf_register_span): Don't apply
2651         DBX_REGISTER_NUMBER.
2652
2653 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
2654
2655         Backport from mainline
2656         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
2657
2658         * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
2659         operand is CONST_INT.  Take COSTS_N_INSNS into account.
2660         (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value of
2661         shiftcosts.     
2662
2663 2012-05-31  Georg-Johann Lay  <avr@gjlay.de>
2664
2665         * config/avr/avr.opt (-msp8): Document it.
2666         * doc/invoke.texi (AVR Options): Copy from trunk docu.
2667
2668 2012-05-31  Richard Guenther  <rguenther@suse.de>
2669
2670         PR middle-end/48493
2671         * expr.c (expand_assignment): Do not use movmisalign on
2672         non-memory.
2673
2674 2012-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2675
2676         PR target/52999
2677         * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
2678         (pa_section_type_flags): New.
2679         (pa_legitimate_constant_p): Revert previous change.
2680
2681 2012-05-30  Aldy Hernandez  <aldyh@redhat.com>
2682
2683         Backport from mainline
2684         2012-05-25  Aldy Hernandez  <aldyh@redhat.com>
2685
2686         PR middle-end/53008
2687         * trans-mem.c (ipa_tm_create_version_alias): Output new_node if
2688         accessed indirectly.
2689         (ipa_tm_create_version): Same.
2690
2691 2012-05-30  Jason Merrill  <jason@redhat.com>
2692
2693         PR c++/53220
2694         * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning
2695         about array compound literals.
2696
2697 2012-05-30  Richard Guenther  <rguenther@suse.de>
2698
2699         PR middle-end/53501
2700         * fold-const.c (fold_binary_loc): Make sure to call
2701         fold_plusminus_mult_expr with the original sign of operands.
2702
2703 2012-05-30  Eric Botcazou  <ebotcazou@adacore.com>
2704
2705         * explow.c (probe_stack_range): Restore simple control flow and stop
2706         again when the probe cannot be generated if HAVE_check_stack.
2707
2708 2012-05-30  Jakub Jelinek  <jakub@redhat.com>
2709
2710         PR rtl-optimization/53519
2711         * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
2712         instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
2713
2714 2012-05-29  Richard Guenther  <rguenther@suse.de>
2715
2716         PR tree-optimization/53516
2717         * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
2718         bitfield accesses.
2719         * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
2720
2721 2012-05-28  Bill Schmidt  <wschmidt@linux.ibm.com>
2722
2723         Backport from mainline
2724         2012-05-28  Richard Guenther  <rguenther@suse.de>
2725
2726         PR tree-optimization/53438
2727         * tree-sra.c (analyze_access_subtree): Correct bitfield exclusion.
2728
2729 2012-05-26  Eric Botcazou  <ebotcazou@adacore.com>
2730
2731         Backport from mainline
2732         2012-03-10  Chung-Lin Tang  <cltang@codesourcery.com>
2733
2734         PR rtl-optimization/52528
2735         * combine.c (can_combine_p): Add setting of subst_low_luid
2736         before call to expand_field_assignment().
2737
2738 2012-05-26  Martin Jambor  <mjambor@suse.cz>
2739
2740         Backport from mainline
2741         2012-05-23  Martin Jambor  <mjambor@suse.cz>
2742
2743         * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.
2744
2745 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
2746
2747         PR lto/52178
2748         * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
2749         * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
2750
2751 2012-05-25  Alexander Ivchenko  <alexander.ivchenko@intel.com>
2752
2753         PR target/53435
2754         * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
2755         (ix86_expand_vec_perm): Use int mode instead of float.
2756
2757 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
2758
2759         PR ada/52362
2760         * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
2761         gnu_ld variables to yes.
2762         * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
2763         (HAVE_GNU_AS): Likewise.
2764         * config.in: Regenerate.
2765         * configure: Likewise.
2766
2767 2012-05-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2768
2769         Backport from mainline
2770         2012-03-12  Richard Guenther  <rguenther@suse.de>
2771         * config/arm/arm.c (neon_dereference_pointer): Do not call
2772         covert during RTL expansion.
2773
2774 2012-05-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2775
2776         Backport from mainline
2777         2012-05-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2778
2779         PR target/53385
2780         * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
2781         relied on signed overflow behavior.
2782
2783 2012-05-24  Richard Guenther  <rguenther@suse.de>
2784
2785         PR middle-end/53460
2786         * tree-profile.c (tree_profiling): Cleanup the CFG if
2787         execute_fixup_cfg requests it.
2788
2789 2012-05-24  Jakub Jelinek  <jakub@redhat.com>
2790
2791         PR tree-optimization/53465
2792         * tree-vrp.c (extract_range_from_cond_expr): First copy_value_range
2793         vr0 into *vr, then vrp_meet that.
2794         (vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't
2795         have any equivalences.
2796         (vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the
2797         first time.
2798
2799 2012-05-23  Eric Botcazou  <ebotcazou@adacore.com>
2800
2801         * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
2802         size handling.
2803         (gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise.
2804         (iterative_hash_gimple_type): Adjust comment.
2805         (iterative_hash_canonical_type): Likewise.  Hash the bounds of the
2806         domain for an array type instead of the domain type itself.
2807
2808 2012-05-23  Georg-Johann Lay  <avr@gjlay.de>
2809
2810         Backport from 2012-05-23 mainline r187803
2811
2812         PR target/53448
2813         * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
2814         * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
2815         ASM_OUTPUT_ALIGN.
2816
2817 2012-05-23  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
2818
2819         Backport from 2012-05-03 mainline r187075
2820
2821         * config/i386/driver-i386.c (host_detect_local_cpu): Reset
2822         has_fma4 for AMD processors with both fma3 and fma4 support.
2823
2824 2012-05-22  Richard Guenther  <rguenther@suse.de>
2825
2826         PR tree-optimization/53408
2827         * tree-vect-loop.c (vectorizable_induction): Properly check
2828         the restriction that we cannot handle induction results from
2829         the inner loop outside of the outer loop.
2830
2831 2012-05-21  Jakub Jelinek  <jakub@redhat.com>
2832
2833         PR tree-optimization/53436
2834         * omp-low.c (omp_build_component_ref): New function.
2835         (build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.
2836
2837         PR tree-optimization/53366
2838         * tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
2839         tests if complex_numbers == 2, but there are non-complex number loads
2840         too.
2841
2842         PR tree-optimization/53409
2843         * tree-vect-loop.c (vect_analyze_loop_operations): Don't check
2844         vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.
2845
2846         PR tree-optimization/53410
2847         * fold-const.c (fold_binary_loc): Use build_zero_cst (type)
2848         instead of build_int_cst (type, 0) where vector types might be
2849         involved.
2850
2851 2012-05-21  Joseph Myers  <joseph@codesourcery.com>
2852
2853         PR c/53418
2854         * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
2855         from folded operands before wrapping another around the
2856         conditional expression.
2857
2858 2012-05-21  Dave Boutcher  <daveboutcher@gmail.com>
2859             Patrick Marlier  <patrick.marlier@gmail.com>
2860
2861         * trans-mem.c (ipa_tm_transform_clone): Transform functions with
2862         indirect calls.
2863
2864 2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
2865
2866         Backport from mainline
2867         2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
2868
2869         PR target/53416
2870         * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
2871         (UNSPECV_RDRAND): This.
2872         (rdrand<mode>_1): Updated.
2873
2874 2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
2875
2876         Backport from mainline
2877         2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
2878
2879         * config/i386/driver-i386.c (host_detect_local_cpu): Support
2880         RDRND, F16C and FSGSBASE.
2881
2882 2012-05-19  Eric Botcazou  <ebotcazou@adacore.com>
2883
2884         Backport from mainline
2885         2012-05-14  Eric Botcazou  <ebotcazou@adacore.com>
2886
2887         * tree-ssa-pre.c (can_value_number_call): Delete.
2888         (compute_avail): Skip all statements with side effects.
2889         <GIMPLE_CALL>: Skip calls to internal functions.
2890
2891 2012-05-18  David S. Miller  <davem@davemloft.net>
2892
2893         Backport r185385 from mainline
2894         2012-03-14  Richard Guenther  <rguenther@suse.de>
2895
2896         PR middle-end/52584
2897         * tree-vect-generic.c (type_for_widest_vector_mode): Take
2898         element type instead of mode, use build_vector_type_for_mode
2899         instead of the langhook, build a vector of proper signedness.
2900         (expand_vector_operations_1): Adjust.
2901
2902 2012-05-18  Olivier Hainque  <hainque@adacore.com>
2903
2904         * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of
2905         $(libsubdir) as libexecsubdir.
2906
2907 2012-05-16  Andrew Pinski  <apinski@cavium.com>
2908
2909         * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
2910         GIMPLE_ASSIGN.
2911
2912 2012-05-16  David S. Miller  <davem@davemloft.net>
2913
2914         * jump.c (delete_related_insns): If we remove a CALL, make sure
2915         we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.
2916
2917 2012-05-16  Richard Henderson  <rth@redhat.com>
2918
2919         PR debug/52727
2920         * combine-stack-adj.c (prev_active_insn_bb): New.
2921         (next_active_insn_bb): New.
2922         (force_move_args_size_note): New.
2923         (combine_stack_adjustments_for_block): Use it.
2924
2925 2012-05-16  Olivier Hainque  <hainque@adacore.com>
2926
2927         * Makefile.in (install-no-fixedincludes): New target, former toplevel
2928         gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
2929         Add comments and improve stamp preservation across the whole sequence.
2930         (stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.
2931
2932 2012-05-16  Richard Guenther  <rguenther@suse.de>
2933
2934         PR tree-optimization/53364
2935         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
2936         detect a view-conversion of the decl.
2937
2938 2012-05-15  Jakub Jelinek  <jakub@redhat.com>
2939
2940         PR target/53358
2941         * config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
2942         that operands[2] is either immediate, or q_regs_operand.
2943
2944 2012-05-15  Bin Cheng  <bin.cheng@arm.com>
2945
2946         Backport r187139 from mainline.
2947         2012-05-04  Bin Cheng  <bin.cheng@arm.com>
2948
2949         PR rtl-optimization/52804
2950         * reload1.c (reload_reg_reaches_end_p): Check whether successor
2951         reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
2952         of current one with type RELOAD_FOR_INPADDR_ADDRESS.
2953         Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
2954         RELOAD_FOR_OUTADDR_ADDRESS.
2955
2956 2012-05-14  Uros Bizjak  <ubizjak@gmail.com>
2957
2958         PR target/46098
2959         * config/i386/i386.c (ix86_expand_special_args_builtin): Always
2960         generate target register for "load" class builtins.
2961
2962         Revert:
2963         2010-10-22  Uros Bizjak  <ubizjak@gmail.com>
2964
2965         PR target/46098
2966         * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
2967         Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
2968         (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
2969         (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
2970         (<sse>_movu<ssemodesuffix>): New expander.
2971         (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
2972         (avx_movdqu<avxmodesuffix>): New expander.
2973         (*sse2_movdqu): Rename from sse2_movdqu.
2974         (sse2_movdqu): New expander.
2975
2976 2012-05-14  Jakub Jelinek  <jakub@redhat.com>
2977
2978         * dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat
2979         lineno 1 the same as lineno 0 before first start file directive.
2980         (optimize_macinfo_range): Likewise.
2981
2982         * dwarf2out.c (have_macinfo): Define.
2983         (dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info
2984         attribute, don't force empty compilation unit and don't emit any
2985         .debug_macinfo/.debug_macro section if macinfo_table is empty.
2986
2987 2012-05-13  Uros Bizjak  <ubizjak@gmail.com>
2988
2989         Backport from mainline
2990         2012-05-12  Uros Bizjak  <ubizjak@gmail.com>
2991
2992         * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
2993         ORDERED and UNORDERED conditions.
2994
2995 2012-05-12  Eric Botcazou  <ebotcazou@adacore.com>
2996
2997         * function.c (requires_stack_frame_p): If the function can throw
2998         non-call exceptions, return true if the insn can throw internally.
2999
3000 2012-05-10  Eric Botcazou  <ebotcazou@adacore.com>
3001
3002         * gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the
3003         DECL_ORIGINAL_TYPE if it is present.
3004
3005 2012-05-09  Georg-Johann Lay  <avr@gjlay.de>
3006
3007         Backport from 2012-05-12 mainline r187342.
3008
3009         PR target/53256
3010         * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
3011         * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
3012         * config/avr/avr.h (struct machine_function): Add attributes_checked_p.
3013         * config/avr/avr.c (avr_asm_declare_function_name): Remove.
3014         (expand_prologue): Move initialization of cfun->machine->is_naked,
3015         is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
3016         (avr_set_current_function): ...this new static function.
3017         (TARGET_SET_CURRENT_FUNCTION): New define.
3018         (avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
3019         checking attributes of current_function_decl.
3020         (avr_regs_to_save): Ditto.
3021         (signal_function_p): Rename to avr_signal_function_p.
3022         (interrupt_function_p): Rename to avr_interrupt_function_p.
3023
3024         * doc/extend.texi (Function Attributes): Better explanation of
3025         'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
3026         alphabetical order.
3027
3028 2012-05-09  Matthias Klose  <doko@ubuntu.com>
3029
3030         * gcc-ar.c (main): Don't check for execute bits for the plugin.
3031
3032 2012-05-08  Hans-Peter Nilsson  <hp@axis.com>
3033
3034         PR target/53272
3035         * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
3036         when a constant source operand matches an "I" constraint, the "no
3037         CC0 change" applies to a register-destination only, not a
3038         strict_low_part-destination.
3039
3040 2012-05-07  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3041
3042         Backport from mainline:
3043         2012-04-19  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3044
3045         * config/arm/sync.md (sync_optab): Change ior attribute to "or".
3046
3047 2012-05-07  Jakub Jelinek  <jakub@redhat.com>
3048
3049         PR tree-optimization/53239
3050         * tree-vrp.c (get_value_range): Set VR of
3051         SSA_NAME_IS_DEFAULT_DEF of DECL_BY_REFERENCE RESULT_DECL
3052         to nonnull.
3053
3054 2012-05-07  Richard Guenther  <rguenther@suse.de>
3055
3056         PR tree-optimization/53195
3057         * tree-inline.c (setup_one_parameter): Properly add referenced
3058         vars from the parameters new known value.
3059
3060 2012-05-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3061
3062         Backport from mainline:
3063         2012-04-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3064
3065         PR target/52999
3066         * config/pa/pa.c (pa_legitimate_constant_p): Don't put function labels
3067         in constant pool.
3068
3069 2012-05-04  Ian Lance Taylor  <iant@google.com>
3070
3071         * tree-vect-patterns.c (vect_single_imm_use): Correct return
3072         values from false to NULL.
3073
3074 2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
3075
3076         Backport from mainline
3077         2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
3078
3079         PR target/53228
3080         * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
3081         (TARGET_CMOV): Rename from TARGET_CMOVE.
3082         (TARGET_CMOVE): New define.
3083         * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
3084         Do not set TARGET_CMOVE here.
3085
3086 2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
3087
3088         Backport from mainline:
3089
3090         2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
3091
3092         PR tree-optimization/52633
3093         * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
3094         vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
3095         (vect_recog_over_widening_pattern): Remove handling of code that was
3096         already detected as over-widening pattern.  Remove special handling
3097         of "unsigned" cases.  Instead, support general case of conversion
3098         of the shift result to another type.
3099
3100         2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
3101
3102         * tree-vect-patterns.c (vect_single_imm_use): New function.
3103         (vect_recog_widen_mult_pattern): Use it instead of open-coding loop.
3104         (vect_recog_over_widening_pattern): Likewise.
3105         (vect_recog_widen_shift_pattern): Likewise.
3106
3107         2012-04-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
3108
3109         PR tree-optimization/52870
3110         * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Verify that
3111         presumed pattern statement is within the same loop or basic block.
3112
3113 2012-05-04  Richard Guenther  <rguenther@suse.de>
3114
3115         * common.opt (flto-report): Do not mark as Optimization.
3116
3117 2012-05-04  Eric Botcazou  <ebotcazou@adacore.com>
3118
3119         PR target/48496
3120         * recog.c (constrain_operands): If extra constraints are present, also
3121         accept pseudo-registers with equivalent memory locations during reload.
3122
3123 2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
3124
3125         Backport from the mainline
3126         2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
3127
3128         PR target/53199
3129         * config/rs6000/rs6000.md (bswapdi splitters): If
3130         -mavoid-indexed-addresses (or -mcpu=power6 which sets it by
3131         default) is used, generate an alternate sequence that does not
3132         depend on using indexed addressing.
3133
3134 2012-05-03  David S. Miller  <davem@davemloft.net>
3135
3136         PR target/52684
3137         * config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
3138         MEM directly into a libcall, mark it's MEM_EXPR as addressable.
3139         (sparc_emit_float_lib_cmp): Likewise.
3140
3141 2012-05-04  Martin Jambor  <mjambor@suse.cz>
3142
3143         Backport from mainline
3144         2012-05-02  Martin Jambor  <mjambor@suse.cz>
3145
3146         PR lto/52605
3147         * dwarf2out.c (dwarf2out_decl): Only lookup die representing context
3148         of a variable when the contect is a function.
3149
3150 2012-05-03  Jakub Jelinek  <jakub@redhat.com>
3151
3152         PR plugins/53126
3153         * gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env,
3154         append program name to it and pass that as first argument
3155         to make_relative_prefix.  Always pass standard_libexec_prefix
3156         as last argument to make_relative_prefix.  If
3157         make_relative_prefix returns NULL, fall back to
3158         standard_libexec_prefix.
3159
3160         PR debug/53174
3161         * tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being
3162         removed.
3163
3164         PR target/53187
3165         * config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class
3166         mode, return that mode.
3167
3168 2012-05-03  Richard Guenther  <rguenther@suse.de>
3169
3170         PR tree-optimization/53144
3171         * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
3172         Rename to ...
3173         (vn_reference_lookup_or_insert_for_pieces): ... this.  Properly deal
3174         with SSA name values.
3175         (vn_reference_lookup_3): Adjust callers.
3176
3177 2012-05-02  Jakub Jelinek  <jakub@redhat.com>
3178
3179         PR tree-optimization/53163
3180         * tree-ssa-phiopt.c (cond_if_else_store_replacement): Don't ignore
3181         return value from compute_all_dependences.
3182
3183         PR rtl-optimization/53160
3184         * ree.c (combine_reaching_defs): Handle the case where cand->insn
3185         has been modified by ree pass already.
3186
3187 2012-05-01  Uros Bizjak  <ubizjak@gmail.com>
3188
3189         Backport from mainline
3190         2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
3191
3192         PR middle-end/53136
3193         * ipa-prop.c (ipa_print_node_jump_functions): Wrap multiple
3194         calls to cgraph_node_name in xstrdup.
3195         (ipa_make_edge_direct_to_target): Ditto.
3196         * tree-sra.c (convert_callers_for_node): Ditto.
3197         * lto-symtab.c (lto_cgraph_replace_node): Ditto.
3198         * ipa-cp.c (perhaps_add_new_callers): Ditto.
3199         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Ditto.
3200         (cgraph_materialize_all_clones): Ditto.
3201         * ipa-inline.c (report_inline_failed_reason): Ditto.
3202         (want_early_inline_function_p): Ditto.
3203         (edge_badness): Ditto.
3204         (update_edge_key): Ditto.
3205         (flatten_function): Ditto.
3206         (ipa_inline): Ditto.
3207         (inline_always_inline_functions): Ditto.
3208         (early_inline_small_functions): Ditto.
3209
3210 2012-04-30  Andreas Tobler  <andreast@fgznet.ch>
3211
3212         Backport from mainline
3213         2012-03-21  Andreas Tobler  <andreast@fgznet.ch>
3214
3215         * configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*.
3216         Introduce emul_name to select the right linker emulation for
3217         powerpc64-*-freebsd*.
3218         * configure: Regenerate.
3219         * config.gcc: Add bits to support powerpc64-*-freebsd*.
3220         * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define.
3221         * config/rs6000/freebsd64.h: New file.
3222         * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
3223         POWERPC_FREEBSD.
3224         (rs6000_savres_strategy): Likewise.
3225         (rs6000_savres_routine_name): Likewise.
3226         (rs6000_elf_file_end): Likewise.
3227         * config/rs6000/t-freebsd64: New file.
3228         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the
3229         rs6000_current_abi for 64-bit FreeBSD to ABI_AIX.
3230
3231 2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
3232
3233         Backport from mainline
3234         2012-04-27  Paolo Bonzini  <bonzini@gnu.org>
3235
3236         PR target/53138
3237         * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber.
3238
3239 2012-04-30  Eric Botcazou  <ebotcazou@adacore.com>
3240
3241         * config/i386/i386.c (ix86_handle_struct_attribute): Use the proper
3242         predicate to discriminate types.
3243
3244 2012-04-27  Richard Guenther  <rguenther@suse.de>
3245
3246         PR c/51527
3247         * convert.c (convert_to_integer): Avoid infinite recursion for
3248         target-defined built-in types.
3249
3250 2012-04-26  Hans-Peter Nilsson  <hp@axis.com>
3251
3252         PR target/53120
3253         * config/cris/cris.md ("*andhi_lowpart_v32")
3254         ("*andqi_lowpart_v32"): Change first input-only operand from
3255         a (match_operand ...) to (match_dup 0).  Drop alternatives with
3256         const_int-matching constraints for redundancy.
3257         ("*andhi_lowpart_non_v32", "*andqi_lowpart_non_v32"): Ditto.  Drop
3258         three-operand alternative.
3259
3260 2012-04-26  Uros Bizjak  <ubizjak@gmail.com>
3261
3262         Backport from mainline
3263         2012-04-23  Uros Bizjak  <ubizjak@gmail.com>
3264
3265         * config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative.
3266         (*addsi_2_zext): Ditto.
3267         (*add<mode>_3): Ditto.
3268         (*addsi_3_zext): Ditto.
3269         (*add<mode>_5): Ditto.
3270
3271 2012-04-25  Jakub Jelinek  <jakub@redhat.com>
3272
3273         PR c/52880
3274         * c-typeck.c (set_nonincremental_init,
3275         set_nonincremental_init_from_string): Pass true instead of false
3276         as IMPLICIT to add_pending_init.
3277
3278 2012-04-24  Georg-Johann Lay  <avr@gjlay.de>
3279
3280         Backport from 2012-04-24 mainline r186768.
3281
3282         PR target/53065
3283         * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define.
3284
3285 2012-04-24  Richard Guenther  <rguenther@suse.de>
3286
3287         PR tree-optimization/53085
3288         * tree-ssa-pre.c (eliminate): Do not eliminate volatile redundant
3289         stores.
3290
3291 2012-04-24  Jakub Jelinek  <jakub@redhat.com>
3292
3293         PR middle-end/53084
3294         * varasm.c (compute_reloc_for_constant): Handle ADDR_EXPR
3295         of MEM_REF.
3296         (output_addressed_constants): Likewise.
3297
3298         PR middle-end/52999
3299         * varasm.c (get_section): Don't ICE for section conflicts with
3300         built-in section kinds.
3301
3302 2012-04-23  David Edelsohn  <dje.gcc@gmail.com>
3303
3304         * config/rs6000/sync.md (fetchop_name): Change ior attribute to "or".
3305
3306 2012-04-23  Georg-Johann Lay  <avr@gjlay.de>
3307
3308         * doc/extend.texi (AVR Named Address Spaces): Fix typos.
3309
3310 2012-04-23  Richard Guenther  <rguenther@suse.de>
3311
3312         PR c/53060
3313         * c-typeck.c (build_binary_op): Fix typo.
3314
3315 2012-04-23  Jakub Jelinek  <jakub@redhat.com>
3316
3317         PR tree-optimizations/52891
3318         * tree-vect-patterns.c (adjust_bool_pattern): Use
3319         build_nonstandard_type even if rhs1 has unsigned INTEGER_TYPE,
3320         but with non-standard precision.
3321
3322 2012-04-22  Ian Lance Taylor  <iant@google.com>
3323
3324         * godump.c (go_output_typedef): Dump size of structs.
3325
3326 2012-04-20  Ulrich Weigand  <ulrich.weigand@linaro.org>
3327
3328         Backport from mainline:
3329
3330         * config/arm/arm.c (arm_print_operand): Fix invalid alignment
3331         hints for 'A' operand types.
3332
3333 2012-04-19  Georg-Johann Lay  <avr@gjlay.de>
3334
3335         Backport from 2012-04-19 mainline r186588.
3336
3337         PR target/53033
3338         * config/avr/avr.c (avr_out_load_psi): Fix assembler template for
3339         the case *(X+const).
3340
3341 2012-04-18  Uros Bizjak  <ubizjak@gmail.com>
3342
3343         * config/alpha/sync.md (fetchop_name): Change ior attribute to "or".
3344
3345 2012-04-17  Uros Bizjak  <ubizjak@gmail.com>
3346
3347         PR target/53020
3348         * config/i386/sync.md (atomic_<code><mode>): Rename to
3349         atomic_<logic><mode>.
3350
3351 2012-04-16  Uros Bizjak  <ubizjak@gmail.com>
3352
3353         Backport from mainline
3354         2012-04-12  Uros Bizjak  <ubizjak@gmail.com>
3355
3356         PR target/52932
3357         * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
3358         argument type to __m256i.  Update call to __builtin_ia32_permvarsf256.
3359         * config/i386/sse.md (avx2_permvarv8sf): Change operand 1 to V8SI.
3360         (avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
3361         * config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
3362         Update builtin type to V8SF_FTYPE_V8SF_V8SI.
3363         (ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
3364         gen_avx2_permvarv8sf.
3365
3366 2012-04-16  Martin Jambor  <mjambor@suse.cz>
3367
3368         Backported from mainline
3369
3370         2012-04-13  Martin Jambor  <mjambor@suse.cz>
3371         PR middle-end/52939
3372
3373         * gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
3374         fold_ctor_reference returns a zero constant.
3375
3376 2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
3377
3378         Backported from mainline
3379         2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
3380
3381         * config/i386/i386-c.c (ix86_target_macros): Define _ILP32
3382         and __ILP32__ for x32.
3383
3384 2012-04-13  Tom de Vries  <tom@codesourcery.com>
3385
3386         Backport from mainline r186418.
3387
3388         2012-04-13  Tom de Vries  <tom@codesourcery.com>
3389
3390         * tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add
3391         parameters vuse and vuse_escaped.
3392         (find_duplicate): Init vuse1, vuse2 and vuse_escaped.  Pass to
3393         gsi_advance_bw_nondebug_nonlocal.  Return if vuse_escaped and
3394         vuse1 != vuse2.
3395
3396 2012-04-13  Richard Guenther  <rguenther@suse.de>
3397
3398         PR tree-optimization/52969
3399         * tree-if-conv.c (predicate_mem_writes): Properly gimplify
3400         the condition for the COND_EXPR and handle predicate negation
3401         by swapping the COND_EXPR arms.
3402
3403 2012-04-13  Richard Guenther  <rguenther@suse.de>
3404
3405         PR c/52862
3406         * convert.c (convert_to_pointer): Remove special-casing of
3407         zero.
3408
3409 2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
3410
3411         Backport from mainline
3412         2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
3413
3414         PR target/52775
3415         * config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
3416         the list of options to enable the FCFID instruction.
3417         (TARGET_EXTRA_BUILTINS): Adjust comment.
3418
3419 2012-04-12  Richard Guenther  <rguenther@suse.de>
3420
3421         PR tree-optimization/52943
3422         * tree-chrec.h (chrec_is_positive): Remove.
3423         * tree-scalar-evolution.c (chrec_is_positive): Move ...
3424         * tree-data-ref.c (chrec_is_positive): ... here.  Make static.
3425         Return false for a constant zero instead of negative.
3426         (analyze_siv_subscript_cst_affine): Handle zero difference
3427         in the initial condition explicitely.
3428
3429 2012-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3430
3431         PR middle-end/52894
3432         * varasm.c (process_pending_assemble_externals): Set
3433         pending_assemble_externals_processed true.
3434         (assemble_external): Call assemble_external_real if the pending
3435         assemble externals have been processed.
3436
3437 2012-04-09  Eric Botcazou  <ebotcazou@adacore.com>
3438
3439         PR target/52717
3440         * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
3441         the DECL generated for the special GOT helper.
3442
3443 2012-04-06  Walter Lee  <walt@tilera.com>
3444
3445         Backport from mainline
3446         2012-03-07  Walter Lee  <walt@tilera.com>
3447
3448         * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
3449         REG_CFA_* notes for the stack pointer.
3450         (tilegx_expand_epilogue): Restore stack pointer by adjusting it by
3451         EH_RETURN_STACKADJ_RTX.
3452         * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
3453         generate REG_CFA_* notes for the stack pointer.
3454         (tilepro_expand_epilogue): Restore stack pointer by adjusting it
3455         by EH_RETURN_STACKADJ_RTX.
3456
3457 2012-04-06  Matt Turner  <mattst88@gmail.com>
3458
3459         * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc".
3460
3461 2012-04-06  Eric Botcazou  <ebotcazou@adacore.com>
3462
3463         * config/ia64/ia64.c (ia64_load_pair_ok): Return 0 if the second member
3464         of the destination isn't also a FP_REGS register.
3465
3466 2012-04-03  Richard Guenther  <rguenther@suse.de>
3467
3468         Backport from mainline
3469         2012-03-02  Richard Guenther  <rguenther@suse.de>
3470
3471         PR tree-optimization/52406
3472         * tree-data-ref.h: Update documentation about DR_BASE_OBJECT.
3473         (struct indices): Add unconstrained_base member.
3474         (struct dr_alias): Remove unused vops member.
3475         (DR_UNCONSTRAINED_BASE): New define.
3476         * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs
3477         add indices to allow their disambiguation.  Make DR_BASE_OBJECT
3478         be an artificial access that covers the whole indexed object,
3479         or mark it with DR_UNCONSTRAINED_BASE if we cannot do so.  Canonicalize
3480         plain decl base-objects to their MEM_REF variant.
3481         (dr_may_alias_p): When the base-object of either data reference
3482         has unknown size use only points-to information.
3483         (compute_affine_dependence): Make dumps easier to read and
3484         more verbose.
3485         * tree-vect-data-ref.c (vector_alignment_reachable_p): Use
3486         DR_REF when looking for packed references.
3487         (vect_supportable_dr_alignment): Likewise.
3488
3489 2012-04-03  Richard Guenther  <rguenther@suse.de>
3490
3491         Backport from mainline
3492         2012-03-15  Richard Guenther  <rguenther@suse.de>
3493
3494         PR middle-end/52580
3495         * tree-data-ref.c (subscript_dependence_tester_1): Check
3496         all dimensions for non-conflicting access functions.
3497
3498 2012-04-03  Richard Guenther  <rguenther@suse.de>
3499
3500         Backport from mainline
3501         2012-03-06  Richard Guenther  <rguenther@suse.de>
3502
3503         PR middle-end/52493
3504         * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify.
3505
3506         2012-03-23  Richard Guenther  <rguenther@suse.de>
3507
3508         PR tree-optimization/52678
3509         * tree-vectorizer.h (struct _stmt_vec_info): Add
3510         loop_phi_evolution_part member.
3511         (STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define.
3512         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize
3513         STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
3514         * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
3515         Use the cached evolution part and the PHI nodes value from
3516         the loop preheader edge instead of re-analyzing the evolution.
3517
3518         2012-03-26  Richard Guenther  <rguenther@suse.de>
3519
3520         PR tree-optimization/52701
3521         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
3522         compute and set the evolution part of PHI nodes.
3523
3524         2012-03-30  Richard Guenther  <rguenther@suse.de>
3525
3526         PR tree-optimization/52754
3527         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
3528         propagate arbitrary addresses into really plain dereferences.
3529
3530 2012-04-03  Jakub Jelinek  <jakub@redhat.com>
3531
3532         PR tree-optimization/52835
3533         * tree-data-ref.c (build_rdg): Return NULL if
3534         compute_data_dependences_for_loop failed.
3535
3536 2012-03-31  Eric Botcazou  <ebotcazou@adacore.com>
3537
3538         * tree-cfg.c (call_can_make_abnormal_goto): New predicate.
3539         (stmt_can_make_abnormal_goto): Use it.
3540         (is_ctrl_altering_stmt): Likewise.
3541
3