OSDN Git Service

a5390e67db0e248a4288ff45fb9ca952a8c33464
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2014-04-25  Eric Botcazou  <ebotcazou@adacore.com>
2
3         PR target/60941
4         * config/sparc/sparc.md (ashlsi3_extend): Delete.
5
6 2014-04-23  Uros Bizjak  <ubizjak@gmail.com>
7
8         Backport from mainline
9         2014-04-21  Uros Bizjak  <ubizjak@gmail.com>
10
11         PR target/60909
12         * config/i386/i386.c (ix86_expand_builtin)
13         <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
14         register for target RTX.
15
16 2014-04-07  Martin Jambor  <mjambor@suse.cz>
17
18         PR ipa/60640
19         * ipa-cp.c (propagate_constants_accross_call): Do not propagate
20         accross thunks.
21
22 2014-04-07  Dominique d'Humieres <dominiq@lps.ens.fr>
23
24         Backport from mainline
25         2013-09-14  Iain Sandoe <iains@gcc.gnu.org>
26
27         PR target/48094
28         * config/darwin.c (darwin_objc2_section): Note if ObjC Metadata
29         is seen.
30         (darwin_objc1_section): Likewise.
31         (darwin_file_end): Emit Image Info section when required.
32
33 2014-04-04  Richard Biener  <rguenther@suse.de>
34
35         * tree-ssanames.c (make_ssa_name_fn): Fix assert.
36
37 2014-04-01  Richard Biener  <rguenther@suse.de>
38
39         * gimple.h (struct gimple_statement_base): Align subcode to
40         16 bits.
41
42 2014-04-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>
43
44         * doc/invoke.texi (mapp-regs): Clarify.
45
46 2014-03-23  Eric Botcazou  <ebotcazou@adacore.com>
47
48         PR rtl-optimization/60601
49         * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
50
51 2014-03-20  Jakub Jelinek  <jakub@redhat.com>
52
53         PR target/60568
54         * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
55         into CONST, put pic register as first operand of PLUS.  Use
56         gen_const_mem for both 32-bit and 64-bit PIC got loads.
57
58 2014-03-19  Eric Botcazou  <ebotcazou@adacore.com>
59
60         * tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Remove space.
61
62 2014-03-18  Kai Tietz  <ktietz@redhat.com>
63
64         PR rtl-optimization/56356
65         * sdbout.c (sdbout_parms): Verify that parms'
66         incoming argument is valid.
67         (sdbout_reg_parms): Likewise.
68
69 2014-03-18  Richard Biener  <rguenther@suse.de>
70
71         Backport from mainline
72         2013-11-05  Richard Biener  <rguenther@suse.de>
73
74         PR middle-end/58941
75         * tree-dfa.c (get_ref_base_and_extent): Merge common code
76         in MEM_REF and TARGET_MEM_REF handling.  Make sure to
77         process trailing array detection before diving into the
78         view-converted object (and possibly apply some extra offset).
79
80         2012-05-07  Eric Botcazou  <ebotcazou@adacore.com>
81
82         * tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Do the offset
83         computation using the precision of the index type.
84
85         2012-05-31  Eric Botcazou  <ebotcazou@adacore.com>
86
87         * tree-dfa.c (get_ref_base_and_extent): Compute the offset using
88         double ints throughout.
89
90 2014-03-18  Richard Biener  <rguenther@suse.de>
91
92         Backport from mainline
93         2013-08-27  Richard Biener  <rguenther@suse.de>
94
95         PR tree-optimization/57521
96         * tree-if-conv.c (if_convertible_bb_p): Verify that at least
97         one edge is non-critical.
98         (find_phi_replacement_condition): Make sure to use a non-critical
99         edge.  Cleanup and remove old bug workarounds.
100         (bb_postdominates_preds): Remove.
101         (if_convertible_loop_p_1): Do not compute post-dominators.
102         (combine_blocks): Do not free post-dominators.
103         (main_tree_if_conversion): Likewise.
104
105         2013-09-03  Richard Biener  <rguenther@suse.de>
106
107         PR middle-end/57656
108         * fold-const.c (negate_expr_p): Fix division case.
109         (negate_expr): Likewise.
110
111         2013-11-19  Richard Biener  <rguenther@suse.de>
112
113         PR tree-optimization/57517
114         * tree-predcom.c (combinable_refs_p): Verify the combination
115         is always executed when the refs are.
116
117 2014-03-17  Richard Biener  <rguenther@suse.de>
118
119         Backport from mainline
120         2013-05-21  Richard Biener  <rguenther@suse.de>
121
122         PR tree-optimization/57303
123         * tree-ssa-sink.c (statement_sink_location): Properly handle
124         self-assignments.
125
126         2013-12-02  Richard Biener  <rguenther@suse.de>
127
128         PR tree-optimization/59139
129         * tree-ssa-loop-niter.c (chain_of_csts_start): Properly match
130         code in get_val_for.
131         (get_val_for): Use gcc_checking_asserts.
132
133         2014-02-14  Richard Biener  <rguenther@suse.de>
134
135         PR tree-optimization/60183
136         * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating
137         loads.
138         (tree_ssa_phiprop): Calculate and free post-dominators.
139
140 2014-03-14  Georg-Johann Lay  <avr@gjlay.de>
141
142         Backport from 2014-03-14 trunk r208562.
143
144         PR target/59396
145         * config/avr/avr.c (avr_set_current_function): Pass function name
146         through default_strip_name_encoding before sanity checking instead
147         of skipping the first char of the assembler name.
148
149 2014-02-24  John David Anglin  <danglin@gcc.gnu.org>
150
151         * config/pa/pa.c (pa_output_move_double): Don't valididate when
152         adjusting offsetable addresses.
153
154 2014-02-21  Uros Bizjak  <ubizjak@gmail.com>
155
156         Backport from mainline
157         2014-02-21  Jakub Jelinek  <jakub@redhat.com>
158
159         * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
160         mode for mask of V8SFmode permutation.
161
162         Backport from 4.8 branch
163         2014-02-20  Jakub Jelinek  <jakub@redhat.com>
164
165         PR target/57896
166         * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
167         gen_reg_rtx if d->testing_p.
168         (expand_vec_perm_pshufb2, expand_vec_perm_even_odd_1,
169         expand_vec_perm_broadcast_1): Return early if d->testing_p and
170         we will certainly return true.
171
172 2014-02-20  Terry Guo  <terry.guo@arm.com>
173
174         Backport from mainline
175         2014-02-08  Terry Guo  <terry.guo@arm.com>
176
177         * doc/invoke.texi: Document ARM -march=armv7e-m.
178
179 2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
180
181         Backport from mainline
182         2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
183
184         PR target/60207
185         * config/i386/i386.c (construct_container): Remove TFmode check
186         for X86_64_INTEGER_CLASS.
187
188 2014-02-18  Kai Tietz  <ktietz@redhat.com>
189
190         Backport from mainline
191         PR target/60193
192         * config/i386/i386.c (ix86_expand_prologue): Use
193         rax register as displacement for restoring %r10, %rax.
194         Additional fix wrong offset for restoring both-registers.
195
196 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
197
198         * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
199         assertion with conditional return.
200
201 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
202             Uros Bizjak  <ubizjak@gmail.com>
203
204         PR driver/60233
205         * config/i386/driver-i386.c (host_detect_local_cpu): If
206         YMM state is not saved by the OS, also clear has_f16c.  Move
207         CPUID 0x80000001 handling before YMM state saving checking.
208
209 2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
210
211         Backport from mainline
212         2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
213
214         * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
215         operands[2], not operands[3].
216
217 2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
218
219         Backport from mainline
220         2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
221                     Uros Bizjak  <ubizjak@gmail.com>
222
223         PR target/60151
224         * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
225
226 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
227
228         * doc/invoke.texi: Fix thinko introduced by previous revision.
229
230 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
231
232         Backport from mainline.
233         2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
234
235         PR target/59718
236         * doc/invoke.texi (-march): Clarify documentation for ARM.
237         (-mtune): Likewise.
238         (-mcpu): Likewise.
239
240 2014-02-04  Uros Bizjak  <ubizjak@gmail.com>
241
242         Backport from mainline
243         2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
244
245         PR target/60017
246         * config/i386/i386.c (classify_argument): Fix handling of bit_offset
247         when calculating size of integer atomic types.
248
249 2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
250
251         Backport from mainline
252         2014-01-30  Jakub Jelinek  <jakub@redhat.com>
253
254         * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
255
256 2014-01-31  Richard Henderson  <rth@redhat.com>
257
258         PR middle-end/60004
259         * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
260         until after else_eh is processed.
261
262 2014-01-29  Markus Trippelsdorf  <markus@trippelsdorf.de>
263
264         Backport from mainline
265         2012-12-13  Jakub Jelinek  <jakub@redhat.com>
266
267         PR gcov-profile/55650
268         * coverage.c (coverage_obj_init): Return false if no functions
269         are being emitted.
270
271 2014-01-25  Walter Lee  <walt@tilera.com>
272
273         Backport from mainline
274         2014-01-25  Walter Lee  <walt@tilera.com>
275
276         * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
277         avoid clobbering a live register.
278
279 2014-01-25  Walter Lee  <walt@tilera.com>
280
281         Backport from mainline
282         2014-01-25  Walter Lee  <walt@tilera.com>
283
284         * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
285         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
286         * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
287         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
288
289 2014-01-25  Walter Lee  <walt@tilera.com>
290
291         Backport from mainline
292         2014-01-25  Walter Lee  <walt@tilera.com>
293
294         * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
295         insns before bundling.
296         * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
297
298 2014-01-25  Walter Lee  <walt@tilera.com>
299
300         Backport from mainline
301         2014-01-25  Walter Lee  <walt@tilera.com>
302
303         * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
304         PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
305         * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
306
307 2014-01-25  Walter Lee  <walt@tilera.com>
308
309         Backport from mainline
310         2014-01-25  Walter Lee  <walt@tilera.com>
311
312         * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
313         (clzdi2): Ditto.
314         (ffsdi2): Ditto.
315
316 2014-01-25  Walter Lee  <walt@tilera.com>
317
318         Backport from mainline
319         2014-01-25  Walter Lee  <walt@tilera.com>
320
321         * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
322         (TARGET_EXPAND_TO_RTL_HOOK): Define.
323
324 2014-01-22  Uros Bizjak  <ubizjak@gmail.com>
325             Jakub Jelinek  <jakub@redhat.com>
326
327         PR target/59880
328         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
329         for SImode_address_operand operands.  Return false
330         if operands[1] is a REG.
331
332 2014-01-21  Andrey Belevantsev  <abel@ispras.ru>
333
334         Backport from mainline
335         2013-12-23  Andrey Belevantsev  <abel@ispras.ru>
336
337         PR rtl-optimization/57422
338         * sel-sched.c (mark_unavailable_hard_regs): Fix typo when calling
339         add_to_hard_reg_set.
340
341 2014-01-19  John David Anglin  <danglin@gcc.gnu.org>
342
343         * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
344         long non-pic millicode calls.
345
346 2014-01-17  John David Anglin  <danglin@gcc.gnu.org>
347
348         * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
349         call to $$dyncall when TARGET_LONG_CALLS is true.
350
351 2014-01-17  Charles Baylis  <charles.baylis@linaro.org>
352
353         Backport from mainline
354         2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
355
356         PR target/59142
357         * config/arm/arm-ldmstm.ml: Use low_register_operand for Thumb
358         patterns.
359         * config/arm/ldmstm.md: Regenerate.
360
361         2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
362
363         PR target/59142
364         * config/arm/predicates.md (arm_hard_general_register_operand):
365         New predicate.
366         (arm_hard_register_operand): Remove.
367         * config/arm/arm-ldmstm.ml: Use arm_hard_general_register_operand
368         for all patterns.
369         * config/arm/ldmstm.md: Regenerate.
370
371 2014-01-16  Jakub Jelinek  <jakub@redhat.com>
372
373         PR target/59839
374         * config/i386/i386.c (ix86_expand_builtin): If target doesn't
375         satisfy operand 0 predicate for gathers, use a new pseudo as
376         subtarget.
377
378 2014-01-16  Richard Henderson  <rth@redhat.com>
379
380         PR debug/54694
381         * reginfo.c (global_regs_decl): Globalize.
382         * rtl.h (global_regs_decl): Declare.
383         * ira.c (do_reload): Diagnose frame_pointer_needed and it
384         reserved via global_regs.
385
386 2014-01-16  Marek Polacek  <polacek@redhat.com>
387
388         Backport from mainline
389         2014-01-16  Marek Polacek  <polacek@redhat.com>
390
391         PR middle-end/59827
392         * gimple-low.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
393         it is error_mark_node.
394
395 2014-01-14  Uros Bizjak  <ubizjak@gmail.com>
396
397         Revert:
398         2014-01-08  Uros Bizjak  <ubizjak@gmail.com>
399
400         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
401         from prefetch_block tune setting.
402
403 2014-01-10  Richard Earnshaw  <rearnsha@arm.com>
404
405         PR rtl-optimization/54300
406         * regcprop.c (copyprop_hardreg_forward_1): Ensure any unused
407         outputs in a single-set are killed from the value chains.
408
409 2014-01-10  Huacai Chen  <chenhc@lemote.com>
410
411         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
412         kernel strings for Loongson-2E/2F/3A.
413
414 2014-01-08  Uros Bizjak  <ubizjak@gmail.com>
415
416         Backport from mainline
417         2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
418
419         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
420         from prefetch_block tune setting.
421         (nocona_cost): Correct size of prefetch block to 64.
422
423 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
424
425         * doc/invoke.texi (output file options): Add missing markers.
426
427 2013-12-11  Kai Tietz  <ktietz@redhat.com>
428
429         PR target/56807
430         * config/i386/i386.c (ix86_expand_prologue): plus_constant
431         takes no mode-argument.
432
433 2013-12-10  Kai Tietz  <ktietz@redhat.com>
434
435         PR target/56807
436         * config/i386/i386.c (ix86_expand_prologue): Address saved
437         registers stack-relative, not via frame-pointer.
438
439 2013-12-03  Marek Polacek  <polacek@redhat.com>
440
441         Backport from mainline
442         2013-12-03  Marek Polacek  <polacek@redhat.com>
443
444         PR c/59351
445         * c-decl.c (build_compound_literal): Allow compound literals with
446         empty initial value.
447
448 2013-12-01  Eric Botcazou  <ebotcazou@adacore.com>
449
450         * config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an
451         identifier node.
452
453 2013-11-28  Uros Bizjak  <ubizjak@gmail.com>
454
455         Backport from mainline
456         2013-11-23  Uros Bizjak  <ubizjak@gmail.com>
457
458         PR target/56788
459         * config/i386/i386.c (bdesc_multi_arg) <IX86_BUILTIN_VFRCZSS>:
460         Declare as MULTI_ARG_1_SF instruction.
461         <IX86_BUILTIN_VFRCZSD>: Decleare as MULTI_ARG_1_DF instruction.
462         * config/i386/sse.md (*xop_vmfrcz<mode>2): Rename
463         from *xop_vmfrcz_<mode>.
464         * config/i386/xopintrin.h (_mm_frcz_ss): Use __builtin_ia32_movss
465         to merge scalar result with __A.
466         (_mm_frcz_sd): Use __builtin_ia32_movsd to merge scalar
467         result with __A.
468
469 2013-11-19  Uros Bizjak  <ubizjak@gmail.com>
470
471         Backport from mainline
472         2013-11-18  Uros Bizjak  <ubizjak@gmail.com>
473
474         * config/i386/i386.c (ix86_decompose_address): Use REG_P instead of
475         ix86_address_subreg_operand.  Move subreg checks to
476         ix86_validate_address_register.  Move address override check to
477         ix86_legitimate_address_p.
478         (ix86_validate_address_register): New function.
479         (ix86_legitimate_address_p): Call ix86_validate_address_register
480         to validate base and index registers.  Add address override check
481         from ix86_decompose_address.
482         (ix86_decompose_address): Remove.
483
484         Backport from mainline
485         2013-11-17  Uros Bizjak  <ubizjak@gmail.com>
486
487         PR target/59153
488         * config/i386/i386.c (ix86_address_subreg_operand): Do not
489         reject non-integer subregs.
490         (ix86_decompose_address): Do not reject invalid CONST_INT RTXes.
491         Move check for invalid x32 constant addresses ...
492         (ix86_legitimate_address_p): ... here.
493
494         Bacport from mainline
495         2012-03-13  Uros Bizjak  <ubizjak@gmail.com>
496
497         * config/i386/i386.c (ix86_decompose_address): Prevent %fs:(%reg)
498         addresses only when %reg is not in word mode.
499
500 2013-11-10  Karlson2k  <k2k@narod.ru>
501             Kai Tietz  <ktietz@redhat.com>
502
503         Merged from trunk
504         PR plugins/52872
505         * configure.ac: Adding for exported symbols check
506         and for rdynamic-check executable-extension.
507         * configure: Regenerated.
508
509 2013-11-07  H.J. Lu  <hongjiu.lu@intel.com>
510
511         PR target/59034
512         * config/i386/i386.md (push peepholer/splitter): Use Pmode
513         with stack_pointer_rtx.
514
515 2013-11-05  Uros Bizjak  <ubizjak@gmail.com>
516
517         * config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
518
519 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
520
521         Backport from mainline
522         2013-10-22  Uros Bizjak  <ubizjak@gmail.com>
523
524         PR target/58779
525         * config/i386/i386.c (put_condition_code) <case GTU, case LEU>:
526         Remove CCCmode handling.
527         <case LTU>: Return 'c' suffix for CCCmode.
528         <case GEU>: Return 'nc' suffix for CCCmode.
529         (ix86_cc_mode) <case GTU, case LEU>: Do not generate overflow checks.
530         * config/i386/i386.md (*sub<mode>3_cconly_overflow): Remove.
531         (*sub<mode>3_cc_overflow): Ditto.
532         (*subsi3_zext_cc_overflow): Ditto.
533
534 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
535
536         Backport from mainline
537         2013-10-19  Uros Bizjak  <ubizjak@gmail.com>
538
539         PR target/58792
540         * config/i386/i386.c (ix86_function_value_regno): Add DX_REG,
541         ST1_REG and XMM1_REG for 32bit and 64bit targets.  Also add DI_REG
542         and SI_REG for 64bit SYSV ABI targets.
543
544 2013-10-25  Richard Henderson  <rth@twiddle.net>
545
546         PR rtl/58542
547         * optabs.c (maybe_emit_atomic_exchange): Use create_input_operand
548         instead of create_convert_operand_to.
549         (maybe_emit_sync_lock_test_and_set): Likewise.
550         (expand_atomic_compare_and_swap): Likewise.
551         (maybe_emit_compare_and_swap_exchange_loop): Don't convert_modes.
552
553 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
554
555         PR rtl-optimization/58831
556         * alias.c (init_alias_analysis): At the beginning of each iteration,
557         set the reg_seen[N] flag if static_reg_base_value[N] is non-null.
558
559 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
560
561         * recog.c (search_ofs): New static variable moved from...
562         (peep2_find_free_register): ...here.
563         (peephole2_optimize): Initialize it.
564
565 2013-10-02  John David Anglin  <danglin@gcc.gnu.org>
566
567         * config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.
568
569 2013-09-23  Eric Botcazou  <ebotcazou@adacore.com>
570
571         * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
572         assignment statements.
573
574 2013-09-20  John David Anglin  <danglin@gcc.gnu.org>
575
576         * config/pa/pa.md: In "scc" insn patterns, change output template to
577         handle const0_rtx in reg_or_0_operand operands.
578
579 2013-09-18  Daniel Morris  <danielm@ecoscentric.com>
580             Paolo Carlini  <paolo.carlini@oracle.com>
581
582         PR c++/58458
583         * doc/implement-cxx.texi: Fix references to the C++ standards.
584
585 2013-09-14  John David Anglin  <danglin@gcc.gnu.org>
586
587         PR target/58382
588         * config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
589         calls to word_mode.
590
591 2013-09-12  Terry Guo  <terry.guo@arm.com>
592
593         Backport from mainline
594         2012-09-17  Richard Guenther  <rguenther@suse.de>
595
596         PR lto/54598
597         * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Use ggc'ed
598         FIXED_VALUE_TYPE instead of struct fixed_value.
599
600 2013-09-10  Richard Earnshaw  <rearnsha@arm.com>
601
602         PR target/58361
603         * arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to
604         support conditional execution.
605         (combine_vcvt_f64_<FCVTI32typename>): Likewise.
606
607 2013-09-01  Uros Bizjak  <ubizjak@gmail.com>
608
609         Backport from mainline
610         2013-08-31  Uros Bizjak  <ubizjak@gmail.com>
611
612         * config/alpha/alpha.c (alpha_emit_conditional_move): Update
613         "cmp" RTX before signed_comparison_operator check to account
614         for "code" changes.
615
616 2013-09-01  John David Anglin  <danglin@gcc.gnu.org>
617
618         * config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
619
620 2013-09-01  Iain Sandoe  <iain@codesourcery.com>
621
622         Backported from 4.8
623         2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
624
625         * doc/tm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE,
626         TARGET_OBJC_DECLARE_CLASS_DEFINITION): Add @hooks.
627         (ASM_DECLARE_CLASS_REFERENCE, ASM_DECLARE_UNRESOLVED_REFERENCE):
628         Remove.
629         * doc/tm.texi: Regenerate.
630         * config/darwin.h (ASM_OUTPUT_LABELREF): Remove special case for
631         .objc_class_name_*.
632         * config/darwin-c.c: Include target.h.
633         (darwin_objc_declare_unresolved_class_reference): New function.
634         (darwin_objc_declare_class_definition): New function.
635         (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE): Define.
636         (TARGET_OBJC_DECLARE_CLASS_DEFINITION): Define.
637
638 2013-09-01  Iain Sandoe  <iain@codesourcery.com>
639
640         Backport from mainline:
641         2013-07-22  Uros Bizjak  <ubizjak@gmail.com>
642
643         * config/i386/i386.md (nonlocal_goto_receiver): Delete insn if
644         it is not needed after split.
645
646         2013-07-20  Iain Sandoe  <iain@codesourcery.com>
647
648         PR target/51784
649         * config/i386/i386.c (output_set_got) [TARGET_MACHO]: Adjust to emit a
650         second label for nonlocal goto receivers. Don't output pic base labels
651         unless we're producing PIC; mark that action unreachable().
652         (ix86_save_reg): If the function contains a nonlocal label, save the
653         PIC base reg.
654         * config/darwin-protos.h (machopic_should_output_picbase_label): New.
655         * gcc/config/darwin.c (emitted_pic_label_num): New GTY.
656         (update_pic_label_number_if_needed): New.
657         (machopic_output_function_base_name): Adjust for nonlocal receiver
658         case.
659         (machopic_should_output_picbase_label): New.
660         * config/i386/i386.md (enum unspecv): UNSPECV_NLGR: New.
661         (nonlocal_goto_receiver): New insn and split.
662
663 2013-08-28  Uros Bizjak  <ubizjak@gmail.com>
664
665         Backport from mainline
666         2013-08-27  Christian Widmer  <shadow@umbrox.de>
667
668         PR target/57927
669         * config/i386/driver-i386.c (host_detect_local_cpu): Add detection
670         of Ivy Bridge processors.
671
672 2013-08-21  Richard Earnshaw  <rearnsha@arm.com>
673
674         PR target/56979
675         * arm.c (aapcs_vfp_allocate): Decompose the argument if the
676         suggested mode for the assignment isn't compatible with the
677         registers required.
678
679 2013-08-17  Uros Bizjak  <ubizjak@gmail.com>
680
681         Backport from mainline
682         2013-08-12  Perez Read  <netfirewall@gmail.com>
683
684         PR target/58132
685         * config/i386/i386.md (*movabs<mode>_1):  Add <ptrsize> PTR before
686         operand 0 for intel asm alternative.
687         (*movabs<mode>_2): Ditto for operand 1.
688
689 2013-08-13  Marek Polacek  <polacek@redhat.com>
690
691         Backport from 4.8:
692         2013-0813  Marek Polacek  <polacek@redhat.com>
693                    Jakub Jelinek  <jakub@redhat.com>
694
695         PR tree-optimization/57980
696         * tree-tailcall.c (process_assignment): Return false
697         when not dealing with integers or floats.
698
699 2013-08-12  David Edelsohn  <dje.gcc@gmail.com>
700
701         Backport from mainline
702         2013-02-14  Steven Bosscher  <steven@gcc.gnu.org>
703
704         * collect2-aix.h: Define F_LOADONLY.
705
706 2013-08-02  Eric Botcazou  <ebotcazou@adacore.com>
707
708         * config/sparc/sparc.c (sparc_emit_membar_for_model) <SMM_TSO>: Add
709         the implied StoreLoad barrier for atomic operations if before.
710
711 2013-07-11  Georg-Johann Lay  <avr@gjlay.de>
712
713         Backport from 2013-07-11 trunk r200901.
714
715         PR target/57631
716         * config/avr/avr.c (avr_set_current_function): Sanity-check signal
717         name seen by assembler/linker if available.
718
719 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
720
721         Backport from 2013-07-10 trunk r200872.
722
723         PR target/57844
724         * config/avr/avr.c (avr_prologue_setup_frame): Trunk -size to mode
725         of my_fp.
726
727 2013-07-10  Uros Bizjak  <ubizjak@gmail.com>
728
729         Backport from mainline
730         2013-07-06  Uros Bizjak  <ubizjak@gmail.com>
731
732         * config/i386/sse.md (sse_movlhps): Change alternative 3
733         of operand 2 to "m".
734
735 2013-07-09  Joseph Myers  <joseph@codesourcery.com>
736
737         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Only
738         adjust register size for TDmode and TFmode for VSX registers.
739
740 2013-07-08  Eric Botcazou  <ebotcazou@adacore.com>
741
742         * Makefile.in (tree-ssa-reassoc.o): Add dependency on $(PARAMS_H).
743
744 2013-07-08  Jakub Jelinek  <jakub@redhat.com>
745
746         PR rtl-optimization/57829
747         * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Ensure that
748         mask bits outside of mode are just sign-extension from mode to HWI.
749
750 2013-07-05  Uros Bizjak  <ubizjak@gmail.com>
751
752         Backport from mainline
753         2013-06-20  Uros Bizjak  <ubizjak@gmail.com>
754
755         PR target/57655
756         * config/i386/i386.c (construct_container): Report error if
757         long double is used with disabled x87 float returns.
758
759 2013-06-21  David Edelsohn  <dje.gcc@gmail.com>
760
761         Backport from mainline
762         2013-06-19  David Edelsohn  <dje.gcc@gmail.com>
763
764         PR driver/57652
765         * collect2.c (collect_atexit): New.
766         (collect_exit): Delete.
767         (main): Register collect_atexit with atexit.
768         (collect_wait): Change collect_exit to exit.
769         (do_wait): Same.
770         * collect2.h (collect_exit): Delete.
771         * tlink.c (do_tlink): Rename exit to ret. Change collect_exit to exit.
772
773 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
774
775         Backport from mainline
776         2013-06-10  Uros Bizjak  <ubizjak@gmail.com>
777
778         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Also use
779         cmp_code to construct REG_EQUAL note.
780
781         Backport from mainline
782         2013-06-05  Uros Bizjak  <ubizjak@gmail.com>
783
784         * config/alpha/alpha.c (alpha_emit_conditional_move): Swap all
785         GE, GT, GEU and GTU compares, modulo DImode compares with zero.
786
787         Backport from mainline
788         2013-05-23  Uros Bizjak  <ubizjak@gmail.com>
789
790         PR target/57379
791         * config/alpha/alpha.md (unspec): Add UNSPEC_XFLT_COMPARE.
792         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Construct
793         REG_EQUAL note as UNSPEC_XFLT_COMPARE unspec.
794
795 2013-06-09  Jakub Jelinek  <jakub@redhat.com>
796
797         PR target/57568
798         * config/i386/i386.md (TARGET_READ_MODIFY_WRITE peepholes): Ensure
799         that operands[2] doesn't overlap with operands[0].
800
801 2013-05-22  Uros Bizjak  <ubizjak@gmail.com>
802
803         PR target/57356
804         * config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
805         for non-sse2 targets.  Simplify mode attribute calculation.
806
807 2013-05-17  Uros Bizjak  <ubizjak@gmail.com>
808
809         Backport from mainline
810         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
811
812         * config/i386/driver-i386.c (host_detect_local_cpu): Determine
813         cache parameters using detect_caches_amd also for CYRIX,
814         NSC and TM2 signatures.
815
816         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
817                     Dzianis Kahanovich  <mahatma@eu.by>
818
819         PR target/45359
820         PR target/46396
821         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
822         VIA/Centaur processors and determine their cache parameters
823         using detect_caches_amd.
824
825         2013-05-15  Uros Bizjak  <ubizjak@gmail.com>
826
827         * config/i386/i386.c (ix86_option_override_internal): Add
828         PTA_POPCNT to corei7 entry.
829
830 2013-05-14  Richard Biener  <rguenther@suse.de>
831
832         PR gcov-profile/57269
833         Backport from mainline
834         2012-06-30  Nathan Sidwell  <nathan@acm.org>
835
836         * coverage.c (coverage_init): Read counts file before writing
837         graph header.
838
839 2013-05-13  Uros Bizjak  <ubizjak@gmail.com>
840
841         PR target/57264
842         Backport from mainline
843         2013-01-22  Jakub Jelinek  <jakub@redhat.com>
844
845         PR target/55686
846         * config/i386/i386.md (UNSPEC_STOS): New.
847         (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
848         *strsetqi_1): Add UNSPEC_STOS.
849
850 2013-05-10  Joey Ye  <joey.ye@arm.com>
851
852         Backport from mainline
853         2012-11-29  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
854
855         PR target/54974
856         * config/arm/arm.md (thumb2_pool_range, pool_range): Add comment on
857         Thumb pool ranges.
858         (thumb1_extendhisi2): Reduce Thumb pool range.
859         (arm_movdi): Likewise.
860         (thumb1_movdi_insn): Likewise.
861         (thumb1_movsi_insn): Likewise.
862         (pic_load_addr_unified): Likewise.
863         (pic_load_addr_32bit): Likewise.
864         (pic_load_addr_thumb1): Likewise.
865         (thumb1_movhf): Likewise.
866         (arm_movsf_soft_insn): Likewise.
867         (thumb1_movsf_soft_insn): Likewise.
868         (movdf_soft_insn): Likewise.
869         (thumb1_movdf_soft_insn): Likewise.
870         * config/arm/neon.md (*neon_mov<mode>): Likewise.
871         (*neon_mov<mode>): Likwise.
872         * config/arm/thumb2.md: (*thumb2_movsi_insn): Likewise.
873         (*thumb2_movhi_insn): Likewise.
874         (*thumb2_extendqisi_v6): Likewise.
875         (*thumb2_zero_extendqisi_v6): Likewise.
876         (*thumb2_zero_extendqisi2_v6): Likewise.
877         * config/arm/vfp.md: (*thumb2_movsi_vfp): Likewise.
878         (*movdi_vfp): Likewise.
879         (*movdi_vfp_cortexa8): Likewise.
880         (*thumb2_movsf_vfp): Likewise.
881         (*thumb2_movdf_vfp): Likewise.
882
883 2013-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
884
885         * config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
886         Add mthumb/march=armv7-a multilib.
887         Add mthumb/march=armv7-r multilib.
888         Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
889
890 2013-05-10  Ralf Corsépius  <ralf.corsepius@rtems.org>
891
892         PR target/57237
893         * config/v850/t-rtems: Add more multilibs.
894
895 2013-05-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
896
897         Backport from trunk
898         2013-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
899
900         PR target/57150
901         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
902         to save TFmode registers and DImode to save TImode registers for
903         caller save operations.
904         (HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
905         mark being partially clobbered since they only use the first
906         double word.
907
908         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
909         and TDmode only use the upper 64-bits of each VSX register.
910
911 2013-05-03  Marek Polacek  <polacek@redhat.com>
912
913         Backport from mainline
914         2013-04-25  Marek Polacek  <polacek@redhat.com>
915
916         PR tree-optimization/57066
917         * builtins.c (fold_builtin_logb): Return +Inf for -Inf.
918
919 2013-04-30  Uros Bizjak  <ubizjak@gmail.com>
920
921         Backport from mainline
922         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
923
924         PR target/44578
925         * config/i386/i386.md (*zero_extendsidi2_rex64): Add "!" to m->?*y
926         alternative.
927         (*zero_extendsidi2): Ditto.
928
929         Backport from mainline
930         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
931
932         PR target/57098
933         * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.
934
935 2013-04-29  Christian Bruel  <christian.bruel@st.com>
936
937         PR target/57108
938         * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.
939
940 2013-04-27  Jakub Jelinek  <jakub@redhat.com>
941
942         PR target/56866
943         * config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
944         the immediate rotate count.
945
946 2013-04-21  Eric Botcazou  <ebotcazou@adacore.com>
947
948         * cfgexpand.c (avoid_complex_debug_insns): Fix C++ism.
949
950 2013-04-19  Matthias Klose  <doko@ubuntu.com>
951
952         PR middle-end/56848
953         Re-apply
954         2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
955
956         Backport from mainline
957         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
958         Alexander Monakov  <amonakov@ispras.ru>
959
960         PR middle-end/56077
961         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
962         flush pending lists also on non-jumps.  Adjust comment.
963
964         Backport from 4.8:
965         2012-08-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
966
967         * sched-deps.c (add_dependence_list_and_free): Simplify.
968         (flush_pending_list_and_free): Fix a hack that was fixing a hack.  Free
969         lists when add_dependence_list_and_free doesn't free them.
970
971 2013-04-19  Marek Polacek  <polacek@redhat.com>
972
973         Backport from mainline
974         2013-01-08  Steven Bosscher  <steven@gcc.gnu.org>
975                     Jakub Jelinek  <jakub@redhat.com>
976
977         PR tree-optimization/48189
978         * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
979         If nitercst is 0, don't predict the exit edge.
980
981 2013-04-16  Jack Howarth  <howarth@bromo.med.uc.edu>
982
983         Backport from mainline
984         2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
985         * config/darwin.h (STARTFILE_SPEC): Use -no_new_main with -lgcrt1.o
986         on Darwin >= 12.
987         (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10 and < 12.
988
989
990         2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
991         PR debug/53453
992         * doc/tm.texi: Update.
993         * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Add @hook.
994         * target.def (force_at_comp_dir): New hook.
995         * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define.
996         * dwarf2out.c (dwarf2out_finish): Check targetm.force_at_comp_dir.
997
998 2013-04-15  Eric Botcazou  <ebotcazou@adacore.com>
999
1000         PR target/56890
1001         * config/sparc/sparc.c (enum sparc_mode_class): Add H_MODE value.
1002         (S_MODES): Set H_MODE bit.
1003         (SF_MODES): Set only S_MODE and SF_MODE bits.
1004         (DF_MODES): Set SF_MODES and only D_MODE and DF_MODE bits.
1005         (sparc_init_modes) <MODE_INT>: Set H_MODE bit for sub-word modes.
1006         <MODE_VECTOR_INT>: Do not set SF_MODE for sub-word modes.
1007         <MODE_FLOAT>: Likewise.
1008
1009 2013-04-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1010
1011         Backport from mainline:
1012         2013-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1013
1014         PR target/55487
1015         * config/pa/pa.c (legitimize_pic_address): Before incrementing label
1016         nuses, make sure we have a label.
1017
1018 2013-04-11  Richard Biener  <rguenther@suse.de>
1019
1020         * BASE-VER: Set to 4.7.4.
1021         * DEV-PHASE: Set to prerelease.
1022
1023 2013-04-11  Release Manager
1024
1025         * GCC 4.7.3 released.
1026
1027 2013-04-10  David S. Miller  <davem@davemloft.net>
1028
1029         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
1030         or -mcpu=hypersparc.
1031
1032 2013-04-05  Eric Botcazou  <ebotcazou@adacore.com>
1033
1034         PR middle-end/56848
1035         Revert
1036         2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1037
1038         Backport from mainline
1039         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
1040         Alexander Monakov  <amonakov@ispras.ru>
1041
1042         PR middle-end/56077
1043         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
1044         flush pending lists also on non-jumps.  Adjust comment.
1045
1046 2013-04-03  Richard Biener  <rguenther@suse.de>
1047
1048         PR tree-optimization/56501
1049         * tree-switch-conversion.c (check_process_case): Properly
1050         handle !single_succ_p case.
1051
1052 2013-04-03  Jakub Jelinek  <jakub@redhat.com>
1053
1054         Backported from mainline
1055         2013-03-06  Jakub Jelinek  <jakub@redhat.com>
1056
1057         PR tree-optimization/56539
1058         * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
1059         instead of GSI_CONTINUE_LINKING as last argument to
1060         force_gimple_operand_gsi.  Adjust function comment.
1061
1062         2013-03-05  Jakub Jelinek  <jakub@redhat.com>
1063
1064         PR debug/56510
1065         * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
1066         (avoid_complex_debug_insns): New function.
1067         (expand_debug_locations): Call it.
1068
1069 2013-04-02  Wei Mi  <wmi@google.com>
1070
1071         * config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
1072         ashl<mode>3_mask, *<shift_insn><mode>3_mask and
1073         *<rotate_insn><mode>3_mask in i386.md.
1074
1075 2013-04-02  Richard Biener  <rguenther@suse.de>
1076
1077         PR middle-end/56768
1078         Backport from mainline
1079         2012-05-16  Richard Guenther  <rguenther@suse.de>
1080
1081         * tree-inline.c (declare_return_variable): Properly handle
1082         DECL_BY_REFERENCE return vars in SSA form.
1083
1084 2013-04-01  Wei Mi  <wmi@google.com>
1085
1086         * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
1087         Truncate operand 2 using %b asm operand modifier.
1088         (*<shift_insn><mode>3_mask): Ditto.
1089         (*<rotate_insn><mode>3_mask): Ditto.
1090
1091 2013-04-01  Uros Bizjak  <ubizjak@gmail.com>
1092
1093         * config/i386/i386.md (*movsf_internal): Change type of
1094         alternatives 3,4 to imov.
1095
1096 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1097
1098         Backport from mainline
1099         2013-02-27  Andrey Belevantsev  <abel@ispras.ru>
1100
1101         PR middle-end/45472
1102         * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
1103         when the may_trap_p bit of the exprs being merged differs.
1104         Reorder tests for speculativeness in the logical and operator.
1105
1106         Backport from mainline
1107          2013-03-05  Jakub Jelinek  <jakub@redhat.com>
1108
1109         PR middle-end/56461
1110         * sel-sched-ir.c (free_sched_pools): Release
1111         succs_info_pool.stack[succs_info_pool.max_top] vectors too
1112         if succs_info_pool.max_top isn't -1.
1113
1114 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1115
1116         Backport from mainline
1117         2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
1118
1119         PR middle-end/55889
1120         * sel-sched.c: Include ira.h.
1121         (implicit_clobber_conflict_p): New function.
1122         (moveup_expr): Use it.
1123         * Makefile.in (sel-sched.o): Depend on ira.h.
1124
1125 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1126
1127         Backport from mainline
1128         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
1129         Alexander Monakov  <amonakov@ispras.ru>
1130
1131         PR middle-end/56077
1132         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
1133         flush pending lists also on non-jumps.  Adjust comment.
1134
1135 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
1136
1137         * doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
1138         * doc/extend.texi (Named Address Spaces): Ditto.
1139         (Variable Attributes): Ditto.
1140
1141 2013-03-28  Eric Botcazou  <ebotcazou@adacore.com>
1142
1143         * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
1144         general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
1145         is not enabled.
1146
1147 2013-03-27  Walter Lee  <walt@tilera.com>
1148
1149         Backport from mainline:
1150         2013-03-27  Walter Lee  <walt@tilera.com>
1151
1152         * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
1153         double-decrement of next_scratch_regno.
1154
1155 2013-03-27  Walter Lee  <walt@tilera.com>
1156
1157         Backport from mainline:
1158         2013-03-27  Walter Lee  <walt@tilera.com>
1159
1160         * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
1161         input operands.
1162         (insn_v1mulus): Ditto.
1163         (insn_v2muls): Ditto.
1164
1165 2013-03-27  Walter Lee  <walt@tilera.com>
1166
1167         Backport from mainline:
1168         2013-03-27  Walter Lee  <walt@tilera.com>
1169
1170         * config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
1171         extra tab.
1172         (ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
1173
1174 2013-03-27  Walter Lee  <walt@tilera.com>
1175
1176         Backport from mainline:
1177         2013-03-27  Walter Lee  <walt@tilera.com>
1178
1179         * config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute
1180         for jr.
1181         (*sibcall_value): Ditto.
1182
1183 2013-03-27  Walter Lee  <walt@tilera.com>
1184
1185         Backport from mainline:
1186         2013-03-27  Walter Lee  <walt@tilera.com>
1187
1188         * config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
1189         (insn_mnz_v8qi): ... this ...
1190         (insn_mnz_v4hi): ... and this.  Replace (const_int 0) with the
1191         vector equivalent.
1192         (insn_v<n>mnz): Replaced by ...
1193         (insn_v1mnz): ... this ...
1194         (insn_v2mnz): ... and this.  Replace (const_int 0) with the vector
1195         equivalent.
1196         (insn_mz_<mode>): Replaced by ...
1197         (insn_mz_v8qi): ... this ...
1198         (insn_mz_v4hi): ... and this.  Replace (const_int 0) with the
1199         vector equivalent.
1200         (insn_v<n>mz): Replaced by ...
1201         (insn_v1mz): ... this ...
1202         (insn_v2mz): ... and this.  Replace (const_int 0) with the vector
1203         equivalent.
1204
1205 2013-03-26  Eric Botcazou  <ebotcazou@adacore.com>
1206
1207         * doc/invoke.texi (SPARC options): Remove -mlittle-endian.
1208
1209 2013-03-26  Richard Biener  <rguenther@suse.de>
1210
1211         Backport from mainline:
1212         2013-03-13  Richard Biener  <rguenther@suse.de>
1213
1214         PR tree-optimization/56608
1215         * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
1216         calls when vectorizing basic-blocks.
1217
1218         2013-03-05  Richard Biener  <rguenther@suse.de>
1219
1220         PR tree-optimization/56270
1221         * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
1222         of loads after scheduling an SLP instance.
1223
1224 2013-03-26  Walter Lee  <walt@tilera.com>
1225
1226         Backport from mainline:
1227         2013-03-26  Walter Lee  <walt@tilera.com>
1228
1229         * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
1230         * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
1231
1232 2013-03-26  Walter Lee  <walt@tilera.com>
1233
1234         Backport from mainline:
1235         2013-03-25  Walter Lee  <walt@tilera.com>
1236
1237         * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
1238         TILEGX_INSN_SHUFFLEBYTES1.
1239         * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
1240         shufflebytes1.
1241         (tilegx_builtins): Ditto.
1242         * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
1243
1244 2013-03-26  Walter Lee  <walt@tilera.com>
1245
1246         Backport from mainline:
1247         2013-03-25  Walter Lee  <walt@tilera.com>
1248
1249         * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
1250         tests for constraint J, K, N, P.
1251
1252 2013-03-26  Walter Lee  <walt@tilera.com>
1253
1254         Backport from mainline:
1255         2013-03-25  Walter Lee  <walt@tilera.com>
1256
1257         * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
1258         Use indirect/pcrel encoding.
1259         * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
1260         Ditto.
1261
1262 2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
1263
1264         Backport from mainline:
1265         2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
1266         2013-03-14  Kaz Kojima  <kkojima@gcc.gnu.org>
1267
1268         PR target/49880
1269         * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
1270         (musermode): Convert to Var(TARGET_USERMODE).
1271         * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
1272         MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
1273         * config/sh/sh.c (sh_option_override): Use
1274         TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
1275         * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
1276         condition.
1277         (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
1278         TARGET_SH4.
1279         (udivsi3_i4_single, divsi3_i4_single): Use
1280         TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
1281         * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1282         (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
1283         * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1284         (SUBTARGET_OVERRIDE_OPTIONS): New.
1285
1286 2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
1287
1288         Backport from mainline:
1289         2012-04-03  Kaz Kojima  <kkojima@gcc.gnu.org>
1290
1291         * config/sh/t-sh (MULTILIB_MATCHES): Match m2a-single-only
1292         to m2a-single instead of m2e.
1293
1294 2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1295
1296         PR target/56560
1297         * config/i386/i386.h (ix86_args): Define only if USED_FOR_TARGET
1298         isn't defined.
1299
1300 2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1301
1302         PR target/56560
1303         * config/i386/i386.c (init_cumulative_args): Also set
1304         cum->callee_return_avx256_p.
1305         (ix86_function_arg): Set cum->callee_pass_avx256_p.  Set
1306         cfun->machine->callee_pass_avx256_p only when MODE == VOIDmode.
1307
1308         * config/i386/i386.h (ix86_args): Add callee_pass_avx256_p and
1309         callee_return_avx256_p.
1310
1311 2013-03-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1312
1313         Backport from mainline:
1314         2012-12-04  Ian Lance Taylor  <iant@google.com>
1315
1316         * godump.c (find_dummy_types): Output a dummy type if we couldn't
1317         output the real type.
1318
1319 2013-03-20  Jack Howarth  <howarth@bromo.med.uc.edu>
1320
1321         PR bootstrap/56258
1322         * doc/generic.texi (POINTER_PLUS_EXPR): Use @item instead of @itemx.
1323         (PLUS_EXPR): Likewise.
1324         * doc/cppopts.texi (--help): Likewise.
1325         * doc/invoke.texi (-fenable-@var{kind}-@var{pass}): Likewise.
1326         (-fdump-rtl-cprop_hardreg): Likewise.
1327         (-fdump-rtl-csa): Likewise.
1328         (-fdump-rtl-dce): Likewise.
1329         (-fdump-rtl-dbr): Likewise.
1330         (-fdump-rtl-into_cfglayout): Likewise.
1331         (-fdump-rtl-outof_cfglayout): Likewise.
1332
1333 2013-03-18  Richard Earnshaw  <rearnsha@arm.com>
1334
1335         PR target/56470
1336         * config/arm/arm.c (shift_op): Validate RTL pattern on the fly.
1337         (arm_print_operand, case 'S'): Don't use shift_operator to validate
1338         the RTL.
1339
1340 2013-03-14  Seth LaForge  <sethml@google.com>
1341
1342         PR target/56351
1343         Backport from mainline
1344         2012-10-22  Julian Brown  <julian@codesourcery.com>
1345
1346         * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing
1347         VFP D registers in big-endian mode.
1348
1349 2013-03-08  Joey Ye  <joey.ye@arm.com>
1350
1351         Backport from mainline
1352         2013-03-06  Joey Ye  <joey.ye@arm.com>
1353
1354         PR lto/50293
1355         * gcc.c (convert_white_space): New function.
1356         (main): Handles white space in function name.
1357
1358 2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
1359
1360         Backport from mainline
1361         2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
1362
1363         PR target/56529
1364         * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
1365         instead of TARGET_SH2 for call-table case.  Do not set sh_div_strategy
1366         to SH_DIV_CALL_TABLE for TARGET_SH2.
1367         * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
1368         list.
1369         * doc/invoke.texi (SH options): Use table for mdiv= option.  Document
1370         mdiv= call-div1, call-fp, call-table options.
1371
1372 2013-03-06  Sebastian Huber <sebastian.huber@embedded-brains.de>
1373
1374         * config.gcc (arm*-*-rtemself*): New.
1375         (arm*-*-rtems*): Removed.
1376         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
1377         "arm*-*-rtemseabi*" to "arm*-*-rtems*".
1378
1379 2013-03-01  Richard Biener  <rguenther@suse.de>
1380
1381         Backport from mainline
1382         2012-12-12  Zdenek Dvorak  <ook@ucw.cz>
1383
1384         PR tree-optimization/55481
1385         * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall
1386         back to general rewriting if we cannot leave an original biv
1387         definition alone.
1388
1389 2013-03-01  Richard Biener  <rguenther@suse.de>
1390
1391         Backport from mainline
1392         2012-04-10  Richard Guenther  <rguenther@suse.de>
1393
1394         PR middle-end/52888
1395         * gimple-low.c (gimple_check_call_args): Properly account for
1396         compatible aggregate types.
1397
1398 2013-02-26  Nick Clifton  <nickc@redhat.com>
1399
1400         PR target/56453
1401         Import this patch from the mainline:
1402
1403         2012-08-17  Nick Clifton  <nickc@redhat.com>
1404
1405         * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
1406         (branch_true): Likewise.
1407         (branch_false): Likewise.
1408
1409 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
1410
1411         PR tree-optimization/56443
1412         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
1413         overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
1414         to type_for_mode langhook.
1415
1416 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
1417
1418         PR bootstrap/56258
1419         * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
1420         instead of @itemx.
1421
1422 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
1423
1424         Backported from mainline
1425         2013-02-19  Jakub Jelinek  <jakub@redhat.com>
1426
1427         PR tree-optimization/56350
1428         * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
1429         if haven't found reduction or nested cycle operand, rather than
1430         asserting we must find it.
1431
1432         PR tree-optimization/56381
1433         * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
1434         to fold_build3.
1435
1436         2013-02-08  Jakub Jelinek  <jakub@redhat.com>
1437
1438         PR tree-optimization/56250
1439         * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
1440         if type is unsigned and code isn't MULT_EXPR.
1441
1442         2013-02-06  Jakub Jelinek  <jakub@redhat.com>
1443
1444         PR middle-end/56217
1445         * omp-low.c (use_pointer_for_field): Return false if
1446         lower_send_shared_vars doesn't generate any copy-out code.
1447
1448         2012-11-27  Jakub Jelinek  <jakub@redhat.com>
1449
1450         PR tree-optimization/55110
1451         * tree-vect-loop.c (vectorizable_reduction): Don't assert
1452         that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.
1453
1454 2013-02-18  Richard Biener  <rguenther@suse.de>
1455
1456         Revert
1457         2013-02-04  Richard Biener  <rguenther@suse.de>
1458
1459         Backport from mainline
1460         2012-07-04  Richard Guenther  <rguenther@suse.de>
1461
1462         PR tree-optimization/53844
1463         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
1464         the loop virtual PHI.
1465
1466 2013-02-13  David S. Miller  <davem@davemloft.net>
1467
1468         * expmed.c (expand_shift_1): Only strip scalar integer subregs.
1469
1470 2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
1471
1472         Backport from mainline
1473         2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
1474
1475         PR rtl-optimization/56275
1476         * simplify-rtx.c (avoid_constant_pool_reference): Check that
1477         offset is non-negative and less than cmode size before
1478         calling simplify_subreg.
1479
1480 2013-02-09  Uros Bizjak  <ubizjak@gmail.com>
1481
1482         Backport from mainline
1483         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
1484
1485         * config/i386/sse.md (FMAMODEM): New mode iterator.
1486         (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
1487         mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
1488
1489         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
1490
1491         * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
1492         when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
1493         * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
1494
1495 2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1496
1497         Backport from mainline
1498         2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1499
1500         PR target/56043
1501         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
1502         If there is no implicit builtin declaration, just return NULL.
1503
1504 2013-02-08  David Edelsohn  <dje.gcc@gmail.com>
1505             Michael Meissner  <meissner@linux.vnet.ibm.com>
1506
1507         Backport from mainline
1508         * config/rs6000/rs6000.c (rs6000_option_override_internal): Clear
1509         MASK_VSX from set_masks if OS_MISSING_ALTIVEC.
1510
1511 2013-02-07  David S. Miller  <davem@davemloft.net>
1512
1513         * dwarf2out.c (based_loc_descr): Perform leaf register remapping
1514         on 'reg'.
1515         * var-tracking.c (vt_add_function_parameter): Test the presence of
1516         HAVE_window_save properly and do not remap argument registers when
1517         we have a leaf function.
1518
1519 2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
1520
1521         Backport from mainline
1522         2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
1523
1524         PR bootstrap/56227
1525         * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
1526         instead of "ll".
1527         * config/i386/i386.c (ix86_print_operand): Ditto.
1528
1529 2013-02-07  Alan Modra  <amodra@gmail.com>
1530
1531         PR target/53040
1532         * config/rs6000/rs6000.c (rs6000_savres_strategy): When using
1533         static chain, set REST_INLINE_FPRS too.
1534
1535 2013-02-06  David Edelsohn  <dje.gcc@gmail.com>
1536
1537         Backport from mainline
1538         2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
1539
1540         * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
1541         * configure: Regenerate.
1542
1543 2013-02-05  David Edelsohn  <dje.gcc@gmail.com>
1544
1545         Backport from mainline
1546         2013-02-03  David Edelsohn  <dje.gcc@gmail.com>
1547                     Andrew Dixie  <andrewd@gentrack.com>
1548
1549         * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
1550         flag set.
1551
1552 2013-02-05  Richard Biener  <rguenther@suse.de>
1553
1554         Backport from mainline
1555         2012-12-10  Richard Biener  <rguenther@suse.de>
1556
1557         PR tree-optimization/55107
1558         * tree-ssa-pre.c (struct pre_stats): Remove constified field.
1559         (bitmap_set_replace_value): Add gcc_unreachable.
1560         (do_regular_insertion): Re-write all_same handling.  Insert
1561         an assignment instead of a PHI in this case.
1562         (execute_pre): Do not record constified events.
1563
1564 2013-02-05  Richard Biener  <rguenther@suse.de>
1565
1566         PR tree-optimization/54767
1567         * tree-vrp.c (vrp_visit_phi_node): For PHI arguments coming via
1568         backedges drop all symbolical range information.
1569         (execute_vrp): Compute backedges.
1570
1571 2013-02-04  Richard Biener  <rguenther@suse.de>
1572
1573         Backport from mainline
1574         2012-01-11  Richard Guenther  <rguenther@suse.de>
1575
1576         PR tree-optimization/44061
1577         * tree-vrp.c (extract_range_basic): Compute zero as
1578         value-range for __builtin_constant_p of function parameters.
1579
1580         2013-01-08  Jakub Jelinek  <jakub@redhat.com>
1581
1582         PR middle-end/55890
1583         * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_class_p.
1584
1585 2013-02-04  Richard Biener  <rguenther@suse.de>
1586
1587         Backport from mainline
1588         2012-07-04  Richard Guenther  <rguenther@suse.de>
1589
1590         PR tree-optimization/53844
1591         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
1592         the loop virtual PHI.
1593
1594         2012-12-13  Richard Biener  <rguenther@suse.de>
1595
1596         PR lto/55660
1597         * tree-streamer.c (record_common_node): Check that we are not
1598         recursively pre-loading nodes we want to skip.  Handle
1599         char_type_node appearing as part of va_list_type_node.
1600
1601 2013-02-04  Richard Biener  <rguenther@suse.de>
1602
1603         PR middle-end/55890
1604         * gimple.h (gimple_call_builtin_class_p): New function.
1605         * gimple.c (validate_call): New function.
1606         (gimple_call_builtin_class_p): Likewise.
1607         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
1608         Use gimple_call_builtin_class_p.
1609         (find_func_clobbers): Likewise.
1610         * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
1611         (strlen_optimize_stmt): Likewise.
1612
1613 2013-02-01  Jakub Jelinek  <jakub@redhat.com>
1614
1615         Backported from mainline
1616         2013-01-28  Jakub Jelinek  <jakub@redhat.com>
1617
1618         PR tree-optimization/56125
1619         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
1620         pow(x,c) into sqrt(x) * powi(x, n/2) or
1621         1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
1622         optimizing for size.
1623         Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
1624         1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
1625         integer.
1626
1627         2013-01-25  Jakub Jelinek  <jakub@redhat.com>
1628
1629         PR tree-optimization/56098
1630         * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
1631         for stmts with volatile ops.
1632         (cond_store_replacement): Don't optimize if assign has volatile ops.
1633         (cond_if_else_store_replacement_1): Don't optimize if either
1634         then_assign or else_assign have volatile ops.
1635
1636         2013-01-23  Jakub Jelinek  <jakub@redhat.com>
1637
1638         PR target/49069
1639         * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
1640         instead of cmpdi_operand for first comparison operand.
1641         Don't assert that comparison operands aren't both constants.
1642
1643         2013-01-21  Jakub Jelinek  <jakub@redhat.com>
1644
1645         PR tree-optimization/56051
1646         * fold-const.c (fold_binary_loc): Don't fold
1647         X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
1648         a narrowing conversion, or widening conversion from signed
1649         to unsigned.
1650
1651         2013-01-18  Jakub Jelinek  <jakub@redhat.com>
1652
1653         PR middle-end/56015
1654         * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
1655         the case where writing real complex part of target modifies
1656         op1.
1657
1658         2013-01-15  Jakub Jelinek  <jakub@redhat.com>
1659
1660         PR target/55940
1661         * function.c (thread_prologue_and_epilogue_insns): Always
1662         add crtl->drap_reg to set_up_by_prologue.set, even if
1663         stack_realign_drap is false.
1664
1665         2013-01-10  Jakub Jelinek  <jakub@redhat.com>
1666
1667         PR tree-optimization/55921
1668         * tree-complex.c (expand_complex_asm): New function.
1669         (expand_complex_operations_1): Call it for GIMPLE_ASM.
1670
1671         2013-01-03  Jakub Jelinek  <jakub@redhat.com>
1672
1673         PR rtl-optimization/55838
1674         * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
1675         iv0.step, iv1.step and step.
1676
1677         2012-11-23  Jakub Jelinek  <jakub@redhat.com>
1678
1679         PR c++/54046
1680         * Makefile.in (gimple-low.o): Depend on langhooks.h.
1681         * gimple-low.c: Include langhooks.c.
1682         (block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK,
1683         by default call lang_hooks.block_may_fallthru.
1684         * langhooks.h (struct lang_hooks): Add block_may_fallthru
1685         langhook.
1686         * langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define.
1687         (LANG_HOOKS_INITIALIZER): Use it.
1688
1689         2012-11-20  Jakub Jelinek  <jakub@redhat.com>
1690
1691         PR middle-end/55094
1692         * builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
1693         on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
1694         * cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
1695         on the first old_insns_match_p call.  For !ACCUMULATE_OUTGOING_ARGS
1696         fail if the last real insn doesn't have REG_ARGS_SIZE note.
1697
1698         2012-11-17  Jakub Jelinek  <jakub@redhat.com>
1699
1700         PR tree-optimization/55236
1701         * fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv
1702         and signed ARG0_TYPE, force low and high to be non-NULL.
1703
1704         2012-11-13  Jakub Jelinek  <jakub@redhat.com>
1705
1706         PR rtl-optimization/54127
1707         * cfgrtl.c (force_nonfallthru_and_redirect): When redirecting
1708         asm goto labels from BB_HEAD (e->dest) to target bb, decrement
1709         LABEL_NUSES of BB_HEAD (e->dest) and increment LABEL_NUSES of
1710         BB_HEAD (target) appropriately and adjust JUMP_LABEL and/or
1711         REG_LABEL_TARGET and REG_LABEL_OPERAND.
1712
1713 2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
1714
1715         * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
1716         range isn't testing for zero.
1717
1718 2013-01-29  Richard Biener  <rguenther@suse.de>
1719
1720         PR tree-optimization/56113
1721         * tree-ssa-structalias.c (equiv_class_lookup): Also return
1722         the bitmap leader.
1723         (label_visit): Free duplicate bitmaps and record the leader instead.
1724         (perform_var_substitution): Adjust.
1725
1726 2013-01-28  Serowk  <serowk@yandex.ru>
1727
1728         PR target/35294
1729         * config/arm/arm.c (arm_expand_binop_builtin): Add new parameter.
1730         Fix mode checks to allow for the passing of constants in the
1731         second parameter.
1732         (arm_expand_builtin): Adjust calls to arm_expand_binop_builtin.
1733         Add entries in the switch statement for builtin iwmmxt vector
1734         shift and rotate builtins.
1735
1736 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1737
1738         Backport from mainline
1739         2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1740
1741         PR target/56114
1742         * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
1743         operand 0 in movabs insn template for -masm=intel asm alternative.
1744         (*movabs<mode>_2): Ditto for operand 1.
1745
1746 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1747
1748         Backport from mainline
1749         2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
1750
1751         PR target/56028
1752         * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
1753         alternative to (o,r).
1754         (*movdi_internal_rex64): Remove (!o,n) alternative.
1755         (DImode immediate->memory splitter): Remove.
1756         (DImode immediate->memory peephole2): Remove.
1757         (movtf): Enable for TARGET_64BIT || TARGET_SSE.
1758         (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
1759         alternative to (!o,*r).
1760         (*movtf_internal_sse): New pattern.
1761         (*movxf_internal_rex64): New pattern.
1762         (*movxf_internal): Disable for TARGET_64BIT.
1763         (*movdf_internal_rex64): Remove (!o,F) alternative.
1764
1765         2013-01-23  Uros Bizjak  <ubizjak@gmail.com>
1766
1767         * config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives
1768         involving stack registers slightly.
1769
1770         2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
1771
1772         * config/i386/constraints.md (Yf): New constraint.
1773         * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
1774         of f constraint to conditionaly disable x87 register preferences.
1775         (*movdf_internal): Ditto.
1776         (*movsf_internal): Ditto.
1777
1778         2012-01-24  Uros Bizjak  <ubizjak@gmail.com>
1779
1780         * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
1781         (*movtf_internal_rex64): Add (!o,C) alternative
1782         (*movxf_internal_rex64): Ditto.
1783         (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
1784
1785 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
1786
1787         * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
1788
1789 2013-01-24  Martin Jambor  <mjambor@suse.cz>
1790
1791         Backport from mainline
1792         2013-01-04  Martin Jambor  <mjambor@suse.cz>
1793
1794         PR tree-optimization/55755
1795         * tree-sra.c (sra_modify_assign): Do not check that an access has no
1796         children when trying to avoid producing a VIEW_CONVERT_EXPR.
1797
1798 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1799
1800         Backport from mainline
1801         2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1802
1803         * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
1804
1805 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1806
1807         PR rtl-optimization/56023
1808         * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
1809         dependent on debug instruction.
1810
1811 2013-01-21  Martin Jambor  <mjambor@suse.cz>
1812
1813         Backport from mainline
1814         2013-01-17  Martin Jambor  <mjambor@suse.cz>
1815
1816         PR tree-optimizations/55264
1817         * cgraph.c (cgraph_create_virtual_clone): Mark clones as non-virtual.
1818         * cgraph.h (cgraph_only_called_directly_p_or_aliased_p): Return false
1819         for virtual functions.
1820         * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
1821         for virtual methods.
1822         * ipa.c (cgraph_remove_unreachable_nodes): Never return true for
1823         virtual methods before inlining is over.
1824
1825 2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
1826
1827         Backport from mainline
1828         2012-01-17  Uros Bizjak  <ubizjak@gmail.com>
1829
1830         PR target/55981
1831         * config/i386/sync.md (atomic_store<mode>): Generate SWImode
1832         store through atomic_store<mode>_1.
1833         (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
1834
1835 2013-01-16  Richard Biener  <rguenther@suse.de>
1836
1837         PR middle-end/55882
1838         * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
1839         account for bitpos when computing alignment.
1840
1841 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
1842
1843         Backport from 2013-01-14 trunk r195169.
1844
1845         PR target/55974
1846         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
1847         etc. to 1 and not to __flash.
1848         Use LL suffix for __INT24_MAX__ with -mint8.
1849         Use ULL suffix for __UINT24_MAX__ with -mint8.
1850
1851 2013-01-14  Matthias Klose  <doko@ubuntu.com>
1852
1853         * doc/invoke.texi: Document -print-multiarch.
1854         * doc/install.texi: Document --enable-multiarch.
1855         * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
1856         * configure.ac: Add --enable-multiarch option.
1857         Substitute with_cpu, with_float.
1858         * configure: Regenerate.
1859         * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
1860         enable_multiarch, with_cpu, with_float: New macros.
1861         if_multiarch: New macro, define in terms of enable_multiarch.
1862         * genmultilib: Add new argument for the multiarch name.
1863         * gcc.c (multiarch_dir): Define.
1864         (for_each_path): Search for multiarch suffixes.
1865         (driver_handle_option): Handle multiarch option.
1866         (do_spec_1): Pass -imultiarch if defined.
1867         (main): Print multiarch.
1868         (set_multilib_dir): Separate multilib and multiarch names
1869         from multilib_select.
1870         (print_multilib_info): Ignore multiarch names in multilib_select.
1871         * incpath.c (add_standard_paths): Search the multiarch include dirs.
1872         * cppdefault.h (default_include): Document multiarch in multilib
1873         member.
1874         * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
1875         include directory for multiarch directories.
1876         * common.opt: New options --print-multiarch and -imultilib.
1877
1878         * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
1879         Include i386/t-linux.
1880         <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
1881         Include i386/t-kfreebsd.
1882         <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
1883         * config/i386/t-linux64: Add multiarch names in
1884         MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
1885         * config/i386/t-gnu: New file.
1886         * config/i386/t-kfreebsd: Likewise.
1887         * config/i386/t-linux: Likewise.
1888
1889         * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1890         * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
1891         * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
1892         for 32bit non-biarch configurations.
1893
1894         * config/pa/t-linux: New file; define MULTIARCH_DIRNAME.
1895         * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file):
1896         Include pa/t-linux.
1897
1898         * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1899
1900         * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
1901
1902         * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1903         * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
1904         * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
1905         to the list.
1906         (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
1907         * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
1908         Include rs6000/t-linux for 32bit non-biarch configurations.
1909
1910         * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1911
1912         * config/m68k/t-linux: Define MULTIARCH_DIRNAME.
1913
1914         * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
1915         * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.
1916
1917         * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
1918         * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.
1919
1920 2013-01-14  Eric Botcazou  <ebotcazou@adacore.com>
1921
1922         * tree-vectorizer.h (vect_get_single_scalar_iteraion_cost): Fix typo.
1923         * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Likewise.
1924         (vect_estimate_min_profitable_iter): Adjust to above fix.
1925         * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
1926
1927 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1928
1929         Backport from mainline
1930         2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1931
1932         * doc/extend.texi (X86 Built-in Functions): Add whitespace in
1933         __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
1934         documentation.  Add missing '__' in front of
1935         __builtin_ia32_packssdw256.
1936
1937 2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
1938
1939         Backport from mainline
1940         2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
1941
1942         * config/i386/sse.md (*vec_interleave_highv2df): Change mode
1943         attribute of movddup insn to DF.
1944         (*vec_interleave_lowv2df): Ditto.
1945         (vec_dupv2df): Ditto.
1946
1947 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1948
1949         Backport from 2013-01-07 trunk r194991, r194992.
1950
1951         PR target/55897
1952         * doc/extend.texi (AVR Named Address Spaces): __memx goes into
1953         .progmemx.data now.
1954
1955         * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
1956         (avr_addrspace_t): Add .section_name field.
1957         * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
1958         array size.
1959         (avr_addrspace): Same.  Initialize .section_name.  Remove last
1960         NULL entry.  Put __memx into .progmemx.data.
1961         (progmem_section_prefix): Remove.
1962         (avr_asm_init_sections): No need to initialize progmem_section.
1963         (avr_asm_named_section): Use avr_addrspace[].section_name to get
1964         section name prefix.
1965         (avr_asm_select_section): Ditto.  And use get_unnamed_section to
1966         retrieve the progmem section.
1967         * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
1968         boundary to run over avr_addrspace[].
1969         (avr_register_target_pragmas): Ditto.
1970
1971 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1972
1973         Backport from 2013-01-07 trunk r194978.
1974
1975         PR target/54461
1976         * doc/install.texi (Cross-Compiler-Specific Options): Document
1977         --with-avrlibc.
1978
1979 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1980
1981         Backport from 2013-01-07 trunk r194968.
1982
1983         PR other/55243
1984         * config/avr/t-avr: Don't automatically rebuild
1985         $(srcdir)/config/avr/t-multilib
1986         $(srcdir)/config/avr/avr-tables.opt
1987         (avr-mcus): New phony target to build them on request.
1988         (s-avr-mlib): Remove.
1989         * avr/avr-mcus.def: Adjust comments.
1990
1991 2013-01-07  Terry Guo  <terry.guo@arm.com>
1992
1993         Backport from mainline
1994         2012-12-19  Terry Guo  <terry.guo@arm.com>
1995
1996         * config/arm/arm.c (thumb_find_work_register): Check argument
1997         register number based on current PCS.
1998
1999 2013-01-06  Uros Bizjak  <ubizjak@gmail.com>
2000
2001         Backport from mainline
2002         2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
2003
2004         PR target/55712
2005         * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
2006         selected code model, define __code_mode_small__, __code_model_medium__,
2007         __code_model_large__, __code_model_32__ or __code_model_kernel__.
2008         * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
2009         xchg temporary register with %k.  Declare temporary register as
2010         early clobbered.
2011         [__x86_64__]: For medium and large code models, preserve %rbx register.
2012
2013 2013-01-03  Richard Henderson  <rth@redhat.com>
2014
2015         * config/i386/i386.c (ix86_expand_move): Always assign to op1
2016         after eliminating TLS symbols.
2017
2018 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2019
2020         PR target/53789
2021         * config/pa/pa.md (movsi): Revert previous change.
2022         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
2023         references.
2024
2025 2013-01-02  Rainer Emrich  <rainer@emrich-ebersheim.de>
2026
2027         PR bootstrap/55707
2028         * graphite-dependences.c (hash_poly_ddr_p): Cast from pointer via
2029         intptr_t.
2030
2031 2013-01-02  Jason Merrill  <jason@redhat.com>
2032
2033         PR c++/55804
2034         * tree.c (build_array_type_1): Revert earlier change.
2035
2036 2012-12-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2037
2038         PR target/53789
2039         * config/pa/pa.md (movsi): Reject expansion of TLS symbol references
2040         after reload starts.
2041
2042 2012-12-21  Martin Jambor  <mjambor@suse.cz>
2043
2044         PR tree-optimization/55355
2045         * tree-sra.c (type_internals_preclude_sra_p): Also check that
2046         bit_position is small enough to fit a single HOST_WIDE_INT.
2047
2048 2012-12-21  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
2049
2050         * config.gcc: Match arm*-*-uclinux*eabi* for EABI uCLinux.
2051
2052 2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
2053
2054         Backport from mainline
2055         2012-10-15  Matthias Klose  <doko@ubuntu.com>
2056
2057         * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
2058         * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
2059
2060 2012-12-16  Eric Botcazou  <ebotcazou@adacore.com>
2061             Tomash Brechko  <tomash.brechko@gmail.com>
2062
2063         PR target/55673
2064         * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed
2065         handling of before and after cases.
2066         * config/sparc/sync.md (atomic_store): Fix pasto.
2067
2068 2012-12-14  Yvan Roux  <yvan.roux@linaro.org>
2069
2070         * optabs.c (expand_atomic_store): Elide redundant model test.
2071
2072 2012-12-13  Richard Henderson  <rth@redhat.com>
2073
2074         PR middle-end/55492
2075         * optabs.c (expand_atomic_load): Emit acquire barrier after the load.
2076
2077 2012-12-11  Eric Botcazou  <ebotcazou@adacore.com>
2078
2079         PR target/54121
2080         * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
2081         (tldo_stb_sp64): Likewise.
2082         (tldo_sth_sp32): Likewise.
2083         (tldo_sth_sp64): Likewise.
2084         (tldo_stw_sp32): Likewise.
2085         (tldo_stw_sp64): Likewise.
2086         (tldo_stx_sp64): Likewise.
2087
2088 2012-12-10 Kai Tietz  <ktietz@redhat.com>
2089
2090         PR target/53912
2091         * print-tree.c (print_node): Cast from pointer via uintptr_t.
2092
2093 2012-12-07  Uros Bizjak  <ubizjak@gmail.com>
2094
2095         Backport from mainline
2096         2012-12-06  Uros Bizjak  <ubizjak@gmail.com>
2097                     H.J. Lu  <hongjiu.lu@intel.com>
2098
2099         PR target/55597
2100         * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
2101         before using it as insn or call equivalent.
2102
2103 2012-12-06  Jason Merrill  <jason@redhat.com>
2104
2105         PR c++/55032
2106         * tree.c (build_array_type_1): Re-layout if we found it in the
2107         hash table.
2108
2109 2012-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2110
2111         * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
2112         opaque cond in all call insns.
2113
2114 2012-12-03  Eric Botcazou  <ebotcazou@adacore.com>
2115
2116         * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
2117         area if the function allocates dynamic stack space.
2118         (ia64_initial_elimination_offset): Adjust offsets to above change.
2119
2120 2012-12-03  Richard Biener  <rguenther@suse.de>
2121
2122         Backport from mainline
2123         2012-09-24  Richard Guenther  <rguenther@suse.de>
2124
2125         PR tree-optimization/53663
2126         * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional
2127         native encode/interpret translation on VN_WALKREWRITE.
2128
2129 2012-12-03 Kai Tietz  <ktietz@redhat.com>
2130
2131         PR target/53912
2132         * ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t.
2133
2134         PR target/53912
2135         * tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT.
2136
2137         PR target/53912
2138         * pointer-set.c (hash1): Cast from pointer via uintptr_t.
2139
2140 2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2141
2142         Backport from mainline:
2143         2012-11-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2144
2145         PR target/55195
2146         * config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types.
2147         (in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
2148         (in_nullified_branch_delay): Likewise.
2149         (in_call_delay): Likewise.
2150         Define delay for sibcall insns.  Adjust Z3 and Z4 insn reservations for
2151         new types.  Add opaque cond to mark all calls, sibcalls, dyncalls and
2152         the $$sh_func_adrs call as variable.  Update type of sibcalls and
2153         $$sh_func_adrs call.
2154         * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
2155         length instead of adjustment.  Handle negative and undefined call
2156         adjustments for insn_default_length.  Remove adjustment for millicode
2157         insn with unfilled delay slot.
2158         (pa_output_millicode_call): Update for revised millicode length.
2159         * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
2160
2161 2012-11-29  Kai Tietz  <ktietz@redhat.com>
2162
2163         PR target/55171
2164         * prefix.c (lookup_key): Replace xmalloc/xrealloc
2165         use by XNEWVEC/XRESIZEVEC.
2166
2167         * i386.c (get_scratch_register_on_entry): Handle
2168         thiscall-convention.
2169         (split_stack_prologue_scratch_regno): Likewise.
2170         (ix86_static_chain): Likewise.
2171         (x86_output_mi_thunk): Likewise.
2172
2173 2012-11-28  H.J. Lu  <hongjiu.lu@intel.com>
2174
2175         Backported from mainline
2176         2012-11-27  H.J. Lu  <hongjiu.lu@intel.com>
2177                     Markus Trippelsdorf  <markus@trippelsdorf.de>
2178
2179         PR lto/54795
2180         * lto-opts.c (lto_write_options): Also handle
2181         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and
2182         OPT_SPECIAL_program_name.
2183
2184         PR lto/55474
2185         * lto-wrapper.c (merge_and_complain): Handle
2186         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore,
2187         OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
2188
2189 2012-11-27  Paolo Bonzini  <pbonzini@redhat.com>
2190
2191         PR rtl-optimization/55489
2192         * gcse.c (compute_transp): Precompute a canonical version
2193         of XEXP (x, 0), and pass it to canon_true_dependence.
2194
2195 2012-11-27  Richard Biener  <rguenther@suse.de>
2196
2197         PR middle-end/55331
2198         * gimple-fold.c (gimplify_and_update_call_from_tree): Replace
2199         stmt with a NOP instead of removing it.
2200
2201 2012-11-26  Richard Biener  <rguenther@suse.de>
2202
2203         Backport from mainline
2204         2012-10-19  Richard Biener  <rguenther@suse.de>
2205
2206         PR tree-optimization/54976
2207         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
2208         Robustify against odd inner_mode inputs.
2209
2210         2012-10-12  Richard Biener  <rguenther@suse.de>
2211
2212         PR tree-optimization/54894
2213         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
2214         Handle over-aligned scalar types properly.
2215
2216         2012-10-02  Richard Guenther  <rguenther@suse.de>
2217
2218         PR middle-end/54735
2219         * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
2220         cleaning up the CFG.
2221
2222 2012-11-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
2223
2224         Backport from mainline
2225         2012-11-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
2226
2227         * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
2228         explaining the register ordering preferences.
2229
2230         2012-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
2231         * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
2232         constraints so that the traditional floating point loads, stores,
2233         and moves are done first, then the VSX loads, stores, and moves,
2234         and finally the GPR loads, stores, and moves so that reload
2235         chooses FPRs over GPRs, and uses the traditional load/store
2236         instructions which provide an offset.
2237         (movdf_hardfloat64): Likewise.
2238
2239 2012-11-19  H.J. Lu  <hongjiu.lu@intel.com>
2240
2241         Backported from mainline
2242         2012-11-13  Eric Botcazou  <ebotcazou@adacore.com>
2243                     H.J. Lu  <hongjiu.lu@intel.com>
2244
2245         PR middle-end/55142
2246         * config/i386/i386.c (legitimize_pic_address): Properly handle
2247         REG + CONST.
2248         (ix86_print_operand_address): Set code to 'k' when forcing
2249         addr32 prefix.  For x32, zero-extend negative displacement if
2250         it < -16*1024*1024.
2251
2252 2012-11-12  Eric Botcazou  <ebotcazou@adacore.com>
2253
2254         * common.opt (fvar-tracking-uninit): Document.
2255         * toplev.c (process_options): Fix handling of flag_var_tracking_uninit.
2256         * config/darwin.c (darwin_override_options): Likewise.
2257
2258 2012-11-11  Eric Botcazou  <ebotcazou@adacore.com>
2259
2260         * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
2261         * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.
2262
2263 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
2264
2265         * doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
2266
2267 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
2268
2269         * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
2270         sp_offset manually.
2271
2272 2012-11-07  Uros Bizjak  <ubizjak@gmail.com>
2273
2274         Backport from mainline
2275         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2276
2277         * config/i386/i386.c (ix86_init_machine_status): Do not
2278         explicitly clear tls_descriptor_call_expanded_p again.
2279
2280         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2281
2282         * config/i386/sse.md
2283         (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
2284         as read and written by the instruction.
2285
2286         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2287
2288         * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
2289         (ix86_instantiate_decls): New function.
2290         (ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
2291         stack slot instead of SLOT_VIRTUAL.
2292         <case IX86_BUILTIN_STMXCSR>: Ditto.
2293         (assign_386_stack_local): Do not assert when virtual slot is valid.
2294         * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
2295         * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
2296         (truncxf<mode>2): Ditto.
2297         (floatunssi<mode>2): Ditto.
2298         (isinf<mode>2): Ditto.
2299         * config/i386/sync.md (atomic_load<mode>): Ditto.
2300         (atomic_store<mode>): Ditto.
2301
2302 2012-11-07  Eric Botcazou  <ebotcazou@adacore.com>
2303
2304         PR middle-end/55219
2305         * fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
2306         the argument is itself a conditional expression.
2307
2308 2012-11-05  H.J. Lu  <hongjiu.lu@intel.com>
2309
2310         * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
2311         REX_INT_REGNO_P.
2312
2313 2012-11-05  Eric Botcazou  <ebotcazou@adacore.com>
2314
2315         PR tree-optimization/54986
2316         * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op
2317         conversions on entry but add them back on exit if needed.
2318
2319 2012-11-05  Richard Sandiford  <rdsandiford@googlemail.com>
2320
2321         PR target/55204
2322         * config/i386/i386.c (ix86_address_subreg_operand): Remove stack
2323         pointer check.
2324         (print_reg): Use true_regnum rather than REGNO.
2325         (ix86_print_operand_address): Remove SUBREG handling.
2326
2327 2012-11-05  Jakub Jelinek  <jakub@redhat.com>
2328
2329         Backported from mainline
2330         2012-10-24  Jakub Jelinek  <jakub@redhat.com>
2331
2332         PR debug/54828
2333         * gimple.h (is_gimple_sizepos): New inline function.
2334         * gimplify.c (gimplify_one_sizepos): Use it.  Remove useless
2335         final assignment to expr variable.
2336         * tree.c (RETURN_TRUE_IF_VAR): Return true also if
2337         !TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified
2338         into a local temporary.
2339
2340         2012-10-10  Jakub Jelinek  <jakub@redhat.com>
2341
2342         PR tree-optimization/54877
2343         * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
2344         use make_ssa_name instead of copy_ssa_name.
2345
2346 2012-11-03  Peter Bergner  <bergner@vnet.ibm.com>
2347
2348         Backport from mainline
2349         2012-10-31  Jakub Jelinek  <jakub@redhat.com>
2350
2351         PR tree-optimization/53708
2352         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
2353         user-supplied alignment when used with an explicit section name.
2354
2355 2012-11-02  Jeff Law  <law@redhat.com>
2356
2357         PR tree-optimization/54985
2358         * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function extracted
2359         from thread_across_edge.
2360         (thread_across_edge): Use it in all cases where we might thread
2361         across a back edge.
2362
2363 2012-10-31  Eric Botcazou  <ebotcazou@adacore.com>
2364
2365         * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
2366         special register pushes before frame probing and allocation.
2367
2368 2012-10-31  Ralf Corsépius  <ralf.corsepius@rtems.org>,
2369             Joel Sherrill  <joel.sherrill@oarcorp.com>
2370
2371         * config/sparc/t-rtems: New (Custom multilibs).
2372         * config/sparc/t-rtems-64: New (Custom multilibs).
2373         * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
2374         (sparc-*-rtems*): Add sparc/t-rtems.
2375
2376 2012-10-30  Eric Botcazou  <ebotcazou@adacore.com>
2377
2378         * cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
2379         head comment.
2380         (hash_rtx): Likewise.
2381
2382 2012-10-29  Terry Guo  <terry.guo@arm.com>
2383
2384         Backport from mainline
2385         2012-10-11  Terry Guo  <terry.guo@arm.com>
2386
2387         * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
2388         architecture.
2389         * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
2390         instruction.
2391
2392 2012-10-26  Gunther Nikl  <gnikl@users.sourceforge.net>
2393
2394         * common/config/m68k/m68k-common.c (m68k_handle_option): Set
2395         gcc_options fields of opts_set for -m68020-40 and -m68020-60.
2396
2397 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
2398
2399         * config/avr/t-rtems: Revert previous commit.
2400
2401 2012-10-26  Terry Guo  <terry.guo@arm.com>
2402
2403         Backport from mainline
2404         2012-10-23  Terry Guo  <terry.guo@arm.com>
2405
2406         PR target/55019
2407         * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
2408         live argument regs.
2409
2410 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
2411
2412         * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
2413         __USE_INIT_FINI__.
2414         * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
2415
2416 2012-10-25  Ralf Corsépius  <ralf.corsepius@rtems.org>
2417
2418         * config.gcc (microblaze*-*-rtems*): New target.
2419         * config/microblaze/rtems.h: New.
2420         * config/microblaze/t-rtems: New.
2421
2422 2012-10-25  Richard Biener  <rguenther@suse.de>
2423
2424         PR tree-optimization/54902
2425         * tree-ssa-pre.c (fini_pre): Return TODO.
2426         (execute_pre): Adjust.
2427         * tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
2428         blocks before computing dominators.
2429
2430 2012-10-24  Uros Bizjak  <ubizjak@gmail.com>
2431
2432         Backport from mainline
2433         2012-10-22  Uros Bizjak  <ubizjak@gmail.com>
2434
2435         * config/i386/i386.c (memory_address_length): Assert that non-null
2436         base or index RTXes are registers.  Do not check for REG RTXes.
2437         Determine addr32 prefix using SImode_address_operand or
2438         from original base and index RTXes.  Simplify code.
2439
2440         2012-10-21  Uros Bizjak  <ubizjak@gmail.com>
2441
2442         * config/i386/i386-protos.h (memory_address_length): Add new bool
2443         argument.  Update all uses.
2444         * config/i386/i386.c (memory_address_length): If not LEA insn, then
2445         add length of addr32 prefix based on mode of base or index register.
2446         (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
2447         addresses here.  Update call to memory_address_length.
2448         (ix86_print_address_operand): Use SImode_address_operand predicate.
2449         * config/i386/predicates.md (SImode_address_operand): New.
2450         * config/i386/i386.md (lea<mode>): Use SImode_address_operand
2451         to calculate "mode" attribute.  Use SImode_address_operand predicate
2452         instead of open-coding accepted RTX codes.
2453
2454 2012-10-22  Georg-Johann Lay  <avr@gjlay.de>
2455
2456         Backport from 2012-10-22 trunk r192685.
2457         * doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
2458         Note __AVR_<device>__ is not defined for cores.
2459         Don't point to --help=target.
2460         Order --mcu= documentation according to trunk:/gcc/doc/avr-mmcu.texi.
2461
2462 2012-10-19  Marek Polacek  <polacek@redhat.com>
2463
2464         Backported from mainline
2465         2012-10-19  Marek Polacek  <polacek@redhat.com>
2466
2467         PR middle-end/54945
2468         * fold-const.c (fold_sign_changed_comparison):  Punt if folding
2469         pointer/non-pointer comparison.
2470
2471 2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
2472
2473         Backported from mainline
2474         2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
2475
2476         PR target/54892
2477         * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
2478         sure the mode is correct when falling through from above cases.
2479
2480 2012-10-19  Alan Modra  <amodra@gmail.com>
2481
2482         * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
2483         (HAVE_LD_LARGE_TOC): Likewise.
2484         * configure: Regenerate.
2485
2486 2012-10-19  Alan Modra  <amodra@gmail.com>
2487
2488         * config/rs6000/predicates.md (splat_input_operand): Don't call
2489         input_operand for MEMs.  Instead check for volatile and call
2490         memory_address_addr_space_p with modified mode.
2491
2492 2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
2493
2494         Backported from mainline
2495         2012-07-23  Ulrich Weigand  <ulrich.weigand@linaro.org>
2496
2497         * config/arm/arm.c (arm_reorg): Ensure all insns are split.
2498
2499 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
2500
2501         PR rtl-optimization/54870
2502         * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
2503         * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
2504         SSA_NAME pointer that points to a partition if there is at least
2505         one variable with it set in the partition.
2506         * dse.c (local_variable_can_escape): New predicate.
2507         (can_escape): Call it.
2508         * gimplify.c (mark_addressable): If this is a partitioned decl, also
2509         mark the SSA_NAME pointer that points to a partition.
2510
2511 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
2512
2513         Backport from mainline
2514         2012-08-09  Andrey Belevantsev  <abel@ispras.ru>
2515
2516         PR rtl-optimization/53701
2517         * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
2518         rocess not only expr's vinsns but all old vinsns from expr's
2519         istory of changes.
2520
2521 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
2522
2523         Backport from mainline
2524         2012-07-31  Andrey Belevantsev  <abel@ispras.ru>
2525         PR target/53975
2526
2527         * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
2528         Revert
2529         2011-08-04  Sergey Grechanik  <mouseentity@ispras.ru>
2530         * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
2531         only if producer writes to the register given by regno.
2532
2533 2012-09-15  Uros Bizjak  <ubizjak@gmail.com>
2534
2535         Backport from mainline
2536         2012-10-15  Uros Bizjak  <ubizjak@gmail.com>
2537
2538         * config/i386/sse.md (UNSPEC_MOVU): Remove.
2539         (UNSPEC_LOADU): New.
2540         (UNSPEC_STOREU): Ditto.
2541         (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
2542         (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
2543         (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
2544         (<sse2>_movdqu<avxsizesuffix>): Split to ...
2545         (<sse2>_loaddqu<avxsizesuffix>): ... this and ...
2546         (<sse2>_storedqu<avxsizesuffix>): ... this.
2547         (*sse4_2_pcmpestr_unaligned): Update.
2548         (*sse4_2_pcmpistr_unaligned): Ditto.
2549
2550         * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
2551         gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
2552         gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
2553         (ix86_expand_vector_move_misalign): Use gen_sse_loadups or
2554         gen_sse2_load{dqu,upd} to load from unaligned memory and
2555         gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
2556         unaligned memory.
2557         (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
2558         Use CODE_FOR_sse_loadups.
2559         <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
2560         <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
2561         <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
2562         <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
2563         <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
2564         <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
2565         <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
2566         <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
2567         <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
2568         <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
2569         <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
2570
2571 2012-10-15  Steven Bosscher  <steven@gcc.gnu.org>
2572
2573         Backport from trunk (r190222):
2574
2575         PR tree-optimization/54146
2576         * ifcvt.c: Include pointer-set.h.
2577         (cond_move_process_if_block): Change type of then_regs and
2578         else_regs from alloca'd array to pointer_sets.
2579         (check_cond_move_block): Update for this change.
2580         (cond_move_convert_if_block): Likewise.
2581         * Makefile.in: Fix dependencies for ifcvt.o.
2582
2583 2012-10-15  Richard Guenther  <rguenther@suse.de>
2584
2585         PR tree-optimization/54920
2586         * tree-ssa-pre.c (create_expression_by_pieces): Properly
2587         allocate temporary storage for all NARY elements.
2588
2589 2012-10-08  Georg-Johann Lay  <avr@gjlay.de>
2590
2591         PR target/54854
2592         * doc/invoke.texi (AVR Options): Deprecate -mshort-calls.
2593
2594 2012-10-05  Mark Kettenis  <kettenis@openbsd.org>
2595
2596         * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
2597         default_use_cxa_atexit to yes.
2598
2599 2012-10-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2600
2601         * config/pa/pa.md: Adjust unamed HImode add insn pattern.
2602
2603 2012-10-05  Jan Hubicka  <jh@suse.cz>
2604             Jakub Jelinek  <jakub@redhat.com>
2605
2606         PR tree-optimization/33763
2607         * tree-inline.c (expand_call_inline): Silently ignore always_inline
2608         attribute for redefined extern inline functions.
2609
2610 2012-10-03  H.J. Lu  <hongjiu.lu@intel.com>
2611
2612         Backported from mainline
2613         2012-10-03  Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
2614
2615         * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
2616         in SSE and YMM state support check for -march=native.
2617
2618 2012-10-03  Alexandre Oliva <aoliva@redhat.com>
2619
2620         PR debug/53135
2621         * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
2622         when needed.
2623
2624 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2625
2626         Backported from mainline
2627         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2628
2629         PR target/54785
2630         * doc/invoke.texi: Document -mprefer-avx128.
2631
2632 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2633
2634         Backported from mainline
2635         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2636
2637         PR target/54741
2638         *  config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
2639         (XSTATE_FP): Likewise.
2640         (XSTATE_SSE): Likewise.
2641         (XSTATE_YMM): Likewise.
2642         (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
2643         SSE and YMM states aren't supported.
2644
2645 2012-10-01  Tom de Vries  <tom@codesourcery.com>
2646
2647         * var-tracking.c (set_dv_changed): Add an 'inline' function specifier to
2648         the prototype.
2649
2650 2012-10-01  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2651
2652         PR target/54746
2653         * config/s390/s390.c (s390_option_override): Add missing break.
2654
2655 2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
2656
2657         Backport from mainline
2658         2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
2659
2660         * config.gcc: Replace 'host' with 'target' when configuring for
2661         powerpc64*-*-freebsd.
2662
2663 2012-09-28  Meador Inge  <meadori@codesourcery.com>
2664
2665         Backport from mainline
2666         2012-09-27  Meador Inge  <meadori@codesourcery.com>
2667
2668         * gcc-ar.c (main): Handle the returning of the sub-process error
2669         code correctly.
2670
2671 2012-09-28  Georg-Johann Lay  <avr@gjlay.de>
2672
2673         Backport from 2012-09-28 trunk r191821.
2674         * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
2675
2676 2012-09-27  Jakub Jelinek  <jakub@redhat.com>
2677
2678         PR target/54703
2679         * simplify-rtx.c (simplify_binary_operation_1): Perform
2680         (x - (x & y)) -> (x & ~y) optimization only for integral modes.
2681
2682 2012-09-24  Eric Botcazou  <ebotcazou@adacore.com>
2683
2684         * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
2685         TYPE_NONALIASED_COMPONENT flag.
2686         * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
2687         TYPE_NONALIASED_COMPONENT flag.
2688
2689 2012-09-21  Richard Guenther  <rguenther@suse.de>
2690
2691         PR middle-end/54638
2692         Backport from mainline
2693         2012-04-19  Richard Guenther  <rguenther@suse.de>
2694
2695         * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
2696         array access.
2697
2698 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
2699
2700         PR c/54552
2701         * c-typeck.c (c_cast_expr): When casting to a type requiring
2702         C_MAYBE_CONST_EXPR to be created, pass the inner expression to
2703         c_fully_fold first.
2704
2705 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
2706
2707         PR c/54103
2708         * c-typeck.c (build_unary_op): Pass original argument of
2709         TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
2710         any C_MAYBE_CONST_EXPR, if it has integer operands.
2711         (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
2712         TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
2713         to c_objc_common_truthvalue_conversion, then remove any
2714         C_MAYBE_CONST_EXPR, if they have integer operands.  Use
2715         c_objc_common_truthvalue_conversion not
2716         c_common_truthvalue_conversion.
2717         (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
2718         call note_integer_operands for arguments with integer operands
2719         that are not integer constants.
2720
2721 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
2722
2723         Backported from mainline
2724         2012-09-17  Jakub Jelinek  <jakub@redhat.com>
2725
2726         PR tree-optimization/54563
2727         * tree-ssa-math-opts.c (execute_cse_sincos): Call
2728         gimple_purge_dead_eh_edges if last call has been changed.
2729
2730         2012-09-14  Jakub Jelinek  <jakub@redhat.com>
2731
2732         PR target/54564
2733         * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
2734         instead of (match_dup 0) as second argument to vec_merge.
2735         (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
2736         Remove third alternative.
2737         (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
2738         operand 2 instead of operand 1, but put it as first argument
2739         of fma.
2740         * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
2741         _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
2742         of the first.
2743
2744 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
2745
2746         * BASE-VER: Set to 4.7.3.
2747         * DEV-PHASE: Set to prerelease.
2748
2749 2012-09-20  Release Manager
2750
2751         * GCC 4.7.2 released.
2752
2753 2012-09-15  Andi Kleen  <ak@linux.intel.com>
2754
2755         Backport from mainline
2756         2012-09-07  Andi Kleen  <ak@linux.intel.com>
2757
2758         * gcc/lto-streamer.h (res_pair): Add.
2759         (lto_file_decl_data): Replace resolutions with respairs.
2760         Add max_index.
2761         * gcc/lto/lto.c (lto_resolution_read): Remove max_index.  Add rp.
2762         Initialize respairs.
2763         (lto_file_finalize): Set up resolutions vector lazily from respairs.
2764
2765 2012-09-14  Walter Lee  <walt@tilera.com>
2766
2767         Backport from mainline.
2768         2012-09-14  Walter Lee  <walt@tilera.com>
2769
2770         * doc/invoke.texi (Option Summary): fix typesetting for -mcpu
2771         option for TILEPro and TILE-Gx.
2772
2773 2012-09-13  Uros Bizjak  <ubizjak@gmail.com>
2774
2775         * config/i386/i386.h (x86_prefetchw): New global variable.
2776         (TARGET_PREFETCHW): New macro.
2777         * config/i386/i386.c (PTA_PREFETCHW): Ditto.
2778         (processor_alias_table): Add PTA_PREFETCHW to
2779         bdver1, bdver2 and btver1.
2780         (ix86_option_override_internal): Set x86_prefetchw for
2781         PTA_PREFETCHW targets.
2782         * config/i386/i386.md (prefetch): Expand to prefetchw
2783         for TARGET_PREFETCHW.
2784         (*prefetch_3dnow_<mode>): Also enable for TARGET_PREFETCHW.
2785
2786         Backport from mainline
2787         2012-08-13  Uros Bizjak  <ubizjak@gmail.com>
2788
2789         * config/i386/i386.md (prefetch): Do not assert mode of operand 0.
2790         (*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
2791         Rename to ...
2792         (*prefetch_sse): ... this.
2793         (*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
2794         Rename to ...
2795         (*prefetch_3dnow): ... this.
2796
2797 2012-09-13  Jakub Jelinek  <jakub@redhat.com>
2798
2799         PR c/54559
2800         * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
2801         COMPLEX_TYPE with in_late_binary_op set temporarily to true.
2802
2803 2012-09-12  Teresa Johnson  <tejohnson@google.com>
2804
2805         Backport from mainline.
2806         2012-09-12  Teresa Johnson  <tejohnson@google.com>
2807
2808         PR gcov-profile/54487
2809         * configure.ac (HOST_HAS_F_SETLKW): Set based on compile
2810         test using F_SETLKW with fcntl.
2811         * configure, config.in: Regenerate.
2812
2813 2012-09-12  Uros Bizjak  <ubizjak@gmail.com>
2814
2815         Backport from mainline
2816         2012-09-12  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
2817
2818         * config/i386/i386.md : Comments on fma4 instruction selection
2819         reflect requirement on register pressure based cost model.
2820
2821         * config/i386/driver-i386.c (host_detect_local_cpu): fma4
2822         flag is set-reset as informed by the cpuid flag.
2823
2824         * config/i386/i386.c (processor_alias_table): fma4
2825         flag is enabled for bdver2.
2826
2827 2012-09-12  Christian Bruel  <christian.bruel@st.com>
2828
2829         * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
2830
2831 2012-09-12  Jakub Jelinek  <jakub@redhat.com>
2832
2833         * config.gcc: Obsolete picochip-*.
2834
2835 2012-09-11  Richard Guenther  <rguenther@suse.de>
2836
2837         PR debug/54534
2838         * cgraph.h (varpool_can_remove_if_no_refs): Restore dependence
2839         on flag_toplevel_reorder.
2840
2841 2012-09-10  Richard Henderson  <rth@redhat.com>
2842
2843         * config/alpha/predicates.md (small_symbolic_operand): Disallow
2844         large offsets.
2845
2846 2012-09-10  Georg-Johann Lay  <avr@gjlay.de>
2847
2848         Backport from 2012-09-10 mainline r191132.
2849
2850         PR target/54536
2851         * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
2852
2853 2012-09-10  Markus Trippelsdorf  <markus@trippelsdorf.de>
2854
2855         PR middle-end/54515
2856         * tree-sra.c (disqualify_base_of_expr): Check for possible
2857         NULL_TREE returned by get_base_address()
2858
2859 2012-09-07  Richard Guenther  <rguenther@suse.de>
2860
2861         Backport from mainline
2862         2012-06-26  Jan Hubicka  <jh@suse.cz>
2863
2864         PR lto/53572
2865         * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
2866         used symbols.
2867
2868 2012-09-07  Richard Guenther  <rguenther@suse.de>
2869
2870         Backport from mainline
2871         2012-07-13  Richard Guenther  <rguenther@suse.de>
2872
2873         PR tree-optimization/53922
2874         * tree-vrp.c (value_inside_range): Change prototype to take
2875         min/max instead of value-range.
2876         (range_includes_zero_p): Likewise.  Return the result from
2877         value_inside_range.
2878         (extract_range_from_binary_expr_1): Adjust to handle dont-know
2879         return value from range_includes_zero_p.
2880         (extract_range_from_unary_expr_1): Likewise.
2881         (compare_range_with_value): Likewise.
2882         (vrp_meet_1): Likewise.
2883
2884 2012-09-07  Richard Guenther  <rguenther@suse.de>
2885
2886         PR middle-end/53667
2887         * tree-ssa-structalias.c (handle_rhs_call): Properly clobber
2888         EAF_NOESCAPED arguments.  Transitively close non-EAF_DIRECT
2889         arguments separately.
2890
2891 2012-09-07  Jakub Jelinek  <jakub@redhat.com>
2892
2893         Backported from mainline
2894         2012-09-06  Jakub Jelinek  <jakub@redhat.com>
2895
2896         PR rtl-optimization/54455
2897         * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru
2898         bb ends up with asm goto referencing bb's label.
2899
2900 2012-09-07  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2901
2902         Backport from mainline.
2903         2012-08-29  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2904                     Richard Earnshaw  <richard.earnshaw@arm.com>
2905
2906         PR target/54252
2907         * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
2908         element size. Use elem_type from the formal parameter. New parameter
2909         fcode.
2910         (neon_expand_args): Adjust call to neon_dereference_pointer.
2911
2912 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
2913
2914         * config/i386/sse.md (<sse4_1_avx2>_pblendvb): Use
2915         reg_not_xmm0_operand_maybe_avx as operand 0 constraint.
2916
2917 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
2918
2919         Backport from mainline
2920         2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
2921
2922         * config/i386/i386.md (isa): Add fma and fma4.
2923         (enabled): Handle fma and fma4.
2924         * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>.
2925         (*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>.
2926         (*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>.
2927         (*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>.
2928         (*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>.
2929         (*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>.
2930
2931         2012-08-10  Uros Bizjak  <ubizjak@gmail.com>
2932
2933         * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>,
2934         *fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>,
2935         *fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns.
2936
2937 2012-09-06  Richard Guenther  <rguenther@suse.de>
2938
2939         PR tree-optimization/54498
2940         * tree-ssa-alias.h (get_continuation_for_phi): Add flag to
2941         abort when reaching an already visited region.
2942         * tree-ssa-alias.c (maybe_skip_until): Likewise.  And do it.
2943         (get_continuation_for_phi_1): Likewise.
2944         (walk_non_aliased_vuses): When we translated the reference,
2945         abort when we re-visit a region.
2946         * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
2947
2948 2012-09-06  Andrew Pinski  <apinski@cavium.com>
2949
2950         PR tree-opt/54494
2951         * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also.
2952
2953 2012-09-05  Jakub Jelinek  <jakub@redhat.com>
2954
2955         PR middle-end/54486
2956         * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
2957         build_int_cst with size_type_node instead of size_int.
2958
2959 2012-09-05  Georg-Johann Lay  <avr@gjlay.de>
2960
2961         Backport from 2012-09-05 mainline r190697.
2962
2963         PR target/54461
2964         * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
2965         configured --with-avrlibc.
2966         (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if configured
2967         --with-avrlibc.
2968         * config/avr/avrlibc.h: New file.
2969         * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
2970         configured --with-avrlibc.
2971         * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__
2972
2973 2012-09-05  Bin Cheng  <bin.cheng@arm.com>
2974
2975         Backport from 2012-09-04 mainline r190919
2976
2977         PR target/45070
2978         * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value
2979         of size less than 4 bytes by using macro ARM_NUM_INTS.
2980         (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS.
2981
2982 2012-09-04  Richard Henderson  <rth@redhat.com>
2983
2984         * alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
2985
2986 2012-09-04  Georg-Johann Lay  <avr@gjlay.de>
2987
2988         Backport from 2012-09-04 mainline r190920
2989
2990         PR target/54476
2991         * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with SImode.
2992
2993 2012-09-04  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2994
2995         Backport from 2012-09-04 mainline r190914
2996
2997         PR target/54220
2998         * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
2999         define to...
3000         (avr_allocate_stack_slots_for_args): ...this new static function.
3001
3002 2012-09-03  H.J. Lu  <hongjiu.lu@intel.com>
3003
3004         Backported from mainline
3005         2012-08-23  H.J. Lu  <hongjiu.lu@intel.com>
3006
3007         PR driver/54335
3008         * doc/invoke.texi: Add -da and remove -dm.
3009
3010 2012-09-03  Jakub Jelinek  <jakub@redhat.com>
3011
3012         Backported from mainline
3013         2012-09-01  Jakub Jelinek  <jakub@redhat.com>
3014
3015         PR target/54436
3016         * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
3017         operands[1] is CONST_INT_P, convert it to QImode before printing.
3018
3019         2012-08-31  Jakub Jelinek  <jakub@redhat.com>
3020
3021         PR c/54428
3022         * c-convert.c (convert): Don't call fold_convert_loc if
3023         TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
3024         is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
3025         COMPLEX_TYPE -> COMPLEX_TYPE conversion.
3026
3027         2012-08-24  Jakub Jelinek  <jakub@redhat.com>
3028
3029         PR c/54363
3030         * gimplify.c (optimize_compound_literals_in_ctor): Only recurse
3031         if init is a CONSTRUCTOR.
3032
3033 2012-09-02  Eric Botcazou  <ebotcazou@adacore.com>
3034
3035         PR rtl-optimization/54369
3036         * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
3037         calling dbr_schedule.
3038         * config/sparc/sparc.c (sparc_reorg): Likewise.
3039
3040 2012-08-31  Kirill Yukhin  <kirill.yukhin@intel.com>
3041
3042         Backport from mainline
3043         2012-08-23  Yuri Rumyantsev  <ysrumyan@gmail.com>
3044
3045         * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
3046         case for Atom processor.
3047
3048 2012-08-28  Uros Bizjak  <ubizjak@gmail.com>
3049
3050         Backport from mainline
3051         2012-08-27  Uros Bizjak  <ubizjak@gmail.com>
3052
3053         PR target/46254
3054         * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
3055         true for TARGET_64BIT or !flag_pic.
3056         * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
3057         (atomic_compare_and_swap_double<mode>): Change operand 2 predicate
3058         to cmpxchg8b_pic_memory_operand.  Use DWIH mode iterator.
3059         Add insn constraint.  Conditionally emit xchg asm insns.
3060         (atomic_compare_and_swap<mode>): Update calls.  Check only
3061         cmpxchg8b_pic_memory_operand in memory address fixup.
3062         (DCASMODE): Remove.
3063         (CASHMODE): Rename from DCASHMODE.
3064         (doublemodesuffix): Update modes.
3065         (regprefix): New mode attribute.
3066
3067         (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
3068         <UNSPECV_CMPXCHG>: New constant.
3069         (atomic_compare_and_swap<mode>_1): Rename from
3070         atomic_compare_and_swap_single<mode>.  Update calls and
3071         unspec_volatile constants.
3072         (atomic_compare_and_swap<mode>_doubleword): Rename from
3073         atomic_compare_and_swap_double<mode>.  Update calls and
3074         unspec_volatile constants.
3075
3076 2012-08-28  Walter Lee  <walt@tilera.com>
3077
3078         Backport from mainline
3079         2012-08-28  Walter Lee  <walt@tilera.com>
3080
3081         * confg/tilegx/tilegx.md: Fix code style.
3082         (*zero_extendsidi_truncdisi): Fix typo.
3083         * config/tilegx/tilegx.c: Fix code style.
3084         (tilegx_function_profiler): Fix typo.
3085
3086 2012-08-27  Walter Lee  <walt@tilera.com>
3087
3088         Backport from mainline
3089         2012-08-27  Walter Lee  <walt@tilera.com>
3090
3091         * doc/md.texi (TILE-Gx): Fix typo.
3092
3093 2012-08-27  Walter Lee  <walt@tilera.com>
3094
3095         Backport from mainline
3096         2012-08-27  Walter Lee  <walt@tilera.com>
3097
3098         * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
3099         * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
3100
3101 2012-08-27  Walter Lee  <walt@tilera.com>
3102
3103         Backport from mainline
3104         2012-08-27  Walter Lee  <walt@tilera.com>
3105
3106         * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
3107         (insn_bfins): Delete.
3108
3109 2012-08-27  Walter Lee  <walt@tilera.com>
3110
3111         Backport from mainline
3112         2012-08-27  Walter Lee  <walt@tilera.com>
3113
3114         * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
3115         atomic_exchange_bare<mode>,
3116         atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
3117         * config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation.
3118         * config/tilegx/tilegx.md (type): Add X1_remove.
3119         (insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
3120         insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
3121         insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
3122         X1_remote.
3123
3124 2012-08-25  Eric Botcazou  <ebotcazou@adacore.com>
3125
3126         PR rtl-optimization/54088
3127         * jump.c (delete_related_insns): Robustify latest change.
3128
3129 2012-08-21  Richard Guenther  <rguenther@suse.de>
3130
3131         Backport from mainline
3132         2012-08-16  Richard Guenther  <rguenther@suse.de>
3133
3134         PR middle-end/54146
3135         * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
3136         exit vector.
3137         * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
3138         * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
3139         * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
3140         * tree-ssa-loop-im.c (analyze_memory_references): Adjust.
3141         (tree_ssa_lim_finalize): Free all mem_refs.
3142         * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
3143         scc when bailing out.
3144         * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
3145         * ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
3146         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
3147         FOR_EACH_LOOP_BREAK.
3148
3149         2012-08-17  Richard Guenther  <rguenther@suse.de>
3150
3151         * tree-sra.c (modify_function): Free redirect_callers vector.
3152         * ipa-split.c (split_function): Free args_to_pass vector.
3153         * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
3154         vec_oprnds.
3155         (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
3156         * tree-vect-slp.c (vect_free_slp_instance): Free the instance.
3157         (vect_analyze_slp_instance): Free everything.
3158         (destroy_bb_vec_info): Free the SLP instances.
3159
3160         2012-08-17  Richard Guenther  <rguenther@suse.de>
3161
3162         * params.def (integer-share-limit): Decrease from 256 to 251,
3163         add rationale.
3164
3165         2012-08-21  Richard Guenther  <rguenther@suse.de>
3166
3167         * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
3168         the affine expansion cache.
3169
3170 2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
3171
3172         Backported from trunk
3173         2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
3174
3175         PR middle-end/53992
3176         * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
3177
3178 2012-08-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3179
3180         Backport from mainline.
3181         2012-08-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3182
3183         PR target/54212
3184         * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
3185         mark as predicable. Adjust asm template.
3186         (vec_setv2di_internal): Likewise.
3187         (vec_extract<mode> VD, VQ): Likewise.
3188         (vec_extractv2di): Likewise.
3189         (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise.
3190         (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise.
3191         (neon_vdup_n<mode> VX, V32): Likewise.
3192         (neon_vdup_nv2di): Likewise.
3193
3194 2012-08-17  Walter Lee  <walt@tilera.com>
3195
3196         Backport from mainline
3197         2012-08-17  Walter Lee  <walt@tilera.com>
3198
3199         * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
3200         (FEEDBACK_ENTER): Define.
3201         (FEEDBACK_REENTER): Define.
3202         (FEEDBACK_ENTRY): Define.
3203         * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
3204         (FEEDBACK_ENTER): Define.
3205         (FEEDBACK_REENTER): Define.
3206         (FEEDBACK_ENTRY): Define.
3207
3208 2012-08-16  Walter Lee  <walt@tilera.com>
3209
3210         Backport from mainline
3211         2012-08-16  Walter Lee  <walt@tilera.com>
3212
3213         * config.gcc (tilegx-*-linux*): Add feedback.h.
3214         (tilepro-*-linux*): Likewise.
3215         * config/tilegx/feedback.h: New file.
3216         * config/tilepro/feedback.h: New file.
3217
3218 2012-08-08  Pavel Chupin  <pavel.v.chupin@intel.com>
3219
3220         Backport from mainline r189840 and r187586:
3221         2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>
3222
3223         * config/i386/i386.md (stack_protect_set): Disable the pattern
3224         for Android since Android libc (bionic) does not provide random
3225         value for stack protection guard at gs:0x14. Guard value
3226         will be provided from external symbol (default implementation).
3227         (stack_protect_set_<mode>): Likewise.
3228         (stack_protect_test): Likewise.
3229         (stack_protect_test_<mode>): Likewise.
3230         * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
3231         not have Bionic by default
3232         * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
3233         Macro OPTION_BIONIC is defined in this file and provides Bionic
3234         accessibility status
3235
3236         2012-05-16  Igor Zamyatin  <igor.zamyatin@intel.com>
3237
3238         * configure.ac: Stack protector enabling for Android targets.
3239         * configure: Regenerate.
3240
3241 2012-08-13  Jakub Jelinek  <jakub@redhat.com>
3242
3243         Backported from trunk
3244         2012-07-19  Jakub Jelinek  <jakub@redhat.com>
3245
3246         PR rtl-optimization/53942
3247         * function.c (assign_parm_setup_reg): Avoid zero/sign extension
3248         directly from likely spilled non-fixed hard registers, move them
3249         to pseudo first.
3250
3251 2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
3252
3253         * config/i386/sse.md (xop_phaddbq):  Fix vec_select selectors.
3254         (xop_phaddubq): Ditto.
3255
3256 2012-08-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
3257
3258         Backport from mainline
3259         2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
3260                     Richard Earnshaw  <rearnsha@arm.com>
3261
3262         * target.def (vector_alignment): New target hook.
3263         * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
3264         * doc/tm.texi: Regenerate.
3265         * targhooks.c (default_vector_alignment): New function.
3266         * targhooks.h (default_vector_alignment): Add prototype.
3267         * stor-layout.c (layout_type): Use targetm.vector_alignment.
3268         * config/arm/arm.c (arm_vector_alignment): New function.
3269         (TARGET_VECTOR_ALIGNMENT): Define.
3270
3271         * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
3272         vector type alignment instead of size.
3273         * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
3274         element type size directly instead of computing it from alignment.
3275         Fix variable naming and comment.
3276
3277 2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
3278
3279         Backport from mainline
3280         2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
3281
3282         * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
3283         (alpha_pad_function_end): ... this.  Also insert NOP between
3284         sibling call and GP load.
3285         (alpha_reorg): Update call to alpha_pad_function_end.  Expand comment.
3286
3287 2012-08-09  H.J. Lu  <hongjiu.lu@intel.com>
3288
3289         Backport from mainline
3290         2012-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
3291                     H.J. Lu  <hongjiu.lu@intel.com>
3292
3293         PR rtl-optimization/54157
3294         * combine.c (gen_lowpart_for_combine): Don't return identity
3295         for CONST or symbolic reference.
3296
3297 2012-08-06  Uros Bizjak  <ubizjak@gmail.com>
3298
3299         Backport from mainline
3300         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
3301
3302         * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
3303         * config/i386/i386.c (ix86_lea_outperforms): Make static.  Make
3304         split_cost argument signed.
3305         (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
3306         (ix86_avoid_lea_for_addr): Ditto.
3307
3308         2012-07-27  Uros Bizjak  <ubizjak@gmail.com>
3309
3310         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false if
3311         the address has less than two components.
3312
3313 2012-08-02  Steve Ellcey  <sellcey@mips.com>
3314
3315         Backport from mainline
3316         2012-07-19  Steve Ellcey  <sellcey@mips.com>
3317
3318         * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
3319         MIPS16 mode.
3320
3321 2012-08-02  Uros Bizjak  <ubizjak@gmail.com>
3322
3323         Backport from mainline
3324         2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
3325
3326         PR target/53961
3327         * config/i386/i386.c (ix86_legitimate_address_p): Move check for
3328         negative constant address for TARGET_X32 ...
3329         (ix86_decompose_address): ... here.  Reject constant addresses
3330         that don't satisfy x86_64_immediate_operand predicate.
3331
3332         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
3333
3334         PR target/53961
3335         * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
3336         * config/i386/i386.c (ix86_print_operand_address): Ditto.
3337         (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
3338         addresses.  Prevent zero extensions of CONST_INT operands.
3339
3340         2012-07-22  Uros Bizjak  <ubizjak@gmail.com>
3341
3342         PR target/53961
3343         * config/i386/i386.md (*lea): New insn pattern.
3344         (*lea_1): Remove.
3345         (*lea<mode>_2): Ditto.
3346         (*lea_{3,4,5,6}_zext): Ditto.
3347         * config/i386/predicates.md (lea_address_operand): Do not reject
3348         zero-extended address operands.
3349         * config/i386/constraints.md (j): Remove address constraint.
3350         * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
3351         of an address.
3352         (ix86_print_operand_address): Handle SImode subreg of an address.
3353         (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now.
3354
3355 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3356
3357         Backport from mainline
3358         2012-03-09  Uros Bizjak  <ubizjak@gmail.com>
3359
3360         PR target/52530
3361         * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
3362         (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
3363         to set code to 'q'.
3364         * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
3365         (*movdi_internal_rex64): Use %E operand modifier for lea.
3366         (*movsi_internal): Ditto.
3367         (*lea_1): Ditto.
3368         (*lea<mode>_2): Ditto.
3369         (*lea_{3,4,5,6}_zext): Ditto.
3370         (*tls_global_dynamic_32_gnu): Ditto.
3371         (*tls_global_dynamic_64): Ditto.
3372         (*tls_dynamic_gnu2_lea_32): Ditto.
3373         (*tls_dynamic_gnu2_lea_64): Ditto.
3374         (pro_epilogue_adjust_stack_<mode>_add): Ditto.
3375
3376 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3377
3378         Backport from mainline
3379         2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3380
3381         * config/i386/i386.c (ix86_address_subreg_operand): Reject
3382         stack pointer.
3383         (ix86_print_operand_address): Assert that parts.base and parts.index
3384         are non-NULL after call to simplify_subreg.
3385
3386 2012-07-22  Oleg Endo  <olegendo@gcc.gnu.org>
3387
3388         PR target/33135
3389         * config/sh/sh.opt (mieee): Use Var instead of Mask.  Correct
3390         description.
3391         * config/sh/sh.c (sh_option_override): Do not change
3392         flag_finite_math_only.  Set TARGET_IEEE to complement of
3393         flag_finite_math_only.
3394         * doc/invoke.texi (SH options): Add mno-ieee.  Correct
3395         description of mieee and mno-ieee behavior.
3396
3397 2012-07-20  Kirill Yukhin  <kirill.yukhin@intel.com>
3398
3399         PR target/53877
3400         * config/i386/lzcntintrin.h (_lzcnt_u32): New.
3401         (_lzcnt_u64): Ditto.
3402
3403 2012-07-20  Andrey Belevantsev  <abel@ispras.ru>
3404
3405         Backport from mainline
3406         2012-03-06  Andrey Belevantsev  <abel@ispras.ru>
3407
3408         PR rtl-optimization/52250
3409         * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
3410         to put note list into.  Unconditionally call move_bb_info.
3411         (move_bb_info): Do not assert the blocks being in the same region,
3412         just drop the note list if they are not.
3413
3414 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3415
3416         * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
3417
3418 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3419
3420         * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
3421         defining statement is a SSA name that occurs in abnormal PHIs.
3422
3423 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3424
3425         * gimple-fold.c (canonicalize_constructor_val): Strip only useless type
3426         conversions.
3427
3428 2012-07-19  Richard Guenther  <rguenther@suse.de>
3429             Eric Botcazou  <ebotcazou@adacore.com>
3430
3431         * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
3432         about transition from invariant to known bits.
3433         (likely_value): Addresses with UNDEFINED components are UNDEFINED.
3434
3435 2012-07-19  Jakub Jelinek  <jakub@redhat.com>
3436
3437         PR middle-end/54017
3438         * tree-cfgcleanup.c (cleanup_omp_return): Remove.
3439         (cleanup_tree_cfg_bb): Don't call it.
3440         * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
3441         handling.
3442
3443 2012-07-19  Christian Bruel  <christian.bruel@st.com>
3444
3445         PR target/54029
3446         * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
3447
3448 2012-07-18  Ralf Corsépius  <ralf.corsepius@rtems.org>
3449
3450         * config.gcc (v850-*-rtems*): New target.
3451         * config/v850/rtems.h: New.
3452         * config/v850/t-rtems: New.
3453
3454 2012-07-18  Nick Clifton  <nickc@redhat.com>
3455
3456         * doc/invoke.texi (ARM Options): Document -munaligned-access.
3457
3458 2012-07-15  Uros Bizjak  <ubizjak@gmail.com>
3459
3460         PR target/53961
3461
3462         Backport from mainline
3463         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
3464
3465         PR target/53110
3466         * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
3467         instead expand it as zero extension.
3468
3469 2012-07-14  Uros Bizjak  <ubizjak@gmail.com>
3470
3471         * config/i386/i386.md (QImode and HImode cmove splitters): Merge
3472         QImode and HImode splitters.  Use ix86_comparison_operator.
3473         Explicitly match FLAGS_REG.
3474         (DFmode cmove splitter): Explicitly match FLAGS_REG.
3475
3476 2012-07-13  Richard Sandiford  <rdsandiford@googlemail.com>
3477             Steven Bosscher  <steven@gcc.gnu.org>
3478             Bernd Schmidt  <bernds@codesourcery.com>
3479
3480         PR rtl-optimization/53908
3481         * df-problems.c (can_move_insns_across): When doing
3482         memory-reference book-keeping, handle call insns.
3483
3484 2012-07-10  Uros Bizjak  <ubizjak@gmail.com>
3485
3486         Backport from mainline
3487         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
3488
3489         PR target/53811
3490         * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
3491         sibcall_insn_operand.  Move it to a temporary register if not.
3492
3493         2012-07-06  Uros Bizjak  <ubizjak@gmail.com>
3494
3495         PR target/53853
3496         * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
3497         emit PIC sequence for fnaddr symbol reference in advance.
3498
3499 2012-07-09  Jason Merrill  <jason@redhat.com>
3500
3501         PR c++/53882
3502         * tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE.
3503         (type_hash_eq): Likewise.
3504
3505         PR c++/53826
3506         * tree.c (build_zero_cst): Handle NULLPTR_TYPE.
3507
3508 2012-07-07  Ulrich Weigand  <ulrich.weigand@linaro.org>
3509
3510         * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour
3511         due to negative shift amount.
3512
3513 2012-07-06  Kai Tietz  <ktietz@redhat.com>
3514
3515         Backport from mainline.
3516         PR bootstrap/52947
3517         * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
3518         as "/mingw/include".
3519
3520 2012-07-06  Nick Clifton  <nickc@redhat.com>
3521
3522         * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
3523         default_encode_section_info.
3524
3525 2012-07-06  Richard Guenther  <rguenther@suse.de>
3526
3527         Backport from mainline
3528         2012-03-30  Richard Guenther  <rguenther@suse.de>
3529
3530         PR middle-end/52786
3531         * double-int.c (rshift_double): Remove not needed cast.
3532
3533         2012-03-28  Richard Guenther  <rguenther@suse.de>
3534
3535         PR middle-end/50708
3536         * double-int.h (rshift_double): Remove.
3537         * double-int.c (lshift_double): Use absu_hwi to make count
3538         positive.
3539         (rshift_double): Make static, take unsigned count argument,
3540         remove handling of negative count argument.
3541         (double_int_rshift): Dispatch to lshift_double.
3542
3543 2012-07-06  Richard Guenther  <rguenther@suse.de>
3544
3545         Backport from mainline
3546         2012-06-18  Richard Guenther  <rguenther@suse.de>
3547
3548         PR tree-optimization/53693
3549         * tree-vect-patterns.c (vect_operation_fits_smaller_type):
3550         Reject operands with more than one use.
3551
3552 2012-07-06  Richard Guenther  <rguenther@suse.de>
3553
3554         Backport from mainline
3555         2012-04-11  Richard Guenther  <rguenther@suse.de>
3556
3557         PR middle-end/52621
3558         * tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
3559         consider loop nesting.
3560         (evolution_function_is_univariate_p): Properly check the remainder
3561         for chrecs.
3562
3563 2012-07-05  Pat Haugen <pthaugen@us.ibm.com>
3564
3565         Backport from mainline
3566         2012-05-24  Pat Haugen <pthaugen@us.ibm.com>
3567
3568         * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
3569         rs6000_sched_costly_dep default to true_store_to_load_dep_costly.
3570         (adjacent_mem_locations): Move some code to and call...
3571         (get_memref_parts): ...new function.
3572         (mem_locations_overlap): New function.
3573         (rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn.
3574         (is_mem_ref): Rename to...
3575         (find_mem_ref): ...this. Return MEM rtx.
3576         (get_store_dest): Remove function.
3577         (is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add
3578         new parameter and adjust calls.
3579         (rs6000_is_costly_dependence): Update calls for extra arg. Make sure
3580         mem refs overlap for true_store_to_load_dep_costly.
3581         (rs6000_sched_reorder2): Update calls for extra arg. Adjust args
3582         passed to adjacent_mem_locations.
3583         (is_costly_group): Walk resolved dependency list.
3584         (force_new_group): Emit group ending nop for Power6/Power7.
3585         * config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value.
3586         (group_ending_nop): New define_insn.
3587
3588 2012-07-04  Richard Guenther  <rguenther@suse.de>
3589
3590         PR middle-end/53433
3591         * gimple-fold.c (get_base_constructor): Do not return an
3592         error_mark_node DECL_INITIAL.
3593
3594 2012-07-04  Uros Bizjak  <ubizjak@gmail.com>
3595
3596         Backport from mainline
3597         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
3598
3599         * config/i386/i386.c (ix86_option_override_internal): Fix wrong
3600         code model string in the error message.
3601
3602 2012-07-04  Tristan Gingold  <gingold@adacore.com>
3603
3604         Backport from mainline.
3605         2012-06-25  Tristan Gingold  <gingold@adacore.com>
3606
3607         * config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ...
3608         (seh_cfa_adjust_cfa): ... that function.
3609         (seh_emit_stackalloc): Do not emit out of range values.
3610         * config/i386/i386.md: Delete unused UNSPEC_REG_SAVE,
3611         UNSPEC_DEF_CFA constants.
3612         * config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define.
3613         * config/i386/i386.c (ix86_frame_pointer_required): Required
3614         for very large frames on SEH target.
3615         (ix86_compute_frame_layout): Save area is before frame pointer
3616         on SEH target.  Handle very large frames.
3617         (ix86_expand_prologue): Likewise.
3618
3619 2012-07-04  Richard Guenther  <rguenther@suse.de>
3620
3621         * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same
3622         as in free_lang_data_in_type.
3623
3624 2012-07-02  Martin Jambor  <mjambor@suse.cz>
3625
3626         Backport from mainline.
3627         2012-07-02  Martin Jambor  <mjambor@suse.cz>
3628
3629         PR middle-end/38474
3630         * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a
3631         dynamic type change check.
3632
3633 2012-06-29  Eric Botcazou  <ebotcazou@adacore.com>
3634
3635         * tree-eh.c (lower_try_finally_switch): Really put the location of the
3636         last statement of the finally block onto the switch.
3637
3638 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3639
3640         * configure: Regenerate.
3641
3642         Backport from mainline.
3643         2012-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3644
3645         * config.gcc (target_type_format_char): New. Document it. Set it for
3646         arm*-*-* .
3647         * configure.ac (gnu_unique_option): Use target_type_format_char
3648         in test.  Comment rationale.
3649
3650 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3651
3652         Backport from mainline.
3653         2012-05-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3654
3655         * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
3656
3657 2012-06-28  Georg-Johann Lay  <avr@gjlay.de>
3658
3659         Backport from 2012-06-28 mainline r189049
3660
3661         PR 53595
3662         * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New.
3663         * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New.
3664         * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to
3665         avr_hard_regno_call_part_clobbered.
3666
3667 2012-06-28  Richard Guenther  <rguenther@suse.de>
3668
3669         PR middle-end/53790
3670         * expr.c (expand_expr_real_1): Verify if the type is complete
3671         before inspecting its size.
3672
3673 2012-06-27  Nick Clifton  <nickc@redhat.com>
3674
3675         * config/rx/rx.md (comparesi3_extend): Remove = modifier from
3676         input operand.
3677
3678 2012-06-26  Alexandre Oliva  <aoliva@redhat.com>
3679
3680         PR debug/53682
3681         * cselib.c (promote_debug_loc): Don't crash on NULL argument.
3682
3683 2012-06-26  Nick Clifton  <nickc@redhat.com>
3684
3685         * config/rx/rx.md (simple_return): Use the simple_return rtx.
3686
3687 2012-06-25  Jakub Jelinek  <jakub@redhat.com>
3688
3689         PR target/53759
3690         * config/i386/sse.md (sse_loadlps): Use x m x constraints instead
3691         of x x x in the vmovlps load alternative.
3692
3693 2012-06-22  Richard Guenther  <rguenther@suse.de>
3694
3695         * gcov-iov.c: Include bconfig.h and system.h.
3696
3697 2012-06-22  Richard Guenther  <rguenther@suse.de>
3698
3699         PR gcov-profile/53744
3700         * gcov-iov.c (main): Treat "" and "prerelease" the same.
3701
3702 2012-06-22  Eric Botcazou  <ebotcazou@adacore.com>
3703
3704         * tree-ssa-live.c (remove_unused_scope_block_p): Remove again
3705         DECL_IGNORED_P non-reg vars even if they are used.
3706
3707 2012-06-19  Jason Merrill  <jason@redhat.com>
3708
3709         PR c++/52637
3710         * dwarf2out.c (modified_type_die): Use scope_die_for.
3711         (gen_type_die_with_usage, dwarf2out_finish): Likewise.
3712         (uses_local_type_r, uses_local_type): New.
3713         (scope_die_for): Keep a type that uses a local type in local scope.
3714         Use get_context_die for namespace and type scope.
3715
3716 2012-06-19  Richard Guenther  <rguenther@suse.de>
3717
3718         PR middle-end/53470
3719         * tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
3720         replace it with the first non-BLOCK context.
3721
3722 2012-06-18  Vladimir Makarov  <vmakarov@redhat.com>
3723
3724         PR rtl-optimization/53700
3725
3726         Backport from mainline
3727         2012-03-29  Vladimir Makarov  <vmakarov@redhat.com>
3728
3729         * ira-color.c (setup_left_conflict_sizes_p): Process all
3730         conflicting objects.
3731
3732 2012-06-18  Venkataramanan Kumar <venkataramanan.kumar@amd.com>
3733
3734         Backport from mainline
3735         2012-05-09 Uros Bizjak  <ubizjak@gmail.com>
3736
3737         PR target/52908
3738         * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
3739         xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high.
3740         (vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern
3741         instead of xop_mulv2div2di3_low.
3742         (xop_p<macs>dql): Fix vec_select selector.
3743         (xop_p<macs>dqh): Ditto.
3744         (xop_mulv2div2di3_low): Remove insn_and_split pattern.
3745         (xop_mulv2div2di3_high): Ditto.
3746
3747 2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
3748
3749         Backport from mainline:
3750         2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
3751
3752         * config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
3753
3754 2012-06-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3755
3756         Backport from mainline:
3757         2012-06-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3758
3759         * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define.
3760         * config/pa/pa.c (pa_attr_length_millicode_call): Use
3761         MAX_PCREL17F_OFFSET instead of fixed offset.
3762         (pa_attr_length_call): Likewise.
3763         (pa_attr_length_indirect_call): Likewise.
3764
3765 2012-06-15  Walter Lee  <walt@tilera.com>
3766
3767         Backport from mainline:
3768         2012-06-15  Walter Lee  <walt@tilera.com>
3769
3770         * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.
3771
3772         2012-06-14  Maxim Kuvyrkov  <maxim@codesourcery.com>
3773
3774         * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
3775
3776 2012-06-15  Aldy Hernandez  <aldyh@redhat.com>
3777
3778         Backport from mainline:
3779
3780         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
3781         * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
3782         * gimple.h (block_in_transaction): Check for flag_tm.
3783
3784 2012-06-14  Aldy Hernandez  <aldyh@redhat.com>
3785
3786         PR tree-optimization/52558
3787
3788         Backport from mainline:
3789         2012-05-21  Aldy Hernandez  <aldyh@redhat.com>
3790         * gimple.h (gimple_set_in_transaction): Remove.
3791         (gimple_in_transaction): Look in BB instead.
3792         (gimple_statement_base): Remove in_transaction field.
3793         * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
3794         * trans-mem.c (compute_transaction_bits): Place transaction bit
3795         information into basic blocks.
3796
3797         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
3798
3799         PR tree-optimization/52558
3800         * cfg.c (alloc_aux_for_edge): Fix comment.
3801         (alloc_aux_for_edge): Remove static.
3802         * basic-block.h (alloc_aux_for_edge): Protoize.
3803         * tree-ssa-loop-im.c (execute_sm_if_changed): New.
3804         (execute_sm_if_changed_flag): New.
3805         (execute_sm_if_changed_flag_set): New.
3806         (execute_sm): Do not generate data races unless requested.
3807         (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
3808         (tree_ssa_lim_finalize): Call free_aux_for_edges.
3809         * gimple.h (block_in_transaction): New.
3810         (gimple_in_transaction): Use block_in_transaction.
3811
3812 2012-06-14  Jakub Jelinek  <jakub@redhat.com>
3813
3814         Backported from mainline
3815         2012-06-12  Jakub Jelinek  <jakub@redhat.com>
3816
3817         PR rtl-optimization/53589
3818         * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
3819         discovery even when e->dest != target.  If any LABEL_REF points
3820         to e->dest label, redirect it to target's label.
3821
3822         2012-06-07  Jakub Jelinek  <jakub@redhat.com>
3823
3824         PR middle-end/53580
3825         * omp-low.c (scan_omp_1_stmt): If check_omp_nesting_restrictions
3826         returns false, replace stmt with GIMPLE_NOP.
3827         (check_omp_nesting_restrictions): Instead of issuing warnings,
3828         issue errors and return false if any errors were reported.
3829
3830 2012-06-14  Richard Guenther  <rguenther@suse.de>
3831
3832         * BASE-VER: Set to 4.7.2.
3833         * DEV-PHASE: Set to prerelease.
3834
3835 2012-06-12  Christian Bruel  <christian.bruel@st.com>
3836
3837         PR target/53621
3838         * config/sh/sh.c (sh_option_override): Don't force
3839          flag_omit_frame_pointer and maccumulate_outgoing_args.
3840         * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
3841
3842 2012-06-14  Release Manager
3843
3844         * GCC 4.7.1 released.
3845
3846 2012-06-13  Uros Bizjak  <ubizjak@gmail.com>
3847
3848         * config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
3849
3850 2012-06-13  Richard Henderson  <rth@redhat.com>
3851
3852         * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
3853         iterator instead of INT.
3854
3855 2012-06-08  Richard Henderson  <rth@redhat.com>
3856
3857         PR c++/53602
3858         * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
3859         note to a clobber insn when no other insn is available.
3860
3861 2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>
3862
3863         PR c++/53524
3864         * doc/invoke.texi (Wenum-compare): Update documentation.
3865
3866 2012-06-04  Edmar Wienskoski  <edmar@freescale.com>
3867
3868         PR target/53559
3869         * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
3870         operands.
3871         (altivec_stvlxl): Ditto.
3872         (altivec_stvrx): Ditto.
3873         (altivec_stvrxl): Ditto.
3874
3875 2012-06-04  Aldy Hernandez  <aldyh@redhat.com>
3876
3877         PR middle-end/47530
3878         * trans-mem.c (expand_block_edges): Do not skip the first
3879         statement when resetting the BB.
3880
3881 2012-06-04  Richard Guenther  <rguenther@suse.de>
3882
3883         PR middle-end/53471
3884         * dwarf2out.c (dwarf2out_finish): If generating LTO do not
3885         create new assembler names.
3886
3887 2012-06-04  Richard Guenther  <rguenther@suse.de>
3888
3889         Backport from mainline
3890         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
3891
3892         PR middle-end/52979
3893         * stor-layout.c (get_best_mode): Don't return mode with bitsize
3894         larger than maxbits.  Don't compute maxbits modulo align.
3895         Also check that unit bytes long store at bitpos / unit * unit
3896         doesn't affect bits beyond bitregion_end.
3897         * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
3898         would not fit into bitregion_start ... bitregion_end + 1 bit
3899         region.
3900         (store_split_bit_field): Decrease unit close to end of bitregion_end
3901         if access is restricted in order to avoid mutual recursion.
3902
3903 2012-06-04  Georg-Johann Lay  <avr@gjlay.de>
3904
3905         Backport from 2012-06-04 mainline r188172
3906
3907         PR target/46261
3908         * config/avr/avr-stdint.h: New file.
3909         * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
3910         newlib-stdint.h
3911
3912 2012-06-04  Jakub Jelinek  <jakub@redhat.com>
3913
3914         PR tree-optimization/53550
3915         * tree-ssa-loop-niter.c (number_of_iterations_cond): If type
3916         is POINTER_TYPE_P, use sizetype as step type instead of type.
3917
3918 2012-06-04  Richard Guenther  <rguenther@suse.de>
3919             Eric Botcazou  <ebotcazou@adacore.com>
3920
3921         Backport from mainline
3922         2012-04-03  Eric Botcazou  <ebotcazou@adacore.com>
3923
3924         * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS.
3925         Change type of BITOFFSET to signed.  Make sure the lower bound of
3926         the computed range is non-negative by adjusting OFFSET and BITPOS.
3927         (expand_assignment): Adjust call to get_bit_range.
3928
3929         2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
3930
3931         * expr.c (get_bit_range): Return the null range if the enclosing record
3932         is part of a larger bit field.
3933
3934         2012-03-20  Richard Guenther  <rguenther@suse.de>
3935
3936         * stor-layout.c (finish_bitfield_representative): Fallback
3937         to conservative maximum size if the padding up to the next
3938         field cannot be computed as a constant.
3939         (finish_bitfield_layout): If we cannot compute the distance
3940         between the start of the bitfield representative and the
3941         bitfield member start a new representative.
3942         * expr.c (get_bit_range): The distance between the start of
3943         the bitfield representative and the bitfield member is zero
3944         if the field offsets are not constants.
3945
3946         2012-03-16  Richard Guenther  <rguenther@suse.de>
3947
3948         * stor-layout.c (finish_bitfield_representative): Fall back
3949         to the conservative maximum size if we cannot compute the
3950         size of the tail padding.
3951
3952         2012-03-14  Richard Guenther  <rguenther@suse.de>
3953
3954         * tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define.
3955         * stor-layout.c (start_bitfield_representative): New function.
3956         (finish_bitfield_representative): Likewise.
3957         (finish_bitfield_layout): Likewise.
3958         (finish_record_layout): Call finish_bitfield_layout.
3959         * tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER
3960         for QUAL_UNION_TYPE fields.
3961         * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
3962         Stream DECL_BIT_FIELD_REPRESENTATIVE.
3963         * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
3964
3965         PR middle-end/52080
3966         PR middle-end/52097
3967         PR middle-end/48124
3968         * expr.c (get_bit_range): Unconditionally extract bitrange
3969         from DECL_BIT_FIELD_REPRESENTATIVE.
3970         (expand_assignment): Adjust call to get_bit_range.
3971
3972 2012-06-01  Eric Botcazou  <ebotcazou@adacore.com>
3973
3974         PR middle-end/53501
3975         * fold-const.c (fold_binary_loc): Refine previous change.
3976
3977 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3978
3979         Backport from mainline
3980         2012-03-27  Chung-Lin Tang  <cltang@codesourcery.com>
3981
3982         PR target/52667
3983         * config/sh/sh.c (find_barrier): Add equality check of last_got to
3984         avoid going above orig insn.  Update comments.
3985
3986 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3987
3988         Backport from mainline
3989         2012-03-21  Kaz Kojima  <kkojima@gcc.gnu.org>
3990
3991         PR target/52642
3992         * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
3993         prologue for unwinder and profiler.
3994
3995 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3996
3997         Backport from mainline
3998         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
3999
4000         * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
4001
4002 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
4003
4004         Backport from mainline
4005         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
4006
4007         * config/sh/sh.c (sh_dwarf_register_span): Don't apply
4008         DBX_REGISTER_NUMBER.
4009
4010 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
4011
4012         Backport from mainline
4013         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
4014
4015         * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
4016         operand is CONST_INT.  Take COSTS_N_INSNS into account.
4017         (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value of
4018         shiftcosts.     
4019
4020 2012-05-31  Georg-Johann Lay  <avr@gjlay.de>
4021
4022         * config/avr/avr.opt (-msp8): Document it.
4023         * doc/invoke.texi (AVR Options): Copy from trunk docu.
4024
4025 2012-05-31  Richard Guenther  <rguenther@suse.de>
4026
4027         PR middle-end/48493
4028         * expr.c (expand_assignment): Do not use movmisalign on
4029         non-memory.
4030
4031 2012-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4032
4033         PR target/52999
4034         * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
4035         (pa_section_type_flags): New.
4036         (pa_legitimate_constant_p): Revert previous change.
4037
4038 2012-05-30  Aldy Hernandez  <aldyh@redhat.com>
4039
4040         Backport from mainline
4041         2012-05-25  Aldy Hernandez  <aldyh@redhat.com>
4042
4043         PR middle-end/53008
4044         * trans-mem.c (ipa_tm_create_version_alias): Output new_node if
4045         accessed indirectly.
4046         (ipa_tm_create_version): Same.
4047
4048 2012-05-30  Jason Merrill  <jason@redhat.com>
4049
4050         PR c++/53220
4051         * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning
4052         about array compound literals.
4053
4054 2012-05-30  Richard Guenther  <rguenther@suse.de>
4055
4056         PR middle-end/53501
4057         * fold-const.c (fold_binary_loc): Make sure to call
4058         fold_plusminus_mult_expr with the original sign of operands.
4059
4060 2012-05-30  Eric Botcazou  <ebotcazou@adacore.com>
4061
4062         * explow.c (probe_stack_range): Restore simple control flow and stop
4063         again when the probe cannot be generated if HAVE_check_stack.
4064
4065 2012-05-30  Jakub Jelinek  <jakub@redhat.com>
4066
4067         PR rtl-optimization/53519
4068         * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
4069         instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
4070
4071 2012-05-29  Richard Guenther  <rguenther@suse.de>
4072
4073         PR tree-optimization/53516
4074         * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
4075         bitfield accesses.
4076         * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
4077
4078 2012-05-28  Bill Schmidt  <wschmidt@linux.ibm.com>
4079
4080         Backport from mainline
4081         2012-05-28  Richard Guenther  <rguenther@suse.de>
4082
4083         PR tree-optimization/53438
4084         * tree-sra.c (analyze_access_subtree): Correct bitfield exclusion.
4085
4086 2012-05-26  Eric Botcazou  <ebotcazou@adacore.com>
4087
4088         Backport from mainline
4089         2012-03-10  Chung-Lin Tang  <cltang@codesourcery.com>
4090
4091         PR rtl-optimization/52528
4092         * combine.c (can_combine_p): Add setting of subst_low_luid
4093         before call to expand_field_assignment().
4094
4095 2012-05-26  Martin Jambor  <mjambor@suse.cz>
4096
4097         Backport from mainline
4098         2012-05-23  Martin Jambor  <mjambor@suse.cz>
4099
4100         * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.
4101
4102 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
4103
4104         PR lto/52178
4105         * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
4106         * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
4107
4108 2012-05-25  Alexander Ivchenko  <alexander.ivchenko@intel.com>
4109
4110         PR target/53435
4111         * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
4112         (ix86_expand_vec_perm): Use int mode instead of float.
4113
4114 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
4115
4116         PR ada/52362
4117         * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
4118         gnu_ld variables to yes.
4119         * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
4120         (HAVE_GNU_AS): Likewise.
4121         * config.in: Regenerate.
4122         * configure: Likewise.
4123
4124 2012-05-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
4125
4126         Backport from mainline
4127         2012-03-12  Richard Guenther  <rguenther@suse.de>
4128         * config/arm/arm.c (neon_dereference_pointer): Do not call
4129         covert during RTL expansion.
4130
4131 2012-05-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4132
4133         Backport from mainline
4134         2012-05-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4135
4136         PR target/53385
4137         * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
4138         relied on signed overflow behavior.
4139
4140 2012-05-24  Richard Guenther  <rguenther@suse.de>
4141
4142         PR middle-end/53460
4143         * tree-profile.c (tree_profiling): Cleanup the CFG if
4144         execute_fixup_cfg requests it.
4145
4146 2012-05-24  Jakub Jelinek  <jakub@redhat.com>
4147
4148         PR tree-optimization/53465
4149         * tree-vrp.c (extract_range_from_cond_expr): First copy_value_range
4150         vr0 into *vr, then vrp_meet that.
4151         (vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't
4152         have any equivalences.
4153         (vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the
4154         first time.
4155
4156 2012-05-23  Eric Botcazou  <ebotcazou@adacore.com>
4157
4158         * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
4159         size handling.
4160         (gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise.
4161         (iterative_hash_gimple_type): Adjust comment.
4162         (iterative_hash_canonical_type): Likewise.  Hash the bounds of the
4163         domain for an array type instead of the domain type itself.
4164
4165 2012-05-23  Georg-Johann Lay  <avr@gjlay.de>
4166
4167         Backport from 2012-05-23 mainline r187803
4168
4169         PR target/53448
4170         * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
4171         * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
4172         ASM_OUTPUT_ALIGN.
4173
4174 2012-05-23  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
4175
4176         Backport from 2012-05-03 mainline r187075
4177
4178         * config/i386/driver-i386.c (host_detect_local_cpu): Reset
4179         has_fma4 for AMD processors with both fma3 and fma4 support.
4180
4181 2012-05-22  Richard Guenther  <rguenther@suse.de>
4182
4183         PR tree-optimization/53408
4184         * tree-vect-loop.c (vectorizable_induction): Properly check
4185         the restriction that we cannot handle induction results from
4186         the inner loop outside of the outer loop.
4187
4188 2012-05-21  Jakub Jelinek  <jakub@redhat.com>
4189
4190         PR tree-optimization/53436
4191         * omp-low.c (omp_build_component_ref): New function.
4192         (build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.
4193
4194         PR tree-optimization/53366
4195         * tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
4196         tests if complex_numbers == 2, but there are non-complex number loads
4197         too.
4198
4199         PR tree-optimization/53409
4200         * tree-vect-loop.c (vect_analyze_loop_operations): Don't check
4201         vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.
4202
4203         PR tree-optimization/53410
4204         * fold-const.c (fold_binary_loc): Use build_zero_cst (type)
4205         instead of build_int_cst (type, 0) where vector types might be
4206         involved.
4207
4208 2012-05-21  Joseph Myers  <joseph@codesourcery.com>
4209
4210         PR c/53418
4211         * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
4212         from folded operands before wrapping another around the
4213         conditional expression.
4214
4215 2012-05-21  Dave Boutcher  <daveboutcher@gmail.com>
4216             Patrick Marlier  <patrick.marlier@gmail.com>
4217
4218         * trans-mem.c (ipa_tm_transform_clone): Transform functions with
4219         indirect calls.
4220
4221 2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
4222
4223         Backport from mainline
4224         2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
4225
4226         PR target/53416
4227         * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
4228         (UNSPECV_RDRAND): This.
4229         (rdrand<mode>_1): Updated.
4230
4231 2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
4232
4233         Backport from mainline
4234         2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
4235
4236         * config/i386/driver-i386.c (host_detect_local_cpu): Support
4237         RDRND, F16C and FSGSBASE.
4238
4239 2012-05-19  Eric Botcazou  <ebotcazou@adacore.com>
4240
4241         Backport from mainline
4242         2012-05-14  Eric Botcazou  <ebotcazou@adacore.com>
4243
4244         * tree-ssa-pre.c (can_value_number_call): Delete.
4245         (compute_avail): Skip all statements with side effects.
4246         <GIMPLE_CALL>: Skip calls to internal functions.
4247
4248 2012-05-18  David S. Miller  <davem@davemloft.net>
4249
4250         Backport r185385 from mainline
4251         2012-03-14  Richard Guenther  <rguenther@suse.de>
4252
4253         PR middle-end/52584
4254         * tree-vect-generic.c (type_for_widest_vector_mode): Take
4255         element type instead of mode, use build_vector_type_for_mode
4256         instead of the langhook, build a vector of proper signedness.
4257         (expand_vector_operations_1): Adjust.
4258
4259 2012-05-18  Olivier Hainque  <hainque@adacore.com>
4260
4261         * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of
4262         $(libsubdir) as libexecsubdir.
4263
4264 2012-05-16  Andrew Pinski  <apinski@cavium.com>
4265
4266         * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
4267         GIMPLE_ASSIGN.
4268
4269 2012-05-16  David S. Miller  <davem@davemloft.net>
4270
4271         * jump.c (delete_related_insns): If we remove a CALL, make sure
4272         we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.
4273
4274 2012-05-16  Richard Henderson  <rth@redhat.com>
4275
4276         PR debug/52727
4277         * combine-stack-adj.c (prev_active_insn_bb): New.
4278         (next_active_insn_bb): New.
4279         (force_move_args_size_note): New.
4280         (combine_stack_adjustments_for_block): Use it.
4281
4282 2012-05-16  Olivier Hainque  <hainque@adacore.com>
4283
4284         * Makefile.in (install-no-fixedincludes): New target, former toplevel
4285         gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
4286         Add comments and improve stamp preservation across the whole sequence.
4287         (stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.
4288
4289 2012-05-16  Richard Guenther  <rguenther@suse.de>
4290
4291         PR tree-optimization/53364
4292         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
4293         detect a view-conversion of the decl.
4294
4295 2012-05-15  Jakub Jelinek  <jakub@redhat.com>
4296
4297         PR target/53358
4298         * config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
4299         that operands[2] is either immediate, or q_regs_operand.
4300
4301 2012-05-15  Bin Cheng  <bin.cheng@arm.com>
4302
4303         Backport r187139 from mainline.
4304         2012-05-04  Bin Cheng  <bin.cheng@arm.com>
4305
4306         PR rtl-optimization/52804
4307         * reload1.c (reload_reg_reaches_end_p): Check whether successor
4308         reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
4309         of current one with type RELOAD_FOR_INPADDR_ADDRESS.
4310         Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
4311         RELOAD_FOR_OUTADDR_ADDRESS.
4312
4313 2012-05-14  Uros Bizjak  <ubizjak@gmail.com>
4314
4315         PR target/46098
4316         * config/i386/i386.c (ix86_expand_special_args_builtin): Always
4317         generate target register for "load" class builtins.
4318
4319         Revert:
4320         2010-10-22  Uros Bizjak  <ubizjak@gmail.com>
4321
4322         PR target/46098
4323         * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
4324         Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
4325         (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
4326         (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
4327         (<sse>_movu<ssemodesuffix>): New expander.
4328         (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
4329         (avx_movdqu<avxmodesuffix>): New expander.
4330         (*sse2_movdqu): Rename from sse2_movdqu.
4331         (sse2_movdqu): New expander.
4332
4333 2012-05-14  Jakub Jelinek  <jakub@redhat.com>
4334
4335         * dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat
4336         lineno 1 the same as lineno 0 before first start file directive.
4337         (optimize_macinfo_range): Likewise.
4338
4339         * dwarf2out.c (have_macinfo): Define.
4340         (dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info
4341         attribute, don't force empty compilation unit and don't emit any
4342         .debug_macinfo/.debug_macro section if macinfo_table is empty.
4343
4344 2012-05-13  Uros Bizjak  <ubizjak@gmail.com>
4345
4346         Backport from mainline
4347         2012-05-12  Uros Bizjak  <ubizjak@gmail.com>
4348
4349         * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
4350         ORDERED and UNORDERED conditions.
4351
4352 2012-05-12  Eric Botcazou  <ebotcazou@adacore.com>
4353
4354         * function.c (requires_stack_frame_p): If the function can throw
4355         non-call exceptions, return true if the insn can throw internally.
4356
4357 2012-05-10  Eric Botcazou  <ebotcazou@adacore.com>
4358
4359         * gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the
4360         DECL_ORIGINAL_TYPE if it is present.
4361
4362 2012-05-09  Georg-Johann Lay  <avr@gjlay.de>
4363
4364         Backport from 2012-05-12 mainline r187342.
4365
4366         PR target/53256
4367         * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
4368         * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
4369         * config/avr/avr.h (struct machine_function): Add attributes_checked_p.
4370         * config/avr/avr.c (avr_asm_declare_function_name): Remove.
4371         (expand_prologue): Move initialization of cfun->machine->is_naked,
4372         is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
4373         (avr_set_current_function): ...this new static function.
4374         (TARGET_SET_CURRENT_FUNCTION): New define.
4375         (avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
4376         checking attributes of current_function_decl.
4377         (avr_regs_to_save): Ditto.
4378         (signal_function_p): Rename to avr_signal_function_p.
4379         (interrupt_function_p): Rename to avr_interrupt_function_p.
4380
4381         * doc/extend.texi (Function Attributes): Better explanation of
4382         'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
4383         alphabetical order.
4384
4385 2012-05-09  Matthias Klose  <doko@ubuntu.com>
4386
4387         * gcc-ar.c (main): Don't check for execute bits for the plugin.
4388
4389 2012-05-08  Hans-Peter Nilsson  <hp@axis.com>
4390
4391         PR target/53272
4392         * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
4393         when a constant source operand matches an "I" constraint, the "no
4394         CC0 change" applies to a register-destination only, not a
4395         strict_low_part-destination.
4396
4397 2012-05-07  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
4398
4399         Backport from mainline:
4400         2012-04-19  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
4401
4402         * config/arm/sync.md (sync_optab): Change ior attribute to "or".
4403
4404 2012-05-07  Jakub Jelinek  <jakub@redhat.com>
4405
4406         PR tree-optimization/53239
4407         * tree-vrp.c (get_value_range): Set VR of
4408         SSA_NAME_IS_DEFAULT_DEF of DECL_BY_REFERENCE RESULT_DECL
4409         to nonnull.
4410
4411 2012-05-07  Richard Guenther  <rguenther@suse.de>
4412
4413         PR tree-optimization/53195
4414         * tree-inline.c (setup_one_parameter): Properly add referenced
4415         vars from the parameters new known value.
4416
4417 2012-05-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4418
4419         Backport from mainline:
4420         2012-04-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4421
4422         PR target/52999
4423         * config/pa/pa.c (pa_legitimate_constant_p): Don't put function labels
4424         in constant pool.
4425
4426 2012-05-04  Ian Lance Taylor  <iant@google.com>
4427
4428         * tree-vect-patterns.c (vect_single_imm_use): Correct return
4429         values from false to NULL.
4430
4431 2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
4432
4433         Backport from mainline
4434         2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
4435
4436         PR target/53228
4437         * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
4438         (TARGET_CMOV): Rename from TARGET_CMOVE.
4439         (TARGET_CMOVE): New define.
4440         * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
4441         Do not set TARGET_CMOVE here.
4442
4443 2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
4444
4445         Backport from mainline:
4446
4447         2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
4448
4449         PR tree-optimization/52633
4450         * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
4451         vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
4452         (vect_recog_over_widening_pattern): Remove handling of code that was
4453         already detected as over-widening pattern.  Remove special handling
4454         of "unsigned" cases.  Instead, support general case of conversion
4455         of the shift result to another type.
4456
4457         2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
4458
4459         * tree-vect-patterns.c (vect_single_imm_use): New function.
4460         (vect_recog_widen_mult_pattern): Use it instead of open-coding loop.
4461         (vect_recog_over_widening_pattern): Likewise.
4462         (vect_recog_widen_shift_pattern): Likewise.
4463
4464         2012-04-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
4465
4466         PR tree-optimization/52870
4467         * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Verify that
4468         presumed pattern statement is within the same loop or basic block.
4469
4470 2012-05-04  Richard Guenther  <rguenther@suse.de>
4471
4472         * common.opt (flto-report): Do not mark as Optimization.
4473
4474 2012-05-04  Eric Botcazou  <ebotcazou@adacore.com>
4475
4476         PR target/48496
4477         * recog.c (constrain_operands): If extra constraints are present, also
4478         accept pseudo-registers with equivalent memory locations during reload.
4479
4480 2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
4481
4482         Backport from the mainline
4483         2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
4484
4485         PR target/53199
4486         * config/rs6000/rs6000.md (bswapdi splitters): If
4487         -mavoid-indexed-addresses (or -mcpu=power6 which sets it by
4488         default) is used, generate an alternate sequence that does not
4489         depend on using indexed addressing.
4490
4491 2012-05-03  David S. Miller  <davem@davemloft.net>
4492
4493         PR target/52684
4494         * config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
4495         MEM directly into a libcall, mark it's MEM_EXPR as addressable.
4496         (sparc_emit_float_lib_cmp): Likewise.
4497
4498 2012-05-04  Martin Jambor  <mjambor@suse.cz>
4499
4500         Backport from mainline
4501         2012-05-02  Martin Jambor  <mjambor@suse.cz>
4502
4503         PR lto/52605
4504         * dwarf2out.c (dwarf2out_decl): Only lookup die representing context
4505         of a variable when the contect is a function.
4506
4507 2012-05-03  Jakub Jelinek  <jakub@redhat.com>
4508
4509         PR plugins/53126
4510         * gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env,
4511         append program name to it and pass that as first argument
4512         to make_relative_prefix.  Always pass standard_libexec_prefix
4513         as last argument to make_relative_prefix.  If
4514         make_relative_prefix returns NULL, fall back to
4515         standard_libexec_prefix.
4516
4517         PR debug/53174
4518         * tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being
4519         removed.
4520
4521         PR target/53187
4522         * config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class
4523         mode, return that mode.
4524
4525 2012-05-03  Richard Guenther  <rguenther@suse.de>
4526
4527         PR tree-optimization/53144
4528         * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
4529         Rename to ...
4530         (vn_reference_lookup_or_insert_for_pieces): ... this.  Properly deal
4531         with SSA name values.
4532         (vn_reference_lookup_3): Adjust callers.
4533
4534 2012-05-02  Jakub Jelinek  <jakub@redhat.com>
4535
4536         PR tree-optimization/53163
4537         * tree-ssa-phiopt.c (cond_if_else_store_replacement): Don't ignore
4538         return value from compute_all_dependences.
4539
4540         PR rtl-optimization/53160
4541         * ree.c (combine_reaching_defs): Handle the case where cand->insn
4542         has been modified by ree pass already.
4543
4544 2012-05-01  Uros Bizjak  <ubizjak@gmail.com>
4545
4546         Backport from mainline
4547         2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
4548
4549         PR middle-end/53136
4550         * ipa-prop.c (ipa_print_node_jump_functions): Wrap multiple
4551         calls to cgraph_node_name in xstrdup.
4552         (ipa_make_edge_direct_to_target): Ditto.
4553         * tree-sra.c (convert_callers_for_node): Ditto.
4554         * lto-symtab.c (lto_cgraph_replace_node): Ditto.
4555         * ipa-cp.c (perhaps_add_new_callers): Ditto.
4556         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Ditto.
4557         (cgraph_materialize_all_clones): Ditto.
4558         * ipa-inline.c (report_inline_failed_reason): Ditto.
4559         (want_early_inline_function_p): Ditto.
4560         (edge_badness): Ditto.
4561         (update_edge_key): Ditto.
4562         (flatten_function): Ditto.
4563         (ipa_inline): Ditto.
4564         (inline_always_inline_functions): Ditto.
4565         (early_inline_small_functions): Ditto.
4566
4567 2012-04-30  Andreas Tobler  <andreast@fgznet.ch>
4568
4569         Backport from mainline
4570         2012-03-21  Andreas Tobler  <andreast@fgznet.ch>
4571
4572         * configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*.
4573         Introduce emul_name to select the right linker emulation for
4574         powerpc64-*-freebsd*.
4575         * configure: Regenerate.
4576         * config.gcc: Add bits to support powerpc64-*-freebsd*.
4577         * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define.
4578         * config/rs6000/freebsd64.h: New file.
4579         * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
4580         POWERPC_FREEBSD.
4581         (rs6000_savres_strategy): Likewise.
4582         (rs6000_savres_routine_name): Likewise.
4583         (rs6000_elf_file_end): Likewise.
4584         * config/rs6000/t-freebsd64: New file.
4585         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the
4586         rs6000_current_abi for 64-bit FreeBSD to ABI_AIX.
4587
4588 2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
4589
4590         Backport from mainline
4591         2012-04-27  Paolo Bonzini  <bonzini@gnu.org>
4592
4593         PR target/53138
4594         * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber.
4595
4596 2012-04-30  Eric Botcazou  <ebotcazou@adacore.com>
4597
4598         * config/i386/i386.c (ix86_handle_struct_attribute): Use the proper
4599         predicate to discriminate types.
4600
4601 2012-04-27  Richard Guenther  <rguenther@suse.de>
4602
4603         PR c/51527
4604         * convert.c (convert_to_integer): Avoid infinite recursion for
4605         target-defined built-in types.
4606
4607 2012-04-26  Hans-Peter Nilsson  <hp@axis.com>
4608
4609         PR target/53120
4610         * config/cris/cris.md ("*andhi_lowpart_v32")
4611         ("*andqi_lowpart_v32"): Change first input-only operand from
4612         a (match_operand ...) to (match_dup 0).  Drop alternatives with
4613         const_int-matching constraints for redundancy.
4614         ("*andhi_lowpart_non_v32", "*andqi_lowpart_non_v32"): Ditto.  Drop
4615         three-operand alternative.
4616
4617 2012-04-26  Uros Bizjak  <ubizjak@gmail.com>
4618
4619         Backport from mainline
4620         2012-04-23  Uros Bizjak  <ubizjak@gmail.com>
4621
4622         * config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative.
4623         (*addsi_2_zext): Ditto.
4624         (*add<mode>_3): Ditto.
4625         (*addsi_3_zext): Ditto.
4626         (*add<mode>_5): Ditto.
4627
4628 2012-04-25  Jakub Jelinek  <jakub@redhat.com>
4629
4630         PR c/52880
4631         * c-typeck.c (set_nonincremental_init,
4632         set_nonincremental_init_from_string): Pass true instead of false
4633         as IMPLICIT to add_pending_init.
4634
4635 2012-04-24  Georg-Johann Lay  <avr@gjlay.de>
4636
4637         Backport from 2012-04-24 mainline r186768.
4638
4639         PR target/53065
4640         * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define.
4641
4642 2012-04-24  Richard Guenther  <rguenther@suse.de>
4643
4644         PR tree-optimization/53085
4645         * tree-ssa-pre.c (eliminate): Do not eliminate volatile redundant
4646         stores.
4647
4648 2012-04-24  Jakub Jelinek  <jakub@redhat.com>
4649
4650         PR middle-end/53084
4651         * varasm.c (compute_reloc_for_constant): Handle ADDR_EXPR
4652         of MEM_REF.
4653         (output_addressed_constants): Likewise.
4654
4655         PR middle-end/52999
4656         * varasm.c (get_section): Don't ICE for section conflicts with
4657         built-in section kinds.
4658
4659 2012-04-23  David Edelsohn  <dje.gcc@gmail.com>
4660
4661         * config/rs6000/sync.md (fetchop_name): Change ior attribute to "or".
4662
4663 2012-04-23  Georg-Johann Lay  <avr@gjlay.de>
4664
4665         * doc/extend.texi (AVR Named Address Spaces): Fix typos.
4666
4667 2012-04-23  Richard Guenther  <rguenther@suse.de>
4668
4669         PR c/53060
4670         * c-typeck.c (build_binary_op): Fix typo.
4671
4672 2012-04-23  Jakub Jelinek  <jakub@redhat.com>
4673
4674         PR tree-optimizations/52891
4675         * tree-vect-patterns.c (adjust_bool_pattern): Use
4676         build_nonstandard_type even if rhs1 has unsigned INTEGER_TYPE,
4677         but with non-standard precision.
4678
4679 2012-04-22  Ian Lance Taylor  <iant@google.com>
4680
4681         * godump.c (go_output_typedef): Dump size of structs.
4682
4683 2012-04-20  Ulrich Weigand  <ulrich.weigand@linaro.org>
4684
4685         Backport from mainline:
4686
4687         * config/arm/arm.c (arm_print_operand): Fix invalid alignment
4688         hints for 'A' operand types.
4689
4690 2012-04-19  Georg-Johann Lay  <avr@gjlay.de>
4691
4692         Backport from 2012-04-19 mainline r186588.
4693
4694         PR target/53033
4695         * config/avr/avr.c (avr_out_load_psi): Fix assembler template for
4696         the case *(X+const).
4697
4698 2012-04-18  Uros Bizjak  <ubizjak@gmail.com>
4699
4700         * config/alpha/sync.md (fetchop_name): Change ior attribute to "or".
4701
4702 2012-04-17  Uros Bizjak  <ubizjak@gmail.com>
4703
4704         PR target/53020
4705         * config/i386/sync.md (atomic_<code><mode>): Rename to
4706         atomic_<logic><mode>.
4707
4708 2012-04-16  Uros Bizjak  <ubizjak@gmail.com>
4709
4710         Backport from mainline
4711         2012-04-12  Uros Bizjak  <ubizjak@gmail.com>
4712
4713         PR target/52932
4714         * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
4715         argument type to __m256i.  Update call to __builtin_ia32_permvarsf256.
4716         * config/i386/sse.md (avx2_permvarv8sf): Change operand 1 to V8SI.
4717         (avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
4718         * config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
4719         Update builtin type to V8SF_FTYPE_V8SF_V8SI.
4720         (ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
4721         gen_avx2_permvarv8sf.
4722
4723 2012-04-16  Martin Jambor  <mjambor@suse.cz>
4724
4725         Backported from mainline
4726
4727         2012-04-13  Martin Jambor  <mjambor@suse.cz>
4728         PR middle-end/52939
4729
4730         * gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
4731         fold_ctor_reference returns a zero constant.
4732
4733 2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
4734
4735         Backported from mainline
4736         2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
4737
4738         * config/i386/i386-c.c (ix86_target_macros): Define _ILP32
4739         and __ILP32__ for x32.
4740
4741 2012-04-13  Tom de Vries  <tom@codesourcery.com>
4742
4743         Backport from mainline r186418.
4744
4745         2012-04-13  Tom de Vries  <tom@codesourcery.com>
4746
4747         * tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add
4748         parameters vuse and vuse_escaped.
4749         (find_duplicate): Init vuse1, vuse2 and vuse_escaped.  Pass to
4750         gsi_advance_bw_nondebug_nonlocal.  Return if vuse_escaped and
4751         vuse1 != vuse2.
4752
4753 2012-04-13  Richard Guenther  <rguenther@suse.de>
4754
4755         PR tree-optimization/52969
4756         * tree-if-conv.c (predicate_mem_writes): Properly gimplify
4757         the condition for the COND_EXPR and handle predicate negation
4758         by swapping the COND_EXPR arms.
4759
4760 2012-04-13  Richard Guenther  <rguenther@suse.de>
4761
4762         PR c/52862
4763         * convert.c (convert_to_pointer): Remove special-casing of
4764         zero.
4765
4766 2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
4767
4768         Backport from mainline
4769         2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
4770
4771         PR target/52775
4772         * config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
4773         the list of options to enable the FCFID instruction.
4774         (TARGET_EXTRA_BUILTINS): Adjust comment.
4775
4776 2012-04-12  Richard Guenther  <rguenther@suse.de>
4777
4778         PR tree-optimization/52943
4779         * tree-chrec.h (chrec_is_positive): Remove.
4780         * tree-scalar-evolution.c (chrec_is_positive): Move ...
4781         * tree-data-ref.c (chrec_is_positive): ... here.  Make static.
4782         Return false for a constant zero instead of negative.
4783         (analyze_siv_subscript_cst_affine): Handle zero difference
4784         in the initial condition explicitely.
4785
4786 2012-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4787
4788         PR middle-end/52894
4789         * varasm.c (process_pending_assemble_externals): Set
4790         pending_assemble_externals_processed true.
4791         (assemble_external): Call assemble_external_real if the pending
4792         assemble externals have been processed.
4793
4794 2012-04-09  Eric Botcazou  <ebotcazou@adacore.com>
4795
4796         PR target/52717
4797         * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
4798         the DECL generated for the special GOT helper.
4799
4800 2012-04-06  Walter Lee  <walt@tilera.com>
4801
4802         Backport from mainline
4803         2012-03-07  Walter Lee  <walt@tilera.com>
4804
4805         * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
4806         REG_CFA_* notes for the stack pointer.
4807         (tilegx_expand_epilogue): Restore stack pointer by adjusting it by
4808         EH_RETURN_STACKADJ_RTX.
4809         * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
4810         generate REG_CFA_* notes for the stack pointer.
4811         (tilepro_expand_epilogue): Restore stack pointer by adjusting it
4812         by EH_RETURN_STACKADJ_RTX.
4813
4814 2012-04-06  Matt Turner  <mattst88@gmail.com>
4815
4816         * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc".
4817
4818 2012-04-06  Eric Botcazou  <ebotcazou@adacore.com>
4819
4820         * config/ia64/ia64.c (ia64_load_pair_ok): Return 0 if the second member
4821         of the destination isn't also a FP_REGS register.
4822
4823 2012-04-03  Richard Guenther  <rguenther@suse.de>
4824
4825         Backport from mainline
4826         2012-03-02  Richard Guenther  <rguenther@suse.de>
4827
4828         PR tree-optimization/52406
4829         * tree-data-ref.h: Update documentation about DR_BASE_OBJECT.
4830         (struct indices): Add unconstrained_base member.
4831         (struct dr_alias): Remove unused vops member.
4832         (DR_UNCONSTRAINED_BASE): New define.
4833         * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs
4834         add indices to allow their disambiguation.  Make DR_BASE_OBJECT
4835         be an artificial access that covers the whole indexed object,
4836         or mark it with DR_UNCONSTRAINED_BASE if we cannot do so.  Canonicalize
4837         plain decl base-objects to their MEM_REF variant.
4838         (dr_may_alias_p): When the base-object of either data reference
4839         has unknown size use only points-to information.
4840         (compute_affine_dependence): Make dumps easier to read and
4841         more verbose.
4842         * tree-vect-data-ref.c (vector_alignment_reachable_p): Use
4843         DR_REF when looking for packed references.
4844         (vect_supportable_dr_alignment): Likewise.
4845
4846 2012-04-03  Richard Guenther  <rguenther@suse.de>
4847
4848         Backport from mainline
4849         2012-03-15  Richard Guenther  <rguenther@suse.de>
4850
4851         PR middle-end/52580
4852         * tree-data-ref.c (subscript_dependence_tester_1): Check
4853         all dimensions for non-conflicting access functions.
4854
4855 2012-04-03  Richard Guenther  <rguenther@suse.de>
4856
4857         Backport from mainline
4858         2012-03-06  Richard Guenther  <rguenther@suse.de>
4859
4860         PR middle-end/52493
4861         * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify.
4862
4863         2012-03-23  Richard Guenther  <rguenther@suse.de>
4864
4865         PR tree-optimization/52678
4866         * tree-vectorizer.h (struct _stmt_vec_info): Add
4867         loop_phi_evolution_part member.
4868         (STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define.
4869         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize
4870         STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
4871         * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
4872         Use the cached evolution part and the PHI nodes value from
4873         the loop preheader edge instead of re-analyzing the evolution.
4874
4875         2012-03-26  Richard Guenther  <rguenther@suse.de>
4876
4877         PR tree-optimization/52701
4878         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
4879         compute and set the evolution part of PHI nodes.
4880
4881         2012-03-30  Richard Guenther  <rguenther@suse.de>
4882
4883         PR tree-optimization/52754
4884         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
4885         propagate arbitrary addresses into really plain dereferences.
4886
4887 2012-04-03  Jakub Jelinek  <jakub@redhat.com>
4888
4889         PR tree-optimization/52835
4890         * tree-data-ref.c (build_rdg): Return NULL if
4891         compute_data_dependences_for_loop failed.
4892
4893 2012-03-31  Eric Botcazou  <ebotcazou@adacore.com>
4894
4895         * tree-cfg.c (call_can_make_abnormal_goto): New predicate.
4896         (stmt_can_make_abnormal_goto): Use it.
4897         (is_ctrl_altering_stmt): Likewise.
4898
4899 2012-03-31  Martin Jambor  <mjambor@suse.cz>
4900
4901         Backported from mainline
4902         2012-03-30  Martin Jambor  <mjambor@suse.cz>
4903
4904         * tree-ssa-ccp.c (insert_clobbers_for_var): Do not assert that there
4905         is a builtin_stack_save in a dominating BB.
4906
4907 2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
4908
4909         * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
4910         crossing 128bit lane boundary.
4911
4912 2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
4913
4914         Backported from mainline
4915         2012-03-27  Uros Bizjak  <ubizjak@gmail.com>
4916
4917         PR target/52698
4918         * config/i386/i386-protos.h (ix86_legitimize_reload_address):
4919         New prototype.
4920         * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
4921         * config/i386/i386.c: Include reload.h.
4922         (ix86_legitimize_reload_address): New function.
4923
4924 2012-03-28  Martin Jambor  <mjambor@suse.cz>
4925
4926         Backported from mainline
4927         2012-03-27  Martin Jambor  <mjambor@suse.cz>
4928
4929         PR middle-end/52693
4930         * tree-sra.c (sra_modify_assign): Do not call
4931         load_assign_lhs_subreplacements when working with an unscalarizable
4932         region.
4933
4934 2012-03-28  Jakub Jelinek  <jakub@redhat.com>
4935
4936         PR middle-end/52691
4937         * tree-ssa-ccp.c (optimize_stdarg_builtin): Optimize
4938         __builtin_va_start to __builtin_next_arg if the latter is
4939         builtin_decl_explicit_p rather than when it is not.
4940
4941         PR middle-end/52750
4942         * tree-vect-generic.c (vector_element): Perform multiplication
4943         for pos in bitsizetype type instead of idx type.
4944
4945 2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
4946
4947         Backport from 2012-03-28 mainline r185910.
4948
4949         PR target/52692
4950         * config/avr/avr.c (TARGET_BUILTIN_DECL): New define.
4951         (avr_builtin_decl): New static function.
4952         (struct avr_builtin_description, avr_bdesc): Move up.
4953         Add GTY marker. Add field fndecl. Remove redundant field id.
4954         (avr_init_builtins): Initialize avr_bdesc[ID].fndecl.
4955         (avr_expand_builtin): Code cleanup because .id is removed.
4956
4957 2012-03-28  Aurelien Buhrig  <aurelien.buhrig.gcc@gmail.com>
4958
4959         PR middle-end/51893
4960         * expmed.c (store_bit_field_1): Fix wordnum value for big-endian
4961         targets.
4962
4963 2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
4964
4965         Backport from 2012-03-28 mainline r185907.
4966
4967         PR target/52737
4968         * config.gcc (tm_file): Remove avr/multilib.h.
4969
4970         * doc/invoke.texi (AVR Options): Adjust
4971         documentation of -mtiny-stack.
4972
4973         * config/avr/genmultilib.awk: Remove code to generate multilib.h.
4974         (BEGIN): Use -msp8 as multilib option instead of -mtiny-stack.
4975         * config/avr/t-avr: Remove generation of multilib.h.
4976         * config/avr/t-multilib: Regenerate.
4977         * config/avr/multilib.h: Remove.
4978         * config/avr/avr.opt (-msp8): New option.
4979         (avr_sp8): New variable.
4980         * config/avr/driver-avr.c (avr_device_to_sp8): New function.
4981         * config/avr/avr.h (AVR_HAVE_SPH): New define.
4982         (AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8.
4983         (avr_device_to_sp8): New prototype.
4984         (EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 }
4985         (DRIVER_SELF_SPECS): New define.
4986         * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
4987         __AVR_SP8__, __AVR_HAVE_SPH__.
4988         * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
4989         AVR_HAVE_8BIT_SP to decide if SP_H is present.
4990         (avr_file_start): Ditto.
4991
4992 2012-03-28  Jakub Jelinek  <jakub@redhat.com>
4993
4994         PR target/52736
4995         * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0
4996         instead of 8 in adjust_address.
4997
4998 2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
4999
5000         * expmed.c (store_bit_field): Assert that BITREGION_START is a multiple
5001         of a unit before computing the offset in units.
5002
5003 2012-03-27  Richard Guenther  <rguenther@suse.de>
5004
5005         PR middle-end/52720
5006         * fold-const.c (try_move_mult_to_index): Handle &x.array more
5007         explicitely.
5008
5009 2012-03-24  Eric Botcazou  <ebotcazou@adacore.com>
5010
5011         PR target/52610
5012         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=leon.
5013
5014 2012-03-24  Steven Bosscher  <steven@gcc.gnu.org>
5015
5016         PR middle-end/52640
5017         * varasm.c: Include pointer-set.h.
5018         (pending_assemble_externals_set): New pointer set.
5019         (process_pending_assemble_externals): Destroy the pointer set.
5020         (assemble_external): See if decl is in pending_assemble_externals_set,
5021         and add it to pending_assemble_externals if necessary.
5022         (init_varasm_once): Allocate pending_assemble_externals_set.
5023
5024 2012-03-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
5025
5026         Backported from mainline
5027         2012-03-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
5028
5029         PR target/50310
5030         * config/rs6000/vector.md (vector_uneq<mode>): Add support for
5031         UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
5032         (vector_ltgt<mode>): Likewise.
5033         (vector_ordered<mode>): Likewise.
5034         (vector_unordered<mode>): Likewise.
5035         * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
5036
5037 2012-03-23  Joern Rennecke  <joern.rennecke@embecosm.com>
5038
5039         * config/epiphany/epiphany.c (epiphany_function_value_regno_p):
5040         Make static.
5041
5042 2012-03-22  Kaz Kojima  <kkojima@gcc.gnu.org>
5043
5044         Backported from mainline
5045         2012-03-02  Kaz Kojima  <kkojima@gcc.gnu.org>
5046
5047         PR target/48596
5048         PR target/48806
5049         * config/sh/sh.c (sh_register_move_cost): Increase cost between
5050         GENERAL_REGS and FP_REGS for SImode.
5051
5052 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
5053
5054         PR middle-end/52547
5055         * tree-nested.c (convert_tramp_reference_stmt): Call declare_vars
5056         on any new_local_var_chain vars declared during recursing on
5057         GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK body.
5058
5059 2012-03-22  Georg-Johann Lay  <avr@gjlay.de>
5060
5061         Backport from 2012-03-22 mainline r185692.
5062
5063         PR target/52496
5064         * config/avr/avr.md (unspec): Remove UNSPEC_MEMORY_BARRIER.
5065         (unspecv): Add UNSPECV_MEMORY_BARRIER.
5066         (cli_sei): Use unspec_volatile instead of unspec for memory barrier.
5067         (delay_cycles_1, delay_cycles_2): Ditto.
5068         (delay_cycles_3, delay_cycles_4): Ditto.
5069         (nopv, *nopv): Ditto.
5070         (sleep, *sleep): Ditto.
5071         (wdr, *wdr): Ditto.
5072
5073         Backport from 2012-03-21 mainline r185605.
5074
5075         PR rtl-optimization/52543
5076         PR target/52461
5077         * config/avr/avr-protos.h (avr_load_lpm): New prototype.
5078         * config/avr/avr.c (avr_mode_dependent_address_p): New function.
5079         (TARGET_MODE_DEPENDENT_ADDRESS_P): New define.
5080         (avr_load_libgcc_p): Restrict to __flash loads.
5081         (avr_out_lpm): Only handle 1-byte loads from __flash.
5082         (avr_load_lpm): New function.
5083         (avr_find_unused_d_reg): Remove.
5084         (avr_out_lpm_no_lpmx): Remove.
5085         (adjust_insn_length): Handle ADJUST_LEN_LOAD_LPM.
5086         * config/avr/avr.md (unspec): Add UNSPEC_LPM.
5087         (load_<mode>_libgcc): Use UNSPEC_LPM instead of MEM.
5088         (load_<mode>, load_<mode>_clobber): New insns.
5089         (mov<mode>): For multi-byte move from non-generic
5090         16-bit address spaces: Expand to load_<mode> resp.
5091         load_<mode>_clobber.
5092         (load<mode>_libgcc): Remove expander.
5093         (split-lpmx): Remove split.
5094
5095         Backport from 2012-03-13 mainline r185329.
5096
5097         PR target/52488
5098         * config/avr/avr.c (avr_prologue_setup_frame): Cut down stack
5099         offset (size) to a value the insns can deal with.
5100         (expand_epilogue): Ditto.
5101
5102         Backport from 2012-03-12 mainline r185256.
5103
5104         PR target/52499
5105         * config/avr/avr.c (avr_mode_code_base_reg_class): Change return
5106         type from reg_class_t to enum reg_class.
5107         * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
5108
5109         Backport from 2012-03-12 mainline r185253.
5110
5111         PR target/52148
5112         * config/avr/avr.c (avr_out_movmem): Fix typo in output template
5113         for the case ADDR_SPACE_FLASH and AVR_HAVE_LPMX introduced in
5114         r184615 from 2012-02-28.
5115
5116         Backport from 2012-03-08 mainline r185105.
5117
5118         * config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative
5119         for constants in [-63,63].
5120
5121         Backport from 2012-03-08 mainline r185100.
5122
5123         PR target/52496
5124         * config/avr/avr.c (avr_mem_clobber): New static function.
5125         (avr_expand_delay_cycles): Add memory clobber operand to
5126         delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4.
5127         * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
5128         (enable_interrupt, disable_interrupt): New expander.
5129         (nopv, sleep, wdr): New expanders.
5130         (delay_cycles_1): Add memory clobber.
5131         (delay_cycles_2): Add memory clobber.
5132         (delay_cycles_3): Add memory clobber.
5133         (delay_cycles_4): Add memory clobber.
5134         (cli_sei): New insn from former "enable_interrupt",
5135         "disable_interrupt" with memory clobber.
5136         (*wdt): New insn from former "wdt" with memory clobber.
5137         (*nopv): Similar, but for "nopv".
5138         (*sleep): Similar, but for "sleep".
5139
5140         Backport from 2012-03-07 mainline r185043.
5141
5142         PR target/52484
5143         * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint.
5144
5145         Backport from 2012-03-07 mainline r185032.
5146
5147         PR target/52506
5148         * gcc/config/avr/avr.c (expand_epilogue): Fix order of restoration
5149         to: RAMPZ, RAMPY, RAMPX, RAMPD.
5150         (expand_prologue): Only clear RAMPZ if it has effect on RAM-read.
5151
5152         Backport from 2012-03-07 mainline r185031.
5153
5154         PR target/52505
5155         * config/avr/avr.c (avr_out_xload): Don't read unintentionally
5156         from RAM.
5157         * config/avr/avr.md (xload_8): Adjust insn length.
5158
5159         Backport from 2012-03-07 mainline r185030.
5160
5161         PR target/52461
5162         * gcc/config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
5163         if RAMPZ affects reading from RAM.
5164
5165         Backport from 2012-03-05 mainline r184919.
5166
5167         * config/avr/avr.md (*umaddqihi4.2): New insn-and-split.
5168
5169 2012-03-22  Georg-Johann Lay  <avr@gjlay.de>
5170
5171         Backport from mainline r185259.
5172
5173         PR other/52545
5174         * output.h (SECTION_EXCLUDE, SECTION_MACH_DEP): Don't use
5175         SECTION_MACH_DEP reserved bits for SECTION_EXCLUDE.
5176
5177 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
5178
5179         Backported from mainline
5180         2012-03-13  Jakub Jelinek  <jakub@redhat.com>
5181
5182         PR c/52577
5183         * c-parser.c (c_parser_postfix_expression)
5184         <case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values.
5185
5186         * config/i386/smmintrin.h: Avoid /* within a comment.
5187         * config/i386/nmmintrin.h: Likewise.
5188
5189 2012-03-22  Richard Guenther  <rguenther@suse.de>
5190
5191         * BASE-VER: Set to 4.7.1.
5192         * DEV-PHASE: Set to prerelease.
5193
5194 2012-03-22  Release Manager
5195
5196         * GCC 4.7.0 released.
5197
5198 2012-03-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5199
5200         * doc/install.texi (Specific, *-*-solaris2*): Improve wording.
5201
5202 2012-03-15  Jakub Jelinek  <jakub@redhat.com>
5203             Andrew Pinski  <apinski@cavium.com>
5204
5205         PR middle-end/52592
5206         * builtins.c (expand_builtin_int_roundingfn_2): If expanding
5207         BUILT_IN_IR{INT,OUND}* using optab fails, emit lr{int,ound}*
5208         calls instead of __builtin_ir{int,ound}*.
5209
5210 2012-03-14  Jakub Jelinek  <jakub@redhat.com>
5211
5212         PR c++/52582
5213         * config/rs6000/rs6000.c (call_ABI_of_interest): Return true
5214         if c_node is NULL.
5215
5216 2012-03-13  Joseph Myers  <joseph@codesourcery.com>
5217
5218         * doc/invoke.texi (-std=c99), doc/standards.texi (C language):
5219         Refer to GCC 4.7 version of c99status.html.
5220
5221 2012-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
5222
5223         Backport from mainline
5224         2012-03-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
5225
5226         * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Do not
5227         redefine to be NULL if the current bit-size is different from the
5228         configured bit-size.
5229
5230         * config/rs6000/rs6000.c (rs6000_option_override_internal): If the
5231         cpu is defaulted, use PROCESSOR_DEFAULT and PROCESSOR_DEFAULT64 to
5232         set the default tuning.  Add asserts to make sure the cpu and tune
5233         indexes are defined.  Fix tests for cpu/tune index to use >= 0 to
5234         test whether the index is set, instead of > 0.
5235         (rs6000_file_start): Do not reset the default cpu if the current
5236         bit-size is different from the configured bit-size.
5237
5238 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5239
5240         * doc/install.texi (Specific, i?86-*-solaris2.[89]): Update
5241         binutils reference.
5242         (Specific, i?86-*-solaris2.10): Remove GCC 4.0 reference.
5243         Update binutils references.
5244         (Specific, *-*-solaris2*): Mention bundled GCC in Solaris 10 and 11.
5245         Update binutils reference.
5246         Update Sun as/GNU ld caveat.
5247         Document binutils largefile requirement for LTO plugin.
5248         Remove reference to alternate libpthread.
5249
5250 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5251
5252         * doc/install.texi (Specific, alpha*-dec-osf5.1): Update binutils
5253         reference.
5254         (Specific, mips-sgi-irix6): Likewise.
5255
5256 2012-03-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5257
5258         * configure.ac (gcc_cv_as_ix86_tlsldmplt): Add label.
5259         * configure: Regenerate.
5260
5261 2012-03-07  Richard Henderson  <rth@redhat.com>
5262
5263         * config/m68k/m68k.h (ISA_HAS_TAS): New.
5264         * config/m68k/sync.md (atomic_test_and_set): Use it.
5265         (atomic_test_and_set_1): Likewise.
5266
5267 2012-03-07  Ralf Corsépius  <ralf.corsepius@rtems.org>
5268
5269         PR target/51417
5270         * Makefile.in: Let install-gcc-ar depend on installdirs,
5271         gcc-ar$(exeext), gcc-nm$(exeext), gcc-ranlib$(exeext).
5272         Don't double canonicalize if cross-compiling.
5273
5274 2012-03-06  Aldy Hernandez  <aldyh@redhat.com>
5275
5276         * trans-mem.c: New typedef for tm_region_p.
5277         Define vector types for tm_region_p.
5278         (tm_region_init): Replace region_worklist to a vector called
5279         bb_regions.
5280
5281 2012-03-06  Aldy Hernandez  <aldyh@redhat.com>
5282
5283         PR middle-end/52463
5284         * trans-mem.c (tm_region_init): Use last_basic_block.
5285
5286 2012-03-05  Richard Henderson  <rth@redhat.com>
5287
5288         PR tree-opt/52242
5289         Revert: 2011-11-26  Richard Henderson  <rth@redhat.com>
5290         * omp-low.c (expand_omp_atomic): Assume anything aligned to
5291         BIGGEST_ALIGNMENT is aligned.
5292
5293 2012-03-05  Oleg Endo  <olegendo@gcc.gnu.org>
5294
5295         * config/sh/sh.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
5296
5297 2012-03-05  Richard Henderson  <rth@redhat.com>
5298
5299         PR target/52481
5300         * config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
5301         instead of calling negqi2 directly.
5302
5303 2012-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5304
5305         * config/mips/iris6.h [!USED_FOR_TARGET] (long_intmax): Declare.
5306         (INTMAX_TYPE): Use it.
5307         (UINTMAX_TYPE): Likewise.
5308         (SUBTARGET_OVERRIDE_OPTIONS): Define.
5309         (irix6_c_common_override_options): Declare.
5310         (C_COMMON_OVERRIDE_OPTIONS): Define.
5311         * config/mips/mips.c [TARGET_IRIX6] (long_intmax): Define.
5312         * config/mips/irix6-c.c: New file.
5313         * config/mips/t-irix6 (irix6-c.o): New target.
5314         * config.gcc (mips-sgi-irix6.5): Set c_target_objs,
5315         cxx_target_objs.
5316
5317 2012-03-02  Richard Henderson  <rth@redhat.com>
5318
5319         * optabs.c (expand_atomic_test_and_set): Honor
5320         atomic_test_and_set_trueval even when atomic_test_and_set
5321         optab is not in use.
5322
5323 2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
5324
5325         Backport from mainline
5326         2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
5327
5328         * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
5329
5330 2012-03-02  Richard Guenther  <rguenther@suse.de>
5331
5332         * DEV-PHASE: Set to prerelease.
5333
5334 2012-03-01  Richard Earnshaw  <rearnsha@arm.com>
5335
5336         * config.gcc (obsolete): Add all ARM targets using the FPA.
5337         (with_fpu): Obsolete selection of the FPA or Maverick on ARM.
5338         * doc/install.texi: Avoid references to obsolete ARM ports.
5339
5340 2012-03-01  Joern Rennecke  <joern.rennecke@embecosm.com>
5341
5342         * config/epiphany/epiphany.md (movmisalign<mode>): New patterns.
5343
5344 2012-03-01  Jeremy Bennett  <jeremy.bennett@embecosm.com>
5345             Joern Rennecke  <joern.rennecke@embecosm.com>
5346
5347         * doc/extend.texi: Expand and update information on interrupt
5348         attribute for Epiphany.
5349
5350 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
5351
5352         * config/sh/sh-protos.h: Update copyright notice dates.
5353         * config/sh/sh.h: Likewise.
5354         * config/sh/sh.md: Likewise.
5355         * config/sh/constraints.md: Likewise.
5356         * config/sh/predicates.md: Likewise.
5357
5358 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
5359
5360         * config/sh/sh-protos.h (tertiary_reload_operand): Remove dead function.
5361         * config/sh/sh.c (tertiary_reload_operand): Likewise.
5362
5363 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
5364
5365         * config/sh/constraints.md: Fix comment typo.
5366
5367 2012-03-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5368
5369         PR target/52408
5370         * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
5371         unsigned HOST_WIDE_INT.
5372         (zvdep_imm64): Likewise.
5373         (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
5374         (vdepi_and): Likewise.
5375         Likewise for unamed 64-bit patterns.
5376         * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
5377
5378 2012-03-01  Alexandre Oliva  <aoliva@redhat.com>
5379
5380         PR debug/52001
5381         PR rtl-optimization/52417
5382         * cselib.c (cselib_any_perm_equivs): New variable.
5383         (cselib_reset_table): Check that it's not set when not
5384         preserving constants.
5385         (cselib_add_permanent_equiv): Set it.
5386         (cselib_have_permanent_equivalences): New.
5387         (cselib_init, cselib_finish): Reset it.
5388         * cselib.h (cselib_have_permanent_equivalences): Declare.
5389         * alias.c (get_addr): Restore earlier behavior when there
5390         aren't permanent equivalences.
5391
5392 2012-03-01  Steven Bosscher  <steven@gcc.gnu.org>
5393
5394         * config/mn10300/mn10300-modes.def: Fix copyright notice.
5395         * config/v850/v850-modes.def: Fix copyright notice.
5396
5397 2012-03-01  Georg-Johann Lay  <avr@gjlay.de>
5398
5399         * doc/extend.texi (AVR Built-in Functions): Document
5400         __builtin_avr_flash_segment.
5401
5402         * config/avr/builtins.def (__builtin_avr_flash_segment): New entry.
5403         * config/avr/avr.md (flash_segment, flash_segment1): New expanders.
5404         (*split.flash_segment): New insn-and-split.
5405         * config/avr/avr.c (avr_init_builtins): Add local variables:
5406         const_memx_void_node, const_memx_ptr_type_node,
5407         char_ftype_const_memx_ptr.
5408
5409 2012-03-01  Jakub Jelinek  <jakub@redhat.com>
5410
5411         PR tree-optimization/52445
5412         * tree-ssa-phiopt.c (struct name_to_bb): Remove ssa_name field,
5413         add ssa_name_ver, offset and size fields and change store field
5414         to bool.
5415         (name_to_bb_hash, name_to_bb_eq): Adjust for the above changes.
5416         (add_or_mark_expr): Likewise.  Only consider previous stores
5417         with the same size and offset.
5418         (nt_init_block): Only look at gimple_assign_single_p stmts,
5419         doesn't look at rhs2.
5420
5421 2012-03-01  Richard Guenther  <rguenther@suse.de>
5422
5423         PR middle-end/52443
5424         * tree-cfg.c (verify_gimple_assign_unary): Allow any
5425         conversions from integral types to pointer types.
5426
5427 2012-03-01  Georg-Johann Lay  <avr@gjlay.de>
5428
5429         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in
5430         defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__
5431         unintentionally removed in r184616.
5432
5433 2012-03-01  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
5434
5435         * doc/invoke.texi: Document AMD bdver2 and remove mentioning
5436         3DNow from bdver1.
5437
5438 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
5439             Uros Bizjak  <ubizjak@gmail.com>
5440
5441         PR target/52437
5442         * config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF"
5443         alternatives, add "e" constraint to the new last alternative
5444         and ! to last 3 alternatives.
5445
5446 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
5447
5448         * dwarf2out.c (modified_type_die): Set DW_AT_GNAT_descriptive_type and
5449         DW_AT_artificial attributes at the end of the processing.
5450         (gen_array_type_die): Likewise.
5451         (gen_enumeration_type_die): Likewise.
5452         (gen_struct_or_union_type_die): Likewise.
5453         (add_gnat_descriptive_type_attribute): Do not suppress debug info for
5454         the parent type.
5455
5456 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
5457
5458         PR middle-end/52419
5459         * expr.c (expand_assignment): If doing misaligned store that doesn't
5460         cover all mode bits, perform a RMW cycle.
5461
5462         PR tree-optimization/52429
5463         * tree-parloops.c (separate_decls_in_region_debug): Return early
5464         if var is LABEL_DECL.
5465
5466 2012-02-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5467
5468         PR tree-optimization/52424
5469         * tree-ssa-dom.c (dom_opt_leave_block): Push a marker before
5470         calling dom_thread_across_edge.
5471
5472 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5473
5474         * config/avr/avr.c: Move definition of TARGET macros to end of file.
5475
5476 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5477
5478         * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype.
5479         * config/avr/avr.c (avr_output_bld): Remove unused function.
5480         (avr_out_sbxx_branch): Use "%T" to print bit position.
5481
5482 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5483
5484         * config/avr/avr.md: Untabify.
5485
5486 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5487
5488         * config/avr/avr.md (eqne): New code iterator.
5489         (*dec-and-branchsi): Use it in text peephole's condition.
5490         (*dec-and-branchhi): Ditto.
5491         (*dec-and-branchqi): Ditto.
5492
5493 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5494
5495         PR target/49939
5496         * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that
5497         the device does not have the skip-bug.
5498
5499 2012-02-29  Oleg Endo  <olegendo@gcc.gnu.org>
5500
5501         * doc/invoke.texi (-msoft-atomic): Add more detailed description.
5502         (-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd
5503         -mpretend-cmove): New.
5504
5505 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
5506
5507         PR bootstrap/52397
5508         * df.h (struct df_d): Adjust comment that hard_regs_live_count
5509         doesn't count DEBUG_INSN refs.
5510         * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE
5511         for DEBUG_INSN refs.
5512
5513 2012-02-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5514
5515         Partially revert:
5516
5517         2012-02-20  Richard Guenther  <rguenther@suse.de>
5518         PR tree-optimization/52298
5519         * tree-vect-stmts.c (vectorizable_load): Properly use
5520         STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
5521         outer loops.
5522
5523 2012-02-28  Aldy Hernandez  <aldyh@redhat.com>
5524
5525         PR middle-end/51752
5526         * gimple.h (gimple_in_transaction): New.
5527         (gimple_set_in_transaction): New.
5528         (struct gimple_statement_base): Add in_transaction field.
5529         * tree-ssa-loop-im.c: (movement_possibility): Restrict movement of
5530         transaction loads.
5531         (tree_ssa_lim_initialize): Compute transaction bits.
5532         * tree.h (compute_transaction_bits): Protoize.
5533         * trans-mem.c (tm_region_init): Use the heap to store BB
5534         auxilliary data.
5535         (compute_transaction_bits): New.
5536
5537 2012-02-28  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5538
5539         * gcc.c (display_help): Document --help=common and sort entries
5540         alphabetically.
5541
5542 2012-02-28  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5543
5544         * doc/install.texi: Document check-$LANG specific shortcuts
5545
5546 2012-02-28  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
5547
5548         PR target/51534
5549         * config/arm/arm.c (neon_builtin_data): Add entries for vcgeu
5550         and vcgtu.
5551         * config/arm/arm_neon.h: Regenerate.
5552         * config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU.
5553         (neon_vcgeu): New insn.
5554         (neon_vcgtu): Likewise.
5555         * config/arm/neon.ml (s_8_32, u_8_32): New lists.
5556         (ops): Unsigned comparison intrinsics call a different
5557         builtin.
5558
5559 2012-02-28  Richard Guenther  <rguenther@suse.de>
5560
5561         PR target/52407
5562         * config/i386/i386.c (ix86_expand_vector_set): Fix element
5563         ordering for the VEC_CONCAT for two element vectors for
5564         V2SFmode, V2SImode and V2DImode.
5565
5566 2012-02-28  Richard Earnshaw  <rearnsha@arm.com>
5567
5568         PR target/49448
5569         * config.gcc (arm*-*-linux*): Use an unambiguous pattern for
5570         detecting big-endian triplets.
5571
5572 2012-02-28  Richard Earnshaw  <rearnsha@arm.com>
5573
5574         * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine
5575         mode if there is no type information available.
5576
5577 2012-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
5578
5579         PR tree-optimization/53207
5580         * doc/invoke.texi: Document as experimental and relying on graphite.
5581
5582 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
5583
5584         * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
5585         of initializer to changes from r184614.
5586
5587 2012-02-28  Richard Guenther  <rguenther@suse.de>
5588
5589         PR tree-optimization/52395
5590         * tree-sra.c (build_ref_for_offset): Also look at the base
5591         TYPE_ALIGN when figuring out the alignment of the replacement.
5592
5593 2012-02-28  Richard Guenther  <rguenther@suse.de>
5594
5595         PR tree-optimization/52402
5596         * ipa-prop.c (ipa_modify_call_arguments): Properly use
5597         mis-aligned types when creating the accesses at the call site.
5598
5599 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
5600
5601         * config/avr/builtins.def: New file.
5602         * config/avr/t-avr (avr.o, avr-c.o): Depend on it.
5603         * config/avr/avr.c (enum avr_builtin_id): Use it.
5604         (avr_init_builtins): Use it. And use avr_bdesc.
5605         (bdesc_1arg): Remove.
5606         (bdesc_2arg): Remove.
5607         (bdesc_3arg): Remove.
5608         (struct avr_builtin_description): Add field n_args.
5609         (avr_bdesc): New static variable using builtins.def.
5610         (avr_expand_builtin): Use it.
5611         Don't call avr_expand_delay_cycles if op0 is not CONST_INT.
5612         (avr_fold_builtin): Fold AVR_BUILTIN_SWAP.
5613         Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST.
5614
5615 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
5616
5617         PR target/52148
5618         * config/avr/avr.md (movmem_<mode>): Replace match_operand that
5619         match only one single hard register with respective hard reg rtx.
5620         (movmemx_<mode>): Ditto.
5621         * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new
5622         insn anatomy of movmem[x]_<mode>.
5623         (avr_out_movmem): Same for printing assembler and operand usage.
5624
5625 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
5626
5627         PR target/49868
5628         PR target/52261
5629         * doc/extend.texi (AVR Named Address Spaces): No more try to fix
5630         address spaces located outside of device flash.
5631
5632         * config/avr/avr.h (base_arch_s): Remove field n_segments.
5633         (mcu_type_s): Add field n_flash.
5634         * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments.
5635         Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5.
5636         (AVR_MCU): Add N_FLASH argument.
5637         * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash.
5638         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in
5639         macro __FLASH<n> if that address space makes sense for the device.
5640         * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces
5641         outside of target flash.
5642         (avr_asm_named_section): Ditto.
5643         (avr_asm_select_section): Ditto.
5644         (avr_addr_space_convert): Ditto.
5645         (avr_emit_movmemhi): Ditto.
5646         (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if
5647         address space is outside of device flash.
5648         (avr_insert_attributes): Ditto.
5649         (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of
5650         avr_current_arch->n_segments.
5651
5652 2012-02-27  H.J. Lu  <hongjiu.lu@intel.com>
5653
5654         PR target/52352
5655         * config/i386/i386.md (*movabs<mode>_1): Enable only for
5656         TARGET_LP64.
5657         (*movabs<mode>_2): Likewise.
5658
5659 2012-02-27  Jakub Jelinek  <jakub@redhat.com>
5660
5661         PR target/52375
5662         * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use
5663         s_register_operand in the test instead of REG_P.  Don't call
5664         gen_reg_rtx if it won't be used.
5665
5666         PR tree-optimization/52376
5667         * ipa-split.c (split_function): Ignore CLOBBER stmts.
5668
5669 2012-02-27  Stuart Henderson  <shenders@gcc.gnu.org>
5670
5671         * ifcvt.c (noce_get_condition): Check condition variable is not
5672         small_register_classes_for_mode_p before accepting.
5673
5674 2012-02-27  Uros Bizjak  <ubizjak@gmail.com>
5675
5676         * config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints.
5677
5678 2012-02-27  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
5679
5680         Revert:
5681         2012-01-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
5682         * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
5683         tuning parameters.
5684         * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
5685
5686 2012-02-27  Oleg Endo  <olegendo@gcc.gnu.org>
5687
5688         * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
5689
5690 2012-02-26  Oleg Endo  <olegendo@gcc.gnu.org>
5691
5692         * config/sh/predicates.md: Remove blank lines.
5693         * config/sh/sh.c: Fix typos in comments.
5694         * config/sh/constraints.md: Likewise.
5695         * config/sh/sh.md: Remove blank lines.
5696         Fix typos in comments.  Use ;; as comment characters.
5697
5698 2012-02-26  Walter Lee  <walt@tilera.com>
5699
5700         * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern.
5701         (replace_mov_pcrel_step2): Ditto.
5702
5703 2012-02-25  Alexandre Oliva  <aoliva@redhat.com>
5704
5705         PR debug/52001
5706         * alias.c (refs_newer_value_cb, refs_newer_value_p): New.
5707         (get_addr): Walk canonical value's locs.  Avoid returning VALUEs
5708         and locs that reference values newer than the non-canonical value
5709         at hand.  Return the canonical value as a worst case.
5710         (memrefs_conflict_p): Walk canonical value's locs.
5711
5712         PR debug/52001
5713         * cselib.c (preserve_only_constants): Rename to...
5714         (preserve_constants_and_equivs): ... this.  Split out...
5715         (invariant_or_equiv_p): ... this.  Preserve plus expressions
5716         of other preserved expressions too.
5717         (cselib_reset_table): Adjust.
5718         * var-tracking.c (reverse_op): Use canonical value to build
5719         reverse operation.
5720
5721 2012-02-23  Kai Tietz  <ktietz@redhat.com>
5722
5723         * config/i386/i386.c (ix86_delegitimize_address): Handle
5724         UNSPEC_PCREL plus displacement.
5725
5726 2012-02-24  Georg-Johann Lay  <avr@gjlay.de>
5727
5728         PR target/52261
5729         * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base
5730         to test for unusedness in st X addressing.
5731
5732 2012-02-24  Richard Guenther  <rguenther@suse.de>
5733
5734         PR middle-end/52361
5735         * gimple.c (walk_gimple_op): Use predicates with less redundant tests.
5736         (is_gimple_reg_type): Move inline ...
5737         * gimple.h (is_gimple_reg_type): ... here.
5738
5739 2012-02-24  Richard Guenther  <rguenther@suse.de>
5740
5741         PR middle-end/52361
5742         * passes.c (execute_function_todo): When verifying SSA form
5743         verify gimple form first.
5744         * tree-ssa.c (verify_ssa): Do not verify gimple form here.
5745
5746 2012-02-24  Richard Guenther  <rguenther@suse.de>
5747
5748         PR middle-end/52355
5749         * fold-const.c (fold_addr_of_array_ref_difference): New function.
5750         (fold_binary_loc): Use it to extend the existing &a[i] - &a[j] folding.
5751
5752 2012-02-13  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5753
5754         * tree-if-conv (predicate_scalar_phi): Commentary typo fix.
5755
5756 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5757
5758         * tree-phinodes.c (make_phi_node): Mark static.
5759         * tree-flow.h (make_phi_node): Remove extern decl.
5760         * doc/gimple.texi (make_phi_node): Remove documentation.
5761
5762 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5763
5764         * tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file.
5765         * tree-ssa-sccvn.c (print_scc): Ditto.
5766
5767 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5768
5769         * doc/passes.texi (Full redundancy elimination): Fix typo.
5770
5771 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5772
5773         * doc/invoke.texi (-fdse, -fdce): Remove duplicate entries.
5774
5775 2012-02-23  Eric Botcazou  <ebotcazou@adacore.com>
5776
5777         PR bootstrap/52287
5778         * haifa-sched.c (rank_for_schedule): Stabilize sort for debug insns.
5779
5780 2012-02-23  Uros Bizjak  <ubizjak@gmail.com>
5781
5782         PR c/52290
5783         * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL.
5784
5785 2012-02-23  Georg-Johann Lay  <avr@gjlay.de>
5786
5787         * config/avr/avr.md (code_stdname): Add ior, xor.
5788         (xior): New code iterator.
5789         (*<code_stdname><mode>qi.byte0): Use xior instead of ior.
5790         (*<code_stdname><mode>qi.byte1-3): Ditto.
5791
5792 2012-02-23  Jakub Jelinek  <jakub@redhat.com>
5793
5794         PR tree-optimization/52019
5795         * ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore
5796         CLOBBER stmts.
5797
5798 2012-02-23  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5799
5800         * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
5801         HAVE_INITFINI_ARRAY to work around namespace pollution in
5802         certain versions of newlib system headers.
5803         * config.in: Regenerate.
5804         * configure: Regenerate.
5805         * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
5806         instead of HAVE_INITFINI_ARRAY.
5807
5808 2012-02-22  Uros Bizjak  <ubizjak@gmail.com>
5809
5810         PR target/52330
5811         * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
5812         is not offsettable memory reference.
5813
5814 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
5815
5816         PR target/18145
5817         * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip
5818         setting avr_need_clear_bss_p for __gnu_lto* symbols.
5819
5820 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
5821
5822         * config/avr/avr.h (avr_accumulate_outgoing_args): Return int.
5823         * config/avr/avr.c (avr_accumulate_outgoing_args): Return int.
5824
5825 2012-02-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5826
5827         * configure.ac (LIB_TLS_SPEC): Enforce use of alternate thread
5828         library on Solaris 8 even without TLS support.
5829         * configure: Regenerate.
5830
5831 2012-02-22  Richard Guenther  <rguenther@suse.de>
5832
5833         PR middle-end/52329
5834         * gimple-fold.c (fold_stmt_1): Also canonicalize ADDR_EXPRs
5835         for GIMPLE_DEBUG stmts.
5836
5837 2012-02-22  Martin Jambor  <mjambor@suse.cz>
5838
5839         PR middle-end/51782
5840         * emit-rtl.c (set_mem_attributes_minus_bitpos): Set address space
5841         according to the base object.
5842
5843 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
5844
5845         PR rtl-optimization/50063
5846         * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state)
5847         and 2 (8-bit SP) in operand 2.
5848         * config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue
5849         setup to use movhi_sp_r instead of vanilla move to write SP.
5850         Adjust REG_CFA notes to superseed unspec.
5851         (expand_epilogue): Adjust epilogue setup to use movhi_sp_r instead
5852         of vanilla move.
5853         As function body might contain CLI or SEI: Use irq_state 0 (IRQ
5854         known to be off) only with TARGET_NO_INTERRUPTS. Never use
5855         irq_state 1 (IRQ known to be on) here.
5856
5857 2012-02-21  Bernd Schmidt  <bernds@codesourcery.com>
5858
5859         * ira.c (check_allocation): Use REG_WORDS_BIG_ENDIAN, not
5860         WORDS_BIG_ENDIAN.
5861         * ira-color.c (setup_profitable_hard_regs, check_hard_reg_p,
5862         assign_hard_reg): Likewise.
5863
5864 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
5865
5866         * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0".
5867
5868 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
5869
5870         * config/avr/avr.md
5871         (*dec-and-branchhi!=-1.d.clobber): New text peephole.
5872         (*dec-and-branchhi!=-1.l.clobber): New text peephole.
5873
5874 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
5875
5876         * config/avr/avr-protos.h (avr_accumulate_outgoing_args): Move
5877         prototype from here to...
5878         * config/avr/avr.h: ...here.
5879
5880 2012-02-21  Richard Earnshaw  <rearnsha@arm.com>
5881
5882         PR target/52294
5883         * thumb2.md (thumb2_shiftsi3_short): Split register and
5884         immediate shifts.  For register shifts tie operands 0 and 1.
5885         (peephole2 for above): Check that register-controlled shifts
5886         have suitably tied operands.
5887
5888 2012-02-21  Quentin Neill  <quentin.neill@amd.com>
5889
5890         PR target/52137
5891         * config/i386/bdver1.md (bdver1_call, bdver1_push,
5892         bdver1_pop, bdver1_leave, bdver1_lea, bdver1_imul_DI, bdver1_imul,
5893         bdver1_imul_mem_DI, bdver1_imul_mem, bdver1_idiv, bdver1_idiv_mem,
5894         bdver1_str, bdver1_idirect, bdver1_ivector, bdver1_idirect_loadmov,
5895         bdver1_idirect_load, bdver1_ivector_load, bdver1_idirect_movstore,
5896         bdver1_idirect_both, bdver1_ivector_both, bdver1_idirect_store,
5897         bdver1_ivector_store, bdver1_fldxf, bdver1_fld, bdver1_fstxf,
5898         bdver1_fst, bdver1_fist, bdver1_fmov_bdver1, bdver1_fadd_load,
5899         bdver1_fadd, bdver1_fmul_load, bdver1_fmul, bdver1_fsgn,
5900         bdver1_fdiv_load, bdver1_fdiv, bdver1_fpspc_load, bdver1_fpspc,
5901         bdver1_fcmov_load, bdver1_fcmov, bdver1_fcomi_load,
5902         bdver1_fcomi, bdver1_fcom_load, bdver1_fcom,
5903         bdver1_fxch, bdver1_ssevector_avx128_unaligned_load,
5904         bdver1_ssevector_avx256_unaligned_load,
5905         bdver1_ssevector_sse128_unaligned_load,
5906         bdver1_ssevector_avx128_load, bdver1_ssevector_avx256_load,
5907         bdver1_ssevector_sse128_load, bdver1_ssescalar_movq_load,
5908         bdver1_ssescalar_vmovss_load, bdver1_ssescalar_sse128_load,
5909         bdver1_mmxsse_load, bdver1_sse_store_avx256, bdver1_sse_store,
5910         bdver1_mmxsse_store_short, bdver1_ssevector_avx256,
5911         bdver1_movss_movsd, bdver1_mmxssemov, bdver1_sselog_load_256,
5912         bdver1_sselog_256, bdver1_sselog_load, bdver1_sselog,
5913         bdver1_ssecmp_load, bdver1_ssecmp, bdver1_ssecomi_load,
5914         bdver1_ssecomi, bdver1_vcvtX2Y_avx256_load, bdver1_vcvtX2Y_avx256,
5915         bdver1_ssecvt_cvtss2sd_load, bdver1_ssecvt_cvtss2sd,
5916         bdver1_sseicvt_cvtsi2sd_load, bdver1_sseicvt_cvtsi2sd,
5917         bdver1_ssecvt_cvtpd2ps_load, bdver1_ssecvt_cvtpd2ps,
5918         bdver1_ssecvt_cvtdq2ps_load, bdver1_ssecvt_cvtdq2ps,
5919         bdver1_ssecvt_cvtdq2pd_load, bdver1_ssecvt_cvtdq2pd,
5920         bdver1_ssecvt_cvtps2pd_load, bdver1_ssecvt_cvtps2pd,
5921         bdver1_ssecvt_cvtsX2si_load, bdver1_ssecvt_cvtsX2si,
5922         bdver1_ssecvt_cvtpd2pi_load, bdver1_ssecvt_cvtpd2pi,
5923         bdver1_ssecvt_cvtpd2dq_load, bdver1_ssecvt_cvtpd2dq,
5924         bdver1_ssecvt_cvtps2pi_load, bdver1_ssecvt_cvtps2pi,
5925         bdver1_ssemuladd_load_256, bdver1_ssemuladd_256,
5926         bdver1_ssemuladd_load, bdver1_ssemuladd, bdver1_sseimul_load,
5927         bdver1_sseimul, bdver1_sseiadd_load, bdver1_sseiadd,
5928         bdver1_ssediv_double_load_256, bdver1_ssediv_double_256,
5929         bdver1_ssediv_single_load_256, bdver1_ssediv_single_256,
5930         bdver1_ssediv_double_load, bdver1_ssediv_double,
5931         bdver1_ssediv_single_load, bdver1_ssediv_single, bdver1_sseins):
5932         Add "bdver2" attribute.
5933
5934 2012-02-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5935
5936         * config/s390/s390.c (s390_option_override): Make -mhard-dfp the
5937         default if possible and not specified otherwise.
5938
5939 2012-02-21  Richard Guenther  <rguenther@suse.de>
5940
5941         PR middle-end/52314
5942         * gimplify.c (create_tmp_from_val): Use the main variant type
5943         for the type of the temporary we create.
5944
5945 2012-02-21  Richard Guenther  <rguenther@suse.de>
5946
5947         PR tree-optimization/52324
5948         * gimplify.c (gimplify_expr): When re-gimplifying expressions
5949         do not gimplify a MEM_REF address operand if it is already
5950         in suitable form.
5951
5952 2012-02-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5953
5954         * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace
5955         TARGET_HARD_FLOAT with TARGET_HARD_DFP.
5956
5957 2012-02-21  Richard Guenther  <rguenther@suse.de>
5958
5959         * tree-vect-stmts.c (vectorizable_load): Use pre-computed
5960         nested_in_vect_loop.
5961
5962 2012-02-21  Jakub Jelinek  <jakub@redhat.com>
5963
5964         PR tree-optimization/52318
5965         * gimple-fold.c (gimplify_and_update_call_from_tree): Add
5966         vdef also to non-pure/const call stmts in the sequence.
5967
5968 2012-02-20  David S. Miller  <davem@davemloft.net>
5969
5970         * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we
5971         don't use the "rd %pc" instruction on v9 for PIC register loads.
5972
5973 2012-02-20  Aldy Hernandez  <aldyh@redhat.com>
5974
5975         PR middle-end/52141
5976         * trans-mem.c (ipa_tm_scan_irr_block): Error out on GIMPLE_ASM's
5977         in a transaction safe function.
5978
5979 2012-02-20  Kai Tietz  <ktietz@redhat.com>
5980
5981         PR target/52238
5982         * stor-layout.c (place_field): Handle desired_align for
5983         ms-bitfields, too.
5984
5985 2012-02-20  Richard Guenther  <rguenther@suse.de>
5986
5987         PR tree-optimization/52298
5988         * tree-vect-stmts.c (vectorizable_store): Properly use
5989         STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
5990         outer loops.
5991         (vectorizable_load): Likewise.
5992         * tree-vect-data-refs.c (vect_analyze_data_ref_access):
5993         Access DR_STEP after ensuring it is not NULL.
5994
5995 2012-02-20  Jakub Jelinek  <jakub@redhat.com>
5996
5997         PR tree-optimization/52286
5998         * fold-const.c (fold_binary_loc): For (X & C1) | C2
5999         optimization use double_int_to_tree instead of build_int_cst_wide,
6000         rewrite to use double_int vars.
6001
6002 2012-02-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6003
6004         PR target/50166
6005         * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Require gcc_SUN_LD_VERSION.
6006         Define _start.
6007         Remove -e 0 from $gcc_cv_ld invocation.
6008         Only use __GLIBC_PREREQ if defined.
6009         Enable on Solaris since Solaris 8 patch.
6010         (gcc_SUN_LD_VERSION): New macro.
6011         * configure.ac (ld_ver) <*-*-solaris2*>: Refer to
6012         gcc_SUN_LD_VERSION for version number format.
6013         * configure: Regenerate.
6014         * varasm.c (get_elf_initfini_array_priority_section): Set
6015         SECTION_NOTYPE for non-default priority.
6016         Use get_section instead of get_unnamed_section to emit
6017         .init_array/.fini_array with default priority.
6018
6019 2012-02-19  Richard Sandiford  <rdsandiford@googlemail.com>
6020
6021         * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
6022         (mips_get_tp): Set it.  Record that __mips16_rdhwr binds locally.
6023         (mips_start_unique_function, mips_output_mips16_rdhwr)
6024         (mips_code_end): New functions.
6025         (TARGET_ASM_CODE_END): Define.
6026
6027 2012-02-19  Richard Sandiford  <rdsandiford@googlemail.com>
6028
6029         * config/mips/mips.c (mips16_build_call_stub): Add CFI information
6030         to stubs with non-sibling calls.
6031
6032 2012-02-18  Sandra Loosemore  <sandra@codesourcery.com>
6033
6034         * doc/invoke.texi (-fira-* options): Copy-edit.
6035         (ira-* parameters): Copy-edit.
6036
6037 2012-02-17  Sandra Loosemore  <sandra@codesourcery.com>
6038
6039         * doc/invoke.texi: Minor copy-edits to bring into conformance with
6040         GCC coding conventions.
6041
6042 2012-02-17  Sandra Loosemore  <sandra@codesourcery.com>
6043
6044         * doc/invoke.texi: Consistently hyphenate "big-endian"/"little-endian"
6045         when used as adjectives.
6046
6047 2012-02-16  Sandra Loosemore  <sandra@codesourcery.com>
6048
6049         * doc/invoke.texi: Clean up "that"/"which" confusion.
6050
6051 2012-02-17  Steven Bosscher  <steven@gcc.gnu.org>
6052
6053         * system.h: Poison SMALL_REGISTER_CLASSES
6054         * config/rl78/rl78.h: Replace SMALL_REGISTER_CLASSES with hook.
6055         * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES.
6056
6057 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
6058
6059         PR tree-optimization/52285
6060         * tree-tailcall.c (find_tail_calls): Ignore gimple_clobber_p stmts
6061         when deciding if a call is a tail call or tail recursion.
6062
6063 2012-02-16  Kai Tietz  <ktietz@redhat.com>
6064
6065         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
6066         interger-constant displacement for UNSPEC_PCREL.
6067
6068 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
6069
6070         PR rtl-optimization/52208
6071         * ira-costs.c (scan_one_insn): Don't decrease mem_cost
6072         for MEMs with REG_EQUIV, if the MEM isn't general_operand.
6073
6074         PR tree-optimization/52255
6075         * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): If
6076         loop->header has virtual PHI, but exit_e->dest doesn't, add
6077         virtual PHI to exit_e->dest and adjust all uses after the loop.
6078
6079         PR debug/52260
6080         * dwarf2out.c (copy_decls_walk): Fill in *slot before traversing
6081         children with clone_tree_hash, not after it.
6082
6083 2012-02-16  Iain Sandoe  <iains@gcc.gnu.org>
6084
6085         * config/darwin.h (ASM_OUTPUT_LABELREF): Add user label prefix for
6086         extended identifiers.
6087
6088 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
6089
6090         PR middle-end/51929
6091         * cgraphunit.c (verify_edge_corresponds_to_fndecl): If node is
6092         a same_body_alias, also test whether e->callee isn't a former
6093         or current clone of the decl this is a same body alias of.
6094
6095         PR translation/52264
6096         * cgraphunit.c (verify_cgraph_node): Fix a typo.
6097
6098 2012-02-15  Sandra Loosemore  <sandra@codesourcery.com>
6099
6100         * doc/invoke.texi: Clean up "n-bit/byte/word" modifiers.
6101
6102 2012-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
6103
6104         PR target/52199
6105         * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
6106         force_reg instead of copy_to_reg for better optimization.  Force
6107         non-register or memory operands into a register.
6108
6109 2012-02-15  Andrew MacLeod  <amacleod@redhat.com>
6110
6111         * extend.texi: Reserve upper bits of memory model for future use.
6112
6113 2012-01-15  Georg-Johann Lay  <avr@gjlay.de>
6114             Anatoly Sokolov <aesok@post.ru>
6115             Eric Weddington <eric.weddington@atmel.com>
6116
6117         PR target/52261
6118         * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2,
6119         avrxmega4, avrxmega5, avrxmega6, avrxmega7.
6120         Rewrite initializers for .macro.
6121         * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs:
6122         avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4
6123         atxmega32d4, atxmega32x1.
6124         avrxmega4: atxmega64a3, atxmega64d3.
6125         avrxmega5: atxmega64a1, atxmega64a1u.
6126         avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3,
6127         atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3.
6128         avrxmega7: atxmega128a1, atxmega128a1u.
6129         * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2,
6130         ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7.
6131         (struct base_arch_s): Rename reserved to xmega_p.
6132         Rename reserved2 to have_rampd.
6133         (AVR_XMEGA): New define.
6134         (AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines.
6135         (AVR_HAVE_RAMPZ): Change definition to fit xmega.
6136         * config/avr/predicates.md (io_address_operand): Take into
6137         account SFR offset.
6138         (low_io_address_operand): Ditto.
6139         (high_io_address_operand): Ditto.
6140         * config/avr/avr.md (isa): Add alternatives no_xmega, xmega.
6141         (enabled, movhi_sp_r): Use them.
6142         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use
6143         cpp_define_formatted to built-in define __AVR_ARCH__.
6144         (__AVR_XMEGA__): New built-in define.
6145         (__AVR_HAVE_RAMPD__): New built-in define.
6146         (__AVR_HAVE_RAMPX__): New built-in define.
6147         (__AVR_HAVE_RAMPY__): New built-in define.
6148         (__AVR_HAVE_RAMPZ__): Change condition when to built-in define it.
6149
6150         * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy.
6151         (avr_option_override): Initialize them.
6152         (sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx.
6153         (avr_init_expanders): Initialize them. No more block several calls.
6154         (emit_push_sfr): New static function.
6155         (avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed.
6156         Handle AVR_XMEGA.
6157         (expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed.
6158         (avr_print_operand): Print addreeses as symbols for
6159         RAMPX, RAMPY, RAMPD, CCP.
6160         (output_movhi): Handle AVR_XMEGA when writing to SP.
6161         (avr_out_movhi_mr_r_xmega): New static function.
6162         (out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA.
6163         (avr_file_start): Print symbol defines for __RAMPX__,  __RAMPY__,
6164         __RAMPD__,  __CCP__ as needed.
6165
6166         * config/avr/multilib.h: Regenerate.
6167         * config/avr/t-multilib: Regenerate.
6168         * config/avr/avr-tables.opt: Regenerate.
6169
6170 2012-02-15  Tobias Grosser <grosser@fim.uni-passau.de>
6171
6172         PR tree-optimization/50561
6173         * graphite-flattening.c (lst_project_loop): Do not
6174         remove old scattering dimensions after flattening.
6175         (lst_do_flatten): Likewise.
6176
6177 2012-02-15  Georg-Johann Lay  <avr@gjlay.de>
6178
6179         * doc/extend.texi (AVR Built-in Functions): Remove doc for
6180         __builtin_avr_map8, __builtin_avr_map16.
6181         Document __builtin_avr_insert_bits.
6182
6183         * config/avr/avr.md (map_bitsqi, map_bitshi): Remove.
6184         (insert_bits): New insn.
6185         (adjust_len.map_bits): Rename to insert_bits.
6186         (UNSPEC_MAP_BITS): Rename to UNSPEC_INSERT_BITS.
6187         * avr-protos.h (avr_out_map_bits): Remove.
6188         (avr_out_insert_bits, avr_has_nibble_0xf): New.
6189         * config/avr/constraints.md (Cxf,C0f): New.
6190         * config/avr/avr.c (avr_cpu_cpp_builtins): Remove built-in
6191         defines __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.
6192         New built-in define __BUILTIN_AVR_INSERT_BITS.
6193         * config/avr/avr.c (TARGET_FOLD_BUILTIN): New define.
6194         (enum avr_builtin_id): Add AVR_BUILTIN_INSERT_BITS.
6195         (avr_move_bits): Rewrite.
6196         (avr_fold_builtin, avr_map_metric, avr_map_decompose): New static
6197         functions.
6198         (avr_map_op_t): New typedef.
6199         (avr_map_op): New static variable.
6200         (avr_out_insert_bits, avr_has_nibble_0xf): New functions.
6201         (adjust_insn_length): Handle ADJUST_LEN_INSERT_BITS.
6202         (avr_init_builtins): Add definition for __builtin_avr_insert_bits.
6203         (bdesc_3arg, avr_expand_triop_builtin): New.
6204         (avr_expand_builtin): Use them. And handle AVR_BUILTIN_INSERT_BITS.
6205         (avr_revert_map, avr_swap_map, avr_id_map, avr_sig_map): Remove.
6206         (avr_map_hamming_byte, avr_map_hamming_nonstrict): Remove.
6207         (avr_map_equal_p, avr_map_sig_p): Remove.
6208         (avr_out_swap_bits, avr_out_revert_bits, avr_out_map_bits): Remove.
6209         (bdesc_2arg): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
6210         (adjust_insn_length): Remove handling for ADJUST_LEN_MAP_BITS.
6211         (enum avr_builtin_id): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
6212         (avr_init_builtins): Remove __builtin_avr_map8, __builtin_avr_map16.
6213         (avr_expand_builtin): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
6214
6215 2012-02-14  Bernd Schmidt  <bernds@codesourcery.com>
6216
6217         * config/c6x/c6x.md (reserve_cycles): New attribute.
6218         * config/c6x/c6x.c (c6x_sched_reorder_1): Ensure insns we predicate
6219         don't reserve functional units after the branch occurs.
6220
6221 2012-02-14  Aldy Hernandez  <aldyh@redhat.com>
6222
6223         PR middle-end/52142
6224         * ipa-inline.c (can_inline_edge_p): Do not inline tm_pure
6225         functions into non-tm_pure functions.
6226
6227 2012-02-14  Eric Botcazou  <ebotcazou@adacore.com>
6228
6229         PR lto/52178
6230         * gimple.c (iterative_hash_gimple_type): Use RECORD_OR_UNION_TYPE_P.
6231         (iterative_hash_canonical_type): Likewise.
6232         * tree-ssa-pre.c (fini_pre): Clean up the CFG only after purging all
6233         the dead edges.
6234
6235 2012-02-14  Bernd Schmidt  <bernds@codesourcery.com>
6236
6237         * haifa-sched.c (prune_ready_list): Ensure that if there is a
6238         sched-group insn, it either remains alone or the entire list is pruned.
6239
6240 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
6241
6242         * doc/install.texi (Prerequisites): Fix grammar.
6243         (Configuration): Likewise.
6244
6245 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
6246
6247         * doc/install.texi (Prerequisites): Suggest building GMP, MPFR and
6248         MPC as part of GCC before describing configuring with --with-gmp etc.
6249         (Installing GCC: Configuration): --with-gmp etc. aren't needed if
6250         sources are present.
6251
6252 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
6253
6254         PR debug/51950
6255         * dwarf2out.c (clone_tree_hash): New function.
6256         (copy_decls_walk): Use it instead of clone_tree.
6257
6258 2012-02-14  Richard Guenther  <rguenther@suse.de>
6259
6260         PR tree-optimization/52244
6261         PR tree-optimization/51528
6262         * tree-sra.c (analyze_access_subtree): Only create INTEGER_TYPE
6263         replacements for integral types.
6264
6265 2012-02-14  Walter Lee  <walt@tilera.com>
6266
6267         * config.gcc: Handle tilegx and tilepro.
6268         * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
6269         tilegx and tilepro.
6270         Add HAVE_AS_TLS check for tilegx and tilepro.
6271         * configure: Regenerate.
6272         * doc/contrib.texi: Add Mat Hostetter and self.
6273         * doc/extend.texi (TILE-Gx Built-in Functions): New node.
6274         Document instruction intrinsics and network accessing intrinsics.
6275         (TILEPro Built-in Functions): New node.  Document instruction
6276         intrinsics and network accessing intrinsics.
6277         * doc/install.texi (Specific, tilegx-*-linux*): Document it.
6278         (Specific, tilepro-*-linux*): Likewise.
6279         * doc/invoke.texi (TILE-Gx Options): New section.
6280         (TILEPro Options): New section.
6281         * doc/md.texi (TILE-Gx): New section.
6282         (TILEPro): New section.
6283         * common/config/tilegx/tilegx-common.c: New file.
6284         * common/config/tilepro/tilepro-common.c: New file.
6285         * config/tilegx/constraints.md: New file.
6286         * config/tilegx/linux.h: New file.
6287         * config/tilegx/mul-tables.c: New file.
6288         * config/tilegx/predicates.md: New file.
6289         * config/tilegx/sync.md: New file.
6290         * config/tilegx/t-tilegx: New file.
6291         * config/tilegx/tilegx-builtins.h: New file.
6292         * config/tilegx/tilegx-c.c: New file.
6293         * config/tilegx/tilegx-generic.md: New file.
6294         * config/tilegx/tilegx-modes.def: New file.
6295         * config/tilegx/tilegx-multiply.h: New file.
6296         * config/tilegx/tilegx-protos.h: New file.
6297         * config/tilegx/tilegx.c: New file.
6298         * config/tilegx/tilegx.h: New file.
6299         * config/tilegx/tilegx.md: New file.
6300         * config/tilegx/tilegx.opt: New file.
6301         * config/tilepro/constraints.md: New file.
6302         * config/tilepro/gen-mul-tables.cc: New file.
6303         * config/tilepro/linux.h: New file.
6304         * config/tilepro/mul-tables.c: New file.
6305         * config/tilepro/predicates.md: New file.
6306         * config/tilepro/t-tilepro: New file.
6307         * config/tilepro/tilepro-builtins.h: New file.
6308         * config/tilepro/tilepro-c.c: New file.
6309         * config/tilepro/tilepro-generic.md: New file.
6310         * config/tilepro/tilepro-modes.def: New file.
6311         * config/tilepro/tilepro-multiply.h: New file.
6312         * config/tilepro/tilepro-protos.h: New file.
6313         * config/tilepro/tilepro.c: New file.
6314         * config/tilepro/tilepro.h: New file.
6315         * config/tilepro/tilepro.md: New file.
6316         * config/tilepro/tilepro.opt: New file.
6317
6318 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
6319
6320         PR tree-optimization/52210
6321         * tree-vect-slp.c (vect_get_and_check_slp_defs): Call
6322         vect_model_simple_cost with two entry vect_def_type array instead
6323         of an address of dt.
6324
6325 2012-02-14  Richard Guenther  <rguenther@suse.de>
6326
6327         PR lto/52178
6328         * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
6329         Do not stream DECL_QUALIFIER.
6330         * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
6331         * tree.c (free_lang_data_in_decl): Free DECL_QUALIFIER.
6332         (find_decls_types_r): Do not walk DECL_QUALIFIER.
6333
6334 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
6335
6336         PR c/52181
6337         * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to
6338         newdecl.
6339
6340 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
6341
6342         PR bootstrap/52172
6343         * cselib.h (cselib_subst_to_values_from_insn): New prototype.
6344         * cselib.c (cselib_subst_to_values_from_insn): New function.
6345         * sched-deps.c (add_insn_mem_dependence,
6346         sched_analyze_1, sched_analyze_2): Use it.
6347
6348 2012-02-13  Jan Hubicka  <jh@suse.cz>
6349
6350         PR middle-end/52214
6351         * predict.c (predict_paths_for_bb): Fix thinko in prevoius patch.
6352
6353 2012-02-13  Eric Botcazou  <ebotcazou@adacore.com>
6354
6355         * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
6356         (GTM_SELF_SPECS): Define if not already defined.
6357         (driver_self_specs): Add GTM_SELF_SPECS.
6358         * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
6359         (GTM_SELF_SPECS): Define.
6360         * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
6361         * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
6362
6363 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
6364
6365         * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
6366         away if seen.
6367
6368         * cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL.
6369
6370         PR middle-end/52230
6371         * omp-low.c (expand_omp_for): If a static schedule without chunk size
6372         has NULL region->cont, force fd.chunk_size to be integer_zero_node.
6373
6374 2012-02-13  Andrew MacLeod  <amacleod@redhat.com>
6375
6376         PR c/52190
6377         * doc/extend.texi : Fix another __atomic_compare_exchange typo.
6378
6379 2012-02-13  Richard Guenther  <rguenther@suse.de>
6380
6381         PR translation/52211
6382         * passes.c (enable_disable_pass): Fix typo.
6383
6384 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
6385
6386         PR middle-end/52209
6387         * expr.c (expand_expr_real_2) <case BIT_NOT_EXPR>: Only expand using
6388         XOR for reduce_bit_field if type is unsigned.
6389
6390 2012-02-12  Eric Botcazou  <ebotcazou@adacore.com>
6391
6392         * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode,
6393         disallow changes from SFmode to mode with different size in FP regs.
6394
6395 2012-02-12  Robert Millan  <rmh@gnu.org>
6396             Gerald Pfeifer <gerald@pfeifer.com>
6397
6398         * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define.
6399         Tweak comment.
6400
6401 2012-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
6402
6403         PR rtl-optimization/52175
6404         * reorg.c (fill_slots_from_thread): Don't apply add/sub optimization
6405         to frame-related instructions.
6406
6407 2012-02-10  Jason Merrill  <jason@redhat.com>
6408
6409         PR c++/51910
6410         * tlink.c (demangled_hash_entry): Change mangled to a VEC.
6411         (demangle_new_symbols): Fill it.
6412         (scan_linker_output): Walk it.
6413         (start_tweaking): Split out from scan_linker_output.
6414         (maybe_tweak): Update sym->chosen.
6415         * Makefile.in (COLLECT2_OBJS): Add vec.o and gcc-none.o
6416
6417 2012-02-11  Jakub Jelinek  <jakub@redhat.com>
6418
6419         PR debug/52132
6420         * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg.
6421
6422 2012-02-11  Uros Bizjak  <ubizjak@gmail.com>
6423
6424         * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
6425         having the same mode as previous compare.
6426
6427 2012-02-10  Eric Botcazou  <ebotcazou@adacore.com>
6428
6429         * config/sparc/sparc.c (sparc_flat_expand_prologue): Use emit_use.
6430         * config/sparc/sparc.md (UNSPECV_GOTO): Delete.
6431         (nonlocal_goto_internal): Likewise.
6432         (nonlocal_goto): Emit a use and an indirect jump directly.
6433
6434 2012-02-10  Andrew MacLeod  <amacleod@redhat.com>
6435
6436         PR c/52190
6437         * doc/extend.texi : Update comments for __atomic_compare_exchange and
6438         __atomic_{is,always}_lock_free.
6439
6440 2012-02-10  Uros Bizjak  <ubizjak@gmail.com>
6441
6442         PR target/52146
6443         * config/i386/i386.c (ix86_legitimate_address_p): Disallow
6444         negative constant address for x32.
6445
6446 2012-02-10  Richard Henderson  <rth@redhat.com>
6447
6448         * tree-ssa-dce.c (propagate_necessity): Handle GIMPLE_TRANSACTION.
6449         * tree-ssa-operands.c (parse_ssa_operands): Add virtual operands
6450         for GIMPLE_TRANSACTION.  Tidy if's into a switch.
6451
6452 2012-02-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6453             Ira Rosen  <irar@il.ibm.com>
6454
6455         PR tree-optimization/50031
6456         * targhooks.c (default_builtin_vectorization_cost): Handle
6457         vec_promote_demote.
6458         * target.h (enum vect_cost_for_stmt): Add vec_promote_demote.
6459         * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle
6460         all types of reduction and pattern statements.
6461         (vect_estimate_min_profitable_iters): Likewise.
6462         * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function.
6463         (vect_get_load_cost): Use vec_perm for permutations; add dump logic
6464         for explicit realigns.
6465         (vectorizable_conversion): Call vect_model_promotion_demotion_cost.
6466         * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
6467         vec_promote_demote.
6468         * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
6469         * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
6470         vec_perm for VSX and handle vec_promote_demote.
6471
6472 2012-02-10  Jakub Jelinek  <jakub@redhat.com>
6473
6474         PR middle-end/52177
6475         * builtins.c (fold_builtin_atomic_always_lock_free,
6476         expand_builtin_atomic_always_lock_free,
6477         fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free):
6478         Return and/or test boolean_true_node/boolean_false_node instead of
6479         integer_one_node/integer_zero_node.
6480
6481 2012-02-10  Jan Hubicka  <jh@suse.cz>
6482
6483         PR middle-end/48600
6484         * predict.c (predict_paths_for_bb): Prevent looping.
6485         (predict_paths_leading_to_edge, predict_paths_leading_to): Update.
6486
6487 2012-02-10  Roman Zhuykov  <zhroma@ispras.ru>
6488
6489         * config/arm/arm.c (output_move_double): In one case properly
6490         count number of instructions that will be emitted.
6491
6492 2012-02-10  Richard Guenther  <rguenther@suse.de>
6493
6494         PR translation/52193
6495         * cgraphunit.c (cgraph_mark_functions_to_output): Fix typo.
6496
6497 2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
6498
6499         PR middle-end/52140
6500         * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
6501
6502 2012-02-09  Jakub Jelinek  <jakub@redhat.com>
6503
6504         PR debug/52165
6505         * var-tracking.c (emit_note_insn_var_location): If
6506         EMIT_NOTE_BEFORE_INSN and insn is NOTE_INSN_CALL_ARG_LOCATION,
6507         emit it before next non-NOTE_INSN_CALL_ARG_LOCATION
6508         non-NOTE_DURING_CALL_P insn.
6509
6510 2012-02-09  Bin Cheng  <bin.cheng@arm.com>
6511
6512         PR middle-end/51867
6513         * builtins.c (expand_builtin): Don't check DECL_ASSEMBLER_NAME_SET_P.
6514
6515 2012-02-08  Magnus Granberg  <zorry@gentoo.org>
6516
6517         PR driver/48524
6518         * gcc.c (switch_matches) Support switches with separated form,
6519         -D and -U.
6520
6521 2012-02-08  Georg-Johann Lay  <avr@gjlay.de>
6522
6523         * config/avr/avr.md (SREG_ADDR): Remove constant definition.
6524         (SP_ADDR): Ditto.
6525         (RAMPZ_ADDR): Ditto.
6526         * config/avr/avr.c (avr_addr_t): New typedef.
6527         (avr_addr): New struct to hold RAM address of SPL, SPH, RAMPZ, SREG.
6528         (avr_init_expanders): Initialize it.
6529         (expand_prologue): Use avr_addr instead of RAMPZ_ADDR, SP_ADDR,
6530         SREG_ADDR.
6531         (expand_epilogue): Ditto.
6532         (avr_print_operand): Ditto.
6533         (avr_file_start): Ditto.
6534         (avr_emit_movmemhi): Ditto.
6535
6536 2012-02-08  Richard Guenther  <rguenther@suse.de>
6537
6538         PR tree-optimization/46886
6539         * tree-flow.h (do_while_loop_p): Declare.
6540         * tree-ssa-loop-ch.c (do_while_loop_p): Export.
6541         * tree-parloops.c (parallelize_loops): Only parallelize do-while loops.
6542
6543 2012-02-08  Andrew MacLeod  <amacleod@redhat.com>
6544
6545         * optabs.c (expand_atomic_load): Do not assume compare_and_swap will
6546         always succeed for integers larger than a native word.
6547
6548 2012-02-08  Richard Guenther  <rguenther@suse.de>
6549
6550         PR rtl-optimization/52170
6551         * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to
6552         properly handle integer vector modes.
6553
6554 2012-02-08  Jakub Jelinek  <jakub@redhat.com>
6555
6556         PR gcov-profile/52150
6557         * coverage.c: Include target.h.
6558         (build_var): Call targetm.strip_name_encoding on the assembler name.
6559         Change one _ into . or $ if the target allows it.
6560         * Makefile.in (coverage.o): Depend on $(TARGET_H).
6561
6562         PR rtl-optimization/52139
6563         * cfgrtl.c (cfg_layout_merge_blocks): If BB_END
6564         is a BARRIER after emit_insn_after_noloc, move BB_END
6565         to the last non-BARRIER insn before it.
6566
6567 2012-02-07  Richard Sandiford  <rdsandiford@googlemail.com>
6568
6569         PR middle-end/24306
6570         * config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function.
6571         (mips_gimplify_va_arg_expr): Call it instead of
6572         std_gimplify_va_arg_expr.
6573
6574 2012-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
6575
6576         * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error
6577         message for -mno-pointers-to-nested-function.
6578
6579 2012-02-07  Eric Botcazou  <ebotcazou@adacore.com>
6580
6581         PR middle-end/51994
6582         * expr.c (get_inner_reference): If there is an offset, add a negative
6583         bit position to it (if any).
6584
6585 2012-02-07  Jakub Jelinek  <jakub@redhat.com>
6586
6587         PR rtl-optimization/52060
6588         * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables,
6589         copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already
6590         before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy
6591         and/or i0src_copy2 when needed.
6592
6593 2012-02-07  Jakub Jelinek  <jakub@redhat.com>
6594
6595         * gcc.c (main): Don't look for lto-wrapper or lto-wrapper
6596         or LTOPLUGINSONAME if have_c.
6597
6598         * config/freebsd-spec.h: Add comment about what macros can be defined
6599         in this header.
6600         (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): Don't define here.
6601         * config/freebsd.h (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): But
6602         here instead.
6603
6604 2012-02-07  Richard Guenther  <rguenther@suse.de>
6605
6606         * gimple-pretty-print.c (dump_gimple_phi): Avoid excessive
6607         newline in -alias dumps.
6608
6609 2012-02-07  Kai Tietz  <ktietz@redhat.com>
6610             Dave Korn  <dave.korn.cygwin@gmail.com>
6611
6612         PR target/40068
6613         * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
6614         Take care that typinfo gets dllexport-attribute.
6615
6616 2012-02-07  Jakub Jelinek  <jakub@redhat.com>
6617
6618         PR middle-end/52074
6619         * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
6620         if modifier < EXPAND_SUM call force_operand on the result.
6621
6622 2012-02-07  Joern Rennecke  <joern.rennecke@embecosm.com>
6623
6624         * config/epiphany/epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine,
6625         adding __forwarder_dst__ prefix if a forwarder_section attribute is
6626         present.
6627         (epiphany_function_type): Replace types for specific interrupts with
6628         EPIPHANY_FUNCTION_INTERRUPT.
6629         (EPIPHANY_INTERRUPT_P): Update.
6630         * config/epiphany/epiphany.c (epiphany_handle_forwarder_attribute):
6631         New static function.
6632         (epiphany_attribute_table) <interrupt>: min_len is 0, max_len is 9.
6633         <disinterrupt>: Affects type identity.
6634         (epiphany_handle_interrupt_attribute): Handle variable number of
6635         arguments.
6636         (epiphany_compute_function_type): Update for new
6637         epiphany_function_type definition.
6638         (epiphany_expand_prologue): Don't save (reg:DI GPR_0) for interrupt
6639         handlers with a longcall forwarder.
6640         (epiphany_start_function): Handle multiple interrupt arguments and/or
6641         forwarder_section attribute.
6642
6643         * config/epiphany/epiphany.h (LIB_SPEC): Link libc again after
6644         libgloss.
6645
6646 2012-02-07  Alan Modra  <amodra@gmail.com>
6647
6648         PR target/52107
6649         * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
6650         subregs of TFmode.
6651
6652 2012-02-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6653
6654         PR tree-optimization/50969
6655         * tree-vect-stmts.c (vect_model_store_cost): Correct statement cost to
6656         use vec_perm rather than vector_stmt.
6657         (vect_model_load_cost): Likewise.
6658         * config/i386/i386.c (ix86_builtin_vectorization_cost): Change cost of
6659         vec_perm to be the same as other vector statements.
6660         * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
6661         cost of vec_perm for TARGET_VSX.
6662
6663 2012-02-06  Richard Guenther  <rguenther@suse.de>
6664
6665         PR tree-optimization/52115
6666         * tree-sra.c (access_has_replacements_p): New function.
6667         (sra_modify_assign): Use it to decide whether a use is uninitialized.
6668
6669 2012-02-06  Patrick Marlier  <patrick.marlier@gmail.com>
6670
6671         PR middle-end/52047
6672         * trans-mem.c (expand_call_tm): Add an assertion.
6673         * calls.c (flags_from_decl_or_type): Add ECF_TM_PURE to 'no vops'
6674         functions.
6675
6676 2012-02-06  Richard Guenther  <rguenther@suse.de>
6677
6678         PR tree-optimization/50955
6679         * tree-ssa-loop-ivopts.c (get_computation_cost_at): Artificially
6680         raise cost of expressions that replace an address with an
6681         expression based on a different pointer.
6682
6683 2012-02-06  Jakub Jelinek  <jakub@redhat.com>
6684
6685         PR target/52129
6686         * calls.c (mem_overlaps_already_clobbered_arg_p): If val is
6687         CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it.
6688
6689 2012-02-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
6690
6691         PR c++/48680
6692         * doc/invoke.texi (C++ Dialect Options): Use @option markup for
6693         -Weffc++ and specify guidelines come from second edition.
6694
6695 2012-02-05  Richard Sandiford  <rdsandiford@googlemail.com>
6696
6697         * config/mips/mips.md (sibcall_internal, sibcall_value_internal)
6698         (sibcall_value_multiple_internal, call_split, call_internal_direct)
6699         (call_direct_split, call_value_split, call_value_internal_direct)
6700         (call_value_direct_split, call_value_multiple_split): Use jal and
6701         jal_macro attributes.
6702
6703 2012-02-05  Richard Sandiford  <rdsandiford@googlemail.com>
6704
6705         * reload1.c (reload_regs_reach_end_p): Replace with...
6706         (reload_reg_rtx_reaches_end_p): ...this function.
6707         (new_spill_reg_store): Update commentary.
6708         (emit_input_reload_insns): Don't clear new_spill_reg_store here.
6709         (emit_output_reload_insns): Check reload_reg_rtx_reaches_end_p
6710         before setting new_spill_reg_store.
6711         (emit_reload_insns): Use a separate loop to clear new_spill_reg_store.
6712         Use reload_reg_rtx_reaches_end_p instead of reload_regs_reach_end_p.
6713         Also use reload_reg_rtx_reaches_end_p when reading new_spill_reg_store
6714         for non-spill reload registers.
6715
6716 2012-02-05  Ira Rosen  <irar@il.ibm.com>
6717
6718         PR tree-optimization/52091
6719         * tree-vectorizer.h (vect_is_simple_use): Add an argument.
6720         (vect_is_simple_use_1): Likewise.
6721         * tree-vect-loop.c (vectorizable_reduction): Update calls
6722         to vect_is_simple_use_1 and vect_is_simple_use.
6723         (vectorizable_live_operation): Likewise.
6724         * tree-vect-patterns.c (widened_name_p,
6725         vect_recog_vector_vector_shift_pattern, check_bool_pattern): Likewise.
6726         * tree-vect-stmts.c (process_use, vect_get_vec_def_for_operand,
6727         vectorizable_call, vectorizable_conversion, vectorizable_assignment,
6728         vectorizable_shift,vectorizable_operation, vectorizable_store,
6729         vectorizable_load): Likewise.
6730         (vect_is_simple_cond): Add an argument, pass it to
6731         vect_is_simple_use_1.
6732         (vectorizable_condition): Update calls to vect_is_simple_cond,
6733         vect_is_simple_use.
6734         (vect_is_simple_use): Add an argument, the statement in which
6735         OPERAND is used.  Check that if OPERAND's def stmt is a double
6736         reduction phi node, the use is a phi node too.
6737         (vect_is_simple_use_1): Add an argument, pass it to
6738         vect_is_simple_use.
6739         * tree-vect-slp.c (vect_get_and_check_slp_defs): Update a call
6740         to vect_is_simple_use.
6741
6742 2012-02-04  Jakub Jelinek  <jakub@redhat.com>
6743
6744         PR rtl-optimization/52095
6745         * modulo-sched.c (dump_insn_locator): New function.
6746         (loop_canon_p, sms_schedule): Use it.
6747
6748         PR rtl-optimization/52113
6749         * lower-subreg.c (decompose_multiword_subregs): Call recog_memoized
6750         even for decomposable shift/zext insns.
6751
6752 2012-02-03  Jakub Jelinek  <jakub@redhat.com>
6753             Zdenek Dvorak  <ook@ucw.cz>
6754
6755         PR rtl-optimization/52092
6756         * loop-unswitch.c (unswitch_single_loop): Call copy_rtx_if_shared
6757         on get_iv_value result.
6758
6759 2012-02-02  Andrew Pinski  <apinski@cavium.com>
6760
6761         PR middle-end/47982
6762         PR middle-end/43967
6763         * doc/libgcc.texi (__udivmoddi4/__udivmodti4): Fix documentation typo.
6764
6765 2012-02-02  Jakub Jelinek  <jakub@redhat.com>
6766
6767         PR middle-end/48071
6768         * diagnostic.c (diagnostic_finish): Remove trailing newlines.
6769
6770 2012-02-02  Vladimir Makarov  <vmakarov@redhat.com>
6771
6772         PR rtl-optimization/49800
6773         * haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs.
6774         (sched_finish): Call regstat_free_n_sets_and_refs.
6775
6776 2012-02-02  Jia Liu  <proljc@gmail.com>
6777
6778         * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather
6779         than operand 2.
6780
6781 2012-02-02  Jan Hubicka  <jh@suse.cz>
6782             Tom de Vries  <tom@codesourcery.com>
6783
6784         PR middle-end/51998
6785         * cgraphunit.c (cgraph_analyze_function): Break cyclic aliases.
6786         * varpool.c (varpool_analyze_pending_decls): Likewise.
6787
6788 2012-02-02  Sumanth G <sumanth.gundapaneni@kpitcummins.com>
6789             Jayant R Sonar <jayant.sonar@kpitcummins.com>
6790
6791         * config.gcc: Add cr16-* support.
6792
6793         * doc/extend.texi: Document cr16 extensions.
6794         * doc/install.texi: Document cr16 install.
6795         * doc/invoke.texi: Document cr16 options.
6796         * doc/md.texi: Document cr16 constraints.
6797
6798         * common/config/cr16/cr16-common.c: New file.
6799         * config/cr16/cr16.c: New file.
6800         * config/cr16/cr16.h: New file.
6801         * config/cr16/cr16.md: New file.
6802         * config/cr16/cr16.opt: New file.
6803         * config/cr16/cr16-protos.h: New file.
6804         * config/cr16/predicates.md: New file.
6805         * config/cr16/constraints.md: New file.
6806         * config/cr16/t-cr16: New file.
6807
6808 2012-02-02  Jakub Jelinek  <jakub@redhat.com>
6809
6810         PR target/52086
6811         * config/i386/i386.md (*addqi_2 peephole with SImode addition): Check
6812         that operands[2] is either immediate, or q_regs_operand.
6813
6814         PR tree-optimization/52073
6815         * tree-vect-stmts.c (vect_mark_relevant): When checking uses of
6816         a pattern stmt for pattern uses, ignore uses outside of the loop.
6817
6818 2012-02-01  Georg-Johann Lay  <avr@gjlay.de>
6819
6820         * config/avr/avr.c: Resolve all AS1 and AS2 macros.
6821         * config/avr/avr.h (AS1, AS2, AS2C, AS3): Remove.
6822         (OUT_AS1, OUT_AS2): Remove.
6823
6824 2012-02-01  Georg-Johann Lay  <avr@gjlay.de>
6825
6826         PR rtl-optimization/51374
6827         * combine.c (can_combine_p): Don't allow volatile_refs_p insns
6828         to cross other volatile_refs_p insns.
6829
6830 2012-02-01  Richard Guenther  <rguenther@suse.de>
6831
6832         * doc/invoke.texi (fno-inline): Clarify documentation.
6833         (finline-small-functions): Likewise.
6834         (finline-functions): Likewise.
6835         * common.opt (finline): Adjust comment and documentation.
6836         (finline-small-functions): Clarify documentation.
6837         (finline-functions): Likewise.
6838         (finline-functions-called-once): Likewise.
6839
6840 2012-02-01  Tristan Gingold  <gingold@adacore.com>
6841
6842         * c-typeck.c (composite_type): Keep mode for pointers.
6843
6844 2012-01-31  Richard Sandiford  <rdsandiford@googlemail.com>
6845
6846         * function.h (regno_reg_rtx): Adjust comment.
6847         * reginfo.c (init_reg_modes_target): Only use the previous mode
6848         if it fits within one register.  Remove MIPS comment.
6849
6850 2012-01-31  Jakub Jelinek  <jakub@redhat.com>
6851
6852         PR bootstrap/52058
6853         * combine.c (do_SUBST_LINK, SUBST_LINK): Guard with #ifndef HAVE_cc0.
6854
6855 2012-01-31  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6856
6857         * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag
6858         to srak instruction.
6859
6860 2012-01-31  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
6861
6862         * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition.
6863
6864 2012-01-31  Jakub Jelinek  <jakub@redhat.com>
6865
6866         PR bootstrap/52041
6867         PR bootstrap/52039
6868         PR target/51974
6869         * ipa-prop.c (detect_type_change_1): Call ao_ref_init.
6870
6871 2012-01-31  Richard Guenther  <rguenther@suse.de>
6872
6873         PR tree-optimization/51528
6874         * tree-sra.c (sra_modify_assign): Avoid copy-in/out for aggregate
6875         assigns.
6876
6877 2012-01-31  Jakub Jelinek  <jakub@redhat.com>
6878
6879         PR bootstrap/52041
6880         PR bootstrap/52039
6881         PR target/51974
6882         * ree.c (add_removable_extension): Change def_map argument
6883         to unsigned *, store in def_map 1 + offset into *insn_list vector
6884         instead of pointers into the vector.
6885         (find_removable_extensions): Adjust caller.
6886
6887 2012-01-30  Georg-Johann Lay  <avr@gjlay.de>
6888
6889         * config/avr/avr.md: Resolve all AS1 and AS2 macros.
6890         Transform all "* quoted-c-code" to { c-code }.
6891         Remove redundant test for "optimize" in combine patterns.
6892         Move (include "avr-dimode.md") to end of file.
6893
6894 2012-01-30  Bin Cheng  <bin.cheng@arm.com>
6895
6896         PR target/51835
6897         * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
6898         for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
6899
6900 2012-01-30  Richard Guenther  <rguenther@suse.de>
6901
6902         PR tree-optimization/52028
6903         * tree-loop-distribution.c (ldist_gen): Properly update
6904         virtual SSA form.
6905
6906 2012-01-30  Jakub Jelinek  <jakub@redhat.com>
6907
6908         PR debug/52027
6909         * dwarf2out.c (dwarf2out_switch_text_section): Don't call
6910         set_cur_line_info_table if not emitting debug info.
6911
6912         PR tree-optimization/52046
6913         * tree-vect-patterns.c (check_bool_pattern): Give up if
6914         a comparison could throw.
6915
6916         PR debug/52048
6917         * tree-ssa-tail-merge.c (local_def): Ignore debug uses.
6918
6919 2012-01-30  Richard Guenther  <rguenther@suse.de>
6920
6921         PR tree-optimization/52045
6922         * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Update
6923         SSA form if cfgcleanup did anything.
6924
6925 2012-01-30  Richard Guenther  <rguenther@suse.de>
6926
6927         PR tree-optimization/52045
6928         * ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg
6929         before computing final todo.
6930
6931 2012-01-30  Richard Guenther  <rguenther@suse.de>
6932
6933         PR tree-optimization/51528
6934         * tree-sra.c (sra_modify_assign): Re-factor in preparation
6935         for PR51528 fix.
6936
6937 2012-01-30  Paolo Bonzini  <bonzini@gnu.org>
6938
6939         * df-problems.c (df_kill_notes): Check that the use refers
6940         to the note under examination.
6941
6942 2012-01-30  Eric Botcazou  <ebotcazou@adacore.com>
6943
6944         PR target/51920
6945         * config/sparc/sparc.c (vector_init_fpmerge): Remove INNER_MODE
6946         parameter and use short-lived pseudos.
6947         (vector_init_faligndata): Remove INNER_MODE parameter and use loop.
6948         (sparc_expand_vector_init): Const-ify local variables and adjust
6949         calls to above functions.
6950
6951 2012-01-30  Georg-Johann Lay  <avr@gjlay.de>
6952
6953         * config/avr/avr.c (out_movqi_mr_r): Fix length computation.
6954
6955 2012-01-29  Sandra Loosemore  <sandra@codesourcery.com>
6956
6957         * doc/invoke.texi: Make usage of "compile time" and
6958         "run time"/"runtime" consistent throughout the file.
6959
6960 2012-01-29  Uros Bizjak  <ubizjak@gmail.com>
6961
6962         * config/alpha/alpha.c (alpha_option_override): Default to
6963         full IEEE compliance mode for Go language.
6964
6965 2011-01-29  Tijl Coosemans  <tijl@coosemans.org>
6966
6967         * config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP]
6968         (LINK_SSP_SPEC): Define.
6969
6970 2012-01-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6971
6972         PR target/51871
6973         * config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export
6974         stubs.
6975
6976 2012-01-28  Sandra Loosemore  <sandra@codesourcery.com>
6977
6978         * doc/invoke.texi: Correct hyphenation of "floating point",
6979         "double precision", and related terminology throughout the file.
6980
6981 2012-01-28  Jakub Jelinek  <jakub@redhat.com>
6982
6983         PR target/52006
6984         * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
6985         arm_general_register_operand predicate for operand 2 instead of
6986         register_operand.
6987
6988 2012-01-27  Ian Lance Taylor  <iant@google.com>
6989
6990         PR go/47656
6991         * builtins.def (BUILT_IN_INIT_HEAP_TRAMPOLINE): Define.
6992         * builtins.c (expand_builtin_init_trampoline): Add onstack
6993         parameter.  Change caller.
6994         (expand_builtin): Handle BUILT_IN_INIT_HEAP_TRAMPOLINE.
6995         * tree.c (build_common_builtin_nodes): Declare
6996         __builtin_init_heap_trampoline.
6997
6998 2012-01-27  Georg-Johann Lay  <avr@gjlay.de>
6999
7000         * config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx,
7001         tmp_reg_rtx, zero_reg_rtx, all_regs_rtx, rampz_rtx): Make global.
7002         * config/avr/avr.c: Ditto.
7003         (avr_regnames): Remove because unused.
7004         * config/avr/avr.md (*cpse.ne): New peephole.
7005         (*cpse.eq): New peephole from former cpse peepholes.
7006
7007 2012-01-27  Michael Eager  <eager@eagercon.com>
7008
7009         * config/microblaze.c (microblaze_emit_compare): Correct
7010         test after pcmp instruction.
7011
7012 2012-01-27  Richard Guenther  <rguenther@suse.de>
7013
7014         PR tree-optimization/52020
7015         * tree-sra.c (sra_modify_assign): Do not transform clobbers.
7016
7017 2012-01-27  Richard Guenther  <rguenther@suse.de>
7018
7019         * ipa-pure-const.c (check_stmt): Clobbers do not make a
7020         function non-const/pure.
7021
7022 2012-01-27  Richard Guenther  <rguenther@suse.de>
7023
7024         PR tree-optimization/50444
7025         * tree-sra.c (build_ref_for_offset): Properly adjust the
7026         MEM_REF type for unaligned accesses.
7027
7028 2012-01-27  Richard Guenther  <rguenther@suse.de>
7029
7030         PR tree-optimization/50444
7031         * expr.c (mem_ref_refers_to_non_mem_p): New function.
7032         (expand_assignment): Use it.  Properly handle misaligned
7033         bases when expanding stores to component references.
7034         (expand_expr_real_1): Use mem_ref_refers_to_non_mem_p and
7035         refactor that case.
7036
7037 2012-01-27  Andrey Belevantsev  <abel@ispras.ru>
7038
7039         PR middle-end/51389
7040         * Makefile.in (tree-data-ref.o): Depend on $(PARAMS_H).
7041         * tree-data-ref.h (find_data_references_in_loop): Remove declaration.
7042         * tree-data-ref.c (find_data_references_in_loop): Make static.
7043         (compute_all_dependences): Change return type to bool.  Bail out
7044         for too many datarefs in a loop.  Move the hunk resetting the data
7045         dependences vector from ...
7046         (compute_data_dependences_for_loop): ... here.  Account for
7047         compute_all_dependences returning false.
7048         (compute_data_dependences_for_bb): Likewise.
7049         * params.def (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS): New param.
7050         * doc/invoke.texi (loop-max-datarefs-for-datadeps): Document it.
7051
7052 2012-01-27  Richard Guenther  <rguenther@suse.de>
7053
7054         PR middle-end/51959
7055         * expr.c (store_field): Use the alias-set of the scratch memory
7056         for storing to it.
7057
7058 2012-01-27  Tom de Vries  <tom@codesourcery.com>
7059
7060         PR tree-optimization/51990
7061         * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
7062         WITH_SIZE_EXPR.
7063         * tree-ssa-pre.c (create_component_ref_by_pieces_1): Same.
7064
7065 2012-01-27  Jakub Jelinek  <jakub@redhat.com>
7066
7067         PR debug/52001
7068         * var-tracking.c (reverse_op): Don't add any reverse operation
7069         if V already has any constant locations.
7070
7071 2012-01-27  Sandra Loosemore  <sandra@codesourcery.com>
7072
7073         * doc/invoke.texi: Correct usage of "command line" (noun)
7074         vs "command-line" (adjective) throughout.
7075
7076 2012-01-27  Sandra Loosemore  <sandra@codesourcery.com>
7077
7078         * doc/invoke.texi (Language Independent Options): Move
7079         -Wcoverage-mismatch blurb from here....
7080         (Warning Options): ...to here.
7081
7082 2012-01-27  Peter Bergner  <bergner@vnet.ibm.com>
7083
7084         * config/rs6000/rs6000.c (rs6000_option_override_internal):
7085         Set rs6000_always_hint to false for 476.
7086
7087 2012-01-27  Matthias Klose  <doko@ubuntu.com>
7088
7089         * gcc.c (add_sysrooted_prefix): Remove trailing dir separator from
7090           system root.
7091         * incpath.c (add_standard_paths): Likewise.
7092
7093 2012-01-27  Richard Henderson  <rth@redhat.com>
7094
7095         * config/m68k/m68k.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
7096         * config/m68k/sync.md (atomic_test_and_set): Rename from
7097         sync_test_and_setqi and adjust the operands.
7098         (atomic_test_and_set_1): Rename from sync_test_and_setqi_1
7099         and unconditionally enable.
7100
7101 2012-01-27  Richard Henderson  <rth@redhat.com>
7102
7103         * config/sparc/sparc.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
7104         * config/sparc/sync.md (atomic_test_and_set): Only handle QImode.
7105         (ldstub): Rename from ldstubqi.
7106         (ldstub<I24MODE>): Remove.
7107
7108 2012-01-27  Richard Henderson  <rth@redhat.com>
7109
7110         * target.def (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
7111         * c-cppbuiltin.c (cpp_atomic_builtins): Define
7112         __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
7113         * doc/tm.texi.in (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Add doc hook.
7114         * doc/tm.texi: Rebuild.
7115
7116 2012-01-27  Richard Henderson  <rth@redhat.com>
7117
7118         * optabs.c (gen_atomic_test_and_set): Remove default.
7119         (maybe_emit_atomic_test_and_set): Use maybe_expand_insn.
7120
7121 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
7122
7123         PR rtl-optimization/51978
7124         * ree.c (make_defs_and_copies_lists): Change set_pat type to const_rtx.
7125         (combine_reaching_defs): Likewise.
7126         (struct re_info): Remove.
7127         (add_removable_extension): Remove x and data arguments,
7128         add insn, insn_list and def_map.  Use the arguments directly
7129         instead of using struct re_info.
7130         (find_removable_extensions): Don't call add_removable_extension
7131         through note_stores, instead just call it with single_set
7132         result if non-NULL.
7133         (find_and_remove_re): Pass curr_cand->expr instead of
7134         PATTERN (curr_cand->insn) as set_pat argument to combine_reaching_defs.
7135
7136 2012-01-26  Michael Matz  <matz@suse.de>
7137
7138         PR tree-optimization/46590
7139         * cfgexpand.c: Revert last change (r183305).
7140         * gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple
7141         regs.
7142         * tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before
7143         checking for emptiness.
7144
7145 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
7146
7147         PR middle-end/51895
7148         * expr.c (expand_expr_real_1): Handle BLKmode MEM_REF of
7149         non-addressable non-BLKmode base correctly.
7150
7151 2012-01-26  Michael Matz  <matz@suse.de>
7152
7153         PR tree-optimization/48794
7154         * tree-eh.c (remove_unreachable_handlers_no_lp): Don't remove
7155         regions referenced from RESX/EH_DISPATCH.
7156
7157 2012-01-26  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7158
7159         * config/s390/s390.h: Make BRANCH_COST an option.
7160         * config/s390/s390.opt: New option -mbranch-cost.
7161
7162 2012-01-26  Richard Henderson  <rth@redhat.com>
7163
7164         Revert 2012-01-24 change:
7165         * trans-mem.c (requires_barrier): Do not instrument thread local
7166         variables and emit save/restore for them.
7167
7168 2012-01-25  Jakub Jelinek  <jakub@redhat.com>
7169
7170         PR middle-end/51986
7171         * sched-deps.c (sched_get_condition_with_rev_uncached): Don't test
7172         for pat == 0.
7173
7174 2012-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
7175
7176         * config/mips/mips.c (mips_small_data_pattern_1): Don't process
7177         ASM_OPERANDS.
7178
7179 2012-01-25  Georg-Johann Lay  <avr@gjlay.de>
7180
7181         PR target/49868
7182         Rename __pgm to __flash.
7183         Rename __pgm1 to __flash1.
7184         Rename __pgm2 to __flash2.
7185         Rename __pgm3 to __flash3.
7186         Rename __pgm4 to __flash4.
7187         Rename __pgm5 to __flash5.
7188         Rename __pgmx to __memx.
7189         * doc/extend.texi (AVR Named Address Spaces)
7190         Rename address space names as indicated above.
7191         * config/avr/avr.c (avr_addrspace): Ditto.
7192
7193         * config/avr/avr-protos.h
7194         (avr_mem_pgmx_p): Rename to avr_mem_memx_p.
7195         (avr_mem_pgm_p): Rename to avr_mem_flash_p.
7196         * config/avr/predicates.md: Ditto.
7197         * config/avr/avr.c Ditto, and
7198         (avr_decl_pgmx_p): Rename to avr_decl_memx_p.
7199         (avr_decl_pgm_p): Rename to avr_decl_flash_p.
7200
7201         * config/avr/avr.h (ADDR_SPACE_PGM): Rename to ADDR_SPACE_FLASH.
7202         (ADDR_SPACE_PGM1): Rename to ADDR_SPACE_FLASH1.
7203         (ADDR_SPACE_PGM2): Rename to ADDR_SPACE_FLASH2.
7204         (ADDR_SPACE_PGM3): Rename to ADDR_SPACE_FLASH3.
7205         (ADDR_SPACE_PGM4): Rename to ADDR_SPACE_FLASH4.
7206         (ADDR_SPACE_PGM5): Rename to ADDR_SPACE_FLASH5.
7207         (ADDR_SPACE_PGMX): Rename to ADDR_SPACE_MEMX.
7208         * config/avr/avr.c: Ditto.
7209         * config/avr/avr.md: Ditto.
7210
7211 2012-01-25  Jason Merrill  <jason@redhat.com>
7212
7213         PR c++/51992
7214         * tree.c (find_decls_types_in_node): Walk gimple_call_fntype.
7215
7216 2012-01-25  Jakub Jelinek  <jakub@redhat.com>
7217
7218         PR tree-optimization/51987
7219         * tree-data-ref.c (get_references_in_stmt): Handle references in
7220         non-volatile GIMPLE_ASM.
7221
7222 2012-01-25  Richard Guenther  <rguenther@suse.de>
7223
7224         * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both
7225         bases are dereferenced.
7226
7227 2012-01-25  Andrey Belevantsev  <abel@ispras.ru>
7228
7229         PR rtl-optimization/48374
7230         * sel-sched-ir.h (get_all_loop_exits): Check for zero successors.
7231
7232 2012-01-25  Andrey Belevantsev  <abel@ispras.ru>
7233
7234         * tree-predcom.c (tree_predictive_commoning_loop): Bail out when
7235         compute_data_dependences_for_loop returns false.
7236         * tree-parloops.c (loop_parallel_p): Likewise.
7237
7238 2012-01-25  Richard Guenther  <rguenther@suse.de>
7239
7240         * tree.h (get_pointer_alignment_1): Declare.
7241         * builtins.c (get_pointer_alignment_1): New function.
7242         (get_pointer_alignment): Use it.
7243
7244 2012-01-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
7245
7246         PR rtl-optimization/48308
7247         * combine.c (enum undo_kind): Add UNDO_LINKS.
7248         (struct undo): Add member l to other_contents and where.
7249         (do_SUBST_LINK): New.
7250         (SUBST_LINK): New.
7251         (try_combine): Handle LOG_LINKS for the dummy i1 case.
7252         (undo_all): Handle UNDO_LINKS.
7253
7254 2012-01-25  Richard Henderson  <rth@redhat.com>
7255
7256         * optabs.c (maybe_emit_atomic_test_and_set): Allow non-QImode
7257         mem inputs.
7258
7259 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
7260
7261         * optabs.c (gen_atomic_test_and_set): Use each argument.
7262
7263 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
7264
7265         * config/mips/mips-ps-3d.md (mips_addr_ps, reduc_splus_v2sf)
7266         (mips_cvt_pw_ps, mips_cvt_ps_pw, mips_mulr_ps, mips_cabs_cond_<fmt>)
7267         (mips_cabs_cond_4s, mips_cabs_cond_ps, bc1any4t, bc1any4f, bc1any2t)
7268         (bc1any2f, mips_rsqrt1_<fmt>, mips_rsqrt2_<fmt>, mips_recip1_<fmt>)
7269         (mips_recip2_<fmt>): Require TARGET_MIPS3D rather than
7270         TARGET_PAIRED_SINGLE_FLOAT.
7271
7272 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
7273
7274         * doc/rtl.texi (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
7275         (in_struct, return_val): Remove MEM documentation.
7276         * rtl.h (rtx_def): Remove MEM meanings from in_struct and return_val.
7277         (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
7278         (MEM_COPY_ATTRIBUTES): Remove references to MEM_IN_STRUCT_P
7279         and MEM_SCALAR.
7280         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
7281         * cfgexpand.c (add_alias_set_conflicts): Likewise.
7282         * expr.c (store_field): Likewise.
7283         * function.c (assign_stack_temp_for_type): Likewise.
7284         * ifcvt.c (noce_try_cmove_arith): Likewise.
7285         * reload1.c (reload): Likewise.
7286         * config/alpha/alpha.c (alpha_set_memflags_1): Likewise.
7287         (alpha_set_memflags): Likewise.
7288         * config/m32c/m32c.c (m32c_immd_dbl_mov): Nullify.
7289
7290 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
7291
7292         * rtl.h (true_dependence, canon_true_dependence): Remove varies
7293         parameter.
7294         * alias.c (fixed_scalar_and_varying_struct_p): Delete.
7295         (true_dependence_1, write_dependence_p, may_alias_p): Don't call it.
7296         (true_dependence_1, true_dependence, canon_true_dependence): Remove
7297         varies parameter.
7298         * cselib.c (cselib_rtx_varies_p): Delete.
7299         (cselib_invalidate_mem): Update call to canon_true_dependence.
7300         * dse.c (record_store, check_mem_read_rtx): Likewise.
7301         (scan_reads_nospill): Likewise.
7302         * cse.c (check_dependence): Likewise.
7303         (cse_rtx_varies_p): Delete.
7304         * expr.c (safe_from_p): Update call to true_dependence.
7305         * ira.c (validate_equiv_mem_from_store): Likewise.
7306         (memref_referenced_p): Likewise.
7307         * postreload-gcse.c (find_mem_conflicts): Likewise.
7308         * sched-deps.c (sched_analyze_2): Likewise.
7309         * store-motion.c (load_kills_store): Likewise.
7310         * config/frv/frv.c (frv_registers_conflict_p_1): Likewise.
7311         * gcse.c (mems_conflict_for_gcse_p): Likewise.
7312         (compute_transp): Update call to canon_true_dependence.
7313
7314 2012-01-25  Richard Henderson  <rth@redhat.com>
7315
7316         * optabs.c (CODE_FOR_atomic_test_and_set): Provide default.
7317         (maybe_emit_atomic_test_and_set): New.
7318         (expand_sync_lock_test_and_set): Use it.
7319         (expand_atomic_test_and_set): Likewise.
7320         * doc/extend.texi (__atomic_test_and_set): Adjust the docs to match
7321         the implementation; clarify implementation defined details.
7322         * doc/md.texi (atomic_test_and_set): Document.
7323
7324 2012-01-25  Richard Henderson  <rth@redhat.com>
7325
7326         * config/sparc/predicates.md (zero_or_v7_operand): Use match_code.
7327
7328 2012-01-25  Richard Henderson  <rth@redhat.com>
7329
7330         PR target/51968
7331         * config/arm/arm.c (neon_split_vcombine): Emit deleted note
7332         to effect no-op split.
7333
7334 2012-01-24  Aldy Hernandez  <aldyh@redhat.com>
7335
7336         PR lto/51698
7337         * builtin-types.def: (BT_CONST_DOUBLE_PTR): New.
7338         (BT_FN_VOID_PTR_CONST_PTR_SIZE): New.
7339         (BT_FN_VOID_PTR_INT_SIZE): New.
7340         (BT_FN_UINT_UINT_VAR): Remove.
7341         (BT_FN_UINT32_UINT32_VAR): New.
7342         (BT_FN_DOUBLE_VPTR): Remove.
7343         (BT_FN_DOUBLE_CONST_DOUBLE_PTR): New.
7344
7345         * gtm-builtins.def (_ITM_abortTransaction): Set return type to void.
7346         (_ITM_changeTransactionMode): Same.
7347         (_ITM_memmoveRtWt): Change return type to void.
7348         (_ITM_memcpyRtWt): Same.
7349         (_ITM_memsetW): Same.
7350         (_ITM_RaRD): Change types to double.
7351         (_ITM_RD): Same.
7352         (_ITM_RaWD): Same.
7353         (_ITM_RfWD): Same.
7354
7355         * builtins.def (DEF_TM_BUILTIN): Set BOTH_P to true.
7356
7357 2012-01-24  Aldy Hernandez  <aldyh@redhat.com>
7358             Patrick Marlier  <patrick.marlier@gmail.com>
7359
7360         * trans-mem.c (requires_barrier): Do not instrument thread local
7361         variables and emit save/restore for them.
7362
7363 2012-01-24  Jason Merrill  <jason@redhat.com>
7364
7365         PR c++/51812
7366         * cgraphunit.c (cgraph_decide_is_function_needed): Don't always
7367         output static aliases.
7368
7369 2012-01-24  Jakub Jelinek  <jakub@redhat.com>
7370
7371         PR driver/47249
7372         * common.opt (-pie, -shared, pie, shared): Change from Common to
7373         Driver.
7374         * gcc.c (display_help): Display help for -pie and -shared.
7375
7376 2012-01-24  Georg-Johann Lay  <avr@gjlay.de>
7377
7378         PR target/49868
7379         * doc/extend.texi (AVR Named Address Spaces): Move sample code up.
7380         Remove note on size/offset limitation.
7381         (AVR Variable Attributes): Add example how to read data located
7382         with progmem.  Refer to named address spaces.
7383         * doc/invoke.texi (AVR Options): Fix typo.
7384
7385 2012-01-24  Richard Guenther  <rguenther@suse.de>
7386
7387         Forward-port to trunk
7388         2010-09-21  Jakub Jelinek  <jakub@redhat.com>
7389
7390         PR middle-end/45678
7391         * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
7392         op0 isn't sufficiently aligned and there is movmisalignM
7393         insn for mode, use it to load op0 into a temporary register.
7394
7395 2012-01-24  Jakub Jelinek  <jakub@redhat.com>
7396
7397         PR target/51957
7398         * target.def (const_not_ok_for_debug_p): New hook.
7399         * doc/tm.texi.in (TARGET_CONST_NOT_OK_FOR_DEBUG_P): New hook
7400         documentation.
7401         * doc/tm.texi: Regenerated.
7402         * dwarf2out.c (const_ok_for_output_1): If
7403         targetm.const_not_ok_for_debug_p returns true, fail.
7404         * config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): New
7405         function.
7406         (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.
7407
7408 2012-01-23  Kai Tietz  <ktietz@redhat.com>
7409
7410         PR target/51900
7411         * config/i386/predicates.md (symbolic_operand): Allow
7412         UNSPEC_PCREL as PIC expression for lea.
7413         * config/i386/winnt.c (i386_pe_binds_local_p): Reworked.
7414         * config/i386/i386.c (ix86_delegitimize_address): Handle
7415         UNSPEC_PCREL for none-MEM, too.
7416
7417 2012-01-23  Aldy Hernandez  <aldyh@redhat.com>
7418
7419         * trans-mem.c (ipa_tm_create_version): Set externally_visible.
7420         (ipa_tm_create_version_alias): Same.
7421
7422 2012-01-23  Uros Bizjak  <ubizjak@gmail.com>
7423
7424         PR libitm/51830
7425         * builtin-types.def (BT_FN_UINT_UINT_VAR): New.
7426         * gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR.
7427
7428 2012-01-23  Aldy Hernandez  <aldyh@redhat.com>
7429             Patrick Marlier  <patrick.marlier@gmail.com>
7430             Iain Sandoe  <developer@sandoe-acoustics.co.uk>
7431
7432         PR lto/51916
7433         * lto-wrapper.c (run_gcc): Pass the LTO section name to
7434         simple_object_start_read.
7435
7436 2012-01-23  Richard Guenther  <rguenther@suse.de>
7437
7438
7439         PR tree-optimization/51895
7440         * tree-sra.c (decide_one_param_reduction): Avoid sub-optimal
7441         parameter decomposition into BLKmode components.
7442
7443 2012-01-23  Eric Botcazou  <ebotcazou@adacore.com>
7444
7445         * tree-ssa-structalias.c (intra_create_variable_infos): Do not create
7446         fake variables for restrict-qualified pointers whose pointed-to type
7447         contains a placeholder.
7448
7449 2012-01-23  Richard Guenther  <rguenther@suse.de>
7450
7451         PR tree-optimization/51949
7452         * ipa-split.c (execute_split_functions): Do not split malloc functions.
7453
7454 2012-01-23  Jakub Jelinek  <jakub@redhat.com>
7455
7456         PR rtl-optimization/51933
7457         * ree.c (transform_ifelse): Return true right away if dstreg is
7458         already wider or equal to cand->mode.
7459         (enum ext_modified_kind, struct ext_modified, ext_state): New types.
7460         (make_defs_and_copies_lists): Remove defs_list and copies_list
7461         arguments, add state argument, just truncate state->work_list
7462         instead of always allocating and freeing the vector.  Assert that
7463         get_defs succeeds instead of returning 2.  Changed return type to bool.
7464         (merge_def_and_ext): Add state argument.  If SET_DEST doesn't
7465         have ext_src_mode, see if it has been modified already with the
7466         right kind of extension and has been extended before from the
7467         ext_src_mode.  If SET_DEST is already wider or equal to cand->mode,
7468         just return true.  Remember the original mode in state->modified array.
7469         (combine_reaching_defs): Add state argument.  Don't allocate and
7470         free here def_list, copied_list and vec vectors, instead just
7471         VEC_truncate the vectors in *state.  Don't handle outcome == 2 here.
7472         (find_and_remove_re): Set DF_DEFER_INSN_RESCAN df flag.
7473         Add state variable, clear vectors in it, initialize state.modified
7474         if needed.  Free all the vectors at the end and state.modified too.
7475         Don't skip a candidate if the extension expression has been modified.
7476
7477 2012-01-22  Douglas B Rupp  <rupp@gnat.com>
7478
7479         PR target/47096
7480         * config.gcc: (i[34567]86-*-interix3*): Remove from obsolete
7481          configurations. Change triplet to i[34567]86-*-interix[3-9]*.
7482         (extra_options) interix.opt -> i386/interix.opt"
7483         (extra_objs):Add winnt-stubs.o
7484         * configure.ac: Add interix to target_os .comm on PE check.
7485         * configure: Regenerate.
7486         * config/interix3.h: Delete and move bits to..
7487         * config/interix.h: Delete and move bits to..
7488         * config/i386/i386-interix3.h: Delete and move bits to..
7489         * config/i386/i386-interix.h: ..here.
7490         (TARGET_CPU_DEFAULT): Remove redefinition.
7491         (TARGET_ASM_CONSTRUCTOR): Undefine.
7492         (SUBTARGET_SWITCHES): Define for ms-bitfields.
7493         (TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec.
7494         (PTRDIFF_TYPE): Define.
7495         (LONG_DOUBLE_TYPE_SIZE): Define.
7496         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
7497         (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7498         (TARGET_SECTION_TYPE_FLAGS): Define.
7499         (ASM_DECLARE_FUNCTION_NAME): Define.
7500         (ASM_OUTPUT_EXTERNAL): Define.
7501         (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
7502         (ASM_OUTPUT_ALIGNED_BSS): Define.
7503         (PCC_BITFIELD_TYPE_MATTERS): Define.
7504         (USE_CONST_SECTION): Define.
7505         (SUBTARGET_ENCODE_SECTION_INFO): Remove.
7506         (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
7507         (SUPPORTS_ONE_ONLY): Remove.
7508         (I386_PE_STRIP_ENCODING): Define.
7509         * config/interix.opt: Delete and move bits to..
7510         * config/i386/interix.opt: ..here. New.
7511         (mpe-aligned-commons): Add.
7512         * config/i386/t-interix: Add copyright header.
7513         (winnt-stubs.o): Add rule.
7514
7515 2012-01-22  Jason Merrill  <jason@redhat.com>
7516
7517         PR c++/51832
7518         * varpool.c (varpool_analyze_pending_decls): Copy DECL_EXTERNAL
7519         for extra name aliases.
7520
7521 2012-01-22  Eric Botcazou  <ebotcazou@adacore.com>
7522
7523         PR rtl-optimization/51924
7524         * ree.c (combine_set_extension): Improve debugging message.
7525         (combine_reaching_defs): Likewise.
7526         (get_defs): Rename confusingly named variable.
7527         (find_and_remove_re): Skip a candidate if the extension expression has
7528         been modified.
7529
7530 2012-01-21  Robert Millan  <rmh@gnu.org>
7531             Gerald Pfeifer  <gerald@pfeifer.com>
7532
7533         * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKERX32): New macro.
7534         (GNU_USER_DYNAMIC_LINKER): Adjust indentation.
7535
7536 2012-01-20  Jakub Jelinek  <jakub@redhat.com>
7537
7538         PR tree-optimization/51914
7539         * tree-vect-stmts.c (vectorizable_conversion): For
7540         cvt_type && modifier == WIDEN, put temporary with cvt_type
7541         at the beginning of vec_dsts and set vec_dest to temporary
7542         with vectype_out.
7543
7544 2012-01-20  Eric Botcazou  <ebotcazou@adacore.com>
7545
7546         * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK.
7547
7548 2011-01-20  Tijl Coosemans  <tijl@coosemans.org>
7549
7550         * config/i386/i386.c: Fix checks for !TARGET_MACHO.
7551         * config/rs6000/rs6000.c: Likewise.
7552
7553 2012-01-20  Jakub Jelinek  <jakub@redhat.com>
7554
7555         PR target/51915
7556         * config/arm/arm.c (arm_count_output_move_double_insns): Call
7557         output_move_double on a copy of operands array.
7558
7559 2012-01-20  Cary Coutant  <ccoutant@google.com>
7560             Dodji Seketeli  <dodji@redhat.com>
7561
7562         PR debug/45682
7563         * dwarf2out.c (copy_declaration_context): Return ref to parent
7564         of declaration DIE, if necessary.
7565         (remove_child_or_replace_with_skeleton): Add new parameter; update
7566         caller.  Place skeleton DIE under parent DIE of original declaration.
7567         Move call to copy_declaration_context to here ...
7568         (break_out_comdat_types): ... from here.
7569
7570 2012-01-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7571
7572         PR rtl-optimization/51856
7573         * reload.c (find_reloads_subreg_address): Set the address_reloaded
7574         flag to reloaded.
7575
7576 2012-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
7577
7578         PR target/51819
7579         * config/arm/arm.c (arm_print_operand): Correct output of alignment
7580         hints for neon loads and stores.
7581
7582 2012-01-20  Georg-Johann Lay  <avr@gjlay.de>
7583
7584         PR target/49868
7585         PR target/50887
7586         * doc/extend.texi (Named Address Spaces): Split into subsections.
7587         (AVR Named Address Spaces): New subsection.
7588         (M32C Named Address Spaces): New subsection.
7589         (RL78 Named Address Spaces): New subsection.
7590         (SPU Named Address Spaces): New subsection.
7591         (Variable Attributes): New anchor "AVR Variable Attributes".
7592         (AVR Variable Attributes): Rewrite and avoid wording
7593         "address space" in this context.
7594         * doc/invoke.texi (AVR Options): Rewrite and add documentation
7595         for -maccumulate-args, -mbranch-cost=, -mrelax, -mshort-calls.
7596         (AVR Built-in Macros): New subsubsection therein.
7597         * doc/md.texi (AVR constraints): Remove "C04", "R".
7598
7599 2012-01-20  Richard Guenther  <rguenther@suse.de>
7600
7601         PR tree-optimization/51903
7602         * tree-ssa-pre.c (eliminate): Properly purging of EH edges
7603         when removing stmts.
7604
7605 2012-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
7606
7607         PR target/50313
7608         * config/arm/arm.c (arm_load_pic_register): Use
7609         gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit
7610         , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four.
7611         (arm_pic_static_addr): Likewise.
7612         (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED.
7613         (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED.
7614         * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define.
7615         (pic_load_addr_unified): New.
7616
7617 2012-01-20  Andrey Belevantsev  <abel@ispras.ru>
7618
7619         PR target/51106
7620         * function.c (instantiate_virtual_regs_in_insn): Use
7621         delete_insn_and_edges when removing a wrong asm insn.
7622
7623 2012-01-19  Vladimir Makarov  <vmakarov@redhat.com>
7624
7625         PR rtl-optimization/40761
7626         * ira-int.h (struct ira_loop_tree_node): Add comment for member loop.
7627         Add new member loop_num.
7628         (IRA_LOOP_NODE_BY_INDEX): Modify the check.
7629         (ira_build): Remove the parameter.
7630
7631         * ira.c (ira_print_disposition): Use loop_num instead of loop->num.
7632         (ira.c): Do not build CFG loops for one region allocation.  Remove
7633         argument from ira_build call.
7634
7635         * ira-build.c (init_loop_tree_node): New function.
7636         (create_loop_tree_nodes): Use it.  Separate the case when CFG
7637         loops are not built.
7638         (more_one_region_p): Check current_loops.
7639         (finish_loop_tree_nodes): Separate the case when CFG loops are not
7640         built.
7641         (add_loop_to_tree): Process loop equal to NULL too.
7642         (form_loop_tree): Separate the case when CFG loops are not built.
7643         Use explicitly number for the root.
7644         (rebuild_regno_allocno_maps, create_loop_tree_node_allocnos): Add
7645         an assertion.
7646         (ira_print_expanded_allocno, loop_compare_func): Use loop_num
7647         instead of loop->num.
7648         (mark_loops_for_removal): Ditto.  Use loop_num instead of loop->num.
7649         (mark_all_loops_for_removal): Ditto.
7650         (remove_unnecessary_regions): Separate the case when CFG loops
7651         are not built.
7652         (ira_build): Remove the parameter.  Use explicit number of regions
7653         when CFG loops are not built.
7654
7655         * ira-color.c (print_loop_title): Separate the case for the root node.
7656         Use loop_num instead of loop->num.
7657         (move_spill_restore): Use loop_num instead of loop->num.
7658
7659         * ira-emit.c (setup_entered_from_non_parent_p): Add an assertion.
7660         (change_loop): Ditto.
7661         (change_loop): Use loop_num instead of loop->num.
7662
7663         * ira-lives.c (process_bb_node_lives): Ditto.
7664
7665         * ira-costs.c (print_allocno_costs, find_costs_and_classes): Ditto.
7666
7667         * ira-conflicts.c (print_allocno_conflicts): Ditto.
7668
7669 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
7670
7671         PR libmudflap/40778
7672         * tree-mudflap.c (mf_artificial): New function.
7673         (execute_mudflap_function_ops, execute_mudflap_function_decls,
7674         mx_register_decls, mudflap_enqueue_decl): Use it.
7675
7676         PR target/51876
7677         * config/arm/neon.md (*neon_vswp<mode>): Fix up operand
7678         numbers in the insn pattern.
7679
7680 2012-01-19  Michael Matz  <matz@suse.de>
7681
7682         PR tree-optimization/46590
7683         * cfgexpand.c (add_scope_conflicts_1): New old_conflicts argument,
7684         use it in remembering which conflicts we already created.
7685         (add_scope_conflicts): Adjust call to above, (de)allocate helper
7686         bitmap.
7687
7688 2012-01-19  Aldy Hernandez  <aldyh@redhat.com>
7689
7690         PR lto/51280
7691         * lto-wrapper.c (run_gcc): Pass -fgnu_tm on.
7692         (merge_and_complain): Same.
7693
7694 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
7695
7696         PR bootstrap/50237
7697         * config/initfini-array.h: Guard content of the header
7698         with #ifdef HAVE_INITFINI_ARRAY.
7699         * configure.ac: Move gcc_AC_INITFINI_ARRAY much later into the file.
7700         Add initfini-array.h to tm_file here.
7701         * acinclude.m4 (gcc_AC_INITFINI_ARRAY): For non-ia64 do a linker test.
7702         * config.gcc: Don't add initfini-array.h to tm_file here.
7703         * configure: Regenerated.
7704
7705 2012-01-19  Andrey Belevantsev  <abel@ispras.ru>
7706
7707         PR rtl-optimization/51505
7708         * df-problems.c (df_kill_notes): New parameter live. Update comment.
7709         Remove REG_EQUAL/REG_EQUIV notes referring to dead registers.
7710         (df_note_bb_compute): Update the call to df_kill_notes.
7711
7712 2012-01-18  Aldy Hernandez  <aldyh@redhat.com>
7713
7714         * trans-mem.c (requires_barrier): Remove call to is_global_var.
7715
7716 2012-01-18  Richard Guenther  <rguenther@suse.de>
7717
7718         * tree-ssa.c (useless_type_conversion_p): Remove special-casing
7719         of conversions to void *.
7720
7721 2012-01-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7722             Richard Sandiford  <rdsandiford@googlemail.com>
7723
7724         PR middle-end/50325
7725         PR middle-end/51192
7726         * optabs.h (simplify_expand_binop): Declare.
7727         * optabs.c (simplify_expand_binop): Make global.
7728         * expmed.c (store_bit_field_1): Use simplify_expand_binop on big
7729         endian targets if the source cannot be exactly covered by word
7730         mode chunks.
7731
7732 2012-01-17  Jakub Jelinek  <jakub@redhat.com>
7733
7734         PR bootstrap/51872
7735         * hard-reg-set.h (struct hard_reg_set_container): New type.
7736         * target.h (struct hard_reg_set_container): Forward declare.
7737         * target.def (set_up_by_prologue): New target hook.
7738         * doc/tm.texi.in (TARGET_SET_UP_BY_PROLOGUE): Document it.
7739         * doc/tm.texi: Regenerated.
7740         * function.c (thread_prologue_and_epilogue_insns): Change
7741         set_up_by_prologue HARD_REG_SET into struct hard_reg_set_container.
7742         Call targetm.set_up_by_prologue on it.
7743         * config/rs6000/rs6000.c (rs6000_set_up_by_prologue): New function.
7744         (TARGET_SET_UP_BY_PROLOGUE): Redefine to it.
7745
7746 2012-01-17  Nick Clifton  <nickc@redhat.com>
7747
7748         * config/rx/rx.c (rx_can_use_simple_return): New function.
7749         * config/rx/rx-protos.h (rx_can_use_simple_return): Prototype.
7750         * config/rx/rx.md (return): Predicate on rx_can_use_simple_return.
7751
7752 2012-01-17  Richard Guenther  <rguenther@suse.de>
7753
7754         PR middle-end/51782
7755         * expr.c (expand_assignment): Take address-space information
7756         from the address operand of MEM_REF and TARGET_MEM_REF.
7757         (expand_expr_real_1): Likewise.
7758
7759 2012-01-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7760
7761         * ira.c (do_reload): Make sure ira_dump_file is re-set if no
7762         reload dump is requested.
7763
7764 2012-01-17  Aldy Hernandez  <aldyh@redhat.com>
7765
7766         PR other/51165
7767         * trans-mem.c (requires_barrier): Call may_be_aliased.
7768
7769 2012-01-17  Jakub Jelinek  <jakub@redhat.com>
7770
7771         PR tree-optimization/51877
7772         * tree-ssa-tail-merge.c (gimple_equal_p): Don't return true whenever
7773         call arguments and fndecls compare equal, instead return false if they
7774         don't.  Return true only if lhs1 and lhs2 are either both NULL, or
7775         both SSA_NAMEs that are valueized the same, or they satisfy
7776         operand_equal_p.
7777
7778 2012-01-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7779
7780         * configure.ac (gcc_cv_target_dl_iterate_phdr): Only check on
7781         Solaris 11+.
7782         * configure: Regenerate.
7783
7784 2012-01-16  Jan Hubicka  <jh@suse.cz>
7785
7786         PR c/12245
7787         PR c++/14179
7788         * convert.c (convert_to_integer): Use fold_convert for
7789         converting an INTEGER_CST to integer type.
7790
7791 2012-01-16  Jason Merrill  <jason@redhat.com>
7792
7793         PR c++/14179
7794         * vec.c (vec_gc_o_reserve_1): Use ggc_round_alloc_size.
7795
7796 2012-01-16  Jakub Jelinek  <jakub@redhat.com>
7797
7798         PR bootstrap/51860
7799         * config/s390/s390.c (s390_chunkify_start): Don't skip
7800         call insns followed by NOTE_INSN_CALL_ARG_LOCATION note.  Skip
7801         NOTE_INSN_VAR_LOCATION and NOTE_INSN_CALL_ARG_LOCATION notes.
7802         If insn is followed by NOTE_INSN_VAR_LOCATION or
7803         NOTE_INSN_CALL_ARG_LOCATION notes, insert jump after all those notes.
7804         Don't use location of note insns.
7805
7806         PR tree-optimization/51865
7807         * tree-inline.c (tree_function_versioning): Call remap_decl
7808         on DECL_RESULT whenever it has VOID_TYPE_P type.
7809
7810 2012-01-15  Richard Sandiford  <rdsandiford@googlemail.com>
7811
7812         * config/mips/mips.c (mips16_build_call_stub): Don't use a stub
7813         for calls to locally-binding MIPS16 functions if only the return
7814         type uses float regs.
7815
7816 2012-01-15  Chung-Lin Tang  <cltang@codesourcery.com>
7817             Richard Sandiford  <rdsandiford@googlemail.com>
7818
7819         * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
7820         (SYMBOL_32_HIGH): Likewise.
7821         (mips_output_tls_reloc_directive): Declare.
7822         * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md.
7823         (mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare.
7824         * config/mips/mips.c (mips_use_pcrel_pool_p): New variable.
7825         (mips_lo_relocs, mips_hi_relocs): Make extern.
7826         (mips16_stub_function): Move up file.
7827         (mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling.
7828         (mips_symbolic_constant_p): Likewise.  Remove SYMBOL_32_HIGH too.
7829         (mips_symbol_insns_1): Likewise.  Check mips_use_pcrel_pool_p.
7830         (mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of
7831         SYMBOL_FORCE_TO_MEM.  Only check mips_tls_symbol_ref_1 if it's false.
7832         (mips_get_tp): Add MIPS16 support.
7833         (mips_legitimize_tls_address): Remove MIPS16 sorry().
7834         Generalize DTPREL and TPREL handling.
7835         (mips_init_relocs): Initialize mips_use_pcrel_pool_p.
7836         Add MIPS16 TLS support.
7837         (mips_output_tls_reloc_directive): New function.
7838         (mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs.
7839         * config/mips/predicates.md (symbolic_operand_with_high)
7840         (tls_reloc_operand): New predicates.
7841         (force_to_mem_operand): Use mips_use_pcrel_pool_p.
7842         * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec.
7843         (PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h.
7844         (*unshifted_high): New instruction.  Use it for MIPS16 high splitter.
7845         (consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns.
7846         (*tls_get_tp_mips16_call_<mode>): Likewise.
7847
7848 2012-01-15  Uros Bizjak  <ubizjak@gmail.com>
7849
7850         PR rtl-optimization/51821
7851         * recog.c (peep2_find_free_register): Determine clobbered registers
7852         from insn pattern.
7853
7854 2012-01-14  Denis Chertykov  <chertykov@gmail.com>
7855
7856         PR target/50925
7857         * config/avr/avr-protos.h: Revert change of 2012-01-09.
7858         * config/avr/avr.c: Likewise.
7859         * config/avr/avr.h: Likewise.
7860
7861 2012-01-13  Ian Lance Taylor  <iant@google.com>
7862
7863         PR c++/50012
7864         * tree.h (TYPE_QUALS): Add cast to int.
7865         (TYPE_QUALS_NO_ADDR_SPACE): Likewise.
7866
7867 2012-01-13  Ian Lance Taylor  <iant@google.com>
7868
7869         * ipa-cp.c (ipa_get_indirect_edge_target): Add typecasts when
7870         comparing param_index to VEC_length result.
7871
7872 2012-01-13  Steven Bosscher  <steven@gcc.gnu.org>
7873
7874         * c-decl.c: Do not include tree-mudflap.h
7875         * tree-optimize.c: Likewise.
7876         * Makefile.in: Update dependencies.
7877
7878 2012-01-13  Richard Guenther  <rguenther@suse.de>
7879
7880         PR middle-end/8081
7881         * gimplify.c (gimplify_modify_expr_rhs): For calls with a
7882         variable-sized result always use RSO.
7883
7884 2012-01-12  DJ Delorie  <dj@redhat.com>
7885
7886         * cfgexpand.c (convert_debug_memory_address): Allow any valid
7887         pointer type, not just the default pointer type.
7888
7889 2012-01-09  Richard Henderson  <rth@redhat.com>
7890             Denis Chertykov  <chertykov@gmail.com>
7891
7892         PR target/50925
7893         * config/avr/avr-protos.h (avr_hard_regno_nregs): Declare.
7894         * config/avr/avr.c (avr_can_eliminate): Simplify.
7895         (avr_initial_elimination_offset): Likewise.
7896         (avr_prologue_setup_frame): Use hard_frame_pointer_rtx.
7897         (expand_epilogue): Likewise.
7898         (avr_legitimize_address): Gut.
7899         (avr_legitimize_reload_address): Use hard_frame_pointer_rtx.
7900         (avr_hard_regno_nregs): New.
7901         (avr_hard_regno_ok): Allow only Pmode for arg and frame_pointers.
7902         (avr_regno_mode_code_ok_for_base_b): Handle arg and frame pointers.
7903         * config/avr/avr.h (FIXED_REGISTERS): Adjust arg pointer,
7904         add soft frame pointer.
7905         (CALL_USED_REGISTERS): Likewise.
7906         (REG_CLASS_CONTENTS): Likewise.
7907         (REGISTER_NAMES): Likewise.
7908         (HARD_REGNO_NREGS): Use avr_hard_regno_nregs.
7909         (HARD_FRAME_POINTER_REGNUM): New.
7910         (FRAME_POINTER_REGNUM): Use soft frame pointer.
7911         (ELIMINABLE_REGS): Eliminate from the soft frame pointer,
7912         remove the HARD_FRAME_POINTER self-elimination.
7913
7914 2012-01-12  Georg-Johann Lay  <avr@gjlay.de>
7915
7916         PR target/51756
7917         * config/avr/avr.c (avr_encode_section_info): Test for absence of
7918         DECL_EXTERNAL when checking for initializers of progmem variables.
7919
7920 2012-01-12  Ira Rosen  <irar@il.ibm.com>
7921
7922         PR tree-optimization/51799
7923         * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check
7924         that the last operation is a type demotion.
7925
7926 2012-01-12  Uros Bizjak  <ubizjak@gmail.com>
7927
7928         * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
7929         (x86_shift<mode>_adj_1): Remove operand constraint from operand 3.
7930
7931 2012-01-11  Jakub Jelinek  <jakub@redhat.com>
7932
7933         PR bootstrap/51796
7934         * combine.c (distribute_notes): If i3 is a noreturn call,
7935         allow old_size to be equal to args_size and make sure the
7936         noreturn call gets REG_ARGS_SIZE note.
7937         * expr.c (fixup_args_size_notes): Put REG_ARGS_SIZE notes
7938         on noreturn calls even when the delta is 0.
7939
7940 2012-01-11  Nathan Sidwell  <nathan@acm.org>
7941
7942         * gcov.c (STRING_SIZE): Remove.
7943         (generate_results): Erase annotations for source files with no
7944         coverage information.
7945         (read_line): New.
7946         (output_lines): Use it.
7947
7948 2012-01-11  Eric Botcazou  <ebotcazou@adacore.com>
7949
7950         * gimple.h (gimplify_body): Remove first argument.
7951         * gimplify.c (copy_if_shared): Add DATA argument.  Do not create the
7952         pointer set here, instead just pass DATA to walk_tree.
7953         (unshare_body): Remove BODY_P argument and adjust.  Create the pointer
7954         set here and invoke copy_if_shared on the size trees of DECL_RESULT.
7955         (unvisit_body): Likewise, but with unmark_visited.
7956         (gimplify_body): Remove BODY_P argument and adjust.
7957         (gimplify_function_tree): Adjust call to gimplify_body.
7958         * omp-low.c (finalize_task_copyfn): Likewise.
7959
7960 2012-01-11  Eric Botcazou  <ebotcazou@adacore.com>
7961
7962         * tree.h (build_function_decl_skip_args): Add boolean parameter.
7963         (build_function_type_skip_args): Delete.
7964         * tree.c (build_function_type_skip_args): Make static and add
7965         SKIP_RETURN parameter.  Fix thinko in the handling of variants.
7966         (build_function_decl_skip_args): Add SKIP_RETURN parameter and
7967         pass it to build_function_type_skip_args.
7968         * cgraph.h (cgraph_function_versioning): Add boolean parameter.
7969         (tree_function_versioning): Likewise.
7970         * cgraph.c (cgraph_create_virtual_clone): Adjust call to
7971         build_function_decl_skip_args.
7972         * cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter
7973         and pass it to build_function_decl_skip_args/tree_function_versioning.
7974         (cgraph_materialize_clone): Adjust call to tree_function_versioning.
7975         * ipa-inline-transform.c (save_inline_function_body): Likewise.
7976         * trans-mem.c (ipa_tm_create_version): Likewise.
7977         * tree-sra.c (modify_function): Ditto for cgraph_function_versioning.
7978         * tree-inline.c (declare_return_variable): Remove always-true test.
7979         (tree_function_versioning): Add SKIP_RETURN parameter.  If the function
7980         returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL.
7981         * ipa-split.c (split_function): Skip the return value for the split
7982         part if it doesn't return.
7983
7984 2012-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7985
7986         PR tree-optimization/49642
7987         * ipa-split.c (forbidden_dominators): New variable.
7988         (check_forbidden_calls): New function.
7989         (dominated_by_forbidden): Likewise.
7990         (consider_split): Check for forbidden dominators.
7991         (execute_split_functions): Initialize and free forbidden
7992         dominators info; call check_forbidden_calls.
7993
7994 2012-01-11  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
7995
7996         * config/arm/arm.md (mov_notscc): Use MVN for false condition.
7997
7998 2012-01-11  Nick Clifton  <nickc@redhat.com>
7999
8000         * config/rx/rx.md (return): Define pattern.
8001
8002 2012-01-11  Richard Guenther  <rguenther@suse.de>
8003
8004         * doc/extend.texi (malloc attribute): Adjust according to
8005         implementation.
8006
8007 2012-01-10  Aldy Hernandez  <aldyh@redhat.com>
8008             Patrick Marlier  <patrick.marlier@gmail.com>
8009
8010         PR middle-end/51516
8011         * trans-mem.c (get_cg_data): Traverse aliases if requested.
8012         (ipa_tm_scan_calls_block): Update parameters to get_cg_data.
8013         (ipa_tm_note_irrevocable): Same.
8014         (ipa_tm_scan_irr_block): Same.
8015         (ipa_tm_decrement_clone_counts): Same.
8016         (ipa_tm_scan_irr_function): Same.
8017         (ipa_tm_create_version_alias): Same.
8018         (ipa_tm_create_version): Same.
8019         (ipa_tm_transform_calls_redirect): Same.
8020         (ipa_tm_transform_calls): Same.
8021         (ipa_tm_transform_transaction): Same.
8022         (ipa_tm_execute): Same.
8023
8024 2012-01-10  Richard Guenther  <rguenther@suse.de>
8025
8026         PR middle-end/51806
8027         * opts.c (common_handle_option): Handle -Werror.
8028
8029 2012-01-10  Andreas Schwab  <schwab@linux-m68k.org>
8030
8031         * config/m68k/sync.md ("atomic_compare_and_swap<mode>_1"): Fix
8032         operand number.
8033
8034 2012-01-10  Jason Merrill  <jason@redhat.com>
8035
8036         * doc/invoke.texi (C++ Dialect Options): Update -fabi-version=6
8037         information.
8038
8039 2012-01-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8040
8041         * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check if linker
8042         supports R_386_TLS_GD_PLT reloc.
8043         (gcc_cv_as_ix86_tlsldmplt): Check if linker
8044         supports R_386_TLS_LDM_PLT reloc.
8045         * configure: Regenerate.
8046         * config.in: Regenerate.
8047
8048 2012-01-10  Georg-Johann Lay  <avr@gjlay.de>
8049
8050         PR target/49868
8051         Extend __pgmx semantics to linearize memory.
8052         * config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
8053         determine if code comes inline or from libgcc.
8054         (MOVMEM_r_d:HI): Add "w" to constraint for better preference.
8055         (movmem_qi, movmem_qi): Set constraint #2 to "n".
8056         (movmem_qi_elpm, movmem_hi_elpm): Remove insns.
8057         (movmemx_qi, movmemx_hi): New insns.
8058         (xload_<mode>_libgcc): Rewrite to new insn condition.
8059         (xload_<mode>): Remove insns.
8060         * config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
8061         cases that don't satisfy avr_xload_libgcc_p().
8062         (avr_addr_space_convert): Allow converting in any direction.
8063         (avr_addr_space_subset_p): Return always true.
8064         (avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
8065         (avr_emit_movmemhi): Ditto.
8066         (avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
8067         (avr_out_movmem): Ditto.
8068         (AVR_SYMBOL_FLAG_PROGMEM): New macro.
8069         (AVR_SYMBOL_SET_ADDR_SPACE): New macro.
8070         (AVR_SYMBOL_GET_ADDR_SPACE): New macro.
8071         (avr_encode_section_info): Encode 'progmem' in symbol flags.
8072         (output_reload_in_const): Don't zero-extend any 24-bit symbols.
8073
8074 2012-01-10  Richard Guenther  <rguenther@suse.de>
8075
8076         PR tree-optimization/50913
8077         * graphite-scop-detection.c (stmt_has_simple_data_refs_p):
8078         Require data-refs to be representable by Graphite with respect
8079         to any loop nest.
8080
8081 2012-01-10  Uros Bizjak  <ubizjak@gmail.com>
8082
8083         * config/i386/constraints.md ("L"): Return true for 0xffffffff.
8084         * config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV.
8085
8086 2012-01-10  Tom de Vries  <tom@codesourcery.com>
8087
8088         PR rtl-optimization/51271
8089         * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when
8090         handling annulled branch.
8091
8092 2012-01-10  Richard Henderson  <rth@redhat.com>
8093
8094         * config/arm/arm.c (arm_vectorize_vec_perm_const_ok,
8095         TARGET_VECTORIZE_VEC_PERM_CONST_OK, neon_split_vcombine, MAX_VECT_LEN,
8096         struct expand_vec_perm_d, arm_expand_vec_perm_1, arm_expand_vec_perm,
8097         arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev,
8098         arm_evpc_neon_vtrn, arm_evpc_neon_vtbl, arm_expand_vec_perm_const_1,
8099         arm_expand_vec_perm_const): New.
8100         * config/arm/arm-protos.h: Update.
8101         * config/arm/neon.md (UNSPEC_VCONCAT): New.
8102         (*neon_vswp<VDQX>): New.
8103         (neon_vcombine<VDX>): Use neon_split_vcombine.
8104         (neon_vtbl1v16qi, neon_vtbl2v16qi, neon_vcombinev16qi): New.
8105         * config/arm/vec-common.md (vec_perm_const<VALL>): New.
8106         (vec_perm<VE>): New.
8107
8108 2012-01-10  Richard Henderson  <rth@redhat.com>
8109
8110         * config/arm/arm.c (arm_gen_compare_reg): Add scratch argument;
8111         use it if reload_completed.
8112         (arm_legitimize_sync_memory, arm_emit, arm_insn_count, arm_count,
8113         arm_output_asm_insn, arm_process_output_memory_barrier,
8114         arm_output_memory_barrier, arm_ldrex_suffix, arm_output_ldrex,
8115         arm_output_strex, arm_output_it, arm_output_op2, arm_output_op3,
8116         arm_output_sync_loop, arm_get_sync_operand, FETCH_SYNC_OPERAND,
8117         arm_process_output_sync_insn, arm_output_sync_insn,
8118         arm_sync_loop_insns, arm_call_generator, arm_expand_sync): Remove.
8119         (arm_pre_atomic_barrier, arm_post_atomic_barrier): New.
8120         (arm_emit_load_exclusive, arm_emit_store_exclusive): New.
8121         (emit_unlikely_jump): New.
8122         (arm_expand_compare_and_swap, arm_split_compare_and_swap): New.
8123         (arm_split_atomic_op): New.
8124         * config/arm/arm-protos.h: Update.
8125         * config/arm/arm.h (enum arm_sync_generator_tag): Remove.
8126         (struct arm_sync_generator): Remove.
8127         * config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK,
8128         VUNSPEC_SYNC_OP, VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): Remove.
8129         (VUNSPEC_ATOMIC_CAS, VUNSPEC_ATOMIC_XCHG, VUNSPEC_ATOMIC_OP): New.
8130         (VUNSPEC_LL, VUNSPEC_SC): New.
8131         (sync_result, sync_memory, sync_required_value, sync_new_value,
8132         sync_t1, sync_t2, sync_release_barrier, sync_op): Remove.
8133         (attr length): Don't use arm_sync_loop_insns.
8134         (cbranch_cc, cstore_cc): Update call to arm_gen_compare_reg.
8135         (movsfcc, movdfcc): Likewise.
8136         * config/arm/constraints.md (Ua): New.
8137         * config/arm/prediates.md (mem_noofs_operand): New.
8138         (sync_compare_and_swap<QHSD>, sync_lock_test_and_set<QHSD>): Remove.
8139         (sync_clobber, sync_t2_reqd): Remove.
8140         (sync_<syncop><QHSD>, sync_nand<QHSD>): Remove.
8141         (sync_new_<syncop><QHSD>, sync_new_nand<QHSD>): Remove.
8142         (sync_old_<syncop><QHSD>, sync_old_nand<QHSD>): Remove.
8143         (arm_sync_compare_and_swap<SIDI>): Remove.
8144         (arm_sync_compare_and_swap<NARROW>): Remove.
8145         (arm_sync_lock_test_and_set<SIDI>): Remove.
8146         (arm_sync_lock_test_and_set<NARROW>): Remove.
8147         (arm_sync_new_<syncop><SIDI>): Remove.
8148         (arm_sync_new_<syncop><NARROW>): Remove.
8149         (arm_sync_new_nand<SIDI>): Remove.
8150         (arm_sync_new_nand<NARROW>): Remove.
8151         (arm_sync_old_<syncop><SIDI>): Remove.
8152         (arm_sync_old_<syncop><NARROW>): Remove.
8153         (arm_sync_old_nand<SIDI>): Remove.
8154         (arm_sync_old_nand<NARROW>): Remove.
8155         (*memory_barrier): Merge arm_output_memory_barrier.
8156         (atomic_compare_and_swap<QHSD>): New.
8157         (atomic_compare_and_swap<NARROW>_1): New.
8158         (atomic_compare_and_swap<SIDI>_1): New.
8159         (atomic_exchange<QHSD>): New.
8160         (cas_cmp_operand, cas_cmp_str): New.
8161         (atomic_op_operand, atomic_op_str): New.
8162         (atomic_<syncop><QHSD>, atomic_nand<QHSD>): New.
8163         (atomic_fetch_<syncop><QHSD>, atomic_fetch_nand<QHSD>): New.
8164         (atomic_<syncop>_fetch<QHSD>, atomic_nand_fetch<QHSD>): New.
8165         (arm_load_exclusive<NARROW>): New.
8166         (arm_load_exclusivesi, arm_load_exclusivedi): New.
8167         (arm_store_exclusive<QHSD>): New.
8168
8169 2012-01-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
8170
8171         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add DF
8172         reload patterns if -mvsx-scalar-memory.
8173
8174         * config/rs6000/vsx.md (vsx_xscvspdp): Allow xscvspdp to be
8175         generated, even -mno-vsx-scalar-double was used.
8176         (vsx_xscvdpsp_scalar): Likewise.
8177         (vsx_xscvspdp_scalar2): Likewise.
8178
8179 2012-01-09  Tom de Vries  <tom@codesourcery.com>
8180             Andrew Pinski  <apinski@cavium.com>
8181
8182         PR debug/51471
8183         * reorg.c (fill_slots_from_thread): Don't speculate
8184         frame-related insns.
8185
8186 2012-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
8187
8188         * sched-int.h (bb_note): Move to...
8189         * basic-block.h: ...here.
8190         * haifa-sched.c (bb_note): Move to...
8191         * cfgrtl.c: ...here.
8192         * function.c (next_block_for_reg): New function.
8193         (move_insn_for_shrink_wrap): Likewise.
8194         (prepare_shrink_wrap): Rewrite to use the above.
8195
8196 2012-01-09  Aldy Hernandez  <aldyh@redhat.com>
8197
8198         * gimple.c (is_gimple_non_addressable): Remove.
8199         * gimple.h: Remove is_gimple_non_addressable.
8200         * gimplify.c (gimplify_modify_expr_rhs): Use is_gimple_reg instead of
8201         is_gimple_non_addressable.
8202         * trans-mem.c (expand_assign_tm): Same.
8203
8204 2012-01-09  Richard Guenther  <rguenther@suse.de>
8205
8206         PR tree-optimization/51775
8207         * tree-ssa-sccvn.c (visit_use): Value-number throwing stmts.
8208         * tree-ssa-pre.c (eliminate): Properly fixup EH info.
8209
8210 2012-01-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
8211
8212         * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
8213         tuning parameters.
8214         * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
8215
8216 2012-01-09  Richard Guenther  <rguenther@suse.de>
8217
8218         * tree-streamer-out.c (write_ts_optimization): Fix spelling.
8219
8220 2012-01-08  Jan Hubicka  <jh@suse.cz>
8221
8222         PR tree-optimize/51680
8223         * ipa-inline-analyss.c (evaluate_properties_for_edge): Fix condition
8224         on when known_vals needs to be computed; cleanup.
8225
8226 2012-01-08  Jan Hubicka  <jh@suse.cz>
8227
8228         PR tree-optimize/51694
8229         * ipa-cp.c (ipa_get_indirect_edge_target): Add bounds checks.
8230
8231 2012-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
8232
8233         * doc/cpp.texi (Predefined Macros): __STRICT_ANSI__ is defined
8234         for -std=c++98 and -std=c++11 too.
8235
8236 2012-01-08  Chung-Lin Tang  <cltang@codesourcery.com>
8237
8238         * cfgloop.c (cancel_loop): Add free() of bbs array.
8239
8240 2012-01-07  Jan Hubicka  <jh@suse.cz>
8241
8242         PR tree-optimization/51600
8243         * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Disable code
8244         that benefits small functions.
8245
8246 2012-01-07  Jan Hubicka  <jh@suse.cz>
8247
8248         * ipa-inline.c (want_inline_small_function_p): Fix formating.
8249
8250 2012-01-07  Jan Hubicka  <jh@suse.cz>
8251
8252         PR tree-optimization/51680
8253         * ipa-inline.c (want_inline_small_function_p): Be more lax on functions
8254         whose inlining reduce unit size.
8255
8256 2012-01-07  Alexandre Oliva  <aoliva@redhat.com>
8257
8258         PR bootstrap/51725
8259         * cselib.c (new_elt_loc_list): Promote addr_list to canonical node.
8260         Add canonical node to containing_mem chain after the non-canonical
8261         one, even if there weren't any locs to propagate.
8262         (remove_useless_values): Keep only canonical values.
8263         (add_mem_for_addr, cselib_lookup_mem): Canonicalize addr.
8264         (cselib_invalidate_mem): Likewise.  Ensure v is canonical, and
8265         canonicalize mem_chain elements that are not discarded.
8266
8267 2012-01-06  Jakub Jelinek  <jakub@redhat.com>
8268
8269         PR target/47333
8270         * cgraphunit.c (cgraph_optimize): Call output_weakrefs
8271         before emitting functions.
8272
8273         PR gcov-profile/50127
8274         * bb-reorder.c (partition_hot_cold_basic_blocks): Call
8275         clear_aux_for_blocks.
8276
8277 2012-01-06  Alexandre Oliva  <aoliva@redhat.com>
8278
8279         PR debug/51746
8280         * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too.
8281
8282 2012-01-06  Arnaud Charlet  <charlet@adacore.com>
8283
8284         * c-decl.c (ext_block): Moved up.
8285         (collect_all_refs, for_each_global_decl): Take ext_block into account.
8286
8287 2012-01-06  Han Shen  <shenhan@google.com>
8288
8289         Translate built-in include paths for sysroot.
8290         * Makefile.in (gcc_gxx_include_dir_add_sysroot): New.
8291         (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT.
8292
8293         * cppdefault.c (cpp_include_defaults): Replace hard coded "0" with
8294         GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field.
8295
8296         * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to
8297         control whether sysroot should be prepended to gxx include dir.
8298
8299         * configure: Regenerate.
8300
8301 2012-01-06  Torvald Riegel  <triegel@redhat.com>
8302
8303         PR rtl-optimization/51771
8304         * builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST): New.
8305         * gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib.
8306
8307 2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
8308
8309         PR tree-optimization/51315
8310         * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
8311         (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
8312
8313 2012-01-05  Uros Bizjak  <ubizjak@gmail.com>
8314
8315         PR target/51681
8316         * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
8317         for shrp pattern.  Correctly handle and fixup shift variable.
8318         Return false when shift > nelt for BYTES_BIG_ENDIAN target.
8319
8320 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
8321
8322         PR debug/51762
8323         * calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE
8324         note when !ACCUMULATE_OUTGOING_ARGS.
8325
8326 2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
8327
8328         * tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated
8329         condition.
8330         (extract_range_from_unary_expr_1): Avoid useless computations.
8331
8332 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
8333
8334         PR rtl-optimization/51767
8335         * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
8336         of jump_block and add an extra edge for degenerated asm gotos.
8337
8338         PR middle-end/51768
8339         * stmt.c (check_unique_operand_names): Don't ICE during error
8340         reporting if i is from labels chain.
8341
8342         PR middle-end/44777
8343         * profile.c (branch_prob): Split bbs that have exit edge
8344         and need a fake entry edge too.
8345
8346 2012-01-05  Jan Hubicka  <jh@suse.cz>
8347
8348         PR middle-end/49710
8349         * cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when
8350         unlooping loops.
8351
8352 2012-01-05  Richard Guenther  <rguenther@suse.de>
8353
8354         PR lto/50490
8355         * tree-streamer-out.c (write_ts_optimization): New function.
8356         (streamer_write_tree_body): Call it.
8357         * tree-streamer-in.c (lto_input_ts_optimization): New function.
8358         (streamer_read_tree_body): Call it.
8359         * lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE.
8360
8361 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
8362
8363         PR middle-end/51761
8364         * gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr field.
8365         * gimplify.c (gimplify_cleanup_point_expr): Save and set
8366         in_cleanup_point_expr before gimplify_stmt call and restore it
8367         afterwards.
8368         (gimplify_target_expr): Don't add {CLOBBER} cleanup if
8369         in_cleanup_point_expr is false.
8370
8371 2012-01-05  Richard Guenther  <rguenther@suse.de>
8372
8373         PR middle-end/51764
8374         * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move
8375         to c.opt.
8376         * toplev.c (process_options): Reject combining mudflap and LTO.
8377         * tree-nomudflap.c (nogo): Use sorry instead of internal_error.
8378
8379 2012-01-05  Richard Guenther  <rguenther@suse.de>
8380
8381         PR tree-optimization/51760
8382         * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
8383         not VARYING.
8384         (bit_value_unop): Handle UNDEFINED operands.
8385         (bit_value_binop): Likewise.
8386
8387 2012-01-05  Georg-Johann Lay  <avr@gjlay.de>
8388
8389         * config/avr/avr.c (avr_replace_prefix): Remove.
8390         (avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix.
8391         (avr_asm_function_rodata_section): Ditto.
8392         (avr_asm_select_section): Ditto.
8393
8394 2012-01-05  Marcus Shawcroft  <marcus.shawcroft@arm.com>
8395
8396         * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
8397         insertion.
8398
8399 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
8400
8401         PR bootstrap/51648
8402         * tree-cfg.c (need_fake_edge_p): Return true also for noreturn
8403         calls that have any non-fake successor edges.
8404
8405         PR debug/51746
8406         * var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL.
8407
8408 2012-01-04  Eric Botcazou  <ebotcazou@adacore.com>
8409
8410         PR tree-optimization/51624
8411         * tree-sra.c (build_ref_for_model): When replicating a chain of
8412         COMPONENT_REFs, stop as soon as the offset would become negative.
8413
8414 2012-01-04  Jakub Jelinek  <jakub@redhat.com>
8415
8416         PR debug/51695
8417         * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
8418         in .debug_loc on the floor.
8419
8420 2012-01-04  Andrew Pinski  <apinski@cavium.com>
8421
8422         * doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2.
8423
8424 2012-01-04  Andrew Pinski  <apinski@cavium.com>
8425             Adam Nemet  <anemet@caviumnetworks.com>
8426
8427         * config/mips/mips.md (size): Add SI and DI.
8428         (SIZE): New mode attribute.
8429         (U): New code attribute.
8430         * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi.
8431         (mips_lbux_<mode>): Delete.
8432         (mips_l<SHORT:size><u>x_ext<GPR:mode>_<P:mode>): New pattern.
8433         (mips_lhx): Use gen_mips_lhx_extsi.
8434         (mips_lhx_<mode>): Delete.
8435         (mips_lwx): Delete.
8436         (mips_l<size>x): New expand.
8437         (mips_lwx_<mode>): Delete.
8438         (mips_l<GPR:size>x_<P:mode>): New pattern.
8439         (*mips_lw<u>x_<P:mode>_ext): Likewise.
8440         * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type.
8441         * config/mips/mips.c (mips_lx_address_p): New function.
8442         (mips_rtx_costs <case MEM>): Call mips_lx_address_p.
8443         (dsp64): New availability predicate.
8444         (mips_builtins): Add an entry for __builtin_mips_ldx.
8445         * config/mips/mips.h (ISA_HAS_LBX): New define.
8446         (ISA_HAS_LBUX): Likewise.
8447         (ISA_HAS_LHX): Likewise.
8448         (ISA_HAS_LHUX): Likewise.
8449         (ISA_HAS_LWX): Likewise.
8450         (ISA_HAS_LWUX): Likewise.
8451         (ISA_HAS_LDX): Likewise.
8452         * doc/extend.texi (__builtin_mips_ldx): Document.
8453
8454 2012-01-04  Tristan Gingold  <gingold@adacore.com>
8455
8456         * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define
8457         when long pointers are used.
8458         * config.build (*-*-*vms*): Handle all OpenVMS targets.
8459         (alpha64-dec-*vms*, alpha*-dec-*vms*)
8460         (ia64-hp-*vms*): Remove.
8461         * config/vms/xm-vms64.h: Delete.
8462
8463 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
8464
8465         PR middle-end/51472
8466         * trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly.
8467
8468 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
8469
8470         * opts.c (finish_options): Remove duplicate sorry.
8471
8472 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
8473
8474         PR middle-end/51696
8475         * trans-mem.c (diagnose_tm_1): Display indirect calls with no name
8476         correctly.
8477
8478 2012-01-04  Richard Guenther  <rguenther@suse.de>
8479
8480         PR middle-end/51750
8481         * tree.c (size_low_cst): New function.
8482         * tree.h (size_low_cst): Declare.
8483         * fold-const.c (fold_comparison): Use it to extract the low
8484         part of the POINTER_PLUS_EXPR offset.
8485
8486 2012-01-04  Georg-Johann Lay  <avr@gjlay.de>
8487
8488         Fix clearing ZERO_REG
8489         * config/avr/avr.md (cc): Add alternative "ldi".
8490         (movqi_insn): Use it in cc attribute.
8491         * config/avr/avr.c (notice_update_cc): Handle CC_LDI.
8492         (output_reload_in_const): Use CLR to move 0 to ZERO_REG.
8493         (output_reload_insisf): Use ZERO_REG to pre-clear register.
8494
8495 2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
8496
8497         * configure: Regenerate.
8498
8499 2012-01-04  Richard Guenther  <rguenther@suse.de>
8500
8501         PR tree-optimization/49651
8502         * tree-ssa-structalias.c (type_can_have_subvars): New function.
8503         (var_can_have_subvars): Use it.
8504         (get_constraint_for_1): Only consider subfields if there can be any.
8505
8506 2012-01-03  Jakub Jelinek  <jakub@redhat.com>
8507
8508         PR bootstrap/51725
8509         * cselib.c (new_elt_loc_list): When moving locs from one cselib_val
8510         to its new canonical_cselib_val and the cselib_val was in
8511         first_containing_mem chain, but the canonical_cselib_val was not,
8512         add the latter into the chain.
8513         (cselib_invalidate_mem): Compare canonical_cselib_val of
8514         addr_list chain elt with v.
8515
8516         PR pch/51722
8517         * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define,
8518         dwarf2out_undef): Allocate e.info using ggc_strdup instead
8519         of xstrdup.
8520         (output_macinfo_op): Don't ggc_strdup fd->filename.
8521         (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC,
8522         then ggc_strdup it.  Don't free inc->info or cur->info.
8523         (output_macinfo): Don't free ref->info or file->info.
8524
8525 2012-01-03  Ira Rosen  <irar@il.ibm.com>
8526
8527         PR tree-optimization/51269
8528         * tree-vect-loop-manip.c (set_prologue_iterations): Make
8529         first_niters a pointer.
8530         (slpeel_tree_peel_loop_to_edge): Likewise.
8531         (vect_do_peeling_for_loop_bound): Update call to
8532         slpeel_tree_peel_loop_to_edge.
8533         (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters
8534         here.  Remove it from the parameters list.
8535         (vect_do_peeling_for_alignment): Update calls and compute
8536         wide_prolog_niters.
8537
8538 2012-01-03  Richard Guenther  <rguenther@suse.de>
8539
8540         PR tree-optimization/51070
8541         * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
8542         Properly handle calls.
8543
8544 2012-01-03  Richard Guenther  <rguenther@suse.de>
8545
8546         PR tree-optimization/51692
8547         * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove
8548         the LHS of allocation stmts.
8549
8550 2012-01-03  Olivier Hainque  <hainque@adacore.com>
8551
8552         * system.h: Prior to #define, #undef fopen and freopen unconditionally.
8553
8554 2012-01-03  Olivier Hainque  <hainque@adacore.com>
8555
8556         * collect2.c (main): In AIX specific computations for vector
8557         insertions, use CONST_CAST2 to cast from char ** to const char **.
8558
8559 2012-01-03  Richard Guenther  <rguenther@suse.de>
8560
8561         PR debug/51650
8562         * dwarf2out.c (dwarf2out_finish): Always create a DIE for
8563         the context of a limbo DIE when it does not already exist.
8564
8565 2012-01-03  Jakub Jelinek  <jakub@redhat.com>
8566
8567         PR tree-optimization/51719
8568         * value-prof.c (gimple_ic): When indirect call isn't noreturn,
8569         but direct call is, clear direct call's lhs and don't add fallthrough
8570         edge from dcall_bb to join_bb and PHIs.
8571
8572 2012-01-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
8573
8574         * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning
8575         the instructions emitted by the pattern.
8576         ("*TDC_insn_<mode>"): Add comment.
8577
8578 2012-01-03  Richard Guenther  <rguenther@suse.de>
8579
8580         PR middle-end/51730
8581         * fold-const.c (fold_comparison): Properly canonicalize
8582         tree offset and HOST_WIDE_INT bit position.
8583
8584 2012-01-02  Uros Bizjak  <ubizjak@gmail.com>
8585
8586         * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
8587         operands for extzv pattern.
8588
8589 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
8590
8591         PR bootstrap/51725
8592         * cselib.c (add_mem_for_addr): Call canonical_cselib_val
8593         on mem_elt first.
8594
8595 2012-01-02  Sandra Loosemore  <sandra@codesourcery.com>
8596
8597         * doc/invoke.texi (-flto and related options): Copy-edit.
8598
8599 2012-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
8600
8601         * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
8602
8603 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
8604
8605         * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4):
8606         New patterns.
8607
8608 2012-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
8609
8610         * expr.h (move_by_pieces_ninsns): Declare.
8611         * expr.c (move_by_pieces_ninsns): Make external.
8612         * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
8613         (mips_store_by_pieces_p): Likewise.
8614         * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
8615         (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p.
8616         * config/mips/mips.c (mips_move_by_pieces_p): New function.
8617         (mips_store_by_pieces_p): Likewise.
8618
8619 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
8620
8621         * passes.c (register_one_dump_file): Free full_name.
8622
8623         * reload1.c (reload): Don't allocate reg_max_ref_width here.
8624         (calculate_elim_costs_all_insns): Free offsets_at and
8625         offsets_known_at at the end and clear the pointers.
8626
8627 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
8628
8629         * config/avr/avr.opt (-mbranch-cost): Fix double definition of
8630         this option introduced in r180739.
8631
8632 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
8633
8634         PR target/51345
8635         * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
8636         (tmake_file target=avr): Add avr/t-multilib.
8637
8638         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
8639         to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
8640         * config/avr/genmultilib.awk: New file.
8641         * config/avr/t-multilib: New auto-generated file.
8642         * config/avr/multilib.h: New auto-generated file.
8643         * config/avr/t-avr (AVR_MCUS): New variable.
8644         (genopt.sh): Use it.
8645         (s-mlib): Depend on t-multilib.
8646         (t-multilib, multilib.h): New dependencies.
8647         (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
8648         (MULTILIB_OPTIONS): Remove.
8649         (MULTILIB_MATCHES): Remove.
8650         (MULTILIB_DIRNAMES): Remove.
8651         (MULTILIB_EXCEPTIONS): Remove:
8652         * config/avr/genopt.sh: Don't use hard coded file name;
8653         pass AVR_MCUS from t-avr instead.
8654
8655 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
8656
8657         * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
8658
8659 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
8660
8661         Implement light-weight DImode support.
8662         * config/avr/avr-dimode.md: New file.
8663         * config/avr/avr.md: Include it.
8664         (adjust_len): Add plus64, compare64.
8665         (HIDI): Remove code iterator.
8666         (code_stdname): New code attribute.
8667         (rotx, rotsmode): Remove DI.
8668         (rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
8669         as code iterator.
8670         * config/avr/avr-protos.h (avr_have_dimode): New.
8671         (avr_out_plus64, avr_out_compare64): New.
8672         * config/avr/avr.c (avr_out_compare): Handle DImode.
8673         (avr_have_dimode): New variable definition and initialization.
8674         (avr_out_compare64, avr_out_plus64): New functions.
8675         (avr_out_plus_1): Use simplify_unary_operation to negate xval.
8676         (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
8677         (avr_compare_pattern): Skip DImode comparisons.
8678
8679 2012-01-02  Revital Eres  <revital.eres@linaro.org>
8680
8681         * ddg.c (def_has_ccmode_p): New function.
8682         (add_cross_iteration_register_deps,
8683         create_ddg_dep_from_intra_loop_link): Call it.
8684
8685 2012-01-02  Richard Guenther  <rguenther@suse.de>
8686
8687         PR other/51679
8688         * invoke.texi (fassociative-math): Remove spurious paranthesis.
8689
8690 2012-01-01  Jakub Jelinek  <jakub@redhat.com>
8691
8692         * gcc.c (process_command): Update copyright notice dates.
8693         * gcov.c (print_version): Likewise.
8694         * gcov-dump.c (print_version): Likewise.
8695         * mips-tfile.c (main): Likewise.
8696         * mips-tdump.c (main): Likewise.
8697
8698 2012-01-01  Ira Rosen  <irar@il.ibm.com>
8699
8700         PR tree-optimization/51704
8701         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
8702         a use is inside the basic block or loop before accessing its vect info.
8703
8704 2012-01-01  Jan Hubicka  <jhjh@suse.cz>
8705
8706         PR rtl-optimization/51069
8707         * cfgloopmanip.c (remove_path): Removing path making irreducible
8708         region unconditional makes BB part of the region.
8709
8710 2012-01-01  Jakub Jelinek  <jakub@redhat.com>
8711
8712         PR tree-optimization/51683
8713         * tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
8714         calls with side-effects.
8715         * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
8716 \f
8717 Copyright (C) 2012 Free Software Foundation, Inc.
8718
8719 Copying and distribution of this file, with or without modification,
8720 are permitted in any medium without royalty provided the copyright
8721 notice and this notice are preserved.