OSDN Git Service

PR target/60568
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2014-03-20  Jakub Jelinek  <jakub@redhat.com>
2
3         PR target/60568
4         * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
5         into CONST, put pic register as first operand of PLUS.  Use
6         gen_const_mem for both 32-bit and 64-bit PIC got loads.
7
8 2014-03-19  Eric Botcazou  <ebotcazou@adacore.com>
9
10         * tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Remove space.
11
12 2014-03-18  Kai Tietz  <ktietz@redhat.com>
13
14         PR rtl-optimization/56356
15         * sdbout.c (sdbout_parms): Verify that parms'
16         incoming argument is valid.
17         (sdbout_reg_parms): Likewise.
18
19 2014-03-18  Richard Biener  <rguenther@suse.de>
20
21         Backport from mainline
22         2013-11-05  Richard Biener  <rguenther@suse.de>
23
24         PR middle-end/58941
25         * tree-dfa.c (get_ref_base_and_extent): Merge common code
26         in MEM_REF and TARGET_MEM_REF handling.  Make sure to
27         process trailing array detection before diving into the
28         view-converted object (and possibly apply some extra offset).
29
30         2012-05-07  Eric Botcazou  <ebotcazou@adacore.com>
31
32         * tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Do the offset
33         computation using the precision of the index type.
34
35         2012-05-31  Eric Botcazou  <ebotcazou@adacore.com>
36
37         * tree-dfa.c (get_ref_base_and_extent): Compute the offset using
38         double ints throughout.
39
40 2014-03-18  Richard Biener  <rguenther@suse.de>
41  
42         Backport from mainline
43         2013-08-27  Richard Biener  <rguenther@suse.de>
44
45         PR tree-optimization/57521
46         * tree-if-conv.c (if_convertible_bb_p): Verify that at least
47         one edge is non-critical.
48         (find_phi_replacement_condition): Make sure to use a non-critical
49         edge.  Cleanup and remove old bug workarounds.
50         (bb_postdominates_preds): Remove.
51         (if_convertible_loop_p_1): Do not compute post-dominators.
52         (combine_blocks): Do not free post-dominators.
53         (main_tree_if_conversion): Likewise.
54
55         2013-09-03  Richard Biener  <rguenther@suse.de>
56
57         PR middle-end/57656
58         * fold-const.c (negate_expr_p): Fix division case.
59         (negate_expr): Likewise.
60
61         2013-11-19  Richard Biener  <rguenther@suse.de>
62
63         PR tree-optimization/57517
64         * tree-predcom.c (combinable_refs_p): Verify the combination
65         is always executed when the refs are.
66
67 2014-03-17  Richard Biener  <rguenther@suse.de>
68
69         Backport from mainline
70         2013-05-21  Richard Biener  <rguenther@suse.de>
71
72         PR tree-optimization/57303
73         * tree-ssa-sink.c (statement_sink_location): Properly handle
74         self-assignments.
75
76         2013-12-02  Richard Biener  <rguenther@suse.de>
77
78         PR tree-optimization/59139
79         * tree-ssa-loop-niter.c (chain_of_csts_start): Properly match
80         code in get_val_for.
81         (get_val_for): Use gcc_checking_asserts.
82
83         2014-02-14  Richard Biener  <rguenther@suse.de>
84
85         PR tree-optimization/60183
86         * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating
87         loads.
88         (tree_ssa_phiprop): Calculate and free post-dominators.
89
90 2014-03-14  Georg-Johann Lay  <avr@gjlay.de>
91
92         Backport from 2014-03-14 trunk r208562.
93
94         PR target/59396
95         * config/avr/avr.c (avr_set_current_function): Pass function name
96         through default_strip_name_encoding before sanity checking instead
97         of skipping the first char of the assembler name.
98
99 2014-02-24  John David Anglin  <danglin@gcc.gnu.org>
100
101         * config/pa/pa.c (pa_output_move_double): Don't valididate when
102         adjusting offsetable addresses.
103
104 2014-02-21  Uros Bizjak  <ubizjak@gmail.com>
105
106         Backport from mainline
107         2014-02-21  Jakub Jelinek  <jakub@redhat.com>
108
109         * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
110         mode for mask of V8SFmode permutation.
111
112         Backport from 4.8 branch
113         2014-02-20  Jakub Jelinek  <jakub@redhat.com>
114
115         PR target/57896
116         * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
117         gen_reg_rtx if d->testing_p.
118         (expand_vec_perm_pshufb2, expand_vec_perm_even_odd_1,
119         expand_vec_perm_broadcast_1): Return early if d->testing_p and
120         we will certainly return true.
121
122 2014-02-20  Terry Guo  <terry.guo@arm.com>
123
124         Backport from mainline
125         2014-02-08  Terry Guo  <terry.guo@arm.com>
126
127         * doc/invoke.texi: Document ARM -march=armv7e-m.
128
129 2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
130
131         Backport from mainline
132         2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
133
134         PR target/60207
135         * config/i386/i386.c (construct_container): Remove TFmode check
136         for X86_64_INTEGER_CLASS.
137
138 2014-02-18  Kai Tietz  <ktietz@redhat.com>
139
140         Backport from mainline
141         PR target/60193
142         * config/i386/i386.c (ix86_expand_prologue): Use
143         rax register as displacement for restoring %r10, %rax.
144         Additional fix wrong offset for restoring both-registers.
145
146 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
147
148         * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
149         assertion with conditional return.
150
151 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
152             Uros Bizjak  <ubizjak@gmail.com>
153
154         PR driver/60233
155         * config/i386/driver-i386.c (host_detect_local_cpu): If
156         YMM state is not saved by the OS, also clear has_f16c.  Move
157         CPUID 0x80000001 handling before YMM state saving checking.
158
159 2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
160
161         Backport from mainline
162         2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
163
164         * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
165         operands[2], not operands[3].
166
167 2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
168
169         Backport from mainline
170         2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
171                     Uros Bizjak  <ubizjak@gmail.com>
172
173         PR target/60151
174         * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
175
176 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
177
178         * doc/invoke.texi: Fix thinko introduced by previous revision.
179
180 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
181
182         Backport from mainline.
183         2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
184
185         PR target/59718
186         * doc/invoke.texi (-march): Clarify documentation for ARM.
187         (-mtune): Likewise.
188         (-mcpu): Likewise.
189
190 2014-02-04  Uros Bizjak  <ubizjak@gmail.com>
191
192         Backport from mainline
193         2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
194
195         PR target/60017
196         * config/i386/i386.c (classify_argument): Fix handling of bit_offset
197         when calculating size of integer atomic types.
198
199 2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
200
201         Backport from mainline
202         2014-01-30  Jakub Jelinek  <jakub@redhat.com>
203
204         * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
205
206 2014-01-31  Richard Henderson  <rth@redhat.com>
207
208         PR middle-end/60004
209         * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
210         until after else_eh is processed.
211
212 2014-01-29  Markus Trippelsdorf  <markus@trippelsdorf.de>
213
214         Backport from mainline
215         2012-12-13  Jakub Jelinek  <jakub@redhat.com>
216
217         PR gcov-profile/55650
218         * coverage.c (coverage_obj_init): Return false if no functions
219         are being emitted.
220
221 2014-01-25  Walter Lee  <walt@tilera.com>
222
223         Backport from mainline
224         2014-01-25  Walter Lee  <walt@tilera.com>
225
226         * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
227         avoid clobbering a live register.
228
229 2014-01-25  Walter Lee  <walt@tilera.com>
230
231         Backport from mainline
232         2014-01-25  Walter Lee  <walt@tilera.com>
233
234         * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
235         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
236         * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
237         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
238
239 2014-01-25  Walter Lee  <walt@tilera.com>
240
241         Backport from mainline
242         2014-01-25  Walter Lee  <walt@tilera.com>
243
244         * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
245         insns before bundling.
246         * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
247
248 2014-01-25  Walter Lee  <walt@tilera.com>
249
250         Backport from mainline
251         2014-01-25  Walter Lee  <walt@tilera.com>
252
253         * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
254         PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
255         * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
256
257 2014-01-25  Walter Lee  <walt@tilera.com>
258
259         Backport from mainline
260         2014-01-25  Walter Lee  <walt@tilera.com>
261
262         * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
263         (clzdi2): Ditto.
264         (ffsdi2): Ditto.
265
266 2014-01-25  Walter Lee  <walt@tilera.com>
267
268         Backport from mainline
269         2014-01-25  Walter Lee  <walt@tilera.com>
270
271         * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
272         (TARGET_EXPAND_TO_RTL_HOOK): Define.
273
274 2014-01-22  Uros Bizjak  <ubizjak@gmail.com>
275             Jakub Jelinek  <jakub@redhat.com>
276
277         PR target/59880
278         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
279         for SImode_address_operand operands.  Return false
280         if operands[1] is a REG.
281
282 2014-01-21  Andrey Belevantsev  <abel@ispras.ru>
283
284         Backport from mainline
285         2013-12-23  Andrey Belevantsev  <abel@ispras.ru>
286
287         PR rtl-optimization/57422
288         * sel-sched.c (mark_unavailable_hard_regs): Fix typo when calling
289         add_to_hard_reg_set.
290
291 2014-01-19  John David Anglin  <danglin@gcc.gnu.org>
292
293         * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
294         long non-pic millicode calls.
295
296 2014-01-17  John David Anglin  <danglin@gcc.gnu.org>
297
298         * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
299         call to $$dyncall when TARGET_LONG_CALLS is true.
300
301 2014-01-17  Charles Baylis  <charles.baylis@linaro.org>
302
303         Backport from mainline
304         2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
305
306         PR target/59142
307         * config/arm/arm-ldmstm.ml: Use low_register_operand for Thumb
308         patterns.
309         * config/arm/ldmstm.md: Regenerate.
310
311         2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
312
313         PR target/59142
314         * config/arm/predicates.md (arm_hard_general_register_operand):
315         New predicate.
316         (arm_hard_register_operand): Remove.
317         * config/arm/arm-ldmstm.ml: Use arm_hard_general_register_operand
318         for all patterns.
319         * config/arm/ldmstm.md: Regenerate.
320
321 2014-01-16  Jakub Jelinek  <jakub@redhat.com>
322
323         PR target/59839
324         * config/i386/i386.c (ix86_expand_builtin): If target doesn't
325         satisfy operand 0 predicate for gathers, use a new pseudo as
326         subtarget.
327
328 2014-01-16  Richard Henderson  <rth@redhat.com>
329
330         PR debug/54694
331         * reginfo.c (global_regs_decl): Globalize.
332         * rtl.h (global_regs_decl): Declare.
333         * ira.c (do_reload): Diagnose frame_pointer_needed and it
334         reserved via global_regs.
335
336 2014-01-16  Marek Polacek  <polacek@redhat.com>
337
338         Backport from mainline
339         2014-01-16  Marek Polacek  <polacek@redhat.com>
340
341         PR middle-end/59827
342         * gimple-low.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
343         it is error_mark_node.
344
345 2014-01-14  Uros Bizjak  <ubizjak@gmail.com>
346
347         Revert:
348         2014-01-08  Uros Bizjak  <ubizjak@gmail.com>
349
350         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
351         from prefetch_block tune setting.
352
353 2014-01-10  Richard Earnshaw  <rearnsha@arm.com>
354
355         PR rtl-optimization/54300
356         * regcprop.c (copyprop_hardreg_forward_1): Ensure any unused
357         outputs in a single-set are killed from the value chains.
358
359 2014-01-10  Huacai Chen  <chenhc@lemote.com>
360
361         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
362         kernel strings for Loongson-2E/2F/3A.
363
364 2014-01-08  Uros Bizjak  <ubizjak@gmail.com>
365
366         Backport from mainline
367         2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
368
369         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
370         from prefetch_block tune setting.
371         (nocona_cost): Correct size of prefetch block to 64.
372
373 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
374
375         * doc/invoke.texi (output file options): Add missing markers.
376
377 2013-12-11  Kai Tietz  <ktietz@redhat.com>
378
379         PR target/56807
380         * config/i386/i386.c (ix86_expand_prologue): plus_constant
381         takes no mode-argument.
382
383 2013-12-10  Kai Tietz  <ktietz@redhat.com>
384
385         PR target/56807
386         * config/i386/i386.c (ix86_expand_prologue): Address saved
387         registers stack-relative, not via frame-pointer.
388
389 2013-12-03  Marek Polacek  <polacek@redhat.com>
390
391         Backport from mainline
392         2013-12-03  Marek Polacek  <polacek@redhat.com>
393
394         PR c/59351
395         * c-decl.c (build_compound_literal): Allow compound literals with
396         empty initial value.
397
398 2013-12-01  Eric Botcazou  <ebotcazou@adacore.com>
399
400         * config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an
401         identifier node.
402
403 2013-11-28  Uros Bizjak  <ubizjak@gmail.com>
404
405         Backport from mainline
406         2013-11-23  Uros Bizjak  <ubizjak@gmail.com>
407
408         PR target/56788
409         * config/i386/i386.c (bdesc_multi_arg) <IX86_BUILTIN_VFRCZSS>:
410         Declare as MULTI_ARG_1_SF instruction.
411         <IX86_BUILTIN_VFRCZSD>: Decleare as MULTI_ARG_1_DF instruction.
412         * config/i386/sse.md (*xop_vmfrcz<mode>2): Rename
413         from *xop_vmfrcz_<mode>.
414         * config/i386/xopintrin.h (_mm_frcz_ss): Use __builtin_ia32_movss
415         to merge scalar result with __A.
416         (_mm_frcz_sd): Use __builtin_ia32_movsd to merge scalar
417         result with __A.
418
419 2013-11-19  Uros Bizjak  <ubizjak@gmail.com>
420
421         Backport from mainline
422         2013-11-18  Uros Bizjak  <ubizjak@gmail.com>
423
424         * config/i386/i386.c (ix86_decompose_address): Use REG_P instead of
425         ix86_address_subreg_operand.  Move subreg checks to
426         ix86_validate_address_register.  Move address override check to
427         ix86_legitimate_address_p.
428         (ix86_validate_address_register): New function.
429         (ix86_legitimate_address_p): Call ix86_validate_address_register
430         to validate base and index registers.  Add address override check
431         from ix86_decompose_address.
432         (ix86_decompose_address): Remove.
433
434         Backport from mainline
435         2013-11-17  Uros Bizjak  <ubizjak@gmail.com>
436
437         PR target/59153
438         * config/i386/i386.c (ix86_address_subreg_operand): Do not
439         reject non-integer subregs.
440         (ix86_decompose_address): Do not reject invalid CONST_INT RTXes.
441         Move check for invalid x32 constant addresses ...
442         (ix86_legitimate_address_p): ... here.
443
444         Bacport from mainline
445         2012-03-13  Uros Bizjak  <ubizjak@gmail.com>
446
447         * config/i386/i386.c (ix86_decompose_address): Prevent %fs:(%reg)
448         addresses only when %reg is not in word mode.
449
450 2013-11-10  Karlson2k  <k2k@narod.ru>
451             Kai Tietz  <ktietz@redhat.com>
452
453         Merged from trunk
454         PR plugins/52872
455         * configure.ac: Adding for exported symbols check
456         and for rdynamic-check executable-extension.
457         * configure: Regenerated.
458
459 2013-11-07  H.J. Lu  <hongjiu.lu@intel.com>
460
461         PR target/59034
462         * config/i386/i386.md (push peepholer/splitter): Use Pmode
463         with stack_pointer_rtx.
464
465 2013-11-05  Uros Bizjak  <ubizjak@gmail.com>
466
467         * config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
468
469 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
470
471         Backport from mainline
472         2013-10-22  Uros Bizjak  <ubizjak@gmail.com>
473
474         PR target/58779
475         * config/i386/i386.c (put_condition_code) <case GTU, case LEU>:
476         Remove CCCmode handling.
477         <case LTU>: Return 'c' suffix for CCCmode.
478         <case GEU>: Return 'nc' suffix for CCCmode.
479         (ix86_cc_mode) <case GTU, case LEU>: Do not generate overflow checks.
480         * config/i386/i386.md (*sub<mode>3_cconly_overflow): Remove.
481         (*sub<mode>3_cc_overflow): Ditto.
482         (*subsi3_zext_cc_overflow): Ditto.
483
484 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
485
486         Backport from mainline
487         2013-10-19  Uros Bizjak  <ubizjak@gmail.com>
488
489         PR target/58792
490         * config/i386/i386.c (ix86_function_value_regno): Add DX_REG,
491         ST1_REG and XMM1_REG for 32bit and 64bit targets.  Also add DI_REG
492         and SI_REG for 64bit SYSV ABI targets.
493
494 2013-10-25  Richard Henderson  <rth@twiddle.net>
495
496         PR rtl/58542
497         * optabs.c (maybe_emit_atomic_exchange): Use create_input_operand
498         instead of create_convert_operand_to.
499         (maybe_emit_sync_lock_test_and_set): Likewise.
500         (expand_atomic_compare_and_swap): Likewise.
501         (maybe_emit_compare_and_swap_exchange_loop): Don't convert_modes.
502
503 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
504
505         PR rtl-optimization/58831
506         * alias.c (init_alias_analysis): At the beginning of each iteration,
507         set the reg_seen[N] flag if static_reg_base_value[N] is non-null.
508
509 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
510
511         * recog.c (search_ofs): New static variable moved from...
512         (peep2_find_free_register): ...here.
513         (peephole2_optimize): Initialize it.
514
515 2013-10-02  John David Anglin  <danglin@gcc.gnu.org>
516
517         * config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.
518
519 2013-09-23  Eric Botcazou  <ebotcazou@adacore.com>
520
521         * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
522         assignment statements.
523
524 2013-09-20  John David Anglin  <danglin@gcc.gnu.org>
525
526         * config/pa/pa.md: In "scc" insn patterns, change output template to
527         handle const0_rtx in reg_or_0_operand operands.
528
529 2013-09-18  Daniel Morris  <danielm@ecoscentric.com>
530             Paolo Carlini  <paolo.carlini@oracle.com>
531
532         PR c++/58458
533         * doc/implement-cxx.texi: Fix references to the C++ standards.
534
535 2013-09-14  John David Anglin  <danglin@gcc.gnu.org>
536
537         PR target/58382
538         * config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
539         calls to word_mode.
540
541 2013-09-12  Terry Guo  <terry.guo@arm.com>
542
543         Backport from mainline
544         2012-09-17  Richard Guenther  <rguenther@suse.de>
545
546         PR lto/54598
547         * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Use ggc'ed
548         FIXED_VALUE_TYPE instead of struct fixed_value.
549
550 2013-09-10  Richard Earnshaw  <rearnsha@arm.com>
551
552         PR target/58361
553         * arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to
554         support conditional execution.
555         (combine_vcvt_f64_<FCVTI32typename>): Likewise.
556
557 2013-09-01  Uros Bizjak  <ubizjak@gmail.com>
558
559         Backport from mainline
560         2013-08-31  Uros Bizjak  <ubizjak@gmail.com>
561
562         * config/alpha/alpha.c (alpha_emit_conditional_move): Update
563         "cmp" RTX before signed_comparison_operator check to account
564         for "code" changes.
565
566 2013-09-01  John David Anglin  <danglin@gcc.gnu.org>
567
568         * config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
569
570 2013-09-01  Iain Sandoe  <iain@codesourcery.com>
571
572         Backported from 4.8
573         2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
574
575         * doc/tm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE,
576         TARGET_OBJC_DECLARE_CLASS_DEFINITION): Add @hooks.
577         (ASM_DECLARE_CLASS_REFERENCE, ASM_DECLARE_UNRESOLVED_REFERENCE):
578         Remove.
579         * doc/tm.texi: Regenerate.
580         * config/darwin.h (ASM_OUTPUT_LABELREF): Remove special case for
581         .objc_class_name_*.
582         * config/darwin-c.c: Include target.h.
583         (darwin_objc_declare_unresolved_class_reference): New function.
584         (darwin_objc_declare_class_definition): New function.
585         (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE): Define.
586         (TARGET_OBJC_DECLARE_CLASS_DEFINITION): Define.
587
588 2013-09-01  Iain Sandoe  <iain@codesourcery.com>
589
590         Backport from mainline:
591         2013-07-22  Uros Bizjak  <ubizjak@gmail.com>
592
593         * config/i386/i386.md (nonlocal_goto_receiver): Delete insn if
594         it is not needed after split.
595
596         2013-07-20  Iain Sandoe  <iain@codesourcery.com>
597
598         PR target/51784
599         * config/i386/i386.c (output_set_got) [TARGET_MACHO]: Adjust to emit a
600         second label for nonlocal goto receivers. Don't output pic base labels
601         unless we're producing PIC; mark that action unreachable().
602         (ix86_save_reg): If the function contains a nonlocal label, save the
603         PIC base reg.
604         * config/darwin-protos.h (machopic_should_output_picbase_label): New.
605         * gcc/config/darwin.c (emitted_pic_label_num): New GTY.
606         (update_pic_label_number_if_needed): New.
607         (machopic_output_function_base_name): Adjust for nonlocal receiver
608         case.
609         (machopic_should_output_picbase_label): New.
610         * config/i386/i386.md (enum unspecv): UNSPECV_NLGR: New.
611         (nonlocal_goto_receiver): New insn and split.
612
613 2013-08-28  Uros Bizjak  <ubizjak@gmail.com>
614
615         Backport from mainline
616         2013-08-27  Christian Widmer  <shadow@umbrox.de>
617
618         PR target/57927
619         * config/i386/driver-i386.c (host_detect_local_cpu): Add detection
620         of Ivy Bridge processors.
621
622 2013-08-21  Richard Earnshaw  <rearnsha@arm.com>
623
624         PR target/56979
625         * arm.c (aapcs_vfp_allocate): Decompose the argument if the
626         suggested mode for the assignment isn't compatible with the
627         registers required.
628
629 2013-08-17  Uros Bizjak  <ubizjak@gmail.com>
630
631         Backport from mainline
632         2013-08-12  Perez Read  <netfirewall@gmail.com>
633
634         PR target/58132
635         * config/i386/i386.md (*movabs<mode>_1):  Add <ptrsize> PTR before
636         operand 0 for intel asm alternative.
637         (*movabs<mode>_2): Ditto for operand 1.
638
639 2013-08-13  Marek Polacek  <polacek@redhat.com>
640
641         Backport from 4.8:
642         2013-0813  Marek Polacek  <polacek@redhat.com>
643                    Jakub Jelinek  <jakub@redhat.com>
644
645         PR tree-optimization/57980
646         * tree-tailcall.c (process_assignment): Return false
647         when not dealing with integers or floats.
648
649 2013-08-12  David Edelsohn  <dje.gcc@gmail.com>
650
651         Backport from mainline
652         2013-02-14  Steven Bosscher  <steven@gcc.gnu.org>
653
654         * collect2-aix.h: Define F_LOADONLY.
655
656 2013-08-02  Eric Botcazou  <ebotcazou@adacore.com>
657
658         * config/sparc/sparc.c (sparc_emit_membar_for_model) <SMM_TSO>: Add
659         the implied StoreLoad barrier for atomic operations if before.
660
661 2013-07-11  Georg-Johann Lay  <avr@gjlay.de>
662
663         Backport from 2013-07-11 trunk r200901.
664
665         PR target/57631
666         * config/avr/avr.c (avr_set_current_function): Sanity-check signal
667         name seen by assembler/linker if available.
668
669 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
670
671         Backport from 2013-07-10 trunk r200872.
672
673         PR target/57844
674         * config/avr/avr.c (avr_prologue_setup_frame): Trunk -size to mode
675         of my_fp.
676
677 2013-07-10  Uros Bizjak  <ubizjak@gmail.com>
678
679         Backport from mainline
680         2013-07-06  Uros Bizjak  <ubizjak@gmail.com>
681
682         * config/i386/sse.md (sse_movlhps): Change alternative 3
683         of operand 2 to "m".
684
685 2013-07-09  Joseph Myers  <joseph@codesourcery.com>
686
687         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Only
688         adjust register size for TDmode and TFmode for VSX registers.
689
690 2013-07-08  Eric Botcazou  <ebotcazou@adacore.com>
691
692         * Makefile.in (tree-ssa-reassoc.o): Add dependency on $(PARAMS_H).
693
694 2013-07-08  Jakub Jelinek  <jakub@redhat.com>
695
696         PR rtl-optimization/57829
697         * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Ensure that
698         mask bits outside of mode are just sign-extension from mode to HWI.
699
700 2013-07-05  Uros Bizjak  <ubizjak@gmail.com>
701
702         Backport from mainline
703         2013-06-20  Uros Bizjak  <ubizjak@gmail.com>
704
705         PR target/57655
706         * config/i386/i386.c (construct_container): Report error if
707         long double is used with disabled x87 float returns.
708
709 2013-06-21  David Edelsohn  <dje.gcc@gmail.com>
710
711         Backport from mainline
712         2013-06-19  David Edelsohn  <dje.gcc@gmail.com>
713
714         PR driver/57652
715         * collect2.c (collect_atexit): New.
716         (collect_exit): Delete.
717         (main): Register collect_atexit with atexit.
718         (collect_wait): Change collect_exit to exit.
719         (do_wait): Same.
720         * collect2.h (collect_exit): Delete.
721         * tlink.c (do_tlink): Rename exit to ret. Change collect_exit to exit.
722
723 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
724
725         Backport from mainline
726         2013-06-10  Uros Bizjak  <ubizjak@gmail.com>
727
728         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Also use
729         cmp_code to construct REG_EQUAL note.
730
731         Backport from mainline
732         2013-06-05  Uros Bizjak  <ubizjak@gmail.com>
733
734         * config/alpha/alpha.c (alpha_emit_conditional_move): Swap all
735         GE, GT, GEU and GTU compares, modulo DImode compares with zero.
736
737         Backport from mainline
738         2013-05-23  Uros Bizjak  <ubizjak@gmail.com>
739
740         PR target/57379
741         * config/alpha/alpha.md (unspec): Add UNSPEC_XFLT_COMPARE.
742         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Construct
743         REG_EQUAL note as UNSPEC_XFLT_COMPARE unspec.
744
745 2013-06-09  Jakub Jelinek  <jakub@redhat.com>
746
747         PR target/57568
748         * config/i386/i386.md (TARGET_READ_MODIFY_WRITE peepholes): Ensure
749         that operands[2] doesn't overlap with operands[0].
750
751 2013-05-22  Uros Bizjak  <ubizjak@gmail.com>
752
753         PR target/57356
754         * config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
755         for non-sse2 targets.  Simplify mode attribute calculation.
756
757 2013-05-17  Uros Bizjak  <ubizjak@gmail.com>
758
759         Backport from mainline
760         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
761
762         * config/i386/driver-i386.c (host_detect_local_cpu): Determine
763         cache parameters using detect_caches_amd also for CYRIX,
764         NSC and TM2 signatures.
765
766         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
767                     Dzianis Kahanovich  <mahatma@eu.by>
768
769         PR target/45359
770         PR target/46396
771         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
772         VIA/Centaur processors and determine their cache parameters
773         using detect_caches_amd.
774
775         2013-05-15  Uros Bizjak  <ubizjak@gmail.com>
776
777         * config/i386/i386.c (ix86_option_override_internal): Add
778         PTA_POPCNT to corei7 entry.
779
780 2013-05-14  Richard Biener  <rguenther@suse.de>
781
782         PR gcov-profile/57269
783         Backport from mainline
784         2012-06-30  Nathan Sidwell  <nathan@acm.org>
785
786         * coverage.c (coverage_init): Read counts file before writing
787         graph header.
788
789 2013-05-13  Uros Bizjak  <ubizjak@gmail.com>
790
791         PR target/57264
792         Backport from mainline
793         2013-01-22  Jakub Jelinek  <jakub@redhat.com>
794
795         PR target/55686
796         * config/i386/i386.md (UNSPEC_STOS): New.
797         (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
798         *strsetqi_1): Add UNSPEC_STOS.
799
800 2013-05-10  Joey Ye  <joey.ye@arm.com>
801
802         Backport from mainline
803         2012-11-29  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
804
805         PR target/54974
806         * config/arm/arm.md (thumb2_pool_range, pool_range): Add comment on
807         Thumb pool ranges.
808         (thumb1_extendhisi2): Reduce Thumb pool range.
809         (arm_movdi): Likewise.
810         (thumb1_movdi_insn): Likewise.
811         (thumb1_movsi_insn): Likewise.
812         (pic_load_addr_unified): Likewise.
813         (pic_load_addr_32bit): Likewise.
814         (pic_load_addr_thumb1): Likewise.
815         (thumb1_movhf): Likewise.
816         (arm_movsf_soft_insn): Likewise.
817         (thumb1_movsf_soft_insn): Likewise.
818         (movdf_soft_insn): Likewise.
819         (thumb1_movdf_soft_insn): Likewise.
820         * config/arm/neon.md (*neon_mov<mode>): Likewise.
821         (*neon_mov<mode>): Likwise.
822         * config/arm/thumb2.md: (*thumb2_movsi_insn): Likewise.
823         (*thumb2_movhi_insn): Likewise.
824         (*thumb2_extendqisi_v6): Likewise.
825         (*thumb2_zero_extendqisi_v6): Likewise.
826         (*thumb2_zero_extendqisi2_v6): Likewise.
827         * config/arm/vfp.md: (*thumb2_movsi_vfp): Likewise.
828         (*movdi_vfp): Likewise.
829         (*movdi_vfp_cortexa8): Likewise.
830         (*thumb2_movsf_vfp): Likewise.
831         (*thumb2_movdf_vfp): Likewise.
832
833 2013-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
834
835         * config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
836         Add mthumb/march=armv7-a multilib.
837         Add mthumb/march=armv7-r multilib.
838         Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
839
840 2013-05-10  Ralf Corsépius  <ralf.corsepius@rtems.org>
841
842         PR target/57237
843         * config/v850/t-rtems: Add more multilibs.
844
845 2013-05-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
846
847         Backport from trunk
848         2013-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
849
850         PR target/57150
851         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
852         to save TFmode registers and DImode to save TImode registers for
853         caller save operations.
854         (HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
855         mark being partially clobbered since they only use the first
856         double word.
857
858         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
859         and TDmode only use the upper 64-bits of each VSX register.
860
861 2013-05-03  Marek Polacek  <polacek@redhat.com>
862
863         Backport from mainline
864         2013-04-25  Marek Polacek  <polacek@redhat.com>
865
866         PR tree-optimization/57066
867         * builtins.c (fold_builtin_logb): Return +Inf for -Inf.
868
869 2013-04-30  Uros Bizjak  <ubizjak@gmail.com>
870
871         Backport from mainline
872         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
873
874         PR target/44578
875         * config/i386/i386.md (*zero_extendsidi2_rex64): Add "!" to m->?*y
876         alternative.
877         (*zero_extendsidi2): Ditto.
878
879         Backport from mainline
880         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
881
882         PR target/57098
883         * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.
884
885 2013-04-29  Christian Bruel  <christian.bruel@st.com>
886
887         PR target/57108
888         * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.
889
890 2013-04-27  Jakub Jelinek  <jakub@redhat.com>
891
892         PR target/56866
893         * config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
894         the immediate rotate count.
895
896 2013-04-21  Eric Botcazou  <ebotcazou@adacore.com>
897
898         * cfgexpand.c (avoid_complex_debug_insns): Fix C++ism.
899
900 2013-04-19  Matthias Klose  <doko@ubuntu.com>
901
902         PR middle-end/56848
903         Re-apply
904         2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
905
906         Backport from mainline
907         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
908         Alexander Monakov  <amonakov@ispras.ru>
909
910         PR middle-end/56077
911         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
912         flush pending lists also on non-jumps.  Adjust comment.
913
914         Backport from 4.8:
915         2012-08-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
916
917         * sched-deps.c (add_dependence_list_and_free): Simplify.
918         (flush_pending_list_and_free): Fix a hack that was fixing a hack.  Free
919         lists when add_dependence_list_and_free doesn't free them.
920
921 2013-04-19  Marek Polacek  <polacek@redhat.com>
922
923         Backport from mainline
924         2013-01-08  Steven Bosscher  <steven@gcc.gnu.org>
925                     Jakub Jelinek  <jakub@redhat.com>
926
927         PR tree-optimization/48189
928         * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
929         If nitercst is 0, don't predict the exit edge.
930
931 2013-04-16  Jack Howarth  <howarth@bromo.med.uc.edu>
932
933         Backport from mainline
934         2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
935         * config/darwin.h (STARTFILE_SPEC): Use -no_new_main with -lgcrt1.o
936         on Darwin >= 12.
937         (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10 and < 12.
938
939
940         2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
941         PR debug/53453
942         * doc/tm.texi: Update.
943         * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Add @hook.
944         * target.def (force_at_comp_dir): New hook.
945         * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define.
946         * dwarf2out.c (dwarf2out_finish): Check targetm.force_at_comp_dir.
947
948 2013-04-15  Eric Botcazou  <ebotcazou@adacore.com>
949
950         PR target/56890
951         * config/sparc/sparc.c (enum sparc_mode_class): Add H_MODE value.
952         (S_MODES): Set H_MODE bit.
953         (SF_MODES): Set only S_MODE and SF_MODE bits.
954         (DF_MODES): Set SF_MODES and only D_MODE and DF_MODE bits.
955         (sparc_init_modes) <MODE_INT>: Set H_MODE bit for sub-word modes.
956         <MODE_VECTOR_INT>: Do not set SF_MODE for sub-word modes.
957         <MODE_FLOAT>: Likewise.
958
959 2013-04-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
960
961         Backport from mainline:
962         2013-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
963
964         PR target/55487
965         * config/pa/pa.c (legitimize_pic_address): Before incrementing label
966         nuses, make sure we have a label.
967
968 2013-04-11  Richard Biener  <rguenther@suse.de>
969
970         * BASE-VER: Set to 4.7.4.
971         * DEV-PHASE: Set to prerelease.
972
973 2013-04-11  Release Manager
974
975         * GCC 4.7.3 released.
976
977 2013-04-10  David S. Miller  <davem@davemloft.net>
978
979         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
980         or -mcpu=hypersparc.
981
982 2013-04-05  Eric Botcazou  <ebotcazou@adacore.com>
983
984         PR middle-end/56848
985         Revert
986         2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
987
988         Backport from mainline
989         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
990         Alexander Monakov  <amonakov@ispras.ru>
991
992         PR middle-end/56077
993         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
994         flush pending lists also on non-jumps.  Adjust comment.
995
996 2013-04-03  Richard Biener  <rguenther@suse.de>
997
998         PR tree-optimization/56501
999         * tree-switch-conversion.c (check_process_case): Properly
1000         handle !single_succ_p case.
1001
1002 2013-04-03  Jakub Jelinek  <jakub@redhat.com>
1003
1004         Backported from mainline
1005         2013-03-06  Jakub Jelinek  <jakub@redhat.com>
1006
1007         PR tree-optimization/56539
1008         * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
1009         instead of GSI_CONTINUE_LINKING as last argument to
1010         force_gimple_operand_gsi.  Adjust function comment.
1011
1012         2013-03-05  Jakub Jelinek  <jakub@redhat.com>
1013
1014         PR debug/56510
1015         * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
1016         (avoid_complex_debug_insns): New function.
1017         (expand_debug_locations): Call it.
1018
1019 2013-04-02  Wei Mi  <wmi@google.com>
1020
1021         * config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
1022         ashl<mode>3_mask, *<shift_insn><mode>3_mask and
1023         *<rotate_insn><mode>3_mask in i386.md.
1024
1025 2013-04-02  Richard Biener  <rguenther@suse.de>
1026
1027         PR middle-end/56768
1028         Backport from mainline
1029         2012-05-16  Richard Guenther  <rguenther@suse.de>
1030
1031         * tree-inline.c (declare_return_variable): Properly handle
1032         DECL_BY_REFERENCE return vars in SSA form.
1033
1034 2013-04-01  Wei Mi  <wmi@google.com>
1035
1036         * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
1037         Truncate operand 2 using %b asm operand modifier.
1038         (*<shift_insn><mode>3_mask): Ditto.
1039         (*<rotate_insn><mode>3_mask): Ditto.
1040
1041 2013-04-01  Uros Bizjak  <ubizjak@gmail.com>
1042
1043         * config/i386/i386.md (*movsf_internal): Change type of
1044         alternatives 3,4 to imov.
1045
1046 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1047
1048         Backport from mainline
1049         2013-02-27  Andrey Belevantsev  <abel@ispras.ru>
1050
1051         PR middle-end/45472
1052         * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
1053         when the may_trap_p bit of the exprs being merged differs.
1054         Reorder tests for speculativeness in the logical and operator.
1055
1056         Backport from mainline
1057          2013-03-05  Jakub Jelinek  <jakub@redhat.com>
1058
1059         PR middle-end/56461
1060         * sel-sched-ir.c (free_sched_pools): Release
1061         succs_info_pool.stack[succs_info_pool.max_top] vectors too
1062         if succs_info_pool.max_top isn't -1.
1063
1064 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1065
1066         Backport from mainline
1067         2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
1068
1069         PR middle-end/55889
1070         * sel-sched.c: Include ira.h.
1071         (implicit_clobber_conflict_p): New function.
1072         (moveup_expr): Use it.
1073         * Makefile.in (sel-sched.o): Depend on ira.h.
1074
1075 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1076
1077         Backport from mainline
1078         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
1079         Alexander Monakov  <amonakov@ispras.ru>
1080
1081         PR middle-end/56077
1082         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
1083         flush pending lists also on non-jumps.  Adjust comment.
1084
1085 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
1086
1087         * doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
1088         * doc/extend.texi (Named Address Spaces): Ditto.
1089         (Variable Attributes): Ditto.
1090
1091 2013-03-28  Eric Botcazou  <ebotcazou@adacore.com>
1092
1093         * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
1094         general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
1095         is not enabled.
1096
1097 2013-03-27  Walter Lee  <walt@tilera.com>
1098
1099         Backport from mainline:
1100         2013-03-27  Walter Lee  <walt@tilera.com>
1101
1102         * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
1103         double-decrement of next_scratch_regno.
1104
1105 2013-03-27  Walter Lee  <walt@tilera.com>
1106
1107         Backport from mainline:
1108         2013-03-27  Walter Lee  <walt@tilera.com>
1109
1110         * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
1111         input operands.
1112         (insn_v1mulus): Ditto.
1113         (insn_v2muls): Ditto.
1114
1115 2013-03-27  Walter Lee  <walt@tilera.com>
1116
1117         Backport from mainline:
1118         2013-03-27  Walter Lee  <walt@tilera.com>
1119
1120         * config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
1121         extra tab.
1122         (ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
1123
1124 2013-03-27  Walter Lee  <walt@tilera.com>
1125
1126         Backport from mainline:
1127         2013-03-27  Walter Lee  <walt@tilera.com>
1128
1129         * config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute
1130         for jr.
1131         (*sibcall_value): Ditto.
1132
1133 2013-03-27  Walter Lee  <walt@tilera.com>
1134
1135         Backport from mainline:
1136         2013-03-27  Walter Lee  <walt@tilera.com>
1137
1138         * config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
1139         (insn_mnz_v8qi): ... this ...
1140         (insn_mnz_v4hi): ... and this.  Replace (const_int 0) with the
1141         vector equivalent.
1142         (insn_v<n>mnz): Replaced by ...
1143         (insn_v1mnz): ... this ...
1144         (insn_v2mnz): ... and this.  Replace (const_int 0) with the vector
1145         equivalent.
1146         (insn_mz_<mode>): Replaced by ...
1147         (insn_mz_v8qi): ... this ...
1148         (insn_mz_v4hi): ... and this.  Replace (const_int 0) with the
1149         vector equivalent.
1150         (insn_v<n>mz): Replaced by ...
1151         (insn_v1mz): ... this ...
1152         (insn_v2mz): ... and this.  Replace (const_int 0) with the vector
1153         equivalent.
1154
1155 2013-03-26  Eric Botcazou  <ebotcazou@adacore.com>
1156
1157         * doc/invoke.texi (SPARC options): Remove -mlittle-endian.
1158
1159 2013-03-26  Richard Biener  <rguenther@suse.de>
1160
1161         Backport from mainline:
1162         2013-03-13  Richard Biener  <rguenther@suse.de>
1163
1164         PR tree-optimization/56608
1165         * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
1166         calls when vectorizing basic-blocks.
1167
1168         2013-03-05  Richard Biener  <rguenther@suse.de>
1169
1170         PR tree-optimization/56270
1171         * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
1172         of loads after scheduling an SLP instance.
1173
1174 2013-03-26  Walter Lee  <walt@tilera.com>
1175
1176         Backport from mainline:
1177         2013-03-26  Walter Lee  <walt@tilera.com>
1178
1179         * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
1180         * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
1181
1182 2013-03-26  Walter Lee  <walt@tilera.com>
1183
1184         Backport from mainline:
1185         2013-03-25  Walter Lee  <walt@tilera.com>
1186
1187         * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
1188         TILEGX_INSN_SHUFFLEBYTES1.
1189         * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
1190         shufflebytes1.
1191         (tilegx_builtins): Ditto.
1192         * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
1193
1194 2013-03-26  Walter Lee  <walt@tilera.com>
1195
1196         Backport from mainline:
1197         2013-03-25  Walter Lee  <walt@tilera.com>
1198
1199         * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
1200         tests for constraint J, K, N, P.
1201
1202 2013-03-26  Walter Lee  <walt@tilera.com>
1203
1204         Backport from mainline:
1205         2013-03-25  Walter Lee  <walt@tilera.com>
1206
1207         * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
1208         Use indirect/pcrel encoding.
1209         * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
1210         Ditto.
1211
1212 2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
1213
1214         Backport from mainline:
1215         2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
1216         2013-03-14  Kaz Kojima  <kkojima@gcc.gnu.org>
1217
1218         PR target/49880
1219         * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
1220         (musermode): Convert to Var(TARGET_USERMODE).
1221         * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
1222         MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
1223         * config/sh/sh.c (sh_option_override): Use
1224         TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
1225         * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
1226         condition.
1227         (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
1228         TARGET_SH4.
1229         (udivsi3_i4_single, divsi3_i4_single): Use
1230         TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
1231         * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1232         (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
1233         * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1234         (SUBTARGET_OVERRIDE_OPTIONS): New.
1235
1236 2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
1237
1238         Backport from mainline:
1239         2012-04-03  Kaz Kojima  <kkojima@gcc.gnu.org>
1240
1241         * config/sh/t-sh (MULTILIB_MATCHES): Match m2a-single-only
1242         to m2a-single instead of m2e.
1243
1244 2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1245
1246         PR target/56560
1247         * config/i386/i386.h (ix86_args): Define only if USED_FOR_TARGET
1248         isn't defined.
1249
1250 2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1251
1252         PR target/56560
1253         * config/i386/i386.c (init_cumulative_args): Also set
1254         cum->callee_return_avx256_p.
1255         (ix86_function_arg): Set cum->callee_pass_avx256_p.  Set
1256         cfun->machine->callee_pass_avx256_p only when MODE == VOIDmode.
1257
1258         * config/i386/i386.h (ix86_args): Add callee_pass_avx256_p and
1259         callee_return_avx256_p.
1260
1261 2013-03-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1262
1263         Backport from mainline:
1264         2012-12-04  Ian Lance Taylor  <iant@google.com>
1265
1266         * godump.c (find_dummy_types): Output a dummy type if we couldn't
1267         output the real type.
1268
1269 2013-03-20  Jack Howarth  <howarth@bromo.med.uc.edu>
1270
1271         PR bootstrap/56258
1272         * doc/generic.texi (POINTER_PLUS_EXPR): Use @item instead of @itemx.
1273         (PLUS_EXPR): Likewise.
1274         * doc/cppopts.texi (--help): Likewise.
1275         * doc/invoke.texi (-fenable-@var{kind}-@var{pass}): Likewise.
1276         (-fdump-rtl-cprop_hardreg): Likewise.
1277         (-fdump-rtl-csa): Likewise.
1278         (-fdump-rtl-dce): Likewise.
1279         (-fdump-rtl-dbr): Likewise.
1280         (-fdump-rtl-into_cfglayout): Likewise.
1281         (-fdump-rtl-outof_cfglayout): Likewise.
1282
1283 2013-03-18  Richard Earnshaw  <rearnsha@arm.com>
1284
1285         PR target/56470
1286         * config/arm/arm.c (shift_op): Validate RTL pattern on the fly.
1287         (arm_print_operand, case 'S'): Don't use shift_operator to validate
1288         the RTL.
1289
1290 2013-03-14  Seth LaForge  <sethml@google.com>
1291
1292         PR target/56351
1293         Backport from mainline
1294         2012-10-22  Julian Brown  <julian@codesourcery.com>
1295
1296         * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing
1297         VFP D registers in big-endian mode.
1298
1299 2013-03-08  Joey Ye  <joey.ye@arm.com>
1300
1301         Backport from mainline
1302         2013-03-06  Joey Ye  <joey.ye@arm.com>
1303
1304         PR lto/50293
1305         * gcc.c (convert_white_space): New function.
1306         (main): Handles white space in function name.
1307
1308 2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
1309
1310         Backport from mainline
1311         2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
1312
1313         PR target/56529
1314         * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
1315         instead of TARGET_SH2 for call-table case.  Do not set sh_div_strategy
1316         to SH_DIV_CALL_TABLE for TARGET_SH2.
1317         * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
1318         list.
1319         * doc/invoke.texi (SH options): Use table for mdiv= option.  Document
1320         mdiv= call-div1, call-fp, call-table options.
1321
1322 2013-03-06  Sebastian Huber <sebastian.huber@embedded-brains.de>
1323
1324         * config.gcc (arm*-*-rtemself*): New.
1325         (arm*-*-rtems*): Removed.
1326         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
1327         "arm*-*-rtemseabi*" to "arm*-*-rtems*".
1328
1329 2013-03-01  Richard Biener  <rguenther@suse.de>
1330
1331         Backport from mainline
1332         2012-12-12  Zdenek Dvorak  <ook@ucw.cz>
1333
1334         PR tree-optimization/55481
1335         * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall
1336         back to general rewriting if we cannot leave an original biv
1337         definition alone.
1338
1339 2013-03-01  Richard Biener  <rguenther@suse.de>
1340
1341         Backport from mainline
1342         2012-04-10  Richard Guenther  <rguenther@suse.de>
1343
1344         PR middle-end/52888
1345         * gimple-low.c (gimple_check_call_args): Properly account for
1346         compatible aggregate types.
1347
1348 2013-02-26  Nick Clifton  <nickc@redhat.com>
1349
1350         PR target/56453
1351         Import this patch from the mainline:
1352
1353         2012-08-17  Nick Clifton  <nickc@redhat.com>
1354
1355         * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
1356         (branch_true): Likewise.
1357         (branch_false): Likewise.
1358
1359 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
1360
1361         PR tree-optimization/56443
1362         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
1363         overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
1364         to type_for_mode langhook.
1365
1366 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
1367
1368         PR bootstrap/56258
1369         * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
1370         instead of @itemx.
1371
1372 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
1373
1374         Backported from mainline
1375         2013-02-19  Jakub Jelinek  <jakub@redhat.com>
1376
1377         PR tree-optimization/56350
1378         * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
1379         if haven't found reduction or nested cycle operand, rather than
1380         asserting we must find it.
1381
1382         PR tree-optimization/56381
1383         * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
1384         to fold_build3.
1385
1386         2013-02-08  Jakub Jelinek  <jakub@redhat.com>
1387
1388         PR tree-optimization/56250
1389         * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
1390         if type is unsigned and code isn't MULT_EXPR.
1391
1392         2013-02-06  Jakub Jelinek  <jakub@redhat.com>
1393
1394         PR middle-end/56217
1395         * omp-low.c (use_pointer_for_field): Return false if
1396         lower_send_shared_vars doesn't generate any copy-out code.
1397
1398         2012-11-27  Jakub Jelinek  <jakub@redhat.com>
1399
1400         PR tree-optimization/55110
1401         * tree-vect-loop.c (vectorizable_reduction): Don't assert
1402         that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.
1403
1404 2013-02-18  Richard Biener  <rguenther@suse.de>
1405
1406         Revert
1407         2013-02-04  Richard Biener  <rguenther@suse.de>
1408
1409         Backport from mainline
1410         2012-07-04  Richard Guenther  <rguenther@suse.de>
1411
1412         PR tree-optimization/53844
1413         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
1414         the loop virtual PHI.
1415
1416 2013-02-13  David S. Miller  <davem@davemloft.net>
1417
1418         * expmed.c (expand_shift_1): Only strip scalar integer subregs.
1419
1420 2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
1421
1422         Backport from mainline
1423         2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
1424
1425         PR rtl-optimization/56275
1426         * simplify-rtx.c (avoid_constant_pool_reference): Check that
1427         offset is non-negative and less than cmode size before
1428         calling simplify_subreg.
1429
1430 2013-02-09  Uros Bizjak  <ubizjak@gmail.com>
1431
1432         Backport from mainline
1433         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
1434
1435         * config/i386/sse.md (FMAMODEM): New mode iterator.
1436         (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
1437         mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
1438
1439         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
1440
1441         * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
1442         when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
1443         * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
1444
1445 2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1446
1447         Backport from mainline
1448         2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1449
1450         PR target/56043
1451         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
1452         If there is no implicit builtin declaration, just return NULL.
1453
1454 2013-02-08  David Edelsohn  <dje.gcc@gmail.com>
1455             Michael Meissner  <meissner@linux.vnet.ibm.com>
1456
1457         Backport from mainline
1458         * config/rs6000/rs6000.c (rs6000_option_override_internal): Clear
1459         MASK_VSX from set_masks if OS_MISSING_ALTIVEC.
1460
1461 2013-02-07  David S. Miller  <davem@davemloft.net>
1462
1463         * dwarf2out.c (based_loc_descr): Perform leaf register remapping
1464         on 'reg'.
1465         * var-tracking.c (vt_add_function_parameter): Test the presence of
1466         HAVE_window_save properly and do not remap argument registers when
1467         we have a leaf function.
1468
1469 2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
1470
1471         Backport from mainline
1472         2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
1473
1474         PR bootstrap/56227
1475         * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
1476         instead of "ll".
1477         * config/i386/i386.c (ix86_print_operand): Ditto.
1478
1479 2013-02-07  Alan Modra  <amodra@gmail.com>
1480
1481         PR target/53040
1482         * config/rs6000/rs6000.c (rs6000_savres_strategy): When using
1483         static chain, set REST_INLINE_FPRS too.
1484
1485 2013-02-06  David Edelsohn  <dje.gcc@gmail.com>
1486
1487         Backport from mainline
1488         2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
1489
1490         * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
1491         * configure: Regenerate.
1492
1493 2013-02-05  David Edelsohn  <dje.gcc@gmail.com>
1494
1495         Backport from mainline
1496         2013-02-03  David Edelsohn  <dje.gcc@gmail.com>
1497                     Andrew Dixie  <andrewd@gentrack.com>
1498
1499         * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
1500         flag set.
1501
1502 2013-02-05  Richard Biener  <rguenther@suse.de>
1503
1504         Backport from mainline
1505         2012-12-10  Richard Biener  <rguenther@suse.de>
1506
1507         PR tree-optimization/55107
1508         * tree-ssa-pre.c (struct pre_stats): Remove constified field.
1509         (bitmap_set_replace_value): Add gcc_unreachable.
1510         (do_regular_insertion): Re-write all_same handling.  Insert
1511         an assignment instead of a PHI in this case.
1512         (execute_pre): Do not record constified events.
1513
1514 2013-02-05  Richard Biener  <rguenther@suse.de>
1515
1516         PR tree-optimization/54767
1517         * tree-vrp.c (vrp_visit_phi_node): For PHI arguments coming via
1518         backedges drop all symbolical range information.
1519         (execute_vrp): Compute backedges.
1520
1521 2013-02-04  Richard Biener  <rguenther@suse.de>
1522
1523         Backport from mainline
1524         2012-01-11  Richard Guenther  <rguenther@suse.de>
1525
1526         PR tree-optimization/44061
1527         * tree-vrp.c (extract_range_basic): Compute zero as
1528         value-range for __builtin_constant_p of function parameters.
1529
1530         2013-01-08  Jakub Jelinek  <jakub@redhat.com>
1531
1532         PR middle-end/55890
1533         * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_class_p.
1534
1535 2013-02-04  Richard Biener  <rguenther@suse.de>
1536
1537         Backport from mainline
1538         2012-07-04  Richard Guenther  <rguenther@suse.de>
1539
1540         PR tree-optimization/53844
1541         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
1542         the loop virtual PHI.
1543
1544         2012-12-13  Richard Biener  <rguenther@suse.de>
1545
1546         PR lto/55660
1547         * tree-streamer.c (record_common_node): Check that we are not
1548         recursively pre-loading nodes we want to skip.  Handle
1549         char_type_node appearing as part of va_list_type_node.
1550
1551 2013-02-04  Richard Biener  <rguenther@suse.de>
1552
1553         PR middle-end/55890
1554         * gimple.h (gimple_call_builtin_class_p): New function.
1555         * gimple.c (validate_call): New function.
1556         (gimple_call_builtin_class_p): Likewise.
1557         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
1558         Use gimple_call_builtin_class_p.
1559         (find_func_clobbers): Likewise.
1560         * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
1561         (strlen_optimize_stmt): Likewise.
1562
1563 2013-02-01  Jakub Jelinek  <jakub@redhat.com>
1564
1565         Backported from mainline
1566         2013-01-28  Jakub Jelinek  <jakub@redhat.com>
1567
1568         PR tree-optimization/56125
1569         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
1570         pow(x,c) into sqrt(x) * powi(x, n/2) or
1571         1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
1572         optimizing for size.
1573         Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
1574         1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
1575         integer.
1576
1577         2013-01-25  Jakub Jelinek  <jakub@redhat.com>
1578
1579         PR tree-optimization/56098
1580         * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
1581         for stmts with volatile ops.
1582         (cond_store_replacement): Don't optimize if assign has volatile ops.
1583         (cond_if_else_store_replacement_1): Don't optimize if either
1584         then_assign or else_assign have volatile ops.
1585
1586         2013-01-23  Jakub Jelinek  <jakub@redhat.com>
1587
1588         PR target/49069
1589         * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
1590         instead of cmpdi_operand for first comparison operand.
1591         Don't assert that comparison operands aren't both constants.
1592
1593         2013-01-21  Jakub Jelinek  <jakub@redhat.com>
1594
1595         PR tree-optimization/56051
1596         * fold-const.c (fold_binary_loc): Don't fold
1597         X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
1598         a narrowing conversion, or widening conversion from signed
1599         to unsigned.
1600
1601         2013-01-18  Jakub Jelinek  <jakub@redhat.com>
1602
1603         PR middle-end/56015
1604         * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
1605         the case where writing real complex part of target modifies
1606         op1.
1607
1608         2013-01-15  Jakub Jelinek  <jakub@redhat.com>
1609
1610         PR target/55940
1611         * function.c (thread_prologue_and_epilogue_insns): Always
1612         add crtl->drap_reg to set_up_by_prologue.set, even if
1613         stack_realign_drap is false.
1614
1615         2013-01-10  Jakub Jelinek  <jakub@redhat.com>
1616
1617         PR tree-optimization/55921
1618         * tree-complex.c (expand_complex_asm): New function.
1619         (expand_complex_operations_1): Call it for GIMPLE_ASM.
1620
1621         2013-01-03  Jakub Jelinek  <jakub@redhat.com>
1622
1623         PR rtl-optimization/55838
1624         * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
1625         iv0.step, iv1.step and step.
1626
1627         2012-11-23  Jakub Jelinek  <jakub@redhat.com>
1628
1629         PR c++/54046
1630         * Makefile.in (gimple-low.o): Depend on langhooks.h.
1631         * gimple-low.c: Include langhooks.c.
1632         (block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK,
1633         by default call lang_hooks.block_may_fallthru.
1634         * langhooks.h (struct lang_hooks): Add block_may_fallthru
1635         langhook.
1636         * langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define.
1637         (LANG_HOOKS_INITIALIZER): Use it.
1638
1639         2012-11-20  Jakub Jelinek  <jakub@redhat.com>
1640
1641         PR middle-end/55094
1642         * builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
1643         on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
1644         * cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
1645         on the first old_insns_match_p call.  For !ACCUMULATE_OUTGOING_ARGS
1646         fail if the last real insn doesn't have REG_ARGS_SIZE note.
1647
1648         2012-11-17  Jakub Jelinek  <jakub@redhat.com>
1649
1650         PR tree-optimization/55236
1651         * fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv
1652         and signed ARG0_TYPE, force low and high to be non-NULL.
1653
1654         2012-11-13  Jakub Jelinek  <jakub@redhat.com>
1655
1656         PR rtl-optimization/54127
1657         * cfgrtl.c (force_nonfallthru_and_redirect): When redirecting
1658         asm goto labels from BB_HEAD (e->dest) to target bb, decrement
1659         LABEL_NUSES of BB_HEAD (e->dest) and increment LABEL_NUSES of
1660         BB_HEAD (target) appropriately and adjust JUMP_LABEL and/or
1661         REG_LABEL_TARGET and REG_LABEL_OPERAND.
1662
1663 2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
1664
1665         * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
1666         range isn't testing for zero.
1667
1668 2013-01-29  Richard Biener  <rguenther@suse.de>
1669
1670         PR tree-optimization/56113
1671         * tree-ssa-structalias.c (equiv_class_lookup): Also return
1672         the bitmap leader.
1673         (label_visit): Free duplicate bitmaps and record the leader instead.
1674         (perform_var_substitution): Adjust.
1675
1676 2013-01-28  Serowk  <serowk@yandex.ru>
1677
1678         PR target/35294
1679         * config/arm/arm.c (arm_expand_binop_builtin): Add new parameter.
1680         Fix mode checks to allow for the passing of constants in the
1681         second parameter.
1682         (arm_expand_builtin): Adjust calls to arm_expand_binop_builtin.
1683         Add entries in the switch statement for builtin iwmmxt vector
1684         shift and rotate builtins.
1685
1686 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1687
1688         Backport from mainline
1689         2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1690
1691         PR target/56114
1692         * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
1693         operand 0 in movabs insn template for -masm=intel asm alternative.
1694         (*movabs<mode>_2): Ditto for operand 1.
1695
1696 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1697
1698         Backport from mainline
1699         2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
1700
1701         PR target/56028
1702         * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
1703         alternative to (o,r).
1704         (*movdi_internal_rex64): Remove (!o,n) alternative.
1705         (DImode immediate->memory splitter): Remove.
1706         (DImode immediate->memory peephole2): Remove.
1707         (movtf): Enable for TARGET_64BIT || TARGET_SSE.
1708         (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
1709         alternative to (!o,*r).
1710         (*movtf_internal_sse): New pattern.
1711         (*movxf_internal_rex64): New pattern.
1712         (*movxf_internal): Disable for TARGET_64BIT.
1713         (*movdf_internal_rex64): Remove (!o,F) alternative.
1714
1715         2013-01-23  Uros Bizjak  <ubizjak@gmail.com>
1716
1717         * config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives
1718         involving stack registers slightly.
1719
1720         2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
1721
1722         * config/i386/constraints.md (Yf): New constraint.
1723         * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
1724         of f constraint to conditionaly disable x87 register preferences.
1725         (*movdf_internal): Ditto.
1726         (*movsf_internal): Ditto.
1727
1728         2012-01-24  Uros Bizjak  <ubizjak@gmail.com>
1729
1730         * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
1731         (*movtf_internal_rex64): Add (!o,C) alternative
1732         (*movxf_internal_rex64): Ditto.
1733         (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
1734
1735 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
1736
1737         * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
1738
1739 2013-01-24  Martin Jambor  <mjambor@suse.cz>
1740
1741         Backport from mainline
1742         2013-01-04  Martin Jambor  <mjambor@suse.cz>
1743
1744         PR tree-optimization/55755
1745         * tree-sra.c (sra_modify_assign): Do not check that an access has no
1746         children when trying to avoid producing a VIEW_CONVERT_EXPR.
1747
1748 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1749
1750         Backport from mainline
1751         2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1752
1753         * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
1754
1755 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1756
1757         PR rtl-optimization/56023
1758         * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
1759         dependent on debug instruction.
1760
1761 2013-01-21  Martin Jambor  <mjambor@suse.cz>
1762
1763         Backport from mainline
1764         2013-01-17  Martin Jambor  <mjambor@suse.cz>
1765
1766         PR tree-optimizations/55264
1767         * cgraph.c (cgraph_create_virtual_clone): Mark clones as non-virtual.
1768         * cgraph.h (cgraph_only_called_directly_p_or_aliased_p): Return false
1769         for virtual functions.
1770         * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
1771         for virtual methods.
1772         * ipa.c (cgraph_remove_unreachable_nodes): Never return true for
1773         virtual methods before inlining is over.
1774
1775 2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
1776
1777         Backport from mainline
1778         2012-01-17  Uros Bizjak  <ubizjak@gmail.com>
1779
1780         PR target/55981
1781         * config/i386/sync.md (atomic_store<mode>): Generate SWImode
1782         store through atomic_store<mode>_1.
1783         (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
1784
1785 2013-01-16  Richard Biener  <rguenther@suse.de>
1786
1787         PR middle-end/55882
1788         * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
1789         account for bitpos when computing alignment.
1790
1791 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
1792
1793         Backport from 2013-01-14 trunk r195169.
1794
1795         PR target/55974
1796         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
1797         etc. to 1 and not to __flash.
1798         Use LL suffix for __INT24_MAX__ with -mint8.
1799         Use ULL suffix for __UINT24_MAX__ with -mint8.
1800
1801 2013-01-14  Matthias Klose  <doko@ubuntu.com>
1802
1803         * doc/invoke.texi: Document -print-multiarch.
1804         * doc/install.texi: Document --enable-multiarch.
1805         * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
1806         * configure.ac: Add --enable-multiarch option.
1807         Substitute with_cpu, with_float.
1808         * configure: Regenerate.
1809         * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
1810         enable_multiarch, with_cpu, with_float: New macros.
1811         if_multiarch: New macro, define in terms of enable_multiarch.
1812         * genmultilib: Add new argument for the multiarch name.
1813         * gcc.c (multiarch_dir): Define.
1814         (for_each_path): Search for multiarch suffixes.
1815         (driver_handle_option): Handle multiarch option.
1816         (do_spec_1): Pass -imultiarch if defined.
1817         (main): Print multiarch.
1818         (set_multilib_dir): Separate multilib and multiarch names
1819         from multilib_select.
1820         (print_multilib_info): Ignore multiarch names in multilib_select.
1821         * incpath.c (add_standard_paths): Search the multiarch include dirs.
1822         * cppdefault.h (default_include): Document multiarch in multilib
1823         member.
1824         * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
1825         include directory for multiarch directories.
1826         * common.opt: New options --print-multiarch and -imultilib.
1827
1828         * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
1829         Include i386/t-linux.
1830         <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
1831         Include i386/t-kfreebsd.
1832         <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
1833         * config/i386/t-linux64: Add multiarch names in
1834         MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
1835         * config/i386/t-gnu: New file.
1836         * config/i386/t-kfreebsd: Likewise.
1837         * config/i386/t-linux: Likewise.
1838
1839         * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1840         * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
1841         * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
1842         for 32bit non-biarch configurations.
1843
1844         * config/pa/t-linux: New file; define MULTIARCH_DIRNAME.
1845         * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file):
1846         Include pa/t-linux.
1847
1848         * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1849
1850         * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
1851
1852         * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1853         * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
1854         * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
1855         to the list.
1856         (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
1857         * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
1858         Include rs6000/t-linux for 32bit non-biarch configurations.
1859
1860         * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1861
1862         * config/m68k/t-linux: Define MULTIARCH_DIRNAME.
1863
1864         * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
1865         * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.
1866
1867         * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
1868         * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.
1869
1870 2013-01-14  Eric Botcazou  <ebotcazou@adacore.com>
1871
1872         * tree-vectorizer.h (vect_get_single_scalar_iteraion_cost): Fix typo.
1873         * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Likewise.
1874         (vect_estimate_min_profitable_iter): Adjust to above fix.
1875         * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
1876
1877 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1878
1879         Backport from mainline
1880         2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1881
1882         * doc/extend.texi (X86 Built-in Functions): Add whitespace in
1883         __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
1884         documentation.  Add missing '__' in front of
1885         __builtin_ia32_packssdw256.
1886
1887 2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
1888
1889         Backport from mainline
1890         2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
1891
1892         * config/i386/sse.md (*vec_interleave_highv2df): Change mode
1893         attribute of movddup insn to DF.
1894         (*vec_interleave_lowv2df): Ditto.
1895         (vec_dupv2df): Ditto.
1896
1897 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1898
1899         Backport from 2013-01-07 trunk r194991, r194992.
1900
1901         PR target/55897
1902         * doc/extend.texi (AVR Named Address Spaces): __memx goes into
1903         .progmemx.data now.
1904
1905         * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
1906         (avr_addrspace_t): Add .section_name field.
1907         * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
1908         array size.
1909         (avr_addrspace): Same.  Initialize .section_name.  Remove last
1910         NULL entry.  Put __memx into .progmemx.data.
1911         (progmem_section_prefix): Remove.
1912         (avr_asm_init_sections): No need to initialize progmem_section.
1913         (avr_asm_named_section): Use avr_addrspace[].section_name to get
1914         section name prefix.
1915         (avr_asm_select_section): Ditto.  And use get_unnamed_section to
1916         retrieve the progmem section.
1917         * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
1918         boundary to run over avr_addrspace[].
1919         (avr_register_target_pragmas): Ditto.
1920
1921 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1922
1923         Backport from 2013-01-07 trunk r194978.
1924
1925         PR target/54461
1926         * doc/install.texi (Cross-Compiler-Specific Options): Document
1927         --with-avrlibc.
1928
1929 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1930
1931         Backport from 2013-01-07 trunk r194968.
1932
1933         PR other/55243
1934         * config/avr/t-avr: Don't automatically rebuild
1935         $(srcdir)/config/avr/t-multilib
1936         $(srcdir)/config/avr/avr-tables.opt
1937         (avr-mcus): New phony target to build them on request.
1938         (s-avr-mlib): Remove.
1939         * avr/avr-mcus.def: Adjust comments.
1940
1941 2013-01-07  Terry Guo  <terry.guo@arm.com>
1942
1943         Backport from mainline
1944         2012-12-19  Terry Guo  <terry.guo@arm.com>
1945
1946         * config/arm/arm.c (thumb_find_work_register): Check argument
1947         register number based on current PCS.
1948
1949 2013-01-06  Uros Bizjak  <ubizjak@gmail.com>
1950
1951         Backport from mainline
1952         2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
1953
1954         PR target/55712
1955         * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
1956         selected code model, define __code_mode_small__, __code_model_medium__,
1957         __code_model_large__, __code_model_32__ or __code_model_kernel__.
1958         * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
1959         xchg temporary register with %k.  Declare temporary register as
1960         early clobbered.
1961         [__x86_64__]: For medium and large code models, preserve %rbx register.
1962
1963 2013-01-03  Richard Henderson  <rth@redhat.com>
1964
1965         * config/i386/i386.c (ix86_expand_move): Always assign to op1
1966         after eliminating TLS symbols.
1967
1968 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1969
1970         PR target/53789
1971         * config/pa/pa.md (movsi): Revert previous change.
1972         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
1973         references.
1974
1975 2013-01-02  Rainer Emrich  <rainer@emrich-ebersheim.de>
1976
1977         PR bootstrap/55707
1978         * graphite-dependences.c (hash_poly_ddr_p): Cast from pointer via
1979         intptr_t.
1980
1981 2013-01-02  Jason Merrill  <jason@redhat.com>
1982
1983         PR c++/55804
1984         * tree.c (build_array_type_1): Revert earlier change.
1985
1986 2012-12-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1987
1988         PR target/53789
1989         * config/pa/pa.md (movsi): Reject expansion of TLS symbol references
1990         after reload starts.
1991
1992 2012-12-21  Martin Jambor  <mjambor@suse.cz>
1993
1994         PR tree-optimization/55355
1995         * tree-sra.c (type_internals_preclude_sra_p): Also check that
1996         bit_position is small enough to fit a single HOST_WIDE_INT.
1997
1998 2012-12-21  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
1999
2000         * config.gcc: Match arm*-*-uclinux*eabi* for EABI uCLinux.
2001
2002 2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
2003
2004         Backport from mainline
2005         2012-10-15  Matthias Klose  <doko@ubuntu.com>
2006
2007         * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
2008         * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
2009
2010 2012-12-16  Eric Botcazou  <ebotcazou@adacore.com>
2011             Tomash Brechko  <tomash.brechko@gmail.com>
2012
2013         PR target/55673
2014         * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed
2015         handling of before and after cases.
2016         * config/sparc/sync.md (atomic_store): Fix pasto.
2017
2018 2012-12-14  Yvan Roux  <yvan.roux@linaro.org>
2019
2020         * optabs.c (expand_atomic_store): Elide redundant model test.
2021
2022 2012-12-13  Richard Henderson  <rth@redhat.com>
2023
2024         PR middle-end/55492
2025         * optabs.c (expand_atomic_load): Emit acquire barrier after the load.
2026
2027 2012-12-11  Eric Botcazou  <ebotcazou@adacore.com>
2028
2029         PR target/54121
2030         * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
2031         (tldo_stb_sp64): Likewise.
2032         (tldo_sth_sp32): Likewise.
2033         (tldo_sth_sp64): Likewise.
2034         (tldo_stw_sp32): Likewise.
2035         (tldo_stw_sp64): Likewise.
2036         (tldo_stx_sp64): Likewise.
2037
2038 2012-12-10 Kai Tietz  <ktietz@redhat.com>
2039
2040         PR target/53912
2041         * print-tree.c (print_node): Cast from pointer via uintptr_t.
2042
2043 2012-12-07  Uros Bizjak  <ubizjak@gmail.com>
2044
2045         Backport from mainline
2046         2012-12-06  Uros Bizjak  <ubizjak@gmail.com>
2047                     H.J. Lu  <hongjiu.lu@intel.com>
2048
2049         PR target/55597
2050         * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
2051         before using it as insn or call equivalent.
2052
2053 2012-12-06  Jason Merrill  <jason@redhat.com>
2054
2055         PR c++/55032
2056         * tree.c (build_array_type_1): Re-layout if we found it in the
2057         hash table.
2058
2059 2012-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2060
2061         * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
2062         opaque cond in all call insns.
2063
2064 2012-12-03  Eric Botcazou  <ebotcazou@adacore.com>
2065
2066         * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
2067         area if the function allocates dynamic stack space.
2068         (ia64_initial_elimination_offset): Adjust offsets to above change.
2069
2070 2012-12-03  Richard Biener  <rguenther@suse.de>
2071
2072         Backport from mainline
2073         2012-09-24  Richard Guenther  <rguenther@suse.de>
2074
2075         PR tree-optimization/53663
2076         * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional
2077         native encode/interpret translation on VN_WALKREWRITE.
2078
2079 2012-12-03 Kai Tietz  <ktietz@redhat.com>
2080
2081         PR target/53912
2082         * ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t.
2083
2084         PR target/53912
2085         * tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT.
2086
2087         PR target/53912
2088         * pointer-set.c (hash1): Cast from pointer via uintptr_t.
2089
2090 2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2091
2092         Backport from mainline:
2093         2012-11-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2094
2095         PR target/55195
2096         * config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types.
2097         (in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
2098         (in_nullified_branch_delay): Likewise.
2099         (in_call_delay): Likewise.
2100         Define delay for sibcall insns.  Adjust Z3 and Z4 insn reservations for
2101         new types.  Add opaque cond to mark all calls, sibcalls, dyncalls and
2102         the $$sh_func_adrs call as variable.  Update type of sibcalls and
2103         $$sh_func_adrs call.
2104         * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
2105         length instead of adjustment.  Handle negative and undefined call
2106         adjustments for insn_default_length.  Remove adjustment for millicode
2107         insn with unfilled delay slot.
2108         (pa_output_millicode_call): Update for revised millicode length.
2109         * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
2110
2111 2012-11-29  Kai Tietz  <ktietz@redhat.com>
2112
2113         PR target/55171
2114         * prefix.c (lookup_key): Replace xmalloc/xrealloc
2115         use by XNEWVEC/XRESIZEVEC.
2116
2117         * i386.c (get_scratch_register_on_entry): Handle
2118         thiscall-convention.
2119         (split_stack_prologue_scratch_regno): Likewise.
2120         (ix86_static_chain): Likewise.
2121         (x86_output_mi_thunk): Likewise.
2122
2123 2012-11-28  H.J. Lu  <hongjiu.lu@intel.com>
2124
2125         Backported from mainline
2126         2012-11-27  H.J. Lu  <hongjiu.lu@intel.com>
2127                     Markus Trippelsdorf  <markus@trippelsdorf.de>
2128
2129         PR lto/54795
2130         * lto-opts.c (lto_write_options): Also handle
2131         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and
2132         OPT_SPECIAL_program_name.
2133
2134         PR lto/55474
2135         * lto-wrapper.c (merge_and_complain): Handle
2136         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore,
2137         OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
2138
2139 2012-11-27  Paolo Bonzini  <pbonzini@redhat.com>
2140
2141         PR rtl-optimization/55489
2142         * gcse.c (compute_transp): Precompute a canonical version
2143         of XEXP (x, 0), and pass it to canon_true_dependence.
2144
2145 2012-11-27  Richard Biener  <rguenther@suse.de>
2146
2147         PR middle-end/55331
2148         * gimple-fold.c (gimplify_and_update_call_from_tree): Replace
2149         stmt with a NOP instead of removing it.
2150
2151 2012-11-26  Richard Biener  <rguenther@suse.de>
2152
2153         Backport from mainline
2154         2012-10-19  Richard Biener  <rguenther@suse.de>
2155
2156         PR tree-optimization/54976
2157         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
2158         Robustify against odd inner_mode inputs.
2159
2160         2012-10-12  Richard Biener  <rguenther@suse.de>
2161
2162         PR tree-optimization/54894
2163         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
2164         Handle over-aligned scalar types properly.
2165
2166         2012-10-02  Richard Guenther  <rguenther@suse.de>
2167
2168         PR middle-end/54735
2169         * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
2170         cleaning up the CFG.
2171
2172 2012-11-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
2173
2174         Backport from mainline
2175         2012-11-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
2176
2177         * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
2178         explaining the register ordering preferences.
2179
2180         2012-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
2181         * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
2182         constraints so that the traditional floating point loads, stores,
2183         and moves are done first, then the VSX loads, stores, and moves,
2184         and finally the GPR loads, stores, and moves so that reload
2185         chooses FPRs over GPRs, and uses the traditional load/store
2186         instructions which provide an offset.
2187         (movdf_hardfloat64): Likewise.
2188
2189 2012-11-19  H.J. Lu  <hongjiu.lu@intel.com>
2190
2191         Backported from mainline
2192         2012-11-13  Eric Botcazou  <ebotcazou@adacore.com>
2193                     H.J. Lu  <hongjiu.lu@intel.com>
2194
2195         PR middle-end/55142
2196         * config/i386/i386.c (legitimize_pic_address): Properly handle
2197         REG + CONST.
2198         (ix86_print_operand_address): Set code to 'k' when forcing
2199         addr32 prefix.  For x32, zero-extend negative displacement if
2200         it < -16*1024*1024.
2201
2202 2012-11-12  Eric Botcazou  <ebotcazou@adacore.com>
2203
2204         * common.opt (fvar-tracking-uninit): Document.
2205         * toplev.c (process_options): Fix handling of flag_var_tracking_uninit.
2206         * config/darwin.c (darwin_override_options): Likewise.
2207
2208 2012-11-11  Eric Botcazou  <ebotcazou@adacore.com>
2209
2210         * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
2211         * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.
2212
2213 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
2214
2215         * doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
2216
2217 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
2218
2219         * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
2220         sp_offset manually.
2221
2222 2012-11-07  Uros Bizjak  <ubizjak@gmail.com>
2223
2224         Backport from mainline
2225         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2226
2227         * config/i386/i386.c (ix86_init_machine_status): Do not
2228         explicitly clear tls_descriptor_call_expanded_p again.
2229
2230         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2231
2232         * config/i386/sse.md
2233         (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
2234         as read and written by the instruction.
2235
2236         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2237
2238         * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
2239         (ix86_instantiate_decls): New function.
2240         (ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
2241         stack slot instead of SLOT_VIRTUAL.
2242         <case IX86_BUILTIN_STMXCSR>: Ditto.
2243         (assign_386_stack_local): Do not assert when virtual slot is valid.
2244         * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
2245         * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
2246         (truncxf<mode>2): Ditto.
2247         (floatunssi<mode>2): Ditto.
2248         (isinf<mode>2): Ditto.
2249         * config/i386/sync.md (atomic_load<mode>): Ditto.
2250         (atomic_store<mode>): Ditto.
2251
2252 2012-11-07  Eric Botcazou  <ebotcazou@adacore.com>
2253
2254         PR middle-end/55219
2255         * fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
2256         the argument is itself a conditional expression.
2257
2258 2012-11-05  H.J. Lu  <hongjiu.lu@intel.com>
2259
2260         * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
2261         REX_INT_REGNO_P.
2262
2263 2012-11-05  Eric Botcazou  <ebotcazou@adacore.com>
2264
2265         PR tree-optimization/54986
2266         * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op
2267         conversions on entry but add them back on exit if needed.
2268
2269 2012-11-05  Richard Sandiford  <rdsandiford@googlemail.com>
2270
2271         PR target/55204
2272         * config/i386/i386.c (ix86_address_subreg_operand): Remove stack
2273         pointer check.
2274         (print_reg): Use true_regnum rather than REGNO.
2275         (ix86_print_operand_address): Remove SUBREG handling.
2276
2277 2012-11-05  Jakub Jelinek  <jakub@redhat.com>
2278
2279         Backported from mainline
2280         2012-10-24  Jakub Jelinek  <jakub@redhat.com>
2281
2282         PR debug/54828
2283         * gimple.h (is_gimple_sizepos): New inline function.
2284         * gimplify.c (gimplify_one_sizepos): Use it.  Remove useless
2285         final assignment to expr variable.
2286         * tree.c (RETURN_TRUE_IF_VAR): Return true also if
2287         !TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified
2288         into a local temporary.
2289
2290         2012-10-10  Jakub Jelinek  <jakub@redhat.com>
2291
2292         PR tree-optimization/54877
2293         * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
2294         use make_ssa_name instead of copy_ssa_name.
2295
2296 2012-11-03  Peter Bergner  <bergner@vnet.ibm.com>
2297
2298         Backport from mainline
2299         2012-10-31  Jakub Jelinek  <jakub@redhat.com>
2300
2301         PR tree-optimization/53708
2302         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
2303         user-supplied alignment when used with an explicit section name.
2304
2305 2012-11-02  Jeff Law  <law@redhat.com>
2306
2307         PR tree-optimization/54985
2308         * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function extracted
2309         from thread_across_edge.
2310         (thread_across_edge): Use it in all cases where we might thread
2311         across a back edge.
2312
2313 2012-10-31  Eric Botcazou  <ebotcazou@adacore.com>
2314
2315         * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
2316         special register pushes before frame probing and allocation.
2317
2318 2012-10-31  Ralf Corsépius  <ralf.corsepius@rtems.org>,
2319             Joel Sherrill  <joel.sherrill@oarcorp.com>
2320
2321         * config/sparc/t-rtems: New (Custom multilibs).
2322         * config/sparc/t-rtems-64: New (Custom multilibs).
2323         * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
2324         (sparc-*-rtems*): Add sparc/t-rtems.
2325
2326 2012-10-30  Eric Botcazou  <ebotcazou@adacore.com>
2327
2328         * cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
2329         head comment.
2330         (hash_rtx): Likewise.
2331
2332 2012-10-29  Terry Guo  <terry.guo@arm.com>
2333
2334         Backport from mainline
2335         2012-10-11  Terry Guo  <terry.guo@arm.com>
2336
2337         * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
2338         architecture.
2339         * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
2340         instruction.
2341
2342 2012-10-26  Gunther Nikl  <gnikl@users.sourceforge.net>
2343
2344         * common/config/m68k/m68k-common.c (m68k_handle_option): Set
2345         gcc_options fields of opts_set for -m68020-40 and -m68020-60.
2346
2347 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
2348
2349         * config/avr/t-rtems: Revert previous commit.
2350
2351 2012-10-26  Terry Guo  <terry.guo@arm.com>
2352
2353         Backport from mainline
2354         2012-10-23  Terry Guo  <terry.guo@arm.com>
2355
2356         PR target/55019
2357         * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
2358         live argument regs.
2359
2360 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
2361
2362         * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
2363         __USE_INIT_FINI__.
2364         * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
2365
2366 2012-10-25  Ralf Corsépius  <ralf.corsepius@rtems.org>
2367
2368         * config.gcc (microblaze*-*-rtems*): New target.
2369         * config/microblaze/rtems.h: New.
2370         * config/microblaze/t-rtems: New.
2371
2372 2012-10-25  Richard Biener  <rguenther@suse.de>
2373
2374         PR tree-optimization/54902
2375         * tree-ssa-pre.c (fini_pre): Return TODO.
2376         (execute_pre): Adjust.
2377         * tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
2378         blocks before computing dominators.
2379
2380 2012-10-24  Uros Bizjak  <ubizjak@gmail.com>
2381
2382         Backport from mainline
2383         2012-10-22  Uros Bizjak  <ubizjak@gmail.com>
2384
2385         * config/i386/i386.c (memory_address_length): Assert that non-null
2386         base or index RTXes are registers.  Do not check for REG RTXes.
2387         Determine addr32 prefix using SImode_address_operand or
2388         from original base and index RTXes.  Simplify code.
2389
2390         2012-10-21  Uros Bizjak  <ubizjak@gmail.com>
2391
2392         * config/i386/i386-protos.h (memory_address_length): Add new bool
2393         argument.  Update all uses.
2394         * config/i386/i386.c (memory_address_length): If not LEA insn, then
2395         add length of addr32 prefix based on mode of base or index register.
2396         (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
2397         addresses here.  Update call to memory_address_length.
2398         (ix86_print_address_operand): Use SImode_address_operand predicate.
2399         * config/i386/predicates.md (SImode_address_operand): New.
2400         * config/i386/i386.md (lea<mode>): Use SImode_address_operand
2401         to calculate "mode" attribute.  Use SImode_address_operand predicate
2402         instead of open-coding accepted RTX codes.
2403
2404 2012-10-22  Georg-Johann Lay  <avr@gjlay.de>
2405
2406         Backport from 2012-10-22 trunk r192685.
2407         * doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
2408         Note __AVR_<device>__ is not defined for cores.
2409         Don't point to --help=target.
2410         Order --mcu= documentation according to trunk:/gcc/doc/avr-mmcu.texi.
2411
2412 2012-10-19  Marek Polacek  <polacek@redhat.com>
2413
2414         Backported from mainline
2415         2012-10-19  Marek Polacek  <polacek@redhat.com>
2416
2417         PR middle-end/54945
2418         * fold-const.c (fold_sign_changed_comparison):  Punt if folding
2419         pointer/non-pointer comparison.
2420
2421 2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
2422
2423         Backported from mainline
2424         2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
2425
2426         PR target/54892
2427         * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
2428         sure the mode is correct when falling through from above cases.
2429
2430 2012-10-19  Alan Modra  <amodra@gmail.com>
2431
2432         * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
2433         (HAVE_LD_LARGE_TOC): Likewise.
2434         * configure: Regenerate.
2435
2436 2012-10-19  Alan Modra  <amodra@gmail.com>
2437
2438         * config/rs6000/predicates.md (splat_input_operand): Don't call
2439         input_operand for MEMs.  Instead check for volatile and call
2440         memory_address_addr_space_p with modified mode.
2441
2442 2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
2443
2444         Backported from mainline
2445         2012-07-23  Ulrich Weigand  <ulrich.weigand@linaro.org>
2446
2447         * config/arm/arm.c (arm_reorg): Ensure all insns are split.
2448
2449 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
2450
2451         PR rtl-optimization/54870
2452         * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
2453         * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
2454         SSA_NAME pointer that points to a partition if there is at least
2455         one variable with it set in the partition.
2456         * dse.c (local_variable_can_escape): New predicate.
2457         (can_escape): Call it.
2458         * gimplify.c (mark_addressable): If this is a partitioned decl, also
2459         mark the SSA_NAME pointer that points to a partition.
2460
2461 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
2462
2463         Backport from mainline
2464         2012-08-09  Andrey Belevantsev  <abel@ispras.ru>
2465
2466         PR rtl-optimization/53701
2467         * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
2468         rocess not only expr's vinsns but all old vinsns from expr's
2469         istory of changes.
2470
2471 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
2472
2473         Backport from mainline
2474         2012-07-31  Andrey Belevantsev  <abel@ispras.ru>
2475         PR target/53975
2476
2477         * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
2478         Revert
2479         2011-08-04  Sergey Grechanik  <mouseentity@ispras.ru>
2480         * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
2481         only if producer writes to the register given by regno.
2482
2483 2012-09-15  Uros Bizjak  <ubizjak@gmail.com>
2484
2485         Backport from mainline
2486         2012-10-15  Uros Bizjak  <ubizjak@gmail.com>
2487
2488         * config/i386/sse.md (UNSPEC_MOVU): Remove.
2489         (UNSPEC_LOADU): New.
2490         (UNSPEC_STOREU): Ditto.
2491         (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
2492         (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
2493         (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
2494         (<sse2>_movdqu<avxsizesuffix>): Split to ...
2495         (<sse2>_loaddqu<avxsizesuffix>): ... this and ...
2496         (<sse2>_storedqu<avxsizesuffix>): ... this.
2497         (*sse4_2_pcmpestr_unaligned): Update.
2498         (*sse4_2_pcmpistr_unaligned): Ditto.
2499
2500         * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
2501         gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
2502         gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
2503         (ix86_expand_vector_move_misalign): Use gen_sse_loadups or
2504         gen_sse2_load{dqu,upd} to load from unaligned memory and
2505         gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
2506         unaligned memory.
2507         (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
2508         Use CODE_FOR_sse_loadups.
2509         <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
2510         <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
2511         <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
2512         <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
2513         <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
2514         <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
2515         <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
2516         <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
2517         <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
2518         <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
2519         <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
2520
2521 2012-10-15  Steven Bosscher  <steven@gcc.gnu.org>
2522
2523         Backport from trunk (r190222):
2524
2525         PR tree-optimization/54146
2526         * ifcvt.c: Include pointer-set.h.
2527         (cond_move_process_if_block): Change type of then_regs and
2528         else_regs from alloca'd array to pointer_sets.
2529         (check_cond_move_block): Update for this change.
2530         (cond_move_convert_if_block): Likewise.
2531         * Makefile.in: Fix dependencies for ifcvt.o.
2532
2533 2012-10-15  Richard Guenther  <rguenther@suse.de>
2534
2535         PR tree-optimization/54920
2536         * tree-ssa-pre.c (create_expression_by_pieces): Properly
2537         allocate temporary storage for all NARY elements.
2538
2539 2012-10-08  Georg-Johann Lay  <avr@gjlay.de>
2540
2541         PR target/54854
2542         * doc/invoke.texi (AVR Options): Deprecate -mshort-calls.
2543
2544 2012-10-05  Mark Kettenis  <kettenis@openbsd.org>
2545
2546         * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
2547         default_use_cxa_atexit to yes.
2548
2549 2012-10-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2550
2551         * config/pa/pa.md: Adjust unamed HImode add insn pattern.
2552
2553 2012-10-05  Jan Hubicka  <jh@suse.cz>
2554             Jakub Jelinek  <jakub@redhat.com>
2555
2556         PR tree-optimization/33763
2557         * tree-inline.c (expand_call_inline): Silently ignore always_inline
2558         attribute for redefined extern inline functions.
2559
2560 2012-10-03  H.J. Lu  <hongjiu.lu@intel.com>
2561
2562         Backported from mainline
2563         2012-10-03  Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
2564
2565         * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
2566         in SSE and YMM state support check for -march=native.
2567
2568 2012-10-03  Alexandre Oliva <aoliva@redhat.com>
2569
2570         PR debug/53135
2571         * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
2572         when needed.
2573
2574 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2575
2576         Backported from mainline
2577         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2578
2579         PR target/54785
2580         * doc/invoke.texi: Document -mprefer-avx128.
2581
2582 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2583
2584         Backported from mainline
2585         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2586
2587         PR target/54741
2588         *  config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
2589         (XSTATE_FP): Likewise.
2590         (XSTATE_SSE): Likewise.
2591         (XSTATE_YMM): Likewise.
2592         (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
2593         SSE and YMM states aren't supported.
2594
2595 2012-10-01  Tom de Vries  <tom@codesourcery.com>
2596
2597         * var-tracking.c (set_dv_changed): Add an 'inline' function specifier to
2598         the prototype.
2599
2600 2012-10-01  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2601
2602         PR target/54746
2603         * config/s390/s390.c (s390_option_override): Add missing break.
2604
2605 2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
2606
2607         Backport from mainline
2608         2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
2609
2610         * config.gcc: Replace 'host' with 'target' when configuring for
2611         powerpc64*-*-freebsd.
2612
2613 2012-09-28  Meador Inge  <meadori@codesourcery.com>
2614
2615         Backport from mainline
2616         2012-09-27  Meador Inge  <meadori@codesourcery.com>
2617
2618         * gcc-ar.c (main): Handle the returning of the sub-process error
2619         code correctly.
2620
2621 2012-09-28  Georg-Johann Lay  <avr@gjlay.de>
2622
2623         Backport from 2012-09-28 trunk r191821.
2624         * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
2625
2626 2012-09-27  Jakub Jelinek  <jakub@redhat.com>
2627
2628         PR target/54703
2629         * simplify-rtx.c (simplify_binary_operation_1): Perform
2630         (x - (x & y)) -> (x & ~y) optimization only for integral modes.
2631
2632 2012-09-24  Eric Botcazou  <ebotcazou@adacore.com>
2633
2634         * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
2635         TYPE_NONALIASED_COMPONENT flag.
2636         * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
2637         TYPE_NONALIASED_COMPONENT flag.
2638
2639 2012-09-21  Richard Guenther  <rguenther@suse.de>
2640
2641         PR middle-end/54638
2642         Backport from mainline
2643         2012-04-19  Richard Guenther  <rguenther@suse.de>
2644
2645         * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
2646         array access.
2647
2648 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
2649
2650         PR c/54552
2651         * c-typeck.c (c_cast_expr): When casting to a type requiring
2652         C_MAYBE_CONST_EXPR to be created, pass the inner expression to
2653         c_fully_fold first.
2654
2655 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
2656
2657         PR c/54103
2658         * c-typeck.c (build_unary_op): Pass original argument of
2659         TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
2660         any C_MAYBE_CONST_EXPR, if it has integer operands.
2661         (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
2662         TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
2663         to c_objc_common_truthvalue_conversion, then remove any
2664         C_MAYBE_CONST_EXPR, if they have integer operands.  Use
2665         c_objc_common_truthvalue_conversion not
2666         c_common_truthvalue_conversion.
2667         (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
2668         call note_integer_operands for arguments with integer operands
2669         that are not integer constants.
2670
2671 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
2672
2673         Backported from mainline
2674         2012-09-17  Jakub Jelinek  <jakub@redhat.com>
2675
2676         PR tree-optimization/54563
2677         * tree-ssa-math-opts.c (execute_cse_sincos): Call
2678         gimple_purge_dead_eh_edges if last call has been changed.
2679
2680         2012-09-14  Jakub Jelinek  <jakub@redhat.com>
2681
2682         PR target/54564
2683         * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
2684         instead of (match_dup 0) as second argument to vec_merge.
2685         (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
2686         Remove third alternative.
2687         (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
2688         operand 2 instead of operand 1, but put it as first argument
2689         of fma.
2690         * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
2691         _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
2692         of the first.
2693
2694 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
2695
2696         * BASE-VER: Set to 4.7.3.
2697         * DEV-PHASE: Set to prerelease.
2698
2699 2012-09-20  Release Manager
2700
2701         * GCC 4.7.2 released.
2702
2703 2012-09-15  Andi Kleen  <ak@linux.intel.com>
2704
2705         Backport from mainline
2706         2012-09-07  Andi Kleen  <ak@linux.intel.com>
2707
2708         * gcc/lto-streamer.h (res_pair): Add.
2709         (lto_file_decl_data): Replace resolutions with respairs.
2710         Add max_index.
2711         * gcc/lto/lto.c (lto_resolution_read): Remove max_index.  Add rp.
2712         Initialize respairs.
2713         (lto_file_finalize): Set up resolutions vector lazily from respairs.
2714
2715 2012-09-14  Walter Lee  <walt@tilera.com>
2716
2717         Backport from mainline.
2718         2012-09-14  Walter Lee  <walt@tilera.com>
2719
2720         * doc/invoke.texi (Option Summary): fix typesetting for -mcpu
2721         option for TILEPro and TILE-Gx.
2722
2723 2012-09-13  Uros Bizjak  <ubizjak@gmail.com>
2724
2725         * config/i386/i386.h (x86_prefetchw): New global variable.
2726         (TARGET_PREFETCHW): New macro.
2727         * config/i386/i386.c (PTA_PREFETCHW): Ditto.
2728         (processor_alias_table): Add PTA_PREFETCHW to
2729         bdver1, bdver2 and btver1.
2730         (ix86_option_override_internal): Set x86_prefetchw for
2731         PTA_PREFETCHW targets.
2732         * config/i386/i386.md (prefetch): Expand to prefetchw
2733         for TARGET_PREFETCHW.
2734         (*prefetch_3dnow_<mode>): Also enable for TARGET_PREFETCHW.
2735
2736         Backport from mainline
2737         2012-08-13  Uros Bizjak  <ubizjak@gmail.com>
2738
2739         * config/i386/i386.md (prefetch): Do not assert mode of operand 0.
2740         (*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
2741         Rename to ...
2742         (*prefetch_sse): ... this.
2743         (*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
2744         Rename to ...
2745         (*prefetch_3dnow): ... this.
2746
2747 2012-09-13  Jakub Jelinek  <jakub@redhat.com>
2748
2749         PR c/54559
2750         * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
2751         COMPLEX_TYPE with in_late_binary_op set temporarily to true.
2752
2753 2012-09-12  Teresa Johnson  <tejohnson@google.com>
2754
2755         Backport from mainline.
2756         2012-09-12  Teresa Johnson  <tejohnson@google.com>
2757
2758         PR gcov-profile/54487
2759         * configure.ac (HOST_HAS_F_SETLKW): Set based on compile
2760         test using F_SETLKW with fcntl.
2761         * configure, config.in: Regenerate.
2762
2763 2012-09-12  Uros Bizjak  <ubizjak@gmail.com>
2764
2765         Backport from mainline
2766         2012-09-12  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
2767
2768         * config/i386/i386.md : Comments on fma4 instruction selection
2769         reflect requirement on register pressure based cost model.
2770
2771         * config/i386/driver-i386.c (host_detect_local_cpu): fma4
2772         flag is set-reset as informed by the cpuid flag.
2773
2774         * config/i386/i386.c (processor_alias_table): fma4
2775         flag is enabled for bdver2.
2776
2777 2012-09-12  Christian Bruel  <christian.bruel@st.com>
2778
2779         * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
2780
2781 2012-09-12  Jakub Jelinek  <jakub@redhat.com>
2782
2783         * config.gcc: Obsolete picochip-*.
2784
2785 2012-09-11  Richard Guenther  <rguenther@suse.de>
2786
2787         PR debug/54534
2788         * cgraph.h (varpool_can_remove_if_no_refs): Restore dependence
2789         on flag_toplevel_reorder.
2790
2791 2012-09-10  Richard Henderson  <rth@redhat.com>
2792
2793         * config/alpha/predicates.md (small_symbolic_operand): Disallow
2794         large offsets.
2795
2796 2012-09-10  Georg-Johann Lay  <avr@gjlay.de>
2797
2798         Backport from 2012-09-10 mainline r191132.
2799
2800         PR target/54536
2801         * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
2802
2803 2012-09-10  Markus Trippelsdorf  <markus@trippelsdorf.de>
2804
2805         PR middle-end/54515
2806         * tree-sra.c (disqualify_base_of_expr): Check for possible
2807         NULL_TREE returned by get_base_address()
2808
2809 2012-09-07  Richard Guenther  <rguenther@suse.de>
2810
2811         Backport from mainline
2812         2012-06-26  Jan Hubicka  <jh@suse.cz>
2813
2814         PR lto/53572
2815         * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
2816         used symbols.
2817
2818 2012-09-07  Richard Guenther  <rguenther@suse.de>
2819
2820         Backport from mainline
2821         2012-07-13  Richard Guenther  <rguenther@suse.de>
2822
2823         PR tree-optimization/53922
2824         * tree-vrp.c (value_inside_range): Change prototype to take
2825         min/max instead of value-range.
2826         (range_includes_zero_p): Likewise.  Return the result from
2827         value_inside_range.
2828         (extract_range_from_binary_expr_1): Adjust to handle dont-know
2829         return value from range_includes_zero_p.
2830         (extract_range_from_unary_expr_1): Likewise.
2831         (compare_range_with_value): Likewise.
2832         (vrp_meet_1): Likewise.
2833
2834 2012-09-07  Richard Guenther  <rguenther@suse.de>
2835
2836         PR middle-end/53667
2837         * tree-ssa-structalias.c (handle_rhs_call): Properly clobber
2838         EAF_NOESCAPED arguments.  Transitively close non-EAF_DIRECT
2839         arguments separately.
2840
2841 2012-09-07  Jakub Jelinek  <jakub@redhat.com>
2842
2843         Backported from mainline
2844         2012-09-06  Jakub Jelinek  <jakub@redhat.com>
2845
2846         PR rtl-optimization/54455
2847         * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru
2848         bb ends up with asm goto referencing bb's label.
2849
2850 2012-09-07  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2851
2852         Backport from mainline.
2853         2012-08-29  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2854                     Richard Earnshaw  <richard.earnshaw@arm.com>
2855
2856         PR target/54252
2857         * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
2858         element size. Use elem_type from the formal parameter. New parameter
2859         fcode.
2860         (neon_expand_args): Adjust call to neon_dereference_pointer.
2861
2862 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
2863
2864         * config/i386/sse.md (<sse4_1_avx2>_pblendvb): Use
2865         reg_not_xmm0_operand_maybe_avx as operand 0 constraint.
2866
2867 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
2868
2869         Backport from mainline
2870         2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
2871
2872         * config/i386/i386.md (isa): Add fma and fma4.
2873         (enabled): Handle fma and fma4.
2874         * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>.
2875         (*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>.
2876         (*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>.
2877         (*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>.
2878         (*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>.
2879         (*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>.
2880
2881         2012-08-10  Uros Bizjak  <ubizjak@gmail.com>
2882
2883         * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>,
2884         *fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>,
2885         *fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns.
2886
2887 2012-09-06  Richard Guenther  <rguenther@suse.de>
2888
2889         PR tree-optimization/54498
2890         * tree-ssa-alias.h (get_continuation_for_phi): Add flag to
2891         abort when reaching an already visited region.
2892         * tree-ssa-alias.c (maybe_skip_until): Likewise.  And do it.
2893         (get_continuation_for_phi_1): Likewise.
2894         (walk_non_aliased_vuses): When we translated the reference,
2895         abort when we re-visit a region.
2896         * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
2897
2898 2012-09-06  Andrew Pinski  <apinski@cavium.com>
2899
2900         PR tree-opt/54494
2901         * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also.
2902
2903 2012-09-05  Jakub Jelinek  <jakub@redhat.com>
2904
2905         PR middle-end/54486
2906         * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
2907         build_int_cst with size_type_node instead of size_int.
2908
2909 2012-09-05  Georg-Johann Lay  <avr@gjlay.de>
2910
2911         Backport from 2012-09-05 mainline r190697.
2912
2913         PR target/54461
2914         * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
2915         configured --with-avrlibc.
2916         (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if configured
2917         --with-avrlibc.
2918         * config/avr/avrlibc.h: New file.
2919         * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
2920         configured --with-avrlibc.
2921         * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__
2922
2923 2012-09-05  Bin Cheng  <bin.cheng@arm.com>
2924
2925         Backport from 2012-09-04 mainline r190919
2926
2927         PR target/45070
2928         * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value
2929         of size less than 4 bytes by using macro ARM_NUM_INTS.
2930         (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS.
2931
2932 2012-09-04  Richard Henderson  <rth@redhat.com>
2933
2934         * alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
2935
2936 2012-09-04  Georg-Johann Lay  <avr@gjlay.de>
2937
2938         Backport from 2012-09-04 mainline r190920
2939
2940         PR target/54476
2941         * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with SImode.
2942
2943 2012-09-04  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2944
2945         Backport from 2012-09-04 mainline r190914
2946
2947         PR target/54220
2948         * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
2949         define to...
2950         (avr_allocate_stack_slots_for_args): ...this new static function.
2951
2952 2012-09-03  H.J. Lu  <hongjiu.lu@intel.com>
2953
2954         Backported from mainline
2955         2012-08-23  H.J. Lu  <hongjiu.lu@intel.com>
2956
2957         PR driver/54335
2958         * doc/invoke.texi: Add -da and remove -dm.
2959
2960 2012-09-03  Jakub Jelinek  <jakub@redhat.com>
2961
2962         Backported from mainline
2963         2012-09-01  Jakub Jelinek  <jakub@redhat.com>
2964
2965         PR target/54436
2966         * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
2967         operands[1] is CONST_INT_P, convert it to QImode before printing.
2968
2969         2012-08-31  Jakub Jelinek  <jakub@redhat.com>
2970
2971         PR c/54428
2972         * c-convert.c (convert): Don't call fold_convert_loc if
2973         TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
2974         is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
2975         COMPLEX_TYPE -> COMPLEX_TYPE conversion.
2976
2977         2012-08-24  Jakub Jelinek  <jakub@redhat.com>
2978
2979         PR c/54363
2980         * gimplify.c (optimize_compound_literals_in_ctor): Only recurse
2981         if init is a CONSTRUCTOR.
2982
2983 2012-09-02  Eric Botcazou  <ebotcazou@adacore.com>
2984
2985         PR rtl-optimization/54369
2986         * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
2987         calling dbr_schedule.
2988         * config/sparc/sparc.c (sparc_reorg): Likewise.
2989
2990 2012-08-31  Kirill Yukhin  <kirill.yukhin@intel.com>
2991
2992         Backport from mainline
2993         2012-08-23  Yuri Rumyantsev  <ysrumyan@gmail.com>
2994
2995         * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
2996         case for Atom processor.
2997
2998 2012-08-28  Uros Bizjak  <ubizjak@gmail.com>
2999
3000         Backport from mainline
3001         2012-08-27  Uros Bizjak  <ubizjak@gmail.com>
3002
3003         PR target/46254
3004         * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
3005         true for TARGET_64BIT or !flag_pic.
3006         * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
3007         (atomic_compare_and_swap_double<mode>): Change operand 2 predicate
3008         to cmpxchg8b_pic_memory_operand.  Use DWIH mode iterator.
3009         Add insn constraint.  Conditionally emit xchg asm insns.
3010         (atomic_compare_and_swap<mode>): Update calls.  Check only
3011         cmpxchg8b_pic_memory_operand in memory address fixup.
3012         (DCASMODE): Remove.
3013         (CASHMODE): Rename from DCASHMODE.
3014         (doublemodesuffix): Update modes.
3015         (regprefix): New mode attribute.
3016
3017         (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
3018         <UNSPECV_CMPXCHG>: New constant.
3019         (atomic_compare_and_swap<mode>_1): Rename from
3020         atomic_compare_and_swap_single<mode>.  Update calls and
3021         unspec_volatile constants.
3022         (atomic_compare_and_swap<mode>_doubleword): Rename from
3023         atomic_compare_and_swap_double<mode>.  Update calls and
3024         unspec_volatile constants.
3025
3026 2012-08-28  Walter Lee  <walt@tilera.com>
3027
3028         Backport from mainline
3029         2012-08-28  Walter Lee  <walt@tilera.com>
3030
3031         * confg/tilegx/tilegx.md: Fix code style.
3032         (*zero_extendsidi_truncdisi): Fix typo.
3033         * config/tilegx/tilegx.c: Fix code style.
3034         (tilegx_function_profiler): Fix typo.
3035
3036 2012-08-27  Walter Lee  <walt@tilera.com>
3037
3038         Backport from mainline
3039         2012-08-27  Walter Lee  <walt@tilera.com>
3040
3041         * doc/md.texi (TILE-Gx): Fix typo.
3042
3043 2012-08-27  Walter Lee  <walt@tilera.com>
3044
3045         Backport from mainline
3046         2012-08-27  Walter Lee  <walt@tilera.com>
3047
3048         * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
3049         * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
3050
3051 2012-08-27  Walter Lee  <walt@tilera.com>
3052
3053         Backport from mainline
3054         2012-08-27  Walter Lee  <walt@tilera.com>
3055
3056         * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
3057         (insn_bfins): Delete.
3058
3059 2012-08-27  Walter Lee  <walt@tilera.com>
3060
3061         Backport from mainline
3062         2012-08-27  Walter Lee  <walt@tilera.com>
3063
3064         * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
3065         atomic_exchange_bare<mode>,
3066         atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
3067         * config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation.
3068         * config/tilegx/tilegx.md (type): Add X1_remove.
3069         (insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
3070         insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
3071         insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
3072         X1_remote.
3073
3074 2012-08-25  Eric Botcazou  <ebotcazou@adacore.com>
3075
3076         PR rtl-optimization/54088
3077         * jump.c (delete_related_insns): Robustify latest change.
3078
3079 2012-08-21  Richard Guenther  <rguenther@suse.de>
3080
3081         Backport from mainline
3082         2012-08-16  Richard Guenther  <rguenther@suse.de>
3083
3084         PR middle-end/54146
3085         * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
3086         exit vector.
3087         * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
3088         * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
3089         * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
3090         * tree-ssa-loop-im.c (analyze_memory_references): Adjust.
3091         (tree_ssa_lim_finalize): Free all mem_refs.
3092         * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
3093         scc when bailing out.
3094         * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
3095         * ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
3096         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
3097         FOR_EACH_LOOP_BREAK.
3098
3099         2012-08-17  Richard Guenther  <rguenther@suse.de>
3100
3101         * tree-sra.c (modify_function): Free redirect_callers vector.
3102         * ipa-split.c (split_function): Free args_to_pass vector.
3103         * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
3104         vec_oprnds.
3105         (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
3106         * tree-vect-slp.c (vect_free_slp_instance): Free the instance.
3107         (vect_analyze_slp_instance): Free everything.
3108         (destroy_bb_vec_info): Free the SLP instances.
3109
3110         2012-08-17  Richard Guenther  <rguenther@suse.de>
3111
3112         * params.def (integer-share-limit): Decrease from 256 to 251,
3113         add rationale.
3114
3115         2012-08-21  Richard Guenther  <rguenther@suse.de>
3116
3117         * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
3118         the affine expansion cache.
3119
3120 2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
3121
3122         Backported from trunk
3123         2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
3124
3125         PR middle-end/53992
3126         * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
3127
3128 2012-08-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3129
3130         Backport from mainline.
3131         2012-08-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3132
3133         PR target/54212
3134         * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
3135         mark as predicable. Adjust asm template.
3136         (vec_setv2di_internal): Likewise.
3137         (vec_extract<mode> VD, VQ): Likewise.
3138         (vec_extractv2di): Likewise.
3139         (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise.
3140         (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise.
3141         (neon_vdup_n<mode> VX, V32): Likewise.
3142         (neon_vdup_nv2di): Likewise.
3143
3144 2012-08-17  Walter Lee  <walt@tilera.com>
3145
3146         Backport from mainline
3147         2012-08-17  Walter Lee  <walt@tilera.com>
3148
3149         * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
3150         (FEEDBACK_ENTER): Define.
3151         (FEEDBACK_REENTER): Define.
3152         (FEEDBACK_ENTRY): Define.
3153         * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
3154         (FEEDBACK_ENTER): Define.
3155         (FEEDBACK_REENTER): Define.
3156         (FEEDBACK_ENTRY): Define.
3157
3158 2012-08-16  Walter Lee  <walt@tilera.com>
3159
3160         Backport from mainline
3161         2012-08-16  Walter Lee  <walt@tilera.com>
3162
3163         * config.gcc (tilegx-*-linux*): Add feedback.h.
3164         (tilepro-*-linux*): Likewise.
3165         * config/tilegx/feedback.h: New file.
3166         * config/tilepro/feedback.h: New file.
3167
3168 2012-08-08  Pavel Chupin  <pavel.v.chupin@intel.com>
3169
3170         Backport from mainline r189840 and r187586:
3171         2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>
3172
3173         * config/i386/i386.md (stack_protect_set): Disable the pattern
3174         for Android since Android libc (bionic) does not provide random
3175         value for stack protection guard at gs:0x14. Guard value
3176         will be provided from external symbol (default implementation).
3177         (stack_protect_set_<mode>): Likewise.
3178         (stack_protect_test): Likewise.
3179         (stack_protect_test_<mode>): Likewise.
3180         * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
3181         not have Bionic by default
3182         * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
3183         Macro OPTION_BIONIC is defined in this file and provides Bionic
3184         accessibility status
3185
3186         2012-05-16  Igor Zamyatin  <igor.zamyatin@intel.com>
3187
3188         * configure.ac: Stack protector enabling for Android targets.
3189         * configure: Regenerate.
3190
3191 2012-08-13  Jakub Jelinek  <jakub@redhat.com>
3192
3193         Backported from trunk
3194         2012-07-19  Jakub Jelinek  <jakub@redhat.com>
3195
3196         PR rtl-optimization/53942
3197         * function.c (assign_parm_setup_reg): Avoid zero/sign extension
3198         directly from likely spilled non-fixed hard registers, move them
3199         to pseudo first.
3200
3201 2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
3202
3203         * config/i386/sse.md (xop_phaddbq):  Fix vec_select selectors.
3204         (xop_phaddubq): Ditto.
3205
3206 2012-08-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
3207
3208         Backport from mainline
3209         2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
3210                     Richard Earnshaw  <rearnsha@arm.com>
3211
3212         * target.def (vector_alignment): New target hook.
3213         * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
3214         * doc/tm.texi: Regenerate.
3215         * targhooks.c (default_vector_alignment): New function.
3216         * targhooks.h (default_vector_alignment): Add prototype.
3217         * stor-layout.c (layout_type): Use targetm.vector_alignment.
3218         * config/arm/arm.c (arm_vector_alignment): New function.
3219         (TARGET_VECTOR_ALIGNMENT): Define.
3220
3221         * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
3222         vector type alignment instead of size.
3223         * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
3224         element type size directly instead of computing it from alignment.
3225         Fix variable naming and comment.
3226
3227 2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
3228
3229         Backport from mainline
3230         2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
3231
3232         * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
3233         (alpha_pad_function_end): ... this.  Also insert NOP between
3234         sibling call and GP load.
3235         (alpha_reorg): Update call to alpha_pad_function_end.  Expand comment.
3236
3237 2012-08-09  H.J. Lu  <hongjiu.lu@intel.com>
3238
3239         Backport from mainline
3240         2012-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
3241                     H.J. Lu  <hongjiu.lu@intel.com>
3242
3243         PR rtl-optimization/54157
3244         * combine.c (gen_lowpart_for_combine): Don't return identity
3245         for CONST or symbolic reference.
3246
3247 2012-08-06  Uros Bizjak  <ubizjak@gmail.com>
3248
3249         Backport from mainline
3250         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
3251
3252         * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
3253         * config/i386/i386.c (ix86_lea_outperforms): Make static.  Make
3254         split_cost argument signed.
3255         (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
3256         (ix86_avoid_lea_for_addr): Ditto.
3257
3258         2012-07-27  Uros Bizjak  <ubizjak@gmail.com>
3259
3260         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false if
3261         the address has less than two components.
3262
3263 2012-08-02  Steve Ellcey  <sellcey@mips.com>
3264
3265         Backport from mainline
3266         2012-07-19  Steve Ellcey  <sellcey@mips.com>
3267
3268         * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
3269         MIPS16 mode.
3270
3271 2012-08-02  Uros Bizjak  <ubizjak@gmail.com>
3272
3273         Backport from mainline
3274         2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
3275
3276         PR target/53961
3277         * config/i386/i386.c (ix86_legitimate_address_p): Move check for
3278         negative constant address for TARGET_X32 ...
3279         (ix86_decompose_address): ... here.  Reject constant addresses
3280         that don't satisfy x86_64_immediate_operand predicate.
3281
3282         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
3283
3284         PR target/53961
3285         * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
3286         * config/i386/i386.c (ix86_print_operand_address): Ditto.
3287         (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
3288         addresses.  Prevent zero extensions of CONST_INT operands.
3289
3290         2012-07-22  Uros Bizjak  <ubizjak@gmail.com>
3291
3292         PR target/53961
3293         * config/i386/i386.md (*lea): New insn pattern.
3294         (*lea_1): Remove.
3295         (*lea<mode>_2): Ditto.
3296         (*lea_{3,4,5,6}_zext): Ditto.
3297         * config/i386/predicates.md (lea_address_operand): Do not reject
3298         zero-extended address operands.
3299         * config/i386/constraints.md (j): Remove address constraint.
3300         * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
3301         of an address.
3302         (ix86_print_operand_address): Handle SImode subreg of an address.
3303         (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now.
3304
3305 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3306
3307         Backport from mainline
3308         2012-03-09  Uros Bizjak  <ubizjak@gmail.com>
3309
3310         PR target/52530
3311         * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
3312         (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
3313         to set code to 'q'.
3314         * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
3315         (*movdi_internal_rex64): Use %E operand modifier for lea.
3316         (*movsi_internal): Ditto.
3317         (*lea_1): Ditto.
3318         (*lea<mode>_2): Ditto.
3319         (*lea_{3,4,5,6}_zext): Ditto.
3320         (*tls_global_dynamic_32_gnu): Ditto.
3321         (*tls_global_dynamic_64): Ditto.
3322         (*tls_dynamic_gnu2_lea_32): Ditto.
3323         (*tls_dynamic_gnu2_lea_64): Ditto.
3324         (pro_epilogue_adjust_stack_<mode>_add): Ditto.
3325
3326 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3327
3328         Backport from mainline
3329         2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3330
3331         * config/i386/i386.c (ix86_address_subreg_operand): Reject
3332         stack pointer.
3333         (ix86_print_operand_address): Assert that parts.base and parts.index
3334         are non-NULL after call to simplify_subreg.
3335
3336 2012-07-22  Oleg Endo  <olegendo@gcc.gnu.org>
3337
3338         PR target/33135
3339         * config/sh/sh.opt (mieee): Use Var instead of Mask.  Correct
3340         description.
3341         * config/sh/sh.c (sh_option_override): Do not change
3342         flag_finite_math_only.  Set TARGET_IEEE to complement of
3343         flag_finite_math_only.
3344         * doc/invoke.texi (SH options): Add mno-ieee.  Correct
3345         description of mieee and mno-ieee behavior.
3346
3347 2012-07-20  Kirill Yukhin  <kirill.yukhin@intel.com>
3348
3349         PR target/53877
3350         * config/i386/lzcntintrin.h (_lzcnt_u32): New.
3351         (_lzcnt_u64): Ditto.
3352
3353 2012-07-20  Andrey Belevantsev  <abel@ispras.ru>
3354
3355         Backport from mainline
3356         2012-03-06  Andrey Belevantsev  <abel@ispras.ru>
3357
3358         PR rtl-optimization/52250
3359         * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
3360         to put note list into.  Unconditionally call move_bb_info.
3361         (move_bb_info): Do not assert the blocks being in the same region,
3362         just drop the note list if they are not.
3363
3364 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3365
3366         * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
3367
3368 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3369
3370         * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
3371         defining statement is a SSA name that occurs in abnormal PHIs.
3372
3373 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3374
3375         * gimple-fold.c (canonicalize_constructor_val): Strip only useless type
3376         conversions.
3377
3378 2012-07-19  Richard Guenther  <rguenther@suse.de>
3379             Eric Botcazou  <ebotcazou@adacore.com>
3380
3381         * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
3382         about transition from invariant to known bits.
3383         (likely_value): Addresses with UNDEFINED components are UNDEFINED.
3384
3385 2012-07-19  Jakub Jelinek  <jakub@redhat.com>
3386
3387         PR middle-end/54017
3388         * tree-cfgcleanup.c (cleanup_omp_return): Remove.
3389         (cleanup_tree_cfg_bb): Don't call it.
3390         * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
3391         handling.
3392
3393 2012-07-19  Christian Bruel  <christian.bruel@st.com>
3394
3395         PR target/54029
3396         * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
3397
3398 2012-07-18  Ralf Corsépius  <ralf.corsepius@rtems.org>
3399
3400         * config.gcc (v850-*-rtems*): New target.
3401         * config/v850/rtems.h: New.
3402         * config/v850/t-rtems: New.
3403
3404 2012-07-18  Nick Clifton  <nickc@redhat.com>
3405
3406         * doc/invoke.texi (ARM Options): Document -munaligned-access.
3407
3408 2012-07-15  Uros Bizjak  <ubizjak@gmail.com>
3409
3410         PR target/53961
3411
3412         Backport from mainline
3413         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
3414
3415         PR target/53110
3416         * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
3417         instead expand it as zero extension.
3418
3419 2012-07-14  Uros Bizjak  <ubizjak@gmail.com>
3420
3421         * config/i386/i386.md (QImode and HImode cmove splitters): Merge
3422         QImode and HImode splitters.  Use ix86_comparison_operator.
3423         Explicitly match FLAGS_REG.
3424         (DFmode cmove splitter): Explicitly match FLAGS_REG.
3425
3426 2012-07-13  Richard Sandiford  <rdsandiford@googlemail.com>
3427             Steven Bosscher  <steven@gcc.gnu.org>
3428             Bernd Schmidt  <bernds@codesourcery.com>
3429
3430         PR rtl-optimization/53908
3431         * df-problems.c (can_move_insns_across): When doing
3432         memory-reference book-keeping, handle call insns.
3433
3434 2012-07-10  Uros Bizjak  <ubizjak@gmail.com>
3435
3436         Backport from mainline
3437         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
3438
3439         PR target/53811
3440         * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
3441         sibcall_insn_operand.  Move it to a temporary register if not.
3442
3443         2012-07-06  Uros Bizjak  <ubizjak@gmail.com>
3444
3445         PR target/53853
3446         * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
3447         emit PIC sequence for fnaddr symbol reference in advance.
3448
3449 2012-07-09  Jason Merrill  <jason@redhat.com>
3450
3451         PR c++/53882
3452         * tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE.
3453         (type_hash_eq): Likewise.
3454
3455         PR c++/53826
3456         * tree.c (build_zero_cst): Handle NULLPTR_TYPE.
3457
3458 2012-07-07  Ulrich Weigand  <ulrich.weigand@linaro.org>
3459
3460         * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour
3461         due to negative shift amount.
3462
3463 2012-07-06  Kai Tietz  <ktietz@redhat.com>
3464
3465         Backport from mainline.
3466         PR bootstrap/52947
3467         * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
3468         as "/mingw/include".
3469
3470 2012-07-06  Nick Clifton  <nickc@redhat.com>
3471
3472         * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
3473         default_encode_section_info.
3474
3475 2012-07-06  Richard Guenther  <rguenther@suse.de>
3476
3477         Backport from mainline
3478         2012-03-30  Richard Guenther  <rguenther@suse.de>
3479
3480         PR middle-end/52786
3481         * double-int.c (rshift_double): Remove not needed cast.
3482
3483         2012-03-28  Richard Guenther  <rguenther@suse.de>
3484
3485         PR middle-end/50708
3486         * double-int.h (rshift_double): Remove.
3487         * double-int.c (lshift_double): Use absu_hwi to make count
3488         positive.
3489         (rshift_double): Make static, take unsigned count argument,
3490         remove handling of negative count argument.
3491         (double_int_rshift): Dispatch to lshift_double.
3492
3493 2012-07-06  Richard Guenther  <rguenther@suse.de>
3494
3495         Backport from mainline
3496         2012-06-18  Richard Guenther  <rguenther@suse.de>
3497
3498         PR tree-optimization/53693
3499         * tree-vect-patterns.c (vect_operation_fits_smaller_type):
3500         Reject operands with more than one use.
3501
3502 2012-07-06  Richard Guenther  <rguenther@suse.de>
3503
3504         Backport from mainline
3505         2012-04-11  Richard Guenther  <rguenther@suse.de>
3506
3507         PR middle-end/52621
3508         * tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
3509         consider loop nesting.
3510         (evolution_function_is_univariate_p): Properly check the remainder
3511         for chrecs.
3512
3513 2012-07-05  Pat Haugen <pthaugen@us.ibm.com>
3514
3515         Backport from mainline
3516         2012-05-24  Pat Haugen <pthaugen@us.ibm.com>
3517
3518         * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
3519         rs6000_sched_costly_dep default to true_store_to_load_dep_costly.
3520         (adjacent_mem_locations): Move some code to and call...
3521         (get_memref_parts): ...new function.
3522         (mem_locations_overlap): New function.
3523         (rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn.
3524         (is_mem_ref): Rename to...
3525         (find_mem_ref): ...this. Return MEM rtx.
3526         (get_store_dest): Remove function.
3527         (is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add
3528         new parameter and adjust calls.
3529         (rs6000_is_costly_dependence): Update calls for extra arg. Make sure
3530         mem refs overlap for true_store_to_load_dep_costly.
3531         (rs6000_sched_reorder2): Update calls for extra arg. Adjust args
3532         passed to adjacent_mem_locations.
3533         (is_costly_group): Walk resolved dependency list.
3534         (force_new_group): Emit group ending nop for Power6/Power7.
3535         * config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value.
3536         (group_ending_nop): New define_insn.
3537
3538 2012-07-04  Richard Guenther  <rguenther@suse.de>
3539
3540         PR middle-end/53433
3541         * gimple-fold.c (get_base_constructor): Do not return an
3542         error_mark_node DECL_INITIAL.
3543
3544 2012-07-04  Uros Bizjak  <ubizjak@gmail.com>
3545
3546         Backport from mainline
3547         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
3548
3549         * config/i386/i386.c (ix86_option_override_internal): Fix wrong
3550         code model string in the error message.
3551
3552 2012-07-04  Tristan Gingold  <gingold@adacore.com>
3553
3554         Backport from mainline.
3555         2012-06-25  Tristan Gingold  <gingold@adacore.com>
3556
3557         * config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ...
3558         (seh_cfa_adjust_cfa): ... that function.
3559         (seh_emit_stackalloc): Do not emit out of range values.
3560         * config/i386/i386.md: Delete unused UNSPEC_REG_SAVE,
3561         UNSPEC_DEF_CFA constants.
3562         * config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define.
3563         * config/i386/i386.c (ix86_frame_pointer_required): Required
3564         for very large frames on SEH target.
3565         (ix86_compute_frame_layout): Save area is before frame pointer
3566         on SEH target.  Handle very large frames.
3567         (ix86_expand_prologue): Likewise.
3568
3569 2012-07-04  Richard Guenther  <rguenther@suse.de>
3570
3571         * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same
3572         as in free_lang_data_in_type.
3573
3574 2012-07-02  Martin Jambor  <mjambor@suse.cz>
3575
3576         Backport from mainline.
3577         2012-07-02  Martin Jambor  <mjambor@suse.cz>
3578
3579         PR middle-end/38474
3580         * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a
3581         dynamic type change check.
3582
3583 2012-06-29  Eric Botcazou  <ebotcazou@adacore.com>
3584
3585         * tree-eh.c (lower_try_finally_switch): Really put the location of the
3586         last statement of the finally block onto the switch.
3587
3588 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3589
3590         * configure: Regenerate.
3591
3592         Backport from mainline.
3593         2012-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3594
3595         * config.gcc (target_type_format_char): New. Document it. Set it for
3596         arm*-*-* .
3597         * configure.ac (gnu_unique_option): Use target_type_format_char
3598         in test.  Comment rationale.
3599
3600 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3601
3602         Backport from mainline.
3603         2012-05-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3604
3605         * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
3606
3607 2012-06-28  Georg-Johann Lay  <avr@gjlay.de>
3608
3609         Backport from 2012-06-28 mainline r189049
3610
3611         PR 53595
3612         * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New.
3613         * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New.
3614         * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to
3615         avr_hard_regno_call_part_clobbered.
3616
3617 2012-06-28  Richard Guenther  <rguenther@suse.de>
3618
3619         PR middle-end/53790
3620         * expr.c (expand_expr_real_1): Verify if the type is complete
3621         before inspecting its size.
3622
3623 2012-06-27  Nick Clifton  <nickc@redhat.com>
3624
3625         * config/rx/rx.md (comparesi3_extend): Remove = modifier from
3626         input operand.
3627
3628 2012-06-26  Alexandre Oliva  <aoliva@redhat.com>
3629
3630         PR debug/53682
3631         * cselib.c (promote_debug_loc): Don't crash on NULL argument.
3632
3633 2012-06-26  Nick Clifton  <nickc@redhat.com>
3634
3635         * config/rx/rx.md (simple_return): Use the simple_return rtx.
3636
3637 2012-06-25  Jakub Jelinek  <jakub@redhat.com>
3638
3639         PR target/53759
3640         * config/i386/sse.md (sse_loadlps): Use x m x constraints instead
3641         of x x x in the vmovlps load alternative.
3642
3643 2012-06-22  Richard Guenther  <rguenther@suse.de>
3644
3645         * gcov-iov.c: Include bconfig.h and system.h.
3646
3647 2012-06-22  Richard Guenther  <rguenther@suse.de>
3648
3649         PR gcov-profile/53744
3650         * gcov-iov.c (main): Treat "" and "prerelease" the same.
3651
3652 2012-06-22  Eric Botcazou  <ebotcazou@adacore.com>
3653
3654         * tree-ssa-live.c (remove_unused_scope_block_p): Remove again
3655         DECL_IGNORED_P non-reg vars even if they are used.
3656
3657 2012-06-19  Jason Merrill  <jason@redhat.com>
3658
3659         PR c++/52637
3660         * dwarf2out.c (modified_type_die): Use scope_die_for.
3661         (gen_type_die_with_usage, dwarf2out_finish): Likewise.
3662         (uses_local_type_r, uses_local_type): New.
3663         (scope_die_for): Keep a type that uses a local type in local scope.
3664         Use get_context_die for namespace and type scope.
3665
3666 2012-06-19  Richard Guenther  <rguenther@suse.de>
3667
3668         PR middle-end/53470
3669         * tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
3670         replace it with the first non-BLOCK context.
3671
3672 2012-06-18  Vladimir Makarov  <vmakarov@redhat.com>
3673
3674         PR rtl-optimization/53700
3675
3676         Backport from mainline
3677         2012-03-29  Vladimir Makarov  <vmakarov@redhat.com>
3678
3679         * ira-color.c (setup_left_conflict_sizes_p): Process all
3680         conflicting objects.
3681
3682 2012-06-18  Venkataramanan Kumar <venkataramanan.kumar@amd.com>
3683
3684         Backport from mainline
3685         2012-05-09 Uros Bizjak  <ubizjak@gmail.com>
3686
3687         PR target/52908
3688         * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
3689         xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high.
3690         (vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern
3691         instead of xop_mulv2div2di3_low.
3692         (xop_p<macs>dql): Fix vec_select selector.
3693         (xop_p<macs>dqh): Ditto.
3694         (xop_mulv2div2di3_low): Remove insn_and_split pattern.
3695         (xop_mulv2div2di3_high): Ditto.
3696
3697 2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
3698
3699         Backport from mainline:
3700         2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
3701
3702         * config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
3703
3704 2012-06-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3705
3706         Backport from mainline:
3707         2012-06-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3708
3709         * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define.
3710         * config/pa/pa.c (pa_attr_length_millicode_call): Use
3711         MAX_PCREL17F_OFFSET instead of fixed offset.
3712         (pa_attr_length_call): Likewise.
3713         (pa_attr_length_indirect_call): Likewise.
3714
3715 2012-06-15  Walter Lee  <walt@tilera.com>
3716
3717         Backport from mainline:
3718         2012-06-15  Walter Lee  <walt@tilera.com>
3719
3720         * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.
3721
3722         2012-06-14  Maxim Kuvyrkov  <maxim@codesourcery.com>
3723
3724         * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
3725
3726 2012-06-15  Aldy Hernandez  <aldyh@redhat.com>
3727
3728         Backport from mainline:
3729
3730         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
3731         * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
3732         * gimple.h (block_in_transaction): Check for flag_tm.
3733
3734 2012-06-14  Aldy Hernandez  <aldyh@redhat.com>
3735
3736         PR tree-optimization/52558
3737
3738         Backport from mainline:
3739         2012-05-21  Aldy Hernandez  <aldyh@redhat.com>
3740         * gimple.h (gimple_set_in_transaction): Remove.
3741         (gimple_in_transaction): Look in BB instead.
3742         (gimple_statement_base): Remove in_transaction field.
3743         * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
3744         * trans-mem.c (compute_transaction_bits): Place transaction bit
3745         information into basic blocks.
3746
3747         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
3748
3749         PR tree-optimization/52558
3750         * cfg.c (alloc_aux_for_edge): Fix comment.
3751         (alloc_aux_for_edge): Remove static.
3752         * basic-block.h (alloc_aux_for_edge): Protoize.
3753         * tree-ssa-loop-im.c (execute_sm_if_changed): New.
3754         (execute_sm_if_changed_flag): New.
3755         (execute_sm_if_changed_flag_set): New.
3756         (execute_sm): Do not generate data races unless requested.
3757         (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
3758         (tree_ssa_lim_finalize): Call free_aux_for_edges.
3759         * gimple.h (block_in_transaction): New.
3760         (gimple_in_transaction): Use block_in_transaction.
3761
3762 2012-06-14  Jakub Jelinek  <jakub@redhat.com>
3763
3764         Backported from mainline
3765         2012-06-12  Jakub Jelinek  <jakub@redhat.com>
3766
3767         PR rtl-optimization/53589
3768         * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
3769         discovery even when e->dest != target.  If any LABEL_REF points
3770         to e->dest label, redirect it to target's label.
3771
3772         2012-06-07  Jakub Jelinek  <jakub@redhat.com>
3773
3774         PR middle-end/53580
3775         * omp-low.c (scan_omp_1_stmt): If check_omp_nesting_restrictions
3776         returns false, replace stmt with GIMPLE_NOP.
3777         (check_omp_nesting_restrictions): Instead of issuing warnings,
3778         issue errors and return false if any errors were reported.
3779
3780 2012-06-14  Richard Guenther  <rguenther@suse.de>
3781
3782         * BASE-VER: Set to 4.7.2.
3783         * DEV-PHASE: Set to prerelease.
3784
3785 2012-06-12  Christian Bruel  <christian.bruel@st.com>
3786
3787         PR target/53621
3788         * config/sh/sh.c (sh_option_override): Don't force
3789          flag_omit_frame_pointer and maccumulate_outgoing_args.
3790         * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
3791
3792 2012-06-14  Release Manager
3793
3794         * GCC 4.7.1 released.
3795
3796 2012-06-13  Uros Bizjak  <ubizjak@gmail.com>
3797
3798         * config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
3799
3800 2012-06-13  Richard Henderson  <rth@redhat.com>
3801
3802         * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
3803         iterator instead of INT.
3804
3805 2012-06-08  Richard Henderson  <rth@redhat.com>
3806
3807         PR c++/53602
3808         * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
3809         note to a clobber insn when no other insn is available.
3810
3811 2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>
3812
3813         PR c++/53524
3814         * doc/invoke.texi (Wenum-compare): Update documentation.
3815
3816 2012-06-04  Edmar Wienskoski  <edmar@freescale.com>
3817
3818         PR target/53559
3819         * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
3820         operands.
3821         (altivec_stvlxl): Ditto.
3822         (altivec_stvrx): Ditto.
3823         (altivec_stvrxl): Ditto.
3824
3825 2012-06-04  Aldy Hernandez  <aldyh@redhat.com>
3826
3827         PR middle-end/47530
3828         * trans-mem.c (expand_block_edges): Do not skip the first
3829         statement when resetting the BB.
3830
3831 2012-06-04  Richard Guenther  <rguenther@suse.de>
3832
3833         PR middle-end/53471
3834         * dwarf2out.c (dwarf2out_finish): If generating LTO do not
3835         create new assembler names.
3836
3837 2012-06-04  Richard Guenther  <rguenther@suse.de>
3838
3839         Backport from mainline
3840         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
3841
3842         PR middle-end/52979
3843         * stor-layout.c (get_best_mode): Don't return mode with bitsize
3844         larger than maxbits.  Don't compute maxbits modulo align.
3845         Also check that unit bytes long store at bitpos / unit * unit
3846         doesn't affect bits beyond bitregion_end.
3847         * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
3848         would not fit into bitregion_start ... bitregion_end + 1 bit
3849         region.
3850         (store_split_bit_field): Decrease unit close to end of bitregion_end
3851         if access is restricted in order to avoid mutual recursion.
3852
3853 2012-06-04  Georg-Johann Lay  <avr@gjlay.de>
3854
3855         Backport from 2012-06-04 mainline r188172
3856
3857         PR target/46261
3858         * config/avr/avr-stdint.h: New file.
3859         * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
3860         newlib-stdint.h
3861
3862 2012-06-04  Jakub Jelinek  <jakub@redhat.com>
3863
3864         PR tree-optimization/53550
3865         * tree-ssa-loop-niter.c (number_of_iterations_cond): If type
3866         is POINTER_TYPE_P, use sizetype as step type instead of type.
3867
3868 2012-06-04  Richard Guenther  <rguenther@suse.de>
3869             Eric Botcazou  <ebotcazou@adacore.com>
3870
3871         Backport from mainline
3872         2012-04-03  Eric Botcazou  <ebotcazou@adacore.com>
3873
3874         * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS.
3875         Change type of BITOFFSET to signed.  Make sure the lower bound of
3876         the computed range is non-negative by adjusting OFFSET and BITPOS.
3877         (expand_assignment): Adjust call to get_bit_range.
3878
3879         2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
3880
3881         * expr.c (get_bit_range): Return the null range if the enclosing record
3882         is part of a larger bit field.
3883
3884         2012-03-20  Richard Guenther  <rguenther@suse.de>
3885
3886         * stor-layout.c (finish_bitfield_representative): Fallback
3887         to conservative maximum size if the padding up to the next
3888         field cannot be computed as a constant.
3889         (finish_bitfield_layout): If we cannot compute the distance
3890         between the start of the bitfield representative and the
3891         bitfield member start a new representative.
3892         * expr.c (get_bit_range): The distance between the start of
3893         the bitfield representative and the bitfield member is zero
3894         if the field offsets are not constants.
3895
3896         2012-03-16  Richard Guenther  <rguenther@suse.de>
3897
3898         * stor-layout.c (finish_bitfield_representative): Fall back
3899         to the conservative maximum size if we cannot compute the
3900         size of the tail padding.
3901
3902         2012-03-14  Richard Guenther  <rguenther@suse.de>
3903
3904         * tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define.
3905         * stor-layout.c (start_bitfield_representative): New function.
3906         (finish_bitfield_representative): Likewise.
3907         (finish_bitfield_layout): Likewise.
3908         (finish_record_layout): Call finish_bitfield_layout.
3909         * tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER
3910         for QUAL_UNION_TYPE fields.
3911         * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
3912         Stream DECL_BIT_FIELD_REPRESENTATIVE.
3913         * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
3914
3915         PR middle-end/52080
3916         PR middle-end/52097
3917         PR middle-end/48124
3918         * expr.c (get_bit_range): Unconditionally extract bitrange
3919         from DECL_BIT_FIELD_REPRESENTATIVE.
3920         (expand_assignment): Adjust call to get_bit_range.
3921
3922 2012-06-01  Eric Botcazou  <ebotcazou@adacore.com>
3923
3924         PR middle-end/53501
3925         * fold-const.c (fold_binary_loc): Refine previous change.
3926
3927 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3928
3929         Backport from mainline
3930         2012-03-27  Chung-Lin Tang  <cltang@codesourcery.com>
3931
3932         PR target/52667
3933         * config/sh/sh.c (find_barrier): Add equality check of last_got to
3934         avoid going above orig insn.  Update comments.
3935
3936 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3937
3938         Backport from mainline
3939         2012-03-21  Kaz Kojima  <kkojima@gcc.gnu.org>
3940
3941         PR target/52642
3942         * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
3943         prologue for unwinder and profiler.
3944
3945 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3946
3947         Backport from mainline
3948         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
3949
3950         * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
3951
3952 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3953
3954         Backport from mainline
3955         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
3956
3957         * config/sh/sh.c (sh_dwarf_register_span): Don't apply
3958         DBX_REGISTER_NUMBER.
3959
3960 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3961
3962         Backport from mainline
3963         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
3964
3965         * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
3966         operand is CONST_INT.  Take COSTS_N_INSNS into account.
3967         (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value of
3968         shiftcosts.     
3969
3970 2012-05-31  Georg-Johann Lay  <avr@gjlay.de>
3971
3972         * config/avr/avr.opt (-msp8): Document it.
3973         * doc/invoke.texi (AVR Options): Copy from trunk docu.
3974
3975 2012-05-31  Richard Guenther  <rguenther@suse.de>
3976
3977         PR middle-end/48493
3978         * expr.c (expand_assignment): Do not use movmisalign on
3979         non-memory.
3980
3981 2012-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3982
3983         PR target/52999
3984         * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
3985         (pa_section_type_flags): New.
3986         (pa_legitimate_constant_p): Revert previous change.
3987
3988 2012-05-30  Aldy Hernandez  <aldyh@redhat.com>
3989
3990         Backport from mainline
3991         2012-05-25  Aldy Hernandez  <aldyh@redhat.com>
3992
3993         PR middle-end/53008
3994         * trans-mem.c (ipa_tm_create_version_alias): Output new_node if
3995         accessed indirectly.
3996         (ipa_tm_create_version): Same.
3997
3998 2012-05-30  Jason Merrill  <jason@redhat.com>
3999
4000         PR c++/53220
4001         * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning
4002         about array compound literals.
4003
4004 2012-05-30  Richard Guenther  <rguenther@suse.de>
4005
4006         PR middle-end/53501
4007         * fold-const.c (fold_binary_loc): Make sure to call
4008         fold_plusminus_mult_expr with the original sign of operands.
4009
4010 2012-05-30  Eric Botcazou  <ebotcazou@adacore.com>
4011
4012         * explow.c (probe_stack_range): Restore simple control flow and stop
4013         again when the probe cannot be generated if HAVE_check_stack.
4014
4015 2012-05-30  Jakub Jelinek  <jakub@redhat.com>
4016
4017         PR rtl-optimization/53519
4018         * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
4019         instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
4020
4021 2012-05-29  Richard Guenther  <rguenther@suse.de>
4022
4023         PR tree-optimization/53516
4024         * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
4025         bitfield accesses.
4026         * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
4027
4028 2012-05-28  Bill Schmidt  <wschmidt@linux.ibm.com>
4029
4030         Backport from mainline
4031         2012-05-28  Richard Guenther  <rguenther@suse.de>
4032
4033         PR tree-optimization/53438
4034         * tree-sra.c (analyze_access_subtree): Correct bitfield exclusion.
4035
4036 2012-05-26  Eric Botcazou  <ebotcazou@adacore.com>
4037
4038         Backport from mainline
4039         2012-03-10  Chung-Lin Tang  <cltang@codesourcery.com>
4040
4041         PR rtl-optimization/52528
4042         * combine.c (can_combine_p): Add setting of subst_low_luid
4043         before call to expand_field_assignment().
4044
4045 2012-05-26  Martin Jambor  <mjambor@suse.cz>
4046
4047         Backport from mainline
4048         2012-05-23  Martin Jambor  <mjambor@suse.cz>
4049
4050         * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.
4051
4052 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
4053
4054         PR lto/52178
4055         * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
4056         * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
4057
4058 2012-05-25  Alexander Ivchenko  <alexander.ivchenko@intel.com>
4059
4060         PR target/53435
4061         * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
4062         (ix86_expand_vec_perm): Use int mode instead of float.
4063
4064 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
4065
4066         PR ada/52362
4067         * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
4068         gnu_ld variables to yes.
4069         * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
4070         (HAVE_GNU_AS): Likewise.
4071         * config.in: Regenerate.
4072         * configure: Likewise.
4073
4074 2012-05-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
4075
4076         Backport from mainline
4077         2012-03-12  Richard Guenther  <rguenther@suse.de>
4078         * config/arm/arm.c (neon_dereference_pointer): Do not call
4079         covert during RTL expansion.
4080
4081 2012-05-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4082
4083         Backport from mainline
4084         2012-05-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4085
4086         PR target/53385
4087         * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
4088         relied on signed overflow behavior.
4089
4090 2012-05-24  Richard Guenther  <rguenther@suse.de>
4091
4092         PR middle-end/53460
4093         * tree-profile.c (tree_profiling): Cleanup the CFG if
4094         execute_fixup_cfg requests it.
4095
4096 2012-05-24  Jakub Jelinek  <jakub@redhat.com>
4097
4098         PR tree-optimization/53465
4099         * tree-vrp.c (extract_range_from_cond_expr): First copy_value_range
4100         vr0 into *vr, then vrp_meet that.
4101         (vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't
4102         have any equivalences.
4103         (vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the
4104         first time.
4105
4106 2012-05-23  Eric Botcazou  <ebotcazou@adacore.com>
4107
4108         * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
4109         size handling.
4110         (gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise.
4111         (iterative_hash_gimple_type): Adjust comment.
4112         (iterative_hash_canonical_type): Likewise.  Hash the bounds of the
4113         domain for an array type instead of the domain type itself.
4114
4115 2012-05-23  Georg-Johann Lay  <avr@gjlay.de>
4116
4117         Backport from 2012-05-23 mainline r187803
4118
4119         PR target/53448
4120         * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
4121         * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
4122         ASM_OUTPUT_ALIGN.
4123
4124 2012-05-23  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
4125
4126         Backport from 2012-05-03 mainline r187075
4127
4128         * config/i386/driver-i386.c (host_detect_local_cpu): Reset
4129         has_fma4 for AMD processors with both fma3 and fma4 support.
4130
4131 2012-05-22  Richard Guenther  <rguenther@suse.de>
4132
4133         PR tree-optimization/53408
4134         * tree-vect-loop.c (vectorizable_induction): Properly check
4135         the restriction that we cannot handle induction results from
4136         the inner loop outside of the outer loop.
4137
4138 2012-05-21  Jakub Jelinek  <jakub@redhat.com>
4139
4140         PR tree-optimization/53436
4141         * omp-low.c (omp_build_component_ref): New function.
4142         (build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.
4143
4144         PR tree-optimization/53366
4145         * tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
4146         tests if complex_numbers == 2, but there are non-complex number loads
4147         too.
4148
4149         PR tree-optimization/53409
4150         * tree-vect-loop.c (vect_analyze_loop_operations): Don't check
4151         vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.
4152
4153         PR tree-optimization/53410
4154         * fold-const.c (fold_binary_loc): Use build_zero_cst (type)
4155         instead of build_int_cst (type, 0) where vector types might be
4156         involved.
4157
4158 2012-05-21  Joseph Myers  <joseph@codesourcery.com>
4159
4160         PR c/53418
4161         * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
4162         from folded operands before wrapping another around the
4163         conditional expression.
4164
4165 2012-05-21  Dave Boutcher  <daveboutcher@gmail.com>
4166             Patrick Marlier  <patrick.marlier@gmail.com>
4167
4168         * trans-mem.c (ipa_tm_transform_clone): Transform functions with
4169         indirect calls.
4170
4171 2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
4172
4173         Backport from mainline
4174         2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
4175
4176         PR target/53416
4177         * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
4178         (UNSPECV_RDRAND): This.
4179         (rdrand<mode>_1): Updated.
4180
4181 2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
4182
4183         Backport from mainline
4184         2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
4185
4186         * config/i386/driver-i386.c (host_detect_local_cpu): Support
4187         RDRND, F16C and FSGSBASE.
4188
4189 2012-05-19  Eric Botcazou  <ebotcazou@adacore.com>
4190
4191         Backport from mainline
4192         2012-05-14  Eric Botcazou  <ebotcazou@adacore.com>
4193
4194         * tree-ssa-pre.c (can_value_number_call): Delete.
4195         (compute_avail): Skip all statements with side effects.
4196         <GIMPLE_CALL>: Skip calls to internal functions.
4197
4198 2012-05-18  David S. Miller  <davem@davemloft.net>
4199
4200         Backport r185385 from mainline
4201         2012-03-14  Richard Guenther  <rguenther@suse.de>
4202
4203         PR middle-end/52584
4204         * tree-vect-generic.c (type_for_widest_vector_mode): Take
4205         element type instead of mode, use build_vector_type_for_mode
4206         instead of the langhook, build a vector of proper signedness.
4207         (expand_vector_operations_1): Adjust.
4208
4209 2012-05-18  Olivier Hainque  <hainque@adacore.com>
4210
4211         * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of
4212         $(libsubdir) as libexecsubdir.
4213
4214 2012-05-16  Andrew Pinski  <apinski@cavium.com>
4215
4216         * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
4217         GIMPLE_ASSIGN.
4218
4219 2012-05-16  David S. Miller  <davem@davemloft.net>
4220
4221         * jump.c (delete_related_insns): If we remove a CALL, make sure
4222         we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.
4223
4224 2012-05-16  Richard Henderson  <rth@redhat.com>
4225
4226         PR debug/52727
4227         * combine-stack-adj.c (prev_active_insn_bb): New.
4228         (next_active_insn_bb): New.
4229         (force_move_args_size_note): New.
4230         (combine_stack_adjustments_for_block): Use it.
4231
4232 2012-05-16  Olivier Hainque  <hainque@adacore.com>
4233
4234         * Makefile.in (install-no-fixedincludes): New target, former toplevel
4235         gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
4236         Add comments and improve stamp preservation across the whole sequence.
4237         (stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.
4238
4239 2012-05-16  Richard Guenther  <rguenther@suse.de>
4240
4241         PR tree-optimization/53364
4242         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
4243         detect a view-conversion of the decl.
4244
4245 2012-05-15  Jakub Jelinek  <jakub@redhat.com>
4246
4247         PR target/53358
4248         * config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
4249         that operands[2] is either immediate, or q_regs_operand.
4250
4251 2012-05-15  Bin Cheng  <bin.cheng@arm.com>
4252
4253         Backport r187139 from mainline.
4254         2012-05-04  Bin Cheng  <bin.cheng@arm.com>
4255
4256         PR rtl-optimization/52804
4257         * reload1.c (reload_reg_reaches_end_p): Check whether successor
4258         reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
4259         of current one with type RELOAD_FOR_INPADDR_ADDRESS.
4260         Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
4261         RELOAD_FOR_OUTADDR_ADDRESS.
4262
4263 2012-05-14  Uros Bizjak  <ubizjak@gmail.com>
4264
4265         PR target/46098
4266         * config/i386/i386.c (ix86_expand_special_args_builtin): Always
4267         generate target register for "load" class builtins.
4268
4269         Revert:
4270         2010-10-22  Uros Bizjak  <ubizjak@gmail.com>
4271
4272         PR target/46098
4273         * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
4274         Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
4275         (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
4276         (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
4277         (<sse>_movu<ssemodesuffix>): New expander.
4278         (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
4279         (avx_movdqu<avxmodesuffix>): New expander.
4280         (*sse2_movdqu): Rename from sse2_movdqu.
4281         (sse2_movdqu): New expander.
4282
4283 2012-05-14  Jakub Jelinek  <jakub@redhat.com>
4284
4285         * dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat
4286         lineno 1 the same as lineno 0 before first start file directive.
4287         (optimize_macinfo_range): Likewise.
4288
4289         * dwarf2out.c (have_macinfo): Define.
4290         (dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info
4291         attribute, don't force empty compilation unit and don't emit any
4292         .debug_macinfo/.debug_macro section if macinfo_table is empty.
4293
4294 2012-05-13  Uros Bizjak  <ubizjak@gmail.com>
4295
4296         Backport from mainline
4297         2012-05-12  Uros Bizjak  <ubizjak@gmail.com>
4298
4299         * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
4300         ORDERED and UNORDERED conditions.
4301
4302 2012-05-12  Eric Botcazou  <ebotcazou@adacore.com>
4303
4304         * function.c (requires_stack_frame_p): If the function can throw
4305         non-call exceptions, return true if the insn can throw internally.
4306
4307 2012-05-10  Eric Botcazou  <ebotcazou@adacore.com>
4308
4309         * gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the
4310         DECL_ORIGINAL_TYPE if it is present.
4311
4312 2012-05-09  Georg-Johann Lay  <avr@gjlay.de>
4313
4314         Backport from 2012-05-12 mainline r187342.
4315
4316         PR target/53256
4317         * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
4318         * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
4319         * config/avr/avr.h (struct machine_function): Add attributes_checked_p.
4320         * config/avr/avr.c (avr_asm_declare_function_name): Remove.
4321         (expand_prologue): Move initialization of cfun->machine->is_naked,
4322         is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
4323         (avr_set_current_function): ...this new static function.
4324         (TARGET_SET_CURRENT_FUNCTION): New define.
4325         (avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
4326         checking attributes of current_function_decl.
4327         (avr_regs_to_save): Ditto.
4328         (signal_function_p): Rename to avr_signal_function_p.
4329         (interrupt_function_p): Rename to avr_interrupt_function_p.
4330
4331         * doc/extend.texi (Function Attributes): Better explanation of
4332         'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
4333         alphabetical order.
4334
4335 2012-05-09  Matthias Klose  <doko@ubuntu.com>
4336
4337         * gcc-ar.c (main): Don't check for execute bits for the plugin.
4338
4339 2012-05-08  Hans-Peter Nilsson  <hp@axis.com>
4340
4341         PR target/53272
4342         * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
4343         when a constant source operand matches an "I" constraint, the "no
4344         CC0 change" applies to a register-destination only, not a
4345         strict_low_part-destination.
4346
4347 2012-05-07  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
4348
4349         Backport from mainline:
4350         2012-04-19  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
4351
4352         * config/arm/sync.md (sync_optab): Change ior attribute to "or".
4353
4354 2012-05-07  Jakub Jelinek  <jakub@redhat.com>
4355
4356         PR tree-optimization/53239
4357         * tree-vrp.c (get_value_range): Set VR of
4358         SSA_NAME_IS_DEFAULT_DEF of DECL_BY_REFERENCE RESULT_DECL
4359         to nonnull.
4360
4361 2012-05-07  Richard Guenther  <rguenther@suse.de>
4362
4363         PR tree-optimization/53195
4364         * tree-inline.c (setup_one_parameter): Properly add referenced
4365         vars from the parameters new known value.
4366
4367 2012-05-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4368
4369         Backport from mainline:
4370         2012-04-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4371
4372         PR target/52999
4373         * config/pa/pa.c (pa_legitimate_constant_p): Don't put function labels
4374         in constant pool.
4375
4376 2012-05-04  Ian Lance Taylor  <iant@google.com>
4377
4378         * tree-vect-patterns.c (vect_single_imm_use): Correct return
4379         values from false to NULL.
4380
4381 2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
4382
4383         Backport from mainline
4384         2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
4385
4386         PR target/53228
4387         * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
4388         (TARGET_CMOV): Rename from TARGET_CMOVE.
4389         (TARGET_CMOVE): New define.
4390         * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
4391         Do not set TARGET_CMOVE here.
4392
4393 2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
4394
4395         Backport from mainline:
4396
4397         2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
4398
4399         PR tree-optimization/52633
4400         * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
4401         vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
4402         (vect_recog_over_widening_pattern): Remove handling of code that was
4403         already detected as over-widening pattern.  Remove special handling
4404         of "unsigned" cases.  Instead, support general case of conversion
4405         of the shift result to another type.
4406
4407         2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
4408
4409         * tree-vect-patterns.c (vect_single_imm_use): New function.
4410         (vect_recog_widen_mult_pattern): Use it instead of open-coding loop.
4411         (vect_recog_over_widening_pattern): Likewise.
4412         (vect_recog_widen_shift_pattern): Likewise.
4413
4414         2012-04-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
4415
4416         PR tree-optimization/52870
4417         * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Verify that
4418         presumed pattern statement is within the same loop or basic block.
4419
4420 2012-05-04  Richard Guenther  <rguenther@suse.de>
4421
4422         * common.opt (flto-report): Do not mark as Optimization.
4423
4424 2012-05-04  Eric Botcazou  <ebotcazou@adacore.com>
4425
4426         PR target/48496
4427         * recog.c (constrain_operands): If extra constraints are present, also
4428         accept pseudo-registers with equivalent memory locations during reload.
4429
4430 2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
4431
4432         Backport from the mainline
4433         2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
4434
4435         PR target/53199
4436         * config/rs6000/rs6000.md (bswapdi splitters): If
4437         -mavoid-indexed-addresses (or -mcpu=power6 which sets it by
4438         default) is used, generate an alternate sequence that does not
4439         depend on using indexed addressing.
4440
4441 2012-05-03  David S. Miller  <davem@davemloft.net>
4442
4443         PR target/52684
4444         * config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
4445         MEM directly into a libcall, mark it's MEM_EXPR as addressable.
4446         (sparc_emit_float_lib_cmp): Likewise.
4447
4448 2012-05-04  Martin Jambor  <mjambor@suse.cz>
4449
4450         Backport from mainline
4451         2012-05-02  Martin Jambor  <mjambor@suse.cz>
4452
4453         PR lto/52605
4454         * dwarf2out.c (dwarf2out_decl): Only lookup die representing context
4455         of a variable when the contect is a function.
4456
4457 2012-05-03  Jakub Jelinek  <jakub@redhat.com>
4458
4459         PR plugins/53126
4460         * gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env,
4461         append program name to it and pass that as first argument
4462         to make_relative_prefix.  Always pass standard_libexec_prefix
4463         as last argument to make_relative_prefix.  If
4464         make_relative_prefix returns NULL, fall back to
4465         standard_libexec_prefix.
4466
4467         PR debug/53174
4468         * tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being
4469         removed.
4470
4471         PR target/53187
4472         * config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class
4473         mode, return that mode.
4474
4475 2012-05-03  Richard Guenther  <rguenther@suse.de>
4476
4477         PR tree-optimization/53144
4478         * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
4479         Rename to ...
4480         (vn_reference_lookup_or_insert_for_pieces): ... this.  Properly deal
4481         with SSA name values.
4482         (vn_reference_lookup_3): Adjust callers.
4483
4484 2012-05-02  Jakub Jelinek  <jakub@redhat.com>
4485
4486         PR tree-optimization/53163
4487         * tree-ssa-phiopt.c (cond_if_else_store_replacement): Don't ignore
4488         return value from compute_all_dependences.
4489
4490         PR rtl-optimization/53160
4491         * ree.c (combine_reaching_defs): Handle the case where cand->insn
4492         has been modified by ree pass already.
4493
4494 2012-05-01  Uros Bizjak  <ubizjak@gmail.com>
4495
4496         Backport from mainline
4497         2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
4498
4499         PR middle-end/53136
4500         * ipa-prop.c (ipa_print_node_jump_functions): Wrap multiple
4501         calls to cgraph_node_name in xstrdup.
4502         (ipa_make_edge_direct_to_target): Ditto.
4503         * tree-sra.c (convert_callers_for_node): Ditto.
4504         * lto-symtab.c (lto_cgraph_replace_node): Ditto.
4505         * ipa-cp.c (perhaps_add_new_callers): Ditto.
4506         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Ditto.
4507         (cgraph_materialize_all_clones): Ditto.
4508         * ipa-inline.c (report_inline_failed_reason): Ditto.
4509         (want_early_inline_function_p): Ditto.
4510         (edge_badness): Ditto.
4511         (update_edge_key): Ditto.
4512         (flatten_function): Ditto.
4513         (ipa_inline): Ditto.
4514         (inline_always_inline_functions): Ditto.
4515         (early_inline_small_functions): Ditto.
4516
4517 2012-04-30  Andreas Tobler  <andreast@fgznet.ch>
4518
4519         Backport from mainline
4520         2012-03-21  Andreas Tobler  <andreast@fgznet.ch>
4521
4522         * configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*.
4523         Introduce emul_name to select the right linker emulation for
4524         powerpc64-*-freebsd*.
4525         * configure: Regenerate.
4526         * config.gcc: Add bits to support powerpc64-*-freebsd*.
4527         * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define.
4528         * config/rs6000/freebsd64.h: New file.
4529         * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
4530         POWERPC_FREEBSD.
4531         (rs6000_savres_strategy): Likewise.
4532         (rs6000_savres_routine_name): Likewise.
4533         (rs6000_elf_file_end): Likewise.
4534         * config/rs6000/t-freebsd64: New file.
4535         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the
4536         rs6000_current_abi for 64-bit FreeBSD to ABI_AIX.
4537
4538 2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
4539
4540         Backport from mainline
4541         2012-04-27  Paolo Bonzini  <bonzini@gnu.org>
4542
4543         PR target/53138
4544         * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber.
4545
4546 2012-04-30  Eric Botcazou  <ebotcazou@adacore.com>
4547
4548         * config/i386/i386.c (ix86_handle_struct_attribute): Use the proper
4549         predicate to discriminate types.
4550
4551 2012-04-27  Richard Guenther  <rguenther@suse.de>
4552
4553         PR c/51527
4554         * convert.c (convert_to_integer): Avoid infinite recursion for
4555         target-defined built-in types.
4556
4557 2012-04-26  Hans-Peter Nilsson  <hp@axis.com>
4558
4559         PR target/53120
4560         * config/cris/cris.md ("*andhi_lowpart_v32")
4561         ("*andqi_lowpart_v32"): Change first input-only operand from
4562         a (match_operand ...) to (match_dup 0).  Drop alternatives with
4563         const_int-matching constraints for redundancy.
4564         ("*andhi_lowpart_non_v32", "*andqi_lowpart_non_v32"): Ditto.  Drop
4565         three-operand alternative.
4566
4567 2012-04-26  Uros Bizjak  <ubizjak@gmail.com>
4568
4569         Backport from mainline
4570         2012-04-23  Uros Bizjak  <ubizjak@gmail.com>
4571
4572         * config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative.
4573         (*addsi_2_zext): Ditto.
4574         (*add<mode>_3): Ditto.
4575         (*addsi_3_zext): Ditto.
4576         (*add<mode>_5): Ditto.
4577
4578 2012-04-25  Jakub Jelinek  <jakub@redhat.com>
4579
4580         PR c/52880
4581         * c-typeck.c (set_nonincremental_init,
4582         set_nonincremental_init_from_string): Pass true instead of false
4583         as IMPLICIT to add_pending_init.
4584
4585 2012-04-24  Georg-Johann Lay  <avr@gjlay.de>
4586
4587         Backport from 2012-04-24 mainline r186768.
4588
4589         PR target/53065
4590         * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define.
4591
4592 2012-04-24  Richard Guenther  <rguenther@suse.de>
4593
4594         PR tree-optimization/53085
4595         * tree-ssa-pre.c (eliminate): Do not eliminate volatile redundant
4596         stores.
4597
4598 2012-04-24  Jakub Jelinek  <jakub@redhat.com>
4599
4600         PR middle-end/53084
4601         * varasm.c (compute_reloc_for_constant): Handle ADDR_EXPR
4602         of MEM_REF.
4603         (output_addressed_constants): Likewise.
4604
4605         PR middle-end/52999
4606         * varasm.c (get_section): Don't ICE for section conflicts with
4607         built-in section kinds.
4608
4609 2012-04-23  David Edelsohn  <dje.gcc@gmail.com>
4610
4611         * config/rs6000/sync.md (fetchop_name): Change ior attribute to "or".
4612
4613 2012-04-23  Georg-Johann Lay  <avr@gjlay.de>
4614
4615         * doc/extend.texi (AVR Named Address Spaces): Fix typos.
4616
4617 2012-04-23  Richard Guenther  <rguenther@suse.de>
4618
4619         PR c/53060
4620         * c-typeck.c (build_binary_op): Fix typo.
4621
4622 2012-04-23  Jakub Jelinek  <jakub@redhat.com>
4623
4624         PR tree-optimizations/52891
4625         * tree-vect-patterns.c (adjust_bool_pattern): Use
4626         build_nonstandard_type even if rhs1 has unsigned INTEGER_TYPE,
4627         but with non-standard precision.
4628
4629 2012-04-22  Ian Lance Taylor  <iant@google.com>
4630
4631         * godump.c (go_output_typedef): Dump size of structs.
4632
4633 2012-04-20  Ulrich Weigand  <ulrich.weigand@linaro.org>
4634
4635         Backport from mainline:
4636
4637         * config/arm/arm.c (arm_print_operand): Fix invalid alignment
4638         hints for 'A' operand types.
4639
4640 2012-04-19  Georg-Johann Lay  <avr@gjlay.de>
4641
4642         Backport from 2012-04-19 mainline r186588.
4643
4644         PR target/53033
4645         * config/avr/avr.c (avr_out_load_psi): Fix assembler template for
4646         the case *(X+const).
4647
4648 2012-04-18  Uros Bizjak  <ubizjak@gmail.com>
4649
4650         * config/alpha/sync.md (fetchop_name): Change ior attribute to "or".
4651
4652 2012-04-17  Uros Bizjak  <ubizjak@gmail.com>
4653
4654         PR target/53020
4655         * config/i386/sync.md (atomic_<code><mode>): Rename to
4656         atomic_<logic><mode>.
4657
4658 2012-04-16  Uros Bizjak  <ubizjak@gmail.com>
4659
4660         Backport from mainline
4661         2012-04-12  Uros Bizjak  <ubizjak@gmail.com>
4662
4663         PR target/52932
4664         * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
4665         argument type to __m256i.  Update call to __builtin_ia32_permvarsf256.
4666         * config/i386/sse.md (avx2_permvarv8sf): Change operand 1 to V8SI.
4667         (avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
4668         * config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
4669         Update builtin type to V8SF_FTYPE_V8SF_V8SI.
4670         (ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
4671         gen_avx2_permvarv8sf.
4672
4673 2012-04-16  Martin Jambor  <mjambor@suse.cz>
4674
4675         Backported from mainline
4676
4677         2012-04-13  Martin Jambor  <mjambor@suse.cz>
4678         PR middle-end/52939
4679
4680         * gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
4681         fold_ctor_reference returns a zero constant.
4682
4683 2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
4684
4685         Backported from mainline
4686         2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
4687
4688         * config/i386/i386-c.c (ix86_target_macros): Define _ILP32
4689         and __ILP32__ for x32.
4690
4691 2012-04-13  Tom de Vries  <tom@codesourcery.com>
4692
4693         Backport from mainline r186418.
4694
4695         2012-04-13  Tom de Vries  <tom@codesourcery.com>
4696
4697         * tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add
4698         parameters vuse and vuse_escaped.
4699         (find_duplicate): Init vuse1, vuse2 and vuse_escaped.  Pass to
4700         gsi_advance_bw_nondebug_nonlocal.  Return if vuse_escaped and
4701         vuse1 != vuse2.
4702
4703 2012-04-13  Richard Guenther  <rguenther@suse.de>
4704
4705         PR tree-optimization/52969
4706         * tree-if-conv.c (predicate_mem_writes): Properly gimplify
4707         the condition for the COND_EXPR and handle predicate negation
4708         by swapping the COND_EXPR arms.
4709
4710 2012-04-13  Richard Guenther  <rguenther@suse.de>
4711
4712         PR c/52862
4713         * convert.c (convert_to_pointer): Remove special-casing of
4714         zero.
4715
4716 2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
4717
4718         Backport from mainline
4719         2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
4720
4721         PR target/52775
4722         * config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
4723         the list of options to enable the FCFID instruction.
4724         (TARGET_EXTRA_BUILTINS): Adjust comment.
4725
4726 2012-04-12  Richard Guenther  <rguenther@suse.de>
4727
4728         PR tree-optimization/52943
4729         * tree-chrec.h (chrec_is_positive): Remove.
4730         * tree-scalar-evolution.c (chrec_is_positive): Move ...
4731         * tree-data-ref.c (chrec_is_positive): ... here.  Make static.
4732         Return false for a constant zero instead of negative.
4733         (analyze_siv_subscript_cst_affine): Handle zero difference
4734         in the initial condition explicitely.
4735
4736 2012-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4737
4738         PR middle-end/52894
4739         * varasm.c (process_pending_assemble_externals): Set
4740         pending_assemble_externals_processed true.
4741         (assemble_external): Call assemble_external_real if the pending
4742         assemble externals have been processed.
4743
4744 2012-04-09  Eric Botcazou  <ebotcazou@adacore.com>
4745
4746         PR target/52717
4747         * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
4748         the DECL generated for the special GOT helper.
4749
4750 2012-04-06  Walter Lee  <walt@tilera.com>
4751
4752         Backport from mainline
4753         2012-03-07  Walter Lee  <walt@tilera.com>
4754
4755         * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
4756         REG_CFA_* notes for the stack pointer.
4757         (tilegx_expand_epilogue): Restore stack pointer by adjusting it by
4758         EH_RETURN_STACKADJ_RTX.
4759         * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
4760         generate REG_CFA_* notes for the stack pointer.
4761         (tilepro_expand_epilogue): Restore stack pointer by adjusting it
4762         by EH_RETURN_STACKADJ_RTX.
4763
4764 2012-04-06  Matt Turner  <mattst88@gmail.com>
4765
4766         * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc".
4767
4768 2012-04-06  Eric Botcazou  <ebotcazou@adacore.com>
4769
4770         * config/ia64/ia64.c (ia64_load_pair_ok): Return 0 if the second member
4771         of the destination isn't also a FP_REGS register.
4772
4773 2012-04-03  Richard Guenther  <rguenther@suse.de>
4774
4775         Backport from mainline
4776         2012-03-02  Richard Guenther  <rguenther@suse.de>
4777
4778         PR tree-optimization/52406
4779         * tree-data-ref.h: Update documentation about DR_BASE_OBJECT.
4780         (struct indices): Add unconstrained_base member.
4781         (struct dr_alias): Remove unused vops member.
4782         (DR_UNCONSTRAINED_BASE): New define.
4783         * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs
4784         add indices to allow their disambiguation.  Make DR_BASE_OBJECT
4785         be an artificial access that covers the whole indexed object,
4786         or mark it with DR_UNCONSTRAINED_BASE if we cannot do so.  Canonicalize
4787         plain decl base-objects to their MEM_REF variant.
4788         (dr_may_alias_p): When the base-object of either data reference
4789         has unknown size use only points-to information.
4790         (compute_affine_dependence): Make dumps easier to read and
4791         more verbose.
4792         * tree-vect-data-ref.c (vector_alignment_reachable_p): Use
4793         DR_REF when looking for packed references.
4794         (vect_supportable_dr_alignment): Likewise.
4795
4796 2012-04-03  Richard Guenther  <rguenther@suse.de>
4797
4798         Backport from mainline
4799         2012-03-15  Richard Guenther  <rguenther@suse.de>
4800
4801         PR middle-end/52580
4802         * tree-data-ref.c (subscript_dependence_tester_1): Check
4803         all dimensions for non-conflicting access functions.
4804
4805 2012-04-03  Richard Guenther  <rguenther@suse.de>
4806
4807         Backport from mainline
4808         2012-03-06  Richard Guenther  <rguenther@suse.de>
4809
4810         PR middle-end/52493
4811         * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify.
4812
4813         2012-03-23  Richard Guenther  <rguenther@suse.de>
4814
4815         PR tree-optimization/52678
4816         * tree-vectorizer.h (struct _stmt_vec_info): Add
4817         loop_phi_evolution_part member.
4818         (STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define.
4819         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize
4820         STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
4821         * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
4822         Use the cached evolution part and the PHI nodes value from
4823         the loop preheader edge instead of re-analyzing the evolution.
4824
4825         2012-03-26  Richard Guenther  <rguenther@suse.de>
4826
4827         PR tree-optimization/52701
4828         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
4829         compute and set the evolution part of PHI nodes.
4830
4831         2012-03-30  Richard Guenther  <rguenther@suse.de>
4832
4833         PR tree-optimization/52754
4834         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
4835         propagate arbitrary addresses into really plain dereferences.
4836
4837 2012-04-03  Jakub Jelinek  <jakub@redhat.com>
4838
4839         PR tree-optimization/52835
4840         * tree-data-ref.c (build_rdg): Return NULL if
4841         compute_data_dependences_for_loop failed.
4842
4843 2012-03-31  Eric Botcazou  <ebotcazou@adacore.com>
4844
4845         * tree-cfg.c (call_can_make_abnormal_goto): New predicate.
4846         (stmt_can_make_abnormal_goto): Use it.
4847         (is_ctrl_altering_stmt): Likewise.
4848
4849 2012-03-31  Martin Jambor  <mjambor@suse.cz>
4850
4851         Backported from mainline
4852         2012-03-30  Martin Jambor  <mjambor@suse.cz>
4853
4854         * tree-ssa-ccp.c (insert_clobbers_for_var): Do not assert that there
4855         is a builtin_stack_save in a dominating BB.
4856
4857 2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
4858
4859         * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
4860         crossing 128bit lane boundary.
4861
4862 2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
4863
4864         Backported from mainline
4865         2012-03-27  Uros Bizjak  <ubizjak@gmail.com>
4866
4867         PR target/52698
4868         * config/i386/i386-protos.h (ix86_legitimize_reload_address):
4869         New prototype.
4870         * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
4871         * config/i386/i386.c: Include reload.h.
4872         (ix86_legitimize_reload_address): New function.
4873
4874 2012-03-28  Martin Jambor  <mjambor@suse.cz>
4875
4876         Backported from mainline
4877         2012-03-27  Martin Jambor  <mjambor@suse.cz>
4878
4879         PR middle-end/52693
4880         * tree-sra.c (sra_modify_assign): Do not call
4881         load_assign_lhs_subreplacements when working with an unscalarizable
4882         region.
4883
4884 2012-03-28  Jakub Jelinek  <jakub@redhat.com>
4885
4886         PR middle-end/52691
4887         * tree-ssa-ccp.c (optimize_stdarg_builtin): Optimize
4888         __builtin_va_start to __builtin_next_arg if the latter is
4889         builtin_decl_explicit_p rather than when it is not.
4890
4891         PR middle-end/52750
4892         * tree-vect-generic.c (vector_element): Perform multiplication
4893         for pos in bitsizetype type instead of idx type.
4894
4895 2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
4896
4897         Backport from 2012-03-28 mainline r185910.
4898
4899         PR target/52692
4900         * config/avr/avr.c (TARGET_BUILTIN_DECL): New define.
4901         (avr_builtin_decl): New static function.
4902         (struct avr_builtin_description, avr_bdesc): Move up.
4903         Add GTY marker. Add field fndecl. Remove redundant field id.
4904         (avr_init_builtins): Initialize avr_bdesc[ID].fndecl.
4905         (avr_expand_builtin): Code cleanup because .id is removed.
4906
4907 2012-03-28  Aurelien Buhrig  <aurelien.buhrig.gcc@gmail.com>
4908
4909         PR middle-end/51893
4910         * expmed.c (store_bit_field_1): Fix wordnum value for big-endian
4911         targets.
4912
4913 2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
4914
4915         Backport from 2012-03-28 mainline r185907.
4916
4917         PR target/52737
4918         * config.gcc (tm_file): Remove avr/multilib.h.
4919
4920         * doc/invoke.texi (AVR Options): Adjust
4921         documentation of -mtiny-stack.
4922
4923         * config/avr/genmultilib.awk: Remove code to generate multilib.h.
4924         (BEGIN): Use -msp8 as multilib option instead of -mtiny-stack.
4925         * config/avr/t-avr: Remove generation of multilib.h.
4926         * config/avr/t-multilib: Regenerate.
4927         * config/avr/multilib.h: Remove.
4928         * config/avr/avr.opt (-msp8): New option.
4929         (avr_sp8): New variable.
4930         * config/avr/driver-avr.c (avr_device_to_sp8): New function.
4931         * config/avr/avr.h (AVR_HAVE_SPH): New define.
4932         (AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8.
4933         (avr_device_to_sp8): New prototype.
4934         (EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 }
4935         (DRIVER_SELF_SPECS): New define.
4936         * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
4937         __AVR_SP8__, __AVR_HAVE_SPH__.
4938         * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
4939         AVR_HAVE_8BIT_SP to decide if SP_H is present.
4940         (avr_file_start): Ditto.
4941
4942 2012-03-28  Jakub Jelinek  <jakub@redhat.com>
4943
4944         PR target/52736
4945         * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0
4946         instead of 8 in adjust_address.
4947
4948 2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
4949
4950         * expmed.c (store_bit_field): Assert that BITREGION_START is a multiple
4951         of a unit before computing the offset in units.
4952
4953 2012-03-27  Richard Guenther  <rguenther@suse.de>
4954
4955         PR middle-end/52720
4956         * fold-const.c (try_move_mult_to_index): Handle &x.array more
4957         explicitely.
4958
4959 2012-03-24  Eric Botcazou  <ebotcazou@adacore.com>
4960
4961         PR target/52610
4962         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=leon.
4963
4964 2012-03-24  Steven Bosscher  <steven@gcc.gnu.org>
4965
4966         PR middle-end/52640
4967         * varasm.c: Include pointer-set.h.
4968         (pending_assemble_externals_set): New pointer set.
4969         (process_pending_assemble_externals): Destroy the pointer set.
4970         (assemble_external): See if decl is in pending_assemble_externals_set,
4971         and add it to pending_assemble_externals if necessary.
4972         (init_varasm_once): Allocate pending_assemble_externals_set.
4973
4974 2012-03-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
4975
4976         Backported from mainline
4977         2012-03-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
4978
4979         PR target/50310
4980         * config/rs6000/vector.md (vector_uneq<mode>): Add support for
4981         UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
4982         (vector_ltgt<mode>): Likewise.
4983         (vector_ordered<mode>): Likewise.
4984         (vector_unordered<mode>): Likewise.
4985         * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
4986
4987 2012-03-23  Joern Rennecke  <joern.rennecke@embecosm.com>
4988
4989         * config/epiphany/epiphany.c (epiphany_function_value_regno_p):
4990         Make static.
4991
4992 2012-03-22  Kaz Kojima  <kkojima@gcc.gnu.org>
4993
4994         Backported from mainline
4995         2012-03-02  Kaz Kojima  <kkojima@gcc.gnu.org>
4996
4997         PR target/48596
4998         PR target/48806
4999         * config/sh/sh.c (sh_register_move_cost): Increase cost between
5000         GENERAL_REGS and FP_REGS for SImode.
5001
5002 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
5003
5004         PR middle-end/52547
5005         * tree-nested.c (convert_tramp_reference_stmt): Call declare_vars
5006         on any new_local_var_chain vars declared during recursing on
5007         GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK body.
5008
5009 2012-03-22  Georg-Johann Lay  <avr@gjlay.de>
5010
5011         Backport from 2012-03-22 mainline r185692.
5012
5013         PR target/52496
5014         * config/avr/avr.md (unspec): Remove UNSPEC_MEMORY_BARRIER.
5015         (unspecv): Add UNSPECV_MEMORY_BARRIER.
5016         (cli_sei): Use unspec_volatile instead of unspec for memory barrier.
5017         (delay_cycles_1, delay_cycles_2): Ditto.
5018         (delay_cycles_3, delay_cycles_4): Ditto.
5019         (nopv, *nopv): Ditto.
5020         (sleep, *sleep): Ditto.
5021         (wdr, *wdr): Ditto.
5022
5023         Backport from 2012-03-21 mainline r185605.
5024
5025         PR rtl-optimization/52543
5026         PR target/52461
5027         * config/avr/avr-protos.h (avr_load_lpm): New prototype.
5028         * config/avr/avr.c (avr_mode_dependent_address_p): New function.
5029         (TARGET_MODE_DEPENDENT_ADDRESS_P): New define.
5030         (avr_load_libgcc_p): Restrict to __flash loads.
5031         (avr_out_lpm): Only handle 1-byte loads from __flash.
5032         (avr_load_lpm): New function.
5033         (avr_find_unused_d_reg): Remove.
5034         (avr_out_lpm_no_lpmx): Remove.
5035         (adjust_insn_length): Handle ADJUST_LEN_LOAD_LPM.
5036         * config/avr/avr.md (unspec): Add UNSPEC_LPM.
5037         (load_<mode>_libgcc): Use UNSPEC_LPM instead of MEM.
5038         (load_<mode>, load_<mode>_clobber): New insns.
5039         (mov<mode>): For multi-byte move from non-generic
5040         16-bit address spaces: Expand to load_<mode> resp.
5041         load_<mode>_clobber.
5042         (load<mode>_libgcc): Remove expander.
5043         (split-lpmx): Remove split.
5044
5045         Backport from 2012-03-13 mainline r185329.
5046
5047         PR target/52488
5048         * config/avr/avr.c (avr_prologue_setup_frame): Cut down stack
5049         offset (size) to a value the insns can deal with.
5050         (expand_epilogue): Ditto.
5051
5052         Backport from 2012-03-12 mainline r185256.
5053
5054         PR target/52499
5055         * config/avr/avr.c (avr_mode_code_base_reg_class): Change return
5056         type from reg_class_t to enum reg_class.
5057         * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
5058
5059         Backport from 2012-03-12 mainline r185253.
5060
5061         PR target/52148
5062         * config/avr/avr.c (avr_out_movmem): Fix typo in output template
5063         for the case ADDR_SPACE_FLASH and AVR_HAVE_LPMX introduced in
5064         r184615 from 2012-02-28.
5065
5066         Backport from 2012-03-08 mainline r185105.
5067
5068         * config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative
5069         for constants in [-63,63].
5070
5071         Backport from 2012-03-08 mainline r185100.
5072
5073         PR target/52496
5074         * config/avr/avr.c (avr_mem_clobber): New static function.
5075         (avr_expand_delay_cycles): Add memory clobber operand to
5076         delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4.
5077         * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
5078         (enable_interrupt, disable_interrupt): New expander.
5079         (nopv, sleep, wdr): New expanders.
5080         (delay_cycles_1): Add memory clobber.
5081         (delay_cycles_2): Add memory clobber.
5082         (delay_cycles_3): Add memory clobber.
5083         (delay_cycles_4): Add memory clobber.
5084         (cli_sei): New insn from former "enable_interrupt",
5085         "disable_interrupt" with memory clobber.
5086         (*wdt): New insn from former "wdt" with memory clobber.
5087         (*nopv): Similar, but for "nopv".
5088         (*sleep): Similar, but for "sleep".
5089
5090         Backport from 2012-03-07 mainline r185043.
5091
5092         PR target/52484
5093         * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint.
5094
5095         Backport from 2012-03-07 mainline r185032.
5096
5097         PR target/52506
5098         * gcc/config/avr/avr.c (expand_epilogue): Fix order of restoration
5099         to: RAMPZ, RAMPY, RAMPX, RAMPD.
5100         (expand_prologue): Only clear RAMPZ if it has effect on RAM-read.
5101
5102         Backport from 2012-03-07 mainline r185031.
5103
5104         PR target/52505
5105         * config/avr/avr.c (avr_out_xload): Don't read unintentionally
5106         from RAM.
5107         * config/avr/avr.md (xload_8): Adjust insn length.
5108
5109         Backport from 2012-03-07 mainline r185030.
5110
5111         PR target/52461
5112         * gcc/config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
5113         if RAMPZ affects reading from RAM.
5114
5115         Backport from 2012-03-05 mainline r184919.
5116
5117         * config/avr/avr.md (*umaddqihi4.2): New insn-and-split.
5118
5119 2012-03-22  Georg-Johann Lay  <avr@gjlay.de>
5120
5121         Backport from mainline r185259.
5122
5123         PR other/52545
5124         * output.h (SECTION_EXCLUDE, SECTION_MACH_DEP): Don't use
5125         SECTION_MACH_DEP reserved bits for SECTION_EXCLUDE.
5126
5127 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
5128
5129         Backported from mainline
5130         2012-03-13  Jakub Jelinek  <jakub@redhat.com>
5131
5132         PR c/52577
5133         * c-parser.c (c_parser_postfix_expression)
5134         <case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values.
5135
5136         * config/i386/smmintrin.h: Avoid /* within a comment.
5137         * config/i386/nmmintrin.h: Likewise.
5138
5139 2012-03-22  Richard Guenther  <rguenther@suse.de>
5140
5141         * BASE-VER: Set to 4.7.1.
5142         * DEV-PHASE: Set to prerelease.
5143
5144 2012-03-22  Release Manager
5145
5146         * GCC 4.7.0 released.
5147
5148 2012-03-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5149
5150         * doc/install.texi (Specific, *-*-solaris2*): Improve wording.
5151
5152 2012-03-15  Jakub Jelinek  <jakub@redhat.com>
5153             Andrew Pinski  <apinski@cavium.com>
5154
5155         PR middle-end/52592
5156         * builtins.c (expand_builtin_int_roundingfn_2): If expanding
5157         BUILT_IN_IR{INT,OUND}* using optab fails, emit lr{int,ound}*
5158         calls instead of __builtin_ir{int,ound}*.
5159
5160 2012-03-14  Jakub Jelinek  <jakub@redhat.com>
5161
5162         PR c++/52582
5163         * config/rs6000/rs6000.c (call_ABI_of_interest): Return true
5164         if c_node is NULL.
5165
5166 2012-03-13  Joseph Myers  <joseph@codesourcery.com>
5167
5168         * doc/invoke.texi (-std=c99), doc/standards.texi (C language):
5169         Refer to GCC 4.7 version of c99status.html.
5170
5171 2012-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
5172
5173         Backport from mainline
5174         2012-03-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
5175
5176         * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Do not
5177         redefine to be NULL if the current bit-size is different from the
5178         configured bit-size.
5179
5180         * config/rs6000/rs6000.c (rs6000_option_override_internal): If the
5181         cpu is defaulted, use PROCESSOR_DEFAULT and PROCESSOR_DEFAULT64 to
5182         set the default tuning.  Add asserts to make sure the cpu and tune
5183         indexes are defined.  Fix tests for cpu/tune index to use >= 0 to
5184         test whether the index is set, instead of > 0.
5185         (rs6000_file_start): Do not reset the default cpu if the current
5186         bit-size is different from the configured bit-size.
5187
5188 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5189
5190         * doc/install.texi (Specific, i?86-*-solaris2.[89]): Update
5191         binutils reference.
5192         (Specific, i?86-*-solaris2.10): Remove GCC 4.0 reference.
5193         Update binutils references.
5194         (Specific, *-*-solaris2*): Mention bundled GCC in Solaris 10 and 11.
5195         Update binutils reference.
5196         Update Sun as/GNU ld caveat.
5197         Document binutils largefile requirement for LTO plugin.
5198         Remove reference to alternate libpthread.
5199
5200 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5201
5202         * doc/install.texi (Specific, alpha*-dec-osf5.1): Update binutils
5203         reference.
5204         (Specific, mips-sgi-irix6): Likewise.
5205
5206 2012-03-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5207
5208         * configure.ac (gcc_cv_as_ix86_tlsldmplt): Add label.
5209         * configure: Regenerate.
5210
5211 2012-03-07  Richard Henderson  <rth@redhat.com>
5212
5213         * config/m68k/m68k.h (ISA_HAS_TAS): New.
5214         * config/m68k/sync.md (atomic_test_and_set): Use it.
5215         (atomic_test_and_set_1): Likewise.
5216
5217 2012-03-07  Ralf Corsépius  <ralf.corsepius@rtems.org>
5218
5219         PR target/51417
5220         * Makefile.in: Let install-gcc-ar depend on installdirs,
5221         gcc-ar$(exeext), gcc-nm$(exeext), gcc-ranlib$(exeext).
5222         Don't double canonicalize if cross-compiling.
5223
5224 2012-03-06  Aldy Hernandez  <aldyh@redhat.com>
5225
5226         * trans-mem.c: New typedef for tm_region_p.
5227         Define vector types for tm_region_p.
5228         (tm_region_init): Replace region_worklist to a vector called
5229         bb_regions.
5230
5231 2012-03-06  Aldy Hernandez  <aldyh@redhat.com>
5232
5233         PR middle-end/52463
5234         * trans-mem.c (tm_region_init): Use last_basic_block.
5235
5236 2012-03-05  Richard Henderson  <rth@redhat.com>
5237
5238         PR tree-opt/52242
5239         Revert: 2011-11-26  Richard Henderson  <rth@redhat.com>
5240         * omp-low.c (expand_omp_atomic): Assume anything aligned to
5241         BIGGEST_ALIGNMENT is aligned.
5242
5243 2012-03-05  Oleg Endo  <olegendo@gcc.gnu.org>
5244
5245         * config/sh/sh.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
5246
5247 2012-03-05  Richard Henderson  <rth@redhat.com>
5248
5249         PR target/52481
5250         * config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
5251         instead of calling negqi2 directly.
5252
5253 2012-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5254
5255         * config/mips/iris6.h [!USED_FOR_TARGET] (long_intmax): Declare.
5256         (INTMAX_TYPE): Use it.
5257         (UINTMAX_TYPE): Likewise.
5258         (SUBTARGET_OVERRIDE_OPTIONS): Define.
5259         (irix6_c_common_override_options): Declare.
5260         (C_COMMON_OVERRIDE_OPTIONS): Define.
5261         * config/mips/mips.c [TARGET_IRIX6] (long_intmax): Define.
5262         * config/mips/irix6-c.c: New file.
5263         * config/mips/t-irix6 (irix6-c.o): New target.
5264         * config.gcc (mips-sgi-irix6.5): Set c_target_objs,
5265         cxx_target_objs.
5266
5267 2012-03-02  Richard Henderson  <rth@redhat.com>
5268
5269         * optabs.c (expand_atomic_test_and_set): Honor
5270         atomic_test_and_set_trueval even when atomic_test_and_set
5271         optab is not in use.
5272
5273 2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
5274
5275         Backport from mainline
5276         2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
5277
5278         * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
5279
5280 2012-03-02  Richard Guenther  <rguenther@suse.de>
5281
5282         * DEV-PHASE: Set to prerelease.
5283
5284 2012-03-01  Richard Earnshaw  <rearnsha@arm.com>
5285
5286         * config.gcc (obsolete): Add all ARM targets using the FPA.
5287         (with_fpu): Obsolete selection of the FPA or Maverick on ARM.
5288         * doc/install.texi: Avoid references to obsolete ARM ports.
5289
5290 2012-03-01  Joern Rennecke  <joern.rennecke@embecosm.com>
5291
5292         * config/epiphany/epiphany.md (movmisalign<mode>): New patterns.
5293
5294 2012-03-01  Jeremy Bennett  <jeremy.bennett@embecosm.com>
5295             Joern Rennecke  <joern.rennecke@embecosm.com>
5296
5297         * doc/extend.texi: Expand and update information on interrupt
5298         attribute for Epiphany.
5299
5300 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
5301
5302         * config/sh/sh-protos.h: Update copyright notice dates.
5303         * config/sh/sh.h: Likewise.
5304         * config/sh/sh.md: Likewise.
5305         * config/sh/constraints.md: Likewise.
5306         * config/sh/predicates.md: Likewise.
5307
5308 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
5309
5310         * config/sh/sh-protos.h (tertiary_reload_operand): Remove dead function.
5311         * config/sh/sh.c (tertiary_reload_operand): Likewise.
5312
5313 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
5314
5315         * config/sh/constraints.md: Fix comment typo.
5316
5317 2012-03-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5318
5319         PR target/52408
5320         * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
5321         unsigned HOST_WIDE_INT.
5322         (zvdep_imm64): Likewise.
5323         (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
5324         (vdepi_and): Likewise.
5325         Likewise for unamed 64-bit patterns.
5326         * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
5327
5328 2012-03-01  Alexandre Oliva  <aoliva@redhat.com>
5329
5330         PR debug/52001
5331         PR rtl-optimization/52417
5332         * cselib.c (cselib_any_perm_equivs): New variable.
5333         (cselib_reset_table): Check that it's not set when not
5334         preserving constants.
5335         (cselib_add_permanent_equiv): Set it.
5336         (cselib_have_permanent_equivalences): New.
5337         (cselib_init, cselib_finish): Reset it.
5338         * cselib.h (cselib_have_permanent_equivalences): Declare.
5339         * alias.c (get_addr): Restore earlier behavior when there
5340         aren't permanent equivalences.
5341
5342 2012-03-01  Steven Bosscher  <steven@gcc.gnu.org>
5343
5344         * config/mn10300/mn10300-modes.def: Fix copyright notice.
5345         * config/v850/v850-modes.def: Fix copyright notice.
5346
5347 2012-03-01  Georg-Johann Lay  <avr@gjlay.de>
5348
5349         * doc/extend.texi (AVR Built-in Functions): Document
5350         __builtin_avr_flash_segment.
5351
5352         * config/avr/builtins.def (__builtin_avr_flash_segment): New entry.
5353         * config/avr/avr.md (flash_segment, flash_segment1): New expanders.
5354         (*split.flash_segment): New insn-and-split.
5355         * config/avr/avr.c (avr_init_builtins): Add local variables:
5356         const_memx_void_node, const_memx_ptr_type_node,
5357         char_ftype_const_memx_ptr.
5358
5359 2012-03-01  Jakub Jelinek  <jakub@redhat.com>
5360
5361         PR tree-optimization/52445
5362         * tree-ssa-phiopt.c (struct name_to_bb): Remove ssa_name field,
5363         add ssa_name_ver, offset and size fields and change store field
5364         to bool.
5365         (name_to_bb_hash, name_to_bb_eq): Adjust for the above changes.
5366         (add_or_mark_expr): Likewise.  Only consider previous stores
5367         with the same size and offset.
5368         (nt_init_block): Only look at gimple_assign_single_p stmts,
5369         doesn't look at rhs2.
5370
5371 2012-03-01  Richard Guenther  <rguenther@suse.de>
5372
5373         PR middle-end/52443
5374         * tree-cfg.c (verify_gimple_assign_unary): Allow any
5375         conversions from integral types to pointer types.
5376
5377 2012-03-01  Georg-Johann Lay  <avr@gjlay.de>
5378
5379         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in
5380         defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__
5381         unintentionally removed in r184616.
5382
5383 2012-03-01  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
5384
5385         * doc/invoke.texi: Document AMD bdver2 and remove mentioning
5386         3DNow from bdver1.
5387
5388 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
5389             Uros Bizjak  <ubizjak@gmail.com>
5390
5391         PR target/52437
5392         * config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF"
5393         alternatives, add "e" constraint to the new last alternative
5394         and ! to last 3 alternatives.
5395
5396 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
5397
5398         * dwarf2out.c (modified_type_die): Set DW_AT_GNAT_descriptive_type and
5399         DW_AT_artificial attributes at the end of the processing.
5400         (gen_array_type_die): Likewise.
5401         (gen_enumeration_type_die): Likewise.
5402         (gen_struct_or_union_type_die): Likewise.
5403         (add_gnat_descriptive_type_attribute): Do not suppress debug info for
5404         the parent type.
5405
5406 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
5407
5408         PR middle-end/52419
5409         * expr.c (expand_assignment): If doing misaligned store that doesn't
5410         cover all mode bits, perform a RMW cycle.
5411
5412         PR tree-optimization/52429
5413         * tree-parloops.c (separate_decls_in_region_debug): Return early
5414         if var is LABEL_DECL.
5415
5416 2012-02-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5417
5418         PR tree-optimization/52424
5419         * tree-ssa-dom.c (dom_opt_leave_block): Push a marker before
5420         calling dom_thread_across_edge.
5421
5422 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5423
5424         * config/avr/avr.c: Move definition of TARGET macros to end of file.
5425
5426 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5427
5428         * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype.
5429         * config/avr/avr.c (avr_output_bld): Remove unused function.
5430         (avr_out_sbxx_branch): Use "%T" to print bit position.
5431
5432 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5433
5434         * config/avr/avr.md: Untabify.
5435
5436 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5437
5438         * config/avr/avr.md (eqne): New code iterator.
5439         (*dec-and-branchsi): Use it in text peephole's condition.
5440         (*dec-and-branchhi): Ditto.
5441         (*dec-and-branchqi): Ditto.
5442
5443 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5444
5445         PR target/49939
5446         * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that
5447         the device does not have the skip-bug.
5448
5449 2012-02-29  Oleg Endo  <olegendo@gcc.gnu.org>
5450
5451         * doc/invoke.texi (-msoft-atomic): Add more detailed description.
5452         (-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd
5453         -mpretend-cmove): New.
5454
5455 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
5456
5457         PR bootstrap/52397
5458         * df.h (struct df_d): Adjust comment that hard_regs_live_count
5459         doesn't count DEBUG_INSN refs.
5460         * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE
5461         for DEBUG_INSN refs.
5462
5463 2012-02-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5464
5465         Partially revert:
5466
5467         2012-02-20  Richard Guenther  <rguenther@suse.de>
5468         PR tree-optimization/52298
5469         * tree-vect-stmts.c (vectorizable_load): Properly use
5470         STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
5471         outer loops.
5472
5473 2012-02-28  Aldy Hernandez  <aldyh@redhat.com>
5474
5475         PR middle-end/51752
5476         * gimple.h (gimple_in_transaction): New.
5477         (gimple_set_in_transaction): New.
5478         (struct gimple_statement_base): Add in_transaction field.
5479         * tree-ssa-loop-im.c: (movement_possibility): Restrict movement of
5480         transaction loads.
5481         (tree_ssa_lim_initialize): Compute transaction bits.
5482         * tree.h (compute_transaction_bits): Protoize.
5483         * trans-mem.c (tm_region_init): Use the heap to store BB
5484         auxilliary data.
5485         (compute_transaction_bits): New.
5486
5487 2012-02-28  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5488
5489         * gcc.c (display_help): Document --help=common and sort entries
5490         alphabetically.
5491
5492 2012-02-28  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5493
5494         * doc/install.texi: Document check-$LANG specific shortcuts
5495
5496 2012-02-28  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
5497
5498         PR target/51534
5499         * config/arm/arm.c (neon_builtin_data): Add entries for vcgeu
5500         and vcgtu.
5501         * config/arm/arm_neon.h: Regenerate.
5502         * config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU.
5503         (neon_vcgeu): New insn.
5504         (neon_vcgtu): Likewise.
5505         * config/arm/neon.ml (s_8_32, u_8_32): New lists.
5506         (ops): Unsigned comparison intrinsics call a different
5507         builtin.
5508
5509 2012-02-28  Richard Guenther  <rguenther@suse.de>
5510
5511         PR target/52407
5512         * config/i386/i386.c (ix86_expand_vector_set): Fix element
5513         ordering for the VEC_CONCAT for two element vectors for
5514         V2SFmode, V2SImode and V2DImode.
5515
5516 2012-02-28  Richard Earnshaw  <rearnsha@arm.com>
5517
5518         PR target/49448
5519         * config.gcc (arm*-*-linux*): Use an unambiguous pattern for
5520         detecting big-endian triplets.
5521
5522 2012-02-28  Richard Earnshaw  <rearnsha@arm.com>
5523
5524         * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine
5525         mode if there is no type information available.
5526
5527 2012-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
5528
5529         PR tree-optimization/53207
5530         * doc/invoke.texi: Document as experimental and relying on graphite.
5531
5532 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
5533
5534         * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
5535         of initializer to changes from r184614.
5536
5537 2012-02-28  Richard Guenther  <rguenther@suse.de>
5538
5539         PR tree-optimization/52395
5540         * tree-sra.c (build_ref_for_offset): Also look at the base
5541         TYPE_ALIGN when figuring out the alignment of the replacement.
5542
5543 2012-02-28  Richard Guenther  <rguenther@suse.de>
5544
5545         PR tree-optimization/52402
5546         * ipa-prop.c (ipa_modify_call_arguments): Properly use
5547         mis-aligned types when creating the accesses at the call site.
5548
5549 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
5550
5551         * config/avr/builtins.def: New file.
5552         * config/avr/t-avr (avr.o, avr-c.o): Depend on it.
5553         * config/avr/avr.c (enum avr_builtin_id): Use it.
5554         (avr_init_builtins): Use it. And use avr_bdesc.
5555         (bdesc_1arg): Remove.
5556         (bdesc_2arg): Remove.
5557         (bdesc_3arg): Remove.
5558         (struct avr_builtin_description): Add field n_args.
5559         (avr_bdesc): New static variable using builtins.def.
5560         (avr_expand_builtin): Use it.
5561         Don't call avr_expand_delay_cycles if op0 is not CONST_INT.
5562         (avr_fold_builtin): Fold AVR_BUILTIN_SWAP.
5563         Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST.
5564
5565 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
5566
5567         PR target/52148
5568         * config/avr/avr.md (movmem_<mode>): Replace match_operand that
5569         match only one single hard register with respective hard reg rtx.
5570         (movmemx_<mode>): Ditto.
5571         * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new
5572         insn anatomy of movmem[x]_<mode>.
5573         (avr_out_movmem): Same for printing assembler and operand usage.
5574
5575 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
5576
5577         PR target/49868
5578         PR target/52261
5579         * doc/extend.texi (AVR Named Address Spaces): No more try to fix
5580         address spaces located outside of device flash.
5581
5582         * config/avr/avr.h (base_arch_s): Remove field n_segments.
5583         (mcu_type_s): Add field n_flash.
5584         * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments.
5585         Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5.
5586         (AVR_MCU): Add N_FLASH argument.
5587         * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash.
5588         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in
5589         macro __FLASH<n> if that address space makes sense for the device.
5590         * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces
5591         outside of target flash.
5592         (avr_asm_named_section): Ditto.
5593         (avr_asm_select_section): Ditto.
5594         (avr_addr_space_convert): Ditto.
5595         (avr_emit_movmemhi): Ditto.
5596         (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if
5597         address space is outside of device flash.
5598         (avr_insert_attributes): Ditto.
5599         (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of
5600         avr_current_arch->n_segments.
5601
5602 2012-02-27  H.J. Lu  <hongjiu.lu@intel.com>
5603
5604         PR target/52352
5605         * config/i386/i386.md (*movabs<mode>_1): Enable only for
5606         TARGET_LP64.
5607         (*movabs<mode>_2): Likewise.
5608
5609 2012-02-27  Jakub Jelinek  <jakub@redhat.com>
5610
5611         PR target/52375
5612         * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use
5613         s_register_operand in the test instead of REG_P.  Don't call
5614         gen_reg_rtx if it won't be used.
5615
5616         PR tree-optimization/52376
5617         * ipa-split.c (split_function): Ignore CLOBBER stmts.
5618
5619 2012-02-27  Stuart Henderson  <shenders@gcc.gnu.org>
5620
5621         * ifcvt.c (noce_get_condition): Check condition variable is not
5622         small_register_classes_for_mode_p before accepting.
5623
5624 2012-02-27  Uros Bizjak  <ubizjak@gmail.com>
5625
5626         * config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints.
5627
5628 2012-02-27  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
5629
5630         Revert:
5631         2012-01-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
5632         * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
5633         tuning parameters.
5634         * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
5635
5636 2012-02-27  Oleg Endo  <olegendo@gcc.gnu.org>
5637
5638         * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
5639
5640 2012-02-26  Oleg Endo  <olegendo@gcc.gnu.org>
5641
5642         * config/sh/predicates.md: Remove blank lines.
5643         * config/sh/sh.c: Fix typos in comments.
5644         * config/sh/constraints.md: Likewise.
5645         * config/sh/sh.md: Remove blank lines.
5646         Fix typos in comments.  Use ;; as comment characters.
5647
5648 2012-02-26  Walter Lee  <walt@tilera.com>
5649
5650         * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern.
5651         (replace_mov_pcrel_step2): Ditto.
5652
5653 2012-02-25  Alexandre Oliva  <aoliva@redhat.com>
5654
5655         PR debug/52001
5656         * alias.c (refs_newer_value_cb, refs_newer_value_p): New.
5657         (get_addr): Walk canonical value's locs.  Avoid returning VALUEs
5658         and locs that reference values newer than the non-canonical value
5659         at hand.  Return the canonical value as a worst case.
5660         (memrefs_conflict_p): Walk canonical value's locs.
5661
5662         PR debug/52001
5663         * cselib.c (preserve_only_constants): Rename to...
5664         (preserve_constants_and_equivs): ... this.  Split out...
5665         (invariant_or_equiv_p): ... this.  Preserve plus expressions
5666         of other preserved expressions too.
5667         (cselib_reset_table): Adjust.
5668         * var-tracking.c (reverse_op): Use canonical value to build
5669         reverse operation.
5670
5671 2012-02-23  Kai Tietz  <ktietz@redhat.com>
5672
5673         * config/i386/i386.c (ix86_delegitimize_address): Handle
5674         UNSPEC_PCREL plus displacement.
5675
5676 2012-02-24  Georg-Johann Lay  <avr@gjlay.de>
5677
5678         PR target/52261
5679         * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base
5680         to test for unusedness in st X addressing.
5681
5682 2012-02-24  Richard Guenther  <rguenther@suse.de>
5683
5684         PR middle-end/52361
5685         * gimple.c (walk_gimple_op): Use predicates with less redundant tests.
5686         (is_gimple_reg_type): Move inline ...
5687         * gimple.h (is_gimple_reg_type): ... here.
5688
5689 2012-02-24  Richard Guenther  <rguenther@suse.de>
5690
5691         PR middle-end/52361
5692         * passes.c (execute_function_todo): When verifying SSA form
5693         verify gimple form first.
5694         * tree-ssa.c (verify_ssa): Do not verify gimple form here.
5695
5696 2012-02-24  Richard Guenther  <rguenther@suse.de>
5697
5698         PR middle-end/52355
5699         * fold-const.c (fold_addr_of_array_ref_difference): New function.
5700         (fold_binary_loc): Use it to extend the existing &a[i] - &a[j] folding.
5701
5702 2012-02-13  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5703
5704         * tree-if-conv (predicate_scalar_phi): Commentary typo fix.
5705
5706 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5707
5708         * tree-phinodes.c (make_phi_node): Mark static.
5709         * tree-flow.h (make_phi_node): Remove extern decl.
5710         * doc/gimple.texi (make_phi_node): Remove documentation.
5711
5712 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5713
5714         * tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file.
5715         * tree-ssa-sccvn.c (print_scc): Ditto.
5716
5717 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5718
5719         * doc/passes.texi (Full redundancy elimination): Fix typo.
5720
5721 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5722
5723         * doc/invoke.texi (-fdse, -fdce): Remove duplicate entries.
5724
5725 2012-02-23  Eric Botcazou  <ebotcazou@adacore.com>
5726
5727         PR bootstrap/52287
5728         * haifa-sched.c (rank_for_schedule): Stabilize sort for debug insns.
5729
5730 2012-02-23  Uros Bizjak  <ubizjak@gmail.com>
5731
5732         PR c/52290
5733         * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL.
5734
5735 2012-02-23  Georg-Johann Lay  <avr@gjlay.de>
5736
5737         * config/avr/avr.md (code_stdname): Add ior, xor.
5738         (xior): New code iterator.
5739         (*<code_stdname><mode>qi.byte0): Use xior instead of ior.
5740         (*<code_stdname><mode>qi.byte1-3): Ditto.
5741
5742 2012-02-23  Jakub Jelinek  <jakub@redhat.com>
5743
5744         PR tree-optimization/52019
5745         * ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore
5746         CLOBBER stmts.
5747
5748 2012-02-23  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5749
5750         * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
5751         HAVE_INITFINI_ARRAY to work around namespace pollution in
5752         certain versions of newlib system headers.
5753         * config.in: Regenerate.
5754         * configure: Regenerate.
5755         * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
5756         instead of HAVE_INITFINI_ARRAY.
5757
5758 2012-02-22  Uros Bizjak  <ubizjak@gmail.com>
5759
5760         PR target/52330
5761         * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
5762         is not offsettable memory reference.
5763
5764 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
5765
5766         PR target/18145
5767         * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip
5768         setting avr_need_clear_bss_p for __gnu_lto* symbols.
5769
5770 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
5771
5772         * config/avr/avr.h (avr_accumulate_outgoing_args): Return int.
5773         * config/avr/avr.c (avr_accumulate_outgoing_args): Return int.
5774
5775 2012-02-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5776
5777         * configure.ac (LIB_TLS_SPEC): Enforce use of alternate thread
5778         library on Solaris 8 even without TLS support.
5779         * configure: Regenerate.
5780
5781 2012-02-22  Richard Guenther  <rguenther@suse.de>
5782
5783         PR middle-end/52329
5784         * gimple-fold.c (fold_stmt_1): Also canonicalize ADDR_EXPRs
5785         for GIMPLE_DEBUG stmts.
5786
5787 2012-02-22  Martin Jambor  <mjambor@suse.cz>
5788
5789         PR middle-end/51782
5790         * emit-rtl.c (set_mem_attributes_minus_bitpos): Set address space
5791         according to the base object.
5792
5793 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
5794
5795         PR rtl-optimization/50063
5796         * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state)
5797         and 2 (8-bit SP) in operand 2.
5798         * config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue
5799         setup to use movhi_sp_r instead of vanilla move to write SP.
5800         Adjust REG_CFA notes to superseed unspec.
5801         (expand_epilogue): Adjust epilogue setup to use movhi_sp_r instead
5802         of vanilla move.
5803         As function body might contain CLI or SEI: Use irq_state 0 (IRQ
5804         known to be off) only with TARGET_NO_INTERRUPTS. Never use
5805         irq_state 1 (IRQ known to be on) here.
5806
5807 2012-02-21  Bernd Schmidt  <bernds@codesourcery.com>
5808
5809         * ira.c (check_allocation): Use REG_WORDS_BIG_ENDIAN, not
5810         WORDS_BIG_ENDIAN.
5811         * ira-color.c (setup_profitable_hard_regs, check_hard_reg_p,
5812         assign_hard_reg): Likewise.
5813
5814 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
5815
5816         * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0".
5817
5818 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
5819
5820         * config/avr/avr.md
5821         (*dec-and-branchhi!=-1.d.clobber): New text peephole.
5822         (*dec-and-branchhi!=-1.l.clobber): New text peephole.
5823
5824 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
5825
5826         * config/avr/avr-protos.h (avr_accumulate_outgoing_args): Move
5827         prototype from here to...
5828         * config/avr/avr.h: ...here.
5829
5830 2012-02-21  Richard Earnshaw  <rearnsha@arm.com>
5831
5832         PR target/52294
5833         * thumb2.md (thumb2_shiftsi3_short): Split register and
5834         immediate shifts.  For register shifts tie operands 0 and 1.
5835         (peephole2 for above): Check that register-controlled shifts
5836         have suitably tied operands.
5837
5838 2012-02-21  Quentin Neill  <quentin.neill@amd.com>
5839
5840         PR target/52137
5841         * config/i386/bdver1.md (bdver1_call, bdver1_push,
5842         bdver1_pop, bdver1_leave, bdver1_lea, bdver1_imul_DI, bdver1_imul,
5843         bdver1_imul_mem_DI, bdver1_imul_mem, bdver1_idiv, bdver1_idiv_mem,
5844         bdver1_str, bdver1_idirect, bdver1_ivector, bdver1_idirect_loadmov,
5845         bdver1_idirect_load, bdver1_ivector_load, bdver1_idirect_movstore,
5846         bdver1_idirect_both, bdver1_ivector_both, bdver1_idirect_store,
5847         bdver1_ivector_store, bdver1_fldxf, bdver1_fld, bdver1_fstxf,
5848         bdver1_fst, bdver1_fist, bdver1_fmov_bdver1, bdver1_fadd_load,
5849         bdver1_fadd, bdver1_fmul_load, bdver1_fmul, bdver1_fsgn,
5850         bdver1_fdiv_load, bdver1_fdiv, bdver1_fpspc_load, bdver1_fpspc,
5851         bdver1_fcmov_load, bdver1_fcmov, bdver1_fcomi_load,
5852         bdver1_fcomi, bdver1_fcom_load, bdver1_fcom,
5853         bdver1_fxch, bdver1_ssevector_avx128_unaligned_load,
5854         bdver1_ssevector_avx256_unaligned_load,
5855         bdver1_ssevector_sse128_unaligned_load,
5856         bdver1_ssevector_avx128_load, bdver1_ssevector_avx256_load,
5857         bdver1_ssevector_sse128_load, bdver1_ssescalar_movq_load,
5858         bdver1_ssescalar_vmovss_load, bdver1_ssescalar_sse128_load,
5859         bdver1_mmxsse_load, bdver1_sse_store_avx256, bdver1_sse_store,
5860         bdver1_mmxsse_store_short, bdver1_ssevector_avx256,
5861         bdver1_movss_movsd, bdver1_mmxssemov, bdver1_sselog_load_256,
5862         bdver1_sselog_256, bdver1_sselog_load, bdver1_sselog,
5863         bdver1_ssecmp_load, bdver1_ssecmp, bdver1_ssecomi_load,
5864         bdver1_ssecomi, bdver1_vcvtX2Y_avx256_load, bdver1_vcvtX2Y_avx256,
5865         bdver1_ssecvt_cvtss2sd_load, bdver1_ssecvt_cvtss2sd,
5866         bdver1_sseicvt_cvtsi2sd_load, bdver1_sseicvt_cvtsi2sd,
5867         bdver1_ssecvt_cvtpd2ps_load, bdver1_ssecvt_cvtpd2ps,
5868         bdver1_ssecvt_cvtdq2ps_load, bdver1_ssecvt_cvtdq2ps,
5869         bdver1_ssecvt_cvtdq2pd_load, bdver1_ssecvt_cvtdq2pd,
5870         bdver1_ssecvt_cvtps2pd_load, bdver1_ssecvt_cvtps2pd,
5871         bdver1_ssecvt_cvtsX2si_load, bdver1_ssecvt_cvtsX2si,
5872         bdver1_ssecvt_cvtpd2pi_load, bdver1_ssecvt_cvtpd2pi,
5873         bdver1_ssecvt_cvtpd2dq_load, bdver1_ssecvt_cvtpd2dq,
5874         bdver1_ssecvt_cvtps2pi_load, bdver1_ssecvt_cvtps2pi,
5875         bdver1_ssemuladd_load_256, bdver1_ssemuladd_256,
5876         bdver1_ssemuladd_load, bdver1_ssemuladd, bdver1_sseimul_load,
5877         bdver1_sseimul, bdver1_sseiadd_load, bdver1_sseiadd,
5878         bdver1_ssediv_double_load_256, bdver1_ssediv_double_256,
5879         bdver1_ssediv_single_load_256, bdver1_ssediv_single_256,
5880         bdver1_ssediv_double_load, bdver1_ssediv_double,
5881         bdver1_ssediv_single_load, bdver1_ssediv_single, bdver1_sseins):
5882         Add "bdver2" attribute.
5883
5884 2012-02-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5885
5886         * config/s390/s390.c (s390_option_override): Make -mhard-dfp the
5887         default if possible and not specified otherwise.
5888
5889 2012-02-21  Richard Guenther  <rguenther@suse.de>
5890
5891         PR middle-end/52314
5892         * gimplify.c (create_tmp_from_val): Use the main variant type
5893         for the type of the temporary we create.
5894
5895 2012-02-21  Richard Guenther  <rguenther@suse.de>
5896
5897         PR tree-optimization/52324
5898         * gimplify.c (gimplify_expr): When re-gimplifying expressions
5899         do not gimplify a MEM_REF address operand if it is already
5900         in suitable form.
5901
5902 2012-02-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5903
5904         * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace
5905         TARGET_HARD_FLOAT with TARGET_HARD_DFP.
5906
5907 2012-02-21  Richard Guenther  <rguenther@suse.de>
5908
5909         * tree-vect-stmts.c (vectorizable_load): Use pre-computed
5910         nested_in_vect_loop.
5911
5912 2012-02-21  Jakub Jelinek  <jakub@redhat.com>
5913
5914         PR tree-optimization/52318
5915         * gimple-fold.c (gimplify_and_update_call_from_tree): Add
5916         vdef also to non-pure/const call stmts in the sequence.
5917
5918 2012-02-20  David S. Miller  <davem@davemloft.net>
5919
5920         * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we
5921         don't use the "rd %pc" instruction on v9 for PIC register loads.
5922
5923 2012-02-20  Aldy Hernandez  <aldyh@redhat.com>
5924
5925         PR middle-end/52141
5926         * trans-mem.c (ipa_tm_scan_irr_block): Error out on GIMPLE_ASM's
5927         in a transaction safe function.
5928
5929 2012-02-20  Kai Tietz  <ktietz@redhat.com>
5930
5931         PR target/52238
5932         * stor-layout.c (place_field): Handle desired_align for
5933         ms-bitfields, too.
5934
5935 2012-02-20  Richard Guenther  <rguenther@suse.de>
5936
5937         PR tree-optimization/52298
5938         * tree-vect-stmts.c (vectorizable_store): Properly use
5939         STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
5940         outer loops.
5941         (vectorizable_load): Likewise.
5942         * tree-vect-data-refs.c (vect_analyze_data_ref_access):
5943         Access DR_STEP after ensuring it is not NULL.
5944
5945 2012-02-20  Jakub Jelinek  <jakub@redhat.com>
5946
5947         PR tree-optimization/52286
5948         * fold-const.c (fold_binary_loc): For (X & C1) | C2
5949         optimization use double_int_to_tree instead of build_int_cst_wide,
5950         rewrite to use double_int vars.
5951
5952 2012-02-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5953
5954         PR target/50166
5955         * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Require gcc_SUN_LD_VERSION.
5956         Define _start.
5957         Remove -e 0 from $gcc_cv_ld invocation.
5958         Only use __GLIBC_PREREQ if defined.
5959         Enable on Solaris since Solaris 8 patch.
5960         (gcc_SUN_LD_VERSION): New macro.
5961         * configure.ac (ld_ver) <*-*-solaris2*>: Refer to
5962         gcc_SUN_LD_VERSION for version number format.
5963         * configure: Regenerate.
5964         * varasm.c (get_elf_initfini_array_priority_section): Set
5965         SECTION_NOTYPE for non-default priority.
5966         Use get_section instead of get_unnamed_section to emit
5967         .init_array/.fini_array with default priority.
5968
5969 2012-02-19  Richard Sandiford  <rdsandiford@googlemail.com>
5970
5971         * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
5972         (mips_get_tp): Set it.  Record that __mips16_rdhwr binds locally.
5973         (mips_start_unique_function, mips_output_mips16_rdhwr)
5974         (mips_code_end): New functions.
5975         (TARGET_ASM_CODE_END): Define.
5976
5977 2012-02-19  Richard Sandiford  <rdsandiford@googlemail.com>
5978
5979         * config/mips/mips.c (mips16_build_call_stub): Add CFI information
5980         to stubs with non-sibling calls.
5981
5982 2012-02-18  Sandra Loosemore  <sandra@codesourcery.com>
5983
5984         * doc/invoke.texi (-fira-* options): Copy-edit.
5985         (ira-* parameters): Copy-edit.
5986
5987 2012-02-17  Sandra Loosemore  <sandra@codesourcery.com>
5988
5989         * doc/invoke.texi: Minor copy-edits to bring into conformance with
5990         GCC coding conventions.
5991
5992 2012-02-17  Sandra Loosemore  <sandra@codesourcery.com>
5993
5994         * doc/invoke.texi: Consistently hyphenate "big-endian"/"little-endian"
5995         when used as adjectives.
5996
5997 2012-02-16  Sandra Loosemore  <sandra@codesourcery.com>
5998
5999         * doc/invoke.texi: Clean up "that"/"which" confusion.
6000
6001 2012-02-17  Steven Bosscher  <steven@gcc.gnu.org>
6002
6003         * system.h: Poison SMALL_REGISTER_CLASSES
6004         * config/rl78/rl78.h: Replace SMALL_REGISTER_CLASSES with hook.
6005         * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES.
6006
6007 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
6008
6009         PR tree-optimization/52285
6010         * tree-tailcall.c (find_tail_calls): Ignore gimple_clobber_p stmts
6011         when deciding if a call is a tail call or tail recursion.
6012
6013 2012-02-16  Kai Tietz  <ktietz@redhat.com>
6014
6015         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
6016         interger-constant displacement for UNSPEC_PCREL.
6017
6018 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
6019
6020         PR rtl-optimization/52208
6021         * ira-costs.c (scan_one_insn): Don't decrease mem_cost
6022         for MEMs with REG_EQUIV, if the MEM isn't general_operand.
6023
6024         PR tree-optimization/52255
6025         * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): If
6026         loop->header has virtual PHI, but exit_e->dest doesn't, add
6027         virtual PHI to exit_e->dest and adjust all uses after the loop.
6028
6029         PR debug/52260
6030         * dwarf2out.c (copy_decls_walk): Fill in *slot before traversing
6031         children with clone_tree_hash, not after it.
6032
6033 2012-02-16  Iain Sandoe  <iains@gcc.gnu.org>
6034
6035         * config/darwin.h (ASM_OUTPUT_LABELREF): Add user label prefix for
6036         extended identifiers.
6037
6038 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
6039
6040         PR middle-end/51929
6041         * cgraphunit.c (verify_edge_corresponds_to_fndecl): If node is
6042         a same_body_alias, also test whether e->callee isn't a former
6043         or current clone of the decl this is a same body alias of.
6044
6045         PR translation/52264
6046         * cgraphunit.c (verify_cgraph_node): Fix a typo.
6047
6048 2012-02-15  Sandra Loosemore  <sandra@codesourcery.com>
6049
6050         * doc/invoke.texi: Clean up "n-bit/byte/word" modifiers.
6051
6052 2012-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
6053
6054         PR target/52199
6055         * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
6056         force_reg instead of copy_to_reg for better optimization.  Force
6057         non-register or memory operands into a register.
6058
6059 2012-02-15  Andrew MacLeod  <amacleod@redhat.com>
6060
6061         * extend.texi: Reserve upper bits of memory model for future use.
6062
6063 2012-01-15  Georg-Johann Lay  <avr@gjlay.de>
6064             Anatoly Sokolov <aesok@post.ru>
6065             Eric Weddington <eric.weddington@atmel.com>
6066
6067         PR target/52261
6068         * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2,
6069         avrxmega4, avrxmega5, avrxmega6, avrxmega7.
6070         Rewrite initializers for .macro.
6071         * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs:
6072         avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4
6073         atxmega32d4, atxmega32x1.
6074         avrxmega4: atxmega64a3, atxmega64d3.
6075         avrxmega5: atxmega64a1, atxmega64a1u.
6076         avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3,
6077         atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3.
6078         avrxmega7: atxmega128a1, atxmega128a1u.
6079         * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2,
6080         ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7.
6081         (struct base_arch_s): Rename reserved to xmega_p.
6082         Rename reserved2 to have_rampd.
6083         (AVR_XMEGA): New define.
6084         (AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines.
6085         (AVR_HAVE_RAMPZ): Change definition to fit xmega.
6086         * config/avr/predicates.md (io_address_operand): Take into
6087         account SFR offset.
6088         (low_io_address_operand): Ditto.
6089         (high_io_address_operand): Ditto.
6090         * config/avr/avr.md (isa): Add alternatives no_xmega, xmega.
6091         (enabled, movhi_sp_r): Use them.
6092         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use
6093         cpp_define_formatted to built-in define __AVR_ARCH__.
6094         (__AVR_XMEGA__): New built-in define.
6095         (__AVR_HAVE_RAMPD__): New built-in define.
6096         (__AVR_HAVE_RAMPX__): New built-in define.
6097         (__AVR_HAVE_RAMPY__): New built-in define.
6098         (__AVR_HAVE_RAMPZ__): Change condition when to built-in define it.
6099
6100         * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy.
6101         (avr_option_override): Initialize them.
6102         (sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx.
6103         (avr_init_expanders): Initialize them. No more block several calls.
6104         (emit_push_sfr): New static function.
6105         (avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed.
6106         Handle AVR_XMEGA.
6107         (expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed.
6108         (avr_print_operand): Print addreeses as symbols for
6109         RAMPX, RAMPY, RAMPD, CCP.
6110         (output_movhi): Handle AVR_XMEGA when writing to SP.
6111         (avr_out_movhi_mr_r_xmega): New static function.
6112         (out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA.
6113         (avr_file_start): Print symbol defines for __RAMPX__,  __RAMPY__,
6114         __RAMPD__,  __CCP__ as needed.
6115
6116         * config/avr/multilib.h: Regenerate.
6117         * config/avr/t-multilib: Regenerate.
6118         * config/avr/avr-tables.opt: Regenerate.
6119
6120 2012-02-15  Tobias Grosser <grosser@fim.uni-passau.de>
6121
6122         PR tree-optimization/50561
6123         * graphite-flattening.c (lst_project_loop): Do not
6124         remove old scattering dimensions after flattening.
6125         (lst_do_flatten): Likewise.
6126
6127 2012-02-15  Georg-Johann Lay  <avr@gjlay.de>
6128
6129         * doc/extend.texi (AVR Built-in Functions): Remove doc for
6130         __builtin_avr_map8, __builtin_avr_map16.
6131         Document __builtin_avr_insert_bits.
6132
6133         * config/avr/avr.md (map_bitsqi, map_bitshi): Remove.
6134         (insert_bits): New insn.
6135         (adjust_len.map_bits): Rename to insert_bits.
6136         (UNSPEC_MAP_BITS): Rename to UNSPEC_INSERT_BITS.
6137         * avr-protos.h (avr_out_map_bits): Remove.
6138         (avr_out_insert_bits, avr_has_nibble_0xf): New.
6139         * config/avr/constraints.md (Cxf,C0f): New.
6140         * config/avr/avr.c (avr_cpu_cpp_builtins): Remove built-in
6141         defines __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.
6142         New built-in define __BUILTIN_AVR_INSERT_BITS.
6143         * config/avr/avr.c (TARGET_FOLD_BUILTIN): New define.
6144         (enum avr_builtin_id): Add AVR_BUILTIN_INSERT_BITS.
6145         (avr_move_bits): Rewrite.
6146         (avr_fold_builtin, avr_map_metric, avr_map_decompose): New static
6147         functions.
6148         (avr_map_op_t): New typedef.
6149         (avr_map_op): New static variable.
6150         (avr_out_insert_bits, avr_has_nibble_0xf): New functions.
6151         (adjust_insn_length): Handle ADJUST_LEN_INSERT_BITS.
6152         (avr_init_builtins): Add definition for __builtin_avr_insert_bits.
6153         (bdesc_3arg, avr_expand_triop_builtin): New.
6154         (avr_expand_builtin): Use them. And handle AVR_BUILTIN_INSERT_BITS.
6155         (avr_revert_map, avr_swap_map, avr_id_map, avr_sig_map): Remove.
6156         (avr_map_hamming_byte, avr_map_hamming_nonstrict): Remove.
6157         (avr_map_equal_p, avr_map_sig_p): Remove.
6158         (avr_out_swap_bits, avr_out_revert_bits, avr_out_map_bits): Remove.
6159         (bdesc_2arg): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
6160         (adjust_insn_length): Remove handling for ADJUST_LEN_MAP_BITS.
6161         (enum avr_builtin_id): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
6162         (avr_init_builtins): Remove __builtin_avr_map8, __builtin_avr_map16.
6163         (avr_expand_builtin): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
6164
6165 2012-02-14  Bernd Schmidt  <bernds@codesourcery.com>
6166
6167         * config/c6x/c6x.md (reserve_cycles): New attribute.
6168         * config/c6x/c6x.c (c6x_sched_reorder_1): Ensure insns we predicate
6169         don't reserve functional units after the branch occurs.
6170
6171 2012-02-14  Aldy Hernandez  <aldyh@redhat.com>
6172
6173         PR middle-end/52142
6174         * ipa-inline.c (can_inline_edge_p): Do not inline tm_pure
6175         functions into non-tm_pure functions.
6176
6177 2012-02-14  Eric Botcazou  <ebotcazou@adacore.com>
6178
6179         PR lto/52178
6180         * gimple.c (iterative_hash_gimple_type): Use RECORD_OR_UNION_TYPE_P.
6181         (iterative_hash_canonical_type): Likewise.
6182         * tree-ssa-pre.c (fini_pre): Clean up the CFG only after purging all
6183         the dead edges.
6184
6185 2012-02-14  Bernd Schmidt  <bernds@codesourcery.com>
6186
6187         * haifa-sched.c (prune_ready_list): Ensure that if there is a
6188         sched-group insn, it either remains alone or the entire list is pruned.
6189
6190 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
6191
6192         * doc/install.texi (Prerequisites): Fix grammar.
6193         (Configuration): Likewise.
6194
6195 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
6196
6197         * doc/install.texi (Prerequisites): Suggest building GMP, MPFR and
6198         MPC as part of GCC before describing configuring with --with-gmp etc.
6199         (Installing GCC: Configuration): --with-gmp etc. aren't needed if
6200         sources are present.
6201
6202 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
6203
6204         PR debug/51950
6205         * dwarf2out.c (clone_tree_hash): New function.
6206         (copy_decls_walk): Use it instead of clone_tree.
6207
6208 2012-02-14  Richard Guenther  <rguenther@suse.de>
6209
6210         PR tree-optimization/52244
6211         PR tree-optimization/51528
6212         * tree-sra.c (analyze_access_subtree): Only create INTEGER_TYPE
6213         replacements for integral types.
6214
6215 2012-02-14  Walter Lee  <walt@tilera.com>
6216
6217         * config.gcc: Handle tilegx and tilepro.
6218         * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
6219         tilegx and tilepro.
6220         Add HAVE_AS_TLS check for tilegx and tilepro.
6221         * configure: Regenerate.
6222         * doc/contrib.texi: Add Mat Hostetter and self.
6223         * doc/extend.texi (TILE-Gx Built-in Functions): New node.
6224         Document instruction intrinsics and network accessing intrinsics.
6225         (TILEPro Built-in Functions): New node.  Document instruction
6226         intrinsics and network accessing intrinsics.
6227         * doc/install.texi (Specific, tilegx-*-linux*): Document it.
6228         (Specific, tilepro-*-linux*): Likewise.
6229         * doc/invoke.texi (TILE-Gx Options): New section.
6230         (TILEPro Options): New section.
6231         * doc/md.texi (TILE-Gx): New section.
6232         (TILEPro): New section.
6233         * common/config/tilegx/tilegx-common.c: New file.
6234         * common/config/tilepro/tilepro-common.c: New file.
6235         * config/tilegx/constraints.md: New file.
6236         * config/tilegx/linux.h: New file.
6237         * config/tilegx/mul-tables.c: New file.
6238         * config/tilegx/predicates.md: New file.
6239         * config/tilegx/sync.md: New file.
6240         * config/tilegx/t-tilegx: New file.
6241         * config/tilegx/tilegx-builtins.h: New file.
6242         * config/tilegx/tilegx-c.c: New file.
6243         * config/tilegx/tilegx-generic.md: New file.
6244         * config/tilegx/tilegx-modes.def: New file.
6245         * config/tilegx/tilegx-multiply.h: New file.
6246         * config/tilegx/tilegx-protos.h: New file.
6247         * config/tilegx/tilegx.c: New file.
6248         * config/tilegx/tilegx.h: New file.
6249         * config/tilegx/tilegx.md: New file.
6250         * config/tilegx/tilegx.opt: New file.
6251         * config/tilepro/constraints.md: New file.
6252         * config/tilepro/gen-mul-tables.cc: New file.
6253         * config/tilepro/linux.h: New file.
6254         * config/tilepro/mul-tables.c: New file.
6255         * config/tilepro/predicates.md: New file.
6256         * config/tilepro/t-tilepro: New file.
6257         * config/tilepro/tilepro-builtins.h: New file.
6258         * config/tilepro/tilepro-c.c: New file.
6259         * config/tilepro/tilepro-generic.md: New file.
6260         * config/tilepro/tilepro-modes.def: New file.
6261         * config/tilepro/tilepro-multiply.h: New file.
6262         * config/tilepro/tilepro-protos.h: New file.
6263         * config/tilepro/tilepro.c: New file.
6264         * config/tilepro/tilepro.h: New file.
6265         * config/tilepro/tilepro.md: New file.
6266         * config/tilepro/tilepro.opt: New file.
6267
6268 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
6269
6270         PR tree-optimization/52210
6271         * tree-vect-slp.c (vect_get_and_check_slp_defs): Call
6272         vect_model_simple_cost with two entry vect_def_type array instead
6273         of an address of dt.
6274
6275 2012-02-14  Richard Guenther  <rguenther@suse.de>
6276
6277         PR lto/52178
6278         * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
6279         Do not stream DECL_QUALIFIER.
6280         * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
6281         * tree.c (free_lang_data_in_decl): Free DECL_QUALIFIER.
6282         (find_decls_types_r): Do not walk DECL_QUALIFIER.
6283
6284 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
6285
6286         PR c/52181
6287         * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to
6288         newdecl.
6289
6290 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
6291
6292         PR bootstrap/52172
6293         * cselib.h (cselib_subst_to_values_from_insn): New prototype.
6294         * cselib.c (cselib_subst_to_values_from_insn): New function.
6295         * sched-deps.c (add_insn_mem_dependence,
6296         sched_analyze_1, sched_analyze_2): Use it.
6297
6298 2012-02-13  Jan Hubicka  <jh@suse.cz>
6299
6300         PR middle-end/52214
6301         * predict.c (predict_paths_for_bb): Fix thinko in prevoius patch.
6302
6303 2012-02-13  Eric Botcazou  <ebotcazou@adacore.com>
6304
6305         * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
6306         (GTM_SELF_SPECS): Define if not already defined.
6307         (driver_self_specs): Add GTM_SELF_SPECS.
6308         * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
6309         (GTM_SELF_SPECS): Define.
6310         * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
6311         * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
6312
6313 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
6314
6315         * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
6316         away if seen.
6317
6318         * cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL.
6319
6320         PR middle-end/52230
6321         * omp-low.c (expand_omp_for): If a static schedule without chunk size
6322         has NULL region->cont, force fd.chunk_size to be integer_zero_node.
6323
6324 2012-02-13  Andrew MacLeod  <amacleod@redhat.com>
6325
6326         PR c/52190
6327         * doc/extend.texi : Fix another __atomic_compare_exchange typo.
6328
6329 2012-02-13  Richard Guenther  <rguenther@suse.de>
6330
6331         PR translation/52211
6332         * passes.c (enable_disable_pass): Fix typo.
6333
6334 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
6335
6336         PR middle-end/52209
6337         * expr.c (expand_expr_real_2) <case BIT_NOT_EXPR>: Only expand using
6338         XOR for reduce_bit_field if type is unsigned.
6339
6340 2012-02-12  Eric Botcazou  <ebotcazou@adacore.com>
6341
6342         * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode,
6343         disallow changes from SFmode to mode with different size in FP regs.
6344
6345 2012-02-12  Robert Millan  <rmh@gnu.org>
6346             Gerald Pfeifer <gerald@pfeifer.com>
6347
6348         * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define.
6349         Tweak comment.
6350
6351 2012-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
6352
6353         PR rtl-optimization/52175
6354         * reorg.c (fill_slots_from_thread): Don't apply add/sub optimization
6355         to frame-related instructions.
6356
6357 2012-02-10  Jason Merrill  <jason@redhat.com>
6358
6359         PR c++/51910
6360         * tlink.c (demangled_hash_entry): Change mangled to a VEC.
6361         (demangle_new_symbols): Fill it.
6362         (scan_linker_output): Walk it.
6363         (start_tweaking): Split out from scan_linker_output.
6364         (maybe_tweak): Update sym->chosen.
6365         * Makefile.in (COLLECT2_OBJS): Add vec.o and gcc-none.o
6366
6367 2012-02-11  Jakub Jelinek  <jakub@redhat.com>
6368
6369         PR debug/52132
6370         * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg.
6371
6372 2012-02-11  Uros Bizjak  <ubizjak@gmail.com>
6373
6374         * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
6375         having the same mode as previous compare.
6376
6377 2012-02-10  Eric Botcazou  <ebotcazou@adacore.com>
6378
6379         * config/sparc/sparc.c (sparc_flat_expand_prologue): Use emit_use.
6380         * config/sparc/sparc.md (UNSPECV_GOTO): Delete.
6381         (nonlocal_goto_internal): Likewise.
6382         (nonlocal_goto): Emit a use and an indirect jump directly.
6383
6384 2012-02-10  Andrew MacLeod  <amacleod@redhat.com>
6385
6386         PR c/52190
6387         * doc/extend.texi : Update comments for __atomic_compare_exchange and
6388         __atomic_{is,always}_lock_free.
6389
6390 2012-02-10  Uros Bizjak  <ubizjak@gmail.com>
6391
6392         PR target/52146
6393         * config/i386/i386.c (ix86_legitimate_address_p): Disallow
6394         negative constant address for x32.
6395
6396 2012-02-10  Richard Henderson  <rth@redhat.com>
6397
6398         * tree-ssa-dce.c (propagate_necessity): Handle GIMPLE_TRANSACTION.
6399         * tree-ssa-operands.c (parse_ssa_operands): Add virtual operands
6400         for GIMPLE_TRANSACTION.  Tidy if's into a switch.
6401
6402 2012-02-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6403             Ira Rosen  <irar@il.ibm.com>
6404
6405         PR tree-optimization/50031
6406         * targhooks.c (default_builtin_vectorization_cost): Handle
6407         vec_promote_demote.
6408         * target.h (enum vect_cost_for_stmt): Add vec_promote_demote.
6409         * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle
6410         all types of reduction and pattern statements.
6411         (vect_estimate_min_profitable_iters): Likewise.
6412         * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function.
6413         (vect_get_load_cost): Use vec_perm for permutations; add dump logic
6414         for explicit realigns.
6415         (vectorizable_conversion): Call vect_model_promotion_demotion_cost.
6416         * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
6417         vec_promote_demote.
6418         * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
6419         * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
6420         vec_perm for VSX and handle vec_promote_demote.
6421
6422 2012-02-10  Jakub Jelinek  <jakub@redhat.com>
6423
6424         PR middle-end/52177
6425         * builtins.c (fold_builtin_atomic_always_lock_free,
6426         expand_builtin_atomic_always_lock_free,
6427         fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free):
6428         Return and/or test boolean_true_node/boolean_false_node instead of
6429         integer_one_node/integer_zero_node.
6430
6431 2012-02-10  Jan Hubicka  <jh@suse.cz>
6432
6433         PR middle-end/48600
6434         * predict.c (predict_paths_for_bb): Prevent looping.
6435         (predict_paths_leading_to_edge, predict_paths_leading_to): Update.
6436
6437 2012-02-10  Roman Zhuykov  <zhroma@ispras.ru>
6438
6439         * config/arm/arm.c (output_move_double): In one case properly
6440         count number of instructions that will be emitted.
6441
6442 2012-02-10  Richard Guenther  <rguenther@suse.de>
6443
6444         PR translation/52193
6445         * cgraphunit.c (cgraph_mark_functions_to_output): Fix typo.
6446
6447 2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
6448
6449         PR middle-end/52140
6450         * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
6451
6452 2012-02-09  Jakub Jelinek  <jakub@redhat.com>
6453
6454         PR debug/52165
6455         * var-tracking.c (emit_note_insn_var_location): If
6456         EMIT_NOTE_BEFORE_INSN and insn is NOTE_INSN_CALL_ARG_LOCATION,
6457         emit it before next non-NOTE_INSN_CALL_ARG_LOCATION
6458         non-NOTE_DURING_CALL_P insn.
6459
6460 2012-02-09  Bin Cheng  <bin.cheng@arm.com>
6461
6462         PR middle-end/51867
6463         * builtins.c (expand_builtin): Don't check DECL_ASSEMBLER_NAME_SET_P.
6464
6465 2012-02-08  Magnus Granberg  <zorry@gentoo.org>
6466
6467         PR driver/48524
6468         * gcc.c (switch_matches) Support switches with separated form,
6469         -D and -U.
6470
6471 2012-02-08  Georg-Johann Lay  <avr@gjlay.de>
6472
6473         * config/avr/avr.md (SREG_ADDR): Remove constant definition.
6474         (SP_ADDR): Ditto.
6475         (RAMPZ_ADDR): Ditto.
6476         * config/avr/avr.c (avr_addr_t): New typedef.
6477         (avr_addr): New struct to hold RAM address of SPL, SPH, RAMPZ, SREG.
6478         (avr_init_expanders): Initialize it.
6479         (expand_prologue): Use avr_addr instead of RAMPZ_ADDR, SP_ADDR,
6480         SREG_ADDR.
6481         (expand_epilogue): Ditto.
6482         (avr_print_operand): Ditto.
6483         (avr_file_start): Ditto.
6484         (avr_emit_movmemhi): Ditto.
6485
6486 2012-02-08  Richard Guenther  <rguenther@suse.de>
6487
6488         PR tree-optimization/46886
6489         * tree-flow.h (do_while_loop_p): Declare.
6490         * tree-ssa-loop-ch.c (do_while_loop_p): Export.
6491         * tree-parloops.c (parallelize_loops): Only parallelize do-while loops.
6492
6493 2012-02-08  Andrew MacLeod  <amacleod@redhat.com>
6494
6495         * optabs.c (expand_atomic_load): Do not assume compare_and_swap will
6496         always succeed for integers larger than a native word.
6497
6498 2012-02-08  Richard Guenther  <rguenther@suse.de>
6499
6500         PR rtl-optimization/52170
6501         * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to
6502         properly handle integer vector modes.
6503
6504 2012-02-08  Jakub Jelinek  <jakub@redhat.com>
6505
6506         PR gcov-profile/52150
6507         * coverage.c: Include target.h.
6508         (build_var): Call targetm.strip_name_encoding on the assembler name.
6509         Change one _ into . or $ if the target allows it.
6510         * Makefile.in (coverage.o): Depend on $(TARGET_H).
6511
6512         PR rtl-optimization/52139
6513         * cfgrtl.c (cfg_layout_merge_blocks): If BB_END
6514         is a BARRIER after emit_insn_after_noloc, move BB_END
6515         to the last non-BARRIER insn before it.
6516
6517 2012-02-07  Richard Sandiford  <rdsandiford@googlemail.com>
6518
6519         PR middle-end/24306
6520         * config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function.
6521         (mips_gimplify_va_arg_expr): Call it instead of
6522         std_gimplify_va_arg_expr.
6523
6524 2012-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
6525
6526         * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error
6527         message for -mno-pointers-to-nested-function.
6528
6529 2012-02-07  Eric Botcazou  <ebotcazou@adacore.com>
6530
6531         PR middle-end/51994
6532         * expr.c (get_inner_reference): If there is an offset, add a negative
6533         bit position to it (if any).
6534
6535 2012-02-07  Jakub Jelinek  <jakub@redhat.com>
6536
6537         PR rtl-optimization/52060
6538         * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables,
6539         copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already
6540         before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy
6541         and/or i0src_copy2 when needed.
6542
6543 2012-02-07  Jakub Jelinek  <jakub@redhat.com>
6544
6545         * gcc.c (main): Don't look for lto-wrapper or lto-wrapper
6546         or LTOPLUGINSONAME if have_c.
6547
6548         * config/freebsd-spec.h: Add comment about what macros can be defined
6549         in this header.
6550         (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): Don't define here.
6551         * config/freebsd.h (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): But
6552         here instead.
6553
6554 2012-02-07  Richard Guenther  <rguenther@suse.de>
6555
6556         * gimple-pretty-print.c (dump_gimple_phi): Avoid excessive
6557         newline in -alias dumps.
6558
6559 2012-02-07  Kai Tietz  <ktietz@redhat.com>
6560             Dave Korn  <dave.korn.cygwin@gmail.com>
6561
6562         PR target/40068
6563         * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
6564         Take care that typinfo gets dllexport-attribute.
6565
6566 2012-02-07  Jakub Jelinek  <jakub@redhat.com>
6567
6568         PR middle-end/52074
6569         * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
6570         if modifier < EXPAND_SUM call force_operand on the result.
6571
6572 2012-02-07  Joern Rennecke  <joern.rennecke@embecosm.com>
6573
6574         * config/epiphany/epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine,
6575         adding __forwarder_dst__ prefix if a forwarder_section attribute is
6576         present.
6577         (epiphany_function_type): Replace types for specific interrupts with
6578         EPIPHANY_FUNCTION_INTERRUPT.
6579         (EPIPHANY_INTERRUPT_P): Update.
6580         * config/epiphany/epiphany.c (epiphany_handle_forwarder_attribute):
6581         New static function.
6582         (epiphany_attribute_table) <interrupt>: min_len is 0, max_len is 9.
6583         <disinterrupt>: Affects type identity.
6584         (epiphany_handle_interrupt_attribute): Handle variable number of
6585         arguments.
6586         (epiphany_compute_function_type): Update for new
6587         epiphany_function_type definition.
6588         (epiphany_expand_prologue): Don't save (reg:DI GPR_0) for interrupt
6589         handlers with a longcall forwarder.
6590         (epiphany_start_function): Handle multiple interrupt arguments and/or
6591         forwarder_section attribute.
6592
6593         * config/epiphany/epiphany.h (LIB_SPEC): Link libc again after
6594         libgloss.
6595
6596 2012-02-07  Alan Modra  <amodra@gmail.com>
6597
6598         PR target/52107
6599         * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
6600         subregs of TFmode.
6601
6602 2012-02-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6603
6604         PR tree-optimization/50969
6605         * tree-vect-stmts.c (vect_model_store_cost): Correct statement cost to
6606         use vec_perm rather than vector_stmt.
6607         (vect_model_load_cost): Likewise.
6608         * config/i386/i386.c (ix86_builtin_vectorization_cost): Change cost of
6609         vec_perm to be the same as other vector statements.
6610         * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
6611         cost of vec_perm for TARGET_VSX.
6612
6613 2012-02-06  Richard Guenther  <rguenther@suse.de>
6614
6615         PR tree-optimization/52115
6616         * tree-sra.c (access_has_replacements_p): New function.
6617         (sra_modify_assign): Use it to decide whether a use is uninitialized.
6618
6619 2012-02-06  Patrick Marlier  <patrick.marlier@gmail.com>
6620
6621         PR middle-end/52047
6622         * trans-mem.c (expand_call_tm): Add an assertion.
6623         * calls.c (flags_from_decl_or_type): Add ECF_TM_PURE to 'no vops'
6624         functions.
6625
6626 2012-02-06  Richard Guenther  <rguenther@suse.de>
6627
6628         PR tree-optimization/50955
6629         * tree-ssa-loop-ivopts.c (get_computation_cost_at): Artificially
6630         raise cost of expressions that replace an address with an
6631         expression based on a different pointer.
6632
6633 2012-02-06  Jakub Jelinek  <jakub@redhat.com>
6634
6635         PR target/52129
6636         * calls.c (mem_overlaps_already_clobbered_arg_p): If val is
6637         CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it.
6638
6639 2012-02-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
6640
6641         PR c++/48680
6642         * doc/invoke.texi (C++ Dialect Options): Use @option markup for
6643         -Weffc++ and specify guidelines come from second edition.
6644
6645 2012-02-05  Richard Sandiford  <rdsandiford@googlemail.com>
6646
6647         * config/mips/mips.md (sibcall_internal, sibcall_value_internal)
6648         (sibcall_value_multiple_internal, call_split, call_internal_direct)
6649         (call_direct_split, call_value_split, call_value_internal_direct)
6650         (call_value_direct_split, call_value_multiple_split): Use jal and
6651         jal_macro attributes.
6652
6653 2012-02-05  Richard Sandiford  <rdsandiford@googlemail.com>
6654
6655         * reload1.c (reload_regs_reach_end_p): Replace with...
6656         (reload_reg_rtx_reaches_end_p): ...this function.
6657         (new_spill_reg_store): Update commentary.
6658         (emit_input_reload_insns): Don't clear new_spill_reg_store here.
6659         (emit_output_reload_insns): Check reload_reg_rtx_reaches_end_p
6660         before setting new_spill_reg_store.
6661         (emit_reload_insns): Use a separate loop to clear new_spill_reg_store.
6662         Use reload_reg_rtx_reaches_end_p instead of reload_regs_reach_end_p.
6663         Also use reload_reg_rtx_reaches_end_p when reading new_spill_reg_store
6664         for non-spill reload registers.
6665
6666 2012-02-05  Ira Rosen  <irar@il.ibm.com>
6667
6668         PR tree-optimization/52091
6669         * tree-vectorizer.h (vect_is_simple_use): Add an argument.
6670         (vect_is_simple_use_1): Likewise.
6671         * tree-vect-loop.c (vectorizable_reduction): Update calls
6672         to vect_is_simple_use_1 and vect_is_simple_use.
6673         (vectorizable_live_operation): Likewise.
6674         * tree-vect-patterns.c (widened_name_p,
6675         vect_recog_vector_vector_shift_pattern, check_bool_pattern): Likewise.
6676         * tree-vect-stmts.c (process_use, vect_get_vec_def_for_operand,
6677         vectorizable_call, vectorizable_conversion, vectorizable_assignment,
6678         vectorizable_shift,vectorizable_operation, vectorizable_store,
6679         vectorizable_load): Likewise.
6680         (vect_is_simple_cond): Add an argument, pass it to
6681         vect_is_simple_use_1.
6682         (vectorizable_condition): Update calls to vect_is_simple_cond,
6683         vect_is_simple_use.
6684         (vect_is_simple_use): Add an argument, the statement in which
6685         OPERAND is used.  Check that if OPERAND's def stmt is a double
6686         reduction phi node, the use is a phi node too.
6687         (vect_is_simple_use_1): Add an argument, pass it to
6688         vect_is_simple_use.
6689         * tree-vect-slp.c (vect_get_and_check_slp_defs): Update a call
6690         to vect_is_simple_use.
6691
6692 2012-02-04  Jakub Jelinek  <jakub@redhat.com>
6693
6694         PR rtl-optimization/52095
6695         * modulo-sched.c (dump_insn_locator): New function.
6696         (loop_canon_p, sms_schedule): Use it.
6697
6698         PR rtl-optimization/52113
6699         * lower-subreg.c (decompose_multiword_subregs): Call recog_memoized
6700         even for decomposable shift/zext insns.
6701
6702 2012-02-03  Jakub Jelinek  <jakub@redhat.com>
6703             Zdenek Dvorak  <ook@ucw.cz>
6704
6705         PR rtl-optimization/52092
6706         * loop-unswitch.c (unswitch_single_loop): Call copy_rtx_if_shared
6707         on get_iv_value result.
6708
6709 2012-02-02  Andrew Pinski  <apinski@cavium.com>
6710
6711         PR middle-end/47982
6712         PR middle-end/43967
6713         * doc/libgcc.texi (__udivmoddi4/__udivmodti4): Fix documentation typo.
6714
6715 2012-02-02  Jakub Jelinek  <jakub@redhat.com>
6716
6717         PR middle-end/48071
6718         * diagnostic.c (diagnostic_finish): Remove trailing newlines.
6719
6720 2012-02-02  Vladimir Makarov  <vmakarov@redhat.com>
6721
6722         PR rtl-optimization/49800
6723         * haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs.
6724         (sched_finish): Call regstat_free_n_sets_and_refs.
6725
6726 2012-02-02  Jia Liu  <proljc@gmail.com>
6727
6728         * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather
6729         than operand 2.
6730
6731 2012-02-02  Jan Hubicka  <jh@suse.cz>
6732             Tom de Vries  <tom@codesourcery.com>
6733
6734         PR middle-end/51998
6735         * cgraphunit.c (cgraph_analyze_function): Break cyclic aliases.
6736         * varpool.c (varpool_analyze_pending_decls): Likewise.
6737
6738 2012-02-02  Sumanth G <sumanth.gundapaneni@kpitcummins.com>
6739             Jayant R Sonar <jayant.sonar@kpitcummins.com>
6740
6741         * config.gcc: Add cr16-* support.
6742
6743         * doc/extend.texi: Document cr16 extensions.
6744         * doc/install.texi: Document cr16 install.
6745         * doc/invoke.texi: Document cr16 options.
6746         * doc/md.texi: Document cr16 constraints.
6747
6748         * common/config/cr16/cr16-common.c: New file.
6749         * config/cr16/cr16.c: New file.
6750         * config/cr16/cr16.h: New file.
6751         * config/cr16/cr16.md: New file.
6752         * config/cr16/cr16.opt: New file.
6753         * config/cr16/cr16-protos.h: New file.
6754         * config/cr16/predicates.md: New file.
6755         * config/cr16/constraints.md: New file.
6756         * config/cr16/t-cr16: New file.
6757
6758 2012-02-02  Jakub Jelinek  <jakub@redhat.com>
6759
6760         PR target/52086
6761         * config/i386/i386.md (*addqi_2 peephole with SImode addition): Check
6762         that operands[2] is either immediate, or q_regs_operand.
6763
6764         PR tree-optimization/52073
6765         * tree-vect-stmts.c (vect_mark_relevant): When checking uses of
6766         a pattern stmt for pattern uses, ignore uses outside of the loop.
6767
6768 2012-02-01  Georg-Johann Lay  <avr@gjlay.de>
6769
6770         * config/avr/avr.c: Resolve all AS1 and AS2 macros.
6771         * config/avr/avr.h (AS1, AS2, AS2C, AS3): Remove.
6772         (OUT_AS1, OUT_AS2): Remove.
6773
6774 2012-02-01  Georg-Johann Lay  <avr@gjlay.de>
6775
6776         PR rtl-optimization/51374
6777         * combine.c (can_combine_p): Don't allow volatile_refs_p insns
6778         to cross other volatile_refs_p insns.
6779
6780 2012-02-01  Richard Guenther  <rguenther@suse.de>
6781
6782         * doc/invoke.texi (fno-inline): Clarify documentation.
6783         (finline-small-functions): Likewise.
6784         (finline-functions): Likewise.
6785         * common.opt (finline): Adjust comment and documentation.
6786         (finline-small-functions): Clarify documentation.
6787         (finline-functions): Likewise.
6788         (finline-functions-called-once): Likewise.
6789
6790 2012-02-01  Tristan Gingold  <gingold@adacore.com>
6791
6792         * c-typeck.c (composite_type): Keep mode for pointers.
6793
6794 2012-01-31  Richard Sandiford  <rdsandiford@googlemail.com>
6795
6796         * function.h (regno_reg_rtx): Adjust comment.
6797         * reginfo.c (init_reg_modes_target): Only use the previous mode
6798         if it fits within one register.  Remove MIPS comment.
6799
6800 2012-01-31  Jakub Jelinek  <jakub@redhat.com>
6801
6802         PR bootstrap/52058
6803         * combine.c (do_SUBST_LINK, SUBST_LINK): Guard with #ifndef HAVE_cc0.
6804
6805 2012-01-31  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6806
6807         * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag
6808         to srak instruction.
6809
6810 2012-01-31  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
6811
6812         * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition.
6813
6814 2012-01-31  Jakub Jelinek  <jakub@redhat.com>
6815
6816         PR bootstrap/52041
6817         PR bootstrap/52039
6818         PR target/51974
6819         * ipa-prop.c (detect_type_change_1): Call ao_ref_init.
6820
6821 2012-01-31  Richard Guenther  <rguenther@suse.de>
6822
6823         PR tree-optimization/51528
6824         * tree-sra.c (sra_modify_assign): Avoid copy-in/out for aggregate
6825         assigns.
6826
6827 2012-01-31  Jakub Jelinek  <jakub@redhat.com>
6828
6829         PR bootstrap/52041
6830         PR bootstrap/52039
6831         PR target/51974
6832         * ree.c (add_removable_extension): Change def_map argument
6833         to unsigned *, store in def_map 1 + offset into *insn_list vector
6834         instead of pointers into the vector.
6835         (find_removable_extensions): Adjust caller.
6836
6837 2012-01-30  Georg-Johann Lay  <avr@gjlay.de>
6838
6839         * config/avr/avr.md: Resolve all AS1 and AS2 macros.
6840         Transform all "* quoted-c-code" to { c-code }.
6841         Remove redundant test for "optimize" in combine patterns.
6842         Move (include "avr-dimode.md") to end of file.
6843
6844 2012-01-30  Bin Cheng  <bin.cheng@arm.com>
6845
6846         PR target/51835
6847         * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
6848         for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
6849
6850 2012-01-30  Richard Guenther  <rguenther@suse.de>
6851
6852         PR tree-optimization/52028
6853         * tree-loop-distribution.c (ldist_gen): Properly update
6854         virtual SSA form.
6855
6856 2012-01-30  Jakub Jelinek  <jakub@redhat.com>
6857
6858         PR debug/52027
6859         * dwarf2out.c (dwarf2out_switch_text_section): Don't call
6860         set_cur_line_info_table if not emitting debug info.
6861
6862         PR tree-optimization/52046
6863         * tree-vect-patterns.c (check_bool_pattern): Give up if
6864         a comparison could throw.
6865
6866         PR debug/52048
6867         * tree-ssa-tail-merge.c (local_def): Ignore debug uses.
6868
6869 2012-01-30  Richard Guenther  <rguenther@suse.de>
6870
6871         PR tree-optimization/52045
6872         * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Update
6873         SSA form if cfgcleanup did anything.
6874
6875 2012-01-30  Richard Guenther  <rguenther@suse.de>
6876
6877         PR tree-optimization/52045
6878         * ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg
6879         before computing final todo.
6880
6881 2012-01-30  Richard Guenther  <rguenther@suse.de>
6882
6883         PR tree-optimization/51528
6884         * tree-sra.c (sra_modify_assign): Re-factor in preparation
6885         for PR51528 fix.
6886
6887 2012-01-30  Paolo Bonzini  <bonzini@gnu.org>
6888
6889         * df-problems.c (df_kill_notes): Check that the use refers
6890         to the note under examination.
6891
6892 2012-01-30  Eric Botcazou  <ebotcazou@adacore.com>
6893
6894         PR target/51920
6895         * config/sparc/sparc.c (vector_init_fpmerge): Remove INNER_MODE
6896         parameter and use short-lived pseudos.
6897         (vector_init_faligndata): Remove INNER_MODE parameter and use loop.
6898         (sparc_expand_vector_init): Const-ify local variables and adjust
6899         calls to above functions.
6900
6901 2012-01-30  Georg-Johann Lay  <avr@gjlay.de>
6902
6903         * config/avr/avr.c (out_movqi_mr_r): Fix length computation.
6904
6905 2012-01-29  Sandra Loosemore  <sandra@codesourcery.com>
6906
6907         * doc/invoke.texi: Make usage of "compile time" and
6908         "run time"/"runtime" consistent throughout the file.
6909
6910 2012-01-29  Uros Bizjak  <ubizjak@gmail.com>
6911
6912         * config/alpha/alpha.c (alpha_option_override): Default to
6913         full IEEE compliance mode for Go language.
6914
6915 2011-01-29  Tijl Coosemans  <tijl@coosemans.org>
6916
6917         * config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP]
6918         (LINK_SSP_SPEC): Define.
6919
6920 2012-01-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6921
6922         PR target/51871
6923         * config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export
6924         stubs.
6925
6926 2012-01-28  Sandra Loosemore  <sandra@codesourcery.com>
6927
6928         * doc/invoke.texi: Correct hyphenation of "floating point",
6929         "double precision", and related terminology throughout the file.
6930
6931 2012-01-28  Jakub Jelinek  <jakub@redhat.com>
6932
6933         PR target/52006
6934         * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
6935         arm_general_register_operand predicate for operand 2 instead of
6936         register_operand.
6937
6938 2012-01-27  Ian Lance Taylor  <iant@google.com>
6939
6940         PR go/47656
6941         * builtins.def (BUILT_IN_INIT_HEAP_TRAMPOLINE): Define.
6942         * builtins.c (expand_builtin_init_trampoline): Add onstack
6943         parameter.  Change caller.
6944         (expand_builtin): Handle BUILT_IN_INIT_HEAP_TRAMPOLINE.
6945         * tree.c (build_common_builtin_nodes): Declare
6946         __builtin_init_heap_trampoline.
6947
6948 2012-01-27  Georg-Johann Lay  <avr@gjlay.de>
6949
6950         * config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx,
6951         tmp_reg_rtx, zero_reg_rtx, all_regs_rtx, rampz_rtx): Make global.
6952         * config/avr/avr.c: Ditto.
6953         (avr_regnames): Remove because unused.
6954         * config/avr/avr.md (*cpse.ne): New peephole.
6955         (*cpse.eq): New peephole from former cpse peepholes.
6956
6957 2012-01-27  Michael Eager  <eager@eagercon.com>
6958
6959         * config/microblaze.c (microblaze_emit_compare): Correct
6960         test after pcmp instruction.
6961
6962 2012-01-27  Richard Guenther  <rguenther@suse.de>
6963
6964         PR tree-optimization/52020
6965         * tree-sra.c (sra_modify_assign): Do not transform clobbers.
6966
6967 2012-01-27  Richard Guenther  <rguenther@suse.de>
6968
6969         * ipa-pure-const.c (check_stmt): Clobbers do not make a
6970         function non-const/pure.
6971
6972 2012-01-27  Richard Guenther  <rguenther@suse.de>
6973
6974         PR tree-optimization/50444
6975         * tree-sra.c (build_ref_for_offset): Properly adjust the
6976         MEM_REF type for unaligned accesses.
6977
6978 2012-01-27  Richard Guenther  <rguenther@suse.de>
6979
6980         PR tree-optimization/50444
6981         * expr.c (mem_ref_refers_to_non_mem_p): New function.
6982         (expand_assignment): Use it.  Properly handle misaligned
6983         bases when expanding stores to component references.
6984         (expand_expr_real_1): Use mem_ref_refers_to_non_mem_p and
6985         refactor that case.
6986
6987 2012-01-27  Andrey Belevantsev  <abel@ispras.ru>
6988
6989         PR middle-end/51389
6990         * Makefile.in (tree-data-ref.o): Depend on $(PARAMS_H).
6991         * tree-data-ref.h (find_data_references_in_loop): Remove declaration.
6992         * tree-data-ref.c (find_data_references_in_loop): Make static.
6993         (compute_all_dependences): Change return type to bool.  Bail out
6994         for too many datarefs in a loop.  Move the hunk resetting the data
6995         dependences vector from ...
6996         (compute_data_dependences_for_loop): ... here.  Account for
6997         compute_all_dependences returning false.
6998         (compute_data_dependences_for_bb): Likewise.
6999         * params.def (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS): New param.
7000         * doc/invoke.texi (loop-max-datarefs-for-datadeps): Document it.
7001
7002 2012-01-27  Richard Guenther  <rguenther@suse.de>
7003
7004         PR middle-end/51959
7005         * expr.c (store_field): Use the alias-set of the scratch memory
7006         for storing to it.
7007
7008 2012-01-27  Tom de Vries  <tom@codesourcery.com>
7009
7010         PR tree-optimization/51990
7011         * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
7012         WITH_SIZE_EXPR.
7013         * tree-ssa-pre.c (create_component_ref_by_pieces_1): Same.
7014
7015 2012-01-27  Jakub Jelinek  <jakub@redhat.com>
7016
7017         PR debug/52001
7018         * var-tracking.c (reverse_op): Don't add any reverse operation
7019         if V already has any constant locations.
7020
7021 2012-01-27  Sandra Loosemore  <sandra@codesourcery.com>
7022
7023         * doc/invoke.texi: Correct usage of "command line" (noun)
7024         vs "command-line" (adjective) throughout.
7025
7026 2012-01-27  Sandra Loosemore  <sandra@codesourcery.com>
7027
7028         * doc/invoke.texi (Language Independent Options): Move
7029         -Wcoverage-mismatch blurb from here....
7030         (Warning Options): ...to here.
7031
7032 2012-01-27  Peter Bergner  <bergner@vnet.ibm.com>
7033
7034         * config/rs6000/rs6000.c (rs6000_option_override_internal):
7035         Set rs6000_always_hint to false for 476.
7036
7037 2012-01-27  Matthias Klose  <doko@ubuntu.com>
7038
7039         * gcc.c (add_sysrooted_prefix): Remove trailing dir separator from
7040           system root.
7041         * incpath.c (add_standard_paths): Likewise.
7042
7043 2012-01-27  Richard Henderson  <rth@redhat.com>
7044
7045         * config/m68k/m68k.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
7046         * config/m68k/sync.md (atomic_test_and_set): Rename from
7047         sync_test_and_setqi and adjust the operands.
7048         (atomic_test_and_set_1): Rename from sync_test_and_setqi_1
7049         and unconditionally enable.
7050
7051 2012-01-27  Richard Henderson  <rth@redhat.com>
7052
7053         * config/sparc/sparc.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
7054         * config/sparc/sync.md (atomic_test_and_set): Only handle QImode.
7055         (ldstub): Rename from ldstubqi.
7056         (ldstub<I24MODE>): Remove.
7057
7058 2012-01-27  Richard Henderson  <rth@redhat.com>
7059
7060         * target.def (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
7061         * c-cppbuiltin.c (cpp_atomic_builtins): Define
7062         __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
7063         * doc/tm.texi.in (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Add doc hook.
7064         * doc/tm.texi: Rebuild.
7065
7066 2012-01-27  Richard Henderson  <rth@redhat.com>
7067
7068         * optabs.c (gen_atomic_test_and_set): Remove default.
7069         (maybe_emit_atomic_test_and_set): Use maybe_expand_insn.
7070
7071 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
7072
7073         PR rtl-optimization/51978
7074         * ree.c (make_defs_and_copies_lists): Change set_pat type to const_rtx.
7075         (combine_reaching_defs): Likewise.
7076         (struct re_info): Remove.
7077         (add_removable_extension): Remove x and data arguments,
7078         add insn, insn_list and def_map.  Use the arguments directly
7079         instead of using struct re_info.
7080         (find_removable_extensions): Don't call add_removable_extension
7081         through note_stores, instead just call it with single_set
7082         result if non-NULL.
7083         (find_and_remove_re): Pass curr_cand->expr instead of
7084         PATTERN (curr_cand->insn) as set_pat argument to combine_reaching_defs.
7085
7086 2012-01-26  Michael Matz  <matz@suse.de>
7087
7088         PR tree-optimization/46590
7089         * cfgexpand.c: Revert last change (r183305).
7090         * gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple
7091         regs.
7092         * tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before
7093         checking for emptiness.
7094
7095 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
7096
7097         PR middle-end/51895
7098         * expr.c (expand_expr_real_1): Handle BLKmode MEM_REF of
7099         non-addressable non-BLKmode base correctly.
7100
7101 2012-01-26  Michael Matz  <matz@suse.de>
7102
7103         PR tree-optimization/48794
7104         * tree-eh.c (remove_unreachable_handlers_no_lp): Don't remove
7105         regions referenced from RESX/EH_DISPATCH.
7106
7107 2012-01-26  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7108
7109         * config/s390/s390.h: Make BRANCH_COST an option.
7110         * config/s390/s390.opt: New option -mbranch-cost.
7111
7112 2012-01-26  Richard Henderson  <rth@redhat.com>
7113
7114         Revert 2012-01-24 change:
7115         * trans-mem.c (requires_barrier): Do not instrument thread local
7116         variables and emit save/restore for them.
7117
7118 2012-01-25  Jakub Jelinek  <jakub@redhat.com>
7119
7120         PR middle-end/51986
7121         * sched-deps.c (sched_get_condition_with_rev_uncached): Don't test
7122         for pat == 0.
7123
7124 2012-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
7125
7126         * config/mips/mips.c (mips_small_data_pattern_1): Don't process
7127         ASM_OPERANDS.
7128
7129 2012-01-25  Georg-Johann Lay  <avr@gjlay.de>
7130
7131         PR target/49868
7132         Rename __pgm to __flash.
7133         Rename __pgm1 to __flash1.
7134         Rename __pgm2 to __flash2.
7135         Rename __pgm3 to __flash3.
7136         Rename __pgm4 to __flash4.
7137         Rename __pgm5 to __flash5.
7138         Rename __pgmx to __memx.
7139         * doc/extend.texi (AVR Named Address Spaces)
7140         Rename address space names as indicated above.
7141         * config/avr/avr.c (avr_addrspace): Ditto.
7142
7143         * config/avr/avr-protos.h
7144         (avr_mem_pgmx_p): Rename to avr_mem_memx_p.
7145         (avr_mem_pgm_p): Rename to avr_mem_flash_p.
7146         * config/avr/predicates.md: Ditto.
7147         * config/avr/avr.c Ditto, and
7148         (avr_decl_pgmx_p): Rename to avr_decl_memx_p.
7149         (avr_decl_pgm_p): Rename to avr_decl_flash_p.
7150
7151         * config/avr/avr.h (ADDR_SPACE_PGM): Rename to ADDR_SPACE_FLASH.
7152         (ADDR_SPACE_PGM1): Rename to ADDR_SPACE_FLASH1.
7153         (ADDR_SPACE_PGM2): Rename to ADDR_SPACE_FLASH2.
7154         (ADDR_SPACE_PGM3): Rename to ADDR_SPACE_FLASH3.
7155         (ADDR_SPACE_PGM4): Rename to ADDR_SPACE_FLASH4.
7156         (ADDR_SPACE_PGM5): Rename to ADDR_SPACE_FLASH5.
7157         (ADDR_SPACE_PGMX): Rename to ADDR_SPACE_MEMX.
7158         * config/avr/avr.c: Ditto.
7159         * config/avr/avr.md: Ditto.
7160
7161 2012-01-25  Jason Merrill  <jason@redhat.com>
7162
7163         PR c++/51992
7164         * tree.c (find_decls_types_in_node): Walk gimple_call_fntype.
7165
7166 2012-01-25  Jakub Jelinek  <jakub@redhat.com>
7167
7168         PR tree-optimization/51987
7169         * tree-data-ref.c (get_references_in_stmt): Handle references in
7170         non-volatile GIMPLE_ASM.
7171
7172 2012-01-25  Richard Guenther  <rguenther@suse.de>
7173
7174         * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both
7175         bases are dereferenced.
7176
7177 2012-01-25  Andrey Belevantsev  <abel@ispras.ru>
7178
7179         PR rtl-optimization/48374
7180         * sel-sched-ir.h (get_all_loop_exits): Check for zero successors.
7181
7182 2012-01-25  Andrey Belevantsev  <abel@ispras.ru>
7183
7184         * tree-predcom.c (tree_predictive_commoning_loop): Bail out when
7185         compute_data_dependences_for_loop returns false.
7186         * tree-parloops.c (loop_parallel_p): Likewise.
7187
7188 2012-01-25  Richard Guenther  <rguenther@suse.de>
7189
7190         * tree.h (get_pointer_alignment_1): Declare.
7191         * builtins.c (get_pointer_alignment_1): New function.
7192         (get_pointer_alignment): Use it.
7193
7194 2012-01-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
7195
7196         PR rtl-optimization/48308
7197         * combine.c (enum undo_kind): Add UNDO_LINKS.
7198         (struct undo): Add member l to other_contents and where.
7199         (do_SUBST_LINK): New.
7200         (SUBST_LINK): New.
7201         (try_combine): Handle LOG_LINKS for the dummy i1 case.
7202         (undo_all): Handle UNDO_LINKS.
7203
7204 2012-01-25  Richard Henderson  <rth@redhat.com>
7205
7206         * optabs.c (maybe_emit_atomic_test_and_set): Allow non-QImode
7207         mem inputs.
7208
7209 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
7210
7211         * optabs.c (gen_atomic_test_and_set): Use each argument.
7212
7213 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
7214
7215         * config/mips/mips-ps-3d.md (mips_addr_ps, reduc_splus_v2sf)
7216         (mips_cvt_pw_ps, mips_cvt_ps_pw, mips_mulr_ps, mips_cabs_cond_<fmt>)
7217         (mips_cabs_cond_4s, mips_cabs_cond_ps, bc1any4t, bc1any4f, bc1any2t)
7218         (bc1any2f, mips_rsqrt1_<fmt>, mips_rsqrt2_<fmt>, mips_recip1_<fmt>)
7219         (mips_recip2_<fmt>): Require TARGET_MIPS3D rather than
7220         TARGET_PAIRED_SINGLE_FLOAT.
7221
7222 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
7223
7224         * doc/rtl.texi (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
7225         (in_struct, return_val): Remove MEM documentation.
7226         * rtl.h (rtx_def): Remove MEM meanings from in_struct and return_val.
7227         (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
7228         (MEM_COPY_ATTRIBUTES): Remove references to MEM_IN_STRUCT_P
7229         and MEM_SCALAR.
7230         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
7231         * cfgexpand.c (add_alias_set_conflicts): Likewise.
7232         * expr.c (store_field): Likewise.
7233         * function.c (assign_stack_temp_for_type): Likewise.
7234         * ifcvt.c (noce_try_cmove_arith): Likewise.
7235         * reload1.c (reload): Likewise.
7236         * config/alpha/alpha.c (alpha_set_memflags_1): Likewise.
7237         (alpha_set_memflags): Likewise.
7238         * config/m32c/m32c.c (m32c_immd_dbl_mov): Nullify.
7239
7240 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
7241
7242         * rtl.h (true_dependence, canon_true_dependence): Remove varies
7243         parameter.
7244         * alias.c (fixed_scalar_and_varying_struct_p): Delete.
7245         (true_dependence_1, write_dependence_p, may_alias_p): Don't call it.
7246         (true_dependence_1, true_dependence, canon_true_dependence): Remove
7247         varies parameter.
7248         * cselib.c (cselib_rtx_varies_p): Delete.
7249         (cselib_invalidate_mem): Update call to canon_true_dependence.
7250         * dse.c (record_store, check_mem_read_rtx): Likewise.
7251         (scan_reads_nospill): Likewise.
7252         * cse.c (check_dependence): Likewise.
7253         (cse_rtx_varies_p): Delete.
7254         * expr.c (safe_from_p): Update call to true_dependence.
7255         * ira.c (validate_equiv_mem_from_store): Likewise.
7256         (memref_referenced_p): Likewise.
7257         * postreload-gcse.c (find_mem_conflicts): Likewise.
7258         * sched-deps.c (sched_analyze_2): Likewise.
7259         * store-motion.c (load_kills_store): Likewise.
7260         * config/frv/frv.c (frv_registers_conflict_p_1): Likewise.
7261         * gcse.c (mems_conflict_for_gcse_p): Likewise.
7262         (compute_transp): Update call to canon_true_dependence.
7263
7264 2012-01-25  Richard Henderson  <rth@redhat.com>
7265
7266         * optabs.c (CODE_FOR_atomic_test_and_set): Provide default.
7267         (maybe_emit_atomic_test_and_set): New.
7268         (expand_sync_lock_test_and_set): Use it.
7269         (expand_atomic_test_and_set): Likewise.
7270         * doc/extend.texi (__atomic_test_and_set): Adjust the docs to match
7271         the implementation; clarify implementation defined details.
7272         * doc/md.texi (atomic_test_and_set): Document.
7273
7274 2012-01-25  Richard Henderson  <rth@redhat.com>
7275
7276         * config/sparc/predicates.md (zero_or_v7_operand): Use match_code.
7277
7278 2012-01-25  Richard Henderson  <rth@redhat.com>
7279
7280         PR target/51968
7281         * config/arm/arm.c (neon_split_vcombine): Emit deleted note
7282         to effect no-op split.
7283
7284 2012-01-24  Aldy Hernandez  <aldyh@redhat.com>
7285
7286         PR lto/51698
7287         * builtin-types.def: (BT_CONST_DOUBLE_PTR): New.
7288         (BT_FN_VOID_PTR_CONST_PTR_SIZE): New.
7289         (BT_FN_VOID_PTR_INT_SIZE): New.
7290         (BT_FN_UINT_UINT_VAR): Remove.
7291         (BT_FN_UINT32_UINT32_VAR): New.
7292         (BT_FN_DOUBLE_VPTR): Remove.
7293         (BT_FN_DOUBLE_CONST_DOUBLE_PTR): New.
7294
7295         * gtm-builtins.def (_ITM_abortTransaction): Set return type to void.
7296         (_ITM_changeTransactionMode): Same.
7297         (_ITM_memmoveRtWt): Change return type to void.
7298         (_ITM_memcpyRtWt): Same.
7299         (_ITM_memsetW): Same.
7300         (_ITM_RaRD): Change types to double.
7301         (_ITM_RD): Same.
7302         (_ITM_RaWD): Same.
7303         (_ITM_RfWD): Same.
7304
7305         * builtins.def (DEF_TM_BUILTIN): Set BOTH_P to true.
7306
7307 2012-01-24  Aldy Hernandez  <aldyh@redhat.com>
7308             Patrick Marlier  <patrick.marlier@gmail.com>
7309
7310         * trans-mem.c (requires_barrier): Do not instrument thread local
7311         variables and emit save/restore for them.
7312
7313 2012-01-24  Jason Merrill  <jason@redhat.com>
7314
7315         PR c++/51812
7316         * cgraphunit.c (cgraph_decide_is_function_needed): Don't always
7317         output static aliases.
7318
7319 2012-01-24  Jakub Jelinek  <jakub@redhat.com>
7320
7321         PR driver/47249
7322         * common.opt (-pie, -shared, pie, shared): Change from Common to
7323         Driver.
7324         * gcc.c (display_help): Display help for -pie and -shared.
7325
7326 2012-01-24  Georg-Johann Lay  <avr@gjlay.de>
7327
7328         PR target/49868
7329         * doc/extend.texi (AVR Named Address Spaces): Move sample code up.
7330         Remove note on size/offset limitation.
7331         (AVR Variable Attributes): Add example how to read data located
7332         with progmem.  Refer to named address spaces.
7333         * doc/invoke.texi (AVR Options): Fix typo.
7334
7335 2012-01-24  Richard Guenther  <rguenther@suse.de>
7336
7337         Forward-port to trunk
7338         2010-09-21  Jakub Jelinek  <jakub@redhat.com>
7339
7340         PR middle-end/45678
7341         * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
7342         op0 isn't sufficiently aligned and there is movmisalignM
7343         insn for mode, use it to load op0 into a temporary register.
7344
7345 2012-01-24  Jakub Jelinek  <jakub@redhat.com>
7346
7347         PR target/51957
7348         * target.def (const_not_ok_for_debug_p): New hook.
7349         * doc/tm.texi.in (TARGET_CONST_NOT_OK_FOR_DEBUG_P): New hook
7350         documentation.
7351         * doc/tm.texi: Regenerated.
7352         * dwarf2out.c (const_ok_for_output_1): If
7353         targetm.const_not_ok_for_debug_p returns true, fail.
7354         * config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): New
7355         function.
7356         (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.
7357
7358 2012-01-23  Kai Tietz  <ktietz@redhat.com>
7359
7360         PR target/51900
7361         * config/i386/predicates.md (symbolic_operand): Allow
7362         UNSPEC_PCREL as PIC expression for lea.
7363         * config/i386/winnt.c (i386_pe_binds_local_p): Reworked.
7364         * config/i386/i386.c (ix86_delegitimize_address): Handle
7365         UNSPEC_PCREL for none-MEM, too.
7366
7367 2012-01-23  Aldy Hernandez  <aldyh@redhat.com>
7368
7369         * trans-mem.c (ipa_tm_create_version): Set externally_visible.
7370         (ipa_tm_create_version_alias): Same.
7371
7372 2012-01-23  Uros Bizjak  <ubizjak@gmail.com>
7373
7374         PR libitm/51830
7375         * builtin-types.def (BT_FN_UINT_UINT_VAR): New.
7376         * gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR.
7377
7378 2012-01-23  Aldy Hernandez  <aldyh@redhat.com>
7379             Patrick Marlier  <patrick.marlier@gmail.com>
7380             Iain Sandoe  <developer@sandoe-acoustics.co.uk>
7381
7382         PR lto/51916
7383         * lto-wrapper.c (run_gcc): Pass the LTO section name to
7384         simple_object_start_read.
7385
7386 2012-01-23  Richard Guenther  <rguenther@suse.de>
7387
7388
7389         PR tree-optimization/51895
7390         * tree-sra.c (decide_one_param_reduction): Avoid sub-optimal
7391         parameter decomposition into BLKmode components.
7392
7393 2012-01-23  Eric Botcazou  <ebotcazou@adacore.com>
7394
7395         * tree-ssa-structalias.c (intra_create_variable_infos): Do not create
7396         fake variables for restrict-qualified pointers whose pointed-to type
7397         contains a placeholder.
7398
7399 2012-01-23  Richard Guenther  <rguenther@suse.de>
7400
7401         PR tree-optimization/51949
7402         * ipa-split.c (execute_split_functions): Do not split malloc functions.
7403
7404 2012-01-23  Jakub Jelinek  <jakub@redhat.com>
7405
7406         PR rtl-optimization/51933
7407         * ree.c (transform_ifelse): Return true right away if dstreg is
7408         already wider or equal to cand->mode.
7409         (enum ext_modified_kind, struct ext_modified, ext_state): New types.
7410         (make_defs_and_copies_lists): Remove defs_list and copies_list
7411         arguments, add state argument, just truncate state->work_list
7412         instead of always allocating and freeing the vector.  Assert that
7413         get_defs succeeds instead of returning 2.  Changed return type to bool.
7414         (merge_def_and_ext): Add state argument.  If SET_DEST doesn't
7415         have ext_src_mode, see if it has been modified already with the
7416         right kind of extension and has been extended before from the
7417         ext_src_mode.  If SET_DEST is already wider or equal to cand->mode,
7418         just return true.  Remember the original mode in state->modified array.
7419         (combine_reaching_defs): Add state argument.  Don't allocate and
7420         free here def_list, copied_list and vec vectors, instead just
7421         VEC_truncate the vectors in *state.  Don't handle outcome == 2 here.
7422         (find_and_remove_re): Set DF_DEFER_INSN_RESCAN df flag.
7423         Add state variable, clear vectors in it, initialize state.modified
7424         if needed.  Free all the vectors at the end and state.modified too.
7425         Don't skip a candidate if the extension expression has been modified.
7426
7427 2012-01-22  Douglas B Rupp  <rupp@gnat.com>
7428
7429         PR target/47096
7430         * config.gcc: (i[34567]86-*-interix3*): Remove from obsolete
7431          configurations. Change triplet to i[34567]86-*-interix[3-9]*.
7432         (extra_options) interix.opt -> i386/interix.opt"
7433         (extra_objs):Add winnt-stubs.o
7434         * configure.ac: Add interix to target_os .comm on PE check.
7435         * configure: Regenerate.
7436         * config/interix3.h: Delete and move bits to..
7437         * config/interix.h: Delete and move bits to..
7438         * config/i386/i386-interix3.h: Delete and move bits to..
7439         * config/i386/i386-interix.h: ..here.
7440         (TARGET_CPU_DEFAULT): Remove redefinition.
7441         (TARGET_ASM_CONSTRUCTOR): Undefine.
7442         (SUBTARGET_SWITCHES): Define for ms-bitfields.
7443         (TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec.
7444         (PTRDIFF_TYPE): Define.
7445         (LONG_DOUBLE_TYPE_SIZE): Define.
7446         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
7447         (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7448         (TARGET_SECTION_TYPE_FLAGS): Define.
7449         (ASM_DECLARE_FUNCTION_NAME): Define.
7450         (ASM_OUTPUT_EXTERNAL): Define.
7451         (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
7452         (ASM_OUTPUT_ALIGNED_BSS): Define.
7453         (PCC_BITFIELD_TYPE_MATTERS): Define.
7454         (USE_CONST_SECTION): Define.
7455         (SUBTARGET_ENCODE_SECTION_INFO): Remove.
7456         (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
7457         (SUPPORTS_ONE_ONLY): Remove.
7458         (I386_PE_STRIP_ENCODING): Define.
7459         * config/interix.opt: Delete and move bits to..
7460         * config/i386/interix.opt: ..here. New.
7461         (mpe-aligned-commons): Add.
7462         * config/i386/t-interix: Add copyright header.
7463         (winnt-stubs.o): Add rule.
7464
7465 2012-01-22  Jason Merrill  <jason@redhat.com>
7466
7467         PR c++/51832
7468         * varpool.c (varpool_analyze_pending_decls): Copy DECL_EXTERNAL
7469         for extra name aliases.
7470
7471 2012-01-22  Eric Botcazou  <ebotcazou@adacore.com>
7472
7473         PR rtl-optimization/51924
7474         * ree.c (combine_set_extension): Improve debugging message.
7475         (combine_reaching_defs): Likewise.
7476         (get_defs): Rename confusingly named variable.
7477         (find_and_remove_re): Skip a candidate if the extension expression has
7478         been modified.
7479
7480 2012-01-21  Robert Millan  <rmh@gnu.org>
7481             Gerald Pfeifer  <gerald@pfeifer.com>
7482
7483         * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKERX32): New macro.
7484         (GNU_USER_DYNAMIC_LINKER): Adjust indentation.
7485
7486 2012-01-20  Jakub Jelinek  <jakub@redhat.com>
7487
7488         PR tree-optimization/51914
7489         * tree-vect-stmts.c (vectorizable_conversion): For
7490         cvt_type && modifier == WIDEN, put temporary with cvt_type
7491         at the beginning of vec_dsts and set vec_dest to temporary
7492         with vectype_out.
7493
7494 2012-01-20  Eric Botcazou  <ebotcazou@adacore.com>
7495
7496         * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK.
7497
7498 2011-01-20  Tijl Coosemans  <tijl@coosemans.org>
7499
7500         * config/i386/i386.c: Fix checks for !TARGET_MACHO.
7501         * config/rs6000/rs6000.c: Likewise.
7502
7503 2012-01-20  Jakub Jelinek  <jakub@redhat.com>
7504
7505         PR target/51915
7506         * config/arm/arm.c (arm_count_output_move_double_insns): Call
7507         output_move_double on a copy of operands array.
7508
7509 2012-01-20  Cary Coutant  <ccoutant@google.com>
7510             Dodji Seketeli  <dodji@redhat.com>
7511
7512         PR debug/45682
7513         * dwarf2out.c (copy_declaration_context): Return ref to parent
7514         of declaration DIE, if necessary.
7515         (remove_child_or_replace_with_skeleton): Add new parameter; update
7516         caller.  Place skeleton DIE under parent DIE of original declaration.
7517         Move call to copy_declaration_context to here ...
7518         (break_out_comdat_types): ... from here.
7519
7520 2012-01-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7521
7522         PR rtl-optimization/51856
7523         * reload.c (find_reloads_subreg_address): Set the address_reloaded
7524         flag to reloaded.
7525
7526 2012-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
7527
7528         PR target/51819
7529         * config/arm/arm.c (arm_print_operand): Correct output of alignment
7530         hints for neon loads and stores.
7531
7532 2012-01-20  Georg-Johann Lay  <avr@gjlay.de>
7533
7534         PR target/49868
7535         PR target/50887
7536         * doc/extend.texi (Named Address Spaces): Split into subsections.
7537         (AVR Named Address Spaces): New subsection.
7538         (M32C Named Address Spaces): New subsection.
7539         (RL78 Named Address Spaces): New subsection.
7540         (SPU Named Address Spaces): New subsection.
7541         (Variable Attributes): New anchor "AVR Variable Attributes".
7542         (AVR Variable Attributes): Rewrite and avoid wording
7543         "address space" in this context.
7544         * doc/invoke.texi (AVR Options): Rewrite and add documentation
7545         for -maccumulate-args, -mbranch-cost=, -mrelax, -mshort-calls.
7546         (AVR Built-in Macros): New subsubsection therein.
7547         * doc/md.texi (AVR constraints): Remove "C04", "R".
7548
7549 2012-01-20  Richard Guenther  <rguenther@suse.de>
7550
7551         PR tree-optimization/51903
7552         * tree-ssa-pre.c (eliminate): Properly purging of EH edges
7553         when removing stmts.
7554
7555 2012-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
7556
7557         PR target/50313
7558         * config/arm/arm.c (arm_load_pic_register): Use
7559         gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit
7560         , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four.
7561         (arm_pic_static_addr): Likewise.
7562         (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED.
7563         (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED.
7564         * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define.
7565         (pic_load_addr_unified): New.
7566
7567 2012-01-20  Andrey Belevantsev  <abel@ispras.ru>
7568
7569         PR target/51106
7570         * function.c (instantiate_virtual_regs_in_insn): Use
7571         delete_insn_and_edges when removing a wrong asm insn.
7572
7573 2012-01-19  Vladimir Makarov  <vmakarov@redhat.com>
7574
7575         PR rtl-optimization/40761
7576         * ira-int.h (struct ira_loop_tree_node): Add comment for member loop.
7577         Add new member loop_num.
7578         (IRA_LOOP_NODE_BY_INDEX): Modify the check.
7579         (ira_build): Remove the parameter.
7580
7581         * ira.c (ira_print_disposition): Use loop_num instead of loop->num.
7582         (ira.c): Do not build CFG loops for one region allocation.  Remove
7583         argument from ira_build call.
7584
7585         * ira-build.c (init_loop_tree_node): New function.
7586         (create_loop_tree_nodes): Use it.  Separate the case when CFG
7587         loops are not built.
7588         (more_one_region_p): Check current_loops.
7589         (finish_loop_tree_nodes): Separate the case when CFG loops are not
7590         built.
7591         (add_loop_to_tree): Process loop equal to NULL too.
7592         (form_loop_tree): Separate the case when CFG loops are not built.
7593         Use explicitly number for the root.
7594         (rebuild_regno_allocno_maps, create_loop_tree_node_allocnos): Add
7595         an assertion.
7596         (ira_print_expanded_allocno, loop_compare_func): Use loop_num
7597         instead of loop->num.
7598         (mark_loops_for_removal): Ditto.  Use loop_num instead of loop->num.
7599         (mark_all_loops_for_removal): Ditto.
7600         (remove_unnecessary_regions): Separate the case when CFG loops
7601         are not built.
7602         (ira_build): Remove the parameter.  Use explicit number of regions
7603         when CFG loops are not built.
7604
7605         * ira-color.c (print_loop_title): Separate the case for the root node.
7606         Use loop_num instead of loop->num.
7607         (move_spill_restore): Use loop_num instead of loop->num.
7608
7609         * ira-emit.c (setup_entered_from_non_parent_p): Add an assertion.
7610         (change_loop): Ditto.
7611         (change_loop): Use loop_num instead of loop->num.
7612
7613         * ira-lives.c (process_bb_node_lives): Ditto.
7614
7615         * ira-costs.c (print_allocno_costs, find_costs_and_classes): Ditto.
7616
7617         * ira-conflicts.c (print_allocno_conflicts): Ditto.
7618
7619 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
7620
7621         PR libmudflap/40778
7622         * tree-mudflap.c (mf_artificial): New function.
7623         (execute_mudflap_function_ops, execute_mudflap_function_decls,
7624         mx_register_decls, mudflap_enqueue_decl): Use it.
7625
7626         PR target/51876
7627         * config/arm/neon.md (*neon_vswp<mode>): Fix up operand
7628         numbers in the insn pattern.
7629
7630 2012-01-19  Michael Matz  <matz@suse.de>
7631
7632         PR tree-optimization/46590
7633         * cfgexpand.c (add_scope_conflicts_1): New old_conflicts argument,
7634         use it in remembering which conflicts we already created.
7635         (add_scope_conflicts): Adjust call to above, (de)allocate helper
7636         bitmap.
7637
7638 2012-01-19  Aldy Hernandez  <aldyh@redhat.com>
7639
7640         PR lto/51280
7641         * lto-wrapper.c (run_gcc): Pass -fgnu_tm on.
7642         (merge_and_complain): Same.
7643
7644 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
7645
7646         PR bootstrap/50237
7647         * config/initfini-array.h: Guard content of the header
7648         with #ifdef HAVE_INITFINI_ARRAY.
7649         * configure.ac: Move gcc_AC_INITFINI_ARRAY much later into the file.
7650         Add initfini-array.h to tm_file here.
7651         * acinclude.m4 (gcc_AC_INITFINI_ARRAY): For non-ia64 do a linker test.
7652         * config.gcc: Don't add initfini-array.h to tm_file here.
7653         * configure: Regenerated.
7654
7655 2012-01-19  Andrey Belevantsev  <abel@ispras.ru>
7656
7657         PR rtl-optimization/51505
7658         * df-problems.c (df_kill_notes): New parameter live. Update comment.
7659         Remove REG_EQUAL/REG_EQUIV notes referring to dead registers.
7660         (df_note_bb_compute): Update the call to df_kill_notes.
7661
7662 2012-01-18  Aldy Hernandez  <aldyh@redhat.com>
7663
7664         * trans-mem.c (requires_barrier): Remove call to is_global_var.
7665
7666 2012-01-18  Richard Guenther  <rguenther@suse.de>
7667
7668         * tree-ssa.c (useless_type_conversion_p): Remove special-casing
7669         of conversions to void *.
7670
7671 2012-01-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7672             Richard Sandiford  <rdsandiford@googlemail.com>
7673
7674         PR middle-end/50325
7675         PR middle-end/51192
7676         * optabs.h (simplify_expand_binop): Declare.
7677         * optabs.c (simplify_expand_binop): Make global.
7678         * expmed.c (store_bit_field_1): Use simplify_expand_binop on big
7679         endian targets if the source cannot be exactly covered by word
7680         mode chunks.
7681
7682 2012-01-17  Jakub Jelinek  <jakub@redhat.com>
7683
7684         PR bootstrap/51872
7685         * hard-reg-set.h (struct hard_reg_set_container): New type.
7686         * target.h (struct hard_reg_set_container): Forward declare.
7687         * target.def (set_up_by_prologue): New target hook.
7688         * doc/tm.texi.in (TARGET_SET_UP_BY_PROLOGUE): Document it.
7689         * doc/tm.texi: Regenerated.
7690         * function.c (thread_prologue_and_epilogue_insns): Change
7691         set_up_by_prologue HARD_REG_SET into struct hard_reg_set_container.
7692         Call targetm.set_up_by_prologue on it.
7693         * config/rs6000/rs6000.c (rs6000_set_up_by_prologue): New function.
7694         (TARGET_SET_UP_BY_PROLOGUE): Redefine to it.
7695
7696 2012-01-17  Nick Clifton  <nickc@redhat.com>
7697
7698         * config/rx/rx.c (rx_can_use_simple_return): New function.
7699         * config/rx/rx-protos.h (rx_can_use_simple_return): Prototype.
7700         * config/rx/rx.md (return): Predicate on rx_can_use_simple_return.
7701
7702 2012-01-17  Richard Guenther  <rguenther@suse.de>
7703
7704         PR middle-end/51782
7705         * expr.c (expand_assignment): Take address-space information
7706         from the address operand of MEM_REF and TARGET_MEM_REF.
7707         (expand_expr_real_1): Likewise.
7708
7709 2012-01-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7710
7711         * ira.c (do_reload): Make sure ira_dump_file is re-set if no
7712         reload dump is requested.
7713
7714 2012-01-17  Aldy Hernandez  <aldyh@redhat.com>
7715
7716         PR other/51165
7717         * trans-mem.c (requires_barrier): Call may_be_aliased.
7718
7719 2012-01-17  Jakub Jelinek  <jakub@redhat.com>
7720
7721         PR tree-optimization/51877
7722         * tree-ssa-tail-merge.c (gimple_equal_p): Don't return true whenever
7723         call arguments and fndecls compare equal, instead return false if they
7724         don't.  Return true only if lhs1 and lhs2 are either both NULL, or
7725         both SSA_NAMEs that are valueized the same, or they satisfy
7726         operand_equal_p.
7727
7728 2012-01-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7729
7730         * configure.ac (gcc_cv_target_dl_iterate_phdr): Only check on
7731         Solaris 11+.
7732         * configure: Regenerate.
7733
7734 2012-01-16  Jan Hubicka  <jh@suse.cz>
7735
7736         PR c/12245
7737         PR c++/14179
7738         * convert.c (convert_to_integer): Use fold_convert for
7739         converting an INTEGER_CST to integer type.
7740
7741 2012-01-16  Jason Merrill  <jason@redhat.com>
7742
7743         PR c++/14179
7744         * vec.c (vec_gc_o_reserve_1): Use ggc_round_alloc_size.
7745
7746 2012-01-16  Jakub Jelinek  <jakub@redhat.com>
7747
7748         PR bootstrap/51860
7749         * config/s390/s390.c (s390_chunkify_start): Don't skip
7750         call insns followed by NOTE_INSN_CALL_ARG_LOCATION note.  Skip
7751         NOTE_INSN_VAR_LOCATION and NOTE_INSN_CALL_ARG_LOCATION notes.
7752         If insn is followed by NOTE_INSN_VAR_LOCATION or
7753         NOTE_INSN_CALL_ARG_LOCATION notes, insert jump after all those notes.
7754         Don't use location of note insns.
7755
7756         PR tree-optimization/51865
7757         * tree-inline.c (tree_function_versioning): Call remap_decl
7758         on DECL_RESULT whenever it has VOID_TYPE_P type.
7759
7760 2012-01-15  Richard Sandiford  <rdsandiford@googlemail.com>
7761
7762         * config/mips/mips.c (mips16_build_call_stub): Don't use a stub
7763         for calls to locally-binding MIPS16 functions if only the return
7764         type uses float regs.
7765
7766 2012-01-15  Chung-Lin Tang  <cltang@codesourcery.com>
7767             Richard Sandiford  <rdsandiford@googlemail.com>
7768
7769         * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
7770         (SYMBOL_32_HIGH): Likewise.
7771         (mips_output_tls_reloc_directive): Declare.
7772         * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md.
7773         (mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare.
7774         * config/mips/mips.c (mips_use_pcrel_pool_p): New variable.
7775         (mips_lo_relocs, mips_hi_relocs): Make extern.
7776         (mips16_stub_function): Move up file.
7777         (mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling.
7778         (mips_symbolic_constant_p): Likewise.  Remove SYMBOL_32_HIGH too.
7779         (mips_symbol_insns_1): Likewise.  Check mips_use_pcrel_pool_p.
7780         (mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of
7781         SYMBOL_FORCE_TO_MEM.  Only check mips_tls_symbol_ref_1 if it's false.
7782         (mips_get_tp): Add MIPS16 support.
7783         (mips_legitimize_tls_address): Remove MIPS16 sorry().
7784         Generalize DTPREL and TPREL handling.
7785         (mips_init_relocs): Initialize mips_use_pcrel_pool_p.
7786         Add MIPS16 TLS support.
7787         (mips_output_tls_reloc_directive): New function.
7788         (mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs.
7789         * config/mips/predicates.md (symbolic_operand_with_high)
7790         (tls_reloc_operand): New predicates.
7791         (force_to_mem_operand): Use mips_use_pcrel_pool_p.
7792         * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec.
7793         (PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h.
7794         (*unshifted_high): New instruction.  Use it for MIPS16 high splitter.
7795         (consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns.
7796         (*tls_get_tp_mips16_call_<mode>): Likewise.
7797
7798 2012-01-15  Uros Bizjak  <ubizjak@gmail.com>
7799
7800         PR rtl-optimization/51821
7801         * recog.c (peep2_find_free_register): Determine clobbered registers
7802         from insn pattern.
7803
7804 2012-01-14  Denis Chertykov  <chertykov@gmail.com>
7805
7806         PR target/50925
7807         * config/avr/avr-protos.h: Revert change of 2012-01-09.
7808         * config/avr/avr.c: Likewise.
7809         * config/avr/avr.h: Likewise.
7810
7811 2012-01-13  Ian Lance Taylor  <iant@google.com>
7812
7813         PR c++/50012
7814         * tree.h (TYPE_QUALS): Add cast to int.
7815         (TYPE_QUALS_NO_ADDR_SPACE): Likewise.
7816
7817 2012-01-13  Ian Lance Taylor  <iant@google.com>
7818
7819         * ipa-cp.c (ipa_get_indirect_edge_target): Add typecasts when
7820         comparing param_index to VEC_length result.
7821
7822 2012-01-13  Steven Bosscher  <steven@gcc.gnu.org>
7823
7824         * c-decl.c: Do not include tree-mudflap.h
7825         * tree-optimize.c: Likewise.
7826         * Makefile.in: Update dependencies.
7827
7828 2012-01-13  Richard Guenther  <rguenther@suse.de>
7829
7830         PR middle-end/8081
7831         * gimplify.c (gimplify_modify_expr_rhs): For calls with a
7832         variable-sized result always use RSO.
7833
7834 2012-01-12  DJ Delorie  <dj@redhat.com>
7835
7836         * cfgexpand.c (convert_debug_memory_address): Allow any valid
7837         pointer type, not just the default pointer type.
7838
7839 2012-01-09  Richard Henderson  <rth@redhat.com>
7840             Denis Chertykov  <chertykov@gmail.com>
7841
7842         PR target/50925
7843         * config/avr/avr-protos.h (avr_hard_regno_nregs): Declare.
7844         * config/avr/avr.c (avr_can_eliminate): Simplify.
7845         (avr_initial_elimination_offset): Likewise.
7846         (avr_prologue_setup_frame): Use hard_frame_pointer_rtx.
7847         (expand_epilogue): Likewise.
7848         (avr_legitimize_address): Gut.
7849         (avr_legitimize_reload_address): Use hard_frame_pointer_rtx.
7850         (avr_hard_regno_nregs): New.
7851         (avr_hard_regno_ok): Allow only Pmode for arg and frame_pointers.
7852         (avr_regno_mode_code_ok_for_base_b): Handle arg and frame pointers.
7853         * config/avr/avr.h (FIXED_REGISTERS): Adjust arg pointer,
7854         add soft frame pointer.
7855         (CALL_USED_REGISTERS): Likewise.
7856         (REG_CLASS_CONTENTS): Likewise.
7857         (REGISTER_NAMES): Likewise.
7858         (HARD_REGNO_NREGS): Use avr_hard_regno_nregs.
7859         (HARD_FRAME_POINTER_REGNUM): New.
7860         (FRAME_POINTER_REGNUM): Use soft frame pointer.
7861         (ELIMINABLE_REGS): Eliminate from the soft frame pointer,
7862         remove the HARD_FRAME_POINTER self-elimination.
7863
7864 2012-01-12  Georg-Johann Lay  <avr@gjlay.de>
7865
7866         PR target/51756
7867         * config/avr/avr.c (avr_encode_section_info): Test for absence of
7868         DECL_EXTERNAL when checking for initializers of progmem variables.
7869
7870 2012-01-12  Ira Rosen  <irar@il.ibm.com>
7871
7872         PR tree-optimization/51799
7873         * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check
7874         that the last operation is a type demotion.
7875
7876 2012-01-12  Uros Bizjak  <ubizjak@gmail.com>
7877
7878         * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
7879         (x86_shift<mode>_adj_1): Remove operand constraint from operand 3.
7880
7881 2012-01-11  Jakub Jelinek  <jakub@redhat.com>
7882
7883         PR bootstrap/51796
7884         * combine.c (distribute_notes): If i3 is a noreturn call,
7885         allow old_size to be equal to args_size and make sure the
7886         noreturn call gets REG_ARGS_SIZE note.
7887         * expr.c (fixup_args_size_notes): Put REG_ARGS_SIZE notes
7888         on noreturn calls even when the delta is 0.
7889
7890 2012-01-11  Nathan Sidwell  <nathan@acm.org>
7891
7892         * gcov.c (STRING_SIZE): Remove.
7893         (generate_results): Erase annotations for source files with no
7894         coverage information.
7895         (read_line): New.
7896         (output_lines): Use it.
7897
7898 2012-01-11  Eric Botcazou  <ebotcazou@adacore.com>
7899
7900         * gimple.h (gimplify_body): Remove first argument.
7901         * gimplify.c (copy_if_shared): Add DATA argument.  Do not create the
7902         pointer set here, instead just pass DATA to walk_tree.
7903         (unshare_body): Remove BODY_P argument and adjust.  Create the pointer
7904         set here and invoke copy_if_shared on the size trees of DECL_RESULT.
7905         (unvisit_body): Likewise, but with unmark_visited.
7906         (gimplify_body): Remove BODY_P argument and adjust.
7907         (gimplify_function_tree): Adjust call to gimplify_body.
7908         * omp-low.c (finalize_task_copyfn): Likewise.
7909
7910 2012-01-11  Eric Botcazou  <ebotcazou@adacore.com>
7911
7912         * tree.h (build_function_decl_skip_args): Add boolean parameter.
7913         (build_function_type_skip_args): Delete.
7914         * tree.c (build_function_type_skip_args): Make static and add
7915         SKIP_RETURN parameter.  Fix thinko in the handling of variants.
7916         (build_function_decl_skip_args): Add SKIP_RETURN parameter and
7917         pass it to build_function_type_skip_args.
7918         * cgraph.h (cgraph_function_versioning): Add boolean parameter.
7919         (tree_function_versioning): Likewise.
7920         * cgraph.c (cgraph_create_virtual_clone): Adjust call to
7921         build_function_decl_skip_args.
7922         * cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter
7923         and pass it to build_function_decl_skip_args/tree_function_versioning.
7924         (cgraph_materialize_clone): Adjust call to tree_function_versioning.
7925         * ipa-inline-transform.c (save_inline_function_body): Likewise.
7926         * trans-mem.c (ipa_tm_create_version): Likewise.
7927         * tree-sra.c (modify_function): Ditto for cgraph_function_versioning.
7928         * tree-inline.c (declare_return_variable): Remove always-true test.
7929         (tree_function_versioning): Add SKIP_RETURN parameter.  If the function
7930         returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL.
7931         * ipa-split.c (split_function): Skip the return value for the split
7932         part if it doesn't return.
7933
7934 2012-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7935
7936         PR tree-optimization/49642
7937         * ipa-split.c (forbidden_dominators): New variable.
7938         (check_forbidden_calls): New function.
7939         (dominated_by_forbidden): Likewise.
7940         (consider_split): Check for forbidden dominators.
7941         (execute_split_functions): Initialize and free forbidden
7942         dominators info; call check_forbidden_calls.
7943
7944 2012-01-11  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
7945
7946         * config/arm/arm.md (mov_notscc): Use MVN for false condition.
7947
7948 2012-01-11  Nick Clifton  <nickc@redhat.com>
7949
7950         * config/rx/rx.md (return): Define pattern.
7951
7952 2012-01-11  Richard Guenther  <rguenther@suse.de>
7953
7954         * doc/extend.texi (malloc attribute): Adjust according to
7955         implementation.
7956
7957 2012-01-10  Aldy Hernandez  <aldyh@redhat.com>
7958             Patrick Marlier  <patrick.marlier@gmail.com>
7959
7960         PR middle-end/51516
7961         * trans-mem.c (get_cg_data): Traverse aliases if requested.
7962         (ipa_tm_scan_calls_block): Update parameters to get_cg_data.
7963         (ipa_tm_note_irrevocable): Same.
7964         (ipa_tm_scan_irr_block): Same.
7965         (ipa_tm_decrement_clone_counts): Same.
7966         (ipa_tm_scan_irr_function): Same.
7967         (ipa_tm_create_version_alias): Same.
7968         (ipa_tm_create_version): Same.
7969         (ipa_tm_transform_calls_redirect): Same.
7970         (ipa_tm_transform_calls): Same.
7971         (ipa_tm_transform_transaction): Same.
7972         (ipa_tm_execute): Same.
7973
7974 2012-01-10  Richard Guenther  <rguenther@suse.de>
7975
7976         PR middle-end/51806
7977         * opts.c (common_handle_option): Handle -Werror.
7978
7979 2012-01-10  Andreas Schwab  <schwab@linux-m68k.org>
7980
7981         * config/m68k/sync.md ("atomic_compare_and_swap<mode>_1"): Fix
7982         operand number.
7983
7984 2012-01-10  Jason Merrill  <jason@redhat.com>
7985
7986         * doc/invoke.texi (C++ Dialect Options): Update -fabi-version=6
7987         information.
7988
7989 2012-01-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7990
7991         * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check if linker
7992         supports R_386_TLS_GD_PLT reloc.
7993         (gcc_cv_as_ix86_tlsldmplt): Check if linker
7994         supports R_386_TLS_LDM_PLT reloc.
7995         * configure: Regenerate.
7996         * config.in: Regenerate.
7997
7998 2012-01-10  Georg-Johann Lay  <avr@gjlay.de>
7999
8000         PR target/49868
8001         Extend __pgmx semantics to linearize memory.
8002         * config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
8003         determine if code comes inline or from libgcc.
8004         (MOVMEM_r_d:HI): Add "w" to constraint for better preference.
8005         (movmem_qi, movmem_qi): Set constraint #2 to "n".
8006         (movmem_qi_elpm, movmem_hi_elpm): Remove insns.
8007         (movmemx_qi, movmemx_hi): New insns.
8008         (xload_<mode>_libgcc): Rewrite to new insn condition.
8009         (xload_<mode>): Remove insns.
8010         * config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
8011         cases that don't satisfy avr_xload_libgcc_p().
8012         (avr_addr_space_convert): Allow converting in any direction.
8013         (avr_addr_space_subset_p): Return always true.
8014         (avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
8015         (avr_emit_movmemhi): Ditto.
8016         (avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
8017         (avr_out_movmem): Ditto.
8018         (AVR_SYMBOL_FLAG_PROGMEM): New macro.
8019         (AVR_SYMBOL_SET_ADDR_SPACE): New macro.
8020         (AVR_SYMBOL_GET_ADDR_SPACE): New macro.
8021         (avr_encode_section_info): Encode 'progmem' in symbol flags.
8022         (output_reload_in_const): Don't zero-extend any 24-bit symbols.
8023
8024 2012-01-10  Richard Guenther  <rguenther@suse.de>
8025
8026         PR tree-optimization/50913
8027         * graphite-scop-detection.c (stmt_has_simple_data_refs_p):
8028         Require data-refs to be representable by Graphite with respect
8029         to any loop nest.
8030
8031 2012-01-10  Uros Bizjak  <ubizjak@gmail.com>
8032
8033         * config/i386/constraints.md ("L"): Return true for 0xffffffff.
8034         * config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV.
8035
8036 2012-01-10  Tom de Vries  <tom@codesourcery.com>
8037
8038         PR rtl-optimization/51271
8039         * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when
8040         handling annulled branch.
8041
8042 2012-01-10  Richard Henderson  <rth@redhat.com>
8043
8044         * config/arm/arm.c (arm_vectorize_vec_perm_const_ok,
8045         TARGET_VECTORIZE_VEC_PERM_CONST_OK, neon_split_vcombine, MAX_VECT_LEN,
8046         struct expand_vec_perm_d, arm_expand_vec_perm_1, arm_expand_vec_perm,
8047         arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev,
8048         arm_evpc_neon_vtrn, arm_evpc_neon_vtbl, arm_expand_vec_perm_const_1,
8049         arm_expand_vec_perm_const): New.
8050         * config/arm/arm-protos.h: Update.
8051         * config/arm/neon.md (UNSPEC_VCONCAT): New.
8052         (*neon_vswp<VDQX>): New.
8053         (neon_vcombine<VDX>): Use neon_split_vcombine.
8054         (neon_vtbl1v16qi, neon_vtbl2v16qi, neon_vcombinev16qi): New.
8055         * config/arm/vec-common.md (vec_perm_const<VALL>): New.
8056         (vec_perm<VE>): New.
8057
8058 2012-01-10  Richard Henderson  <rth@redhat.com>
8059
8060         * config/arm/arm.c (arm_gen_compare_reg): Add scratch argument;
8061         use it if reload_completed.
8062         (arm_legitimize_sync_memory, arm_emit, arm_insn_count, arm_count,
8063         arm_output_asm_insn, arm_process_output_memory_barrier,
8064         arm_output_memory_barrier, arm_ldrex_suffix, arm_output_ldrex,
8065         arm_output_strex, arm_output_it, arm_output_op2, arm_output_op3,
8066         arm_output_sync_loop, arm_get_sync_operand, FETCH_SYNC_OPERAND,
8067         arm_process_output_sync_insn, arm_output_sync_insn,
8068         arm_sync_loop_insns, arm_call_generator, arm_expand_sync): Remove.
8069         (arm_pre_atomic_barrier, arm_post_atomic_barrier): New.
8070         (arm_emit_load_exclusive, arm_emit_store_exclusive): New.
8071         (emit_unlikely_jump): New.
8072         (arm_expand_compare_and_swap, arm_split_compare_and_swap): New.
8073         (arm_split_atomic_op): New.
8074         * config/arm/arm-protos.h: Update.
8075         * config/arm/arm.h (enum arm_sync_generator_tag): Remove.
8076         (struct arm_sync_generator): Remove.
8077         * config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK,
8078         VUNSPEC_SYNC_OP, VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): Remove.
8079         (VUNSPEC_ATOMIC_CAS, VUNSPEC_ATOMIC_XCHG, VUNSPEC_ATOMIC_OP): New.
8080         (VUNSPEC_LL, VUNSPEC_SC): New.
8081         (sync_result, sync_memory, sync_required_value, sync_new_value,
8082         sync_t1, sync_t2, sync_release_barrier, sync_op): Remove.
8083         (attr length): Don't use arm_sync_loop_insns.
8084         (cbranch_cc, cstore_cc): Update call to arm_gen_compare_reg.
8085         (movsfcc, movdfcc): Likewise.
8086         * config/arm/constraints.md (Ua): New.
8087         * config/arm/prediates.md (mem_noofs_operand): New.
8088         (sync_compare_and_swap<QHSD>, sync_lock_test_and_set<QHSD>): Remove.
8089         (sync_clobber, sync_t2_reqd): Remove.
8090         (sync_<syncop><QHSD>, sync_nand<QHSD>): Remove.
8091         (sync_new_<syncop><QHSD>, sync_new_nand<QHSD>): Remove.
8092         (sync_old_<syncop><QHSD>, sync_old_nand<QHSD>): Remove.
8093         (arm_sync_compare_and_swap<SIDI>): Remove.
8094         (arm_sync_compare_and_swap<NARROW>): Remove.
8095         (arm_sync_lock_test_and_set<SIDI>): Remove.
8096         (arm_sync_lock_test_and_set<NARROW>): Remove.
8097         (arm_sync_new_<syncop><SIDI>): Remove.
8098         (arm_sync_new_<syncop><NARROW>): Remove.
8099         (arm_sync_new_nand<SIDI>): Remove.
8100         (arm_sync_new_nand<NARROW>): Remove.
8101         (arm_sync_old_<syncop><SIDI>): Remove.
8102         (arm_sync_old_<syncop><NARROW>): Remove.
8103         (arm_sync_old_nand<SIDI>): Remove.
8104         (arm_sync_old_nand<NARROW>): Remove.
8105         (*memory_barrier): Merge arm_output_memory_barrier.
8106         (atomic_compare_and_swap<QHSD>): New.
8107         (atomic_compare_and_swap<NARROW>_1): New.
8108         (atomic_compare_and_swap<SIDI>_1): New.
8109         (atomic_exchange<QHSD>): New.
8110         (cas_cmp_operand, cas_cmp_str): New.
8111         (atomic_op_operand, atomic_op_str): New.
8112         (atomic_<syncop><QHSD>, atomic_nand<QHSD>): New.
8113         (atomic_fetch_<syncop><QHSD>, atomic_fetch_nand<QHSD>): New.
8114         (atomic_<syncop>_fetch<QHSD>, atomic_nand_fetch<QHSD>): New.
8115         (arm_load_exclusive<NARROW>): New.
8116         (arm_load_exclusivesi, arm_load_exclusivedi): New.
8117         (arm_store_exclusive<QHSD>): New.
8118
8119 2012-01-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
8120
8121         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add DF
8122         reload patterns if -mvsx-scalar-memory.
8123
8124         * config/rs6000/vsx.md (vsx_xscvspdp): Allow xscvspdp to be
8125         generated, even -mno-vsx-scalar-double was used.
8126         (vsx_xscvdpsp_scalar): Likewise.
8127         (vsx_xscvspdp_scalar2): Likewise.
8128
8129 2012-01-09  Tom de Vries  <tom@codesourcery.com>
8130             Andrew Pinski  <apinski@cavium.com>
8131
8132         PR debug/51471
8133         * reorg.c (fill_slots_from_thread): Don't speculate
8134         frame-related insns.
8135
8136 2012-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
8137
8138         * sched-int.h (bb_note): Move to...
8139         * basic-block.h: ...here.
8140         * haifa-sched.c (bb_note): Move to...
8141         * cfgrtl.c: ...here.
8142         * function.c (next_block_for_reg): New function.
8143         (move_insn_for_shrink_wrap): Likewise.
8144         (prepare_shrink_wrap): Rewrite to use the above.
8145
8146 2012-01-09  Aldy Hernandez  <aldyh@redhat.com>
8147
8148         * gimple.c (is_gimple_non_addressable): Remove.
8149         * gimple.h: Remove is_gimple_non_addressable.
8150         * gimplify.c (gimplify_modify_expr_rhs): Use is_gimple_reg instead of
8151         is_gimple_non_addressable.
8152         * trans-mem.c (expand_assign_tm): Same.
8153
8154 2012-01-09  Richard Guenther  <rguenther@suse.de>
8155
8156         PR tree-optimization/51775
8157         * tree-ssa-sccvn.c (visit_use): Value-number throwing stmts.
8158         * tree-ssa-pre.c (eliminate): Properly fixup EH info.
8159
8160 2012-01-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
8161
8162         * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
8163         tuning parameters.
8164         * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
8165
8166 2012-01-09  Richard Guenther  <rguenther@suse.de>
8167
8168         * tree-streamer-out.c (write_ts_optimization): Fix spelling.
8169
8170 2012-01-08  Jan Hubicka  <jh@suse.cz>
8171
8172         PR tree-optimize/51680
8173         * ipa-inline-analyss.c (evaluate_properties_for_edge): Fix condition
8174         on when known_vals needs to be computed; cleanup.
8175
8176 2012-01-08  Jan Hubicka  <jh@suse.cz>
8177
8178         PR tree-optimize/51694
8179         * ipa-cp.c (ipa_get_indirect_edge_target): Add bounds checks.
8180
8181 2012-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
8182
8183         * doc/cpp.texi (Predefined Macros): __STRICT_ANSI__ is defined
8184         for -std=c++98 and -std=c++11 too.
8185
8186 2012-01-08  Chung-Lin Tang  <cltang@codesourcery.com>
8187
8188         * cfgloop.c (cancel_loop): Add free() of bbs array.
8189
8190 2012-01-07  Jan Hubicka  <jh@suse.cz>
8191
8192         PR tree-optimization/51600
8193         * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Disable code
8194         that benefits small functions.
8195
8196 2012-01-07  Jan Hubicka  <jh@suse.cz>
8197
8198         * ipa-inline.c (want_inline_small_function_p): Fix formating.
8199
8200 2012-01-07  Jan Hubicka  <jh@suse.cz>
8201
8202         PR tree-optimization/51680
8203         * ipa-inline.c (want_inline_small_function_p): Be more lax on functions
8204         whose inlining reduce unit size.
8205
8206 2012-01-07  Alexandre Oliva  <aoliva@redhat.com>
8207
8208         PR bootstrap/51725
8209         * cselib.c (new_elt_loc_list): Promote addr_list to canonical node.
8210         Add canonical node to containing_mem chain after the non-canonical
8211         one, even if there weren't any locs to propagate.
8212         (remove_useless_values): Keep only canonical values.
8213         (add_mem_for_addr, cselib_lookup_mem): Canonicalize addr.
8214         (cselib_invalidate_mem): Likewise.  Ensure v is canonical, and
8215         canonicalize mem_chain elements that are not discarded.
8216
8217 2012-01-06  Jakub Jelinek  <jakub@redhat.com>
8218
8219         PR target/47333
8220         * cgraphunit.c (cgraph_optimize): Call output_weakrefs
8221         before emitting functions.
8222
8223         PR gcov-profile/50127
8224         * bb-reorder.c (partition_hot_cold_basic_blocks): Call
8225         clear_aux_for_blocks.
8226
8227 2012-01-06  Alexandre Oliva  <aoliva@redhat.com>
8228
8229         PR debug/51746
8230         * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too.
8231
8232 2012-01-06  Arnaud Charlet  <charlet@adacore.com>
8233
8234         * c-decl.c (ext_block): Moved up.
8235         (collect_all_refs, for_each_global_decl): Take ext_block into account.
8236
8237 2012-01-06  Han Shen  <shenhan@google.com>
8238
8239         Translate built-in include paths for sysroot.
8240         * Makefile.in (gcc_gxx_include_dir_add_sysroot): New.
8241         (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT.
8242
8243         * cppdefault.c (cpp_include_defaults): Replace hard coded "0" with
8244         GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field.
8245
8246         * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to
8247         control whether sysroot should be prepended to gxx include dir.
8248
8249         * configure: Regenerate.
8250
8251 2012-01-06  Torvald Riegel  <triegel@redhat.com>
8252
8253         PR rtl-optimization/51771
8254         * builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST): New.
8255         * gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib.
8256
8257 2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
8258
8259         PR tree-optimization/51315
8260         * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
8261         (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
8262
8263 2012-01-05  Uros Bizjak  <ubizjak@gmail.com>
8264
8265         PR target/51681
8266         * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
8267         for shrp pattern.  Correctly handle and fixup shift variable.
8268         Return false when shift > nelt for BYTES_BIG_ENDIAN target.
8269
8270 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
8271
8272         PR debug/51762
8273         * calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE
8274         note when !ACCUMULATE_OUTGOING_ARGS.
8275
8276 2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
8277
8278         * tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated
8279         condition.
8280         (extract_range_from_unary_expr_1): Avoid useless computations.
8281
8282 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
8283
8284         PR rtl-optimization/51767
8285         * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
8286         of jump_block and add an extra edge for degenerated asm gotos.
8287
8288         PR middle-end/51768
8289         * stmt.c (check_unique_operand_names): Don't ICE during error
8290         reporting if i is from labels chain.
8291
8292         PR middle-end/44777
8293         * profile.c (branch_prob): Split bbs that have exit edge
8294         and need a fake entry edge too.
8295
8296 2012-01-05  Jan Hubicka  <jh@suse.cz>
8297
8298         PR middle-end/49710
8299         * cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when
8300         unlooping loops.
8301
8302 2012-01-05  Richard Guenther  <rguenther@suse.de>
8303
8304         PR lto/50490
8305         * tree-streamer-out.c (write_ts_optimization): New function.
8306         (streamer_write_tree_body): Call it.
8307         * tree-streamer-in.c (lto_input_ts_optimization): New function.
8308         (streamer_read_tree_body): Call it.
8309         * lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE.
8310
8311 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
8312
8313         PR middle-end/51761
8314         * gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr field.
8315         * gimplify.c (gimplify_cleanup_point_expr): Save and set
8316         in_cleanup_point_expr before gimplify_stmt call and restore it
8317         afterwards.
8318         (gimplify_target_expr): Don't add {CLOBBER} cleanup if
8319         in_cleanup_point_expr is false.
8320
8321 2012-01-05  Richard Guenther  <rguenther@suse.de>
8322
8323         PR middle-end/51764
8324         * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move
8325         to c.opt.
8326         * toplev.c (process_options): Reject combining mudflap and LTO.
8327         * tree-nomudflap.c (nogo): Use sorry instead of internal_error.
8328
8329 2012-01-05  Richard Guenther  <rguenther@suse.de>
8330
8331         PR tree-optimization/51760
8332         * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
8333         not VARYING.
8334         (bit_value_unop): Handle UNDEFINED operands.
8335         (bit_value_binop): Likewise.
8336
8337 2012-01-05  Georg-Johann Lay  <avr@gjlay.de>
8338
8339         * config/avr/avr.c (avr_replace_prefix): Remove.
8340         (avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix.
8341         (avr_asm_function_rodata_section): Ditto.
8342         (avr_asm_select_section): Ditto.
8343
8344 2012-01-05  Marcus Shawcroft  <marcus.shawcroft@arm.com>
8345
8346         * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
8347         insertion.
8348
8349 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
8350
8351         PR bootstrap/51648
8352         * tree-cfg.c (need_fake_edge_p): Return true also for noreturn
8353         calls that have any non-fake successor edges.
8354
8355         PR debug/51746
8356         * var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL.
8357
8358 2012-01-04  Eric Botcazou  <ebotcazou@adacore.com>
8359
8360         PR tree-optimization/51624
8361         * tree-sra.c (build_ref_for_model): When replicating a chain of
8362         COMPONENT_REFs, stop as soon as the offset would become negative.
8363
8364 2012-01-04  Jakub Jelinek  <jakub@redhat.com>
8365
8366         PR debug/51695
8367         * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
8368         in .debug_loc on the floor.
8369
8370 2012-01-04  Andrew Pinski  <apinski@cavium.com>
8371
8372         * doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2.
8373
8374 2012-01-04  Andrew Pinski  <apinski@cavium.com>
8375             Adam Nemet  <anemet@caviumnetworks.com>
8376
8377         * config/mips/mips.md (size): Add SI and DI.
8378         (SIZE): New mode attribute.
8379         (U): New code attribute.
8380         * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi.
8381         (mips_lbux_<mode>): Delete.
8382         (mips_l<SHORT:size><u>x_ext<GPR:mode>_<P:mode>): New pattern.
8383         (mips_lhx): Use gen_mips_lhx_extsi.
8384         (mips_lhx_<mode>): Delete.
8385         (mips_lwx): Delete.
8386         (mips_l<size>x): New expand.
8387         (mips_lwx_<mode>): Delete.
8388         (mips_l<GPR:size>x_<P:mode>): New pattern.
8389         (*mips_lw<u>x_<P:mode>_ext): Likewise.
8390         * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type.
8391         * config/mips/mips.c (mips_lx_address_p): New function.
8392         (mips_rtx_costs <case MEM>): Call mips_lx_address_p.
8393         (dsp64): New availability predicate.
8394         (mips_builtins): Add an entry for __builtin_mips_ldx.
8395         * config/mips/mips.h (ISA_HAS_LBX): New define.
8396         (ISA_HAS_LBUX): Likewise.
8397         (ISA_HAS_LHX): Likewise.
8398         (ISA_HAS_LHUX): Likewise.
8399         (ISA_HAS_LWX): Likewise.
8400         (ISA_HAS_LWUX): Likewise.
8401         (ISA_HAS_LDX): Likewise.
8402         * doc/extend.texi (__builtin_mips_ldx): Document.
8403
8404 2012-01-04  Tristan Gingold  <gingold@adacore.com>
8405
8406         * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define
8407         when long pointers are used.
8408         * config.build (*-*-*vms*): Handle all OpenVMS targets.
8409         (alpha64-dec-*vms*, alpha*-dec-*vms*)
8410         (ia64-hp-*vms*): Remove.
8411         * config/vms/xm-vms64.h: Delete.
8412
8413 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
8414
8415         PR middle-end/51472
8416         * trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly.
8417
8418 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
8419
8420         * opts.c (finish_options): Remove duplicate sorry.
8421
8422 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
8423
8424         PR middle-end/51696
8425         * trans-mem.c (diagnose_tm_1): Display indirect calls with no name
8426         correctly.
8427
8428 2012-01-04  Richard Guenther  <rguenther@suse.de>
8429
8430         PR middle-end/51750
8431         * tree.c (size_low_cst): New function.
8432         * tree.h (size_low_cst): Declare.
8433         * fold-const.c (fold_comparison): Use it to extract the low
8434         part of the POINTER_PLUS_EXPR offset.
8435
8436 2012-01-04  Georg-Johann Lay  <avr@gjlay.de>
8437
8438         Fix clearing ZERO_REG
8439         * config/avr/avr.md (cc): Add alternative "ldi".
8440         (movqi_insn): Use it in cc attribute.
8441         * config/avr/avr.c (notice_update_cc): Handle CC_LDI.
8442         (output_reload_in_const): Use CLR to move 0 to ZERO_REG.
8443         (output_reload_insisf): Use ZERO_REG to pre-clear register.
8444
8445 2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
8446
8447         * configure: Regenerate.
8448
8449 2012-01-04  Richard Guenther  <rguenther@suse.de>
8450
8451         PR tree-optimization/49651
8452         * tree-ssa-structalias.c (type_can_have_subvars): New function.
8453         (var_can_have_subvars): Use it.
8454         (get_constraint_for_1): Only consider subfields if there can be any.
8455
8456 2012-01-03  Jakub Jelinek  <jakub@redhat.com>
8457
8458         PR bootstrap/51725
8459         * cselib.c (new_elt_loc_list): When moving locs from one cselib_val
8460         to its new canonical_cselib_val and the cselib_val was in
8461         first_containing_mem chain, but the canonical_cselib_val was not,
8462         add the latter into the chain.
8463         (cselib_invalidate_mem): Compare canonical_cselib_val of
8464         addr_list chain elt with v.
8465
8466         PR pch/51722
8467         * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define,
8468         dwarf2out_undef): Allocate e.info using ggc_strdup instead
8469         of xstrdup.
8470         (output_macinfo_op): Don't ggc_strdup fd->filename.
8471         (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC,
8472         then ggc_strdup it.  Don't free inc->info or cur->info.
8473         (output_macinfo): Don't free ref->info or file->info.
8474
8475 2012-01-03  Ira Rosen  <irar@il.ibm.com>
8476
8477         PR tree-optimization/51269
8478         * tree-vect-loop-manip.c (set_prologue_iterations): Make
8479         first_niters a pointer.
8480         (slpeel_tree_peel_loop_to_edge): Likewise.
8481         (vect_do_peeling_for_loop_bound): Update call to
8482         slpeel_tree_peel_loop_to_edge.
8483         (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters
8484         here.  Remove it from the parameters list.
8485         (vect_do_peeling_for_alignment): Update calls and compute
8486         wide_prolog_niters.
8487
8488 2012-01-03  Richard Guenther  <rguenther@suse.de>
8489
8490         PR tree-optimization/51070
8491         * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
8492         Properly handle calls.
8493
8494 2012-01-03  Richard Guenther  <rguenther@suse.de>
8495
8496         PR tree-optimization/51692
8497         * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove
8498         the LHS of allocation stmts.
8499
8500 2012-01-03  Olivier Hainque  <hainque@adacore.com>
8501
8502         * system.h: Prior to #define, #undef fopen and freopen unconditionally.
8503
8504 2012-01-03  Olivier Hainque  <hainque@adacore.com>
8505
8506         * collect2.c (main): In AIX specific computations for vector
8507         insertions, use CONST_CAST2 to cast from char ** to const char **.
8508
8509 2012-01-03  Richard Guenther  <rguenther@suse.de>
8510
8511         PR debug/51650
8512         * dwarf2out.c (dwarf2out_finish): Always create a DIE for
8513         the context of a limbo DIE when it does not already exist.
8514
8515 2012-01-03  Jakub Jelinek  <jakub@redhat.com>
8516
8517         PR tree-optimization/51719
8518         * value-prof.c (gimple_ic): When indirect call isn't noreturn,
8519         but direct call is, clear direct call's lhs and don't add fallthrough
8520         edge from dcall_bb to join_bb and PHIs.
8521
8522 2012-01-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
8523
8524         * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning
8525         the instructions emitted by the pattern.
8526         ("*TDC_insn_<mode>"): Add comment.
8527
8528 2012-01-03  Richard Guenther  <rguenther@suse.de>
8529
8530         PR middle-end/51730
8531         * fold-const.c (fold_comparison): Properly canonicalize
8532         tree offset and HOST_WIDE_INT bit position.
8533
8534 2012-01-02  Uros Bizjak  <ubizjak@gmail.com>
8535
8536         * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
8537         operands for extzv pattern.
8538
8539 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
8540
8541         PR bootstrap/51725
8542         * cselib.c (add_mem_for_addr): Call canonical_cselib_val
8543         on mem_elt first.
8544
8545 2012-01-02  Sandra Loosemore  <sandra@codesourcery.com>
8546
8547         * doc/invoke.texi (-flto and related options): Copy-edit.
8548
8549 2012-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
8550
8551         * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
8552
8553 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
8554
8555         * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4):
8556         New patterns.
8557
8558 2012-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
8559
8560         * expr.h (move_by_pieces_ninsns): Declare.
8561         * expr.c (move_by_pieces_ninsns): Make external.
8562         * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
8563         (mips_store_by_pieces_p): Likewise.
8564         * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
8565         (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p.
8566         * config/mips/mips.c (mips_move_by_pieces_p): New function.
8567         (mips_store_by_pieces_p): Likewise.
8568
8569 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
8570
8571         * passes.c (register_one_dump_file): Free full_name.
8572
8573         * reload1.c (reload): Don't allocate reg_max_ref_width here.
8574         (calculate_elim_costs_all_insns): Free offsets_at and
8575         offsets_known_at at the end and clear the pointers.
8576
8577 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
8578
8579         * config/avr/avr.opt (-mbranch-cost): Fix double definition of
8580         this option introduced in r180739.
8581
8582 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
8583
8584         PR target/51345
8585         * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
8586         (tmake_file target=avr): Add avr/t-multilib.
8587
8588         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
8589         to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
8590         * config/avr/genmultilib.awk: New file.
8591         * config/avr/t-multilib: New auto-generated file.
8592         * config/avr/multilib.h: New auto-generated file.
8593         * config/avr/t-avr (AVR_MCUS): New variable.
8594         (genopt.sh): Use it.
8595         (s-mlib): Depend on t-multilib.
8596         (t-multilib, multilib.h): New dependencies.
8597         (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
8598         (MULTILIB_OPTIONS): Remove.
8599         (MULTILIB_MATCHES): Remove.
8600         (MULTILIB_DIRNAMES): Remove.
8601         (MULTILIB_EXCEPTIONS): Remove:
8602         * config/avr/genopt.sh: Don't use hard coded file name;
8603         pass AVR_MCUS from t-avr instead.
8604
8605 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
8606
8607         * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
8608
8609 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
8610
8611         Implement light-weight DImode support.
8612         * config/avr/avr-dimode.md: New file.
8613         * config/avr/avr.md: Include it.
8614         (adjust_len): Add plus64, compare64.
8615         (HIDI): Remove code iterator.
8616         (code_stdname): New code attribute.
8617         (rotx, rotsmode): Remove DI.
8618         (rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
8619         as code iterator.
8620         * config/avr/avr-protos.h (avr_have_dimode): New.
8621         (avr_out_plus64, avr_out_compare64): New.
8622         * config/avr/avr.c (avr_out_compare): Handle DImode.
8623         (avr_have_dimode): New variable definition and initialization.
8624         (avr_out_compare64, avr_out_plus64): New functions.
8625         (avr_out_plus_1): Use simplify_unary_operation to negate xval.
8626         (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
8627         (avr_compare_pattern): Skip DImode comparisons.
8628
8629 2012-01-02  Revital Eres  <revital.eres@linaro.org>
8630
8631         * ddg.c (def_has_ccmode_p): New function.
8632         (add_cross_iteration_register_deps,
8633         create_ddg_dep_from_intra_loop_link): Call it.
8634
8635 2012-01-02  Richard Guenther  <rguenther@suse.de>
8636
8637         PR other/51679
8638         * invoke.texi (fassociative-math): Remove spurious paranthesis.
8639
8640 2012-01-01  Jakub Jelinek  <jakub@redhat.com>
8641
8642         * gcc.c (process_command): Update copyright notice dates.
8643         * gcov.c (print_version): Likewise.
8644         * gcov-dump.c (print_version): Likewise.
8645         * mips-tfile.c (main): Likewise.
8646         * mips-tdump.c (main): Likewise.
8647
8648 2012-01-01  Ira Rosen  <irar@il.ibm.com>
8649
8650         PR tree-optimization/51704
8651         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
8652         a use is inside the basic block or loop before accessing its vect info.
8653
8654 2012-01-01  Jan Hubicka  <jhjh@suse.cz>
8655
8656         PR rtl-optimization/51069
8657         * cfgloopmanip.c (remove_path): Removing path making irreducible
8658         region unconditional makes BB part of the region.
8659
8660 2012-01-01  Jakub Jelinek  <jakub@redhat.com>
8661
8662         PR tree-optimization/51683
8663         * tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
8664         calls with side-effects.
8665         * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
8666 \f
8667 Copyright (C) 2012 Free Software Foundation, Inc.
8668
8669 Copying and distribution of this file, with or without modification,
8670 are permitted in any medium without royalty provided the copyright
8671 notice and this notice are preserved.