OSDN Git Service

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