OSDN Git Service

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