OSDN Git Service

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