OSDN Git Service

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