OSDN Git Service

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