OSDN Git Service

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