OSDN Git Service

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