OSDN Git Service

030f3ffcd74db17c505f46e6e109d60d43f5775a
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2014-05-06  Richard Biener  <rguenther@suse.de>
2
3         Backport from mainline
4         2013-05-27  Richard Biener  <rguenther@suse.de>
5
6         PR tree-optimization/57417
7         * tree-ssa-sccvn.c (set_ssa_val_to): Compare addresses using
8         get_addr_base_and_unit_offset.
9
10 2014-04-25  Eric Botcazou  <ebotcazou@adacore.com>
11
12         PR target/60941
13         * config/sparc/sparc.md (ashlsi3_extend): Delete.
14
15 2014-04-23  Uros Bizjak  <ubizjak@gmail.com>
16
17         Backport from mainline
18         2014-04-21  Uros Bizjak  <ubizjak@gmail.com>
19
20         PR target/60909
21         * config/i386/i386.c (ix86_expand_builtin)
22         <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
23         register for target RTX.
24
25 2014-04-07  Martin Jambor  <mjambor@suse.cz>
26
27         PR ipa/60640
28         * ipa-cp.c (propagate_constants_accross_call): Do not propagate
29         accross thunks.
30
31 2014-04-07  Dominique d'Humieres <dominiq@lps.ens.fr>
32
33         Backport from mainline
34         2013-09-14  Iain Sandoe <iains@gcc.gnu.org>
35
36         PR target/48094
37         * config/darwin.c (darwin_objc2_section): Note if ObjC Metadata
38         is seen.
39         (darwin_objc1_section): Likewise.
40         (darwin_file_end): Emit Image Info section when required.
41
42 2014-04-04  Richard Biener  <rguenther@suse.de>
43
44         * tree-ssanames.c (make_ssa_name_fn): Fix assert.
45
46 2014-04-01  Richard Biener  <rguenther@suse.de>
47
48         * gimple.h (struct gimple_statement_base): Align subcode to
49         16 bits.
50
51 2014-04-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>
52
53         * doc/invoke.texi (mapp-regs): Clarify.
54
55 2014-03-23  Eric Botcazou  <ebotcazou@adacore.com>
56
57         PR rtl-optimization/60601
58         * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
59
60 2014-03-20  Jakub Jelinek  <jakub@redhat.com>
61
62         PR target/60568
63         * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
64         into CONST, put pic register as first operand of PLUS.  Use
65         gen_const_mem for both 32-bit and 64-bit PIC got loads.
66
67 2014-03-19  Eric Botcazou  <ebotcazou@adacore.com>
68
69         * tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Remove space.
70
71 2014-03-18  Kai Tietz  <ktietz@redhat.com>
72
73         PR rtl-optimization/56356
74         * sdbout.c (sdbout_parms): Verify that parms'
75         incoming argument is valid.
76         (sdbout_reg_parms): Likewise.
77
78 2014-03-18  Richard Biener  <rguenther@suse.de>
79
80         Backport from mainline
81         2013-11-05  Richard Biener  <rguenther@suse.de>
82
83         PR middle-end/58941
84         * tree-dfa.c (get_ref_base_and_extent): Merge common code
85         in MEM_REF and TARGET_MEM_REF handling.  Make sure to
86         process trailing array detection before diving into the
87         view-converted object (and possibly apply some extra offset).
88
89         2012-05-07  Eric Botcazou  <ebotcazou@adacore.com>
90
91         * tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Do the offset
92         computation using the precision of the index type.
93
94         2012-05-31  Eric Botcazou  <ebotcazou@adacore.com>
95
96         * tree-dfa.c (get_ref_base_and_extent): Compute the offset using
97         double ints throughout.
98
99 2014-03-18  Richard Biener  <rguenther@suse.de>
100
101         Backport from mainline
102         2013-08-27  Richard Biener  <rguenther@suse.de>
103
104         PR tree-optimization/57521
105         * tree-if-conv.c (if_convertible_bb_p): Verify that at least
106         one edge is non-critical.
107         (find_phi_replacement_condition): Make sure to use a non-critical
108         edge.  Cleanup and remove old bug workarounds.
109         (bb_postdominates_preds): Remove.
110         (if_convertible_loop_p_1): Do not compute post-dominators.
111         (combine_blocks): Do not free post-dominators.
112         (main_tree_if_conversion): Likewise.
113
114         2013-09-03  Richard Biener  <rguenther@suse.de>
115
116         PR middle-end/57656
117         * fold-const.c (negate_expr_p): Fix division case.
118         (negate_expr): Likewise.
119
120         2013-11-19  Richard Biener  <rguenther@suse.de>
121
122         PR tree-optimization/57517
123         * tree-predcom.c (combinable_refs_p): Verify the combination
124         is always executed when the refs are.
125
126 2014-03-17  Richard Biener  <rguenther@suse.de>
127
128         Backport from mainline
129         2013-05-21  Richard Biener  <rguenther@suse.de>
130
131         PR tree-optimization/57303
132         * tree-ssa-sink.c (statement_sink_location): Properly handle
133         self-assignments.
134
135         2013-12-02  Richard Biener  <rguenther@suse.de>
136
137         PR tree-optimization/59139
138         * tree-ssa-loop-niter.c (chain_of_csts_start): Properly match
139         code in get_val_for.
140         (get_val_for): Use gcc_checking_asserts.
141
142         2014-02-14  Richard Biener  <rguenther@suse.de>
143
144         PR tree-optimization/60183
145         * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating
146         loads.
147         (tree_ssa_phiprop): Calculate and free post-dominators.
148
149 2014-03-14  Georg-Johann Lay  <avr@gjlay.de>
150
151         Backport from 2014-03-14 trunk r208562.
152
153         PR target/59396
154         * config/avr/avr.c (avr_set_current_function): Pass function name
155         through default_strip_name_encoding before sanity checking instead
156         of skipping the first char of the assembler name.
157
158 2014-02-24  John David Anglin  <danglin@gcc.gnu.org>
159
160         * config/pa/pa.c (pa_output_move_double): Don't valididate when
161         adjusting offsetable addresses.
162
163 2014-02-21  Uros Bizjak  <ubizjak@gmail.com>
164
165         Backport from mainline
166         2014-02-21  Jakub Jelinek  <jakub@redhat.com>
167
168         * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
169         mode for mask of V8SFmode permutation.
170
171         Backport from 4.8 branch
172         2014-02-20  Jakub Jelinek  <jakub@redhat.com>
173
174         PR target/57896
175         * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
176         gen_reg_rtx if d->testing_p.
177         (expand_vec_perm_pshufb2, expand_vec_perm_even_odd_1,
178         expand_vec_perm_broadcast_1): Return early if d->testing_p and
179         we will certainly return true.
180
181 2014-02-20  Terry Guo  <terry.guo@arm.com>
182
183         Backport from mainline
184         2014-02-08  Terry Guo  <terry.guo@arm.com>
185
186         * doc/invoke.texi: Document ARM -march=armv7e-m.
187
188 2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
189
190         Backport from mainline
191         2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
192
193         PR target/60207
194         * config/i386/i386.c (construct_container): Remove TFmode check
195         for X86_64_INTEGER_CLASS.
196
197 2014-02-18  Kai Tietz  <ktietz@redhat.com>
198
199         Backport from mainline
200         PR target/60193
201         * config/i386/i386.c (ix86_expand_prologue): Use
202         rax register as displacement for restoring %r10, %rax.
203         Additional fix wrong offset for restoring both-registers.
204
205 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
206
207         * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
208         assertion with conditional return.
209
210 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
211             Uros Bizjak  <ubizjak@gmail.com>
212
213         PR driver/60233
214         * config/i386/driver-i386.c (host_detect_local_cpu): If
215         YMM state is not saved by the OS, also clear has_f16c.  Move
216         CPUID 0x80000001 handling before YMM state saving checking.
217
218 2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
219
220         Backport from mainline
221         2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
222
223         * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
224         operands[2], not operands[3].
225
226 2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
227
228         Backport from mainline
229         2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
230                     Uros Bizjak  <ubizjak@gmail.com>
231
232         PR target/60151
233         * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
234
235 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
236
237         * doc/invoke.texi: Fix thinko introduced by previous revision.
238
239 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
240
241         Backport from mainline.
242         2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
243
244         PR target/59718
245         * doc/invoke.texi (-march): Clarify documentation for ARM.
246         (-mtune): Likewise.
247         (-mcpu): Likewise.
248
249 2014-02-04  Uros Bizjak  <ubizjak@gmail.com>
250
251         Backport from mainline
252         2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
253
254         PR target/60017
255         * config/i386/i386.c (classify_argument): Fix handling of bit_offset
256         when calculating size of integer atomic types.
257
258 2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
259
260         Backport from mainline
261         2014-01-30  Jakub Jelinek  <jakub@redhat.com>
262
263         * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
264
265 2014-01-31  Richard Henderson  <rth@redhat.com>
266
267         PR middle-end/60004
268         * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
269         until after else_eh is processed.
270
271 2014-01-29  Markus Trippelsdorf  <markus@trippelsdorf.de>
272
273         Backport from mainline
274         2012-12-13  Jakub Jelinek  <jakub@redhat.com>
275
276         PR gcov-profile/55650
277         * coverage.c (coverage_obj_init): Return false if no functions
278         are being emitted.
279
280 2014-01-25  Walter Lee  <walt@tilera.com>
281
282         Backport from mainline
283         2014-01-25  Walter Lee  <walt@tilera.com>
284
285         * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
286         avoid clobbering a live register.
287
288 2014-01-25  Walter Lee  <walt@tilera.com>
289
290         Backport from mainline
291         2014-01-25  Walter Lee  <walt@tilera.com>
292
293         * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
294         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
295         * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
296         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
297
298 2014-01-25  Walter Lee  <walt@tilera.com>
299
300         Backport from mainline
301         2014-01-25  Walter Lee  <walt@tilera.com>
302
303         * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
304         insns before bundling.
305         * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
306
307 2014-01-25  Walter Lee  <walt@tilera.com>
308
309         Backport from mainline
310         2014-01-25  Walter Lee  <walt@tilera.com>
311
312         * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
313         PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
314         * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
315
316 2014-01-25  Walter Lee  <walt@tilera.com>
317
318         Backport from mainline
319         2014-01-25  Walter Lee  <walt@tilera.com>
320
321         * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
322         (clzdi2): Ditto.
323         (ffsdi2): Ditto.
324
325 2014-01-25  Walter Lee  <walt@tilera.com>
326
327         Backport from mainline
328         2014-01-25  Walter Lee  <walt@tilera.com>
329
330         * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
331         (TARGET_EXPAND_TO_RTL_HOOK): Define.
332
333 2014-01-22  Uros Bizjak  <ubizjak@gmail.com>
334             Jakub Jelinek  <jakub@redhat.com>
335
336         PR target/59880
337         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
338         for SImode_address_operand operands.  Return false
339         if operands[1] is a REG.
340
341 2014-01-21  Andrey Belevantsev  <abel@ispras.ru>
342
343         Backport from mainline
344         2013-12-23  Andrey Belevantsev  <abel@ispras.ru>
345
346         PR rtl-optimization/57422
347         * sel-sched.c (mark_unavailable_hard_regs): Fix typo when calling
348         add_to_hard_reg_set.
349
350 2014-01-19  John David Anglin  <danglin@gcc.gnu.org>
351
352         * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
353         long non-pic millicode calls.
354
355 2014-01-17  John David Anglin  <danglin@gcc.gnu.org>
356
357         * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
358         call to $$dyncall when TARGET_LONG_CALLS is true.
359
360 2014-01-17  Charles Baylis  <charles.baylis@linaro.org>
361
362         Backport from mainline
363         2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
364
365         PR target/59142
366         * config/arm/arm-ldmstm.ml: Use low_register_operand for Thumb
367         patterns.
368         * config/arm/ldmstm.md: Regenerate.
369
370         2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
371
372         PR target/59142
373         * config/arm/predicates.md (arm_hard_general_register_operand):
374         New predicate.
375         (arm_hard_register_operand): Remove.
376         * config/arm/arm-ldmstm.ml: Use arm_hard_general_register_operand
377         for all patterns.
378         * config/arm/ldmstm.md: Regenerate.
379
380 2014-01-16  Jakub Jelinek  <jakub@redhat.com>
381
382         PR target/59839
383         * config/i386/i386.c (ix86_expand_builtin): If target doesn't
384         satisfy operand 0 predicate for gathers, use a new pseudo as
385         subtarget.
386
387 2014-01-16  Richard Henderson  <rth@redhat.com>
388
389         PR debug/54694
390         * reginfo.c (global_regs_decl): Globalize.
391         * rtl.h (global_regs_decl): Declare.
392         * ira.c (do_reload): Diagnose frame_pointer_needed and it
393         reserved via global_regs.
394
395 2014-01-16  Marek Polacek  <polacek@redhat.com>
396
397         Backport from mainline
398         2014-01-16  Marek Polacek  <polacek@redhat.com>
399
400         PR middle-end/59827
401         * gimple-low.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
402         it is error_mark_node.
403
404 2014-01-14  Uros Bizjak  <ubizjak@gmail.com>
405
406         Revert:
407         2014-01-08  Uros Bizjak  <ubizjak@gmail.com>
408
409         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
410         from prefetch_block tune setting.
411
412 2014-01-10  Richard Earnshaw  <rearnsha@arm.com>
413
414         PR rtl-optimization/54300
415         * regcprop.c (copyprop_hardreg_forward_1): Ensure any unused
416         outputs in a single-set are killed from the value chains.
417
418 2014-01-10  Huacai Chen  <chenhc@lemote.com>
419
420         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
421         kernel strings for Loongson-2E/2F/3A.
422
423 2014-01-08  Uros Bizjak  <ubizjak@gmail.com>
424
425         Backport from mainline
426         2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
427
428         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
429         from prefetch_block tune setting.
430         (nocona_cost): Correct size of prefetch block to 64.
431
432 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
433
434         * doc/invoke.texi (output file options): Add missing markers.
435
436 2013-12-11  Kai Tietz  <ktietz@redhat.com>
437
438         PR target/56807
439         * config/i386/i386.c (ix86_expand_prologue): plus_constant
440         takes no mode-argument.
441
442 2013-12-10  Kai Tietz  <ktietz@redhat.com>
443
444         PR target/56807
445         * config/i386/i386.c (ix86_expand_prologue): Address saved
446         registers stack-relative, not via frame-pointer.
447
448 2013-12-03  Marek Polacek  <polacek@redhat.com>
449
450         Backport from mainline
451         2013-12-03  Marek Polacek  <polacek@redhat.com>
452
453         PR c/59351
454         * c-decl.c (build_compound_literal): Allow compound literals with
455         empty initial value.
456
457 2013-12-01  Eric Botcazou  <ebotcazou@adacore.com>
458
459         * config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an
460         identifier node.
461
462 2013-11-28  Uros Bizjak  <ubizjak@gmail.com>
463
464         Backport from mainline
465         2013-11-23  Uros Bizjak  <ubizjak@gmail.com>
466
467         PR target/56788
468         * config/i386/i386.c (bdesc_multi_arg) <IX86_BUILTIN_VFRCZSS>:
469         Declare as MULTI_ARG_1_SF instruction.
470         <IX86_BUILTIN_VFRCZSD>: Decleare as MULTI_ARG_1_DF instruction.
471         * config/i386/sse.md (*xop_vmfrcz<mode>2): Rename
472         from *xop_vmfrcz_<mode>.
473         * config/i386/xopintrin.h (_mm_frcz_ss): Use __builtin_ia32_movss
474         to merge scalar result with __A.
475         (_mm_frcz_sd): Use __builtin_ia32_movsd to merge scalar
476         result with __A.
477
478 2013-11-19  Uros Bizjak  <ubizjak@gmail.com>
479
480         Backport from mainline
481         2013-11-18  Uros Bizjak  <ubizjak@gmail.com>
482
483         * config/i386/i386.c (ix86_decompose_address): Use REG_P instead of
484         ix86_address_subreg_operand.  Move subreg checks to
485         ix86_validate_address_register.  Move address override check to
486         ix86_legitimate_address_p.
487         (ix86_validate_address_register): New function.
488         (ix86_legitimate_address_p): Call ix86_validate_address_register
489         to validate base and index registers.  Add address override check
490         from ix86_decompose_address.
491         (ix86_decompose_address): Remove.
492
493         Backport from mainline
494         2013-11-17  Uros Bizjak  <ubizjak@gmail.com>
495
496         PR target/59153
497         * config/i386/i386.c (ix86_address_subreg_operand): Do not
498         reject non-integer subregs.
499         (ix86_decompose_address): Do not reject invalid CONST_INT RTXes.
500         Move check for invalid x32 constant addresses ...
501         (ix86_legitimate_address_p): ... here.
502
503         Bacport from mainline
504         2012-03-13  Uros Bizjak  <ubizjak@gmail.com>
505
506         * config/i386/i386.c (ix86_decompose_address): Prevent %fs:(%reg)
507         addresses only when %reg is not in word mode.
508
509 2013-11-10  Karlson2k  <k2k@narod.ru>
510             Kai Tietz  <ktietz@redhat.com>
511
512         Merged from trunk
513         PR plugins/52872
514         * configure.ac: Adding for exported symbols check
515         and for rdynamic-check executable-extension.
516         * configure: Regenerated.
517
518 2013-11-07  H.J. Lu  <hongjiu.lu@intel.com>
519
520         PR target/59034
521         * config/i386/i386.md (push peepholer/splitter): Use Pmode
522         with stack_pointer_rtx.
523
524 2013-11-05  Uros Bizjak  <ubizjak@gmail.com>
525
526         * config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
527
528 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
529
530         Backport from mainline
531         2013-10-22  Uros Bizjak  <ubizjak@gmail.com>
532
533         PR target/58779
534         * config/i386/i386.c (put_condition_code) <case GTU, case LEU>:
535         Remove CCCmode handling.
536         <case LTU>: Return 'c' suffix for CCCmode.
537         <case GEU>: Return 'nc' suffix for CCCmode.
538         (ix86_cc_mode) <case GTU, case LEU>: Do not generate overflow checks.
539         * config/i386/i386.md (*sub<mode>3_cconly_overflow): Remove.
540         (*sub<mode>3_cc_overflow): Ditto.
541         (*subsi3_zext_cc_overflow): Ditto.
542
543 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
544
545         Backport from mainline
546         2013-10-19  Uros Bizjak  <ubizjak@gmail.com>
547
548         PR target/58792
549         * config/i386/i386.c (ix86_function_value_regno): Add DX_REG,
550         ST1_REG and XMM1_REG for 32bit and 64bit targets.  Also add DI_REG
551         and SI_REG for 64bit SYSV ABI targets.
552
553 2013-10-25  Richard Henderson  <rth@twiddle.net>
554
555         PR rtl/58542
556         * optabs.c (maybe_emit_atomic_exchange): Use create_input_operand
557         instead of create_convert_operand_to.
558         (maybe_emit_sync_lock_test_and_set): Likewise.
559         (expand_atomic_compare_and_swap): Likewise.
560         (maybe_emit_compare_and_swap_exchange_loop): Don't convert_modes.
561
562 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
563
564         PR rtl-optimization/58831
565         * alias.c (init_alias_analysis): At the beginning of each iteration,
566         set the reg_seen[N] flag if static_reg_base_value[N] is non-null.
567
568 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
569
570         * recog.c (search_ofs): New static variable moved from...
571         (peep2_find_free_register): ...here.
572         (peephole2_optimize): Initialize it.
573
574 2013-10-02  John David Anglin  <danglin@gcc.gnu.org>
575
576         * config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.
577
578 2013-09-23  Eric Botcazou  <ebotcazou@adacore.com>
579
580         * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
581         assignment statements.
582
583 2013-09-20  John David Anglin  <danglin@gcc.gnu.org>
584
585         * config/pa/pa.md: In "scc" insn patterns, change output template to
586         handle const0_rtx in reg_or_0_operand operands.
587
588 2013-09-18  Daniel Morris  <danielm@ecoscentric.com>
589             Paolo Carlini  <paolo.carlini@oracle.com>
590
591         PR c++/58458
592         * doc/implement-cxx.texi: Fix references to the C++ standards.
593
594 2013-09-14  John David Anglin  <danglin@gcc.gnu.org>
595
596         PR target/58382
597         * config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
598         calls to word_mode.
599
600 2013-09-12  Terry Guo  <terry.guo@arm.com>
601
602         Backport from mainline
603         2012-09-17  Richard Guenther  <rguenther@suse.de>
604
605         PR lto/54598
606         * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Use ggc'ed
607         FIXED_VALUE_TYPE instead of struct fixed_value.
608
609 2013-09-10  Richard Earnshaw  <rearnsha@arm.com>
610
611         PR target/58361
612         * arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to
613         support conditional execution.
614         (combine_vcvt_f64_<FCVTI32typename>): Likewise.
615
616 2013-09-01  Uros Bizjak  <ubizjak@gmail.com>
617
618         Backport from mainline
619         2013-08-31  Uros Bizjak  <ubizjak@gmail.com>
620
621         * config/alpha/alpha.c (alpha_emit_conditional_move): Update
622         "cmp" RTX before signed_comparison_operator check to account
623         for "code" changes.
624
625 2013-09-01  John David Anglin  <danglin@gcc.gnu.org>
626
627         * config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
628
629 2013-09-01  Iain Sandoe  <iain@codesourcery.com>
630
631         Backported from 4.8
632         2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
633
634         * doc/tm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE,
635         TARGET_OBJC_DECLARE_CLASS_DEFINITION): Add @hooks.
636         (ASM_DECLARE_CLASS_REFERENCE, ASM_DECLARE_UNRESOLVED_REFERENCE):
637         Remove.
638         * doc/tm.texi: Regenerate.
639         * config/darwin.h (ASM_OUTPUT_LABELREF): Remove special case for
640         .objc_class_name_*.
641         * config/darwin-c.c: Include target.h.
642         (darwin_objc_declare_unresolved_class_reference): New function.
643         (darwin_objc_declare_class_definition): New function.
644         (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE): Define.
645         (TARGET_OBJC_DECLARE_CLASS_DEFINITION): Define.
646
647 2013-09-01  Iain Sandoe  <iain@codesourcery.com>
648
649         Backport from mainline:
650         2013-07-22  Uros Bizjak  <ubizjak@gmail.com>
651
652         * config/i386/i386.md (nonlocal_goto_receiver): Delete insn if
653         it is not needed after split.
654
655         2013-07-20  Iain Sandoe  <iain@codesourcery.com>
656
657         PR target/51784
658         * config/i386/i386.c (output_set_got) [TARGET_MACHO]: Adjust to emit a
659         second label for nonlocal goto receivers. Don't output pic base labels
660         unless we're producing PIC; mark that action unreachable().
661         (ix86_save_reg): If the function contains a nonlocal label, save the
662         PIC base reg.
663         * config/darwin-protos.h (machopic_should_output_picbase_label): New.
664         * gcc/config/darwin.c (emitted_pic_label_num): New GTY.
665         (update_pic_label_number_if_needed): New.
666         (machopic_output_function_base_name): Adjust for nonlocal receiver
667         case.
668         (machopic_should_output_picbase_label): New.
669         * config/i386/i386.md (enum unspecv): UNSPECV_NLGR: New.
670         (nonlocal_goto_receiver): New insn and split.
671
672 2013-08-28  Uros Bizjak  <ubizjak@gmail.com>
673
674         Backport from mainline
675         2013-08-27  Christian Widmer  <shadow@umbrox.de>
676
677         PR target/57927
678         * config/i386/driver-i386.c (host_detect_local_cpu): Add detection
679         of Ivy Bridge processors.
680
681 2013-08-21  Richard Earnshaw  <rearnsha@arm.com>
682
683         PR target/56979
684         * arm.c (aapcs_vfp_allocate): Decompose the argument if the
685         suggested mode for the assignment isn't compatible with the
686         registers required.
687
688 2013-08-17  Uros Bizjak  <ubizjak@gmail.com>
689
690         Backport from mainline
691         2013-08-12  Perez Read  <netfirewall@gmail.com>
692
693         PR target/58132
694         * config/i386/i386.md (*movabs<mode>_1):  Add <ptrsize> PTR before
695         operand 0 for intel asm alternative.
696         (*movabs<mode>_2): Ditto for operand 1.
697
698 2013-08-13  Marek Polacek  <polacek@redhat.com>
699
700         Backport from 4.8:
701         2013-0813  Marek Polacek  <polacek@redhat.com>
702                    Jakub Jelinek  <jakub@redhat.com>
703
704         PR tree-optimization/57980
705         * tree-tailcall.c (process_assignment): Return false
706         when not dealing with integers or floats.
707
708 2013-08-12  David Edelsohn  <dje.gcc@gmail.com>
709
710         Backport from mainline
711         2013-02-14  Steven Bosscher  <steven@gcc.gnu.org>
712
713         * collect2-aix.h: Define F_LOADONLY.
714
715 2013-08-02  Eric Botcazou  <ebotcazou@adacore.com>
716
717         * config/sparc/sparc.c (sparc_emit_membar_for_model) <SMM_TSO>: Add
718         the implied StoreLoad barrier for atomic operations if before.
719
720 2013-07-11  Georg-Johann Lay  <avr@gjlay.de>
721
722         Backport from 2013-07-11 trunk r200901.
723
724         PR target/57631
725         * config/avr/avr.c (avr_set_current_function): Sanity-check signal
726         name seen by assembler/linker if available.
727
728 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
729
730         Backport from 2013-07-10 trunk r200872.
731
732         PR target/57844
733         * config/avr/avr.c (avr_prologue_setup_frame): Trunk -size to mode
734         of my_fp.
735
736 2013-07-10  Uros Bizjak  <ubizjak@gmail.com>
737
738         Backport from mainline
739         2013-07-06  Uros Bizjak  <ubizjak@gmail.com>
740
741         * config/i386/sse.md (sse_movlhps): Change alternative 3
742         of operand 2 to "m".
743
744 2013-07-09  Joseph Myers  <joseph@codesourcery.com>
745
746         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Only
747         adjust register size for TDmode and TFmode for VSX registers.
748
749 2013-07-08  Eric Botcazou  <ebotcazou@adacore.com>
750
751         * Makefile.in (tree-ssa-reassoc.o): Add dependency on $(PARAMS_H).
752
753 2013-07-08  Jakub Jelinek  <jakub@redhat.com>
754
755         PR rtl-optimization/57829
756         * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Ensure that
757         mask bits outside of mode are just sign-extension from mode to HWI.
758
759 2013-07-05  Uros Bizjak  <ubizjak@gmail.com>
760
761         Backport from mainline
762         2013-06-20  Uros Bizjak  <ubizjak@gmail.com>
763
764         PR target/57655
765         * config/i386/i386.c (construct_container): Report error if
766         long double is used with disabled x87 float returns.
767
768 2013-06-21  David Edelsohn  <dje.gcc@gmail.com>
769
770         Backport from mainline
771         2013-06-19  David Edelsohn  <dje.gcc@gmail.com>
772
773         PR driver/57652
774         * collect2.c (collect_atexit): New.
775         (collect_exit): Delete.
776         (main): Register collect_atexit with atexit.
777         (collect_wait): Change collect_exit to exit.
778         (do_wait): Same.
779         * collect2.h (collect_exit): Delete.
780         * tlink.c (do_tlink): Rename exit to ret. Change collect_exit to exit.
781
782 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
783
784         Backport from mainline
785         2013-06-10  Uros Bizjak  <ubizjak@gmail.com>
786
787         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Also use
788         cmp_code to construct REG_EQUAL note.
789
790         Backport from mainline
791         2013-06-05  Uros Bizjak  <ubizjak@gmail.com>
792
793         * config/alpha/alpha.c (alpha_emit_conditional_move): Swap all
794         GE, GT, GEU and GTU compares, modulo DImode compares with zero.
795
796         Backport from mainline
797         2013-05-23  Uros Bizjak  <ubizjak@gmail.com>
798
799         PR target/57379
800         * config/alpha/alpha.md (unspec): Add UNSPEC_XFLT_COMPARE.
801         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Construct
802         REG_EQUAL note as UNSPEC_XFLT_COMPARE unspec.
803
804 2013-06-09  Jakub Jelinek  <jakub@redhat.com>
805
806         PR target/57568
807         * config/i386/i386.md (TARGET_READ_MODIFY_WRITE peepholes): Ensure
808         that operands[2] doesn't overlap with operands[0].
809
810 2013-05-22  Uros Bizjak  <ubizjak@gmail.com>
811
812         PR target/57356
813         * config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
814         for non-sse2 targets.  Simplify mode attribute calculation.
815
816 2013-05-17  Uros Bizjak  <ubizjak@gmail.com>
817
818         Backport from mainline
819         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
820
821         * config/i386/driver-i386.c (host_detect_local_cpu): Determine
822         cache parameters using detect_caches_amd also for CYRIX,
823         NSC and TM2 signatures.
824
825         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
826                     Dzianis Kahanovich  <mahatma@eu.by>
827
828         PR target/45359
829         PR target/46396
830         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
831         VIA/Centaur processors and determine their cache parameters
832         using detect_caches_amd.
833
834         2013-05-15  Uros Bizjak  <ubizjak@gmail.com>
835
836         * config/i386/i386.c (ix86_option_override_internal): Add
837         PTA_POPCNT to corei7 entry.
838
839 2013-05-14  Richard Biener  <rguenther@suse.de>
840
841         PR gcov-profile/57269
842         Backport from mainline
843         2012-06-30  Nathan Sidwell  <nathan@acm.org>
844
845         * coverage.c (coverage_init): Read counts file before writing
846         graph header.
847
848 2013-05-13  Uros Bizjak  <ubizjak@gmail.com>
849
850         PR target/57264
851         Backport from mainline
852         2013-01-22  Jakub Jelinek  <jakub@redhat.com>
853
854         PR target/55686
855         * config/i386/i386.md (UNSPEC_STOS): New.
856         (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
857         *strsetqi_1): Add UNSPEC_STOS.
858
859 2013-05-10  Joey Ye  <joey.ye@arm.com>
860
861         Backport from mainline
862         2012-11-29  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
863
864         PR target/54974
865         * config/arm/arm.md (thumb2_pool_range, pool_range): Add comment on
866         Thumb pool ranges.
867         (thumb1_extendhisi2): Reduce Thumb pool range.
868         (arm_movdi): Likewise.
869         (thumb1_movdi_insn): Likewise.
870         (thumb1_movsi_insn): Likewise.
871         (pic_load_addr_unified): Likewise.
872         (pic_load_addr_32bit): Likewise.
873         (pic_load_addr_thumb1): Likewise.
874         (thumb1_movhf): Likewise.
875         (arm_movsf_soft_insn): Likewise.
876         (thumb1_movsf_soft_insn): Likewise.
877         (movdf_soft_insn): Likewise.
878         (thumb1_movdf_soft_insn): Likewise.
879         * config/arm/neon.md (*neon_mov<mode>): Likewise.
880         (*neon_mov<mode>): Likwise.
881         * config/arm/thumb2.md: (*thumb2_movsi_insn): Likewise.
882         (*thumb2_movhi_insn): Likewise.
883         (*thumb2_extendqisi_v6): Likewise.
884         (*thumb2_zero_extendqisi_v6): Likewise.
885         (*thumb2_zero_extendqisi2_v6): Likewise.
886         * config/arm/vfp.md: (*thumb2_movsi_vfp): Likewise.
887         (*movdi_vfp): Likewise.
888         (*movdi_vfp_cortexa8): Likewise.
889         (*thumb2_movsf_vfp): Likewise.
890         (*thumb2_movdf_vfp): Likewise.
891
892 2013-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
893
894         * config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
895         Add mthumb/march=armv7-a multilib.
896         Add mthumb/march=armv7-r multilib.
897         Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
898
899 2013-05-10  Ralf Corsépius  <ralf.corsepius@rtems.org>
900
901         PR target/57237
902         * config/v850/t-rtems: Add more multilibs.
903
904 2013-05-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
905
906         Backport from trunk
907         2013-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
908
909         PR target/57150
910         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
911         to save TFmode registers and DImode to save TImode registers for
912         caller save operations.
913         (HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
914         mark being partially clobbered since they only use the first
915         double word.
916
917         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
918         and TDmode only use the upper 64-bits of each VSX register.
919
920 2013-05-03  Marek Polacek  <polacek@redhat.com>
921
922         Backport from mainline
923         2013-04-25  Marek Polacek  <polacek@redhat.com>
924
925         PR tree-optimization/57066
926         * builtins.c (fold_builtin_logb): Return +Inf for -Inf.
927
928 2013-04-30  Uros Bizjak  <ubizjak@gmail.com>
929
930         Backport from mainline
931         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
932
933         PR target/44578
934         * config/i386/i386.md (*zero_extendsidi2_rex64): Add "!" to m->?*y
935         alternative.
936         (*zero_extendsidi2): Ditto.
937
938         Backport from mainline
939         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
940
941         PR target/57098
942         * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.
943
944 2013-04-29  Christian Bruel  <christian.bruel@st.com>
945
946         PR target/57108
947         * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.
948
949 2013-04-27  Jakub Jelinek  <jakub@redhat.com>
950
951         PR target/56866
952         * config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
953         the immediate rotate count.
954
955 2013-04-21  Eric Botcazou  <ebotcazou@adacore.com>
956
957         * cfgexpand.c (avoid_complex_debug_insns): Fix C++ism.
958
959 2013-04-19  Matthias Klose  <doko@ubuntu.com>
960
961         PR middle-end/56848
962         Re-apply
963         2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
964
965         Backport from mainline
966         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
967         Alexander Monakov  <amonakov@ispras.ru>
968
969         PR middle-end/56077
970         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
971         flush pending lists also on non-jumps.  Adjust comment.
972
973         Backport from 4.8:
974         2012-08-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
975
976         * sched-deps.c (add_dependence_list_and_free): Simplify.
977         (flush_pending_list_and_free): Fix a hack that was fixing a hack.  Free
978         lists when add_dependence_list_and_free doesn't free them.
979
980 2013-04-19  Marek Polacek  <polacek@redhat.com>
981
982         Backport from mainline
983         2013-01-08  Steven Bosscher  <steven@gcc.gnu.org>
984                     Jakub Jelinek  <jakub@redhat.com>
985
986         PR tree-optimization/48189
987         * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
988         If nitercst is 0, don't predict the exit edge.
989
990 2013-04-16  Jack Howarth  <howarth@bromo.med.uc.edu>
991
992         Backport from mainline
993         2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
994         * config/darwin.h (STARTFILE_SPEC): Use -no_new_main with -lgcrt1.o
995         on Darwin >= 12.
996         (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10 and < 12.
997
998
999         2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
1000         PR debug/53453
1001         * doc/tm.texi: Update.
1002         * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Add @hook.
1003         * target.def (force_at_comp_dir): New hook.
1004         * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define.
1005         * dwarf2out.c (dwarf2out_finish): Check targetm.force_at_comp_dir.
1006
1007 2013-04-15  Eric Botcazou  <ebotcazou@adacore.com>
1008
1009         PR target/56890
1010         * config/sparc/sparc.c (enum sparc_mode_class): Add H_MODE value.
1011         (S_MODES): Set H_MODE bit.
1012         (SF_MODES): Set only S_MODE and SF_MODE bits.
1013         (DF_MODES): Set SF_MODES and only D_MODE and DF_MODE bits.
1014         (sparc_init_modes) <MODE_INT>: Set H_MODE bit for sub-word modes.
1015         <MODE_VECTOR_INT>: Do not set SF_MODE for sub-word modes.
1016         <MODE_FLOAT>: Likewise.
1017
1018 2013-04-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1019
1020         Backport from mainline:
1021         2013-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1022
1023         PR target/55487
1024         * config/pa/pa.c (legitimize_pic_address): Before incrementing label
1025         nuses, make sure we have a label.
1026
1027 2013-04-11  Richard Biener  <rguenther@suse.de>
1028
1029         * BASE-VER: Set to 4.7.4.
1030         * DEV-PHASE: Set to prerelease.
1031
1032 2013-04-11  Release Manager
1033
1034         * GCC 4.7.3 released.
1035
1036 2013-04-10  David S. Miller  <davem@davemloft.net>
1037
1038         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
1039         or -mcpu=hypersparc.
1040
1041 2013-04-05  Eric Botcazou  <ebotcazou@adacore.com>
1042
1043         PR middle-end/56848
1044         Revert
1045         2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1046
1047         Backport from mainline
1048         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
1049         Alexander Monakov  <amonakov@ispras.ru>
1050
1051         PR middle-end/56077
1052         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
1053         flush pending lists also on non-jumps.  Adjust comment.
1054
1055 2013-04-03  Richard Biener  <rguenther@suse.de>
1056
1057         PR tree-optimization/56501
1058         * tree-switch-conversion.c (check_process_case): Properly
1059         handle !single_succ_p case.
1060
1061 2013-04-03  Jakub Jelinek  <jakub@redhat.com>
1062
1063         Backported from mainline
1064         2013-03-06  Jakub Jelinek  <jakub@redhat.com>
1065
1066         PR tree-optimization/56539
1067         * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
1068         instead of GSI_CONTINUE_LINKING as last argument to
1069         force_gimple_operand_gsi.  Adjust function comment.
1070
1071         2013-03-05  Jakub Jelinek  <jakub@redhat.com>
1072
1073         PR debug/56510
1074         * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
1075         (avoid_complex_debug_insns): New function.
1076         (expand_debug_locations): Call it.
1077
1078 2013-04-02  Wei Mi  <wmi@google.com>
1079
1080         * config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
1081         ashl<mode>3_mask, *<shift_insn><mode>3_mask and
1082         *<rotate_insn><mode>3_mask in i386.md.
1083
1084 2013-04-02  Richard Biener  <rguenther@suse.de>
1085
1086         PR middle-end/56768
1087         Backport from mainline
1088         2012-05-16  Richard Guenther  <rguenther@suse.de>
1089
1090         * tree-inline.c (declare_return_variable): Properly handle
1091         DECL_BY_REFERENCE return vars in SSA form.
1092
1093 2013-04-01  Wei Mi  <wmi@google.com>
1094
1095         * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
1096         Truncate operand 2 using %b asm operand modifier.
1097         (*<shift_insn><mode>3_mask): Ditto.
1098         (*<rotate_insn><mode>3_mask): Ditto.
1099
1100 2013-04-01  Uros Bizjak  <ubizjak@gmail.com>
1101
1102         * config/i386/i386.md (*movsf_internal): Change type of
1103         alternatives 3,4 to imov.
1104
1105 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1106
1107         Backport from mainline
1108         2013-02-27  Andrey Belevantsev  <abel@ispras.ru>
1109
1110         PR middle-end/45472
1111         * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
1112         when the may_trap_p bit of the exprs being merged differs.
1113         Reorder tests for speculativeness in the logical and operator.
1114
1115         Backport from mainline
1116          2013-03-05  Jakub Jelinek  <jakub@redhat.com>
1117
1118         PR middle-end/56461
1119         * sel-sched-ir.c (free_sched_pools): Release
1120         succs_info_pool.stack[succs_info_pool.max_top] vectors too
1121         if succs_info_pool.max_top isn't -1.
1122
1123 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1124
1125         Backport from mainline
1126         2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
1127
1128         PR middle-end/55889
1129         * sel-sched.c: Include ira.h.
1130         (implicit_clobber_conflict_p): New function.
1131         (moveup_expr): Use it.
1132         * Makefile.in (sel-sched.o): Depend on ira.h.
1133
1134 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1135
1136         Backport from mainline
1137         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
1138         Alexander Monakov  <amonakov@ispras.ru>
1139
1140         PR middle-end/56077
1141         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
1142         flush pending lists also on non-jumps.  Adjust comment.
1143
1144 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
1145
1146         * doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
1147         * doc/extend.texi (Named Address Spaces): Ditto.
1148         (Variable Attributes): Ditto.
1149
1150 2013-03-28  Eric Botcazou  <ebotcazou@adacore.com>
1151
1152         * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
1153         general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
1154         is not enabled.
1155
1156 2013-03-27  Walter Lee  <walt@tilera.com>
1157
1158         Backport from mainline:
1159         2013-03-27  Walter Lee  <walt@tilera.com>
1160
1161         * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
1162         double-decrement of next_scratch_regno.
1163
1164 2013-03-27  Walter Lee  <walt@tilera.com>
1165
1166         Backport from mainline:
1167         2013-03-27  Walter Lee  <walt@tilera.com>
1168
1169         * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
1170         input operands.
1171         (insn_v1mulus): Ditto.
1172         (insn_v2muls): Ditto.
1173
1174 2013-03-27  Walter Lee  <walt@tilera.com>
1175
1176         Backport from mainline:
1177         2013-03-27  Walter Lee  <walt@tilera.com>
1178
1179         * config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
1180         extra tab.
1181         (ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
1182
1183 2013-03-27  Walter Lee  <walt@tilera.com>
1184
1185         Backport from mainline:
1186         2013-03-27  Walter Lee  <walt@tilera.com>
1187
1188         * config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute
1189         for jr.
1190         (*sibcall_value): Ditto.
1191
1192 2013-03-27  Walter Lee  <walt@tilera.com>
1193
1194         Backport from mainline:
1195         2013-03-27  Walter Lee  <walt@tilera.com>
1196
1197         * config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
1198         (insn_mnz_v8qi): ... this ...
1199         (insn_mnz_v4hi): ... and this.  Replace (const_int 0) with the
1200         vector equivalent.
1201         (insn_v<n>mnz): Replaced by ...
1202         (insn_v1mnz): ... this ...
1203         (insn_v2mnz): ... and this.  Replace (const_int 0) with the vector
1204         equivalent.
1205         (insn_mz_<mode>): Replaced by ...
1206         (insn_mz_v8qi): ... this ...
1207         (insn_mz_v4hi): ... and this.  Replace (const_int 0) with the
1208         vector equivalent.
1209         (insn_v<n>mz): Replaced by ...
1210         (insn_v1mz): ... this ...
1211         (insn_v2mz): ... and this.  Replace (const_int 0) with the vector
1212         equivalent.
1213
1214 2013-03-26  Eric Botcazou  <ebotcazou@adacore.com>
1215
1216         * doc/invoke.texi (SPARC options): Remove -mlittle-endian.
1217
1218 2013-03-26  Richard Biener  <rguenther@suse.de>
1219
1220         Backport from mainline:
1221         2013-03-13  Richard Biener  <rguenther@suse.de>
1222
1223         PR tree-optimization/56608
1224         * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
1225         calls when vectorizing basic-blocks.
1226
1227         2013-03-05  Richard Biener  <rguenther@suse.de>
1228
1229         PR tree-optimization/56270
1230         * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
1231         of loads after scheduling an SLP instance.
1232
1233 2013-03-26  Walter Lee  <walt@tilera.com>
1234
1235         Backport from mainline:
1236         2013-03-26  Walter Lee  <walt@tilera.com>
1237
1238         * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
1239         * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
1240
1241 2013-03-26  Walter Lee  <walt@tilera.com>
1242
1243         Backport from mainline:
1244         2013-03-25  Walter Lee  <walt@tilera.com>
1245
1246         * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
1247         TILEGX_INSN_SHUFFLEBYTES1.
1248         * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
1249         shufflebytes1.
1250         (tilegx_builtins): Ditto.
1251         * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
1252
1253 2013-03-26  Walter Lee  <walt@tilera.com>
1254
1255         Backport from mainline:
1256         2013-03-25  Walter Lee  <walt@tilera.com>
1257
1258         * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
1259         tests for constraint J, K, N, P.
1260
1261 2013-03-26  Walter Lee  <walt@tilera.com>
1262
1263         Backport from mainline:
1264         2013-03-25  Walter Lee  <walt@tilera.com>
1265
1266         * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
1267         Use indirect/pcrel encoding.
1268         * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
1269         Ditto.
1270
1271 2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
1272
1273         Backport from mainline:
1274         2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
1275         2013-03-14  Kaz Kojima  <kkojima@gcc.gnu.org>
1276
1277         PR target/49880
1278         * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
1279         (musermode): Convert to Var(TARGET_USERMODE).
1280         * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
1281         MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
1282         * config/sh/sh.c (sh_option_override): Use
1283         TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
1284         * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
1285         condition.
1286         (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
1287         TARGET_SH4.
1288         (udivsi3_i4_single, divsi3_i4_single): Use
1289         TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
1290         * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1291         (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
1292         * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1293         (SUBTARGET_OVERRIDE_OPTIONS): New.
1294
1295 2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
1296
1297         Backport from mainline:
1298         2012-04-03  Kaz Kojima  <kkojima@gcc.gnu.org>
1299
1300         * config/sh/t-sh (MULTILIB_MATCHES): Match m2a-single-only
1301         to m2a-single instead of m2e.
1302
1303 2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1304
1305         PR target/56560
1306         * config/i386/i386.h (ix86_args): Define only if USED_FOR_TARGET
1307         isn't defined.
1308
1309 2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1310
1311         PR target/56560
1312         * config/i386/i386.c (init_cumulative_args): Also set
1313         cum->callee_return_avx256_p.
1314         (ix86_function_arg): Set cum->callee_pass_avx256_p.  Set
1315         cfun->machine->callee_pass_avx256_p only when MODE == VOIDmode.
1316
1317         * config/i386/i386.h (ix86_args): Add callee_pass_avx256_p and
1318         callee_return_avx256_p.
1319
1320 2013-03-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1321
1322         Backport from mainline:
1323         2012-12-04  Ian Lance Taylor  <iant@google.com>
1324
1325         * godump.c (find_dummy_types): Output a dummy type if we couldn't
1326         output the real type.
1327
1328 2013-03-20  Jack Howarth  <howarth@bromo.med.uc.edu>
1329
1330         PR bootstrap/56258
1331         * doc/generic.texi (POINTER_PLUS_EXPR): Use @item instead of @itemx.
1332         (PLUS_EXPR): Likewise.
1333         * doc/cppopts.texi (--help): Likewise.
1334         * doc/invoke.texi (-fenable-@var{kind}-@var{pass}): Likewise.
1335         (-fdump-rtl-cprop_hardreg): Likewise.
1336         (-fdump-rtl-csa): Likewise.
1337         (-fdump-rtl-dce): Likewise.
1338         (-fdump-rtl-dbr): Likewise.
1339         (-fdump-rtl-into_cfglayout): Likewise.
1340         (-fdump-rtl-outof_cfglayout): Likewise.
1341
1342 2013-03-18  Richard Earnshaw  <rearnsha@arm.com>
1343
1344         PR target/56470
1345         * config/arm/arm.c (shift_op): Validate RTL pattern on the fly.
1346         (arm_print_operand, case 'S'): Don't use shift_operator to validate
1347         the RTL.
1348
1349 2013-03-14  Seth LaForge  <sethml@google.com>
1350
1351         PR target/56351
1352         Backport from mainline
1353         2012-10-22  Julian Brown  <julian@codesourcery.com>
1354
1355         * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing
1356         VFP D registers in big-endian mode.
1357
1358 2013-03-08  Joey Ye  <joey.ye@arm.com>
1359
1360         Backport from mainline
1361         2013-03-06  Joey Ye  <joey.ye@arm.com>
1362
1363         PR lto/50293
1364         * gcc.c (convert_white_space): New function.
1365         (main): Handles white space in function name.
1366
1367 2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
1368
1369         Backport from mainline
1370         2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
1371
1372         PR target/56529
1373         * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
1374         instead of TARGET_SH2 for call-table case.  Do not set sh_div_strategy
1375         to SH_DIV_CALL_TABLE for TARGET_SH2.
1376         * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
1377         list.
1378         * doc/invoke.texi (SH options): Use table for mdiv= option.  Document
1379         mdiv= call-div1, call-fp, call-table options.
1380
1381 2013-03-06  Sebastian Huber <sebastian.huber@embedded-brains.de>
1382
1383         * config.gcc (arm*-*-rtemself*): New.
1384         (arm*-*-rtems*): Removed.
1385         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
1386         "arm*-*-rtemseabi*" to "arm*-*-rtems*".
1387
1388 2013-03-01  Richard Biener  <rguenther@suse.de>
1389
1390         Backport from mainline
1391         2012-12-12  Zdenek Dvorak  <ook@ucw.cz>
1392
1393         PR tree-optimization/55481
1394         * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall
1395         back to general rewriting if we cannot leave an original biv
1396         definition alone.
1397
1398 2013-03-01  Richard Biener  <rguenther@suse.de>
1399
1400         Backport from mainline
1401         2012-04-10  Richard Guenther  <rguenther@suse.de>
1402
1403         PR middle-end/52888
1404         * gimple-low.c (gimple_check_call_args): Properly account for
1405         compatible aggregate types.
1406
1407 2013-02-26  Nick Clifton  <nickc@redhat.com>
1408
1409         PR target/56453
1410         Import this patch from the mainline:
1411
1412         2012-08-17  Nick Clifton  <nickc@redhat.com>
1413
1414         * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
1415         (branch_true): Likewise.
1416         (branch_false): Likewise.
1417
1418 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
1419
1420         PR tree-optimization/56443
1421         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
1422         overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
1423         to type_for_mode langhook.
1424
1425 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
1426
1427         PR bootstrap/56258
1428         * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
1429         instead of @itemx.
1430
1431 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
1432
1433         Backported from mainline
1434         2013-02-19  Jakub Jelinek  <jakub@redhat.com>
1435
1436         PR tree-optimization/56350
1437         * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
1438         if haven't found reduction or nested cycle operand, rather than
1439         asserting we must find it.
1440
1441         PR tree-optimization/56381
1442         * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
1443         to fold_build3.
1444
1445         2013-02-08  Jakub Jelinek  <jakub@redhat.com>
1446
1447         PR tree-optimization/56250
1448         * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
1449         if type is unsigned and code isn't MULT_EXPR.
1450
1451         2013-02-06  Jakub Jelinek  <jakub@redhat.com>
1452
1453         PR middle-end/56217
1454         * omp-low.c (use_pointer_for_field): Return false if
1455         lower_send_shared_vars doesn't generate any copy-out code.
1456
1457         2012-11-27  Jakub Jelinek  <jakub@redhat.com>
1458
1459         PR tree-optimization/55110
1460         * tree-vect-loop.c (vectorizable_reduction): Don't assert
1461         that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.
1462
1463 2013-02-18  Richard Biener  <rguenther@suse.de>
1464
1465         Revert
1466         2013-02-04  Richard Biener  <rguenther@suse.de>
1467
1468         Backport from mainline
1469         2012-07-04  Richard Guenther  <rguenther@suse.de>
1470
1471         PR tree-optimization/53844
1472         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
1473         the loop virtual PHI.
1474
1475 2013-02-13  David S. Miller  <davem@davemloft.net>
1476
1477         * expmed.c (expand_shift_1): Only strip scalar integer subregs.
1478
1479 2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
1480
1481         Backport from mainline
1482         2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
1483
1484         PR rtl-optimization/56275
1485         * simplify-rtx.c (avoid_constant_pool_reference): Check that
1486         offset is non-negative and less than cmode size before
1487         calling simplify_subreg.
1488
1489 2013-02-09  Uros Bizjak  <ubizjak@gmail.com>
1490
1491         Backport from mainline
1492         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
1493
1494         * config/i386/sse.md (FMAMODEM): New mode iterator.
1495         (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
1496         mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
1497
1498         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
1499
1500         * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
1501         when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
1502         * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
1503
1504 2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1505
1506         Backport from mainline
1507         2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1508
1509         PR target/56043
1510         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
1511         If there is no implicit builtin declaration, just return NULL.
1512
1513 2013-02-08  David Edelsohn  <dje.gcc@gmail.com>
1514             Michael Meissner  <meissner@linux.vnet.ibm.com>
1515
1516         Backport from mainline
1517         * config/rs6000/rs6000.c (rs6000_option_override_internal): Clear
1518         MASK_VSX from set_masks if OS_MISSING_ALTIVEC.
1519
1520 2013-02-07  David S. Miller  <davem@davemloft.net>
1521
1522         * dwarf2out.c (based_loc_descr): Perform leaf register remapping
1523         on 'reg'.
1524         * var-tracking.c (vt_add_function_parameter): Test the presence of
1525         HAVE_window_save properly and do not remap argument registers when
1526         we have a leaf function.
1527
1528 2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
1529
1530         Backport from mainline
1531         2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
1532
1533         PR bootstrap/56227
1534         * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
1535         instead of "ll".
1536         * config/i386/i386.c (ix86_print_operand): Ditto.
1537
1538 2013-02-07  Alan Modra  <amodra@gmail.com>
1539
1540         PR target/53040
1541         * config/rs6000/rs6000.c (rs6000_savres_strategy): When using
1542         static chain, set REST_INLINE_FPRS too.
1543
1544 2013-02-06  David Edelsohn  <dje.gcc@gmail.com>
1545
1546         Backport from mainline
1547         2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
1548
1549         * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
1550         * configure: Regenerate.
1551
1552 2013-02-05  David Edelsohn  <dje.gcc@gmail.com>
1553
1554         Backport from mainline
1555         2013-02-03  David Edelsohn  <dje.gcc@gmail.com>
1556                     Andrew Dixie  <andrewd@gentrack.com>
1557
1558         * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
1559         flag set.
1560
1561 2013-02-05  Richard Biener  <rguenther@suse.de>
1562
1563         Backport from mainline
1564         2012-12-10  Richard Biener  <rguenther@suse.de>
1565
1566         PR tree-optimization/55107
1567         * tree-ssa-pre.c (struct pre_stats): Remove constified field.
1568         (bitmap_set_replace_value): Add gcc_unreachable.
1569         (do_regular_insertion): Re-write all_same handling.  Insert
1570         an assignment instead of a PHI in this case.
1571         (execute_pre): Do not record constified events.
1572
1573 2013-02-05  Richard Biener  <rguenther@suse.de>
1574
1575         PR tree-optimization/54767
1576         * tree-vrp.c (vrp_visit_phi_node): For PHI arguments coming via
1577         backedges drop all symbolical range information.
1578         (execute_vrp): Compute backedges.
1579
1580 2013-02-04  Richard Biener  <rguenther@suse.de>
1581
1582         Backport from mainline
1583         2012-01-11  Richard Guenther  <rguenther@suse.de>
1584
1585         PR tree-optimization/44061
1586         * tree-vrp.c (extract_range_basic): Compute zero as
1587         value-range for __builtin_constant_p of function parameters.
1588
1589         2013-01-08  Jakub Jelinek  <jakub@redhat.com>
1590
1591         PR middle-end/55890
1592         * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_class_p.
1593
1594 2013-02-04  Richard Biener  <rguenther@suse.de>
1595
1596         Backport from mainline
1597         2012-07-04  Richard Guenther  <rguenther@suse.de>
1598
1599         PR tree-optimization/53844
1600         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
1601         the loop virtual PHI.
1602
1603         2012-12-13  Richard Biener  <rguenther@suse.de>
1604
1605         PR lto/55660
1606         * tree-streamer.c (record_common_node): Check that we are not
1607         recursively pre-loading nodes we want to skip.  Handle
1608         char_type_node appearing as part of va_list_type_node.
1609
1610 2013-02-04  Richard Biener  <rguenther@suse.de>
1611
1612         PR middle-end/55890
1613         * gimple.h (gimple_call_builtin_class_p): New function.
1614         * gimple.c (validate_call): New function.
1615         (gimple_call_builtin_class_p): Likewise.
1616         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
1617         Use gimple_call_builtin_class_p.
1618         (find_func_clobbers): Likewise.
1619         * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
1620         (strlen_optimize_stmt): Likewise.
1621
1622 2013-02-01  Jakub Jelinek  <jakub@redhat.com>
1623
1624         Backported from mainline
1625         2013-01-28  Jakub Jelinek  <jakub@redhat.com>
1626
1627         PR tree-optimization/56125
1628         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
1629         pow(x,c) into sqrt(x) * powi(x, n/2) or
1630         1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
1631         optimizing for size.
1632         Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
1633         1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
1634         integer.
1635
1636         2013-01-25  Jakub Jelinek  <jakub@redhat.com>
1637
1638         PR tree-optimization/56098
1639         * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
1640         for stmts with volatile ops.
1641         (cond_store_replacement): Don't optimize if assign has volatile ops.
1642         (cond_if_else_store_replacement_1): Don't optimize if either
1643         then_assign or else_assign have volatile ops.
1644
1645         2013-01-23  Jakub Jelinek  <jakub@redhat.com>
1646
1647         PR target/49069
1648         * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
1649         instead of cmpdi_operand for first comparison operand.
1650         Don't assert that comparison operands aren't both constants.
1651
1652         2013-01-21  Jakub Jelinek  <jakub@redhat.com>
1653
1654         PR tree-optimization/56051
1655         * fold-const.c (fold_binary_loc): Don't fold
1656         X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
1657         a narrowing conversion, or widening conversion from signed
1658         to unsigned.
1659
1660         2013-01-18  Jakub Jelinek  <jakub@redhat.com>
1661
1662         PR middle-end/56015
1663         * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
1664         the case where writing real complex part of target modifies
1665         op1.
1666
1667         2013-01-15  Jakub Jelinek  <jakub@redhat.com>
1668
1669         PR target/55940
1670         * function.c (thread_prologue_and_epilogue_insns): Always
1671         add crtl->drap_reg to set_up_by_prologue.set, even if
1672         stack_realign_drap is false.
1673
1674         2013-01-10  Jakub Jelinek  <jakub@redhat.com>
1675
1676         PR tree-optimization/55921
1677         * tree-complex.c (expand_complex_asm): New function.
1678         (expand_complex_operations_1): Call it for GIMPLE_ASM.
1679
1680         2013-01-03  Jakub Jelinek  <jakub@redhat.com>
1681
1682         PR rtl-optimization/55838
1683         * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
1684         iv0.step, iv1.step and step.
1685
1686         2012-11-23  Jakub Jelinek  <jakub@redhat.com>
1687
1688         PR c++/54046
1689         * Makefile.in (gimple-low.o): Depend on langhooks.h.
1690         * gimple-low.c: Include langhooks.c.
1691         (block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK,
1692         by default call lang_hooks.block_may_fallthru.
1693         * langhooks.h (struct lang_hooks): Add block_may_fallthru
1694         langhook.
1695         * langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define.
1696         (LANG_HOOKS_INITIALIZER): Use it.
1697
1698         2012-11-20  Jakub Jelinek  <jakub@redhat.com>
1699
1700         PR middle-end/55094
1701         * builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
1702         on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
1703         * cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
1704         on the first old_insns_match_p call.  For !ACCUMULATE_OUTGOING_ARGS
1705         fail if the last real insn doesn't have REG_ARGS_SIZE note.
1706
1707         2012-11-17  Jakub Jelinek  <jakub@redhat.com>
1708
1709         PR tree-optimization/55236
1710         * fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv
1711         and signed ARG0_TYPE, force low and high to be non-NULL.
1712
1713         2012-11-13  Jakub Jelinek  <jakub@redhat.com>
1714
1715         PR rtl-optimization/54127
1716         * cfgrtl.c (force_nonfallthru_and_redirect): When redirecting
1717         asm goto labels from BB_HEAD (e->dest) to target bb, decrement
1718         LABEL_NUSES of BB_HEAD (e->dest) and increment LABEL_NUSES of
1719         BB_HEAD (target) appropriately and adjust JUMP_LABEL and/or
1720         REG_LABEL_TARGET and REG_LABEL_OPERAND.
1721
1722 2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
1723
1724         * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
1725         range isn't testing for zero.
1726
1727 2013-01-29  Richard Biener  <rguenther@suse.de>
1728
1729         PR tree-optimization/56113
1730         * tree-ssa-structalias.c (equiv_class_lookup): Also return
1731         the bitmap leader.
1732         (label_visit): Free duplicate bitmaps and record the leader instead.
1733         (perform_var_substitution): Adjust.
1734
1735 2013-01-28  Serowk  <serowk@yandex.ru>
1736
1737         PR target/35294
1738         * config/arm/arm.c (arm_expand_binop_builtin): Add new parameter.
1739         Fix mode checks to allow for the passing of constants in the
1740         second parameter.
1741         (arm_expand_builtin): Adjust calls to arm_expand_binop_builtin.
1742         Add entries in the switch statement for builtin iwmmxt vector
1743         shift and rotate builtins.
1744
1745 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1746
1747         Backport from mainline
1748         2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1749
1750         PR target/56114
1751         * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
1752         operand 0 in movabs insn template for -masm=intel asm alternative.
1753         (*movabs<mode>_2): Ditto for operand 1.
1754
1755 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1756
1757         Backport from mainline
1758         2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
1759
1760         PR target/56028
1761         * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
1762         alternative to (o,r).
1763         (*movdi_internal_rex64): Remove (!o,n) alternative.
1764         (DImode immediate->memory splitter): Remove.
1765         (DImode immediate->memory peephole2): Remove.
1766         (movtf): Enable for TARGET_64BIT || TARGET_SSE.
1767         (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
1768         alternative to (!o,*r).
1769         (*movtf_internal_sse): New pattern.
1770         (*movxf_internal_rex64): New pattern.
1771         (*movxf_internal): Disable for TARGET_64BIT.
1772         (*movdf_internal_rex64): Remove (!o,F) alternative.
1773
1774         2013-01-23  Uros Bizjak  <ubizjak@gmail.com>
1775
1776         * config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives
1777         involving stack registers slightly.
1778
1779         2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
1780
1781         * config/i386/constraints.md (Yf): New constraint.
1782         * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
1783         of f constraint to conditionaly disable x87 register preferences.
1784         (*movdf_internal): Ditto.
1785         (*movsf_internal): Ditto.
1786
1787         2012-01-24  Uros Bizjak  <ubizjak@gmail.com>
1788
1789         * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
1790         (*movtf_internal_rex64): Add (!o,C) alternative
1791         (*movxf_internal_rex64): Ditto.
1792         (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
1793
1794 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
1795
1796         * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
1797
1798 2013-01-24  Martin Jambor  <mjambor@suse.cz>
1799
1800         Backport from mainline
1801         2013-01-04  Martin Jambor  <mjambor@suse.cz>
1802
1803         PR tree-optimization/55755
1804         * tree-sra.c (sra_modify_assign): Do not check that an access has no
1805         children when trying to avoid producing a VIEW_CONVERT_EXPR.
1806
1807 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1808
1809         Backport from mainline
1810         2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1811
1812         * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
1813
1814 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1815
1816         PR rtl-optimization/56023
1817         * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
1818         dependent on debug instruction.
1819
1820 2013-01-21  Martin Jambor  <mjambor@suse.cz>
1821
1822         Backport from mainline
1823         2013-01-17  Martin Jambor  <mjambor@suse.cz>
1824
1825         PR tree-optimizations/55264
1826         * cgraph.c (cgraph_create_virtual_clone): Mark clones as non-virtual.
1827         * cgraph.h (cgraph_only_called_directly_p_or_aliased_p): Return false
1828         for virtual functions.
1829         * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
1830         for virtual methods.
1831         * ipa.c (cgraph_remove_unreachable_nodes): Never return true for
1832         virtual methods before inlining is over.
1833
1834 2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
1835
1836         Backport from mainline
1837         2012-01-17  Uros Bizjak  <ubizjak@gmail.com>
1838
1839         PR target/55981
1840         * config/i386/sync.md (atomic_store<mode>): Generate SWImode
1841         store through atomic_store<mode>_1.
1842         (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
1843
1844 2013-01-16  Richard Biener  <rguenther@suse.de>
1845
1846         PR middle-end/55882
1847         * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
1848         account for bitpos when computing alignment.
1849
1850 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
1851
1852         Backport from 2013-01-14 trunk r195169.
1853
1854         PR target/55974
1855         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
1856         etc. to 1 and not to __flash.
1857         Use LL suffix for __INT24_MAX__ with -mint8.
1858         Use ULL suffix for __UINT24_MAX__ with -mint8.
1859
1860 2013-01-14  Matthias Klose  <doko@ubuntu.com>
1861
1862         * doc/invoke.texi: Document -print-multiarch.
1863         * doc/install.texi: Document --enable-multiarch.
1864         * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
1865         * configure.ac: Add --enable-multiarch option.
1866         Substitute with_cpu, with_float.
1867         * configure: Regenerate.
1868         * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
1869         enable_multiarch, with_cpu, with_float: New macros.
1870         if_multiarch: New macro, define in terms of enable_multiarch.
1871         * genmultilib: Add new argument for the multiarch name.
1872         * gcc.c (multiarch_dir): Define.
1873         (for_each_path): Search for multiarch suffixes.
1874         (driver_handle_option): Handle multiarch option.
1875         (do_spec_1): Pass -imultiarch if defined.
1876         (main): Print multiarch.
1877         (set_multilib_dir): Separate multilib and multiarch names
1878         from multilib_select.
1879         (print_multilib_info): Ignore multiarch names in multilib_select.
1880         * incpath.c (add_standard_paths): Search the multiarch include dirs.
1881         * cppdefault.h (default_include): Document multiarch in multilib
1882         member.
1883         * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
1884         include directory for multiarch directories.
1885         * common.opt: New options --print-multiarch and -imultilib.
1886
1887         * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
1888         Include i386/t-linux.
1889         <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
1890         Include i386/t-kfreebsd.
1891         <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
1892         * config/i386/t-linux64: Add multiarch names in
1893         MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
1894         * config/i386/t-gnu: New file.
1895         * config/i386/t-kfreebsd: Likewise.
1896         * config/i386/t-linux: Likewise.
1897
1898         * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1899         * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
1900         * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
1901         for 32bit non-biarch configurations.
1902
1903         * config/pa/t-linux: New file; define MULTIARCH_DIRNAME.
1904         * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file):
1905         Include pa/t-linux.
1906
1907         * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1908
1909         * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
1910
1911         * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1912         * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
1913         * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
1914         to the list.
1915         (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
1916         * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
1917         Include rs6000/t-linux for 32bit non-biarch configurations.
1918
1919         * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1920
1921         * config/m68k/t-linux: Define MULTIARCH_DIRNAME.
1922
1923         * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
1924         * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.
1925
1926         * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
1927         * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.
1928
1929 2013-01-14  Eric Botcazou  <ebotcazou@adacore.com>
1930
1931         * tree-vectorizer.h (vect_get_single_scalar_iteraion_cost): Fix typo.
1932         * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Likewise.
1933         (vect_estimate_min_profitable_iter): Adjust to above fix.
1934         * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
1935
1936 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1937
1938         Backport from mainline
1939         2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1940
1941         * doc/extend.texi (X86 Built-in Functions): Add whitespace in
1942         __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
1943         documentation.  Add missing '__' in front of
1944         __builtin_ia32_packssdw256.
1945
1946 2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
1947
1948         Backport from mainline
1949         2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
1950
1951         * config/i386/sse.md (*vec_interleave_highv2df): Change mode
1952         attribute of movddup insn to DF.
1953         (*vec_interleave_lowv2df): Ditto.
1954         (vec_dupv2df): Ditto.
1955
1956 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1957
1958         Backport from 2013-01-07 trunk r194991, r194992.
1959
1960         PR target/55897
1961         * doc/extend.texi (AVR Named Address Spaces): __memx goes into
1962         .progmemx.data now.
1963
1964         * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
1965         (avr_addrspace_t): Add .section_name field.
1966         * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
1967         array size.
1968         (avr_addrspace): Same.  Initialize .section_name.  Remove last
1969         NULL entry.  Put __memx into .progmemx.data.
1970         (progmem_section_prefix): Remove.
1971         (avr_asm_init_sections): No need to initialize progmem_section.
1972         (avr_asm_named_section): Use avr_addrspace[].section_name to get
1973         section name prefix.
1974         (avr_asm_select_section): Ditto.  And use get_unnamed_section to
1975         retrieve the progmem section.
1976         * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
1977         boundary to run over avr_addrspace[].
1978         (avr_register_target_pragmas): Ditto.
1979
1980 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1981
1982         Backport from 2013-01-07 trunk r194978.
1983
1984         PR target/54461
1985         * doc/install.texi (Cross-Compiler-Specific Options): Document
1986         --with-avrlibc.
1987
1988 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1989
1990         Backport from 2013-01-07 trunk r194968.
1991
1992         PR other/55243
1993         * config/avr/t-avr: Don't automatically rebuild
1994         $(srcdir)/config/avr/t-multilib
1995         $(srcdir)/config/avr/avr-tables.opt
1996         (avr-mcus): New phony target to build them on request.
1997         (s-avr-mlib): Remove.
1998         * avr/avr-mcus.def: Adjust comments.
1999
2000 2013-01-07  Terry Guo  <terry.guo@arm.com>
2001
2002         Backport from mainline
2003         2012-12-19  Terry Guo  <terry.guo@arm.com>
2004
2005         * config/arm/arm.c (thumb_find_work_register): Check argument
2006         register number based on current PCS.
2007
2008 2013-01-06  Uros Bizjak  <ubizjak@gmail.com>
2009
2010         Backport from mainline
2011         2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
2012
2013         PR target/55712
2014         * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
2015         selected code model, define __code_mode_small__, __code_model_medium__,
2016         __code_model_large__, __code_model_32__ or __code_model_kernel__.
2017         * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
2018         xchg temporary register with %k.  Declare temporary register as
2019         early clobbered.
2020         [__x86_64__]: For medium and large code models, preserve %rbx register.
2021
2022 2013-01-03  Richard Henderson  <rth@redhat.com>
2023
2024         * config/i386/i386.c (ix86_expand_move): Always assign to op1
2025         after eliminating TLS symbols.
2026
2027 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2028
2029         PR target/53789
2030         * config/pa/pa.md (movsi): Revert previous change.
2031         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
2032         references.
2033
2034 2013-01-02  Rainer Emrich  <rainer@emrich-ebersheim.de>
2035
2036         PR bootstrap/55707
2037         * graphite-dependences.c (hash_poly_ddr_p): Cast from pointer via
2038         intptr_t.
2039
2040 2013-01-02  Jason Merrill  <jason@redhat.com>
2041
2042         PR c++/55804
2043         * tree.c (build_array_type_1): Revert earlier change.
2044
2045 2012-12-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2046
2047         PR target/53789
2048         * config/pa/pa.md (movsi): Reject expansion of TLS symbol references
2049         after reload starts.
2050
2051 2012-12-21  Martin Jambor  <mjambor@suse.cz>
2052
2053         PR tree-optimization/55355
2054         * tree-sra.c (type_internals_preclude_sra_p): Also check that
2055         bit_position is small enough to fit a single HOST_WIDE_INT.
2056
2057 2012-12-21  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
2058
2059         * config.gcc: Match arm*-*-uclinux*eabi* for EABI uCLinux.
2060
2061 2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
2062
2063         Backport from mainline
2064         2012-10-15  Matthias Klose  <doko@ubuntu.com>
2065
2066         * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
2067         * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
2068
2069 2012-12-16  Eric Botcazou  <ebotcazou@adacore.com>
2070             Tomash Brechko  <tomash.brechko@gmail.com>
2071
2072         PR target/55673
2073         * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed
2074         handling of before and after cases.
2075         * config/sparc/sync.md (atomic_store): Fix pasto.
2076
2077 2012-12-14  Yvan Roux  <yvan.roux@linaro.org>
2078
2079         * optabs.c (expand_atomic_store): Elide redundant model test.
2080
2081 2012-12-13  Richard Henderson  <rth@redhat.com>
2082
2083         PR middle-end/55492
2084         * optabs.c (expand_atomic_load): Emit acquire barrier after the load.
2085
2086 2012-12-11  Eric Botcazou  <ebotcazou@adacore.com>
2087
2088         PR target/54121
2089         * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
2090         (tldo_stb_sp64): Likewise.
2091         (tldo_sth_sp32): Likewise.
2092         (tldo_sth_sp64): Likewise.
2093         (tldo_stw_sp32): Likewise.
2094         (tldo_stw_sp64): Likewise.
2095         (tldo_stx_sp64): Likewise.
2096
2097 2012-12-10 Kai Tietz  <ktietz@redhat.com>
2098
2099         PR target/53912
2100         * print-tree.c (print_node): Cast from pointer via uintptr_t.
2101
2102 2012-12-07  Uros Bizjak  <ubizjak@gmail.com>
2103
2104         Backport from mainline
2105         2012-12-06  Uros Bizjak  <ubizjak@gmail.com>
2106                     H.J. Lu  <hongjiu.lu@intel.com>
2107
2108         PR target/55597
2109         * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
2110         before using it as insn or call equivalent.
2111
2112 2012-12-06  Jason Merrill  <jason@redhat.com>
2113
2114         PR c++/55032
2115         * tree.c (build_array_type_1): Re-layout if we found it in the
2116         hash table.
2117
2118 2012-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2119
2120         * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
2121         opaque cond in all call insns.
2122
2123 2012-12-03  Eric Botcazou  <ebotcazou@adacore.com>
2124
2125         * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
2126         area if the function allocates dynamic stack space.
2127         (ia64_initial_elimination_offset): Adjust offsets to above change.
2128
2129 2012-12-03  Richard Biener  <rguenther@suse.de>
2130
2131         Backport from mainline
2132         2012-09-24  Richard Guenther  <rguenther@suse.de>
2133
2134         PR tree-optimization/53663
2135         * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional
2136         native encode/interpret translation on VN_WALKREWRITE.
2137
2138 2012-12-03 Kai Tietz  <ktietz@redhat.com>
2139
2140         PR target/53912
2141         * ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t.
2142
2143         PR target/53912
2144         * tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT.
2145
2146         PR target/53912
2147         * pointer-set.c (hash1): Cast from pointer via uintptr_t.
2148
2149 2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2150
2151         Backport from mainline:
2152         2012-11-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2153
2154         PR target/55195
2155         * config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types.
2156         (in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
2157         (in_nullified_branch_delay): Likewise.
2158         (in_call_delay): Likewise.
2159         Define delay for sibcall insns.  Adjust Z3 and Z4 insn reservations for
2160         new types.  Add opaque cond to mark all calls, sibcalls, dyncalls and
2161         the $$sh_func_adrs call as variable.  Update type of sibcalls and
2162         $$sh_func_adrs call.
2163         * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
2164         length instead of adjustment.  Handle negative and undefined call
2165         adjustments for insn_default_length.  Remove adjustment for millicode
2166         insn with unfilled delay slot.
2167         (pa_output_millicode_call): Update for revised millicode length.
2168         * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
2169
2170 2012-11-29  Kai Tietz  <ktietz@redhat.com>
2171
2172         PR target/55171
2173         * prefix.c (lookup_key): Replace xmalloc/xrealloc
2174         use by XNEWVEC/XRESIZEVEC.
2175
2176         * i386.c (get_scratch_register_on_entry): Handle
2177         thiscall-convention.
2178         (split_stack_prologue_scratch_regno): Likewise.
2179         (ix86_static_chain): Likewise.
2180         (x86_output_mi_thunk): Likewise.
2181
2182 2012-11-28  H.J. Lu  <hongjiu.lu@intel.com>
2183
2184         Backported from mainline
2185         2012-11-27  H.J. Lu  <hongjiu.lu@intel.com>
2186                     Markus Trippelsdorf  <markus@trippelsdorf.de>
2187
2188         PR lto/54795
2189         * lto-opts.c (lto_write_options): Also handle
2190         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and
2191         OPT_SPECIAL_program_name.
2192
2193         PR lto/55474
2194         * lto-wrapper.c (merge_and_complain): Handle
2195         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore,
2196         OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
2197
2198 2012-11-27  Paolo Bonzini  <pbonzini@redhat.com>
2199
2200         PR rtl-optimization/55489
2201         * gcse.c (compute_transp): Precompute a canonical version
2202         of XEXP (x, 0), and pass it to canon_true_dependence.
2203
2204 2012-11-27  Richard Biener  <rguenther@suse.de>
2205
2206         PR middle-end/55331
2207         * gimple-fold.c (gimplify_and_update_call_from_tree): Replace
2208         stmt with a NOP instead of removing it.
2209
2210 2012-11-26  Richard Biener  <rguenther@suse.de>
2211
2212         Backport from mainline
2213         2012-10-19  Richard Biener  <rguenther@suse.de>
2214
2215         PR tree-optimization/54976
2216         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
2217         Robustify against odd inner_mode inputs.
2218
2219         2012-10-12  Richard Biener  <rguenther@suse.de>
2220
2221         PR tree-optimization/54894
2222         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
2223         Handle over-aligned scalar types properly.
2224
2225         2012-10-02  Richard Guenther  <rguenther@suse.de>
2226
2227         PR middle-end/54735
2228         * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
2229         cleaning up the CFG.
2230
2231 2012-11-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
2232
2233         Backport from mainline
2234         2012-11-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
2235
2236         * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
2237         explaining the register ordering preferences.
2238
2239         2012-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
2240         * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
2241         constraints so that the traditional floating point loads, stores,
2242         and moves are done first, then the VSX loads, stores, and moves,
2243         and finally the GPR loads, stores, and moves so that reload
2244         chooses FPRs over GPRs, and uses the traditional load/store
2245         instructions which provide an offset.
2246         (movdf_hardfloat64): Likewise.
2247
2248 2012-11-19  H.J. Lu  <hongjiu.lu@intel.com>
2249
2250         Backported from mainline
2251         2012-11-13  Eric Botcazou  <ebotcazou@adacore.com>
2252                     H.J. Lu  <hongjiu.lu@intel.com>
2253
2254         PR middle-end/55142
2255         * config/i386/i386.c (legitimize_pic_address): Properly handle
2256         REG + CONST.
2257         (ix86_print_operand_address): Set code to 'k' when forcing
2258         addr32 prefix.  For x32, zero-extend negative displacement if
2259         it < -16*1024*1024.
2260
2261 2012-11-12  Eric Botcazou  <ebotcazou@adacore.com>
2262
2263         * common.opt (fvar-tracking-uninit): Document.
2264         * toplev.c (process_options): Fix handling of flag_var_tracking_uninit.
2265         * config/darwin.c (darwin_override_options): Likewise.
2266
2267 2012-11-11  Eric Botcazou  <ebotcazou@adacore.com>
2268
2269         * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
2270         * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.
2271
2272 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
2273
2274         * doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
2275
2276 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
2277
2278         * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
2279         sp_offset manually.
2280
2281 2012-11-07  Uros Bizjak  <ubizjak@gmail.com>
2282
2283         Backport from mainline
2284         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2285
2286         * config/i386/i386.c (ix86_init_machine_status): Do not
2287         explicitly clear tls_descriptor_call_expanded_p again.
2288
2289         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2290
2291         * config/i386/sse.md
2292         (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
2293         as read and written by the instruction.
2294
2295         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2296
2297         * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
2298         (ix86_instantiate_decls): New function.
2299         (ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
2300         stack slot instead of SLOT_VIRTUAL.
2301         <case IX86_BUILTIN_STMXCSR>: Ditto.
2302         (assign_386_stack_local): Do not assert when virtual slot is valid.
2303         * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
2304         * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
2305         (truncxf<mode>2): Ditto.
2306         (floatunssi<mode>2): Ditto.
2307         (isinf<mode>2): Ditto.
2308         * config/i386/sync.md (atomic_load<mode>): Ditto.
2309         (atomic_store<mode>): Ditto.
2310
2311 2012-11-07  Eric Botcazou  <ebotcazou@adacore.com>
2312
2313         PR middle-end/55219
2314         * fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
2315         the argument is itself a conditional expression.
2316
2317 2012-11-05  H.J. Lu  <hongjiu.lu@intel.com>
2318
2319         * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
2320         REX_INT_REGNO_P.
2321
2322 2012-11-05  Eric Botcazou  <ebotcazou@adacore.com>
2323
2324         PR tree-optimization/54986
2325         * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op
2326         conversions on entry but add them back on exit if needed.
2327
2328 2012-11-05  Richard Sandiford  <rdsandiford@googlemail.com>
2329
2330         PR target/55204
2331         * config/i386/i386.c (ix86_address_subreg_operand): Remove stack
2332         pointer check.
2333         (print_reg): Use true_regnum rather than REGNO.
2334         (ix86_print_operand_address): Remove SUBREG handling.
2335
2336 2012-11-05  Jakub Jelinek  <jakub@redhat.com>
2337
2338         Backported from mainline
2339         2012-10-24  Jakub Jelinek  <jakub@redhat.com>
2340
2341         PR debug/54828
2342         * gimple.h (is_gimple_sizepos): New inline function.
2343         * gimplify.c (gimplify_one_sizepos): Use it.  Remove useless
2344         final assignment to expr variable.
2345         * tree.c (RETURN_TRUE_IF_VAR): Return true also if
2346         !TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified
2347         into a local temporary.
2348
2349         2012-10-10  Jakub Jelinek  <jakub@redhat.com>
2350
2351         PR tree-optimization/54877
2352         * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
2353         use make_ssa_name instead of copy_ssa_name.
2354
2355 2012-11-03  Peter Bergner  <bergner@vnet.ibm.com>
2356
2357         Backport from mainline
2358         2012-10-31  Jakub Jelinek  <jakub@redhat.com>
2359
2360         PR tree-optimization/53708
2361         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
2362         user-supplied alignment when used with an explicit section name.
2363
2364 2012-11-02  Jeff Law  <law@redhat.com>
2365
2366         PR tree-optimization/54985
2367         * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function extracted
2368         from thread_across_edge.
2369         (thread_across_edge): Use it in all cases where we might thread
2370         across a back edge.
2371
2372 2012-10-31  Eric Botcazou  <ebotcazou@adacore.com>
2373
2374         * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
2375         special register pushes before frame probing and allocation.
2376
2377 2012-10-31  Ralf Corsépius  <ralf.corsepius@rtems.org>,
2378             Joel Sherrill  <joel.sherrill@oarcorp.com>
2379
2380         * config/sparc/t-rtems: New (Custom multilibs).
2381         * config/sparc/t-rtems-64: New (Custom multilibs).
2382         * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
2383         (sparc-*-rtems*): Add sparc/t-rtems.
2384
2385 2012-10-30  Eric Botcazou  <ebotcazou@adacore.com>
2386
2387         * cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
2388         head comment.
2389         (hash_rtx): Likewise.
2390
2391 2012-10-29  Terry Guo  <terry.guo@arm.com>
2392
2393         Backport from mainline
2394         2012-10-11  Terry Guo  <terry.guo@arm.com>
2395
2396         * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
2397         architecture.
2398         * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
2399         instruction.
2400
2401 2012-10-26  Gunther Nikl  <gnikl@users.sourceforge.net>
2402
2403         * common/config/m68k/m68k-common.c (m68k_handle_option): Set
2404         gcc_options fields of opts_set for -m68020-40 and -m68020-60.
2405
2406 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
2407
2408         * config/avr/t-rtems: Revert previous commit.
2409
2410 2012-10-26  Terry Guo  <terry.guo@arm.com>
2411
2412         Backport from mainline
2413         2012-10-23  Terry Guo  <terry.guo@arm.com>
2414
2415         PR target/55019
2416         * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
2417         live argument regs.
2418
2419 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
2420
2421         * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
2422         __USE_INIT_FINI__.
2423         * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
2424
2425 2012-10-25  Ralf Corsépius  <ralf.corsepius@rtems.org>
2426
2427         * config.gcc (microblaze*-*-rtems*): New target.
2428         * config/microblaze/rtems.h: New.
2429         * config/microblaze/t-rtems: New.
2430
2431 2012-10-25  Richard Biener  <rguenther@suse.de>
2432
2433         PR tree-optimization/54902
2434         * tree-ssa-pre.c (fini_pre): Return TODO.
2435         (execute_pre): Adjust.
2436         * tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
2437         blocks before computing dominators.
2438
2439 2012-10-24  Uros Bizjak  <ubizjak@gmail.com>
2440
2441         Backport from mainline
2442         2012-10-22  Uros Bizjak  <ubizjak@gmail.com>
2443
2444         * config/i386/i386.c (memory_address_length): Assert that non-null
2445         base or index RTXes are registers.  Do not check for REG RTXes.
2446         Determine addr32 prefix using SImode_address_operand or
2447         from original base and index RTXes.  Simplify code.
2448
2449         2012-10-21  Uros Bizjak  <ubizjak@gmail.com>
2450
2451         * config/i386/i386-protos.h (memory_address_length): Add new bool
2452         argument.  Update all uses.
2453         * config/i386/i386.c (memory_address_length): If not LEA insn, then
2454         add length of addr32 prefix based on mode of base or index register.
2455         (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
2456         addresses here.  Update call to memory_address_length.
2457         (ix86_print_address_operand): Use SImode_address_operand predicate.
2458         * config/i386/predicates.md (SImode_address_operand): New.
2459         * config/i386/i386.md (lea<mode>): Use SImode_address_operand
2460         to calculate "mode" attribute.  Use SImode_address_operand predicate
2461         instead of open-coding accepted RTX codes.
2462
2463 2012-10-22  Georg-Johann Lay  <avr@gjlay.de>
2464
2465         Backport from 2012-10-22 trunk r192685.
2466         * doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
2467         Note __AVR_<device>__ is not defined for cores.
2468         Don't point to --help=target.
2469         Order --mcu= documentation according to trunk:/gcc/doc/avr-mmcu.texi.
2470
2471 2012-10-19  Marek Polacek  <polacek@redhat.com>
2472
2473         Backported from mainline
2474         2012-10-19  Marek Polacek  <polacek@redhat.com>
2475
2476         PR middle-end/54945
2477         * fold-const.c (fold_sign_changed_comparison):  Punt if folding
2478         pointer/non-pointer comparison.
2479
2480 2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
2481
2482         Backported from mainline
2483         2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
2484
2485         PR target/54892
2486         * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
2487         sure the mode is correct when falling through from above cases.
2488
2489 2012-10-19  Alan Modra  <amodra@gmail.com>
2490
2491         * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
2492         (HAVE_LD_LARGE_TOC): Likewise.
2493         * configure: Regenerate.
2494
2495 2012-10-19  Alan Modra  <amodra@gmail.com>
2496
2497         * config/rs6000/predicates.md (splat_input_operand): Don't call
2498         input_operand for MEMs.  Instead check for volatile and call
2499         memory_address_addr_space_p with modified mode.
2500
2501 2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
2502
2503         Backported from mainline
2504         2012-07-23  Ulrich Weigand  <ulrich.weigand@linaro.org>
2505
2506         * config/arm/arm.c (arm_reorg): Ensure all insns are split.
2507
2508 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
2509
2510         PR rtl-optimization/54870
2511         * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
2512         * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
2513         SSA_NAME pointer that points to a partition if there is at least
2514         one variable with it set in the partition.
2515         * dse.c (local_variable_can_escape): New predicate.
2516         (can_escape): Call it.
2517         * gimplify.c (mark_addressable): If this is a partitioned decl, also
2518         mark the SSA_NAME pointer that points to a partition.
2519
2520 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
2521
2522         Backport from mainline
2523         2012-08-09  Andrey Belevantsev  <abel@ispras.ru>
2524
2525         PR rtl-optimization/53701
2526         * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
2527         rocess not only expr's vinsns but all old vinsns from expr's
2528         istory of changes.
2529
2530 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
2531
2532         Backport from mainline
2533         2012-07-31  Andrey Belevantsev  <abel@ispras.ru>
2534         PR target/53975
2535
2536         * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
2537         Revert
2538         2011-08-04  Sergey Grechanik  <mouseentity@ispras.ru>
2539         * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
2540         only if producer writes to the register given by regno.
2541
2542 2012-09-15  Uros Bizjak  <ubizjak@gmail.com>
2543
2544         Backport from mainline
2545         2012-10-15  Uros Bizjak  <ubizjak@gmail.com>
2546
2547         * config/i386/sse.md (UNSPEC_MOVU): Remove.
2548         (UNSPEC_LOADU): New.
2549         (UNSPEC_STOREU): Ditto.
2550         (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
2551         (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
2552         (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
2553         (<sse2>_movdqu<avxsizesuffix>): Split to ...
2554         (<sse2>_loaddqu<avxsizesuffix>): ... this and ...
2555         (<sse2>_storedqu<avxsizesuffix>): ... this.
2556         (*sse4_2_pcmpestr_unaligned): Update.
2557         (*sse4_2_pcmpistr_unaligned): Ditto.
2558
2559         * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
2560         gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
2561         gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
2562         (ix86_expand_vector_move_misalign): Use gen_sse_loadups or
2563         gen_sse2_load{dqu,upd} to load from unaligned memory and
2564         gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
2565         unaligned memory.
2566         (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
2567         Use CODE_FOR_sse_loadups.
2568         <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
2569         <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
2570         <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
2571         <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
2572         <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
2573         <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
2574         <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
2575         <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
2576         <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
2577         <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
2578         <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
2579
2580 2012-10-15  Steven Bosscher  <steven@gcc.gnu.org>
2581
2582         Backport from trunk (r190222):
2583
2584         PR tree-optimization/54146
2585         * ifcvt.c: Include pointer-set.h.
2586         (cond_move_process_if_block): Change type of then_regs and
2587         else_regs from alloca'd array to pointer_sets.
2588         (check_cond_move_block): Update for this change.
2589         (cond_move_convert_if_block): Likewise.
2590         * Makefile.in: Fix dependencies for ifcvt.o.
2591
2592 2012-10-15  Richard Guenther  <rguenther@suse.de>
2593
2594         PR tree-optimization/54920
2595         * tree-ssa-pre.c (create_expression_by_pieces): Properly
2596         allocate temporary storage for all NARY elements.
2597
2598 2012-10-08  Georg-Johann Lay  <avr@gjlay.de>
2599
2600         PR target/54854
2601         * doc/invoke.texi (AVR Options): Deprecate -mshort-calls.
2602
2603 2012-10-05  Mark Kettenis  <kettenis@openbsd.org>
2604
2605         * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
2606         default_use_cxa_atexit to yes.
2607
2608 2012-10-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2609
2610         * config/pa/pa.md: Adjust unamed HImode add insn pattern.
2611
2612 2012-10-05  Jan Hubicka  <jh@suse.cz>
2613             Jakub Jelinek  <jakub@redhat.com>
2614
2615         PR tree-optimization/33763
2616         * tree-inline.c (expand_call_inline): Silently ignore always_inline
2617         attribute for redefined extern inline functions.
2618
2619 2012-10-03  H.J. Lu  <hongjiu.lu@intel.com>
2620
2621         Backported from mainline
2622         2012-10-03  Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
2623
2624         * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
2625         in SSE and YMM state support check for -march=native.
2626
2627 2012-10-03  Alexandre Oliva <aoliva@redhat.com>
2628
2629         PR debug/53135
2630         * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
2631         when needed.
2632
2633 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2634
2635         Backported from mainline
2636         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2637
2638         PR target/54785
2639         * doc/invoke.texi: Document -mprefer-avx128.
2640
2641 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2642
2643         Backported from mainline
2644         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2645
2646         PR target/54741
2647         *  config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
2648         (XSTATE_FP): Likewise.
2649         (XSTATE_SSE): Likewise.
2650         (XSTATE_YMM): Likewise.
2651         (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
2652         SSE and YMM states aren't supported.
2653
2654 2012-10-01  Tom de Vries  <tom@codesourcery.com>
2655
2656         * var-tracking.c (set_dv_changed): Add an 'inline' function specifier to
2657         the prototype.
2658
2659 2012-10-01  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2660
2661         PR target/54746
2662         * config/s390/s390.c (s390_option_override): Add missing break.
2663
2664 2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
2665
2666         Backport from mainline
2667         2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
2668
2669         * config.gcc: Replace 'host' with 'target' when configuring for
2670         powerpc64*-*-freebsd.
2671
2672 2012-09-28  Meador Inge  <meadori@codesourcery.com>
2673
2674         Backport from mainline
2675         2012-09-27  Meador Inge  <meadori@codesourcery.com>
2676
2677         * gcc-ar.c (main): Handle the returning of the sub-process error
2678         code correctly.
2679
2680 2012-09-28  Georg-Johann Lay  <avr@gjlay.de>
2681
2682         Backport from 2012-09-28 trunk r191821.
2683         * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
2684
2685 2012-09-27  Jakub Jelinek  <jakub@redhat.com>
2686
2687         PR target/54703
2688         * simplify-rtx.c (simplify_binary_operation_1): Perform
2689         (x - (x & y)) -> (x & ~y) optimization only for integral modes.
2690
2691 2012-09-24  Eric Botcazou  <ebotcazou@adacore.com>
2692
2693         * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
2694         TYPE_NONALIASED_COMPONENT flag.
2695         * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
2696         TYPE_NONALIASED_COMPONENT flag.
2697
2698 2012-09-21  Richard Guenther  <rguenther@suse.de>
2699
2700         PR middle-end/54638
2701         Backport from mainline
2702         2012-04-19  Richard Guenther  <rguenther@suse.de>
2703
2704         * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
2705         array access.
2706
2707 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
2708
2709         PR c/54552
2710         * c-typeck.c (c_cast_expr): When casting to a type requiring
2711         C_MAYBE_CONST_EXPR to be created, pass the inner expression to
2712         c_fully_fold first.
2713
2714 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
2715
2716         PR c/54103
2717         * c-typeck.c (build_unary_op): Pass original argument of
2718         TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
2719         any C_MAYBE_CONST_EXPR, if it has integer operands.
2720         (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
2721         TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
2722         to c_objc_common_truthvalue_conversion, then remove any
2723         C_MAYBE_CONST_EXPR, if they have integer operands.  Use
2724         c_objc_common_truthvalue_conversion not
2725         c_common_truthvalue_conversion.
2726         (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
2727         call note_integer_operands for arguments with integer operands
2728         that are not integer constants.
2729
2730 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
2731
2732         Backported from mainline
2733         2012-09-17  Jakub Jelinek  <jakub@redhat.com>
2734
2735         PR tree-optimization/54563
2736         * tree-ssa-math-opts.c (execute_cse_sincos): Call
2737         gimple_purge_dead_eh_edges if last call has been changed.
2738
2739         2012-09-14  Jakub Jelinek  <jakub@redhat.com>
2740
2741         PR target/54564
2742         * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
2743         instead of (match_dup 0) as second argument to vec_merge.
2744         (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
2745         Remove third alternative.
2746         (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
2747         operand 2 instead of operand 1, but put it as first argument
2748         of fma.
2749         * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
2750         _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
2751         of the first.
2752
2753 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
2754
2755         * BASE-VER: Set to 4.7.3.
2756         * DEV-PHASE: Set to prerelease.
2757
2758 2012-09-20  Release Manager
2759
2760         * GCC 4.7.2 released.
2761
2762 2012-09-15  Andi Kleen  <ak@linux.intel.com>
2763
2764         Backport from mainline
2765         2012-09-07  Andi Kleen  <ak@linux.intel.com>
2766
2767         * gcc/lto-streamer.h (res_pair): Add.
2768         (lto_file_decl_data): Replace resolutions with respairs.
2769         Add max_index.
2770         * gcc/lto/lto.c (lto_resolution_read): Remove max_index.  Add rp.
2771         Initialize respairs.
2772         (lto_file_finalize): Set up resolutions vector lazily from respairs.
2773
2774 2012-09-14  Walter Lee  <walt@tilera.com>
2775
2776         Backport from mainline.
2777         2012-09-14  Walter Lee  <walt@tilera.com>
2778
2779         * doc/invoke.texi (Option Summary): fix typesetting for -mcpu
2780         option for TILEPro and TILE-Gx.
2781
2782 2012-09-13  Uros Bizjak  <ubizjak@gmail.com>
2783
2784         * config/i386/i386.h (x86_prefetchw): New global variable.
2785         (TARGET_PREFETCHW): New macro.
2786         * config/i386/i386.c (PTA_PREFETCHW): Ditto.
2787         (processor_alias_table): Add PTA_PREFETCHW to
2788         bdver1, bdver2 and btver1.
2789         (ix86_option_override_internal): Set x86_prefetchw for
2790         PTA_PREFETCHW targets.
2791         * config/i386/i386.md (prefetch): Expand to prefetchw
2792         for TARGET_PREFETCHW.
2793         (*prefetch_3dnow_<mode>): Also enable for TARGET_PREFETCHW.
2794
2795         Backport from mainline
2796         2012-08-13  Uros Bizjak  <ubizjak@gmail.com>
2797
2798         * config/i386/i386.md (prefetch): Do not assert mode of operand 0.
2799         (*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
2800         Rename to ...
2801         (*prefetch_sse): ... this.
2802         (*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
2803         Rename to ...
2804         (*prefetch_3dnow): ... this.
2805
2806 2012-09-13  Jakub Jelinek  <jakub@redhat.com>
2807
2808         PR c/54559
2809         * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
2810         COMPLEX_TYPE with in_late_binary_op set temporarily to true.
2811
2812 2012-09-12  Teresa Johnson  <tejohnson@google.com>
2813
2814         Backport from mainline.
2815         2012-09-12  Teresa Johnson  <tejohnson@google.com>
2816
2817         PR gcov-profile/54487
2818         * configure.ac (HOST_HAS_F_SETLKW): Set based on compile
2819         test using F_SETLKW with fcntl.
2820         * configure, config.in: Regenerate.
2821
2822 2012-09-12  Uros Bizjak  <ubizjak@gmail.com>
2823
2824         Backport from mainline
2825         2012-09-12  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
2826
2827         * config/i386/i386.md : Comments on fma4 instruction selection
2828         reflect requirement on register pressure based cost model.
2829
2830         * config/i386/driver-i386.c (host_detect_local_cpu): fma4
2831         flag is set-reset as informed by the cpuid flag.
2832
2833         * config/i386/i386.c (processor_alias_table): fma4
2834         flag is enabled for bdver2.
2835
2836 2012-09-12  Christian Bruel  <christian.bruel@st.com>
2837
2838         * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
2839
2840 2012-09-12  Jakub Jelinek  <jakub@redhat.com>
2841
2842         * config.gcc: Obsolete picochip-*.
2843
2844 2012-09-11  Richard Guenther  <rguenther@suse.de>
2845
2846         PR debug/54534
2847         * cgraph.h (varpool_can_remove_if_no_refs): Restore dependence
2848         on flag_toplevel_reorder.
2849
2850 2012-09-10  Richard Henderson  <rth@redhat.com>
2851
2852         * config/alpha/predicates.md (small_symbolic_operand): Disallow
2853         large offsets.
2854
2855 2012-09-10  Georg-Johann Lay  <avr@gjlay.de>
2856
2857         Backport from 2012-09-10 mainline r191132.
2858
2859         PR target/54536
2860         * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
2861
2862 2012-09-10  Markus Trippelsdorf  <markus@trippelsdorf.de>
2863
2864         PR middle-end/54515
2865         * tree-sra.c (disqualify_base_of_expr): Check for possible
2866         NULL_TREE returned by get_base_address()
2867
2868 2012-09-07  Richard Guenther  <rguenther@suse.de>
2869
2870         Backport from mainline
2871         2012-06-26  Jan Hubicka  <jh@suse.cz>
2872
2873         PR lto/53572
2874         * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
2875         used symbols.
2876
2877 2012-09-07  Richard Guenther  <rguenther@suse.de>
2878
2879         Backport from mainline
2880         2012-07-13  Richard Guenther  <rguenther@suse.de>
2881
2882         PR tree-optimization/53922
2883         * tree-vrp.c (value_inside_range): Change prototype to take
2884         min/max instead of value-range.
2885         (range_includes_zero_p): Likewise.  Return the result from
2886         value_inside_range.
2887         (extract_range_from_binary_expr_1): Adjust to handle dont-know
2888         return value from range_includes_zero_p.
2889         (extract_range_from_unary_expr_1): Likewise.
2890         (compare_range_with_value): Likewise.
2891         (vrp_meet_1): Likewise.
2892
2893 2012-09-07  Richard Guenther  <rguenther@suse.de>
2894
2895         PR middle-end/53667
2896         * tree-ssa-structalias.c (handle_rhs_call): Properly clobber
2897         EAF_NOESCAPED arguments.  Transitively close non-EAF_DIRECT
2898         arguments separately.
2899
2900 2012-09-07  Jakub Jelinek  <jakub@redhat.com>
2901
2902         Backported from mainline
2903         2012-09-06  Jakub Jelinek  <jakub@redhat.com>
2904
2905         PR rtl-optimization/54455
2906         * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru
2907         bb ends up with asm goto referencing bb's label.
2908
2909 2012-09-07  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2910
2911         Backport from mainline.
2912         2012-08-29  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2913                     Richard Earnshaw  <richard.earnshaw@arm.com>
2914
2915         PR target/54252
2916         * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
2917         element size. Use elem_type from the formal parameter. New parameter
2918         fcode.
2919         (neon_expand_args): Adjust call to neon_dereference_pointer.
2920
2921 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
2922
2923         * config/i386/sse.md (<sse4_1_avx2>_pblendvb): Use
2924         reg_not_xmm0_operand_maybe_avx as operand 0 constraint.
2925
2926 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
2927
2928         Backport from mainline
2929         2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
2930
2931         * config/i386/i386.md (isa): Add fma and fma4.
2932         (enabled): Handle fma and fma4.
2933         * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>.
2934         (*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>.
2935         (*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>.
2936         (*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>.
2937         (*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>.
2938         (*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>.
2939
2940         2012-08-10  Uros Bizjak  <ubizjak@gmail.com>
2941
2942         * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>,
2943         *fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>,
2944         *fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns.
2945
2946 2012-09-06  Richard Guenther  <rguenther@suse.de>
2947
2948         PR tree-optimization/54498
2949         * tree-ssa-alias.h (get_continuation_for_phi): Add flag to
2950         abort when reaching an already visited region.
2951         * tree-ssa-alias.c (maybe_skip_until): Likewise.  And do it.
2952         (get_continuation_for_phi_1): Likewise.
2953         (walk_non_aliased_vuses): When we translated the reference,
2954         abort when we re-visit a region.
2955         * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
2956
2957 2012-09-06  Andrew Pinski  <apinski@cavium.com>
2958
2959         PR tree-opt/54494
2960         * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also.
2961
2962 2012-09-05  Jakub Jelinek  <jakub@redhat.com>
2963
2964         PR middle-end/54486
2965         * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
2966         build_int_cst with size_type_node instead of size_int.
2967
2968 2012-09-05  Georg-Johann Lay  <avr@gjlay.de>
2969
2970         Backport from 2012-09-05 mainline r190697.
2971
2972         PR target/54461
2973         * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
2974         configured --with-avrlibc.
2975         (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if configured
2976         --with-avrlibc.
2977         * config/avr/avrlibc.h: New file.
2978         * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
2979         configured --with-avrlibc.
2980         * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__
2981
2982 2012-09-05  Bin Cheng  <bin.cheng@arm.com>
2983
2984         Backport from 2012-09-04 mainline r190919
2985
2986         PR target/45070
2987         * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value
2988         of size less than 4 bytes by using macro ARM_NUM_INTS.
2989         (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS.
2990
2991 2012-09-04  Richard Henderson  <rth@redhat.com>
2992
2993         * alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
2994
2995 2012-09-04  Georg-Johann Lay  <avr@gjlay.de>
2996
2997         Backport from 2012-09-04 mainline r190920
2998
2999         PR target/54476
3000         * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with SImode.
3001
3002 2012-09-04  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
3003
3004         Backport from 2012-09-04 mainline r190914
3005
3006         PR target/54220
3007         * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
3008         define to...
3009         (avr_allocate_stack_slots_for_args): ...this new static function.
3010
3011 2012-09-03  H.J. Lu  <hongjiu.lu@intel.com>
3012
3013         Backported from mainline
3014         2012-08-23  H.J. Lu  <hongjiu.lu@intel.com>
3015
3016         PR driver/54335
3017         * doc/invoke.texi: Add -da and remove -dm.
3018
3019 2012-09-03  Jakub Jelinek  <jakub@redhat.com>
3020
3021         Backported from mainline
3022         2012-09-01  Jakub Jelinek  <jakub@redhat.com>
3023
3024         PR target/54436
3025         * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
3026         operands[1] is CONST_INT_P, convert it to QImode before printing.
3027
3028         2012-08-31  Jakub Jelinek  <jakub@redhat.com>
3029
3030         PR c/54428
3031         * c-convert.c (convert): Don't call fold_convert_loc if
3032         TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
3033         is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
3034         COMPLEX_TYPE -> COMPLEX_TYPE conversion.
3035
3036         2012-08-24  Jakub Jelinek  <jakub@redhat.com>
3037
3038         PR c/54363
3039         * gimplify.c (optimize_compound_literals_in_ctor): Only recurse
3040         if init is a CONSTRUCTOR.
3041
3042 2012-09-02  Eric Botcazou  <ebotcazou@adacore.com>
3043
3044         PR rtl-optimization/54369
3045         * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
3046         calling dbr_schedule.
3047         * config/sparc/sparc.c (sparc_reorg): Likewise.
3048
3049 2012-08-31  Kirill Yukhin  <kirill.yukhin@intel.com>
3050
3051         Backport from mainline
3052         2012-08-23  Yuri Rumyantsev  <ysrumyan@gmail.com>
3053
3054         * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
3055         case for Atom processor.
3056
3057 2012-08-28  Uros Bizjak  <ubizjak@gmail.com>
3058
3059         Backport from mainline
3060         2012-08-27  Uros Bizjak  <ubizjak@gmail.com>
3061
3062         PR target/46254
3063         * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
3064         true for TARGET_64BIT or !flag_pic.
3065         * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
3066         (atomic_compare_and_swap_double<mode>): Change operand 2 predicate
3067         to cmpxchg8b_pic_memory_operand.  Use DWIH mode iterator.
3068         Add insn constraint.  Conditionally emit xchg asm insns.
3069         (atomic_compare_and_swap<mode>): Update calls.  Check only
3070         cmpxchg8b_pic_memory_operand in memory address fixup.
3071         (DCASMODE): Remove.
3072         (CASHMODE): Rename from DCASHMODE.
3073         (doublemodesuffix): Update modes.
3074         (regprefix): New mode attribute.
3075
3076         (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
3077         <UNSPECV_CMPXCHG>: New constant.
3078         (atomic_compare_and_swap<mode>_1): Rename from
3079         atomic_compare_and_swap_single<mode>.  Update calls and
3080         unspec_volatile constants.
3081         (atomic_compare_and_swap<mode>_doubleword): Rename from
3082         atomic_compare_and_swap_double<mode>.  Update calls and
3083         unspec_volatile constants.
3084
3085 2012-08-28  Walter Lee  <walt@tilera.com>
3086
3087         Backport from mainline
3088         2012-08-28  Walter Lee  <walt@tilera.com>
3089
3090         * confg/tilegx/tilegx.md: Fix code style.
3091         (*zero_extendsidi_truncdisi): Fix typo.
3092         * config/tilegx/tilegx.c: Fix code style.
3093         (tilegx_function_profiler): Fix typo.
3094
3095 2012-08-27  Walter Lee  <walt@tilera.com>
3096
3097         Backport from mainline
3098         2012-08-27  Walter Lee  <walt@tilera.com>
3099
3100         * doc/md.texi (TILE-Gx): Fix typo.
3101
3102 2012-08-27  Walter Lee  <walt@tilera.com>
3103
3104         Backport from mainline
3105         2012-08-27  Walter Lee  <walt@tilera.com>
3106
3107         * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
3108         * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
3109
3110 2012-08-27  Walter Lee  <walt@tilera.com>
3111
3112         Backport from mainline
3113         2012-08-27  Walter Lee  <walt@tilera.com>
3114
3115         * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
3116         (insn_bfins): Delete.
3117
3118 2012-08-27  Walter Lee  <walt@tilera.com>
3119
3120         Backport from mainline
3121         2012-08-27  Walter Lee  <walt@tilera.com>
3122
3123         * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
3124         atomic_exchange_bare<mode>,
3125         atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
3126         * config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation.
3127         * config/tilegx/tilegx.md (type): Add X1_remove.
3128         (insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
3129         insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
3130         insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
3131         X1_remote.
3132
3133 2012-08-25  Eric Botcazou  <ebotcazou@adacore.com>
3134
3135         PR rtl-optimization/54088
3136         * jump.c (delete_related_insns): Robustify latest change.
3137
3138 2012-08-21  Richard Guenther  <rguenther@suse.de>
3139
3140         Backport from mainline
3141         2012-08-16  Richard Guenther  <rguenther@suse.de>
3142
3143         PR middle-end/54146
3144         * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
3145         exit vector.
3146         * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
3147         * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
3148         * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
3149         * tree-ssa-loop-im.c (analyze_memory_references): Adjust.
3150         (tree_ssa_lim_finalize): Free all mem_refs.
3151         * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
3152         scc when bailing out.
3153         * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
3154         * ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
3155         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
3156         FOR_EACH_LOOP_BREAK.
3157
3158         2012-08-17  Richard Guenther  <rguenther@suse.de>
3159
3160         * tree-sra.c (modify_function): Free redirect_callers vector.
3161         * ipa-split.c (split_function): Free args_to_pass vector.
3162         * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
3163         vec_oprnds.
3164         (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
3165         * tree-vect-slp.c (vect_free_slp_instance): Free the instance.
3166         (vect_analyze_slp_instance): Free everything.
3167         (destroy_bb_vec_info): Free the SLP instances.
3168
3169         2012-08-17  Richard Guenther  <rguenther@suse.de>
3170
3171         * params.def (integer-share-limit): Decrease from 256 to 251,
3172         add rationale.
3173
3174         2012-08-21  Richard Guenther  <rguenther@suse.de>
3175
3176         * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
3177         the affine expansion cache.
3178
3179 2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
3180
3181         Backported from trunk
3182         2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
3183
3184         PR middle-end/53992
3185         * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
3186
3187 2012-08-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3188
3189         Backport from mainline.
3190         2012-08-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3191
3192         PR target/54212
3193         * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
3194         mark as predicable. Adjust asm template.
3195         (vec_setv2di_internal): Likewise.
3196         (vec_extract<mode> VD, VQ): Likewise.
3197         (vec_extractv2di): Likewise.
3198         (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise.
3199         (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise.
3200         (neon_vdup_n<mode> VX, V32): Likewise.
3201         (neon_vdup_nv2di): Likewise.
3202
3203 2012-08-17  Walter Lee  <walt@tilera.com>
3204
3205         Backport from mainline
3206         2012-08-17  Walter Lee  <walt@tilera.com>
3207
3208         * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
3209         (FEEDBACK_ENTER): Define.
3210         (FEEDBACK_REENTER): Define.
3211         (FEEDBACK_ENTRY): Define.
3212         * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
3213         (FEEDBACK_ENTER): Define.
3214         (FEEDBACK_REENTER): Define.
3215         (FEEDBACK_ENTRY): Define.
3216
3217 2012-08-16  Walter Lee  <walt@tilera.com>
3218
3219         Backport from mainline
3220         2012-08-16  Walter Lee  <walt@tilera.com>
3221
3222         * config.gcc (tilegx-*-linux*): Add feedback.h.
3223         (tilepro-*-linux*): Likewise.
3224         * config/tilegx/feedback.h: New file.
3225         * config/tilepro/feedback.h: New file.
3226
3227 2012-08-08  Pavel Chupin  <pavel.v.chupin@intel.com>
3228
3229         Backport from mainline r189840 and r187586:
3230         2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>
3231
3232         * config/i386/i386.md (stack_protect_set): Disable the pattern
3233         for Android since Android libc (bionic) does not provide random
3234         value for stack protection guard at gs:0x14. Guard value
3235         will be provided from external symbol (default implementation).
3236         (stack_protect_set_<mode>): Likewise.
3237         (stack_protect_test): Likewise.
3238         (stack_protect_test_<mode>): Likewise.
3239         * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
3240         not have Bionic by default
3241         * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
3242         Macro OPTION_BIONIC is defined in this file and provides Bionic
3243         accessibility status
3244
3245         2012-05-16  Igor Zamyatin  <igor.zamyatin@intel.com>
3246
3247         * configure.ac: Stack protector enabling for Android targets.
3248         * configure: Regenerate.
3249
3250 2012-08-13  Jakub Jelinek  <jakub@redhat.com>
3251
3252         Backported from trunk
3253         2012-07-19  Jakub Jelinek  <jakub@redhat.com>
3254
3255         PR rtl-optimization/53942
3256         * function.c (assign_parm_setup_reg): Avoid zero/sign extension
3257         directly from likely spilled non-fixed hard registers, move them
3258         to pseudo first.
3259
3260 2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
3261
3262         * config/i386/sse.md (xop_phaddbq):  Fix vec_select selectors.
3263         (xop_phaddubq): Ditto.
3264
3265 2012-08-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
3266
3267         Backport from mainline
3268         2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
3269                     Richard Earnshaw  <rearnsha@arm.com>
3270
3271         * target.def (vector_alignment): New target hook.
3272         * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
3273         * doc/tm.texi: Regenerate.
3274         * targhooks.c (default_vector_alignment): New function.
3275         * targhooks.h (default_vector_alignment): Add prototype.
3276         * stor-layout.c (layout_type): Use targetm.vector_alignment.
3277         * config/arm/arm.c (arm_vector_alignment): New function.
3278         (TARGET_VECTOR_ALIGNMENT): Define.
3279
3280         * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
3281         vector type alignment instead of size.
3282         * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
3283         element type size directly instead of computing it from alignment.
3284         Fix variable naming and comment.
3285
3286 2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
3287
3288         Backport from mainline
3289         2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
3290
3291         * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
3292         (alpha_pad_function_end): ... this.  Also insert NOP between
3293         sibling call and GP load.
3294         (alpha_reorg): Update call to alpha_pad_function_end.  Expand comment.
3295
3296 2012-08-09  H.J. Lu  <hongjiu.lu@intel.com>
3297
3298         Backport from mainline
3299         2012-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
3300                     H.J. Lu  <hongjiu.lu@intel.com>
3301
3302         PR rtl-optimization/54157
3303         * combine.c (gen_lowpart_for_combine): Don't return identity
3304         for CONST or symbolic reference.
3305
3306 2012-08-06  Uros Bizjak  <ubizjak@gmail.com>
3307
3308         Backport from mainline
3309         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
3310
3311         * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
3312         * config/i386/i386.c (ix86_lea_outperforms): Make static.  Make
3313         split_cost argument signed.
3314         (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
3315         (ix86_avoid_lea_for_addr): Ditto.
3316
3317         2012-07-27  Uros Bizjak  <ubizjak@gmail.com>
3318
3319         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false if
3320         the address has less than two components.
3321
3322 2012-08-02  Steve Ellcey  <sellcey@mips.com>
3323
3324         Backport from mainline
3325         2012-07-19  Steve Ellcey  <sellcey@mips.com>
3326
3327         * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
3328         MIPS16 mode.
3329
3330 2012-08-02  Uros Bizjak  <ubizjak@gmail.com>
3331
3332         Backport from mainline
3333         2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
3334
3335         PR target/53961
3336         * config/i386/i386.c (ix86_legitimate_address_p): Move check for
3337         negative constant address for TARGET_X32 ...
3338         (ix86_decompose_address): ... here.  Reject constant addresses
3339         that don't satisfy x86_64_immediate_operand predicate.
3340
3341         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
3342
3343         PR target/53961
3344         * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
3345         * config/i386/i386.c (ix86_print_operand_address): Ditto.
3346         (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
3347         addresses.  Prevent zero extensions of CONST_INT operands.
3348
3349         2012-07-22  Uros Bizjak  <ubizjak@gmail.com>
3350
3351         PR target/53961
3352         * config/i386/i386.md (*lea): New insn pattern.
3353         (*lea_1): Remove.
3354         (*lea<mode>_2): Ditto.
3355         (*lea_{3,4,5,6}_zext): Ditto.
3356         * config/i386/predicates.md (lea_address_operand): Do not reject
3357         zero-extended address operands.
3358         * config/i386/constraints.md (j): Remove address constraint.
3359         * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
3360         of an address.
3361         (ix86_print_operand_address): Handle SImode subreg of an address.
3362         (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now.
3363
3364 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3365
3366         Backport from mainline
3367         2012-03-09  Uros Bizjak  <ubizjak@gmail.com>
3368
3369         PR target/52530
3370         * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
3371         (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
3372         to set code to 'q'.
3373         * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
3374         (*movdi_internal_rex64): Use %E operand modifier for lea.
3375         (*movsi_internal): Ditto.
3376         (*lea_1): Ditto.
3377         (*lea<mode>_2): Ditto.
3378         (*lea_{3,4,5,6}_zext): Ditto.
3379         (*tls_global_dynamic_32_gnu): Ditto.
3380         (*tls_global_dynamic_64): Ditto.
3381         (*tls_dynamic_gnu2_lea_32): Ditto.
3382         (*tls_dynamic_gnu2_lea_64): Ditto.
3383         (pro_epilogue_adjust_stack_<mode>_add): Ditto.
3384
3385 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3386
3387         Backport from mainline
3388         2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3389
3390         * config/i386/i386.c (ix86_address_subreg_operand): Reject
3391         stack pointer.
3392         (ix86_print_operand_address): Assert that parts.base and parts.index
3393         are non-NULL after call to simplify_subreg.
3394
3395 2012-07-22  Oleg Endo  <olegendo@gcc.gnu.org>
3396
3397         PR target/33135
3398         * config/sh/sh.opt (mieee): Use Var instead of Mask.  Correct
3399         description.
3400         * config/sh/sh.c (sh_option_override): Do not change
3401         flag_finite_math_only.  Set TARGET_IEEE to complement of
3402         flag_finite_math_only.
3403         * doc/invoke.texi (SH options): Add mno-ieee.  Correct
3404         description of mieee and mno-ieee behavior.
3405
3406 2012-07-20  Kirill Yukhin  <kirill.yukhin@intel.com>
3407
3408         PR target/53877
3409         * config/i386/lzcntintrin.h (_lzcnt_u32): New.
3410         (_lzcnt_u64): Ditto.
3411
3412 2012-07-20  Andrey Belevantsev  <abel@ispras.ru>
3413
3414         Backport from mainline
3415         2012-03-06  Andrey Belevantsev  <abel@ispras.ru>
3416
3417         PR rtl-optimization/52250
3418         * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
3419         to put note list into.  Unconditionally call move_bb_info.
3420         (move_bb_info): Do not assert the blocks being in the same region,
3421         just drop the note list if they are not.
3422
3423 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3424
3425         * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
3426
3427 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3428
3429         * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
3430         defining statement is a SSA name that occurs in abnormal PHIs.
3431
3432 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3433
3434         * gimple-fold.c (canonicalize_constructor_val): Strip only useless type
3435         conversions.
3436
3437 2012-07-19  Richard Guenther  <rguenther@suse.de>
3438             Eric Botcazou  <ebotcazou@adacore.com>
3439
3440         * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
3441         about transition from invariant to known bits.
3442         (likely_value): Addresses with UNDEFINED components are UNDEFINED.
3443
3444 2012-07-19  Jakub Jelinek  <jakub@redhat.com>
3445
3446         PR middle-end/54017
3447         * tree-cfgcleanup.c (cleanup_omp_return): Remove.
3448         (cleanup_tree_cfg_bb): Don't call it.
3449         * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
3450         handling.
3451
3452 2012-07-19  Christian Bruel  <christian.bruel@st.com>
3453
3454         PR target/54029
3455         * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
3456
3457 2012-07-18  Ralf Corsépius  <ralf.corsepius@rtems.org>
3458
3459         * config.gcc (v850-*-rtems*): New target.
3460         * config/v850/rtems.h: New.
3461         * config/v850/t-rtems: New.
3462
3463 2012-07-18  Nick Clifton  <nickc@redhat.com>
3464
3465         * doc/invoke.texi (ARM Options): Document -munaligned-access.
3466
3467 2012-07-15  Uros Bizjak  <ubizjak@gmail.com>
3468
3469         PR target/53961
3470
3471         Backport from mainline
3472         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
3473
3474         PR target/53110
3475         * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
3476         instead expand it as zero extension.
3477
3478 2012-07-14  Uros Bizjak  <ubizjak@gmail.com>
3479
3480         * config/i386/i386.md (QImode and HImode cmove splitters): Merge
3481         QImode and HImode splitters.  Use ix86_comparison_operator.
3482         Explicitly match FLAGS_REG.
3483         (DFmode cmove splitter): Explicitly match FLAGS_REG.
3484
3485 2012-07-13  Richard Sandiford  <rdsandiford@googlemail.com>
3486             Steven Bosscher  <steven@gcc.gnu.org>
3487             Bernd Schmidt  <bernds@codesourcery.com>
3488
3489         PR rtl-optimization/53908
3490         * df-problems.c (can_move_insns_across): When doing
3491         memory-reference book-keeping, handle call insns.
3492
3493 2012-07-10  Uros Bizjak  <ubizjak@gmail.com>
3494
3495         Backport from mainline
3496         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
3497
3498         PR target/53811
3499         * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
3500         sibcall_insn_operand.  Move it to a temporary register if not.
3501
3502         2012-07-06  Uros Bizjak  <ubizjak@gmail.com>
3503
3504         PR target/53853
3505         * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
3506         emit PIC sequence for fnaddr symbol reference in advance.
3507
3508 2012-07-09  Jason Merrill  <jason@redhat.com>
3509
3510         PR c++/53882
3511         * tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE.
3512         (type_hash_eq): Likewise.
3513
3514         PR c++/53826
3515         * tree.c (build_zero_cst): Handle NULLPTR_TYPE.
3516
3517 2012-07-07  Ulrich Weigand  <ulrich.weigand@linaro.org>
3518
3519         * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour
3520         due to negative shift amount.
3521
3522 2012-07-06  Kai Tietz  <ktietz@redhat.com>
3523
3524         Backport from mainline.
3525         PR bootstrap/52947
3526         * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
3527         as "/mingw/include".
3528
3529 2012-07-06  Nick Clifton  <nickc@redhat.com>
3530
3531         * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
3532         default_encode_section_info.
3533
3534 2012-07-06  Richard Guenther  <rguenther@suse.de>
3535
3536         Backport from mainline
3537         2012-03-30  Richard Guenther  <rguenther@suse.de>
3538
3539         PR middle-end/52786
3540         * double-int.c (rshift_double): Remove not needed cast.
3541
3542         2012-03-28  Richard Guenther  <rguenther@suse.de>
3543
3544         PR middle-end/50708
3545         * double-int.h (rshift_double): Remove.
3546         * double-int.c (lshift_double): Use absu_hwi to make count
3547         positive.
3548         (rshift_double): Make static, take unsigned count argument,
3549         remove handling of negative count argument.
3550         (double_int_rshift): Dispatch to lshift_double.
3551
3552 2012-07-06  Richard Guenther  <rguenther@suse.de>
3553
3554         Backport from mainline
3555         2012-06-18  Richard Guenther  <rguenther@suse.de>
3556
3557         PR tree-optimization/53693
3558         * tree-vect-patterns.c (vect_operation_fits_smaller_type):
3559         Reject operands with more than one use.
3560
3561 2012-07-06  Richard Guenther  <rguenther@suse.de>
3562
3563         Backport from mainline
3564         2012-04-11  Richard Guenther  <rguenther@suse.de>
3565
3566         PR middle-end/52621
3567         * tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
3568         consider loop nesting.
3569         (evolution_function_is_univariate_p): Properly check the remainder
3570         for chrecs.
3571
3572 2012-07-05  Pat Haugen <pthaugen@us.ibm.com>
3573
3574         Backport from mainline
3575         2012-05-24  Pat Haugen <pthaugen@us.ibm.com>
3576
3577         * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
3578         rs6000_sched_costly_dep default to true_store_to_load_dep_costly.
3579         (adjacent_mem_locations): Move some code to and call...
3580         (get_memref_parts): ...new function.
3581         (mem_locations_overlap): New function.
3582         (rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn.
3583         (is_mem_ref): Rename to...
3584         (find_mem_ref): ...this. Return MEM rtx.
3585         (get_store_dest): Remove function.
3586         (is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add
3587         new parameter and adjust calls.
3588         (rs6000_is_costly_dependence): Update calls for extra arg. Make sure
3589         mem refs overlap for true_store_to_load_dep_costly.
3590         (rs6000_sched_reorder2): Update calls for extra arg. Adjust args
3591         passed to adjacent_mem_locations.
3592         (is_costly_group): Walk resolved dependency list.
3593         (force_new_group): Emit group ending nop for Power6/Power7.
3594         * config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value.
3595         (group_ending_nop): New define_insn.
3596
3597 2012-07-04  Richard Guenther  <rguenther@suse.de>
3598
3599         PR middle-end/53433
3600         * gimple-fold.c (get_base_constructor): Do not return an
3601         error_mark_node DECL_INITIAL.
3602
3603 2012-07-04  Uros Bizjak  <ubizjak@gmail.com>
3604
3605         Backport from mainline
3606         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
3607
3608         * config/i386/i386.c (ix86_option_override_internal): Fix wrong
3609         code model string in the error message.
3610
3611 2012-07-04  Tristan Gingold  <gingold@adacore.com>
3612
3613         Backport from mainline.
3614         2012-06-25  Tristan Gingold  <gingold@adacore.com>
3615
3616         * config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ...
3617         (seh_cfa_adjust_cfa): ... that function.
3618         (seh_emit_stackalloc): Do not emit out of range values.
3619         * config/i386/i386.md: Delete unused UNSPEC_REG_SAVE,
3620         UNSPEC_DEF_CFA constants.
3621         * config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define.
3622         * config/i386/i386.c (ix86_frame_pointer_required): Required
3623         for very large frames on SEH target.
3624         (ix86_compute_frame_layout): Save area is before frame pointer
3625         on SEH target.  Handle very large frames.
3626         (ix86_expand_prologue): Likewise.
3627
3628 2012-07-04  Richard Guenther  <rguenther@suse.de>
3629
3630         * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same
3631         as in free_lang_data_in_type.
3632
3633 2012-07-02  Martin Jambor  <mjambor@suse.cz>
3634
3635         Backport from mainline.
3636         2012-07-02  Martin Jambor  <mjambor@suse.cz>
3637
3638         PR middle-end/38474
3639         * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a
3640         dynamic type change check.
3641
3642 2012-06-29  Eric Botcazou  <ebotcazou@adacore.com>
3643
3644         * tree-eh.c (lower_try_finally_switch): Really put the location of the
3645         last statement of the finally block onto the switch.
3646
3647 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3648
3649         * configure: Regenerate.
3650
3651         Backport from mainline.
3652         2012-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3653
3654         * config.gcc (target_type_format_char): New. Document it. Set it for
3655         arm*-*-* .
3656         * configure.ac (gnu_unique_option): Use target_type_format_char
3657         in test.  Comment rationale.
3658
3659 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3660
3661         Backport from mainline.
3662         2012-05-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3663
3664         * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
3665
3666 2012-06-28  Georg-Johann Lay  <avr@gjlay.de>
3667
3668         Backport from 2012-06-28 mainline r189049
3669
3670         PR 53595
3671         * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New.
3672         * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New.
3673         * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to
3674         avr_hard_regno_call_part_clobbered.
3675
3676 2012-06-28  Richard Guenther  <rguenther@suse.de>
3677
3678         PR middle-end/53790
3679         * expr.c (expand_expr_real_1): Verify if the type is complete
3680         before inspecting its size.
3681
3682 2012-06-27  Nick Clifton  <nickc@redhat.com>
3683
3684         * config/rx/rx.md (comparesi3_extend): Remove = modifier from
3685         input operand.
3686
3687 2012-06-26  Alexandre Oliva  <aoliva@redhat.com>
3688
3689         PR debug/53682
3690         * cselib.c (promote_debug_loc): Don't crash on NULL argument.
3691
3692 2012-06-26  Nick Clifton  <nickc@redhat.com>
3693
3694         * config/rx/rx.md (simple_return): Use the simple_return rtx.
3695
3696 2012-06-25  Jakub Jelinek  <jakub@redhat.com>
3697
3698         PR target/53759
3699         * config/i386/sse.md (sse_loadlps): Use x m x constraints instead
3700         of x x x in the vmovlps load alternative.
3701
3702 2012-06-22  Richard Guenther  <rguenther@suse.de>
3703
3704         * gcov-iov.c: Include bconfig.h and system.h.
3705
3706 2012-06-22  Richard Guenther  <rguenther@suse.de>
3707
3708         PR gcov-profile/53744
3709         * gcov-iov.c (main): Treat "" and "prerelease" the same.
3710
3711 2012-06-22  Eric Botcazou  <ebotcazou@adacore.com>
3712
3713         * tree-ssa-live.c (remove_unused_scope_block_p): Remove again
3714         DECL_IGNORED_P non-reg vars even if they are used.
3715
3716 2012-06-19  Jason Merrill  <jason@redhat.com>
3717
3718         PR c++/52637
3719         * dwarf2out.c (modified_type_die): Use scope_die_for.
3720         (gen_type_die_with_usage, dwarf2out_finish): Likewise.
3721         (uses_local_type_r, uses_local_type): New.
3722         (scope_die_for): Keep a type that uses a local type in local scope.
3723         Use get_context_die for namespace and type scope.
3724
3725 2012-06-19  Richard Guenther  <rguenther@suse.de>
3726
3727         PR middle-end/53470
3728         * tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
3729         replace it with the first non-BLOCK context.
3730
3731 2012-06-18  Vladimir Makarov  <vmakarov@redhat.com>
3732
3733         PR rtl-optimization/53700
3734
3735         Backport from mainline
3736         2012-03-29  Vladimir Makarov  <vmakarov@redhat.com>
3737
3738         * ira-color.c (setup_left_conflict_sizes_p): Process all
3739         conflicting objects.
3740
3741 2012-06-18  Venkataramanan Kumar <venkataramanan.kumar@amd.com>
3742
3743         Backport from mainline
3744         2012-05-09 Uros Bizjak  <ubizjak@gmail.com>
3745
3746         PR target/52908
3747         * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
3748         xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high.
3749         (vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern
3750         instead of xop_mulv2div2di3_low.
3751         (xop_p<macs>dql): Fix vec_select selector.
3752         (xop_p<macs>dqh): Ditto.
3753         (xop_mulv2div2di3_low): Remove insn_and_split pattern.
3754         (xop_mulv2div2di3_high): Ditto.
3755
3756 2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
3757
3758         Backport from mainline:
3759         2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
3760
3761         * config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
3762
3763 2012-06-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3764
3765         Backport from mainline:
3766         2012-06-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3767
3768         * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define.
3769         * config/pa/pa.c (pa_attr_length_millicode_call): Use
3770         MAX_PCREL17F_OFFSET instead of fixed offset.
3771         (pa_attr_length_call): Likewise.
3772         (pa_attr_length_indirect_call): Likewise.
3773
3774 2012-06-15  Walter Lee  <walt@tilera.com>
3775
3776         Backport from mainline:
3777         2012-06-15  Walter Lee  <walt@tilera.com>
3778
3779         * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.
3780
3781         2012-06-14  Maxim Kuvyrkov  <maxim@codesourcery.com>
3782
3783         * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
3784
3785 2012-06-15  Aldy Hernandez  <aldyh@redhat.com>
3786
3787         Backport from mainline:
3788
3789         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
3790         * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
3791         * gimple.h (block_in_transaction): Check for flag_tm.
3792
3793 2012-06-14  Aldy Hernandez  <aldyh@redhat.com>
3794
3795         PR tree-optimization/52558
3796
3797         Backport from mainline:
3798         2012-05-21  Aldy Hernandez  <aldyh@redhat.com>
3799         * gimple.h (gimple_set_in_transaction): Remove.
3800         (gimple_in_transaction): Look in BB instead.
3801         (gimple_statement_base): Remove in_transaction field.
3802         * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
3803         * trans-mem.c (compute_transaction_bits): Place transaction bit
3804         information into basic blocks.
3805
3806         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
3807
3808         PR tree-optimization/52558
3809         * cfg.c (alloc_aux_for_edge): Fix comment.
3810         (alloc_aux_for_edge): Remove static.
3811         * basic-block.h (alloc_aux_for_edge): Protoize.
3812         * tree-ssa-loop-im.c (execute_sm_if_changed): New.
3813         (execute_sm_if_changed_flag): New.
3814         (execute_sm_if_changed_flag_set): New.
3815         (execute_sm): Do not generate data races unless requested.
3816         (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
3817         (tree_ssa_lim_finalize): Call free_aux_for_edges.
3818         * gimple.h (block_in_transaction): New.
3819         (gimple_in_transaction): Use block_in_transaction.
3820
3821 2012-06-14  Jakub Jelinek  <jakub@redhat.com>
3822
3823         Backported from mainline
3824         2012-06-12  Jakub Jelinek  <jakub@redhat.com>
3825
3826         PR rtl-optimization/53589
3827         * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
3828         discovery even when e->dest != target.  If any LABEL_REF points
3829         to e->dest label, redirect it to target's label.
3830
3831         2012-06-07  Jakub Jelinek  <jakub@redhat.com>
3832
3833         PR middle-end/53580
3834         * omp-low.c (scan_omp_1_stmt): If check_omp_nesting_restrictions
3835         returns false, replace stmt with GIMPLE_NOP.
3836         (check_omp_nesting_restrictions): Instead of issuing warnings,
3837         issue errors and return false if any errors were reported.
3838
3839 2012-06-14  Richard Guenther  <rguenther@suse.de>
3840
3841         * BASE-VER: Set to 4.7.2.
3842         * DEV-PHASE: Set to prerelease.
3843
3844 2012-06-12  Christian Bruel  <christian.bruel@st.com>
3845
3846         PR target/53621
3847         * config/sh/sh.c (sh_option_override): Don't force
3848          flag_omit_frame_pointer and maccumulate_outgoing_args.
3849         * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
3850
3851 2012-06-14  Release Manager
3852
3853         * GCC 4.7.1 released.
3854
3855 2012-06-13  Uros Bizjak  <ubizjak@gmail.com>
3856
3857         * config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
3858
3859 2012-06-13  Richard Henderson  <rth@redhat.com>
3860
3861         * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
3862         iterator instead of INT.
3863
3864 2012-06-08  Richard Henderson  <rth@redhat.com>
3865
3866         PR c++/53602
3867         * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
3868         note to a clobber insn when no other insn is available.
3869
3870 2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>
3871
3872         PR c++/53524
3873         * doc/invoke.texi (Wenum-compare): Update documentation.
3874
3875 2012-06-04  Edmar Wienskoski  <edmar@freescale.com>
3876
3877         PR target/53559
3878         * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
3879         operands.
3880         (altivec_stvlxl): Ditto.
3881         (altivec_stvrx): Ditto.
3882         (altivec_stvrxl): Ditto.
3883
3884 2012-06-04  Aldy Hernandez  <aldyh@redhat.com>
3885
3886         PR middle-end/47530
3887         * trans-mem.c (expand_block_edges): Do not skip the first
3888         statement when resetting the BB.
3889
3890 2012-06-04  Richard Guenther  <rguenther@suse.de>
3891
3892         PR middle-end/53471
3893         * dwarf2out.c (dwarf2out_finish): If generating LTO do not
3894         create new assembler names.
3895
3896 2012-06-04  Richard Guenther  <rguenther@suse.de>
3897
3898         Backport from mainline
3899         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
3900
3901         PR middle-end/52979
3902         * stor-layout.c (get_best_mode): Don't return mode with bitsize
3903         larger than maxbits.  Don't compute maxbits modulo align.
3904         Also check that unit bytes long store at bitpos / unit * unit
3905         doesn't affect bits beyond bitregion_end.
3906         * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
3907         would not fit into bitregion_start ... bitregion_end + 1 bit
3908         region.
3909         (store_split_bit_field): Decrease unit close to end of bitregion_end
3910         if access is restricted in order to avoid mutual recursion.
3911
3912 2012-06-04  Georg-Johann Lay  <avr@gjlay.de>
3913
3914         Backport from 2012-06-04 mainline r188172
3915
3916         PR target/46261
3917         * config/avr/avr-stdint.h: New file.
3918         * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
3919         newlib-stdint.h
3920
3921 2012-06-04  Jakub Jelinek  <jakub@redhat.com>
3922
3923         PR tree-optimization/53550
3924         * tree-ssa-loop-niter.c (number_of_iterations_cond): If type
3925         is POINTER_TYPE_P, use sizetype as step type instead of type.
3926
3927 2012-06-04  Richard Guenther  <rguenther@suse.de>
3928             Eric Botcazou  <ebotcazou@adacore.com>
3929
3930         Backport from mainline
3931         2012-04-03  Eric Botcazou  <ebotcazou@adacore.com>
3932
3933         * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS.
3934         Change type of BITOFFSET to signed.  Make sure the lower bound of
3935         the computed range is non-negative by adjusting OFFSET and BITPOS.
3936         (expand_assignment): Adjust call to get_bit_range.
3937
3938         2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
3939
3940         * expr.c (get_bit_range): Return the null range if the enclosing record
3941         is part of a larger bit field.
3942
3943         2012-03-20  Richard Guenther  <rguenther@suse.de>
3944
3945         * stor-layout.c (finish_bitfield_representative): Fallback
3946         to conservative maximum size if the padding up to the next
3947         field cannot be computed as a constant.
3948         (finish_bitfield_layout): If we cannot compute the distance
3949         between the start of the bitfield representative and the
3950         bitfield member start a new representative.
3951         * expr.c (get_bit_range): The distance between the start of
3952         the bitfield representative and the bitfield member is zero
3953         if the field offsets are not constants.
3954
3955         2012-03-16  Richard Guenther  <rguenther@suse.de>
3956
3957         * stor-layout.c (finish_bitfield_representative): Fall back
3958         to the conservative maximum size if we cannot compute the
3959         size of the tail padding.
3960
3961         2012-03-14  Richard Guenther  <rguenther@suse.de>
3962
3963         * tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define.
3964         * stor-layout.c (start_bitfield_representative): New function.
3965         (finish_bitfield_representative): Likewise.
3966         (finish_bitfield_layout): Likewise.
3967         (finish_record_layout): Call finish_bitfield_layout.
3968         * tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER
3969         for QUAL_UNION_TYPE fields.
3970         * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
3971         Stream DECL_BIT_FIELD_REPRESENTATIVE.
3972         * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
3973
3974         PR middle-end/52080
3975         PR middle-end/52097
3976         PR middle-end/48124
3977         * expr.c (get_bit_range): Unconditionally extract bitrange
3978         from DECL_BIT_FIELD_REPRESENTATIVE.
3979         (expand_assignment): Adjust call to get_bit_range.
3980
3981 2012-06-01  Eric Botcazou  <ebotcazou@adacore.com>
3982
3983         PR middle-end/53501
3984         * fold-const.c (fold_binary_loc): Refine previous change.
3985
3986 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3987
3988         Backport from mainline
3989         2012-03-27  Chung-Lin Tang  <cltang@codesourcery.com>
3990
3991         PR target/52667
3992         * config/sh/sh.c (find_barrier): Add equality check of last_got to
3993         avoid going above orig insn.  Update comments.
3994
3995 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3996
3997         Backport from mainline
3998         2012-03-21  Kaz Kojima  <kkojima@gcc.gnu.org>
3999
4000         PR target/52642
4001         * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
4002         prologue for unwinder and profiler.
4003
4004 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
4005
4006         Backport from mainline
4007         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
4008
4009         * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
4010
4011 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
4012
4013         Backport from mainline
4014         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
4015
4016         * config/sh/sh.c (sh_dwarf_register_span): Don't apply
4017         DBX_REGISTER_NUMBER.
4018
4019 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
4020
4021         Backport from mainline
4022         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
4023
4024         * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
4025         operand is CONST_INT.  Take COSTS_N_INSNS into account.
4026         (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value of
4027         shiftcosts.     
4028
4029 2012-05-31  Georg-Johann Lay  <avr@gjlay.de>
4030
4031         * config/avr/avr.opt (-msp8): Document it.
4032         * doc/invoke.texi (AVR Options): Copy from trunk docu.
4033
4034 2012-05-31  Richard Guenther  <rguenther@suse.de>
4035
4036         PR middle-end/48493
4037         * expr.c (expand_assignment): Do not use movmisalign on
4038         non-memory.
4039
4040 2012-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4041
4042         PR target/52999
4043         * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
4044         (pa_section_type_flags): New.
4045         (pa_legitimate_constant_p): Revert previous change.
4046
4047 2012-05-30  Aldy Hernandez  <aldyh@redhat.com>
4048
4049         Backport from mainline
4050         2012-05-25  Aldy Hernandez  <aldyh@redhat.com>
4051
4052         PR middle-end/53008
4053         * trans-mem.c (ipa_tm_create_version_alias): Output new_node if
4054         accessed indirectly.
4055         (ipa_tm_create_version): Same.
4056
4057 2012-05-30  Jason Merrill  <jason@redhat.com>
4058
4059         PR c++/53220
4060         * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning
4061         about array compound literals.
4062
4063 2012-05-30  Richard Guenther  <rguenther@suse.de>
4064
4065         PR middle-end/53501
4066         * fold-const.c (fold_binary_loc): Make sure to call
4067         fold_plusminus_mult_expr with the original sign of operands.
4068
4069 2012-05-30  Eric Botcazou  <ebotcazou@adacore.com>
4070
4071         * explow.c (probe_stack_range): Restore simple control flow and stop
4072         again when the probe cannot be generated if HAVE_check_stack.
4073
4074 2012-05-30  Jakub Jelinek  <jakub@redhat.com>
4075
4076         PR rtl-optimization/53519
4077         * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
4078         instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
4079
4080 2012-05-29  Richard Guenther  <rguenther@suse.de>
4081
4082         PR tree-optimization/53516
4083         * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
4084         bitfield accesses.
4085         * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
4086
4087 2012-05-28  Bill Schmidt  <wschmidt@linux.ibm.com>
4088
4089         Backport from mainline
4090         2012-05-28  Richard Guenther  <rguenther@suse.de>
4091
4092         PR tree-optimization/53438
4093         * tree-sra.c (analyze_access_subtree): Correct bitfield exclusion.
4094
4095 2012-05-26  Eric Botcazou  <ebotcazou@adacore.com>
4096
4097         Backport from mainline
4098         2012-03-10  Chung-Lin Tang  <cltang@codesourcery.com>
4099
4100         PR rtl-optimization/52528
4101         * combine.c (can_combine_p): Add setting of subst_low_luid
4102         before call to expand_field_assignment().
4103
4104 2012-05-26  Martin Jambor  <mjambor@suse.cz>
4105
4106         Backport from mainline
4107         2012-05-23  Martin Jambor  <mjambor@suse.cz>
4108
4109         * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.
4110
4111 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
4112
4113         PR lto/52178
4114         * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
4115         * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
4116
4117 2012-05-25  Alexander Ivchenko  <alexander.ivchenko@intel.com>
4118
4119         PR target/53435
4120         * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
4121         (ix86_expand_vec_perm): Use int mode instead of float.
4122
4123 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
4124
4125         PR ada/52362
4126         * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
4127         gnu_ld variables to yes.
4128         * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
4129         (HAVE_GNU_AS): Likewise.
4130         * config.in: Regenerate.
4131         * configure: Likewise.
4132
4133 2012-05-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
4134
4135         Backport from mainline
4136         2012-03-12  Richard Guenther  <rguenther@suse.de>
4137         * config/arm/arm.c (neon_dereference_pointer): Do not call
4138         covert during RTL expansion.
4139
4140 2012-05-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4141
4142         Backport from mainline
4143         2012-05-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4144
4145         PR target/53385
4146         * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
4147         relied on signed overflow behavior.
4148
4149 2012-05-24  Richard Guenther  <rguenther@suse.de>
4150
4151         PR middle-end/53460
4152         * tree-profile.c (tree_profiling): Cleanup the CFG if
4153         execute_fixup_cfg requests it.
4154
4155 2012-05-24  Jakub Jelinek  <jakub@redhat.com>
4156
4157         PR tree-optimization/53465
4158         * tree-vrp.c (extract_range_from_cond_expr): First copy_value_range
4159         vr0 into *vr, then vrp_meet that.
4160         (vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't
4161         have any equivalences.
4162         (vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the
4163         first time.
4164
4165 2012-05-23  Eric Botcazou  <ebotcazou@adacore.com>
4166
4167         * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
4168         size handling.
4169         (gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise.
4170         (iterative_hash_gimple_type): Adjust comment.
4171         (iterative_hash_canonical_type): Likewise.  Hash the bounds of the
4172         domain for an array type instead of the domain type itself.
4173
4174 2012-05-23  Georg-Johann Lay  <avr@gjlay.de>
4175
4176         Backport from 2012-05-23 mainline r187803
4177
4178         PR target/53448
4179         * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
4180         * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
4181         ASM_OUTPUT_ALIGN.
4182
4183 2012-05-23  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
4184
4185         Backport from 2012-05-03 mainline r187075
4186
4187         * config/i386/driver-i386.c (host_detect_local_cpu): Reset
4188         has_fma4 for AMD processors with both fma3 and fma4 support.
4189
4190 2012-05-22  Richard Guenther  <rguenther@suse.de>