OSDN Git Service

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