OSDN Git Service

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