OSDN Git Service

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