OSDN Git Service

12f22438fab1e2a9abf9494d91a42a1bcd0d362a
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2012-10-30  Andrey Belevantsev  <abel@ispras.ru>
2
3         Backport from mainline
4         2012-01-25 Andrey Belevantsev <abel@ispras.ru>
5         
6         PR rtl-optimization/48374
7         * sel-sched-ir.h (get_all_loop_exits): Check for zero successors.       
8
9 2012-10-22  Andrey Belevantsev  <abel@ispras.ru>
10
11         Backport from mainline
12         2012-08-09  Andrey Belevantsev  <abel@ispras.ru>
13
14         PR rtl-optimization/53701
15         * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
16         Process not only expr's vinsns but all old vinsns from expr's
17         history of changes.
18
19 2012-10-19  Marek Polacek  <polacek@redhat.com>
20
21         Backported from mainline
22         2012-10-19  Marek Polacek  <polacek@redhat.com>
23
24         PR middle-end/54945
25         * fold-const.c (fold_sign_changed_comparison):  Punt if folding
26         pointer/non-pointer comparison.
27
28 2012-10-19  Alan Modra  <amodra@gmail.com>
29
30         * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
31         (HAVE_LD_LARGE_TOC): Likewise.
32         * configure: Regenerate.
33
34 2012-10-17  DJ Delorie  <dj@delorie.com>
35
36         PR target/54950
37         * config/m32c/predicates.md (m32c_const_u16_operand): New.
38         * config/m32c/muldiv.md: Use it.
39
40 2012-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
41
42         * config/pa/pa.md (addhi3): Fix typo in last change.
43
44 2012-10-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
45
46         * config/pa/pa.md: Adjust unamed HImode add insn pattern.
47
48 2012-10-05  Jan Hubicka  <jh@suse.cz>
49             Jakub Jelinek  <jakub@redhat.com>
50
51         PR tree-optimization/33763
52         * tree-inline.c (expand_call_inline): Silently ignore always_inline
53         attribute for redefined extern inline functions.
54
55 2012-10-03  H.J. Lu  <hongjiu.lu@intel.com>
56
57         Backported from mainline
58         2012-10-03  Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
59
60         * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
61         in SSE and YMM state support check for -march=native.
62
63 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
64
65         Backported from mainline
66         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
67
68         PR target/54785
69         * doc/invoke.texi: Document -mprefer-avx128.
70
71 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
72
73         Backported from mainline
74         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
75
76         PR target/54741
77         * config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
78         (XSTATE_FP): Likewise.
79         (XSTATE_SSE): Likewise.
80         (XSTATE_YMM): Likewise.
81         (host_detect_local_cpu): Disable AVX, FMA, FMA4 and XOP if SSE
82         and YMM states aren't supported.
83
84 2012-09-21  Richard Guenther  <rguenther@suse.de>
85
86         PR middle-end/54638
87         Backport from mainline
88         2012-04-19  Richard Guenther  <rguenther@suse.de>
89
90         * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
91         array access.
92
93 2012-09-15  Joseph Myers  <joseph@codesourcery.com>
94
95         PR c/54552
96         * c-typeck.c (c_cast_expr): When casting to a type requiring
97         C_MAYBE_CONST_EXPR to be created, pass the inner expression to
98         c_fully_fold first.
99
100 2012-09-15  Joseph Myers  <joseph@codesourcery.com>
101
102         PR c/54103
103         * c-typeck.c (build_unary_op): Pass original argument of
104         TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
105         any C_MAYBE_CONST_EXPR, if it has integer operands.
106         (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
107         TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
108         to c_objc_common_truthvalue_conversion, then remove any
109         C_MAYBE_CONST_EXPR, if they have integer operands.  Use
110         c_objc_common_truthvalue_conversion not
111         c_common_truthvalue_conversion.
112         (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
113         call note_integer_operands for arguments with integer operands
114         that are not integer constants.
115
116 2012-09-14  Wei Guozhi  <carrot@google.com>
117
118         Backport from 2012-02-13 mainline r184169.
119
120         * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
121         away if seen.
122
123 2012-09-10  Georg-Johann Lay  <avr@gjlay.de>
124
125         Backport from 2012-09-10 mainline r191132.
126         
127         PR target/54536
128         * config/avr/avr-devices.c (avr_mcu_types["at90usb1287"]): Set
129         .library_name to "usb1287".
130
131 2012-09-10  Markus Trippelsdorf  <markus@trippelsdorf.de>
132
133         PR middle-end/54515
134         * tree-sra.c (disqualify_base_of_expr): Check for possible
135         NULL_TREE returned by get_base_address()
136
137 2012-09-05  Bin Cheng  <bin.cheng@arm.com>
138
139         Backport from 2012-09-04 mainline r190919
140
141         PR target/45070
142         * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value of
143         size less than 4 bytes by using macro ARM_NUM_INTS.
144         (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS.
145
146 2012-09-04  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
147
148         Backport from 2012-09-04 mainline r190914
149
150         PR target/54220
151         * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
152         define to...
153         (avr_allocate_stack_slots_for_args): ...this new static function.
154
155 2012-09-03  H.J. Lu  <hongjiu.lu@intel.com>
156
157         Backported from mainline
158         2012-08-23  H.J. Lu  <hongjiu.lu@intel.com>
159
160         PR driver/54335
161         * doc/invoke.texi: Add -da and remove -dm.
162
163 2012-09-02  Eric Botcazou  <ebotcazou@adacore.com>
164
165         PR rtl-optimization/54369
166         * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
167         calling dbr_schedule.
168         * config/sparc/sparc.c (sparc_reorg): Likewise.
169
170 2012-08-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
171
172         * config/sol2.h (LINK_ARCH32_SPEC_BASE): Add /lib to default
173         linker search path.
174         * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Likewise for
175         /lib/sparcv9.
176
177 2012-08-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
178
179         Backport from mainline
180         2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
181                     Richard Earnshaw  <rearnsha@arm.com>
182
183         * target.def (vector_alignment): New target hook.
184         * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
185         * doc/tm.texi: Regenerate.
186         * targhooks.c (default_vector_alignment): New function.
187         * targhooks.h (default_vector_alignment): Add prototype.
188         * stor-layout.c (layout_type): Use targetm.vector_alignment.
189         * config/arm/arm.c (arm_vector_alignment): New function.
190         (TARGET_VECTOR_ALIGNMENT): Define.
191
192         * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
193         vector type alignment instead of size.
194         * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
195         element type size directly instead of computing it from alignment.
196         Fix variable naming and comment.
197
198 2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
199
200         Backport from mainline
201         2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
202
203         * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
204         (alpha_pad_function_end): ... this.  Also insert NOP between
205         sibling call and GP load.
206         (alpha_reorg): Update call to alpha_pad_function_end.  Expand comment.
207
208 2012-07-22  Oleg Endo  <olegendo@gcc.gnu.org>
209
210         PR target/33135
211         * config/sh/sh.opt (mieee): Use Var instead of Mask.  Correct
212         description.
213         * config/sh/sh.c (sh_option_override): Do not change
214         flag_finite_math_only.  Set TARGET_IEEE to complement of
215         flag_finite_math_only.
216         * doc/invoke.texi (SH options): Add mno-ieee.  Correct
217         description of mieee and mno-ieee behavior.
218
219 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
220
221         Backported from trunk:
222         2012-07-13  Richard Sandiford  <rdsandiford@googlemail.com>
223                     Steven Bosscher  <steven@gcc.gnu.org>
224                     Bernd Schmidt  <bernds@codesourcery.com>
225
226         PR rtl-optimization/53908
227         * df-problems.c (can_move_insns_across): When doing
228         memory-reference book-keeping, handle call insns.
229
230 2012-07-06  Nick Clifton  <nickc@redhat.com>
231
232         * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
233         default_encode_section_info.
234
235 2012-07-04  Richard Guenther  <rguenther@suse.de>
236
237         PR middle-end/53433
238         * tree-ssa-ccp.c (get_base_constructor): Do not return an
239         error_mark_node DECL_INITIAL.
240
241 2012-07-02  Martin Jambor  <mjambor@suse.cz>
242
243         PR middle-end/38474
244         * ipa-prop.c (compute_known_type_jump_func): Check for a BINFO before
245         checking for a dynamic type change.
246
247 2012-06-28  Richard Guenther  <rguenther@suse.de>
248
249         PR middle-end/53790
250         * expr.c (expand_expr_real_1): Verify if the type is complete
251         before inspecting its size.
252
253 2012-06-22  Richard Guenther  <rguenther@suse.de>
254
255         * gcov-iov.c: Include bconfig.h and system.h.
256
257 2012-06-22  Richard Guenther  <rguenther@suse.de>
258
259         PR gcov-profile/53744
260         * gcov-iov.c (main): Treat "" and "prerelease" the same.
261
262 2012-06-19  Joey Ye  <joey.ye@arm.com>
263
264         Backported from mainline
265         2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>
266
267         * config/arm/arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1.
268
269 2012-06-18  Joey Ye  <joey.ye@arm.com>
270
271         Backported from mainline
272         2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>
273
274         PR target/48126
275         * config/arm/arm.c (arm_output_sync_loop): Move label before barrier.
276
277 2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
278
279         Backport from mainline:
280         2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
281
282         * config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
283
284 2012-06-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
285
286         Backport from mainline:
287         2012-06-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
288
289         * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define.
290         * config/pa/pa.c (pa_attr_length_millicode_call): Use
291         MAX_PCREL17F_OFFSET instead of fixed offset.
292         (pa_attr_length_call): Likewise.
293         (pa_attr_length_indirect_call): Likewise.
294
295 2012-06-12  Christian Bruel  <christian.bruel@st.com>
296
297         PR target/53621
298         * config/sh/sh.c (sh_option_override): Don't force
299          flag_omit_frame_pointer and maccumulate_outgoing_args.
300         * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
301
302 2012-06-05  Peter Bergner  <bergner@vnet.ibm.com>
303
304         Backport from mainline
305         2011-08-29  Jakub Jelinek  <jakub@redhat.com>
306
307         * gthr-posix.h (__gthread_active_p): Do not use preprocessor
308         conditionals and comments inside macro arguments.
309
310 2012-06-04  Edmar Wienskoski  <edmar@freescale.com>
311
312         PR target/53559
313         * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
314         operands.
315         (altivec_stvlxl): Ditto.
316         (altivec_stvrx): Ditto.
317         (altivec_stvrxl): Ditto.
318
319 2012-06-04  Georg-Johann Lay  <avr@gjlay.de>
320
321         Backport from 2012-06-04 mainline r188172
322
323         PR target/46261
324         * config/avr/avr-stdint.h: New file.
325         * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
326         newlib-stdint.h
327
328 2012-06-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
329
330         PR target/52999
331         * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
332         (pa_section_type_flags): New.
333         * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Revert previous change.
334
335 2012-05-31  Richard Guenther  <rguenther@suse.de>
336
337         PR middle-end/53541
338         * tree-pretty-print.c (dump_generic_node): Guard against
339         NULL_TREE TREE_TYPE when dumping MEM_REF offset type.
340
341 2012-05-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
342
343         Backport from mainline
344         2012-05-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
345
346         PR target/53385
347         * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
348         relied on signed overflow behavior.
349
350 2012-05-22  Richard Guenther  <rguenther@suse.de>
351
352         Backport from mainline
353         2011-11-10  Richard Guenther  <rguenther@suse.de>
354
355         PR middle-end/51071
356         * gimple.c (gimple_has_side_effects): Remove checking code
357         that doesn't belong here.
358
359 2012-05-22  Richard Guenther  <rguenther@suse.de>
360
361         Backport from mainline
362         2012-02-28  Richard Guenther  <rguenther@suse.de>
363
364         PR target/52407
365         * config/i386/i386.c (ix86_expand_vector_set): Fix element
366         ordering for the VEC_CONCAT for two element vectors for
367         V2SFmode, V2SImode and V2DImode.
368
369 2012-05-22  Richard Guenther  <rguenther@suse.de>
370
371         Backport from mainline
372         2012-04-12  Richard Guenther  <rguenther@suse.de>
373
374         PR c/52862
375         * convert.c (convert_to_pointer): Remove special-casing of zero.
376
377 2012-05-21  Joseph Myers  <joseph@codesourcery.com>
378
379         PR c/53418
380         * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
381         from folded operands before wrapping another around the
382         conditional expression.
383
384 2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
385
386         Backport from mainline
387         2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
388
389         PR target/53416
390         * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
391         (UNSPECV_RDRAND): This.
392         (rdrand<mode>_1): Updated.
393
394 2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
395
396         Backport from mainline
397         2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
398
399         * config/i386/driver-i386.c (host_detect_local_cpu): Support
400         RDRND, F16C and FSGSBASE.
401
402 2012-05-16  Eric Botcazou  <ebotcazou@adacore.com>
403
404         * configure: Regenerate.
405
406 2012-05-14  Uros Bizjak  <ubizjak@gmail.com>
407
408         PR target/46098
409         * config/i386/i386.c (ix86_expand_special_args_builtin): Always
410         generate target register for "load" class builtins.
411
412         Revert:
413         2010-10-22  Uros Bizjak  <ubizjak@gmail.com>
414
415         PR target/46098
416         * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
417         Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
418         (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
419         (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
420         (<sse>_movu<ssemodesuffix>): New expander.
421         (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
422         (avx_movdqu<avxmodesuffix>): New expander.
423         (*sse2_movdqu): Rename from sse2_movdqu.
424         (sse2_movdqu): New expander.
425
426 2012-05-13  Uros Bizjak  <ubizjak@gmail.com>
427
428         Backport from mainline
429         2012-05-12  Uros Bizjak  <ubizjak@gmail.com>
430
431         * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
432         ORDERED and UNORDERED conditions.
433
434 2012-05-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
435
436         PR target/52999
437         * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Don't put function labels
438         in constant pool.
439
440 2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
441
442         Backport from mainline
443         2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
444
445         PR target/53228
446         * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
447         (TARGET_CMOV): Rename from TARGET_CMOVE.
448         (TARGET_CMOVE): New define.
449         * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
450         Do not set TARGET_CMOVE here.
451
452 2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
453
454         Backport from the mainline
455         2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
456
457         PR target/53199
458         * config/rs6000/rs6000.md (bswapdi splitters): If
459         -mavoid-indexed-addresses (or -mcpu=power6 which sets it by
460         default) is used, generate an alternate sequence that does not
461         depend on using indexed addressing.
462
463 2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
464
465         Backport from mainline
466         2012-04-27  Paolo Bonzini  <bonzini@gnu.org>
467
468         PR target/53138
469         * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber.
470
471 2012-04-24  Jakub Jelinek  <jakub@redhat.com>
472
473         PR middle-end/53084
474         * varasm.c (compute_reloc_for_constant): Handle ADDR_EXPR of MEM_REF.
475         (output_addressed_constants): Likewise.
476
477 2012-04-20  Thomas Schwinge  <thomas@codesourcery.com>
478
479         struct siginfo vs. siginfo_t
480
481         Backport from trunk (but apply to gcc/):
482
483         2012-04-20  Thomas Schwinge  <thomas@codesourcery.com>
484
485         * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Use
486         siginfo_t instead of struct siginfo.
487         * config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise.
488         * config/i386/linux-unwind.h (x86_fallback_frame_state): Likewise.
489         * config/ia64/linux-unwind.h (ia64_fallback_frame_state)
490         (ia64_handle_unwabi): Likewise.
491         * config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise.
492         * config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise.
493         * config/sh/linux-unwind.h (shmedia_fallback_frame_state)
494         (sh_fallback_frame_state): Likewise.
495         * config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise.
496
497 2012-04-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
498
499         Backport from mainline
500         2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
501
502         PR target/52775
503         * config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
504         the list of options to enable the FCFID instruction.
505
506 2012-04-12  Richard Earnshaw  <rearnsha@arm.com>
507
508         PR target/49448
509         * config.gcc (arm*-*-linux*): Use an unambiguous pattern for
510         detecting big-endian triplets.
511
512 2012-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
513
514         PR middle-end/52894
515         * varasm.c (process_pending_assemble_externals): Set
516         pending_assemble_externals_processed true.
517         (assemble_external): Call assemble_external_real if the pending
518         assemble externals have been processed.
519
520 2012-04-09  Eric Botcazou  <ebotcazou@adacore.com>
521
522         PR target/52717
523         * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
524         the DECL generated for the special GOT helper.
525
526 2012-04-06  Matt Turner  <mattst88@gmail.com>
527
528         * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc".
529
530 2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
531
532         * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
533         crossing 128bit lane boundary.
534
535 2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
536
537         Backported from mainline
538         2012-03-27  Uros Bizjak  <ubizjak@gmail.com>
539
540         PR target/52698
541         * config/i386/i386-protos.h (ix86_legitimize_reload_address):
542         New prototype.
543         * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
544         * config/i386/i386.c: Include reload.h.
545         (ix86_legitimize_reload_address): New function.
546
547 2012-03-28  Joey Ye  <joey.ye@arm.com>
548
549         Backported from mainline
550         2011-12-20  Bernd Schmidt  <bernds@codesourcery.com>
551
552         PR middle-end/51200
553         * expr.c (store_field): Avoid a direct store if the mode is larger
554         than the size of the bit field.
555         * stor-layout.c (layout_decl): If flag_strict_volatile_bitfields,
556         treat non-volatile bit fields like volatile ones.
557         * toplev.c (process_options): Disallow combination of
558         -fstrict-volatile-bitfields and ABI versions less than 2.
559         * config/arm/arm.c (arm_option_override): Don't enable
560         flag_strict_volatile_bitfields if the ABI version is less than 2.
561         * config/h8300/h8300.c (h8300_option_override): Likewise.
562         * config/rx/rx.c (rx_option_override): Likewise.
563         * config/m32c/m32c.c (m32c_option_override): Likewise.
564         * config/sh/sh.c (sh_option_override): Likewise.
565
566         2011-12-22  Joey Ye  <joey.ye@arm.com>
567
568         * toplev.c (process_options): Fix typo.
569
570 2012-03-28  Martin Jambor  <mjambor@suse.cz>
571
572         Backported from mainline
573         2012-03-27  Martin Jambor  <mjambor@suse.cz>
574
575         PR middle-end/52693
576         * tree-sra.c (sra_modify_assign): Do not call
577         load_assign_lhs_subreplacements when working with an unscalarizable
578         region.
579
580 2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
581
582         PR target/52741
583
584         Revert r181936 from 2011-12-02 for:
585         * config/avr/libgcc.S (__prologue_saves__, __epilogue_restores__)
586         * config/avr/avr.md (movhi_sp_r_irq_off, movhi_sp_r_irq_on)
587         * config/avr/avr.c (output_movhi, avr_file_start)
588
589 2012-03-28  Jakub Jelinek  <jakub@redhat.com>
590
591         PR target/52736
592         * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0
593         instead of 8 in adjust_address.
594
595 2012-03-24  Jan Hubicka  <jh@suse.cz>
596
597         Backport from mainline
598         PR regression/52696
599         * predict.c (predict_paths_for_bb): Fix typo.
600
601 2012-03-24  Jan Hubicka  <jh@suse.cz>
602
603         Backport from mainline
604         PR middle-end/51737
605         * cgraph.c (cgraph_remove_node_and_inline_clones): Add FORBIDDEN_NODE
606         parameter.
607         * cgraph.h (cgraph_remove_node_and_inline_clones): Update prototype.
608         * ipa-inline-transform.c (save_inline_function_body): Remove copied
609         clone if needed.
610         * tree-inline.c (delete_unreachable_blocks_update_callgraph): Update.
611
612 2012-03-24  Steven Bosscher  <steven@gcc.gnu.org>
613
614         PR middle-end/52640
615         * varasm.c: Include pointer-set.h.
616         (pending_assemble_externals_set): New pointer set.
617         (process_pending_assemble_externals): Destroy the pointer set.
618         (assemble_external): See if decl is in pending_assemble_externals_set,
619         and add it to pending_assemble_externals if necessary.
620         (init_varasm_once): Allocate pending_assemble_externals_set.
621
622 2012-03-16  Jan Hubicka  <jh@suse.cz>
623
624         Backport from mainline
625         PR middle-end/48600
626         * predict.c (predict_paths_for_bb): Prevent looping.
627         (predict_paths_leading_to_edge, predict_paths_leading_to): Update.
628
629 2012-03-16  Michael Hope  <michael.hope@linaro.org>
630
631         Backport from mainline
632         2011-05-05  Michael Hope  <michael.hope@linaro.org>
633
634         PR pch/45979
635         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
636         __ARM_EABI__ hosts.
637
638 2012-03-15  Chung-Lin Tang  <cltang@codesourcery.com>
639
640         Backport from mainline
641         2012-03-10  Chung-Lin Tang  <cltang@codesourcery.com>
642
643         PR rtl-optimization/52528
644         * combine.c (can_combine_p): Add setting of subst_low_luid
645         before call to expand_field_assignment().
646
647 2012-03-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
648
649         Backport from mainline
650         2011-09-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
651
652         PR Bug middle-end/50232
653         * config/pa/pa.md (return): Define "return" insn pattern.
654         (epilogue): Use it when no epilogue is needed.
655         * config/pa/pa.c (pa_can_use_return_insn): New function.
656         * config/pa/pa-protos.h (pa_can_use_return_insn): Declare.
657
658         Backport for mainline
659         2012-01-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
660
661         PR target/51871
662         * config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export
663         stubs.
664
665 2012-03-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
666
667         Backport from mainline
668         PR target/50310
669         * config/rs6000/vector.md (vector_uneq<mode>): Add support for
670         UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
671         (vector_ltgt<mode>): Likewise.
672         (vector_ordered<mode>): Likewise.
673         (vector_unordered<mode>): Likewise.
674         * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
675
676 2012-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
677
678         Backport from mainline
679         2012-03-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
680
681         PR target/52408
682         * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
683         unsigned HOST_WIDE_INT.
684         (zvdep_imm64): Likewise.
685         (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
686         (vdepi_and): Likewise.
687         Likewise for unamed 64-bit patterns.
688         * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
689
690 2012-03-03  Eric Botcazou  <ebotcazou@adacore.com>
691
692         PR target/52425
693         Backport from mainline
694         2011-05-22  Eric Botcazou  <ebotcazou@adacore.com>
695
696         * config/sparc/sparc.c (sparc_delegitimize_address): Handle
697         UNSPEC_MOVE_PIC pattern.
698
699 2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
700
701         Backport from mainline
702         2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
703
704         * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
705
706 2012-03-02  Bill Schmidt <wschmidt@linux.vnet.ibm.com>
707             Ira Rosen <irar@il.ibm.com>
708
709         PR tree-optimization/50031
710         PR tree-optimization/50969
711         * targhooks.c (default_builtin_vectorization_cost): Handle
712         vec_promote_demote.
713         * target.h (enum vect_cost_for_stmt): Add vec_promote_demote.
714         * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle
715         all types of reduction and pattern statements.
716         (vect_estimate_min_profitable_iters): Likewise.
717         * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function.
718         (vect_model_store_cost): Use vec_perm rather than vector_stmt for
719         statement cost.
720         (vect_model_load_cost): Likewise.
721         (vect_get_load_cost): Likewise; add dump logic for explicit realigns.
722         (vectorizable_type_demotion): Call vect_model_promotion_demotion_cost.
723         (vectorizable_type_promotion): Likewise.
724         * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
725         vec_promote_demote.
726         * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
727         * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
728         vec_perm for VSX and handle vec_promote_demote.
729
730 2012-03-01  Jakub Jelinek  <jakub@redhat.com>
731
732         * BASE-VER: Set to 4.6.4.
733         * DEV-PHASE: Set to prerelease.
734
735 2012-03-01  Release Manager
736
737         * GCC 4.6.3 released.
738
739 2012-02-27  Uros Bizjak  <ubizjak@gmail.com>
740
741         Revert:
742         2012-02-02  Uros Bizjak  <ubizjak@gmail.com>
743
744         Backport from mainline:
745         2011-11-18  Uros Bizjak  <ubizjak@gmail.com>
746
747         PR tree-optimization/51118
748         * fold-const.c (fold_checksum_tree): Check for TS_TYPED structure
749         before using TREE_TYPE accessor on expr.
750
751 2012-02-23  Jakub Jelinek  <jakub@redhat.com>
752
753         Backported from trunk
754         2012-02-20  Jakub Jelinek  <jakub@redhat.com>
755
756         PR tree-optimization/52286
757         * fold-const.c (fold_binary_loc): For (X & C1) | C2
758         optimization use double_int_to_tree instead of build_int_cst_wide,
759         rewrite to use double_int vars.
760
761 2012-02-23  Uros Bizjak  <ubizjak@gmail.com>
762
763         PR c/52290
764         * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL.
765
766 2012-02-22  Uros Bizjak  <ubizjak@gmail.com>
767
768         PR target/52330
769         * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
770         is not offsettable memory reference.
771
772 2012-02-21  Richard Earnshaw  <rearnsha@arm.com>
773
774         PR target/52294
775         * thumb2.md (thumb2_shiftsi3_short): Split register and
776         immediate shifts.  For register shifts tie operands 0 and 1.
777         (peephole2 for above): Check that register-controlled shifts
778         have suitably tied operands.
779
780 2012-02-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
781
782         * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace
783         TARGET_HARD_FLOAT with TARGET_HARD_DFP.
784
785 2012-02-20  Kai Tietz  <ktietz@redhat.com>
786
787         PR target/52238
788         * stor-layout.c (place_field): Handle desired_align for
789         ms-bitfields, too.
790
791 2012-02-20  Kai Tietz  <ktietz@redhat.com>
792
793         PR libstdc++/52300
794         * gthr.h (GTHREAD_USE_WEAK): Define as zero for mingw.
795
796 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
797
798         PR debug/52260
799         * dwarf2out.c (copy_decls_walk): Fill in *slot before traversing
800         children with clone_tree_hash, not after it.
801
802 2012-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
803
804         Backport from mainline
805         2012-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
806
807         PR target/52199
808         * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
809         force_reg instead of copy_to_reg for better optimization.  Force
810         non-register or memory operands into a register.
811
812 2012-02-15  Richard Guenther  <rguenther@suse.de>
813
814         Backport from mainline
815         2012-02-08  Richard Guenther  <rguenther@suse.de>
816
817         PR tree-optimization/46886
818         * tree-flow.h (do_while_loop_p): Declare.
819         * tree-ssa-loop-ch.c (do_while_loop_p): Export.
820         * tree-parloops.c (parallelize_loops): Only parallelize do-while
821         loops.
822
823 2012-02-15  Eric Botcazou  <ebotcazou@adacore.com>
824
825         PR target/51921
826         PR target/52205
827         * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Add support for
828         Solaris 11 and slightly reformat.
829         (sparc_is_sighandler): Likewise.
830
831 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
832
833         Backported from mainline
834         2012-02-14  Jakub Jelinek  <jakub@redhat.com>
835
836         PR debug/51950
837         * dwarf2out.c (clone_tree_hash): New function.
838         (copy_decls_walk): Use it instead of clone_tree.
839
840         PR c/52181
841         * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to
842         newdecl.
843
844         2012-02-13  Jakub Jelinek  <jakub@redhat.com>
845
846         * cselib.c (dump_cselib_val): Don't assume l->setting_insn is
847         non-NULL.
848
849         PR middle-end/52230
850         * omp-low.c (expand_omp_for): If a static schedule without
851         chunk size has NULL region->cont, force fd.chunk_size to be
852         integer_zero_node.
853
854         PR bootstrap/51969
855         Backported from mainline
856         2011-11-08  Michael Matz  <matz@suse.de>
857
858         * gengtype.c (write_field_root): Avoid out-of-scope access of newv.
859
860 2012-02-14  Bin Cheng  <bin.cheng@arm.com>
861
862         Backport from mainline.
863         2011-06-08  Julian Brown  <julian@codesourcery.com>
864
865         * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
866         for double-precision helper functions in hard-float mode if only
867         single-precision arithmetic is supported in hardware.
868
869 2012-02-11  Uros Bizjak  <ubizjak@gmail.com>
870
871         * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
872         having the same mode as previous compare.
873
874 2012-02-09  Jack Howarth  <howarth@bromo.med.uc.edu>
875
876         Backported from mainline
877         2011-06-27  Richard Guenther  <rguenther@suse.de>
878
879         PR tree-optimization/49536
880         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
881         For non-scalar inner types use a scalar type according to
882         the scalar inner mode.
883
884 2012-02-09  Jakub Jelinek  <jakub@redhat.com>
885
886         Backported from mainline
887         2012-02-08  Jakub Jelinek  <jakub@redhat.com>
888
889         PR rtl-optimization/52139
890         * cfgrtl.c (cfg_layout_merge_blocks): If BB_END
891         is a BARRIER after emit_insn_after_noloc, move BB_END
892         to the last non-BARRIER insn before it.
893
894         2012-02-07  Jakub Jelinek  <jakub@redhat.com>
895
896         PR rtl-optimization/52060
897         * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables,
898         copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already
899         before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy
900         and/or i0src_copy2 when needed.
901
902         PR middle-end/52074
903         * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
904         if modifier < EXPAND_SUM call force_operand on the result.
905
906         2012-02-06  Jakub Jelinek  <jakub@redhat.com>
907
908         PR target/52129
909         * calls.c (mem_overlaps_already_clobbered_arg_p): If val is
910         CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it.
911
912         2012-02-02  Jakub Jelinek  <jakub@redhat.com>
913
914         PR middle-end/48071
915         * diagnostic.c (diagnostic_finish): Remove trailing newlines.
916
917         2012-01-28  Jakub Jelinek  <jakub@redhat.com>
918
919         PR target/52006
920         * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
921         arm_general_register_operand predicate for operand 2 instead of
922         register_operand.
923
924         2012-01-19  Jakub Jelinek  <jakub@redhat.com>
925
926         PR libmudflap/40778
927         * tree-mudflap.c (mf_artificial): New function.
928         (execute_mudflap_function_ops, execute_mudflap_function_decls,
929         mx_register_decls, mudflap_enqueue_decl): Use it.
930
931         2012-01-05  Jakub Jelinek  <jakub@redhat.com>
932
933         PR rtl-optimization/51767
934         * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
935         of jump_block and add an extra edge for degenerated asm gotos.
936
937         PR middle-end/51768
938         * stmt.c (check_unique_operand_names): Don't ICE during error
939         reporting if i is from labels chain.
940
941         PR middle-end/44777
942         * profile.c (branch_prob): Split bbs that have exit edge
943         and need a fake entry edge too.
944
945         2012-01-04  Jakub Jelinek  <jakub@redhat.com>
946
947         PR debug/51695
948         * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
949         in .debug_loc on the floor.
950
951         2011-12-15  Jakub Jelinek  <jakub@redhat.com>
952
953         PR c/51360
954         * c-parser.c (c_parser_omp_clause_num_threads,
955         c_parser_omp_clause_schedule): Call mark_exp_read.
956
957         PR debug/51517
958         * tree-ssa-coalesce.c (coalesce_ssa_name): For !optimize, test
959         !DECL_IGNORED_P instead of !DECL_ARTIFICIAL.
960
961 2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
962
963         Backport from mainline
964         2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
965
966         PR middle-end/52140
967         * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
968
969 2012-02-09  Andrey Belevantsev  <abel@ispras.ru>
970
971         Backport from mainline
972         2012-01-20  Andrey Belevantsev  <abel@ispras.ru>
973
974         PR target/51106
975         * function.c (instantiate_virtual_regs_in_insn): Use
976         delete_insn_and_edges when removing a wrong asm insn.
977
978 2012-02-07  Eric Botcazou  <ebotcazou@adacore.com>
979
980         PR middle-end/51994
981         * expr.c (get_inner_reference): If there is an offset, add a negative
982         bit position to it (if any).
983
984 2012-02-07  Kai Tietz  <ktietz@redhat.com>
985             Dave Korn  <dave.korn.cygwin@gmail.com>
986
987         PR target/40068
988         * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
989         Take care that typinfo gets dllexport-attribute.
990
991 2012-02-07  Alan Modra  <amodra@gmail.com>
992
993         PR target/52107
994         * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
995         subregs of TFmode.
996
997 2012-02-02  Uros Bizjak  <ubizjak@gmail.com>
998
999         Backport from mainline:
1000         2011-11-18  Uros Bizjak  <ubizjak@gmail.com>
1001
1002         PR tree-optimization/51118
1003         * fold-const.c (fold_checksum_tree): Check for TS_TYPED structure
1004         before using TREE_TYPE accessor on expr.
1005
1006 2012-01-12  Georg-Johann Lay  <avr@gjlay.de>
1007
1008         Backport from mainline r183796
1009         PR rtl-optimization/51374
1010         * combine.c (can_combine_p): Don't allow volatile_refs_p insns
1011         to cross other volatile_refs_p insns.
1012
1013 2012-01-31  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
1014
1015         Backport from mainline.
1016         2011-01-31  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
1017
1018         config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true
1019         condition.
1020
1021 2012-01-31  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1022
1023         * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag
1024         to srak instruction.
1025
1026 2012-01-30  Bin Cheng  <bin.cheng@arm.com>
1027
1028         Backport from mainline.
1029         2012-01-30  Bin Cheng  <bin.cheng@arm.com>
1030
1031         PR target/51835
1032         * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
1033         for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
1034
1035 2012-01-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1036
1037         Backport from mainline.
1038         2012-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1039
1040         PR target/50313
1041         * config/arm/arm.c (arm_load_pic_register): Use
1042         gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit
1043         , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four.
1044         (arm_pic_static_addr): Likewise.
1045         (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED.
1046         (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED.
1047         * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define.
1048         (pic_load_addr_unified): New.
1049
1050 2012-01-25  Richard Guenther  <rguenther@suse.de>
1051
1052         * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both
1053         bases are dereferenced.
1054
1055 2012-01-24  Richard Guenther  <rguenther@suse.de>
1056
1057         Forward-port to branch
1058         2010-09-21  Jakub Jelinek  <jakub@redhat.com>
1059
1060         PR middle-end/45678
1061         * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
1062         op0 isn't sufficiently aligned and there is movmisalignM
1063         insn for mode, use it to load op0 into a temporary register.
1064
1065 2012-01-20  Eric Botcazou  <ebotcazou@adacore.com>
1066
1067         * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK.
1068
1069 2012-01-19  Quentin Neill  <quentin.neill@amd.com>
1070
1071         PR target/48743
1072         * config/i386/driver-i386.c (host_detect_local_cpu): Also check
1073         family to distinguish PROCESSOR_ATHLON.
1074
1075 2012-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1076
1077         PR tree-optimization/49642
1078         * ipa-split.c (forbidden_dominators): New variable.
1079         (check_forbidden_calls): New function.
1080         (dominated_by_forbidden): Likewise.
1081         (consider_split): Check for forbidden dominators.
1082         (execute_split_functions): Initialize and free forbidden
1083         dominators info; call check_forbidden_calls.
1084
1085 2012-01-18  David Edelsohn  <dje.gcc@gmail.com>
1086
1087         * config/rs6000/rs6000.md (call_value_indirect_aix32): Fix typo
1088         in mode of operand[4].
1089
1090 2012-01-15  Uros Bizjak  <ubizjak@gmail.com>
1091
1092         PR rtl-optimization/51821
1093         * recog.c (peep2_find_free_register): Determine clobbered registers
1094         from insn pattern.
1095
1096 2012-01-12  Georg-Johann Lay  <avr@gjlay.de>
1097
1098         Backport from mainline r183129
1099         PR target/51756
1100         * config/avr/avr.c (avr_encode_section_info): Test for absence of
1101         DECL_EXTERNAL when checking for initializers of progmem variables.
1102
1103 22012-01-12  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
1104
1105         Backport from mainline
1106         2012-01-11  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
1107
1108         * config/arm/arm.md (mov_notscc): Use MVN for false condition.
1109
1110 2012-01-12  Uros Bizjak  <ubizjak@gmail.com>
1111
1112         * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
1113         (x86_shift<mode>_adj_1): Remove operand constraint from operand 3.
1114
1115 2012-01-10  Joseph Myers  <joseph@codesourcery.com>
1116
1117         Revert:
1118
1119         2008-09-18  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1120
1121         PR rtl-opt/37451
1122         * loop-doloop.c (doloop_modify): New argument zero_extend_p and
1123         zero extend count after the correction to it is done.
1124         (doloop_optimize): Update call to doloop_modify, don't zero extend
1125         count before call.
1126
1127         2008-11-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1128
1129         PR rtl-opt/37782
1130         * loop-doloop.c (doloop_modify): Add from_mode argument that says what
1131         mode count is in.
1132         (doloop_optimize): Update call to doloop_modify.
1133
1134 2012-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
1135
1136         * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
1137
1138 2012-01-09  Eric Botcazou  <ebotcazou@adacore.com>
1139
1140         * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Check that the
1141         purported sigacthandler address isn't null before dereferencing it.
1142         (sparc_is_sighandler): Likewise.
1143
1144 2012-01-09  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1145
1146         Backport from mainline
1147         2011-11-04  Jiangning Liu  <jiangning.liu@arm.com>
1148
1149         PR rtl-optimization/38644
1150         * config/arm/arm.c (thumb1_expand_epilogue): Add memory barrier
1151         for epilogue having stack adjustment.
1152
1153 2012-01-09  Eric Botcazou  <ebotcazou@adacore.com>
1154
1155         PR ada/41929
1156         * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove SAVPC and
1157         add CFA.  Revert back to old code for Solaris 8+ multi-threaded.
1158         (sparc_is_sighandler): Likewise.
1159         (MD_FALLBACK_FRAME_STATE_FOR): Adjust call to IS_SIGHANDLER.
1160
1161 2012-01-06  Eric Botcazou  <ebotcazou@adacore.com>
1162
1163         Backport from mainline
1164         2012-01-06  Arnaud Charlet  <charlet@adacore.com>
1165
1166         * c-decl.c (ext_block): Moved up.
1167         (collect_all_refs, for_each_global_decl): Take ext_block into account.
1168
1169 2012-01-06  Richard Sandiford  <richard.sandiford@linaro.org>
1170
1171         PR middle-end/48660
1172         * expr.h (copy_blkmode_to_reg): Declare.
1173         * expr.c (copy_blkmode_to_reg): New function.
1174         (expand_assignment): Don't expand register RESULT_DECLs before
1175         the lhs.  Use copy_blkmode_to_reg to copy BLKmode values into a
1176         RESULT_DECL register.
1177         (expand_expr_real_1): Handle BLKmode decls when looking for promotion.
1178
1179 2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
1180
1181         PR tree-optimization/51315
1182         * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
1183         (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
1184
1185 2012-01-04  Eric Botcazou  <ebotcazou@adacore.com>
1186
1187         PR tree-optimization/51624
1188         * tree-sra.c (build_ref_for_model): When replicating a chain of
1189         COMPONENT_REFs, stop as soon as the offset would become negative.
1190
1191 2012-01-04  Richard Guenther  <rguenther@suse.de>
1192
1193         PR tree-optimization/49651
1194         * tree-ssa-structalias.c (type_can_have_subvars): New function.
1195         (var_can_have_subvars): Use it.
1196         (get_constraint_for_1): Only consider subfields if there can be any.
1197
1198 2012-01-03  Sandra Loosemore  <sandra@codesourcery.com>
1199
1200         Backport from mainline:
1201         2012-01-02  Sandra Loosemore  <sandra@codesourcery.com>
1202
1203         * doc/invoke.texi (-flto and related options): Copy-edit.
1204
1205 2012-01-03  Richard Guenther  <rguenther@suse.de>
1206
1207         Backport from mainline
1208         2011-11-10  Richard Guenther  <rguenther@suse.de>
1209
1210         PR tree-optimization/51042
1211         * tree-ssa-pre.c (phi_translate_1): Avoid recursing on
1212         self-referential expressions.  Refactor code to avoid duplication.
1213
1214 2012-01-03  Richard Guenther  <rguenther@suse.de>
1215
1216         PR tree-optimization/51070
1217         * tree-loop-distribution.c (generate_builtin): Do not replace
1218         the loop with a builtin if the partition contains statements which
1219         results are used outside of the loop.
1220         (stmt_has_scalar_dependences_outside_loop): Properly handle calls.
1221
1222 2011-12-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
1223
1224         Backport from the mainline
1225         2011-12-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
1226
1227         * config/rs6000/rs6000.c (rs6000_inner_target_options): Fix thinko
1228         in setting options via target #pragma or attribute.
1229
1230 2011-12-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
1231
1232         Backport from mainline
1233         2011-12-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
1234
1235         PR target/51623
1236         * config/rs6000/rs6000.c (rs6000_assemble_integer): Don't call
1237         unlikely_text_section_p.  Instead check for being in a code section.
1238
1239 2011-12-23  Richard Guenther  <rguenther@suse.de>
1240
1241         PR rtl-optimization/50396
1242         * simplify-rtx.c (simplify_binary_operation_1): Properly
1243         guard code that only works for integers.
1244
1245 2011-12-22  Doug Kwan  <dougkwan@google.com>
1246
1247         Backport from mainline
1248         2011-03-23  Julian Brown  <julian@codesourcery.com>
1249
1250         * expr.c (expand_expr_real_1): Only use BLKmode for volatile
1251         accesses which are not naturally aligned.
1252
1253         2011-11-20  Joey Ye  <joey.ye@arm.com>
1254
1255         * expr.c (expand_expr_real_1): Correctly handle strict volatile
1256         bitfield loads smaller than mode size.
1257
1258 2011-12-21  Richard Earnshaw  <rearnsha@arm.com>
1259
1260         PR target/51643
1261         * arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous
1262         change.
1263
1264 2011-12-21  Richard Earnshaw  <rearnsha@arm.com>
1265
1266         PR target/51643
1267         * arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a
1268         weak function on bare-metal EABI targets.
1269
1270 2011-12-21  Uros Bizjak  <ubizjak@gmail.com>
1271
1272         Backport from mainline
1273         2011-12-21  Richard Guenther  <rguenther@suse.de>
1274
1275         PR lto/41159
1276         * tree-outof-ssa.c (insert_value_copy_on_edge): Use the
1277         mode of the pseudo as destination mode.  Only assert that
1278         is equal to the promoted mode of the decl if it is a REG.
1279
1280 2011-12-21  Uros Bizjak  <ubizjak@gmail.com>
1281
1282         * config/alpha/linux-unwind.h: Update copyright years.
1283         (MD_FROB_UPDATE_CONTEXT): New define.
1284         (alpha_frob_update_context): New function.
1285
1286 2011-12-19  Martin Jambor  <mjambor@suse.cz>
1287
1288         PR tree-optimization/51583
1289         * tree-sra.c (load_assign_lhs_subreplacements): Call
1290         force_gimple_operand_gsi when necessary also in case of no
1291         corresponding replacement on the RHS.
1292
1293 2011-12-16  Eric Botcazou  <ebotcazou@adacore.com>
1294
1295         * config/sparc/sparc.md (UNSPEC_FRAME_BLOCKAGE): New constant.
1296         (frame_blockage): New expander.
1297         (frame_blockage<P:mode>): New instruction.
1298         * config/sparc/sparc.c (sparc_expand_prologue): When the sequence of
1299         instructions establishing the frame isn't atomic, emit frame blockage.
1300
1301 2011-12-15  H.J. Lu  <hongjiu.lu@intel.com>
1302
1303         Backport from mainline.
1304         2011-10-28  Chung-Lin Tang  <cltang@codesourcery.com>
1305
1306         PR rtl-optimization/49720
1307         * simplify-rtx.c (simplify_relational_operation_1): Detect
1308         infinite recursion condition in "(eq/ne (plus x cst1) cst2)
1309         simplifies to (eq/ne x (cst2 - cst1))" case.
1310
1311 2011-12-15  Andreas Tobler  <andreast@fgznet.ch>
1312
1313         Backport from mainline.
1314         2011-12-15  Andreas Tobler  <andreast@fgznet.ch>
1315
1316         * config/i386/freebsd.h (TARGET_ASM_FILE_END): Define.
1317
1318 2011-12-13  Eric Botcazou  <ebotcazou@adacore.com>
1319
1320         * lto-streamer-out.c (write_symbol): Use proper 64-bit host type.
1321         * lto-cgraph.c (input_cgraph_opt_section): Use 'int' for offsets.
1322         * lto-streamer-in.c (lto_read_body): Likewise.
1323         (lto_input_toplevel_asms): Likewise.
1324         * lto-section-in.c (lto_create_simple_input_block): Likewise.
1325         * lto-opts.c (lto_read_file_options): Likewise.
1326         * ipa-prop.c (ipa_prop_read_section): Likewise.
1327
1328         * df.h (DF_NOTE): Fix typo in comment.
1329
1330 2011-12-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1331
1332         * regmove.c (fixup_match_2): Only access call_used_regs with hard
1333         regs.
1334
1335 2011-12-12  Jakub Jelinek  <jakub@redhat.com>
1336
1337         PR middle-end/51510
1338         * calls.c (internal_arg_pointer_based_exp_scan): Don't use
1339         VEC_safe_grow_cleared if idx is smaller than VEC_length.
1340
1341         Backported from mainline
1342         2011-12-11  Jakub Jelinek  <jakub@redhat.com>
1343
1344         PR tree-optimization/51485
1345         * tree-vect-data-refs.c (vect_analyze_data_refs): Give up on
1346         DRs in call stmts.
1347
1348 2011-12-12  Eric Botcazou  <ebotcazou@adacore.com>
1349
1350         PR tree-optimization/50569
1351         * tree-sra.c (build_ref_for_model): Replicate a chain of COMPONENT_REFs
1352         in the expression of MODEL instead of just the last one.
1353
1354 2011-12-09  Michael Meissner  <meissner@the-meissners.org>
1355
1356         Backport from mainline
1357         2011-12-09  Michael Meissner  <meissner@the-meissners.org>
1358
1359         PR rtl-optimization/51469
1360         * varasm.c (default_binds_local_p_1): If the symbol is a gnu
1361         indirect function, mark the symbol as non-local.
1362
1363 2011-12-09  Jakub Jelinek  <jakub@redhat.com>
1364
1365         Backport from mainline
1366         2011-12-08  Jakub Jelinek  <jakub@redhat.com>
1367
1368         PR tree-optimization/51466
1369         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also copy
1370         TREE_SIDE_EFFECTS.
1371
1372         2011-11-28  Jakub Jelinek  <jakub@redhat.com>
1373
1374         PR tree-optimization/50078
1375         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Copy over
1376         TREE_THIS_VOLATILE also from the old to new lhs resp. rhs.
1377
1378 2011-12-09  Kazu Hirata  <kazu@codesourcery.com>
1379
1380         Backport from mainline:
1381
1382         2011-12-05  Kazu Hirata  <kazu@codesourcery.com>
1383
1384         PR target/51408
1385         * config/arm/arm.md (*minmax_arithsi): Always require the else
1386         clause in the MINUS case.
1387
1388 2011-12-08  Teresa Johnson  <tejohnson@google.com>
1389
1390         Backport from mainline:
1391
1392         2011-08-05  Uros Bizjak  <ubizjak@gmail.com>
1393
1394         * config/i386/i386.md (*movdi_internal_rex64): Use "!o" constraint
1395         instead of "!m" for operand 0, alternative 4.
1396         (*movdf_internal_rex64): Ditto for operand 0, alernative 6.
1397
1398 2011-12-08  Jakub Jelinek  <jakub@redhat.com>
1399
1400         Backport from mainline
1401         2011-12-05  Jakub Jelinek  <jakub@redhat.com>
1402
1403         PR debug/51410
1404         * c-decl.c (pop_scope): Don't add DECL_EXTERNAL decls
1405         for debug info if scope is file_scope.
1406
1407         PR c/51339
1408         * c-decl.c (c_finish_incomplete_decl, finish_decl): Call
1409         relayout_decl instead of layout_decl.
1410
1411         2011-12-05  Jakub Jelinek  <jakub@redhat.com>
1412                     Eric Botcazou  <ebotcazou@adacore.com>
1413
1414         PR middle-end/51323
1415         PR middle-end/50074
1416         * calls.c (internal_arg_pointer_exp_state): New variable.
1417         (internal_arg_pointer_based_exp_1,
1418         internal_arg_pointer_exp_scan): New functions.
1419         (internal_arg_pointer_based_exp): New function.
1420         (mem_overlaps_already_clobbered_arg_p): Use it.
1421         (expand_call): Free internal_arg_pointer_exp_state.cache vector
1422         and clear internal_arg_pointer_exp_state.scan_start.
1423
1424         2011-11-30  Jakub Jelinek  <jakub@redhat.com>
1425
1426         PR rtl-optimization/48721
1427         * sched-deps.c (sched_analyze_insn): For SIBLING_CALL_P set
1428         reg_pending_barrier to TRUE_BARRIER.
1429
1430         2011-11-26  Joern Rennecke  <joern.rennecke@embecosm.com>
1431
1432         PR middle-end/50074
1433         * calls.c (mem_overlaps_already_clobbered_arg_p):
1434         Return false if no outgoing arguments have been stored so far.
1435
1436 2011-12-08  Eric Botcazou  <ebotcazou@adacore.com>
1437
1438         PR tree-optimization/51315
1439         * tree-sra.c (tree_non_mode_aligned_mem_p): Rename to...
1440         (tree_non_aligned_mem_p): ...this.  Add ALIGN parameter.  Look into
1441         MEM_REFs and use get_object_or_type_alignment for them.
1442         (build_accesses_from_assign): Adjust for above change.
1443         (access_precludes_ipa_sra_p): Likewise.
1444
1445 2011-12-06  Martin Jambor  <mjambor@suse.cz>
1446
1447         Backport from mainline:
1448
1449         2011-12-02  Martin Jambor  <mjambor@suse.cz>
1450
1451         PR tree-optimization/50622
1452         * tree-sra.c (load_assign_lhs_subreplacements): Force gimple operand
1453         if both lacc and racc are grp_partial_lhs.
1454
1455 2011-12-06  Iain Sandoe  <iains@gcc.gnu.org>
1456
1457         * config/rs6000/rs6000.c (darwin_rs6000_override_options): Initialize
1458         rs6000_current_abi.
1459
1460 2011-12-06  Alan Modra  <amodra@gmail.com>
1461
1462         PR target/50906
1463         * config/rs6000/rs6000.c (rs6000_emit_prologue <TARGET_SPE_ABI>):
1464         Do not mark r11 setup as frame-related.  Pass correct offset to
1465         rs6000_emit_savres_rtx.  Correct out-of-line rs6000_frame_related
1466         arguments.  Correct sp_offset.  Remove "offset" fudge from
1467         in-line rs6000_frame_related call.  Rename misleading variable.
1468         Fix comments and whitespace.  Tidy some expressions.
1469         (rs6000_emit_epilogue <TARGET_SPE_ABI>): Always set frame_reg_rtx
1470         to r11 in out-of-line case.  Correct sp_offset.  Pass correct
1471         offset to rs6000_emit_savres_rtx.  Rename misleading variable.
1472         Fix comments and whitespace.  Tidy some expressions.
1473         (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Add sp_offset
1474         adjustment when !saving_GPRs_inline.  Correct register mode
1475         used in address calcs.
1476         (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Similarly when
1477         !restoring_GPRs_inline.
1478
1479 2011-12-04  Jérémie Detrey  <Jeremie.Detrey@loria.fr>
1480
1481         PR target/51393
1482         * config/i386/avxintrin.h (_mm256_insert_epi64): Declare second
1483         parameter as long long.
1484
1485 2011-12-02  Georg-Johann Lay  <avr@gjlay.de>
1486
1487         PR target/51002
1488         PR target/51345
1489         * config/avr/libgcc.S (__prologue_saves__, __epilogue_restores__):
1490         Enclose parts using __SP_H__ in !defined (__AVR_HAVE_8BIT_SP__).
1491         Add FIXME comments.
1492         * config/avr/avr.md (movhi_sp_r_irq_off, movhi_sp_r_irq_on): Set
1493         insn condition to !AVR_HAVE_8BIT_SP.
1494         * config/avr/avr.c (output_movhi): "clr%B0" instead of "in
1495         %B0,__SP_H__" if AVR_HAVE_8BIT_SP.
1496         (avr_file_start): Only print "__SP_H__ = 0x3e" if !AVR_HAVE_8BIT_SP.
1497         * config/avr/avr-devices.c (avr_mcu_types): ATtiny4313 and
1498         AT86RF401 have a 16-bit SP (their manual is bogus).
1499
1500 2011-11-25  Richard Sandiford  <richard.sandiford@linaro.org>
1501
1502         Backport from mainline:
1503
1504         2011-03-29  Richard Sandiford  <richard.sandiford@linaro.org>
1505
1506         PR debug/48190
1507         * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
1508         (cached_dw_loc_list_def): New structure.
1509         (cached_dw_loc_list): New typedef.
1510         (cached_dw_loc_list_table): New variable.
1511         (cached_dw_loc_list_table_hash): New function.
1512         (cached_dw_loc_list_table_eq): Likewise.
1513         (add_location_or_const_value_attribute): Take a bool cache_p.
1514         Cache the list when the parameter is true.
1515         (gen_formal_parameter_die): Update caller.
1516         (gen_variable_die): Likewise.
1517         (dwarf2out_finish): Likewise.
1518         (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
1519         while generating debug info for the decl.
1520         (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
1521         (dwarf2out_init): Initialize cached_dw_loc_list_table.
1522         (resolve_addr): Cache the result of resolving a chain of
1523         location lists.
1524
1525 2011-11-24  Enkovich Ilya  <ilya.enkovich@intel.com>
1526
1527         PR target/51287
1528         * i386.c (distance_non_agu_define): Fix insn attr check.
1529
1530 2011-11-20  Andreas Tobler  <andreast@fgznet.ch>
1531
1532         * configure: Regenerate.
1533
1534 2011-11-19  Eric Botcazou  <ebotcazou@adacore.com>
1535
1536         PR rtl-optimization/51187
1537         * reorg.c (relax_delay_slots): Do not consider a jump useless if there
1538         is a barrier between the jump and its target label.
1539
1540 2011-11-19  Richard Earnshaw  <rearnsha@arm.com>
1541
1542         PR target/50493
1543         * config/arm/arm.c (neon_disambiguate_copy): Correctly handle partial
1544         overlap of src and dest operands.
1545
1546 2011-11-18  Iain Sandoe  <iains@gcc.gnu.org>
1547
1548         PR target/49992
1549         * configure.ac: Remove ranlib special-casing for Darwin.
1550         * configure: Regenerate.
1551
1552 2011-11-16  Richard Earnshaw  <rearnsha@arm.com>
1553             Bernd Schmidt <bernds@coudesourcery.com>
1554             Sebastian Huber <sebastian.huber@embedded-brains.de>
1555
1556         PR target/49641
1557         * config/arm/arm.c (store_multiple_sequence): Avoid cases where
1558         the base reg is stored iff compiling for Thumb1.
1559
1560 2011-11-13  Iain Sandoe  <iains@gcc.gnu.org>
1561
1562         PR target/48108
1563         Backport from mainline r180523
1564         * config/darwin.c (top level): Amend comments concerning LTO output.
1565         (lto_section_num): New variable.  (darwin_lto_section_e): New GTY.
1566         (LTO_SECTS_SECTION, LTO_INDEX_SECTION): New.
1567         (LTO_NAMES_SECTION): Rename.
1568         (darwin_asm_named_section): Record LTO section counts and switches
1569         in a vec of darwin_lto_section_e.
1570         (darwin_file_start): Remove unused code.
1571         (darwin_file_end): Put an LTO section termination label.  Handle
1572         output of the wrapped LTO sections, index and names table.
1573
1574 2011-11-12  Iain Sandoe  <iains@gcc.gnu.org>
1575
1576         PR target/45233
1577         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
1578         Only expand a symbol ref. into an access when the entity is defined
1579         in the TU.
1580
1581 2011-11-10  Jakub Jelinek  <jakub@redhat.com>
1582
1583         PR middle-end/51077
1584         * tree-object-size.c (addr_object_size): Check TREE_CODE of
1585         MEM_REF's operand rather than code of the MEM_REF itself.
1586
1587 2011-11-07  Alan Modra  <amodra@gmail.com>
1588
1589         PR target/30282
1590         * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Always emit
1591         blockage for ABI_V4.
1592
1593 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
1594
1595         PR c++/50608
1596         * c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call
1597         to fold_offsetof.
1598         * c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1.
1599
1600 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
1601
1602         PR target/50979
1603         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8.
1604
1605 2011-11-03  Uros Bizjak  <ubizjak@gmail.com>
1606
1607         * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2,
1608         rint<mode>2, floor<mode>2, lfloor<MODEF:mode><SWI48:mode>2,
1609         btrunc<mode>2, lwp_lwpval<mode>3): Use operands[N] instead of operandN.
1610
1611 2011-11-02  Eric Botcazou  <ebotcazou@adacore.com>
1612
1613         PR target/50945
1614         * config/sparc/sparc.md (movsf_insn): Reindent constraints.
1615         (movsf_insn_no_fpu): Likewise.
1616         (movdf_insn_sp32): Likewise.
1617         (movdf_insn_sp32_no_fpu): Likewise.
1618         (movdf_insn_sp32_v9): Likewise.  Remove redundant GY constraint.
1619         (movdf_insn_sp32_v9_no_fpu): Likewise.
1620         (movdf_insn_sp64): Likewise.
1621         (movdf_insn_sp64_no_fpu): Likewise.
1622         (movtf_insn_sp32): Likewise.
1623         (movtf_insn_sp32_no_fpu): Likewise.
1624         (movtf_insn_sp64): Likewise.
1625         (movtf_insn_sp64_hq): Likewise.
1626         (movtf_insn_sp64_no_fpu): Likewise.
1627
1628 2011-11-02  Bernd Schmidt  <bernds@codesourcery.com>
1629
1630         * cfgcleanup.c (try_head_merge_bb): If get_condition returns
1631         NULL for a jump that is a cc0 insn, pick the previous insn for
1632         move_before.
1633
1634 2011-11-01  Uros Bizjak  <ubizjak@gmail.com>
1635
1636         * config/i386/i386.md (splitters for int-float conversion): Use
1637         SUBREG_REG on SUBREGs in splitter constraints.
1638
1639 2011-11-01  Julian Brown  <julian@codesourcery.com>
1640
1641         PR rtl-optimization/47918
1642         * reload1.c (set_initial_label_offsets): Use initial offsets
1643         for labels on the nonlocal_goto_handler_labels chain.
1644
1645 2011-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1646
1647         PR target/50691
1648         * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references.
1649         * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Return false for
1650         TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC symbol references.
1651
1652 2011-10-27  Uros Bizjak  <ubizjak@gmail.com>
1653
1654         PR target/50875
1655         * config/i386/sse.md (*avx_unpcklpd256): Remove extra insn
1656         constraints.  Change alternative 1 to "x,m,1".
1657
1658 2011-10-26  Jakub Jelinek  <jakub@redhat.com>
1659
1660         * BASE-VER: Set to 4.6.3.
1661         * DEV-PHASE: Set to prerelease.
1662
1663 2011-10-26  Release Manager
1664
1665         * GCC 4.6.2 released.
1666
1667 2011-10-25  Kai Tietz  <ktietz@redhat.com>
1668
1669         * config/i386/mingw32.h (SUBTARGET_FRAME_POINTER_REQUIRED):
1670         Use for 32-bit frame-pointer, if setjmp is used.
1671
1672 2011-10-24  Jakub Jelinek  <jakub@redhat.com>
1673
1674         PR debug/50816
1675         * dwarf2out.c (dwarf2out_source_line): Emit discriminators only if
1676         -gdwarf-4 or not -gstrict-dwarf.
1677
1678 2011-10-24  Georg-Johann Lay  <avr@gjlay.de>
1679
1680         PR target/49824
1681         Backport from mainline r180385
1682         * doc/extend.texi (Declaring Attributes of Functions):
1683         Document OS_main and OS_task attributes.
1684         (Specifying Attributes of Variables): Move up
1685         subsection "AVR Variable Attributes" as of alphabetical order.
1686
1687 2011-10-24  Georg-Johann Lay  <avr@gjlay.de>
1688
1689         PR target/50820
1690         * doc/invoke.texi (AVR Options): New subsubsection to explain EIND
1691         handling and indirect jump/calls on devices > 128k.
1692
1693 2011-10-23  Uros Bizjak  <ubizjak@gmail.com>
1694
1695         PR target/50788
1696         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
1697         Remove (match_dup 0).
1698
1699 2011-10-21  Georg-Johann Lay  <avr@gjlay.de>
1700
1701         PR target/50820
1702         Backport from Mainline r180299.
1703         * config/avr/libgcc.S (__EIND__): New define to 0x3C.
1704         (__tablejump__): Consistently use EIND for indirect jump/call.
1705         (__tablejump_elpm__): Ditto.
1706
1707 2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1708
1709         PR target/50106
1710         Backport from mainline.
1711         2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1712
1713         * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
1714         reg size from 1-3.
1715
1716 2011-10-19  Jakub Jelinek  <jakub@redhat.com>
1717
1718         * dwarf2out.c (loc_descriptor): For SUBREG pass SUBREG_REG's mode as
1719         second argument instead of mode.
1720
1721         PR target/50350
1722         Backport from mainline
1723         2011-09-27  Richard Sandiford  <rdsandiford@googlemail.com>
1724
1725         PR middle-end/50386
1726         PR middle-end/50326
1727         * tree-sra.c (build_ref_for_model): Use the type of the field as
1728         the type of the COMPONENT_REF.
1729
1730 2011-10-18  Uros Bizjak  <ubizjak@gmail.com>
1731             Eric Botcazou  <ebotcazou@adacore.com>
1732
1733         PR target/50737
1734         * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Set
1735         fs->signal_frame to 1.
1736
1737 2011-10-14  Richard Guenther  <rguenther@suse.de>
1738
1739         Backport from mainline
1740         2011-10-14  Richard Guenther  <rguenther@suse.de>
1741
1742         PR tree-optimization/50723
1743         * ipa-split.c (split_function): Use GSI_CONTINUE_LINKING.
1744
1745         2011-10-13  Richard Guenther  <rguenther@suse.de>
1746
1747         PR tree-optimization/50712
1748         * ipa-split.c (split_function): Always re-gimplify parameters
1749         when they are not gimple vals before passing them.  Properly
1750         check for type compatibility.
1751
1752 2011-10-13  Eric Botcazou  <ebotcazou@adacore.com>
1753
1754         * doc/invoke.texi (SPARC options): Document -mfix-at697f.
1755         * config/sparc/sparc.opt (mfix-at697f): New option.
1756         * config/sparc/sparc.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
1757         (sparc_reorg): New function.
1758
1759 2011-10-12  Steve Ellcey  <sje@cup.hp.com>
1760
1761         PR target/49967
1762         Backport from Mainline 179472.
1763         * configure.ac (gcc_cv_ld_static_dynamic): Define for *-*-hpux*.
1764         (gcc_cv_ld_static_option): Ditto.
1765         (gcc_cv_ld_dynamic_option): Ditto.
1766         * configure: Regenerate.
1767
1768 2011-10-12  Paul Koning  <pkoning@gcc.gnu.org>
1769
1770         PR tree-optimization/50189
1771         * tree-vrp.c (extract_range_from_assert): Use the type of
1772         the variable, not the limit.
1773
1774 2011-10-12  Richard Guenther  <rguenther@suse.de>
1775
1776         PR tree-optimization/50700
1777         * tree-object-size.c (addr_object_size): Simplify and treat
1778         MEM_REF bases consistently.
1779
1780 2011-10-12  Joseph Myers  <joseph@codesourcery.com>
1781
1782         PR c/50565
1783         * convert.c (convert_to_integer): Do not narrow operands of
1784         pointer subtraction.
1785
1786 2011-10-11  Eric Botcazou  <ebotcazou@adacore.com>
1787
1788         PR target/49965
1789         * config/sparc/sparc.md (mov<I:mode>cc): Do not save comparison code.
1790         (mov<F:mode>cc): Likewise.
1791
1792 2011-10-11  Nick Clifton  <nickc@redhat.com>
1793
1794         PR middle-end/49801
1795         * compare-elim.c (find_comparisons_in_bb): Use df_get_live_in and
1796         df_get_live_out instead of accessing the bitmaps directly.
1797         (execute_compare_elim_after_reload): Remove calls to df_set_flags,
1798         df_live_add_problem and df_analyze.
1799
1800 2011-10-10  Georg-Johann Lay  <avr@gjlay.de>
1801
1802         PR target/50652
1803         Backport from Mainline r179737.
1804         * config/avr/avr-devices.c (avr_mcu_types): Set
1805         .data_section_start of atmega164a to 0x100.
1806
1807 2011-10-07  Bernd Schmidt  <bernds@codesourcery.com>
1808
1809         PR target/49049
1810         * config/arm/arm.md (arm_subsi3_insn): Lose the last alternative.
1811
1812 2011-10-06  Jakub Jelinek  <jakub@redhat.com>
1813
1814         * tree.h (avoid_folding_inline_builtin): New prototype.
1815         * builtins.c (avoid_folding_inline_builtin): No longer static.
1816         * gimple-fold.c (gimple_fold_builtin): Give up if
1817         avoid_folding_inline_builtin returns true.
1818
1819         PR tree-optimization/49279
1820         * tree-ssa-structalias.c (find_func_aliases): Don't handle
1821         CAST_RESTRICT.
1822
1823 2011-10-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1824
1825         * longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local
1826         variables.  Fix second operand of DR.  Swap inputs for sdiv_qrnnd.
1827
1828 2011-10-03  Jakub Jelinek  <jakub@redhat.com>
1829             Ian Lance Taylor  <iant@google.com>
1830
1831         * godump.c (go_output_typedef): Support printing enum values that
1832         don't fit in a signed HOST_WIDE_INT.
1833
1834 2011-09-30  Jakub Jelinek  <jakub@redhat.com>
1835
1836         PR inline-asm/50571
1837         * gimple-fold.c (fold_stmt_1) <case GIMPLE_ASM>: If
1838         input constraints allow mem and not reg, pass true instead of
1839         false as second argument to maybe_fold_reference.
1840
1841 2011-09-30  Jakub Jelinek  <jakub@redhat.com>
1842             Richard Guenther  <rguenther@suse.de>
1843
1844         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Fix
1845         handling of BUILT_IN_STRNCAT.
1846         (ref_maybe_used_by_call_p_1): Fix handling of BUILT_IN_STRCAT,
1847         and BUILT_IN_STRNCAT.
1848
1849 2011-09-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1850
1851         * graphite-scop-detection.c (make_close_phi_nodes_unique):  New
1852         forward declaration.
1853         (remove_duplicate_close_phi): Detect and repair creation of
1854         duplicate close-phis for a containing loop.
1855
1856 2011-09-26  Richard Guenther  <rguenther@suse.de>
1857
1858         PR tree-optimization/50472
1859         * tree-ssa-ccp.c (fold_const_aggregate_ref): Do not fold
1860         volatile references.
1861
1862 2011-09-25  Ira Rosen  <ira.rosen@linaro.org>
1863
1864         PR tree-optimization/50413
1865         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail to vectorize
1866         a basic block if one of its data-refs can't be analyzed.
1867
1868 2011-09-25  Ira Rosen  <ira.rosen@linaro.org>
1869
1870         PR tree-optimization/50412
1871         * tree-vect-data-refs.c (vect_analyze_group_access): Fail for
1872         accesses that require epilogue loop if vectorizing outer loop.
1873
1874 2011-09-22  Uros Bizjak  <ubizjak@gmail.com>
1875
1876         PR target/50464
1877         * config/i386/sse.md (xop_pcmov_<mode>): Change operand 1 predicate
1878         to register_operand and operand 2 predicate to nonimmediate_operand.
1879         (xop_pcmov_<mode>256): Ditto.
1880         * config/i386/i386.c (ix86_expand_sse_movcc): When generating
1881         xop_pcmov, force op_true to register.  Also, force op_false to
1882         register if it doesn't satisfy nonimmediate_operand predicate.
1883
1884 2011-09-19  Alan Modra  <amodra@gmail.com>
1885             Michael Meissner  <meissner@linux.vnet.ibm.com>
1886
1887         PR target/50341
1888         * config/rs6000/rs6000.md (call_indirect_aix32): Do not split the
1889         load of the indirect function's TOC from the call to prevent the
1890         compiler from moving the load of the new TOC above code that
1891         references the current function's TOC.
1892         (call_indirect_aix64): Ditto.
1893         (call_value_indirect_aix32): Ditto.
1894         (call_value_indirect_aix64): Ditto.
1895         (call_indirect_nonlocal_aix32_internal): Ditto.
1896         (call_indirect_nonlocal_aix32): Ditto.
1897         (call_indirect_nonlocal_aix64_internal): Ditto.
1898         (call_indirect_nonlocal_aix64): Ditto.
1899         (call_value_indirect_nonlocal_aix32_internal): Ditto.
1900         (call_value_indirect_nonlocal_aix32): Ditto.
1901         (call_value_indirect_nonlocal_aix64_internal): Ditto.
1902         (call_value_indirect_nonlocal_aix64): Ditto.
1903
1904 2011-09-19  Martin Jambor  <mjambor@suse.cz>
1905
1906         PR middle-end/49886
1907         * ipa-split.c (split_function): Do not change signature if it is
1908         not possible or there are attribute types.
1909
1910 2011-09-18  Eric Botcazou  <ebotcazou@adacore.com>
1911             Iain Sandoe  <developer@sandoe-acoustics.co.uk>
1912
1913         PR target/50091
1914         * config/rs6000/rs6000.md (probe_stack): Use explicit operand.
1915         * config/rs6000/rs6000.c (output_probe_stack_range): Likewise.
1916
1917 2011-09-14  Diego Novillo  <dnovillo@google.com>
1918
1919         * tree-vect-stmts.c (vect_transform_stmt): Remove unused
1920         local variable ORIG_SCALAR_STMT.
1921
1922 2011-09-08  Martin Jambor  <mjambor@suse.cz>
1923
1924         Backport from mainline
1925         2011-09-07  Martin Jambor  <mjambor@suse.cz>
1926
1927         PR tree-optimization/49911
1928         * tree-sra.c (analyze_access_subtree): Change type of to-be-replaced
1929         enumerations to the corresponding plain integer type.
1930
1931 2011-09-08  Richard Guenther  <rguenther@suse.de>
1932
1933         Backport from mainline
1934         2011-07-04  Richard Guenther  <rguenther@suse.de>
1935
1936         PR tree-optimization/49518
1937         PR tree-optimization/49628
1938         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Skip
1939         irrelevant data-references.
1940
1941 2011-09-08  Richard Guenther  <rguenther@suse.de>
1942
1943         Backport from mainline
1944         2011-08-23  Richard Guenther  <rguenther@suse.de>
1945
1946         PR tree-optimization/50162
1947         * tree-vect-stmts.c (vectorizable_call): Fix argument lookup.
1948
1949 2011-09-08  Richard Guenther  <rguenther@suse.de>
1950
1951         Backport from mainline
1952         2011-05-05  Michael Matz  <matz@suse.de>
1953
1954         * config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
1955         * config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
1956         * config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
1957         * config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
1958         * config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
1959         * config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
1960         * config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
1961         * config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
1962         * config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
1963         * config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
1964         * config/i386/linux.h (ENDFILE_SPEC): Add Ofast.
1965         * config/i386/linux64.h (ENDFILE_SPEC): Add Ofast.
1966         * config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
1967         * config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
1968         * config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
1969         * config/mips/linux.h (ENDFILE_SPEC): Add Ofast.
1970
1971 2011-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1972             Iain Sandoe  <iains@gcc.gnu.org>
1973
1974         Backport from mainline (restore powerpc-darwin Ada bootstrap).
1975         * config/rs6000/rs6000.c (compute_save_world_info): Test
1976         cfun->has_nonlocal_label to determine if the out-of-line save
1977         world call may be used.
1978
1979 2011-09-08  Jakub Jelinek  <jakub@redhat.com>
1980
1981         PR target/50310
1982         * config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Return
1983         code early if TARGET_AVX.
1984         (ix86_expand_fp_vcond): Handle LTGT and UNEQ.
1985
1986 2011-09-06  Martin Jambor  <mjambor@suse.cz>
1987
1988         Revert
1989         2011-09-02  Martin Jambor  <mjambor@suse.cz>
1990         PR middle-end/49886
1991         * ipa-split.c (split_function): Do not skip any arguments if
1992         can_change_signature is set or there are function type attributes.
1993
1994 2011-09-05  Georg-Johann Lay  <avr@gjlay.de>
1995
1996         PR target/50289
1997         Backport from mainline r178528
1998         * config/avr/avr.c (sequent_regs_live): Don't recognize sequences
1999         that contain global register variable.
2000
2001 2011-09-02  Martin Jambor  <mjambor@suse.cz>
2002
2003         PR middle-end/49886
2004         * ipa-split.c (split_function): Do not skip any arguments if
2005         can_change_signature is set or there are function type attributes.
2006
2007 2011-09-01  Ira Rosen  <ira.rosen@linaro.org>
2008
2009         PR tree-optimization/50178
2010         * tree-vect-stmts.c (vectorizable_call): Update the related
2011         pattern statement before deleting the original call.
2012         (vect_transform_stmt): Don't expect the related pattern statement
2013         to match the original statement after transformation.
2014
2015 2011-08-29  Richard Guenther  <rguenther@suse.de>
2016
2017         PR middle-end/50116
2018         * varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].
2019
2020 2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
2021
2022         * config/i386/sse.md (vec_extract_lo_<mode>): Prevent both
2023         operands in memory.
2024         (vec_extract_lo_v16hi): Ditto.
2025         (*vec_extract_v4sf_mem): Add TARGET_SSE insn constraint.
2026         * config/i386/i386.c (legitimize_tls_address): Change REG_EQIV
2027         notes to REG_EQUAL.
2028
2029 2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
2030
2031         PR target/50202
2032         * config/i386/sse.md (sse4_2_pcmpestr): Emit NOTE_INSN_DELETED note
2033         when all outputs are unused.
2034         (sse4_2_pcmpistr): Ditto.
2035
2036 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
2037
2038         PR c/50179
2039         * c-typeck.c (c_process_expr_stmt): Skip over nops and
2040         call mark_exp_read even if exprv is ADDR_EXPR.
2041
2042 2011-08-20  Jakub Jelinek  <jakub@redhat.com>
2043
2044         PR tree-optimization/48739
2045         * tree-ssa.c: Include cfgloop.h.
2046         (execute_update_addresses_taken): When updating ssa, if in
2047         loop closed SSA form, call rewrite_into_loop_closed_ssa instead of
2048         update_ssa.
2049         * Makefile.in (tree-ssa.o): Depend on $(CFGLOOP_H).
2050
2051 2011-08-18  Jakub Jelinek  <jakub@redhat.com>
2052
2053         PR target/50092
2054         * config/i386/i386.c (assign_386_stack_local): Call validize_mem
2055         on the result before returning it.
2056
2057 2011-08-16  Liang Wang  <lwang1@marvell.com>
2058
2059         * ggc.h (ggc_alloc_rtvec_sized): Change arguments of
2060         ggc_alloc_zone_vec_rtvec_def.
2061
2062 2011-08-12  Nick Clifton  <nickc@redhat.com>
2063
2064         * builtins.c (expand_builtin_memcmp): Do not use cmpstrnsi
2065         pattern.
2066         * doc/md.texi (cmpstrn): Note that the comparison stops if both
2067         fetched bytes are zero.
2068         (cmpstr): Likewise.
2069         (cmpmem): Note that the comparison does not stop if both of the
2070         fetched bytes are zero.
2071
2072 2011-08-11  Kazuhiro Inaoka  <kazuhiro.inaoka.ud@renesas.com>
2073
2074         * config/rx/rx.md (movsicc): Allow register to register
2075         transfers.
2076         (*movsicc): Likewise.
2077         (*stcc): Restrict this pattern to EQ and NE compares.
2078         (*stcc_reg): New pattern.  Works for any comparison but only for
2079         register transfers.
2080
2081 2011-08-10  DJ Delorie  <dj@redhat.com>
2082
2083         * expr.c (expand_expr_addr_expr_1): Detect a user request for
2084         a local frame in a naked function, and produce a suitable
2085         error for that specific case.
2086
2087 2011-08-09  Martin Jambor  <mjambor@suse.cz>
2088
2089         PR middle-end/49923
2090         * tree-sra.c (access_precludes_ipa_sra_p): Also check access
2091         memory alignment.
2092
2093 2011-08-09  Nick Clifton  <nickc@redhat.com>
2094
2095         * config/rx/rx.md: Disable extender peepholes at -O3.
2096
2097 2011-08-06  Uros Bizjak  <ubizjak@gmail.com>
2098
2099         PR target/50001
2100         * config/alpha/alpha.c (alpha_instantiate_decls): New function.
2101         (TARGET_INSTANTIATE_DECLS): New define.
2102
2103 2011-08-05  H.J. Lu  <hongjiu.lu@intel.com>
2104
2105         Backport from mainline
2106         2011-08-05  H.J. Lu  <hongjiu.lu@intel.com>
2107
2108         * config/i386/i386.c (processor_alias_table): Add core-avx-i.
2109
2110         * doc/invoke.texi: Document core-avx-i.
2111
2112 2011-08-03  Jakub Jelinek  <jakub@redhat.com>
2113
2114         PR tree-optimization/49948
2115         * gimple.c (walk_stmt_load_store_addr_ops): Walk CONSTRUCTOR elements.
2116
2117 2011-08-02  Uros Bizjak  <ubizjak@gmail.com>
2118
2119         * doc/md.texi (stack_protect_set): The pattern moves ptr_mode value.
2120         (stack_protect_test): The pattern compares ptr_mode value.
2121
2122 2011-07-31  Uros Bizjak  <ubizjak@gmail.com>
2123
2124         PR target/49920
2125         * config/i386/i386.md (strset): Do not expand strset_singleop
2126         when %eax or $edi are fixed.
2127         (*strsetdi_rex_1): Disable when %eax or %edi are fixed.
2128         (*strsetsi_1): Ditto.
2129         (*strsethi_1): Ditto.
2130         (*strsetqi_1): Ditto.
2131         (*rep_stosdi_rex64): Disable when %eax, %ecx or %edi are fixed.
2132         (*rep_stossi): Ditto.
2133         (*rep_stosqi): Ditto.
2134         (*strlenqi_1): Ditto.
2135         (cmpstrnsi): Also fail when %ecx is fixed.
2136         (*cmpstrnqi_nz_1): Disable when %ecx, %esi or %edi are fixed.
2137         (*cmpstrnqi_1): Ditto.
2138         (*strmovdi_rex_1): Disable when %esi or %edi are fixed.
2139         (*strmovsi_1): Ditto.
2140         (*strmovhi_1): Ditto.
2141         (*strmovqi_1): Ditto.
2142         (*rep_movdi_rex64): Disable when %ecx, %esi or %edi are fixed.
2143         (*rep_movsi): Ditto.
2144         (*rep_movqi): Ditto.
2145
2146 2011-07-31  Mikael Pettersson  <mikpe@it.uu.se>
2147
2148         PR target/47908
2149         * config/m68k/m68k.c (m68k_override_options_after_change): New function.
2150         Disable instruction scheduling for non-ColdFire targets.
2151         (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
2152
2153 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
2154
2155         PR middle-end/49897
2156         PR middle-end/49898
2157         * omp-low.c (use_pointer_for_field): If disallowing copy-in/out
2158         in nested parallel and outer is a gimple_reg, mark it as addressable
2159         and set its bit in task_shared_vars bitmap too.
2160
2161 2011-07-29  Wei Guozhi  <carrot@google.com>
2162
2163         Backport from mainline
2164         2011-07-29  Wei Guozhi  <carrot@google.com>
2165
2166         PR rtl-optimization/49799
2167         * combine.c (make_compound_operation): Check if the bit field is valid
2168         before change it to bit field extraction.
2169
2170 2011-07-28  Jakub Jelinek  <jakub@redhat.com>
2171
2172         PR debug/49871
2173         * dwarf2out.c (size_of_die, value_format, output_die): Use
2174         DW_FORM_udata instead of DW_FORM_data[48] for
2175         dw_val_class_unsigned_const DW_AT_data_member_location for DWARF 3.
2176
2177 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
2178
2179         Backport from mainline
2180         2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
2181
2182         PR target/47364
2183         * config/i386/i386.md (strlen<mode>): Replace SWI48x with P.
2184
2185 2011-07-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2186
2187         Backport from mainline:
2188         2011-07-26  Martin Jambor  <mjambor@suse.cz>
2189
2190         * tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
2191         return false for invariants.
2192
2193 2011-07-27  Jakub Jelinek  <jakub@redhat.com>
2194
2195         PR target/49866
2196         * config/i386/i386.md (*call_pop_1_vzeroupper, *call_pop_1,
2197         *sibcall_pop_1_vzeroupper, *sibcall_pop_1, *call_1_vzeroupper,
2198         *call_1, *sibcall_1_vzeroupper, *sibcall_1, *call_1_rex64_vzeroupper,
2199         *call_1_rex64, *call_1_rex64_ms_sysv_vzeroupper,
2200         *call_1_rex64_ms_sysv, *sibcall_1_rex64_vzeroupper,
2201         *sibcall_1_rex64, *call_value_pop_1_vzeroupper,
2202         *call_value_pop_1, *sibcall_value_pop_1_vzeroupper,
2203         *sibcall_value_pop_1, *call_value_1_vzeroupper,
2204         *call_value_1, *sibcall_value_1_vzeroupper,
2205         *sibcall_value_1, *call_value_1_rex64_vzeroupper,
2206         *call_value_1_rex64, *call_value_1_rex64_ms_sysv_vzeroupper,
2207         *call_value_1_rex64_ms_sysv, *sibcall_value_1_rex64_vzeroupper,
2208         *sibcall_value_1_rex64): Use z constraint instead of s constraint.
2209
2210         Backport from mainline
2211         2011-05-16  Uros Bizjak  <ubizjak@gmail.com>
2212
2213         * config/i386/constraints.md (z): New constraint.
2214
2215 2011-07-25  Andrew Pinski  <apinski@cavium.com>
2216
2217         PR tree-opt/49671
2218         * tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and
2219         TREE_THIS_NOTRAP into the inner most MEM_REF.
2220         Always copy TREE_THIS_VOLATILE.
2221         * tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and
2222         arguments are not volatile references.
2223
2224 2011-07-25  Georg-Johann Lay  <avr@gjlay.de>
2225
2226         PR target/39386
2227         Backport from mainline r176756
2228         2011-07-25  Georg-Johann Lay
2229         * config/avr/avr.c (out_shift_with_cnt): Use tmp_reg as
2230         shift counter for x << x and x >> x shifts.
2231
2232 2011-07-22  Uros Bizjak  <ubizjak@gmail.com>
2233
2234         * config.gcc (x86_64-*-linux*): Set
2235         default_gnu_indirect_function to yes.
2236
2237 2011-07-22  Richard Guenther  <rguenther@suse.de>
2238
2239         PR tree-optimization/45819
2240         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Properly
2241         preserve volatile and notrap flags.
2242
2243 2011-07-21  Uros Bizjak  <ubizjak@gmail.com>
2244
2245         Backport from mainline
2246         2011-07-04  Uros Bizjak  <ubizjak@gmail.com>
2247
2248         PR target/49600
2249         * config/i386/i386.md (SSE2 int->float split): Push operand 1 in
2250         general register to memory for !TARGET_INTER_UNIT_MOVES.
2251
2252 2011-07-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2253
2254         * config/s390/s390.c (s390_class_max_nregs): Fix return type.
2255         * config/s390/s390-protos.h (s390_class_max_nregs): Likewise.
2256
2257 2011-07-19  Jakub Jelinek  <jakub@redhat.com>
2258
2259         PR tree-optimization/49768
2260         * tree-ssa-ccp.c (fold_nonarray_ctor_reference): Return NULL
2261         if offset is smaller than bitoffset, but offset+size is bigger
2262         than bitoffset.
2263
2264 2011-07-18  Jakub Jelinek  <jakub@redhat.com>
2265
2266         PR middle-end/49675
2267         * tree.c (build_common_builtin_nodes): Register
2268         __builtin_return_address, __cyg_profile_func_enter
2269         and __cyg_profile_func_exit.
2270
2271 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2272
2273         * config.gcc: Obsolete i[3456x]86-*-netware*.
2274
2275 2011-07-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2276
2277         PR target/49746
2278         Revert:
2279         2010-12-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2280
2281         * config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean
2282         patterns.
2283
2284 2011-07-17  Eric Botcazou  <ebotcazou@adacore.com>
2285
2286         PR middle-end/49732
2287         * tree.c (walk_tree_1) <DECL_EXPR>: Do not walk a pointed-to type.
2288
2289 2011-07-16  Eric Botcazou  <ebotcazou@adacore.com>
2290
2291         PR tree-optimization/49725
2292         Backport from mainline
2293         2011-03-31  Eric Botcazou  <ebotcazou@adacore.com>
2294
2295         * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
2296         a zero minimum index only if it is redundant.
2297
2298 2011-07-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2299
2300         PR target/49723
2301         * config/pa/pa.md (casesi): Use gen_int_mode instead of GEN_INT.
2302
2303 2011-07-15  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2304
2305         Backport from mainline:
2306         2011-07-13  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2307
2308         * config/spu/spu.c (TARGET_ASM_FILE_START): Do not define.
2309         (asm_file_start): Remove.
2310         (spu_machine_dependent_reorg): Call compute_bb_for_insn and
2311         free_bb_for_insn around code that modifies insns before
2312         restarting df analysis.
2313
2314 2011-07-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2315
2316         Backport from mainline:
2317         2011-07-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2318
2319         PR target/49541
2320         * config/sol2.h (LIB_SPEC): Simplify.
2321         Move LIB_THREAD_LDFLAGS_SPEC ...
2322         (LINK_SPEC): ... here.
2323
2324 2011-07-14  James Greenhalgh  <james.greenhalgh@arm.com>
2325
2326         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add __ARM_FEATURE_DSP.
2327
2328 2011-07-14  Andrew Pinski  <pinskia@gmail.com>
2329
2330         PR tree-opt/49309
2331         * tree-mudflap.c (mf_xform_derefs_1 <case MEM_REF>):
2332         Use fold_build2_loc instead of build2.
2333         Use the correct type for the new tree.
2334
2335 2011-07-14  Georg-Johann Lay  <avr@gjlay.de>
2336
2337         PR target/49487
2338         Backport from mainline r176276
2339         2011-07-14  Georg-Johann Lay
2340         * config/avr/avr.md (rotl<mode>3): Generate SCRATCH instead
2341         of REG.
2342         (*rotw<mode>): Use const_int_operand for operand2.
2343         Use match_scatch for operand3.
2344         (*rotb<mode>): Ditto
2345         * config/avr/avr.c (avr_rotate_bytes): Treat SCRATCH.
2346
2347 2011-07-14  Richard Guenther  <rguenther@suse.de>
2348
2349         PR tree-optimization/49651
2350         * tree-ssa-structalias.c (get_constraint_for_1): Properly
2351         handle dereferences with subvariables.
2352
2353 2011-07-11  Martin Jambor  <mjambor@suse.cz>
2354
2355         PR tree-optimization/49094
2356         * tree-sra.c (tree_non_mode_aligned_mem_p): New function.
2357         (build_accesses_from_assign): Use it.
2358
2359 2011-07-11  Georg-Johann Lay  <avr@gjlay.de>
2360
2361         PR target/39633
2362         Backport from mainline r176141
2363         2011-07-11  Georg-Johann Lay
2364         * config/avr/avr.c (notice_update_cc): For ashiftrt:QI, only
2365         offsets 1..5 set cc0 in a usable way.
2366
2367 2011-07-08  Jakub Jelinek  <jakub@redhat.com>
2368
2369         PR target/49621
2370         * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Use
2371         CONST0_RTX (dest_mode) instead of const0_rtx as second operand
2372         of NE.
2373         * config/rs6000/vector.md (vector_select_<mode>,
2374         vector_select_<mode>_uns): Change second operand of NE to
2375         CONST0_RTX (<MODE>mode) instead of const0_rtx.
2376         * config/rs6000/altivec.md (*altivec_vsel<mode>,
2377         *altivec_vsel<mode>_uns): Expect second operand of NE to be
2378         zero_constant of the corresponding vector mode.
2379         * config/rs6000/vsx.md (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns):
2380         Likewise.
2381
2382 2011-07-08  Georg-Johann Lay  <avr@gjlay.de>
2383
2384         PR target/46779
2385         Backport from mainline SVN 176053.
2386         2011-07-08  Georg-Johann Lay  <avr@gjlay.de>
2387         * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
2388         In particular, allow 8-bit values in r28 and r29.
2389         (avr_hard_regno_scratch_ok): Disallow any register that might be
2390         part of the frame pointer.
2391         (avr_hard_regno_rename_ok): Same.
2392         (avr_legitimate_address_p): Don't allow SUBREGs.
2393
2394 2011-07-07  Eric Botcazou  <ebotcazou@adacore.com>
2395
2396         PR target/49660
2397         * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Add
2398         MASK_V8PLUS, remove commented out flag and reorder.
2399
2400         Backport from mainline
2401         2011-06-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2402
2403         * config/sparc/sol2-64.h (TARGET_DEFAULT): Remove.
2404         (TARGET_64BIT_DEFAULT): Define.
2405         * config.gcc (sparc*-*-solaris2*): Move sparc/sol2-64.h to front
2406         of tm_file.
2407         * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Define.
2408
2409 2011-07-07  Jakub Jelinek  <jakub@redhat.com>
2410
2411         PR c/49644
2412         * c-typeck.c (build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with
2413         one non-complex and one complex argument, call c_save_expr on both
2414         operands.
2415
2416         PR debug/49522
2417         * df-problems.c (dead_debug_reset): Remove dead_debug_uses
2418         referencing debug insns that have been reset.
2419         (dead_debug_insert_before): Don't assert reg is non-NULL,
2420         instead return immediately if it is NULL.
2421
2422         PR middle-end/49640
2423         * gimplify.c (gimplify_compound_lval): For last 2 ARRAY_*REF
2424         operands and last COMPONENT_REF operand call gimplify_expr on it
2425         if non-NULL.
2426
2427 2011-07-06  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2428
2429         Backport from mainline.
2430         2011-06-24  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2431
2432         PR target/49335
2433         * config/arm/predicates.md (add_operator): New.
2434         * config/arm/arm.md ("*arith_shiftsi"): Fix for SP reg usage
2435         in Thumb2.
2436
2437 2011-07-05  Jakub Jelinek  <jakub@redhat.com>
2438
2439         PR tree-optimization/49618
2440         * tree-eh.c (tree_could_trap_p) <case FUNCTION_DECL, case VAR_DECL>:
2441         For DECL_WEAK decls return true.
2442
2443 2011-07-04  Jakub Jelinek  <jakub@redhat.com>
2444
2445         PR rtl-optimization/49619
2446         * combine.c (combine_simplify_rtx): In PLUS -> IOR simplification
2447         pass VOIDmode as op0_mode to recursive call.
2448
2449         PR rtl-optimization/49472
2450         * simplify-rtx.c (simplify_unary_operation_1) <case NEG>: When
2451         negating MULT, negate the second operand instead of first.
2452         (simplify_binary_operation_1) <case MULT>: If one operand is
2453         a NEG and the other is MULT, don't attempt to optimize by
2454         negation of the MULT operand if it only moves the NEG operation
2455         around.
2456
2457         Backported from mainline
2458         2011-06-06  Jakub Jelinek  <jakub@redhat.com>
2459
2460         PR debug/49262
2461         * dwarf2out.c (native_encode_initializer): Decrement count in each
2462         iteration.
2463
2464 2011-07-04  Georg-Johann Lay  <avr@gjlay.de>
2465
2466         Backport from mainline
2467         2011-07-04  Georg-Johann Lay  <avr@gjlay.de>
2468
2469         PR target/44643
2470         * config/avr/avr.c (avr_insert_attributes): Use TYPE_READONLY
2471         instead of TREE_READONLY.
2472
2473 2011-07-04  Richard Guenther  <rguenther@suse.de>
2474
2475         PR tree-optimization/49615
2476         * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix
2477         basic-block index check.
2478
2479 2011-06-30  Eric Botcazou  <ebotcazou@adacore.com>
2480
2481         PR tree-optimization/49572
2482         * tree-ssa-dom.c (initialize_hash_element) <GIMPLE_SINGLE_RHS>: Use the
2483         type of the RHS instead of that of the LHS for the expression type.
2484
2485 2011-06-30  Georg-Johann Lay  <avr@gjlay.de>
2486
2487         Backport from mainline
2488         PR target/34734
2489         (avr_section_type_flags): For data in ".progmem.data", remove
2490         section flag SECTION_WRITE.
2491
2492 2011-06-30  Georg-Johann Lay  <avr@gjlay.de>
2493
2494         Backport from mainline
2495         PR target/34734
2496         * config/avr/avr.c (avr_handle_progmem_attribute): Move warning
2497         about uninitialized data attributed 'progmem' from here...
2498         (avr_encode_section_info): ...to this new function.
2499         (TARGET_ENCODE_SECTION_INFO): New define.
2500
2501 2011-06-29  Changpeng Fang  <changpeng.fang@amd.com>
2502
2503         Backport from mainline
2504         2011-06-29  Changpeng Fang  <changpeng.fang@amd.com>
2505
2506         * config/i386/i386.opt (mprefer-avx128): Redefine the flag as a Mask
2507         option.
2508         * config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_AVX128_OPTIMAL
2509         entry.
2510         (TARGET_AVX128_OPTIMAL): New definition.
2511         * config/i386/i386.c (initial_ix86_tune_features): Initialize
2512         X86_TUNE_AVX128_OPTIMAL entry.
2513         (ix86_option_override_internal): Enable the generation
2514         of the 128-bit instructions when TARGET_AVX128_OPTIMAL is set.
2515         (ix86_preferred_simd_mode): Use TARGET_PREFER_AVX128.
2516         (ix86_autovectorize_vector_sizes): Use TARGET_PREFER_AVX128.
2517
2518 2011-06-29  Harsha Jagasia <harsha.jagasia@amd.com>
2519
2520         Backport from mainline
2521         2011-05-31  Alexandre Oliva  <aoliva@redhat.com>
2522
2523         * config/i386/i386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
2524         * config/i386/sse.md: Add n to negated FMA pattern names.
2525
2526 2011-06-29  Eric Botcazou  <ebotcazou@adacore.com>
2527
2528         PR tree-optimization/49539
2529         * tree-ssa-forwprop.c (can_propagate_from): Check for abnormal SSA
2530         names by means of stmt_references_abnormal_ssa_name.
2531         (associate_plusminus): Call can_propagate_from before propagating
2532         from definition statements.
2533
2534 2011-06-29  Martin Jambor  <mjambor@suse.cz>
2535
2536         Backport from mainline
2537         2011-06-24  Martin Jambor  <mjambor@suse.cz>
2538
2539         PR tree-optimizations/49516
2540         * tree-sra.c (sra_modify_assign): Choose the safe path for
2541         aggregate copies if we also did scalar replacements.
2542
2543 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
2544
2545         Backport from mainline
2546         2011-06-20  Changpeng Fang  <changpeng.fang@amd.com>
2547
2548         PR target/49089
2549         * config/i386/i386.c (avx256_split_unaligned_load): New definition.
2550         (avx256_split_unaligned_store): New definition.
2551         (ix86_option_override_internal): Enable avx256 unaligned load/store
2552         splitting only when avx256_split_unaligned_load/store is set.
2553
2554 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
2555
2556         Backport from mainline
2557         2011-03-28  H.J. Lu  <hongjiu.lu@intel.com>
2558
2559         * config/i386/i386.c (flag_opts): Fix a typo in
2560         -mavx256-split-unaligned-store.
2561
2562 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
2563
2564         Backport from mainline
2565         2011-03-27  H.J. Lu  <hongjiu.lu@intel.com>
2566
2567         * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
2568         unaligned 256bit load/store.
2569         (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
2570         (*avx_movdqu<avxmodesuffix>): Likewise.
2571
2572 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
2573
2574         Backport from mainline
2575         2011-03-27  H.J. Lu  <hongjiu.lu@intel.com>
2576
2577         * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
2578         and -mavx256-split-unaligned-store.
2579         (ix86_option_override_internal): Split 32-byte AVX unaligned
2580         load/store by default.
2581         (ix86_avx256_split_vector_move_misalign): New.
2582         (ix86_expand_vector_move_misalign): Use it.
2583
2584         * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
2585         -mavx256-split-unaligned-store.
2586
2587         * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
2588         256bit load/store.  Generate unaligned store on misaligned memory
2589         operand.
2590         (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
2591         256bit load/store.
2592         (*avx_movdqu<avxmodesuffix>): Likewise.
2593
2594         * doc/invoke.texi: Document -mavx256-split-unaligned-load and
2595         -mavx256-split-unaligned-store.
2596
2597 2011-06-28  Eric Botcazou  <ebotcazou@adacore.com>
2598
2599         * tree-ssa-dom.c (initialize_hash_element): Fix oversight.
2600
2601 2011-06-28  Andrey Belevantsev  <abel@ispras.ru>
2602
2603         Backport from mainline
2604         2011-05-25  Andrey Belevantsev  <abel@ispras.ru>
2605
2606         PR rtl-optimization/49014
2607         * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.
2608
2609 2011-06-28  Alexander Monakov  <amonakov@ispras.ru>
2610
2611         Backport from mainline
2612         2011-04-08  Alexander Monakov  <amonakov@ispras.ru>
2613
2614         PR target/48273
2615         * cfgloop.h (loop_has_exit_edges): New helper.
2616         * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
2617         non-clonable.
2618         * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
2619         that have no exit edges.
2620
2621 2011-06-28  Iain Sandoe  <iains@gcc.gnu.org>
2622
2623         PR target/47997
2624         * config/darwin.c (darwin_mergeable_string_section): Place string
2625         constants in '.cstring' rather than '.const' when CF/NSStrings are
2626         active.
2627
2628 2011-06-27  Eric Botcazou  <ebotcazou@adacore.com>
2629
2630         * reorg.c (fill_simple_delay_slots): Use stop_search_p to stop the
2631         forward scan as well.
2632
2633 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
2634
2635         * BASE-VER: Set to 4.6.2.
2636         * DEV-PHASE: Set to prerelease.
2637
2638 2011-06-27  Release Manager
2639
2640         * GCC 4.6.1 released.
2641
2642 2011-06-21  Alan Modra  <amodra@gmail.com>
2643
2644         * config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): New func.
2645         (TARGET_CANNOT_FORCE_CONST_MEM): Update definition.
2646
2647 2011-06-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2648
2649         Backport from mainline.
2650         2011-06-13  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2651
2652         PR target/48454
2653         * config/arm/neon.md (vec_pack_trunc): Set the lengths
2654         correctly for the case with Quad vectors.
2655
2656 2011-06-20  Alan Modra  <amodra@gmail.com>
2657
2658         * config/rs6000/rs6000.c (create_TOC_reference): Wrap high part
2659         of toc-relative address in CONST.
2660         (rs6000_delegitimize_address): Recognize changed address.
2661         (rs6000_legitimize_reload_address): Likewise.
2662         (rs6000_emit_move): Don't force these constants to memory.
2663         * config/rs6000/rs6000.md (tls_gd, tls_gd_high): Wrap high part of
2664         toc-relative address in CONST.
2665         (tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
2666         (tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.
2667
2668 2011-06-18  Jakub Jelinek  <jakub@redhat.com>
2669
2670         PR target/49411
2671         * config/i386/i386.c (ix86_expand_multi_arg_builtins): If
2672         last_arg_constant and last argument doesn't match its predicate,
2673         for xop_vpermil2<mode>3 error out and for xop_rotl<mode>3
2674         if it is CONST_INT, mask it, otherwise expand using rotl<mode>3.
2675         (ix86_expand_sse_pcmpestr, ix86_expand_sse_pcmpistr): Fix
2676         spelling of error message.
2677         * config/i386/sse.md (sse4a_extrqi, sse4a_insertqi,
2678         vcvtps2ph, *vcvtps2ph, *vcvtps2ph_store, vcvtps2ph256): Use
2679         const_0_to_255_operand instead of const_int_operand.
2680
2681 2011-06-17  Richard Henderson  <rth@redhat.com>
2682
2683         Backport from mainline
2684         2011-03-22  Richard Henderson  <rth@redhat.com>
2685
2686         * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
2687
2688 2011-06-17  Richard Guenther  <rguenther@suse.de>
2689
2690         Backport from mainline
2691         2011-05-23  Richard Guenther  <rguenther@suse.de>
2692
2693         PR tree-optimization/49115
2694         * tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
2695         is not necessarily carried out, do not claim it kills the ref.
2696         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
2697
2698 2011-06-17  Hans-Peter Nilsson  <hp@axis.com>
2699
2700         Backport from mainline
2701         2011-06-17  Hans-Peter Nilsson  <hp@axis.com>
2702
2703         PR rtl-optimization/48542
2704         * reload.c (find_equiv_reg): Stop looking when finding a
2705         setjmp-type call.
2706         * reload1.c (reload_as_needed): Invalidate all reload
2707         registers when crossing a setjmp-type call.
2708
2709 2011-06-16  Kaz Kojima  <kkojima@gcc.gnu.org>
2710
2711         Backport form main line
2712         2011-06-09  Kaz Kojima  <kkojima@gcc.gnu.org>
2713
2714         PR target/49307
2715         * config/sh/sh.md (UNSPEC_CHKADD): New.
2716         (chk_guard_add): New define_insn_and_split.
2717         (symGOT_load): Use chk_guard_add instead of blockage.
2718
2719 2011-06-16  Martin Jambor  <mjambor@suse.cz>
2720
2721         Backported from mainline
2722         2011-06-15  Martin Jambor  <mjambor@suse.cz>
2723
2724         PR tree-optimization/48613
2725         * ipa-prop.c (ipa_prop_write_jump_functions): Return immediately if
2726         ipa_node_params_vector is NULL.
2727
2728 2011-06-16  Jakub Jelinek  <jakub@redhat.com>
2729
2730         PR tree-optimization/49419
2731         * tree-vrp.c (execute_vrp): Call init_range_assertions
2732         before estimate_numbers_of_iterations, call
2733         free_number_of_iterations_estimates before calling
2734         remove_range_assertions.
2735
2736         Backported from mainline
2737         2011-06-13  Edmar Wienskoski  <edmar@freescale.com>
2738
2739         PR target/44618
2740         * config/rs6000/rs6000.md (save_gpregs_<mode>): Replaced pattern
2741         with a set of similar patterns, where the MATCH_OPERAND for the
2742         function argument is replaced with individual references to hardware
2743         registers.
2744         (save_fpregs_<mode>): Ditto
2745         (restore_gpregs_<mode>): Ditto
2746         (return_and_restore_gpregs_<mode>): Ditto
2747         (return_and_restore_fpregs_<mode>): Ditto
2748         (return_and_restore_fpregs_aix_<mode>): Ditto
2749
2750 2011-06-14  Richard Henderson  <rth@redhat.com>
2751
2752         PR debug/48459
2753         * dwarf2out.c (frame_pointer_fb_offset_valid): New.
2754         (based_loc_descr): Assert it's true.
2755         (compute_frame_pointer_to_fb_displacement): Set it,
2756         rather than aborting immediately.
2757
2758 2011-06-14  Richard Henderson  <rth@redhat.com>
2759
2760         Backport from mainline
2761         2011-03-22  Richard Henderson  <rth@redhat.com>
2762
2763         * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
2764         (avr_incoming_return_addr_rtx): New.
2765         (emit_push_byte): New.
2766         (expand_prologue): Use it.  Remove incorrect dwarf annotation for
2767         SREG, RAMPZ, zero register.  Push frame pointer by bytes.  Add dwarf
2768         annotation for __prologue_saves__.  Fixup dwarf annotation for CFA.
2769         (emit_pop_byte): New.
2770         (expand_epilogue): Use it.  Pop frame pointer by bytes.
2771         * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
2772         (INCOMING_RETURN_ADDR_RTX): New.
2773         (INCOMING_FRAME_SP_OFFSET): New.
2774         (ARG_POINTER_CFA_OFFSET): New.
2775         * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
2776         (*pushhi, *pushsi, *pushsf, popqi): Likewise.
2777         (pophi): Remove.
2778
2779 2011-06-14  Jakub Jelinek  <jakub@redhat.com>
2780
2781         PR fortran/49103
2782         * tree.h (DECL_NONSHAREABLE): Define.
2783         (struct tree_decl_common): Change decl_common_unused to
2784         decl_nonshareable_flag.
2785         * cfgexpand.c (expand_used_vars_for_block, clear_tree_used):
2786         Ignore vars with DECL_NONSHAREABLE bit set.
2787         * tree-cfg.c (gimple_duplicate_bb): Set DECL_NONSHAREABLE
2788         on stores to automatic aggregate vars.
2789
2790         PR rtl-optimization/49390
2791         Revert:
2792         2010-06-29  Bernd Schmidt  <bernds@codesourcery.com>
2793
2794         * cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare
2795         MEM_ALIAS_SET.
2796
2797 2011-06-11  Uros Bizjak  <ubizjak@gmail.com>
2798
2799         * config/i386/sse.md (vec_dupv4sf): Correct mode of forced register.
2800         (*vec_dupv2df): Rename from vec_dupv2df.
2801         (vec_dupv2df): New expander.
2802
2803 2011-06-09  Eric Botcazou  <ebotcazou@adacore.com>
2804
2805         * config/sparc/sparc.md (return_internal): Adjust 'length' attribute.
2806
2807 2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
2808
2809         Backport from mainline
2810         2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
2811
2812         * config/i386/driver-i386.c (host_detect_local_cpu): Support
2813         unknown Intel family 0x6 CPUs.
2814
2815 2011-06-08  Kaz Kojima  <kkojima@gcc.gnu.org>
2816
2817         Backport from mainline
2818         2011-06-01  Kaz Kojima  <kkojima@gcc.gnu.org>
2819
2820         PR target/49238
2821         * config/sh/sh.c (expand_cbranchdi4): Use a scratch register if
2822         needed when original operands are used for msw_skip comparison.
2823
2824 2011-06-07  Jakub Jelinek  <jakub@redhat.com>
2825
2826         PR gcov-profile/49299
2827         * value-prof.c (gimple_ic): Don't assume icall has a fallthru edge.
2828
2829 2011-06-06  Pat Haugen <pthaugen@us.ibm.com>
2830
2831         Backport from mainline
2832         2011-05-31  Pat Haugen <pthaugen@us.ibm.com>
2833
2834         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from
2835         NON_FLOAT_REGS.
2836
2837 2011-06-06  Jakub Jelinek  <jakub@redhat.com>
2838
2839         PR c++/49264
2840         * gimple-fold.c (fold_stmt_1): Don't try to fold *& on the lhs
2841         if stmt folded into nothing.
2842         * tree-inline.c (fold_marked_statements): If a builtin at the
2843         end of a bb folded into nothing, just update cgraph edges
2844         and move to next bb.
2845         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Allow new_stmt
2846         to be NULL.  Don't compute count and frequency if new_call is NULL.
2847
2848 2011-06-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2849
2850         * longlong.h (smul_ppmm): The resulting register pair contains the
2851         higher order word first.
2852
2853 2011-06-06  Mikael Pettersson  <mikpe@it.uu.se>
2854
2855         PR tree-optimization/49243
2856         * calls.c (setjmp_call_p): Also check if fndecl has the
2857         returns_twice attribute.
2858
2859 2011-06-06  Richard Guenther  <rguenther@suse.de>
2860
2861         PR tree-optimization/48702
2862         * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
2863         only when we know the base address is within bounds.
2864         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
2865         assume the base address of TARGET_MEM_REFs is in bounds.
2866         (indirect_refs_may_alias_p): Fix TARGET_MEM_REF without index tests.
2867
2868         Backport from mainline
2869         2011-05-31  Jakub Jelinek  <jakub@redhat.com>
2870
2871         PR rtl-optimization/49235
2872         * tree-ssa-address.c (gen_addr_rtx): Ignore base if it is const0_rtx.
2873         (create_mem_ref_raw): Create MEM_REF even if base is INTEGER_CST.
2874
2875 2011-06-05  Eric Botcazou  <ebotcazou@adacore.com>
2876
2877         * config/sparc/sparc.c (output_return): Fix thinko in the output of an
2878         EH return when delayed branches are disabled.
2879
2880 2011-06-05  Kaz Kojima  <kkojima@gcc.gnu.org>
2881
2882         Backport from mainline
2883         2011-05-30  Kaz Kojima  <kkojima@gcc.gnu.org>
2884
2885         PR target/49186
2886         * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
2887         part of the second operand is 0.
2888
2889 2011-06-04  Alexandre Oliva  <aoliva@redhat.com>
2890
2891         PR debug/47590
2892         * target.def (delay_sched2, delay_vartrack): New.
2893         * doc/tm.texi.in: Update.
2894         * doc/tm.texi: Rebuild.
2895         * sched-rgn.c (gate_handle_sched2): Fail if delay_sched2.
2896         * var-tracking.c (gate_handle_var_tracking): Likewise.
2897         * config/bfin/bfin.c (bfin_flag_schedule_insns2): Drop.
2898         (bfin_flag_var_tracking): Drop.
2899         (output_file_start): Don't save and override flag_var_tracking.
2900         (bfin_option_override): Ditto flag_schedule_insns_after_reload.
2901         (bfin_reorg): Test original variables.
2902         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
2903         * config/ia64/ia64.c (ia64_flag_schedule_insns2): Drop.
2904         (ia64_flag_var_tracking): Drop.
2905         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
2906         (ia64_file_start): Don't save and override flag_var_tracking.
2907         (ia64_override_options_after_change): Ditto
2908         flag_schedule_insns_after_reload.
2909         (ia64_reorg): Test original variables.
2910         * config/picochip/picochip.c (picochip_flag_schedule_insns2): Drop.
2911         (picochip_flag_var_tracking): Drop.
2912         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
2913         (picochip_option_override): Don't save and override
2914         flag_schedule_insns_after_reload.
2915         (picochip_asm_file_start): Ditto flag_var_tracking.
2916         (picochip_reorg): Test original variables.
2917         * config/spu/spu.c (spu_flag_var_tracking): Drop.
2918         (TARGET_DELAY_VARTRACK): Define.
2919         (spu_var_tracking): New.
2920         (spu_machine_dependent_reorg): Call it.
2921         (asm_file_start): Don't save and override flag_var_tracking.
2922
2923 2011-06-04  Ira Rosen  <ira.rosen@linaro.org>
2924
2925         PR tree-optimization/49038
2926         * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
2927         Ensure at least one epilogue iteration if required by data
2928         accesses with gaps.
2929         * tree-vectorizer.h (struct _loop_vec_info): Add new field
2930         to mark loops that require peeling for gaps.
2931         * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
2932         (vect_get_known_peeling_cost): Take peeling for gaps into
2933         account.
2934         (vect_transform_loop): Generate epilogue if required by data
2935         access with gaps.
2936         * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
2937         loop as requiring an epilogue if there are gaps in the end of
2938         the strided group.
2939
2940 2011-06-02  Ira Rosen  <ira.rosen@linaro.org>
2941
2942         PR tree-optimization/49093
2943         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail for volatile
2944         data references.
2945
2946 2011-05-19  Quentin Neill  <quentin.neill@amd.com>
2947
2948         * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
2949         (fma4_fmaddsub): Likewise
2950
2951 2011-05-31  Richard Guenther  <rguenther@suse.de>
2952
2953         Backport from mainline
2954         2011-05-19  Richard Guenther  <rguenther@suse.de>
2955
2956         PR middle-end/48985
2957         * tree-object-size.c (addr_object_size): If the pointed-to
2958         variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.
2959
2960 2011-05-31  Richard Guenther  <rguenther@suse.de>
2961
2962         Backport from mainline
2963         2011-05-11  Richard Guenther  <rguenther@suse.de>
2964
2965         PR middle-end/48953
2966         * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
2967
2968 2011-05-30  Richard Guenther  <rguenther@suse.de>
2969
2970         PR tree-optimization/49218
2971         * tree-vrp.c (adjust_range_with_scev): Properly check whether
2972         overflow occured.
2973
2974 2011-05-30  Georg-Johann Lay  <avr@gjlay.de>
2975
2976         PR target/45263
2977         * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors):
2978         Don't use r20 around calls of __tablejump_elpm__
2979
2980 2011-05-29  Richard Sandiford  <rdsandiford@googlemail.com>
2981
2982         PR target/43700
2983         * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
2984         registers.
2985
2986 2011-05-29  Richard Sandiford  <rdsandiford@googlemail.com>
2987
2988         PR target/43995
2989         * config/mips/mips.c (mips_pic_call_symbol_from_set): Add a
2990         recurse_p argument.  Only follow register copies if it is set,
2991         and prevent mips_find_pic_call_symbol from recursing.
2992         (mips_find_pic_call_symbol): Add a recurse_p argument.
2993         Pass it to mips_pic_call_symbol_from_set.
2994         (mips_annotate_pic_calls): Update accordingly.
2995
2996 2011-05-29  Richard Guenther  <rguenther@suse.de>
2997
2998         PR tree-optimization/49217
2999         * ipa-pure-const.c (propagate_pure_const): Fix typos.
3000
3001 2011-05-26  Pat Haugen <pthaugen@us.ibm.com>
3002
3003         * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
3004         moves expensive on Power7 also.
3005
3006 2011-05-26  Georg-Johann Lay  <avr@gjlay.de>
3007
3008         PR target/44643
3009         * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
3010         alone. Error if non-const data has attribute progmem.
3011
3012 2011-05-26  Jakub Jelinek  <jakub@redhat.com>
3013
3014         PR c++/49165
3015         * gimplify.c (shortcut_cond_r): Don't special case
3016         COND_EXPRs if they have void type on one of their arms.
3017
3018         PR tree-optimization/49161
3019         * tree-vrp.c (struct case_info): New type.
3020         (compare_case_labels): Sort case_info structs instead of
3021         trees, and not primarily by CASE_LABEL uids but by
3022         label_for_block indexes.
3023         (find_switch_asserts): Put case labels into struct case_info
3024         array instead of TREE_VEC, adjust sorting, compare label_for_block
3025         values instead of CASE_LABELs.
3026
3027 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
3028
3029         PR target/49128
3030         * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
3031
3032 2011-05-18  Jan Hubicka  <jh@suse.cz>
3033
3034         PR tree-optimization/44897
3035         * ipa-inline.c (cgraph_decide_recursive_inlining): Do not divide
3036         by zero for insane profiles.
3037
3038 2011-05-24  Eric Botcazou  <ebotcazou@adacore.com>
3039
3040         * config/sparc/sparc.c (sparc_option_override): If not set by the user,
3041         force flag_ira_share_save_slots to 0.
3042
3043 2011-05-24  Uros Bizjak  <ubizjak@gmail.com>
3044
3045         PR target/49133
3046         * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.
3047
3048 2011-05-24  H.J. Lu  <hongjiu.lu@intel.com>
3049
3050         Backport from mainline
3051         2011-05-24  H.J. Lu  <hongjiu.lu@intel.com>
3052
3053         PR target/49128
3054         * config/i386/driver-i386.c (host_detect_local_cpu): Always
3055         add -mno-XXX.  Handle FMA.
3056
3057 2011-05-23  Jakub Jelinek  <jakub@redhat.com>
3058
3059         PR lto/49123
3060         * fold-const.c (constant_boolean_node): If type is non-NULL,
3061         use build_int_cst_type instead of build_int_cst.
3062
3063         PR debug/49032
3064         * dbxout.c: Include cgraph.h.
3065         (dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
3066         and without value expr, return NULL if no varpool node exists for
3067         it or if it is not needed.
3068         * Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
3069
3070         PR c/49120
3071         * c-decl.c (start_decl): Convert expr to void_type_node.
3072
3073         PR middle-end/48973
3074         * expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
3075         failed and the comparison has a single bit signed type, use
3076         constm1_rtx instead of const1_rtx for true value.
3077         (do_store_flag): If ops->type is single bit signed type, disable
3078         signel bit test optimization and pass -1 instead of 1 as last
3079         parameter to emit_store_flag_force.
3080
3081 2011-05-22  Eric Botcazou  <ebotcazou@adacore.com>
3082
3083         * config.gcc (sparc-*-elf*): Add sparc/t-crtin.
3084         (sparc-*-rtems*): Likewise.
3085         (sparc64-*-elf*): Likewise.
3086         (sparc64-*-rtems*): Likewise.
3087         (sparc*-*-solaris2*): Likewise.  Remove crti.o crtn.o extra parts.
3088         * config/sparc/t-crtin: New file.
3089         * config/sparc/t-sol2 (crti.o): Delete rule.
3090         (crtn.o): Likewise.
3091         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
3092         * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
3093         * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
3094         (ENDFILE_SPEC): Add crtn.o.
3095
3096 2011-05-22  Uros Bizjak  <ubizjak@gmail.com>
3097
3098         PR target/49104
3099         * config/i386/cpuid.h (bit_MMXEXT): New define.
3100
3101 2011-05-22  Jakub Jelinek  <jakub@redhat.com>
3102
3103         PR middle-end/49029
3104         * expmed.c (extract_fixed_bit_field): Test whether target can be used
3105         only after deciding which mode to use.
3106
3107 2011-05-21  Eric Botcazou  <ebotcazou@adacore.com>
3108
3109         * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
3110         frame pointer.
3111
3112 2011-05-21  Eric Botcazou  <ebotcazou@adacore.com>
3113
3114         * config/sparc/sparc.c (eligible_for_return_delay): Do not return
3115         false if there are call-saved registers here...
3116         (sparc_can_use_return_insn_p): ...but here instead.
3117         (save_or_restore_regs): Fix thinko.
3118         (sparc_expand_prologue): Use current_function_is_leaf.
3119         (sparc_frame_pointer_required): Likewise.
3120
3121 2011-05-20  Jakub Jelinek  <jakub@redhat.com>
3122
3123         PR bootstrap/49086
3124         * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
3125         for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
3126
3127 2011-05-20  Richard Guenther  <rguenther@suse.de>
3128
3129         PR tree-optimization/49079
3130         * tree-dfa.c (get_ref_base_and_extent): Handle view-converting
3131         MEM_REFs correctly for the trailing array access detection.
3132         Special case constants the same way as decls for overall size
3133         constraining.
3134
3135 2011-05-20  Jakub Jelinek  <jakub@redhat.com>
3136
3137         PR tree-optimization/49073
3138         * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return
3139         NULL if PHI argument is SSA_NAME, whose def_stmt is dominated
3140         by the PHI.
3141         * tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
3142
3143 2011-05-19  Uros Bizjak  <ubizjak@gmail.com>
3144
3145         * config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
3146         when TARGET_RDRND is active.
3147         (ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
3148         Generate dummy SImode target register when target is NULL.
3149
3150 2011-05-18  H.J. Lu  <hongjiu.lu@intel.com>
3151
3152         Backport from mainline
3153         2011-05-18  H.J. Lu  <hongjiu.lu@intel.com>
3154
3155         PR target/49002
3156         * config/i386/sse.md (avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>):
3157         Properly handle load cast.
3158
3159 2011-05-18  Jakub Jelinek  <jakub@redhat.com>
3160
3161         PR tree-optimization/49039
3162         * tree-vrp.c (extract_range_from_binary_expr): For
3163         MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]>
3164         return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>].
3165
3166 2011-05-18  Richard Guenther  <rguenther@suse.de>
3167
3168         PR tree-optimization/49018
3169         * gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
3170         * tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
3171         gimple_has_side_effects.
3172
3173 2011-05-18  Richard Guenther  <rguenther@suse.de>
3174
3175         Backport from mainline
3176         2011-04-19  Richard Guenther  <rguenther@suse.de>
3177
3178         PR lto/48207
3179         * tree.c (free_lang_data): Do not reset the decl-assembler-name
3180         langhook.
3181
3182         2011-04-21  Richard Guenther  <rguenther@suse.de>
3183
3184         PR lto/48703
3185         * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of
3186         DECL_NAME.
3187
3188 2011-05-18  Richard Guenther  <rguenther@suse.de>
3189
3190         Backport from mainline
3191         2011-05-12  Richard Guenther  <rguenther@suse.de>
3192
3193         PR tree-optimization/48172
3194         * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
3195         the number of iterations from the segment size calculation.
3196         (vect_create_cond_for_alias_checks): Adjust.
3197
3198         2011-05-13  Richard Guenther  <rguenther@suse.de>
3199
3200         PR tree-optimization/48172
3201         * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
3202         multiplying by number of iterations for equal step.
3203         (vect_create_cond_for_alias_checks): Likewise.
3204
3205 2011-05-18  Jakub Jelinek  <jakub@redhat.com>
3206
3207         PR tree-optimization/49000
3208         * tree-ssa.c (execute_update_addresses_taken): Call
3209         maybe_rewrite_mem_ref_base on debug stmt value.  If it couldn't
3210         be rewritten and decl has been marked for renaming, reset
3211         the debug stmt.
3212
3213 2011-05-17  Nick Clifton  <nickc@redhat.com>
3214
3215         Import these patches from the mainline:
3216
3217         2011-05-17  Nick Clifton  <nickc@redhat.com>
3218
3219         * config/rx/rx.c (rx_memory_move_cost): Include cost of register moves.
3220
3221         * config/rx/rx.md: Add peephole to remove redundant extensions
3222         after loads.
3223         (bitset_in_memory): Use rx_restricted_mem_operand.
3224         (bitinvert_in_memory): Likewise.
3225         (bitclr_in_memory): Likewise.
3226
3227         2011-05-17  Kazuhio Inaoka  <kazuhiro.inaoka.ud@renesas.com>
3228                     Nick Clifton  <nickc@redhat.com>
3229
3230         * config/rx/rx.md: Add peepholes to match a register move followed
3231         by a comparison of the moved register.  Replace these with an
3232         addition of zero that does both actions in one instruction.
3233
3234 2011-05-17  Jakub Jelinek  <jakub@redhat.com>
3235
3236         PR target/48986
3237         * config/i386/sync.md (sync_old_add<mode>): Relax operand 2
3238         predicate to allow CONST_INT.
3239
3240 2011-05-16  Joseph Myers  <joseph@codesourcery.com>
3241
3242         PR preprocessor/48677
3243         * cppspec.c (lang_specific_driver): Set new_decoded_options[0]
3244         from decoded_options[0], not from itself.
3245
3246 2011-05-16  Uros Bizjak  <ubizjak@gmail.com>
3247
3248         * config/i386/i386.md (*movxf_internal): Disable CONST_DOUBLE
3249         optimization for CM_MEDIUM and CM_LARGE code models.  Fix usage
3250         of standard_80387_constant_p.
3251         (*movxf_internal_nointeger): Ditto.
3252         (*movdf_internal): Remove dead code-size optimization.
3253         (*movdf_internal_rex64): Fix usage of standard_80387_constant_p.
3254         (*movdf_internal_nointeger): Ditto.
3255         (*movsf_internal): Ditto.
3256         (floating point move splitters): Ditto.
3257         * config/i386/constraints.md (G): Ditto.
3258         * config/i386/i386.c (ix86_preferred_reload_class): Ditto.
3259
3260 2011-05-12  Jakub Jelinek  <jakub@redhat.com>
3261
3262         PR tree-optimization/48975
3263         * tree-if-conv.c (combine_blocks): Call free_bb_predicate
3264         on all bbs here and free and clear ifc_bbs at the end.
3265
3266 2011-05-12  Richard Guenther  <rguenther@suse.de>
3267
3268         Backport from mainline
3269         2011-05-02  Richard Guenther  <rguenther@suse.de>
3270
3271         PR tree-optimization/48822
3272         * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
3273         (process_scc): Indicate which iteration we start.
3274
3275 2011-05-12  Jakub Jelinek  <jakub@redhat.com>
3276
3277         PR debug/48967
3278         * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
3279         if validate_subreg fails.
3280
3281 2011-05-12  Nick Clifton  <nickc@redhat.com>
3282
3283         * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
3284         * config/rx/rx.c (rx_is_legitimate_constant): Use gcc_unreachable
3285         instead of abort.
3286         (rx_align_for_label): Test label before extracting its number of
3287         uses.
3288         (rx_max_skip_for_label): Ignore debug insns.
3289
3290 2011-05-11  Jakub Jelinek  <jakub@redhat.com>
3291
3292         PR debug/48159
3293         * tree-ssa.c (reset_debug_uses): New function.
3294         * tree-flow.h (reset_debug_uses): New prototype.
3295         * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
3296         * tree-loop-distribution.c (generate_loops_for_partition): Call
3297         reset_debug_uses on the stmts that will be removed.  Keep around
3298         all debug stmts, don't count them as bits in partition bitmap.
3299         (generate_builtin): Don't count debug stmts or labels as bits in
3300         partition bitmap.
3301
3302 2011-05-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
3303
3304         Backport from mainline
3305         2011-05-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
3306
3307         PR target/48857, 48495
3308         * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete.
3309         (VSX_MODE): Ditto.
3310         (VSX_MOVE_MODE): Ditto.
3311         (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and
3312         VSX vector types.  Add V2DImode.
3313         (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of
3314         ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls.
3315         (MODES_TIEABLE_P): Ditto.
3316
3317         * config/rs6000/rs6000.c (rs6000_emit_move): Use
3318         ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and
3319         VSX_VECTOR_MODE.
3320         (init_cumulative_args): Ditto.
3321         (rs6000_function_arg_boundary): Ditto.
3322         (rs6000_function_arg_advance_1): Ditto.
3323         (rs6000_function_arg): Ditto.
3324         (rs6000_function_ok_for_sibcall): Ditto.
3325         (emit_frame_save): Ditto.
3326         (rs6000_function_value): Ditto.
3327         (rs6000_libcall_value): Ditto.
3328
3329 2011-05-10  Nick Clifton  <nickc@redhat.com>
3330
3331         * config/rx/rx.c (rx_memory_move_cost): Reduce the cost for
3332         stores.
3333
3334 2011-05-10  DJ Delorie  <dj@redhat.com>
3335
3336         * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
3337         (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
3338         * config/rx/rx.c (rx_align_for_label): Add label and
3339         uses_threshold parameters.  Do not align when the label is not
3340         used enough.
3341         * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
3342
3343 2011-05-10  Jakub Jelinek  <jakub@redhat.com>
3344
3345         Backported from mainline
3346         2011-05-07  Zdenek Dvorak  <ook@ucw.cz>
3347
3348         PR tree-optimization/48837
3349         * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
3350         when accumulator transformation is performed.
3351
3352 2011-05-10  Jakub Jelinek  <jakub@redhat.com>
3353
3354         PR tree-optimization/48611
3355         PR tree-optimization/48794
3356         * tree-eh.c (remove_unreachable_handlers): Don't remove regions
3357         referenced from RESX or EH_DISPATCH arguments.
3358
3359 2011-05-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3360
3361         * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
3362         temporary register to match Pmode.
3363
3364 2011-05-09  Eric Botcazou  <ebotcazou@adacore.com>
3365
3366         * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
3367         (dataflow_set_preserve_mem_locs): Likewise.
3368
3369 2011-05-06  Uros Bizjak  <ubizjak@gmail.com>
3370
3371         * config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
3372         constraint modifier to "r".
3373
3374 2011-05-06  Alan Modra  <amodra@gmail.com>
3375
3376         PR target/48900
3377         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
3378         const0_rtx as the arg to the dummy __tls_get_addr libcall.
3379
3380 2011-05-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3381
3382         * config/s390/s390.c (s390_asm_trampoline_template): Comment
3383         instruction sizes.
3384         (s390_trampoline_init): Replace UNITS_PER_WORD with UNITS_PER_LONG.
3385
3386 2011-05-06  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3387
3388         PR target/48252
3389         * config/arm/neon.md (neon_vtrn<mode>): Fix typo from earlier commit.
3390
3391 2011-05-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
3392
3393         * config/rs6000/rs6000.c (rs6000_handle_option): Add missing break
3394         for OPT_mfpu_ case.
3395
3396 2011-05-05  Jason Merrill  <jason@redhat.com>
3397
3398         PR c++/40975
3399         * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
3400
3401 2011-05-05  Julian Brown  <julian@codesourcery.com>
3402
3403         * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
3404         parenthesis in D-register case.
3405
3406 2011-05-05  Ira Rosen  <ira.rosen@linaro.org>
3407
3408         Backport from mainline:
3409         2011-04-18  Ulrich Weigand  <ulrich.weigand@linaro.org>
3410                     Ira Rosen  <ira.rosen@linaro.org>
3411
3412         PR target/48252
3413         * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
3414         to match neon_vzip/vuzp/vtrn_internal.
3415         * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
3416         outputs explicitly dependent on both inputs.
3417         (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
3418
3419 2011-05-04  Uros Bizjak  <ubizjak@gmail.com>
3420
3421         * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
3422         Use %v prefix in insn mnemonic to handle TARGET_AVX.
3423         (*movdi_internal): Use "maybe_vex" instead of "vex" in "prefix"
3424         attribute calculation.
3425         (*movdf_internal): Output AVX mnemonics.  Add "prefix" attribute.
3426         * config/i386/sse.md (*sse2_storeq_rex64): Do not emit %v prefix
3427         for mov{q} mnemonic.
3428         (*vec_extractv2di_1_rex64_avx): Ditto.
3429
3430 2011-05-03  Uros Bizjak  <ubizjak@gmail.com>
3431             Jakub Jelinek  <jakub@redhat.com>
3432
3433         PR target/48774
3434         * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
3435         only succeed if req_mode is the same as set_mode.
3436
3437 2011-05-03  Richard Guenther  <rguenther@suse.de>
3438
3439         PR lto/48846
3440         * lto-streamer-in.c (unpack_ts_decl_common_value_fields):
3441         Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
3442         * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
3443
3444 2011-05-03  Eric Botcazou  <ebotcazou@adacore.com>
3445
3446         PR target/48723
3447         * config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
3448         for -fstack-check if the size to allocate is negative.
3449
3450 2011-04-30  Jakub Jelinek  <jakub@redhat.com>
3451
3452         PR tree-optimization/48809
3453         * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
3454         type.
3455         (gen_inbound_check): Don't compute index_expr - range_min in utype
3456         again, instead reuse SSA_NAME initialized in build_arrays.
3457         Remove two useless gsi_for_stmt calls.
3458
3459 2011-04-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
3460
3461         Backport from mainline
3462         2011-04-01  Andrew Pinski  <pinskia@gmail.com>
3463             Michael Meissner  <meissner@linux.vnet.ibm.com>
3464
3465         PR target/48262
3466         * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
3467         operands, as per the specifications.
3468
3469         * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
3470         (vec_extract_evenv4sf): Ditto.
3471         (vec_extract_evenv8hi): Ditto.
3472         (vec_extract_evenv16qi): Ditto.
3473         (vec_extract_oddv4si): Ditto.
3474
3475 2011-04-28  Jakub Jelinek  <jakub@redhat.com>
3476
3477         PR middle-end/48597
3478         * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
3479         inline asm.
3480
3481 2011-04-27  Jakub Jelinek  <jakub@redhat.com>
3482
3483         PR c/48742
3484         * c-typeck.c (build_binary_op): Don't wrap arguments if
3485         int_operands is true.
3486
3487 2011-04-26  Jakub Jelinek  <jakub@redhat.com>
3488
3489         PR debug/48768
3490         * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
3491         is error_mark_node, set value to NULL.
3492
3493         PR tree-optimization/48734
3494         * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
3495         if return value from maybe_fold_*_comparsions isn't something
3496         the code is prepared to handle.
3497
3498 2011-04-26  Richard Guenther  <rguenther@suse.de>
3499
3500         PR tree-optimization/48731
3501         * ipa-inline.c (cgraph_flatten): Test if function is inlinable.
3502
3503 2011-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
3504
3505         PR other/48748
3506         * doc/extend.texi (Type Traits): Document __is_standard_layout,
3507         __is_literal_type, and __is_trivial; update throughout about
3508         possibly cv-qualified void types.
3509
3510 2011-04-23  Jakub Jelinek  <jakub@redhat.com>
3511
3512         PR c/48685
3513         * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
3514         to VOID_TYPE even around MODIFY_EXPR.
3515
3516 2011-04-22  Jakub Jelinek  <jakub@redhat.com>
3517
3518         PR tree-optimization/48717
3519         * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
3520         ~A + A optimizations use build_int_cst_type instead of build_int_cst.
3521
3522 2011-04-22  Jakub Jelinek  <jakub@redhat.com>
3523
3524         PR c/48716
3525         * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
3526         TREE_STATIC variables declared inside of some OpenMP construct.
3527
3528 2011-04-21  Uros Bizjak  <ubizjak@gmail.com>
3529
3530         PR target/48708
3531         * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
3532         vec_extract and vec_concat for non-SSE4_1 targets.
3533
3534 2011-04-21  Richard Guenther  <rguenther@suse.de>
3535
3536         PR middle-end/48695
3537         * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
3538         objects and types here.  Adjust for their offset before comparing.
3539
3540 2011-04-21  Eric Botcazou  <ebotcazou@adacore.com>
3541
3542         * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
3543
3544 2011-04-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3545
3546         PR target/48288
3547         * config/pa/predicates.md (ior_operand): Delete predicate.
3548         (cint_ior_operand, reg_or_cint_ior_operand): New predicates.
3549         * config/pa/pa.md (iordi3): Use reg_or_cint_ior_operand predicate in
3550         expander.  Use cint_ior_operand in unnamed insn.
3551         (iorsi3): Likewise.
3552         * config/pa/pa-protos.h (ior_operand): Delete declarations.
3553
3554 2011-04-20  Jakub Jelinek  <jakub@redhat.com>
3555
3556         PR tree-optimization/48611
3557         * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
3558         beyond ERT_MUST_NOT_THROW region.
3559
3560 2011-04-20  Eric Botcazou  <ebotcazou@adacore.com>
3561
3562         Backport from mainline
3563         2011-04-19  Eric Botcazou  <ebotcazou@adacore.com>
3564
3565         PR lto/48148
3566         * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
3567         the types if they have different enumeration identifiers.
3568
3569         2011-04-18  Eric Botcazou  <ebotcazou@adacore.com>
3570
3571         PR lto/48492
3572         * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
3573         DECL_IN_CONSTANT_POOL without RTL.
3574
3575 2011-04-20  Richard Guenther  <rguenther@suse.de>
3576
3577         Backport from mainline
3578         2011-04-19  Bernd Schmidt  <bernds@codesourcery.com>
3579
3580         PR fortran/47976
3581         * reload1.c (inc_for_reload): Return void. All callers changed.
3582         (emit_input_reload_insns): Don't try to delete previous output
3583         reloads to a register, or record spill_reg_store for autoincs.
3584
3585 2011-04-19  Jakub Jelinek  <jakub@redhat.com>
3586
3587         PR target/48678
3588         * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
3589         is a SUBREG with non-MODE_INT mode inside of it.
3590
3591 2011-04-18  Jakub Jelinek  <jakub@redhat.com>
3592
3593         PR middle-end/48661
3594         * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
3595         if TREE_TYPE (v) is non-NULL.
3596
3597         * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
3598         gimple_get_virt_mehtod_for_binfo.
3599         * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
3600         * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
3601         callers.
3602         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
3603
3604 2011-04-18  Eric Botcazou  <ebotcazou@adacore.com>
3605
3606         * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
3607
3608 2011-04-18  Jakub Jelinek  <jakub@redhat.com>
3609
3610         PR tree-optimization/48616
3611         * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
3612         whether the shift is by scalar or vector based on whether all SLP
3613         scalar stmts have the same rhs.
3614
3615 2011-04-17  Dennis, CHENG Renquan  <crquan@fedoraproject.org>
3616
3617         * doc/passes.texi: Fill crossref nodes.
3618
3619 2011-04-17  Marius Strobl  <marius@FreeBSD.org>
3620
3621         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
3622         (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
3623         (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
3624
3625 2011-04-17  Eric Botcazou  <ebotcazou@adacore.com>
3626
3627         PR lto/48538
3628         * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
3629         is non-null before accessing it.
3630         (input_cgraph): Remove trailing spaces.
3631
3632 2011-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3633
3634         * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
3635         Replace match_operand with match_dup for the third operand in
3636         these expanders.
3637
3638 2011-04-15  Jakub Jelinek  <jakub@redhat.com>
3639
3640         PR target/48605
3641         * config/i386/sse.md (avx_insertps, sse4_1_insertps): If operands[2]
3642         is a MEM, offset it as needed based on top 2 bits in operands[3],
3643         change MEM mode to SFmode and mask those 2 bits away from operands[3].
3644
3645 2011-04-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3646
3647         Backport from mainline:
3648         2011-04-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3649
3650         PR target/48366
3651         * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
3652         move from floating point to shift amount register.
3653         (emit_move_sequence): Remove secondary reload support for floating
3654         point to shift amount amount register copies.
3655         (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
3656         amount register copies.
3657         * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
3658         register, return false if mode isn't a scalar integer mode.
3659         * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
3660
3661 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
3662
3663         PR middle-end/48591
3664         * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is NULL.
3665         (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
3666
3667 2011-04-13  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3668
3669         Backport from mainline:
3670         2011-04-12  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3671         PR target/48090
3672         * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
3673
3674 2011-04-12  Martin Jambor  <mjambor@suse.cz>
3675
3676         PR tree-optimization/48195
3677         * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
3678         ipa_check_create_edge_args.
3679         (ipcp_generate_summary): Do not call ipa_check_create_node_params and
3680         ipa_check_create_edge_args.
3681         * ipa-inline.c (inline_generate_summary): Do not call
3682         ipa_check_create_node_params and ipa_check_create_edge_args.
3683         * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
3684         ipa_check_create_edge_args.
3685
3686 2011-04-12  Jakub Jelinek  <jakub@redhat.com>
3687
3688         PR rtl-optimization/48549
3689         * combine.c (propagate_for_debug): Also stop after BB_END of
3690         this_basic_block.  Process LAST and just stop processing after it.
3691         (combine_instructions): If last_combined_insn has been deleted,
3692         set last_combined_insn to its PREV_INSN.
3693
3694 2011-04-12  Nick Clifton  <nickc@redhat.com>
3695
3696         * config/v850/v850.c (expand_prologue): Do not use the CALLT
3697         instruction for interrupt handlers if the target is the basic V850
3698         architecture.
3699         (expand_epilogue): Likewise.
3700
3701 2011-04-12  Jakub Jelinek  <jakub@redhat.com>
3702
3703         PR c/48517
3704         * c-typeck.c (store_init_value): Set TREE_TYPE (decl) to
3705         qualified type.
3706
3707 2011-04-11  Joseph Myers  <joseph@codesourcery.com>
3708
3709         * common.opt (Tbss=, Tdata=, Ttext=): New options.
3710
3711 2011-04-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3712
3713         Backport from mainline:
3714         2011-04-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3715
3716         * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
3717
3718 2011-04-09  Duncan Sands  <baldrick@free.fr>
3719
3720         * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
3721
3722 2011-04-08  Steven G. Kargl  <kargl@gcc.gnu.org>
3723
3724         PR target/47829
3725         * config.gcc: disable unwind table generation for crtbegin/crtend
3726         on i386-*-freebsd.
3727
3728 2011-04-08  Jakub Jelinek  <jakub@redhat.com>
3729
3730         PR tree-optimization/48377
3731         * tree-vect-data-refs.c (vector_alignment_reachable_p): Set is_packed
3732         to true even for types with smaller TYPE_ALIGN than TYPE_SIZE.
3733
3734 2011-04-07  Uros Bizjak  <ubizjak@gmail.com>
3735
3736         * config/i386/sse.md: Update copyright year.
3737         (avx_cmp<ssescalarmodesuffix><mode>3): Add missing output
3738         register constraint.
3739         (*vec_concatv2sf_avx): Fix wrong register constraint in
3740         alternative 3 of operand 1.
3741         (*vec_set<mode>_0_avx): Avoid combining registers from different
3742         units in a single alternative.
3743         (*vec_set<mode>_0_sse4_1): Ditto.
3744         (*vec_set<mode>_0_sse2): Ditto.
3745         (vec_set<mode>_0): Ditto.
3746         (sse2_storehpd): Ditto.
3747         (sse2_loadhpd): Ditto.
3748         (sse4_1_insertps): Use nonimmediate_operand for operand 2.
3749         * config/i386/predicates.md (sse_comparison_operator): Do not
3750         define as special predicate.
3751
3752 2011-04-07  Jakub Jelinek  <jakub@redhat.com>
3753
3754         PR debug/48343
3755         * combine.c (combine_instructions): Add last_combined_insn,
3756         update it if insn is after it, pass it to all try_combine calls.
3757         (try_combine): Add last_combined_insn parameter, pass it instead of
3758         i3 to propagate_for_debug.
3759
3760 2011-04-07  Andrey Belevantsev  <abel@ispras.ru>
3761
3762         Backport from mainline
3763         2011-03-26  Andrey Belevantsev  <abel@ispras.ru>
3764
3765         PR rtl-optimization/48144
3766         * sel-sched-ir.c (merge_history_vect): Factor out from ...
3767         (merge_expr_data): ... here.
3768         (av_set_intersect): Rename to av_set_code_motion_filter.
3769         Update all callers.  Call merge_history_vect when an
3770         expression is found in both sets.
3771         * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
3772
3773 2011-04-06  Jakub Jelinek  <jakub@redhat.com>
3774
3775         PR debug/48466
3776         * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
3777         as base_reg whatever register reg has been eliminated to, instead
3778         of hardcoding STACK_POINTER_REGNUM.
3779
3780         Backported from mainline
3781         2011-04-01  Jakub Jelinek  <jakub@redhat.com>
3782
3783         PR middle-end/48335
3784         * expr.c (expand_assignment): Handle all possibilities
3785         if TO_RTX is CONCAT.
3786         * expmed.c (store_bit_field_1): Avoid trying to create
3787         invalid SUBREGs.
3788         (store_split_bit_field): If SUBREG_REG (op0) or
3789         op0 itself has smaller mode than word, return it
3790         for offset 0 and const0_rtx for out-of-bounds stores.
3791         If word is const0_rtx, skip it.
3792
3793 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
3794
3795         * gcov-io.c: Use GCC Runtime Library Exception.
3796
3797 2011-04-05  Eric Botcazou  <ebotcazou@adacore.com>
3798
3799         * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
3800
3801 2011-04-01  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3802
3803         * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
3804
3805 2011-04-01  Andrey Belevantsev  <abel@ispras.ru>
3806
3807         Backport from mainline
3808         2011-03-22  Andrey Belevantsev  <abel@ispras.ru>
3809
3810         PR rtl-optimization/48143
3811         * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
3812         (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
3813         sse2_cvtps2pd): Likewise.
3814
3815 2011-03-31  Eric Botcazou  <ebotcazou@adacore.com>
3816
3817         PR target/48142
3818         * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
3819         frame-related from frame-unrelated adjustments to the stack pointer.
3820
3821 2011-03-30  H.J. Lu  <hongjiu.lu@intel.com>
3822
3823         Backport from mainline
3824         2011-03-30  H.J. Lu  <hongjiu.lu@intel.com>
3825
3826         PR target/48349
3827         * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
3828         FLOAT_SSE_REGS.
3829
3830 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
3831
3832         PR debug/48253
3833         * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
3834         dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
3835         dw_fde_unlikely_section_end_label, cold_in_std_section,
3836         dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
3837         Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
3838         fields.
3839         (output_fde): Use dw_fde_second_{begin,end} if second is
3840         true, otherwise dw_fde_{begin,end}.
3841         (output_call_frame_info): Test dw_fde_second_begin != NULL
3842         instead of dw_fde_switched_sections.
3843         (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
3844         fields, initialize new fields.  Initialize in_std_section
3845         unconditionally from the first partition.
3846         (dwarf2out_end_epilogue): Don't override dw_fde_end when
3847         dw_fde_second_begin is non-NULL.
3848         (dwarf2out_switch_text_section): Stop initializing removed
3849         dw_fde_struct fields, initialize new fields, initialize
3850         also dw_fde_end here.  Set dw_fde_switch_cfi even when
3851         dwarf2out_do_cfi_asm ().  Call var_location_switch_text_section.
3852         (struct var_loc_list_def): Add last_before_switch field.
3853         (arange_table, arange_table_allocated, arange_table_in_use,
3854         ARANGE_TABLE_INCREMENT, add_arange): Removed.
3855         (size_of_aranges): Count !in_std_section and !second_in_std_section
3856         hunks in fdes, instead of looking at arange_table_in_use.
3857         (output_aranges): Add aranges_length argument, don't call
3858         size_of_aranges here.  Instead of using aranges_table*
3859         emit ranges for fdes when !in_std_section resp.
3860         !second_in_std_section.
3861         (dw_loc_list): Break ranges crossing section switch.
3862         (convert_cfa_to_fb_loc_list): Likewise.  If switched sections,
3863         use dw_fde_second_end instead of dw_fde_end as end of last
3864         range.
3865         (gen_subprogram_die): Don't call add_arange.  Use
3866         dw_fde_{begin,end} for first partition and if switched
3867         section dw_fde_second_{begin,end} for the second.
3868         (var_location_switch_text_section_1,
3869         var_location_switch_text_section): New functions.
3870         (dwarf2out_begin_function): Initialize cold_text_section even
3871         when function_section () isn't text_section.
3872         (prune_unused_types): Don't walk arange_table.
3873         (dwarf2out_finish): Don't needlessly test
3874         flag_reorder_blocks_and_partition when testing cold_text_section_used.
3875         If info_section_emitted, call size_of_aranges and if it indicates
3876         non-empty .debug_aranges, call output_aranges with the computed
3877         size.  Stop using removed dw_fde_struct fields, use
3878         dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
3879         for second.
3880
3881 2011-03-29  Uros Bizjak  <ubizjak@gmail.com>
3882
3883         * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
3884         (alpha_option_override): Don't set alpha_sr_alias_set.
3885         (emit_frame_store_1): Use gen_frame_mem rather than calling
3886         set_mem_alias_set.
3887         (alpha_expand_epilogue): Ditto.
3888         (unicosmk_gen_dsib): Ditto.
3889
3890 2011-03-29  Nick Clifton  <nickc@redhat.com>
3891
3892         * config/rx/rx.h (LABEL_ALIGN_AFTER_BARRIER): Define.
3893         (ASM_OUTPUT_MAX_SKIP): Define.
3894         * config/rx/predicates.md (rx_zs_comparison_operator): Do not
3895         allow LT aor GE comparisons.
3896         * config/rx/rx-protos.h (rx_align_for_label): Prototype.
3897         * config/rx/rx.md: Add peepholes and patterns to combine extending
3898         loads with simple arithmetic instructions.
3899         * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI modes
3900         to use pre-decrement and post-increment addressing.
3901         (rx_is_restricted_memory_address): For REG+INT addressing, ensure
3902         that the INT is a valid offset.
3903         (rx_print_operand): Handle %R.
3904         Fix %Q's handling of MEMs.
3905         (rx_option_override): Set alignments.
3906         (rx_align_for_label): New function.
3907         (rx_max_skip_for_label): New function.
3908         (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
3909         (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
3910         (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
3911         (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
3912
3913 2011-03-29  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3914
3915         * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
3916         for invalid symbolic addresses.
3917         (s390_secondary_reload): Don't use s390_check_symref_alignment for
3918         larl operands.
3919
3920 2011-03-28  Richard Sandiford  <richard.sandiford@linaro.org>
3921
3922         PR target/47553
3923         * config/arm/predicates.md (neon_lane_number): Accept 0..15.
3924
3925 2011-03-28  Richard Guenther  <rguenther@suse.de>
3926
3927         Backport from mainline
3928         2011-03-24  Richard Guenther  <rguenther@suse.de>
3929
3930         PR middle-end/48269
3931         * tree-object-size.c (addr_object_size): Do not double-account
3932         for MEM_REF offsets.
3933
3934         2011-03-22  Richard Guenther  <rguenther@suse.de>
3935
3936         PR tree-optimization/48228
3937         * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
3938         for single-arg PHIs.
3939
3940         2011-03-17  Richard Guenther  <rguenther@suse.de>
3941
3942         PR middle-end/48134
3943         * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
3944         a value make sure to fold the statement.
3945
3946         2011-03-15  Richard Guenther  <rguenther@suse.de>
3947
3948         PR middle-end/48031
3949         * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
3950         or variable-indexed array accesses when in gimple form.
3951
3952 2011-03-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
3953
3954         PR other/48179
3955         PR other/48221
3956         PR other/48234
3957         * doc/extend.texi (Alignment): Move section to match order in TOC.
3958         * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
3959         (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
3960
3961 2011-03-26  Uros Bizjak  <ubizjak@gmail.com>
3962
3963         Backport from mainline:
3964         2011-03-24  Uros Bizjak  <ubizjak@gmail.com>
3965
3966         PR target/48237
3967         * config/i386/i386.md (*movdf_internal_rex64): Do not split
3968         alternatives that can be handled with movq or movabsq insn.
3969         (*movdf_internal): Disable for !TARGET_64BIT.
3970         (*movdf_internal_nointeger): Ditto.
3971         * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
3972
3973 2011-03-26  Jakub Jelinek  <jakub@redhat.com>
3974
3975         Backport from mainline
3976         2011-03-24  Jakub Jelinek  <jakub@redhat.com>
3977
3978         PR debug/48204
3979         * simplify-rtx.c (simplify_const_unary_operation): Call
3980         real_convert when changing mode class with FLOAT_EXTEND.
3981
3982         2011-03-20  Jakub Jelinek  <jakub@redhat.com>
3983
3984         PR c/42544
3985         PR c/48197
3986         * c-common.c (shorten_compare): If primopN is first sign-extended
3987         to opN and then zero-extended to result type, set primopN to opN.
3988
3989         PR rtl-optimization/48156
3990         * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
3991         assume df and df_lr are not NULL.
3992
3993         2011-03-17  Jakub Jelinek  <jakub@redhat.com>
3994
3995         PR rtl-optimization/48141
3996         * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
3997         * dse.c: Include params.h.
3998         (active_local_stores_len): New variable.
3999         (add_wild_read, dse_step1): Clear it when setting active_local_stores
4000         to NULL.
4001         (record_store, check_mem_read_rtx): Decrease it when removing
4002         from the chain.
4003         (scan_insn): Likewise.  Increase it when adding to chain, if it
4004         reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
4005         set active_local_stores to NULL before the addition.
4006         * Makefile.in (dse.o): Depend on $(PARAMS_H).
4007
4008         PR rtl-optimization/48141
4009         * dse.c (record_store): If no positions are needed in an insn
4010         that cannot be deleted, at least unchain it from active_local_stores.
4011
4012 2011-03-25  Jakub Jelinek  <jakub@redhat.com>
4013
4014         * BASE-VER: Set to 4.6.1.
4015         * DEV-PHASE: Set to prerelease.
4016
4017 2011-03-25  Release Manager
4018
4019         * GCC 4.6.0 released.
4020
4021 2011-03-21  Andreas Tobler  <andreast@fgznet.ch>
4022
4023         * config/rs6000/t-freebsd: Remove duplication from file.
4024
4025 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4026
4027         PR bootstrap/48135
4028         * doc/install.texi (Prerequisites): Move jar etc. up.
4029         Explain support library version requirements.
4030
4031 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4032
4033         PR bootstrap/48135
4034         * doc/install.texi (Prerequisites): Move Perl to build
4035         requirements.  Always necessary on Solaris 2 with Sun ld.
4036
4037 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4038
4039         * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
4040         binutils 2.21.
4041         (Specific, i?86-*-solaris2.[89]): Likewise.
4042         (Specific, i?86-*-solaris2.10): Likewise.
4043         (Specific, mips-sgi-irix6): Likewise.
4044         (Specific, *-*-solaris2*): Remove Sun Studio download URL.
4045         Update for binutils 2.21.
4046
4047 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
4048
4049         PR target/48213
4050         * config/s390/s390.c (s390_delegitimize_address): Don't call
4051         lowpart_subreg if orig_x has BLKmode.
4052
4053 2011-03-20  Joseph Myers  <joseph@codesourcery.com>
4054
4055         * c-decl.c (diagnose_mismatched_decls): Give an error for
4056         redefining a typedef with variably modified type.
4057
4058 2011-03-20  Joseph Myers  <joseph@codesourcery.com>
4059
4060         * c-decl.c (grokfield): Don't allow typedefs for structures or
4061         unions with no tag by default.
4062         * doc/extend.texi (Unnamed Fields): Update.
4063
4064 2011-03-18  Jakub Jelinek  <jakub@redhat.com>
4065
4066         PR debug/48176
4067         * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
4068         arange_table_in_use is 0, but either text_section_used or
4069         cold_text_section_used is true.  Don't call it if
4070         !info_section_emitted.
4071
4072 2011-03-18  Richard Guenther  <rguenther@suse.de>
4073
4074         * doc/install.texi (--enable-gold): Remove.
4075         (--with-plugin-ld): Document.
4076         * doc/invoke.texi (-fuse-linker-plugin): Clarify.
4077
4078 2011-03-18  H.J. Lu  <hongjiu.lu@intel.com>
4079
4080         Backport from mainline
4081         2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
4082
4083         PR target/48171
4084         * config/i386/i386.opt: Add Save to -mavx and -mfma.
4085
4086 2011-03-18  Richard Henderson  <rth@redhat.com>
4087             Jakub Jelinek  <jakub@redhat.com>
4088
4089         PR bootstrap/48161
4090         * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
4091         instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
4092
4093 2011-03-17  Richard Guenther  <rguenther@suse.de>
4094
4095         PR middle-end/48165
4096         * tree-object-size.c (compute_object_offset): Properly return
4097         the offset operand of MEM_REFs as sizetype.
4098
4099 2011-03-16  Dodji Seketeli  <dodji@redhat.com>
4100
4101         PR debug/47510
4102         * dwarf2out.c (strip_naming_typedef): Factorize out of ...
4103         (lookup_type_die_strip_naming_typedef): ... here.
4104         (get_context_die): Use it.
4105         (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
4106         the anonymous struct named by the naming typedef.
4107
4108 2011-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
4109
4110         PR target/46788
4111         * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
4112         in the output template.
4113
4114 2011-03-15  Alan Modra  <amodra@gmail.com>
4115
4116         PR target/48032
4117         * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
4118         presume symbol_refs without a symbol_ref_decl are suitably
4119         aligned, nor other trees we may see here.  Handle anchor symbols.
4120         (legitimate_constant_pool_address_p): Comment.  Add mode param.
4121         Check cmodel=medium addresses.  Adjust all calls.
4122         (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
4123         creating cmodel=medium optimized access to locals.
4124         * config/rs6000/constraints.md (R): Pass QImode to
4125         legitimate_constant_pool_address_p.
4126         * config/rs6000/predicates.md (input_operand): Pass mode to
4127         legitimate_constant_pool_address_p.
4128         * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
4129         Update prototype.
4130
4131 2011-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
4132
4133         PR target/48053
4134         * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
4135         64-bit constants being loaded into registers other than GPRs such
4136         as loading 0 into a VSX register.
4137
4138 2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4139
4140         * config/sol2.c (solaris_assemble_visibility): Remove obsolete
4141         URLs.
4142
4143 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
4144
4145         * doc/invoke.texi, doc/standards.texi: Refer to
4146         gcc-4.6/c99status.html.
4147
4148         * DEV-PHASE: Mark "prerelease".
4149
4150 2011-03-14  Richard Guenther  <rguenther@suse.de>
4151
4152         PR middle-end/48098
4153         * tree.c (build_vector_from_val): Adjust assert to requirements
4154         and reality.
4155
4156 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
4157
4158         PR bootstrap/48102
4159         * graphite-cloog-compat.h (build_cloog_prog): Remove STATE
4160         parameter.
4161
4162 2011-03-14  Andreas Tobler  <andreast@fgznet.ch>
4163
4164         * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
4165         terms of target_flags_explicit. Adjust copyright year.
4166
4167         * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
4168         * config/rs6000/t-freebsd: New file. Add override for
4169         LIB2FUNCS_EXTRA.
4170
4171 2011-03-13  Chris Demetriou  <cgd@google.com>
4172
4173         * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
4174         (-fno-diagnostics-show-option): this, to reflect current default.
4175         (-Werror=): Update text about -fno-diagnostics-show-option.
4176
4177 2011-03-12  Peter Bergner  <bergner@vnet.ibm.com>
4178
4179         PR target/48053
4180         * config/rs6000/predicates.md (easy_vector_constant_add_self,
4181         easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
4182         * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
4183         mode is not V2DImode or V2DFmode.
4184         (vspltis_constant): Do not handle V2DImode and V2DFmode.
4185         (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
4186         * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
4187         registers to 0.
4188         (movdi_internal64): Likewise.
4189
4190 2011-03-12  Sebastian Pop  <sebastian.pop@amd.com>
4191
4192         PR tree-optimization/47127
4193         * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
4194         parameter.
4195         (set_cloog_options): Same.
4196         (scop_to_clast): Same.
4197         (print_clast_stmt): Do not call cloog_state_malloc and
4198         cloog_state_free.
4199         (print_generated_program): Same.
4200         (gloog): Same.
4201         * graphite-clast-to-gimple.h (cloog_state): Declared.
4202         (scop_to_clast): Adjust declaration.
4203         * graphite.c (cloog_state): Defined here.
4204         (graphite_initialize): Call cloog_state_malloc.
4205         (graphite_finalize): Call cloog_state_free.
4206
4207 2011-03-11  Jason Merrill  <jason@redhat.com>
4208
4209         * attribs.c (lookup_attribute_spec): Take const_tree.
4210         * tree.h: Adjust.
4211
4212 2011-03-11  Joseph Myers  <joseph@codesourcery.com>
4213
4214         * config/sparc/sparc.c (sparc_option_override): Use
4215         PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
4216
4217 2011-03-11  Richard Guenther  <rguenther@suse.de>
4218
4219         PR tree-optimization/48067
4220         * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
4221         multiplication result will be only used once on the target
4222         stmt.
4223
4224 2011-03-11  Richard Guenther  <rguenther@suse.de>
4225
4226         * doc/invoke.texi (max-inline-insns-single): Adjust default value.
4227
4228 2011-03-11  Richard Guenther  <rguenther@suse.de>
4229
4230         PR lto/48073
4231         * tree.c (find_decls_types_r): Do not walk types only reachable
4232         from IDENTIFIER_NODEs.
4233
4234 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
4235
4236         PR middle-end/48044
4237         * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
4238         all vnode->force_output nodes as needed.
4239
4240 2011-03-11  Jason Merrill  <jason@redhat.com>
4241
4242         PR c++/48069
4243         * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
4244         COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
4245
4246 2011-03-11  Martin Jambor  <mjambor@suse.cz>
4247
4248         * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
4249         cgraph_node.
4250
4251 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
4252
4253         PR tree-optimization/48063
4254         * ipa-inline.c (cgraph_decide_inlining): Don't try to
4255         inline functions called once if !tree_can_inline_p (node->callers).
4256
4257 2011-03-11  Chen Liqin  <liqin.gcc@gmail.com>
4258
4259         * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
4260         extra_objs.
4261         * config/score/score3.c: Delete.
4262         * config/score/score3.h: Delete.
4263         * config/score/mul-div.S: Delete.
4264         * config/score/sfp-machine.h: Add new file.
4265         * config/score/constraints.md: Add new file.
4266         * config/score/t-score-softfp: Add new file.
4267         * config/score/t-score-elf: Remove score3.o, do not generate multilib.
4268         * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
4269         (score7_extra_constraint): Delete.
4270         (score7_option_override): Remove unused code.
4271         * config/score/score.c: Remove score3 and score5 define and code.
4272         * config/score/score.h: Remove score3 and score5 define and code.
4273         * config/score/score.md: Remove score3 template and unusual insn.
4274         * config/score/score.opt: Remove score3 and score5 options.
4275
4276 2011-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4277
4278         * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
4279         when _HPUX_SOURCE is defined.
4280         (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
4281
4282 2011-03-10  Jason Merrill  <jason@redhat.com>
4283
4284         PR c++/48029
4285         * stor-layout.c (layout_type): Don't set structural equality
4286         on arrays of incomplete type.
4287         * tree.c (type_hash_eq): Handle comparing them properly.
4288
4289 2011-03-10  Jakub Jelinek  <jakub@redhat.com>
4290
4291         PR debug/48043
4292         * config/s390/s390.c (s390_delegitimize_address): Make sure the
4293         result mode matches original rtl mode.
4294
4295 2011-03-10  Nick Clifton  <nickc@redhat.com>
4296
4297         * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
4298         (andsi3, andsi3_flags): Fix timings for three operand alternative.
4299
4300 2011-03-09  Jakub Jelinek  <jakub@redhat.com>
4301
4302         PR rtl-optimization/47866
4303         * expr.c (store_field): If MEM_SCALAR_P (target), don't use
4304         MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
4305         if target wasn't scalar.
4306         * function.c (assign_stack_temp_for_type): Assert that neither
4307         MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
4308         MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
4309         macro.
4310         * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
4311
4312 2011-03-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4313
4314         * config/s390/s390-protos.h (s390_label_align): New prototype.
4315         * config/s390/s390.c (s390_label_align): New function.
4316         * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
4317
4318 2011-03-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
4319
4320         PR target/47755
4321         * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
4322         V2DI/V2DF constants.  Only all 0's or all 1's are easy.
4323         (output_vec_const_move): Ditto.
4324
4325 2011-03-08  Anatoly Sokolov  <aesok@post.ru>
4326
4327         * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
4328         * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
4329         * config/mips/mips.c (mips_preferred_reload_class): Make static.
4330         Change 'rclass' argument and result type to reg_class_t.
4331         (TARGET_PREFERRED_RELOAD_CLASS): Define.
4332
4333 2011-03-08  Georg-Johann Lay  <avr@gjlay.de>
4334
4335         * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
4336         * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
4337         (TARGET_MEMORY_MOVE_COST): Define.
4338         (avr_register_move_cost, avr_memory_move_cost): New Functions.
4339
4340 2011-03-08  Jakub Jelinek  <jakub@redhat.com>
4341
4342         PR debug/47881
4343         * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
4344         removed anything.
4345
4346         PR tree-optimization/48022
4347         * fold-const.c (fold_comparison): Don't call fold_overflow_warning
4348         for EQ/NE_EXPR.
4349
4350 2011-03-07  Jakub Jelinek  <jakub@redhat.com>
4351
4352         PR debug/47991
4353         * var-tracking.c (find_use_val): Return NULL for
4354         cui->sets && cui->store_p BLKmode MEMs.
4355
4356 2011-03-07  Anatoly Sokolov  <aesok@post.ru>
4357
4358         * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
4359         Remove.
4360         * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
4361         xstormy16_print_operand_address): Remove.
4362         * config/stormy16/stormy16.c (xstormy16_print_operand,
4363         xstormy16_print_operand_address): Make static.
4364         (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
4365
4366 2011-03-07  Pat Haugen  <pthaugen@us.ibm.com>
4367
4368         PR target/47862
4369         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
4370         * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
4371         before definition.
4372
4373 2011-03-07  Zdenek Dvorak  <ook@ucw.cz>
4374
4375         PR bootstrap/48000
4376         * cfgloopmanip.c (fix_bb_placements): Return immediately
4377         if FROM is BASE_LOOP's header.
4378
4379 2011-03-07  Paul Wögerer  <paul_woegerer@mentor.com>
4380
4381         * gimplify.c (gimplify_function_tree): Fix building calls
4382         to __builtin_return_address.
4383
4384 2011-03-07  Alan Modra  <amodra@gmail.com>
4385
4386         * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
4387         * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
4388         * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
4389         * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
4390         return_mode args.
4391         * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
4392         (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
4393         (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
4394         (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
4395         * config/rs6000/rs6000.c
4396         (rs6000_elf_end_indicate_exec_stack): Rename to..
4397         (rs6000_elf_file_end): ..this.  Only call file_end_indicate_exec_stack
4398         for POWERPC_LINUX.  Move code emitting .gnu_attribute to here, from..
4399         (rs6000_file_start): ..here.
4400         (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
4401         file scope variables.
4402         (call_ABI_of_interest): New function.
4403         (init_cumulative_args): Set above vars when function return value
4404         is a float, vector, or small struct.
4405         (rs6000_function_arg_advance_1): Likewise for function args.
4406         (rs6000_va_start): Set rs6000_passes_float if variable arg function
4407         references float args.
4408
4409 2011-03-07  Mingjie Xing  <mingjie.xing@gmail.com>
4410
4411         * doc/cfg.texi: Remove "See" before @ref.
4412         * doc/invoke.texi: Likewise.
4413
4414 2011-03-05  Jason Merrill  <jason@redhat.com>
4415
4416         * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
4417
4418 2011-03-05  Anthony Green  <green@moxielogic.com>
4419
4420         * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
4421
4422 2011-03-05  Zdenek Dvorak  <ook@ucw.cz>
4423
4424         PR rtl-optimization/47899
4425         * cfgloopmanip.c (fix_bb_placements): Fix first argument
4426         to flow_loop_nested_p when moving the loop upward.
4427
4428 2011-03-05  Richard Earnshaw  <rearnsha@arm.com>
4429
4430         PR target/47719
4431         * arm.md (movhi_insn_arch4):  Accept any immediate constant.
4432
4433 2011-03-05  Jakub Jelinek  <jakub@redhat.com>
4434
4435         PR tree-optimization/47967
4436         * ipa-cp.c (build_const_val): Return NULL instead of creating
4437         VIEW_CONVERT_EXPR for mismatching sizes.
4438         (ipcp_create_replace_map): Return NULL if build_const_val failed.
4439         (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
4440         give up on versioning.
4441
4442 2011-03-05  Alan Modra  <amodra@gmail.com>
4443
4444         PR target/47986
4445         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
4446         full cmodel medium/large lo_sum + high addresses.
4447
4448 2011-03-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4449
4450         * config/s390/s390.c (s390_decompose_address): Reject non-literal
4451         pool references in UNSPEC_LTREL_OFFSET.
4452
4453 2011-03-04  Jan Hubicka  <jh@suse.cz>
4454
4455         PR lto/47497
4456         * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
4457         (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
4458         * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk): Add node
4459         pointers.
4460         * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
4461         cgraph_add_thunk): Add node pointers.
4462         * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
4463         associated to right node.
4464         (input_node): Update use of cgraph_same_body_alias
4465         and cgraph_add_thunk.
4466
4467 2011-03-04  Changpeng Fang  <changpeng.fang@amd.com>
4468
4469         * config/i386/i386.opt (mprefer-avx128): New flag.
4470         * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit mode
4471         when the flag -mprefer-avx128 is on.
4472
4473 2011-03-04  Richard Sandiford  <richard.sandiford@linaro.org>
4474
4475         * dwarf2out.c (compare_loc_operands): Fix address handling.
4476
4477 2011-03-04  Alan Modra  <amodra@gmail.com>
4478
4479         * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
4480
4481 2011-03-04  Richard Guenther  <rguenther@suse.de>
4482
4483         PR middle-end/47968
4484         * expmed.c (extract_bit_field_1): Prefer vector modes that
4485         vec_extract patterns can handle.
4486
4487 2011-03-04  Richard Guenther  <rguenther@suse.de>
4488
4489         PR middle-end/47975
4490         * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
4491
4492 2011-03-04  Richard Henderson  <rth@redhat.com>
4493
4494         * explow.c (emit_stack_save): Remove 'after' parameter.
4495         (emit_stack_restore): Likewise.
4496         * expr.h: Update to match.
4497         * builtins.c, calls.c, stmt.c: Likewise.
4498         * config/alpha/alpha.md, config/avr/avr.md: Likewise.
4499         * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
4500         * function.c (expand_function_end): Insert the emit_stack_save
4501         sequence before parm_birth_insn instead of after.
4502
4503 2011-03-03  Uros Bizjak  <ubizjak@gmail.com>
4504
4505         * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
4506         (ssse3_pmaddubsw128): Ditto.
4507         (ssse3_pmaddubsw): Ditto.
4508
4509 2011-03-03  Steve Ellcey  <sje@cup.hp.com>
4510
4511         * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
4512
4513 2011-03-03  Jakub Jelinek  <jakub@redhat.com>
4514
4515         PR c/47963
4516         * gimplify.c (omp_add_variable): Only call omp_notice_variable
4517         on TYPE_SIZE_UNIT if it is a DECL.
4518
4519         PR debug/47283
4520         * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
4521         first operand is not is_gimple_mem_ref_addr, try to fold it.
4522         If the operand still isn't is_gimple_mem_ref_addr, clear
4523         MEM_EXPR on op0.
4524
4525 2011-03-03  Richard Guenther  <rguenther@suse.de>
4526
4527         PR middle-end/47283
4528         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
4529         match comment.
4530         (refs_may_alias_p_1): For release branches return true if
4531         we are confused by our input.
4532
4533 2011-03-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4534
4535         * config/s390/s390.c (s390_function_value): Rename to ...
4536         (s390_function_and_libcall_value): ... this.
4537         (s390_function_value): New function.
4538         (s390_libcall_value): New function.
4539         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
4540         * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
4541         target macro definitions.
4542         * config/s390/s390-protos.h (s390_function_value): Remove prototype.
4543
4544 2011-03-02  Joseph Myers  <joseph@codesourcery.com>
4545
4546         * config/i386/freebsd64.h (CC1_SPEC): Define.
4547         * config/i386/linux64.h (CC1_SPEC): Define.
4548         * config/i386/x86-64.h (CC1_SPEC): Don't define.
4549
4550 2011-03-02  Anatoly Sokolov  <aesok@post.ru>
4551
4552         * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
4553         Remove.
4554         * config/stormy16/stormy16.c: Include reload.h.
4555         (xstormy16_memory_move_cost): New function.
4556         (TARGET_MEMORY_MOVE_COST): Define.
4557
4558 2011-03-02  Richard Sandiford  <richard.sandiford@linaro.org>
4559
4560         PR rtl-optimization/47925
4561         * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
4562         with side effects.  Remove the more-specific check for volatile asms.
4563
4564 2011-03-02  Alan Modra  <amodra@gmail.com>
4565
4566         PR target/47935
4567         * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
4568         toc relative addresses for valid offsets.
4569
4570 2011-03-01  Richard Guenther  <rguenther@suse.de>
4571
4572         PR tree-optimization/47890
4573         * tree-vect-loop.c (get_initial_def_for_induction): Set
4574         related stmt properly.
4575
4576 2011-03-01  Richard Guenther  <rguenther@suse.de>
4577
4578         PR lto/47924
4579         * lto-streamer.c (lto_record_common_node): Also register
4580         the canonical type.
4581
4582 2011-03-01  Richard Guenther  <rguenther@suse.de>
4583
4584         PR lto/46911
4585         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
4586         Do not stream DECL_ABSTRACT_ORIGIN.
4587         (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
4588         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
4589         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
4590         Do not stream DECL_ABSTRACT_ORIGIN.
4591         (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
4592         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
4593
4594 2011-02-28  Anatoly Sokolov  <aesok@post.ru>
4595
4596         * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
4597         FUNCTION_VALUE_REGNO_P): Remove.
4598         * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
4599         * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
4600         Add 'outgoing' argument.
4601         (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
4602         function.
4603         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
4604         TARGET_FUNCTION_VALUE_REGNO_P): Define.
4605
4606 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
4607
4608         PR debug/28047
4609         * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
4610         (lookup_filename): Likewise.
4611         * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
4612
4613 2011-02-28  Bernd Schmidt  <bernds@codesourcery.com>
4614             Jakub Jelinek  <jakub@redhat.com>
4615
4616         PR middle-end/47893
4617         * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
4618         (assign_stack_local_1): Change last argument type to int.
4619         * function.c (assign_stack_local_1): Replace reduce_alignment_ok
4620         argument with kind.  If bit ASLK_RECORD_PAD is not set in it,
4621         don't record padding space into frame_space_list nor use those areas.
4622         (assign_stack_local): Adjust caller.
4623         (assign_stack_temp_for_type): Call assign_stack_local_1 instead
4624         of assign_stack_local, pass 0 as last argument.
4625         * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
4626         callers.
4627
4628 2011-02-28  Jakub Jelinek  <jakub@redhat.com>
4629
4630         PR debug/47283
4631         * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
4632         Use target address_mode and pointer_mode hooks instead of hardcoded
4633         Pmode and ptr_mode.  Handle some simple cases of extending if
4634         POINTERS_EXTEND_UNSIGNED < 0.
4635         (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
4636         Call convert_debug_memory_address.
4637         (expand_debug_expr) <case ADDR_EXPR>: Pass as to
4638         convert_debug_memory_address.
4639
4640         PR middle-end/46790
4641         * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
4642         * configure: Regenerated.
4643         * config.in: Regenerated.
4644         * varasm.c (default_function_section): Return NULL
4645         if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
4646
4647 2011-02-28  Martin Jambor  <mjambor@suse.cz>
4648
4649         * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
4650         the description to match the printed values.
4651
4652 2011-02-28  Richard Guenther  <rguenther@suse.de>
4653
4654         * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
4655         of the copied scope tree.
4656
4657 2011-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4658
4659         * doc/extend.texi (Function Attributes): Avoid deeply (and
4660         wrongly) nested tables.
4661
4662 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
4663
4664         PR middle-end/47903
4665         * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
4666         MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
4667         r isn't op0 nor op1.
4668
4669 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
4670
4671         * config/avr/avr.md: Remove magic comment for emacs.
4672
4673 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
4674
4675         PR target/45261
4676         * config/avr/avr.c (avr_option_override): Use error on bad options.
4677         (avr_help): New function.
4678         (TARGET_HELP): Define.
4679
4680 2011-02-22  Georg-Johann Lay  <avr@gjlay.de>
4681
4682         PR target/42240
4683         * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
4684         (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
4685
4686 2011-02-26  Gerald Pfeifer  <gerald@pfeifer.com>
4687
4688         * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
4689         (ARM Options): Ditto.
4690         (i386 and x86-64 Options): Ditto.
4691         (RX Options): Ditto.
4692         (SPARC Options): Ditto.
4693
4694 2011-02-26  Tijl Coosemans  <tijl@coosemans.org>
4695
4696         * config.gcc (i386-*-freebsd*): Make i486 the default arch on
4697         FreeBSD 6 and later.  Generally use cpu generic.
4698
4699 2011-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
4700
4701         * doc/cpp.texi: Update copyright years.
4702
4703 2011-02-25  Sebastien Bourdeauducq  <sebastien@milkymist.org>
4704
4705         PR target/46898
4706         * config/lm32/lm32.md (ashrsi3): Added needed variable.
4707
4708 2011-02-25  Jon Beniston  <jon@beniston.com>
4709
4710         PR target/46898
4711         * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
4712         * config/lm32/lm32.md (ashlsi3): Remove unused variable.
4713         * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
4714         (lm32_block_move_inline): Add type cast to remove warning.
4715         (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
4716         (gen_int_relational): Move declarations to start of function.
4717
4718 2011-02-25  Eric Botcazou  <ebotcazou@adacore.com>
4719
4720         PR tree-optimization/45470
4721         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
4722         can throw internally only.
4723         * tree-vect-stmts.c (vectorizable_call): Likewise.
4724
4725 2011-02-24  Anatoly Sokolov  <aesok@post.ru>
4726
4727         * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
4728         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
4729         * config/stormy16/stormy16-protos.h
4730         (xstormy16_preferred_reload_class): Remove.
4731         * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
4732         static. Change 'rclass' argument and return type to reg_class_t.
4733         (TARGET_PREFERRED_RELOAD_CLASS,
4734         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
4735
4736 2011-02-24  Richard Guenther  <rguenther@suse.de>
4737
4738         * lto-streamer-in.c (input_bb): Do not find referenced vars
4739         in debug statements.
4740
4741 2011-02-23  Jason Merrill  <jason@redhat.com>
4742
4743         * common.opt (fabi-version): Document v5 and v6.
4744
4745 2011-02-23  Richard Guenther  <rguenther@suse.de>
4746
4747         PR tree-optimization/47849
4748         * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
4749
4750 2011-02-23  Jie Zhang  <jie@codesourcery.com>
4751
4752         * opts-common.c (decode_cmdline_option): Print empty string
4753         argument as "" in decoded->orig_option_with_args_text.
4754         * gcc.c (execute): Print empty string argument as ""
4755         in the verbose output.
4756         (do_spec_1): Keep empty string argument.
4757
4758 2011-02-23  Nathan Froyd  <froydnj@codesourcery.com>
4759
4760         * config.gcc: Declare score-* and crx-* obsolete.
4761
4762 2011-02-23  Jie Zhang  <jie@codesourcery.com>
4763
4764         PR rtl-optimization/47763
4765         * web.c (web_main): Ignore naked clobber when replacing register.
4766
4767 2011-02-22  Anatoly Sokolov  <aesok@post.ru>
4768
4769         * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
4770         Remove.
4771
4772 2011-02-22  Sebastian Pop  <sebastian.pop@amd.com>
4773
4774         PR doc/47848
4775         * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
4776
4777 2011-02-22  Mike Stump  <mikestump@comcast.net>
4778
4779         * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
4780         assembler.
4781         * configure: Regenerate.
4782
4783 2011-02-21  Chung-Lin Tang  <cltang@codesourcery.com>
4784
4785         PR rtl-optimization/46002
4786         * ira-color.c (update_copy_costs): Change class intersection
4787         test to reg_class_contents[] test of 'hard_regno'.
4788
4789 2011-02-21  Joseph Myers  <joseph@codesourcery.com>
4790
4791         * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
4792         than Driver option.
4793         * config/hpux11.opt (mt): Likewise.
4794         * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
4795         * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
4796         * config/vax/elf.opt (mno-asm-pic): Likewise.
4797         * config/vms/vms.opt (map, mvms-return-codes): Likewise.
4798
4799 2011-02-21  Mike Stump  <mikestump@comcast.net>
4800
4801         PR target/47822
4802         * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
4803         tree so we can get save the type.
4804         * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
4805         for CFString instead of trying to use past the end of the builtins.
4806         * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
4807         * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
4808         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
4809         * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
4810         Rename to darwin_builtin_cfstring.
4811         (darwin_init_cfstring_builtins): Return the built type.
4812
4813 2011-02-21  Uros Bizjak  <ubizjak@gmail.com>
4814
4815         PR target/47840
4816         * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
4817         (_mm256_insert_epi64): Use _mm_insert_epi64.
4818
4819 2011-02-21  Anatoly Sokolov  <aesok@post.ru>
4820
4821         * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
4822         * config/stormy16/stormy16-protos.h
4823         (xstormy16_mode_dependent_address_p): Remove.
4824         * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
4825         Make static. Change return type to bool. Change argument type to
4826         const_rtx. Remove dead code.
4827         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
4828
4829 2011-02-21  Richard Guenther  <rguenther@suse.de>
4830
4831         PR lto/47820
4832         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
4833         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
4834         (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
4835         TUs context.
4836         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
4837         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
4838
4839 2011-02-20  Richard Guenther  <rguenther@suse.de>
4840
4841         PR lto/47822
4842         * tree.c (free_lang_data_in_decl): Clean builtins from
4843         the TU decl BLOCK_VARS.
4844
4845 2011-02-19  Alexandre Oliva  <aoliva@redhat.com>
4846
4847         PR debug/47620
4848         PR debug/47630
4849         * haifa-sched.c (fix_tick_ready): Skip tick computation
4850         for debug insns.
4851
4852 2011-02-19  Richard Guenther  <rguenther@suse.de>
4853
4854         PR lto/47647
4855         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
4856         Remove lazy BLOCK_VARS streaming.
4857         (lto_input_ts_block_tree_pointers): Likewise.
4858         * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
4859
4860 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
4861
4862         * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
4863
4864 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
4865
4866         * config/i386/biarch32.h, config/i386/mach.h,
4867         config/rs6000/aix.opt, config/sh/superh64.h: Remove.
4868
4869 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
4870
4871         PR target/47800
4872         * config/i386/i386.md (peephole2 for shift and plus): Use
4873         operands[1] original mode in the first insn.
4874
4875 2011-02-18  Mike Stump  <mikestump@comcast.net>
4876
4877         * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
4878
4879 2011-02-18  Jan Hubicka  <jh@suse.cz>
4880
4881         PR middle-end/47788
4882         * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
4883         to zero when the function is not inlinable at all.
4884
4885 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4886
4887         * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
4888         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
4889         pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
4890         * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
4891         * config/pa/t-pa64: Likewise.
4892         * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
4893
4894 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
4895
4896         PR driver/47787
4897         * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
4898
4899 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4900
4901         PR target/47792
4902         * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
4903
4904 2011-02-18  Anatoly Sokolov  <aesok@post.ru>
4905
4906         * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
4907         RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
4908         LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
4909         GO_IF_LEGITIMATE_ADDRESS): Remove macros.
4910         * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
4911         (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
4912         m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
4913         m32r_load_postinc_p, m32r_store_preinc_predec_p,
4914         m32r_legitimate_address_p): New functions.
4915         * config/m32r/constraints.md (constraint "S"): Don't use
4916         STORE_PREINC_PREDEC_P.
4917         (constraint "U"): Don't use LOAD_POSTINC_P.
4918
4919 2011-02-18  Chung-Lin Tang  <cltang@codesourcery.com>
4920
4921         PR rtl-optimization/46178
4922         * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
4923         compute ira_hard_regno_cover_class[].
4924
4925 2011-02-18  Richard Guenther  <rguenther@suse.de>
4926
4927         PR lto/47798
4928         * lto-streamer.h (lto_global_var_decls): Declare.
4929         * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
4930         statics for global var processing.
4931
4932 2011-02-18  Richard Guenther  <rguenther@suse.de>
4933
4934         PR tree-optimization/47737
4935         * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
4936         edge dominance check.
4937
4938 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
4939
4940         PR debug/47780
4941         * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
4942         avoid invalid rtx sharing.
4943
4944 2011-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
4945
4946         * doc/cpp.texi (Obsolete Features): Add background on the
4947         origin of assertions.
4948
4949 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
4950
4951         * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
4952         objc_abi == 2.
4953         * config/darwin.c (output_objc_section_asm_op): Added support for
4954         ABI v1 and v2.
4955         (is_objc_metadata): New.
4956         (darwin_objc2_section): New.
4957         (darwin_objc1_section): New.
4958         (machopic_select_section): Added support for ABI v1 and v2.
4959         (darwin_emit_objc_zeroed): New.
4960         (darwin_output_aligned_bss): Detect objc metadata and treat it
4961         appropriately.
4962         (darwin_asm_output_aligned_decl_common): Same.
4963         (darwin_asm_output_aligned_decl_local): Same.
4964         * config/darwin-sections.def: Updated for ABI v1 and v2.
4965         * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
4966         compiling Objective-C code for the NeXT runtime, default to using
4967         ABI version 0 for 32-bit, and version 2 for 64-bit.
4968
4969 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
4970
4971         * common.opt (optimize_fast): New Variable.
4972         * opts.c (default_options_optimization): Use opts->x_optimize_fast
4973         instead of local variable ofast.
4974
4975 2011-02-17  Nicola Pero  <nicola.pero@meta-innovation.com>
4976
4977         * doc/invoke.texi (fobjc-abi-version): Documented.
4978         (fobjc-nilcheck): Documented.
4979         (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
4980         version.
4981
4982 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
4983
4984         PR driver/47390
4985         * common.opt (export-dynamic): New Driver option.
4986         * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
4987
4988 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
4989
4990         * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
4991
4992 2011-02-17  Alexandre Oliva  <aoliva@redhat.com>
4993             Jan Hubicka  <jh@suse.cz>
4994
4995         PR debug/47106
4996         PR debug/47402
4997         * cfgexpand.c (account_used_vars_for_block): Remove.
4998         (estimated_stack_frame_size): Use referenced vars.
4999         * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
5000         that were referenced in the original function.  Test src_fn
5001         rather than cfun.  Drop redundant get_var_ann.
5002         (setup_one_parameter): Drop redundant get_var_ann.
5003         (declare_return_variable): Likewise.
5004         (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
5005         (copy_arguments_for_versioning): Drop redundant get_var_ann.
5006         * ipa-inline.c (compute_inline_parameters): Do not compute
5007         disregard_inline_limits here.
5008         (compute_inlinable_for_current, pass_inlinable): New.
5009         (pass_inline_parameters): Require PROP_referenced_vars.
5010         * cgraphunit.c (cgraph_process_new_functions): Don't run
5011         compute_inline_parameters explicitly unless function is in SSA form.
5012         (cgraph_analyze_function): Set .disregard_inline_limits.
5013         * tree-sra.c (convert_callers): Compute inliner parameters
5014         only for functions already in SSA form.
5015
5016 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
5017
5018         * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
5019         -mlittle-endian-data.
5020
5021 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
5022
5023         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
5024         -mno-fpu, not -fpu and -no-fpu.
5025         * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
5026         * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
5027
5028 2011-02-17  Uros Bizjak  <ubizjak@gmail.com>
5029
5030         PR target/43653
5031         * config/i386/i386.c (ix86_secondary_reload): Handle SSE
5032         input reload with PLUS RTX.
5033
5034 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
5035
5036         * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
5037         of InverseVar(MDMX).
5038
5039 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
5040
5041         * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
5042         --m4-340.
5043
5044 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
5045
5046         * config/mn10300/mn10300.opt (mno-crt0): New.
5047
5048 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
5049
5050         * config/m68k/uclinux.opt (static-libc): New Driver option.
5051
5052 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
5053
5054         * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
5055
5056 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
5057
5058         * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
5059         %{muser-extend-enabled}.
5060
5061 2011-02-16  Richard Guenther  <rguenther@suse.de>
5062
5063         PR tree-optimization/47738
5064         * tree-ssa-loop.c (run_tree_predictive_commoning): Return
5065         the TODO from tree_predictive_commoning.
5066
5067 2011-02-15  Jeff Law  <law@redhat.com>
5068
5069         Revert
5070         2011-01-25  Jeff Law  <law@redhat.com>
5071
5072         PR rtl-optimization/37273
5073         * ira-costs.c (scan_one_insn): Detect constants living in memory and
5074         handle them like argument loads from stack slots.  Do not double
5075         count memory for memory constants and argument loads from stack slots.
5076
5077 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
5078
5079         PR middle-end/47725
5080         * combine.c (cant_combine_insn_p): Revert the last change.
5081
5082 2011-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
5083
5084         PR target/47755
5085         * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
5086         mode for vector constants.  Remove code that checks for TImode.
5087
5088 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
5089
5090         PR debug/47106
5091         PR debug/47402
5092         * cgraph.h (compute_inline_parameters): Return void.
5093         * ipa-inline.c (compute_inline_parameters): Adjust.
5094
5095 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
5096
5097         PR debug/47106
5098         PR debug/47402
5099         * tree-inline.h (estimated_stack_frame_size): Take cgraph node
5100         rather than decl.
5101         * cfgexpand.c (estimated_stack_frame_size): Likewise.
5102         * ipa-inline.c (compute_inline_parameters): Adjust.
5103
5104 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
5105
5106         PR debug/47106
5107         PR debug/47402
5108         * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
5109         Adjust all users.  Pass FN to...
5110         * tree-flow-inline.h (first_referenced_var): ... this.  Add
5111         fn argument.
5112         * ipa-struct-reorg.c: Adjust.
5113         * tree-dfa.c: Adjust.
5114         * tree-into-ssa.c: Adjust.
5115         * tree-sra.c: Adjust.
5116         * tree-ssa-alias.c: Adjust.
5117         * tree-ssa-live.c: Adjust.
5118         * tree-ssa.c: Adjust.
5119         * tree-ssanames.c: Adjust.
5120         * tree-tailcall.c: Adjust.
5121
5122 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
5123
5124         PR debug/47106
5125         PR debug/47402
5126         * tree-flow.h (referenced_var_lookup): Add fn parameter.
5127         Adjust all callers.
5128         * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
5129         * tree-flow-inline.h: Adjust.
5130         * gimple-pretty-print.c: Adjust.
5131         * tree-into-ssa.c: Adjust.
5132         * tree-ssa.c: Adjust.
5133         * cfgexpand.c: Adjust.
5134
5135 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
5136
5137         * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
5138         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
5139         (EXTRA_CONSTRAINT): Delete.
5140         * config/iq2000/constraints.md: New file.
5141         * config/iq2000/iq2000.md: Include it.
5142         (define_insn ""): Delete.
5143         (movsi_internal2, movhi_internal2, movqi_internal2): Delete
5144         unsupported constraint letters from patterns.
5145         (call_value, call_value_internal1): Likewise.
5146         (call_value_multiple_internal1): Likewise.
5147
5148 2011-02-15  Nick Clifton  <nickc@redhat.com>
5149
5150         * config/mn10300/mn10300.c: Include tm-constrs.h.
5151         (struct liw_data): New data structure describing an LIW candidate
5152         instruction.
5153         (extract_bundle): Use struct liw_data.  Allow small integer
5154         operands for some instructions.
5155         (check_liw_constraints): Use struct liw_data.  Remove swapped
5156         parameter.  Add comments describing the checks.  Fix bug when
5157         assigning the source of liw1 to the source of liw2.
5158         (liw_candidate): Delete.  Code moved into extract_bundle.
5159         (mn10300_bundle_liw): Use struct liw_data.  Check constraints
5160         before swapping.
5161         * config/mn10300/predicates.md (liw_operand): New predicate.
5162         Allows registers and small integer constants.
5163         * config/mn10300/constraints.md (O): New constraint.  Accetps
5164         integers in the range -8 to +7 inclusive.
5165         * config/mn10300/mn10300.md (movesi_internal): Add an alternative
5166         for moving a small integer into a register.  Give this alternative
5167         LIW attributes.
5168         (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
5169         (ashlsi3): Likewise, plus give LIW attributes to the alternatives
5170         using the J,K,L and M constraints,
5171         (liw): Remove SI mode on second operands to allow for HI and QI
5172         mode values.
5173         (cmp_liw, liw_cmp): Likewise.  Plus fix order of operands in the
5174         instruction.
5175
5176 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
5177
5178         PR middle-end/47725
5179         * combine.c (cant_combine_insn_p): Check zero/sign extended
5180         hard registers.
5181
5182 2011-02-15  Richard Guenther  <rguenther@suse.de>
5183
5184         PR tree-optimization/47743
5185         * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
5186         for a non-type-compatible VN lookup bail out.
5187
5188 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
5189
5190         * config/fr30/constraints.md: New file.
5191         * config/fr30/fr30.md: Include it.
5192         * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
5193         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
5194         (EXTRA_CONSTRAINT): Delete.
5195
5196 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
5197
5198         * config/frv/constraints.md: New file.
5199         * config/frv/predicates.md: Include it.
5200         * config/frv/frv.c (reg_class_from_letter): Delete.
5201         (frv_option_override): Don't initialize it.
5202         * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
5203         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
5204         (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
5205         (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
5206         (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
5207         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
5208         (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
5209         (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
5210         (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
5211         (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
5212         (REG_CLASS_FROM_CONSTRAINT): Delete.
5213
5214 2011-02-15  Jakub Jelinek  <jakub@redhat.com>
5215
5216         PR middle-end/47581
5217         * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
5218         if frame size is 0 in a leaf function.
5219
5220 2011-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5221
5222         PR pch/14940
5223         * config/alpha/host-osf.c: New file.
5224         * config/alpha/x-osf: New file.
5225         * config.host (alpha*-dec-osf*): Use it.
5226
5227 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
5228
5229         * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
5230         * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
5231         * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
5232         (rx_mode_dependent_address_p): ...this. Make static. Change argument
5233         type to const_rtx.
5234         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
5235
5236 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
5237
5238         * config/stormy16/constraints.md: New file.
5239         * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
5240         Use satisfies_constraint_Q and satisfies_constraint_R.
5241         * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
5242         Delete.
5243         (xstormy16_legitiamte_address_p): Declare.
5244         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
5245         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
5246         (EXTRA_CONSTRAINT): Delete.
5247         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
5248         Un-staticize.
5249         (xstormy16_extra_constraint_p): Delete.
5250
5251 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
5252
5253         PR tree-optimization/46494
5254         * loop-unroll.c (split_edge_and_insert): Adjust comment.
5255         * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
5256         (pass_rtl_loop_done): Add TODO_verify_flow.
5257         * fwprop.c (pass_rtl_fwprop): Likewise.
5258         * modulo-sched.c (pass_sms): Likewise.
5259         * tree-ssa-dom.c (pass_dominator): Likewise.
5260         * tree-ssa-loop-ch.c (pass_ch): Likewise.
5261         * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
5262         (pass_tree_loop_done): Likewise.
5263         * tree-ssa-pre.c (execute_pre): Likewise.
5264         * tree-ssa-reassoc.c (pass_reassoc): Likewise.
5265         * tree-ssa-sink.c (pass_sink_code): Likewise.
5266         * tree-vrp.c (pass_vrp): Likewise.
5267
5268 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
5269
5270         * config/v850/constraints.md: New file.
5271         * config/v850/v850.md: Include it.
5272         * config/v850/predicates.md (reg_or_0_operand): Use
5273         satisfies_constraint_G.
5274         (special_symbolref_operand): Use satisfies_constraint_K.
5275         * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
5276         (GO_IF_LEGITIMATE_ADDRESS): Likewise.
5277         (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
5278         (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
5279         (EXTRA_CONSTRAINT): Delete.
5280         (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
5281         (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
5282         (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
5283
5284 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
5285
5286         PR target/47696
5287         * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
5288         description.
5289
5290 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
5291
5292         * config/mcore/constraints.md: New file.
5293         * config/mcore/mcore.md: Include it.
5294         * config/mcore/mcore.c (reg_class_from_letter): Delete.
5295         * config/mcore/mcore.h (reg_class_from_letter): Delete.
5296         (REG_CLASS_FROM_LETTER): Delete.
5297         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
5298         insn_const_int_ok_for_constraint.
5299         (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
5300         (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
5301         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
5302         (EXTRA_CONSTRAINT): Delete.
5303
5304 2011-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5305
5306         PR ada/41929
5307         * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
5308         (IS_SIGHANDLER): Define.
5309         (sparc64_is_sighandler): New function, split off from
5310         sparc64_fallback_frame_state.
5311         (sparc_is_sighandler): New function, split off from
5312         sparc_fallback_frame_state.
5313         (sparc64_fallback_frame_state): Merge with ...
5314         (sparc_fallback_frame_state): ... this into ...
5315         (MD_FALLBACK_FRAME_STATE_FOR): ... this.
5316         Change new_cfa to long.  Remove regs_off, fpu_save_off, fpu_save.
5317         Define nframes, mctx.  Use IS_SIGHANDLER, handler_args, mctx, walk
5318         stack instead of hardcoded offsets.
5319
5320 2011-02-14  Andriy Gapon  <avg@freebsd.org>
5321
5322         PR target/45808
5323         * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
5324
5325 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5326
5327         * configure: Regenerate.
5328
5329 2011-02-12  Joseph Myers  <joseph@codesourcery.com>
5330
5331         PR driver/45731
5332         * gcc.c (asm_options): Correct spec matching --target-help.
5333
5334 2011-02-12  Martin Jambor  <mjambor@suse.cz>
5335
5336         * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
5337         to gimple call error.
5338
5339 2011-02-12  Mike Stump  <mikestump@comcast.net>
5340
5341         * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
5342         comments in backslash regions.
5343
5344 2011-02-12  Mike Stump  <mikestump@comcast.net>
5345             Jakub Jelinek  <jakub@redhat.com>
5346             Iain Sandoe  <iains@gcc.gnu.org>
5347
5348         PR target/47324
5349         * dwarf2out.c (output_cfa_loc): When required, apply the
5350         DWARF2_FRAME_REG_OUT macro to adjust register numbers.
5351         (output_loc_sequence): Likewise.
5352         (output_loc_operands_raw): Likewise.
5353         (output_loc_sequence_raw): Likewise.
5354         (output_cfa_loc): Likewise.
5355         (output_loc_list): Suppress register number adjustment when
5356         calling output_loc_sequence()
5357         (output_die): Likewise.
5358
5359 2011-02-12  Anatoly Sokolov  <aesok@post.ru>
5360
5361         * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
5362         Remove macros.
5363         * config/xtensa/xtensa.c (xtensa_register_move_cost,
5364         xtensa_memory_move_cost): New functions.
5365         (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
5366
5367 2011-02-12  Alexandre Oliva  <aoliva@redhat.com>
5368
5369         PR lto/47225
5370         * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
5371         in the current directory.
5372         * configure: Rebuilt.
5373
5374 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
5375
5376         * config/darwin.c (darwin_override_options): Add a hunk missed
5377         from the commit of r168571.  Trim comment line lengths and
5378         correct indents of the preceding block.
5379
5380 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
5381
5382         * gcc.c (driver_handle_option): Concatenate the argument to -F with
5383         the switch.
5384
5385 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
5386
5387         * common.opt (nostartfiles): New Driver option.
5388
5389 2011-02-11  Xinliang David Li  <davidxl@google.com>
5390
5391         PR tree-optimization/47707
5392         * tree-chrec.c (convert_affine_scev): Keep type precision.
5393
5394 2011-02-11  Eric Botcazou  <ebotcazou@adacore.com>
5395
5396         PR tree-optimization/47420
5397         * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
5398
5399 2011-02-11  Pat Haugen  <pthaugen@us.ibm.com>
5400
5401         PR rtl-optimization/47614
5402         * rtl.h (check_for_inc_dec): Declare.
5403         * dse.c (check_for_inc_dec): Externalize...
5404         * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
5405         (reload_cse_simplify_operands): Don't simplify opnds with side effects.
5406
5407 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
5408
5409         PR driver/47678
5410         * gcc.c (main): Do not compile inputs if there were errors in
5411         option handling.
5412         * opts-common.c (read_cmdline_option): Check for wrong language
5413         after other error checks.
5414
5415 2011-02-11  Nathan Froyd  <froydnj@codesourcery.com>
5416
5417         * cgraph.c: Fix comment typos.
5418         * cgraph.h: Likewise.
5419         * cgraphunit.c: Likewise.
5420         * ipa-cp.c: Likewise.
5421         * ipa-inline.c: Likewise.
5422         * ipa-prop.c: Likewise.
5423         * ipa-pure-const.c: Likewise.
5424         * ipa-ref.c: Likewise.
5425         * ipa-reference.c: Likewise.
5426
5427 2011-02-11  Jakub Jelinek  <jakub@redhat.com>
5428
5429         PR debug/47684
5430         * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
5431
5432 2011-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5433
5434         PR testsuite/47400
5435         * doc/sourcebuild.texi (Require Support): Document
5436         dg-require-ascii-locale.
5437
5438 2011-02-11  Mingjie Xing  <mingjie.xing@gmail.com>
5439
5440         * doc/lto.texi (Write summary): Fix missing parentheses.
5441
5442 2011-02-10  DJ Delorie  <dj@redhat.com>
5443
5444         * config/m32c/m32c.c (m32c_option_override): Disable
5445         -fcombine-stack-adjustments until flag value tracking and compare
5446         optimization can be rewritten.
5447
5448 2011-02-10  Peter Bergner  <bergner@vnet.ibm.com>
5449
5450         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
5451         PROCESSOR_POWER7.
5452         (PROCESSOR_DEFAULT64): Likewise.
5453
5454 2011-02-10  Richard Henderson  <rth@redhat.com>
5455
5456         * config/rx/predicates.md (rx_zs_comparison_operator): Revert
5457         change from 2011-02-03.
5458         * config/rx/rx.c (flags_from_code): Likewise.
5459         (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
5460         is valid, n/pz otherwise.
5461         (rx_select_cc_mode): Return CCmode if Y is not zero.
5462
5463 2011-02-10  Richard Guenther  <rguenther@suse.de>
5464
5465         * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
5466
5467 2011-02-10  Richard Guenther  <rguenther@suse.de>
5468
5469         PR tree-optimization/47677
5470         * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
5471
5472 2011-02-10  Jakub Jelinek  <jakub@redhat.com>
5473
5474         PR target/47665
5475         * combine.c (make_compound_operation): Only change shifts into
5476         multiplication for SCALAR_INT_MODE_P.
5477
5478 2011-02-10  Jie Zhang  <jie@codesourcery.com>
5479
5480         PR testsuite/47622
5481         Revert
5482         2011-02-05  Jie Zhang  <jie@codesourcery.com>
5483         PR debug/42631
5484         * web.c (entry_register): Don't clobber the number of the
5485         first uninitialized reference in used[].
5486
5487 2011-02-09  Richard Guenther  <rguenther@suse.de>
5488
5489         PR tree-optimization/47664
5490         * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
5491         all edges again.
5492
5493 2011-02-09  David Edelsohn  <dje.gcc@gmail.com>
5494
5495         PR target/46481
5496         PR target/47032
5497         * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
5498         PROCESSOR_POWER7.
5499         (PROCESSOR_DEFAULT64): Same.
5500         (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
5501
5502 2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5503
5504         * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
5505
5506 2011-02-09  Martin Jambor  <mjambor@suse.cz>
5507
5508         PR middle-end/45505
5509         * tree-sra.c (struct access): New flags grp_scalar_read and
5510         grp_scalar_write.  Changed description of assignment read and write
5511         flags.
5512         (dump_access): Dump new flags, reorder all of them.
5513         (sort_and_splice_var_accesses): Set the new flag accordingly, use them
5514         to detect multiple scalar reads.
5515         (analyze_access_subtree): Use the new scalar read write flags instead
5516         of the old flags.  Adjusted comments.
5517
5518 2011-02-08  DJ Delorie  <dj@redhat.com>
5519
5520         PR target/47548
5521         * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
5522         patterns.
5523
5524 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
5525
5526         * config/m68k/uclinux.opt: New.
5527         * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
5528
5529 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
5530
5531         * config/cris/elf.opt (sim): New Driver option.
5532
5533 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
5534
5535         * config/xtensa/elf.opt: New.
5536         * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
5537
5538 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
5539
5540         * config/vax/elf.opt: New.
5541         * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
5542
5543 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
5544
5545         * config/rs6000/aix64.opt (posix, pthread): New Driver options.
5546
5547 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
5548
5549         * config/gnu-user.opt: New.
5550         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
5551         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
5552         *-*-uclinux*): Use gnu-user.opt.
5553
5554 2011-02-08  Thomas Schwinge  <thomas@schwinge.name>
5555
5556         * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
5557         * config/i386/gnu.h (CPP_SPEC): Likewise.
5558
5559 2011-02-08  Ian Lance Taylor  <iant@google.com>
5560
5561         * common.opt (fcx-limited-range): Add SetByCombined flag.
5562         (ffinite-math-only, fmath-errno, frounding-math): Likewise.
5563         (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
5564         (fassociative-math, freciprocal-math): Likewise.
5565         (funsafe-math-optimizations): Likewise.
5566         * opth-gen.awk: Handle SetByCombined.
5567         * optc-gen.awk: Likewise.
5568         * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5569         (set_unsafe_math_optimizations_flags): Likewise.
5570         * doc/options.texi (Option properties): Document SetByCombined.
5571
5572 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
5573
5574         * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
5575         i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
5576         m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
5577         m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
5578         sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
5579
5580 2011-02-08  Sebastian Pop  <sebastian.pop@amd.com>
5581
5582         PR tree-optimization/46834
5583         PR tree-optimization/46994
5584         PR tree-optimization/46995
5585         * graphite-sese-to-poly.c (used_outside_reduction): New.
5586         (detect_commutative_reduction): Call used_outside_reduction.
5587         (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
5588         translate_scalar_reduction_to_array only when at least one
5589         loop-phi/close-phi tuple has been detected.
5590
5591 2011-02-08  Richard Guenther  <rguenther@suse.de>
5592
5593         PR middle-end/47639
5594         * tree-vect-generic.c (expand_vector_operations_1): Update
5595         stmts here ...
5596         (expand_vector_operations): ... not here.  Cleanup EH info
5597         and the CFG if required.
5598
5599 2011-02-08  Richard Guenther  <rguenther@suse.de>
5600
5601         PR tree-optimization/47641
5602         * tree-ssa.c (execute_update_addresses_taken): For asm outputs
5603         require type compatibility.
5604
5605 2011-02-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5606
5607         * gimple-low.c (lower_function_body): Don't remove the location of
5608         the return statement here.
5609         (lower_gimple_return): Do it here instead but only if the return
5610         statement is actually used twice.
5611
5612 2011-02-08  Richard Guenther  <rguenther@suse.de>
5613
5614         PR tree-optimization/47632
5615         * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
5616         unused up_to_stmt parameter, return whether cfg-cleanup is
5617         necessary, remove EH info properly.
5618         (forward_propagate_into_gimple_cond): Adjust caller.
5619         (forward_propagate_into_cond): Likewise.
5620         (forward_propagate_comparison): Likewise.
5621         (tree_ssa_forward_propagate_single_use_vars): Make
5622         forward_propagate_comparison case similar to the two others.
5623
5624 2011-02-08  Nick Clifton  <nickc@redhat.com>
5625
5626         * config/mn10300/mn10300.opt (mliw): New command line option.
5627         * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
5628         (liw_bundling): New automaton.
5629         (liw): New attribute.
5630         (liw_op): New attribute.
5631         (liw_op1, liw_op2, liw_both, liw_either): New reservations.
5632         (movsi_internal): Add LIW attributes.
5633         (andsi3): Likewise.
5634         (iorsi3): Likewise.
5635         (xorsi3): Likewise.
5636         (addsi3): Separate register and immediate alternatives.
5637         Add LIW attributes.
5638         (subsi3): Likewise.
5639         (cmpsi): Likewise.
5640         (aslsi3): Likewise.
5641         (lshrsi3): Likewise.
5642         (ashrsi3): Likewise.
5643         (liw): New pattern.
5644         * config/mn10300/mn10300.c (liw_op_names): New
5645         (mn10300_print_operand): Handle 'W' operand descriptor.
5646         (extract_bundle): New function.
5647         (check_liw_constraints): New function.
5648         (liw_candidate): New function.
5649         (mn10300_bundle_liw): New function.
5650         (mn10300_reorg): New function.
5651         (TARGET_MACHINE_DEPENDENT_REORG): Define.
5652         (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
5653         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
5654         __LIW__ or __NO_LIW__.
5655         * doc/invoke.texi: Describe the -mliw command line option.
5656
5657 2011-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5658
5659         * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
5660         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
5661         pthread_mutex_unlock): Remove.
5662         * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
5663         * config/pa/t-pa64: Likewise.
5664         * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
5665         shared libc if not linking against libpthread.
5666         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
5667
5668 2011-02-07  Iain Sandoe  <iains@gcc.gnu.org>
5669
5670         PR target/47558
5671         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
5672         on 10.6 and later to ensure that we always use the unwinder from
5673         the system.  Only add -no_compact_unwind when tarteting darwin
5674         10.6 or later.
5675
5676 2011-02-07  Steve Ellcey  <sje@cup.hp.com>
5677
5678         PR target/46997
5679         * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
5680         (vec_interleave_lowv2sf): Ditto.
5681         (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
5682         (vec_extract_oddv2sf): Ditto.
5683
5684 2011-02-07  Mike Stump  <mikestump@comcast.net>
5685
5686         PR target/42333
5687         Add __ieee_divdc3 entry point.
5688         * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
5689         entry point.
5690         (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
5691         * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
5692         * config/darwin.c (darwin_rename_builtins): Add.
5693         * config/darwin-protos.h (darwin_rename_builtins): Add.
5694
5695 2011-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
5696
5697         PR target/47636
5698         * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
5699         for the condition.
5700
5701 2011-02-07  Mike Stump  <mikestump@comcast.net>
5702
5703         * config/darwin.opt (mmacosx-version-min): Update default OS version.
5704
5705 2011-02-07  Denis Chertykov  <chertykov@gmail.com>
5706
5707         PR target/47534
5708         * config/avr/libgcc.S (exit): Move .endfunc
5709
5710 2011-02-07  Richard Guenther  <rguenther@suse.de>
5711
5712         PR tree-optimization/47615
5713         * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
5714         * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
5715         (run_scc_vn): Initialize it.
5716         (visit_reference_op_load): Use it.
5717         * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
5718
5719 2011-02-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5720
5721         * config/spu/spu.c (spu_init_libfuncs): Install SImode and
5722         DImode trapping arithmetic libfuncs.
5723
5724 2011-02-07  Richard Guenther  <rguenther@suse.de>
5725
5726         PR tree-optimization/47621
5727         * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
5728         two duplicates ...
5729         (execute_update_addresses_taken): ... here.  Make it more
5730         conservative in what we accept.
5731
5732 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
5733
5734         * config/sparc/freebsd.h (ASM_SPEC): Define.
5735         * config/sparc/vxworks.h (ASM_SPEC): Define.
5736
5737 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
5738
5739         * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
5740
5741 2011-02-06  Steven Bosscher  <steven@gcc.gnu.org>
5742
5743         * doc/invoke.texi: Remove reference to compiler internals from
5744         user documentation.
5745
5746         * reg-notes.def: Remove REG_VALUE_PROFILE.
5747         * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
5748
5749 2011-02-05  Jakub Jelinek  <jakub@redhat.com>
5750
5751         PR middle-end/47610
5752         * varasm.c (default_section_type_flags): If decl is NULL,
5753         and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
5754
5755 2011-02-05  Jie Zhang  <jie@codesourcery.com>
5756
5757         PR debug/42631
5758         * web.c (entry_register): Don't clobber the number of the
5759         first uninitialized reference in used[].
5760
5761 2011-02-04  Sebastian Pop  <sebastian.pop@amd.com>
5762
5763         PR tree-optimization/46194
5764         * tree-data-ref.c (analyze_miv_subscript): Remove comment.
5765         (build_classic_dist_vector_1): Do not represent classic distance
5766         vectors when the access functions are variating in different loops.
5767
5768 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
5769
5770         * config/mips/iris6.opt: New.
5771         * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
5772
5773 2011-02-04  Richard Henderson  <rth@redhat.com>
5774             Steve Ellcey  <sje@cup.hp.com>
5775
5776         PR target/46997
5777         * config/ia64/predicates.md (mux1_brcst_element): New.
5778         * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
5779         * config/ia64/ia64.c (ia64_unpack_assemble): New.
5780         (ia64_unpack_sign): New.
5781         (ia64_expand_unpack): Rewrite using new routines.
5782         (ia64_expand_widen_sum): Ditto.
5783         (ia64_expand_dot_prod_v8qi): Ditto.
5784         * config/ia64/vect.md (mulv8qi3): Rewrite to use new
5785         routines, add endian check.
5786         (pmpy2_even): Rename from pmpy2_r, add endian check.
5787         (pmpy2_odd): Rename from pmpy2_l, add endian check.
5788         (vec_widen_smult_lo_v4hi): Rewrite using new routines.
5789         (vec_widen_smult_hi_v4hi): Ditto.
5790         (vec_widen_umult_lo_v4hi): Ditto.
5791         (vec_widen_umult_hi_v4hi): Ditto.
5792         (mulv2si3): Change endian checks.
5793         (sdot_prodv4hi): Rewrite with new calls.
5794         (udot_prodv4hi): New.
5795         (vec_pack_ssat_v4hi): Add endian check.
5796         (vec_pack_usat_v4hi): Ditto.
5797         (vec_pack_ssat_v2si): Ditto.
5798         (max1_even): Rename from max1_r, add endian check.
5799         (max1_odd): Rename from max1_l, add endian check.
5800         (*mux1_rev): Format change.
5801         (*mux1_mix): Ditto.
5802         (*mux1_shuf): Ditto.
5803         (*mux1_alt): Ditto.
5804         (*mux1_brcst_v8qi): Use new predicate.
5805         (vec_extract_evenv8qi): Remove endian check.
5806         (vec_extract_oddv8qi): Ditto.
5807         (vec_interleave_lowv4hi): Format change.
5808         (vec_interleave_highv4hi): Ditto.
5809         (mix2_even): Rename from mix2_r, add endian check.
5810         (mix2_odd): Rename from mux2_l, add endian check.
5811         (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
5812         (vec_extract_evenodd_helper): Format change.
5813         (vec_extract_evenv4hi): Remove endian check.
5814         (vec_extract_oddv4hi): Remove endian check.
5815         (vec_interleave_lowv2si): Format change.
5816         (vec_interleave_highv2si): Format change.
5817         (vec_initv2si): Remove endian check.
5818         (vecinit_v2si): Add endian check.
5819         (reduc_splus_v2sf): Add endian check.
5820         (reduc_smax_v2sf): Ditto.
5821         (reduc_smin_v2sf): Ditto.
5822         (vec_initv2sf): Remove endian check.
5823         (fpack): Add endian check.
5824         (fswap): Add endian check.
5825         (vec_interleave_highv2sf): Add endian check.
5826         (vec_interleave_lowv2sf): Add endian check.
5827         (fmix_lr): Add endian check.
5828         (vec_setv2sf): Format change.
5829         (*vec_extractv2sf_0_be): Use shift to extract operand.
5830         (*vec_extractv2sf_1_be): New.
5831         (vec_pack_trunc_v4hi): Add endian check.
5832         (vec_pack_trunc_v2si): Format change.
5833
5834 2011-02-04  Jakub Jelinek  <jakub@redhat.com>
5835
5836         PR inline-asm/23200
5837         * tree-ssa-ter.c (is_replaceable_p): Add TER argument.  Don't
5838         do bb, locus and block comparison and disallow loads if it is not set.
5839         (stmt_is_replaceable_p): New function.
5840         (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
5841         callers.
5842         * expr.c (expand_expr_real_1) <case SSA_NAME>: If
5843         get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
5844         SSA_NAME_DEF_STMT.
5845         * tree-flow.h (stmt_is_replaceable_p): New prototype.
5846
5847 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
5848
5849         * config/rs6000/xilinx.opt: New.
5850         * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
5851
5852 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
5853
5854         * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
5855
5856 2011-02-03  Anatoly Sokolov  <aesok@post.ru>
5857
5858         * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
5859         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
5860         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
5861         secondary_reload_info, xtensa_secondary_reload): Remove.
5862         * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
5863         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
5864         (xtensa_preferred_reload_class): Make static. Change return and
5865         'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
5866         Use CONST_DOUBLE_P predicate.
5867         (xtensa_preferred_output_reload_class): New function.
5868         (xtensa_secondary_reload): Make static.
5869
5870 2011-02-03  Joseph Myers  <joseph@codesourcery.com>
5871
5872         * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
5873         Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
5874         Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
5875
5876 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
5877
5878         PR middle-end/31490
5879         * output.h (SECTION_RELRO): Define.
5880         (SECTION_MACH_DEP): Adjust.
5881         (get_variable_section): New prototype.
5882         * varpool.c (varpool_finalize_named_section_flags): New function.
5883         (varpool_assemble_pending_decls): Call it.
5884         * cgraph.h (varpool_finalize_named_section_flags): New prototype.
5885         * cgraphunit.c (cgraph_output_in_order): Call
5886         varpool_finalize_named_section_flags.
5887         * varasm.c (get_section): Allow section flags conflicts between
5888         relro and read-only sections if the section hasn't been declared yet.
5889         Set SECTION_OVERRIDE after diagnosing section type conflict.
5890         (get_variable_section): No longer static.
5891         (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
5892         readonly sections that need relocations.
5893         (decl_readonly_section_1): New function.
5894         (decl_readonly_section): Use it.
5895
5896         Revert:
5897         2010-11-17  Dinar Temirbulatov  <dtemirbulatov@gmail.com>
5898                     Steve Ellcey  <sje@cup.hp.com>
5899
5900         PR middle-end/31490
5901         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
5902         if section attribute used.
5903
5904 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
5905
5906         * config/darwin.h (SECTION_NO_ANCHOR): Remove.
5907         * config/darwin.c (SECTION_NO_ANCHOR): Define.
5908         (darwin_init_sections): Remove assertion.
5909
5910 2011-02-03  Nick Clifton  <nickc@redhat.com>
5911
5912         * config/rx/predicates.md (rx_zs_comparison_operator): Remove
5913         lt and ge.
5914         * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
5915         * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
5916         instead of "n" and "pz".
5917         (flags_from_code): LT and GE tests need CC_FLAG_O as well as
5918         CC_FLAG_S.
5919
5920 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
5921
5922         PR target/47312
5923         * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
5924         fma, expand FMA_EXPR as fma{,f,l} call.
5925
5926         PR lto/47274
5927         * lto-streamer-out.c (write_symbol): When writing kind and visibility,
5928         copy them into a unsigned char variable and pass address of it to
5929         lto_output_data_stream.
5930
5931         PR target/47564
5932         * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
5933         around backend_init_target and lang_dependent_init_target calls.
5934         * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
5935         (verify_cgraph_node): Don't call set_cfun here.  Use
5936         cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
5937         Set error_found for incorrectly represented calls to thunks.
5938
5939 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
5940
5941         PR debug/43092
5942         PR rtl-optimization/43494
5943         * rtl.h (for_each_inc_dec_fn): New type.
5944         (for_each_inc_dec): Declare.
5945         * rtlanal.c (struct for_each_inc_dec_ops): New type.
5946         (for_each_inc_dec_find_inc_dec): New fn.
5947         (for_each_inc_dec_find_mem): New fn.
5948         (for_each_inc_dec): New fn.
5949         * dse.c (struct insn_size): Remove.
5950         (replace_inc_dec, replace_inc_dec_mem): Remove.
5951         (emit_inc_dec_insn_before): New fn.
5952         (check_for_inc_dec): Use it, along with for_each_inc_dec.
5953         (canon_address): Pass mem modes to cselib_lookup.
5954         * cselib.h (cselib_lookup): Add memmode argument.  Adjust callers.
5955         (cselib_lookup_from_insn): Likewise.
5956         (cselib_subst_to_values): Likewise.
5957         * cselib.c (find_slot_memmode): New var.
5958         (cselib_find_slot): New fn.  Use it instead of
5959         htab_find_slot_with_hash everywhere.
5960         (entry_and_rtx_equal_p): Use find_slot_memmode.
5961         (autoinc_split): New fn.
5962         (rtx_equal_for_cselib_p): Rename and implement in terms of...
5963         (rtx_equal_for_cselib_1): ... this.  Take memmode, pass it on.
5964         Deal with autoinc.  Special-case recursion into MEMs.
5965         (cselib_hash_rtx): Likewise.
5966         (cselib_lookup_mem): Infer pmode from address mode.  Distinguish
5967         address and MEM modes.
5968         (cselib_subst_to_values): Add memmode, pass it on.
5969         Deal with autoinc.
5970         (cselib_lookup): Add memmode argument, pass it on.
5971         (cselib_lookup_from_insn): Add memmode.
5972         (cselib_invalidate_rtx): Discard obsolete push_operand handling.
5973         (struct cselib_record_autoinc_data): New.
5974         (cselib_record_autoinc_cb): New fn.
5975         (cselib_record_sets): Use it, along with for_each_inc_dec.  Pass MEM
5976         mode to cselib_lookup.  Reset autoinced REGs here instead of...
5977         (cselib_process_insn): ... here.
5978         * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
5979         to cselib_lookup.
5980         (add_uses): Likewise, also to cselib_subst_to_values.
5981         (add_stores): Likewise.
5982         * sched-deps.c  (add_insn_mem_dependence): Pass mode to
5983         cselib_subst_to_values.
5984         (sched_analyze_1, sched_analyze_2): Likewise.  Adjusted.
5985         * gcse.c (do_local_cprop): Adjusted.
5986         * postreload.c (reload_cse_simplify_set): Adjusted.
5987         (reload_cse_simplify_operands): Adjusted.
5988         * sel-sched-dump (debug_mem_addr_value): Pass mode.
5989
5990 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
5991
5992         PR tree-optimization/45122
5993         * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
5994         unsafe assumptions when there's more than one loop exit.
5995
5996 2011-02-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
5997
5998         PR target/47272
5999         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
6000         Document using vector double with the load/store builtins, and
6001         that the load/store builtins always use Altivec instructions.
6002
6003         * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
6004         to use altivec memory instructions, even on VSX.
6005         (vector_altivec_store_<mode>): Ditto.
6006
6007         * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
6008         function.
6009
6010         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
6011         V2DF, V2DI support to load/store overloaded builtins.
6012
6013         * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
6014         altivec load/store builtins for V2DF/V2DI types.
6015
6016         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
6017         set avoid indexed addresses on power6 if -maltivec.
6018         (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
6019         vector_altivec_load/vector_altivec_store builtins.
6020         (altivec_expand_st_builtin): Ditto.
6021         (altivec_expand_builtin): Add VSX memory builtins.
6022         (rs6000_init_builtins): Add V2DI types to internal types.
6023         (altivec_init_builtins): Add support for V2DF/V2DI altivec
6024         load/store builtins.
6025         (rs6000_address_for_altivec): Insure memory address is appropriate
6026         for Altivec.
6027
6028         * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
6029         vec_vsx_ld and vec_vsx_st.
6030         (vsx_store_<mode>): Ditto.
6031
6032         * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
6033         variables to hold long long types for VSX vector memory builtins.
6034         (RS6000_BTI_unsigned_long_long): Ditto.
6035         (long_long_integer_type_internal_node): Ditti.
6036         (long_long_unsigned_type_internal_node): Ditti.
6037
6038         * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
6039         (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
6040         (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
6041
6042         * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
6043         short cuts.
6044         (vec_vsx_st): Ditto.
6045
6046 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
6047
6048         * config/pa/pa-hpux10.opt: New.
6049         * config/hpux11.opt (pthread): New Driver option.
6050         * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
6051         * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
6052
6053 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
6054
6055         * config/ia64/vms.opt: New.
6056         * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
6057
6058 2011-02-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
6059
6060         PR target/47580
6061         * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
6062         gpc_reg_operand instead of vsx_register_operand to match rs6000.md
6063         generator functions.
6064         (vsx_floatuns<VSi><mode>2): Ditto.
6065         (vsx_fix_trunc<mode><VSi>2): Ditto.
6066         (vsx_fixuns_trunc<mode><VSi>2): Ditto.
6067
6068 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
6069
6070         * config/i386/djgpp.opt (posix): New Driver option.
6071
6072 2011-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
6073
6074         * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
6075         Move to the unsupported targets list.
6076
6077 2011-02-02  Peter Bergner  <bergner@vnet.ibm.com>
6078
6079         PR rtl-optimization/47525
6080         * df-scan.c: Update copyright years.
6081         (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
6082         and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
6083
6084 2011-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6085
6086         * config/i386/sysv4.h (TARGET_VERSION): Remove.
6087         (SUBTARGET_RETURN_IN_MEMORY): Remove.
6088         (ASM_OUTPUT_ASCII): Remove.
6089         * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
6090
6091 2011-02-02  Jeff Law  <law@redhat.com>
6092
6093         PR middle-end/47543
6094         * reload.c (find_reloads_address): Handle reg+d address where both
6095         components are invalid by reloading the entire address.
6096
6097 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
6098             Richard Guenther  <rguenther@suse.de>
6099
6100         PR tree-optimization/40979
6101         PR bootstrap/47044
6102         * passes.c (init_optimization_passes): After LIM call copy_prop
6103         and DCE to clean up.
6104         * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
6105
6106 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
6107
6108         PR tree-optimization/47576
6109         PR tree-optimization/47555
6110         * doc/invoke.texi (scev-max-expr-complexity): Documented.
6111         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
6112         (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
6113         * tree-scalar-evolution.c (follow_ssa_edge): Use
6114         PARAM_SCEV_MAX_EXPR_COMPLEXITY.
6115
6116 2011-02-02  Richard Guenther  <rguenther@suse.de>
6117
6118         PR tree-optimization/47566
6119         * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
6120
6121 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
6122
6123         PR debug/47106
6124         PR debug/47402
6125         * tree-inline.c (declare_return_variable): Remove unused caller
6126         variable.
6127
6128         PR debug/47106
6129         PR debug/47402
6130         * tree-flow-inline.h (clear_is_used, is_used_p): New.
6131         * cfgexpand.c (account_used_vars_for_block): Use them.
6132         * tree-nrv.c (tree_nrv): Likewise.
6133         * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
6134         (dump_scope_block): Likewise.
6135         (remove_unused_locals): Likewise.
6136
6137         PR debug/47106
6138         PR debug/47402
6139         * tree-inline.c (declare_return_variable): Add result decl to
6140         local decls only once.
6141         * gimple-low.c (record_vars_into): Mark newly-created variables
6142         as referenced.
6143
6144 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
6145
6146         PR debug/47498
6147         PR debug/47501
6148         PR debug/45136
6149         PR debug/45130
6150         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
6151         debug insns.
6152         (no_real_insns_p, schedule_block, set_priorities): Drop special
6153         treatment of boundary debug insns.
6154         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
6155         * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
6156         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
6157         (BOUNDARY_DEBUG_INSN_P): Likewise.
6158         (SCHEDULE_DEBUG_INSN_P): Likewise.
6159         * sched-rgn.c (init_ready_list): Drop special treatment of
6160         boundary debug insns.
6161         * final.c (rest_of_clean_state): Clear notes' BB.
6162
6163 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
6164
6165         * config/openbsd.opt (assert=): New Driver option.
6166
6167 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
6168
6169         * config/i386/nto.opt: New.
6170         * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
6171
6172 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
6173
6174         * config/i386/netware.opt: New.
6175         * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
6176
6177 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
6178
6179         * config/interix.opt (posix): New Driver option.
6180
6181 2011-02-01  DJ Delorie  <dj@redhat.com>
6182
6183         * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
6184
6185         * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
6186         class for A0/A1.
6187
6188 2011-02-01  Sebastian Pop  <sebastian.pop@amd.com>
6189
6190         PR tree-optimization/47561
6191         * toplev.c (process_options): Print the Graphite flags.  Add
6192         flag_loop_flatten to the list of options requiring Graphite.
6193
6194 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
6195
6196         * config/i386/cygming.opt (posix): New Driver option.
6197
6198 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
6199
6200         * config/arm/vxworks.opt: New.
6201         * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
6202
6203 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
6204
6205         * config/alpha/elf.opt: New.
6206         * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
6207         alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
6208
6209 2011-02-01  Richard Guenther  <rguenther@suse.de>
6210
6211         PR tree-optimization/47559
6212         * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
6213         store-motion on references that can throw.
6214
6215 2011-02-01  Bernd Schmidt  <bernds@codesourcery.com>
6216
6217         * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
6218         * tree-pass.h (TDF_CSELIB): New macro.
6219         * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
6220         cselib_lookup): Check for it rather than for TDF_DETAILS.
6221
6222 2011-02-01  H.J. Lu  <hongjiu.lu@intel.com>
6223
6224         PR driver/47547
6225         * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
6226         is HOST_BIT_BUCKET.
6227
6228         * opts.c (finish_options): Don't add x_aux_base_name if it is
6229         HOST_BIT_BUCKET.
6230
6231 2011-02-01  Richard Guenther  <rguenther@suse.de>
6232
6233         PR tree-optimization/47555
6234         Revert
6235         2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
6236
6237         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
6238
6239 2011-02-01  Sebastien Bourdeauducq  <sebastien@milkymist.org>
6240
6241         PR gcc/46692
6242         * config/lm32/t-lm32: Add multilib for all CPU options.
6243
6244 2011-02-01  Richard Guenther  <rguenther@suse.de>
6245
6246         PR tree-optimization/47541
6247         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
6248         sure to have a field at offset zero.
6249
6250 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
6251
6252         * config/arc/arc.opt (EB, EL): New Driver options.
6253
6254 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
6255
6256         * config/alpha/osf5.opt: New.
6257         * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
6258
6259 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
6260
6261         * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
6262
6263 2011-01-31  Sebastian Pop  <sebastian.pop@amd.com>
6264
6265         * common.opt (ftree-loop-linear): Use Alias to make it an alias of
6266         -floop-interchange.
6267         * invoke.texi (-ftree-loop-linear): Make it clear that this flag
6268         is an alias of -floop-interchange and that it requires the
6269         Graphite infrastructure.
6270         * tree-ssa-loop.c (gate_graphite_transforms): Do not set
6271         flag_loop_interchange based on the value of flag_tree_loop_linear.
6272
6273 2011-01-31  Jakub Jelinek  <jakub@redhat.com>
6274             Richard Guenther  <rguenther@suse.de>
6275
6276         PR tree-optimization/47538
6277         * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
6278         type instead of r1type, except for comparisons.  For right
6279         shifts and comparisons punt if there are mismatches in
6280         sizetype vs. non-sizetype types.
6281
6282 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6283
6284         * doc/sourcebuild.texi (Effective-Target Keywords): Document
6285         avx_runtime.
6286
6287 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6288
6289         * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
6290         version number.
6291         * configure: Regenerate.
6292
6293 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6294
6295         * configure.ac (gcc_cv_ld_static_option): Define.
6296         (gcc_cv_ld_dynamic_option): Define.
6297         (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
6298         instead.
6299         (HAVE_LD_STATIC_DYNAMIC): Update message.
6300         (LD_STATIC_OPTION): Define.
6301         (LD_DYNAMIC_OPTION): Define.
6302         * configure: Regenerate.
6303         * config.in: Regenerate.
6304         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
6305         HAVE_LD_STATIC_DYNAMIC]: Use them.
6306
6307 2011-01-31  Nick Clifton  <nickc@redhat.com>
6308
6309         * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
6310         registers inside interrupt handlers if the handler is not a leaf
6311         function.
6312
6313 2011-01-31  Nick Clifton  <nickc@redhat.com>
6314
6315         * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
6316         reg_renumber returning an INVALID_REGNUM.
6317
6318 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
6319
6320         PR libgcj/44341
6321         * doc/install.texi: Document host options discarded when cross
6322         configuring target libraries.
6323
6324 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
6325
6326         Reverted:
6327         2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
6328         PR debug/45136
6329         PR debug/45130
6330         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
6331         debug insns.
6332         (no_real_insns_p, schedule_block, set_priorities): Drop special
6333         treatment of boundary debug insns.
6334         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
6335         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
6336         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
6337         (BOUNDARY_DEBUG_INSN_P): Likewise.
6338         (SCHEDULE_DEBUG_INSN_P): Likewise.
6339         * sched-rgn.c (init_ready_list): Drop special treatment of
6340         boundary debug insns.
6341         * final.c (rest_of_clean-state): Clear notes' BB.
6342
6343 2011-01-31  Alan Modra  <amodra@gmail.com>
6344
6345         * config/rs6000/rs6000.c (print_operand): Rearrange addends in
6346         toc relative expressions as we do in print_operand_address.
6347
6348 2011-01-30  Kazu Hirata  <kazu@codesourcery.com>
6349
6350         * doc/extend.texi: Follow spelling conventions.
6351         * doc/invoke.texi: Fix a typo.
6352
6353 2011-01-30  Joseph Myers  <joseph@codesourcery.com>
6354
6355         * config/hpux11.opt: New.
6356         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
6357         ia64*-*-hpux*): Use hpux11.opt.
6358
6359 2011-01-30  Jonathan Yong  <jon_y@users.sourceforge.net>
6360
6361         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
6362         to tmake_file.
6363
6364 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
6365
6366         * doc/install.texi (hppa-hp-hpux10): Remove references to HP
6367         support sites.
6368
6369 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
6370
6371         * doc/install.texi (Binaries): Remove outdated reference for
6372         Motorola 68HC11/68HC12 downloads.
6373
6374 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
6375
6376         * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
6377         Drepper's paper.
6378
6379 2011-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
6380
6381         PR bootstrap/47147
6382         * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
6383         used by NetBSD.
6384
6385 2011-01-28  Ahmad Sharif  <asharif@google.com>
6386
6387         * value-prof.c (check_counter): Corrected error message.
6388
6389 2011-01-29  Jie Zhang  <jie@codesourcery.com>
6390
6391         * config/arm/arm.c (arm_legitimize_reload_address): New.
6392         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
6393         arm_legitimize_reload_address.
6394         * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
6395
6396 2011-01-28  Ian Lance Taylor  <iant@google.com>
6397
6398         * godump.c (go_define): Ignore macros whose definitions include
6399         two adjacent operands.
6400
6401 2011-01-28  Jakub Jelinek  <jakub@redhat.com>
6402
6403         PR target/42894
6404         * varasm.c (force_const_mem): Store copy of x in desc->constant
6405         instead of x itself.
6406         * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
6407         itself into REG_EQUAL note.
6408
6409 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
6410
6411         * config/freebsd.opt (posix, rdynamic): New Driver options.
6412
6413 2011-01-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6414
6415         * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
6416         -Bstatic/-Bdynamic.
6417         * configure: Regenerate.
6418
6419 2011-01-27  Joseph Myers  <joseph@codesourcery.com>
6420
6421         * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
6422         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
6423
6424 2011-01-27  Anatoly Sokolov  <aesok@post.ru>
6425
6426         * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
6427         * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
6428         * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
6429         (s390_preferred_reload_class): Make static. Change return and
6430         'rclass' argument type to reg_class_t.
6431
6432 2011-01-27  Jan Hubicka  <jh@suse.cz>
6433
6434         PR middle-end/46949
6435         * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
6436         (process_function_and_variable_attributes): Check defined weakrefs.
6437
6438 2011-01-27  Martin Jambor  <mjambor@suse.cz>
6439
6440         PR tree-optimization/47228
6441         * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
6442         build_ref_for_offset.
6443
6444 2011-01-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6445
6446         * config/spu/spu-elf.h (ASM_SPEC): Remove.
6447
6448 2011-01-26  Mikael Pettersson  <mikpe@it.uu.se>
6449
6450         PR rtl-optimization/46856
6451         * postreload.c (reload_combine_recognize_const_pattern): Do not
6452         separate cc0 setter and user on cc0 targets.
6453
6454 2011-01-26  Nicola Pero  <nicola.pero@meta-innovation.com>
6455
6456         PR c/43082
6457         * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
6458         passed a VOID_TYPE expression, immediately emit an error and
6459         return error_mark_node.
6460
6461 2011-01-26  Jeff Law  <law@redhat.com>
6462
6463         PR rtl-optimization/47464
6464         * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
6465         rather than may_trap_p as needed.
6466
6467 2011-01-26  DJ Delorie  <dj@redhat.com>
6468
6469         PR rtl-optimization/46878
6470         * combine.c (insn_a_feeds_b): Check for the implicit cc0
6471         setter/user dependency as well.
6472
6473 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
6474
6475         PR rtl-optimization/44469
6476         * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
6477         after removing trivially dead basic blocks.
6478
6479 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
6480
6481         * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
6482         * config/frv/frv.h (LINK_SPEC): Likewise.
6483         * config/i386/netware.h (LINK_SPEC): Likewise.
6484         * config/m68k/linux.h (ASM_SPEC): Likewise.
6485         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
6486         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
6487         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
6488         * config/sparc/linux.h (ASM_SPEC): Likewise.
6489         * config/sparc/linux64.h (ASM_SPEC): Likewise.
6490         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
6491
6492 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
6493
6494         * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
6495         * config/frv/frv.h (ASM_SPEC): Likewise.
6496         * config/m68k/linux.h (ASM_SPEC): Likewise.
6497         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
6498         * config/rs6000/linux64.h (ASM_SPEC): Likewise.
6499         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
6500         * config/sparc/linux.h (ASM_SPEC): Likewise.
6501         * config/sparc/linux64.h (ASM_SPEC): Likewise.
6502         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
6503
6504 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
6505
6506         * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
6507         * config/frv/frv.h (LINK_SPEC): Likewise.
6508         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
6509
6510 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
6511
6512         * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
6513         * config/frv/frv.h (ASM_SPEC): Likewise.
6514         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
6515         * config/m68k/linux.h (ASM_SPEC): Likewise.
6516         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
6517         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
6518         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
6519         * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
6520         * config/sparc/linux.h (ASM_SPEC): Likewise.
6521         * config/sparc/linux64.h (ASM_SPEC): Likewise.
6522         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
6523         * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
6524
6525 2011-01-26  Steve Ellcey  <sje@cup.hp.com>
6526
6527         PR target/46997
6528         * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
6529         (*mux2): Ditto.
6530         (vec_extract_evenodd_help): Ditto.
6531         (vec_extract_evenv4hi): Ditto.
6532         (vec_extract_oddv4hi): Ditto.
6533         (vec_interleave_lowv2si): Ditto.
6534         (vec_interleave_highv2si): Ditto.
6535         (vec_extract_evenv2si): Ditto.
6536         (vec_extract_oddv2si: Ditto.
6537         (vec_pack_trunc_v2si): Ditto.
6538
6539 2011-01-22  Jan Hubicka  <jh@suse.cz>
6540
6541         PR target/47237
6542         * cgraph.h (cgraph_local_info): New field can_change_signature.
6543         * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
6544         signature can change.
6545         (ipcp_estimate_growth): Call sequence simplify only if calle signature
6546         can change.
6547         (ipcp_insert_stage): Only compute args_to_skip if signature can change.
6548         (cgraph_function_versioning): We can not change signature of functions
6549         that don't allow that.
6550         * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
6551         (lto_input_node): Likewise.
6552         * ipa-inline.c (compute_inline_parameters): Compute
6553         local.can_change_signature.
6554         * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
6555         * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
6556         functions that can not change signature.
6557         * i386.c (ix86_function_regparm, ix86_function_sseregparm,
6558         init_cumulative_args): Do not use local calling conventions
6559         for functions that can not change signature.
6560
6561 2011-01-22  Jan Hubicka  <jh@suse.cz>
6562
6563         * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
6564
6565 2011-01-26  Richard Guenther  <rguenther@suse.de>
6566
6567         PR tree-optimization/47190
6568         * cgraphunit.c (process_common_attributes): New function.
6569         (process_function_and_variable_attributes): Use it.
6570
6571 2011-01-26  Richard Guenther  <rguenther@suse.de>
6572
6573         PR lto/47423
6574         * cgraphbuild.c (record_eh_tables): Record reference to personality
6575         function.
6576
6577 2011-01-26  Alexandre Oliva  <aoliva@redhat.com>
6578
6579         PR debug/45454
6580         * sel-sched.c (moveup_expr): Don't let debug insns prevent
6581         non-debug insns from moving up.
6582
6583 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
6584
6585         PR target/40125
6586         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
6587         t-dlldir{,-x} fragment for build and add it to tmake_file.
6588         (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
6589         * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
6590         * config/i386/t-dlldir: New file.
6591         (SHLIB_DLLDIR): Define.
6592         * config/i386/t-dlldir-x: New file.
6593         (SHLIB_DLLDIR): Define.
6594         * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
6595         (SHLIB_INSTALL): Use it.
6596
6597 2011-01-26  Chung-Lin Tang  <cltang@codesourcery.com>
6598
6599         PR target/47246
6600         * config/arm/arm.c (thumb2_legitimate_index_p): Change the
6601         lower bound of the allowed Thumb-2 coprocessor load/store
6602         index range to -256. Add explaining comment.
6603
6604 2011-01-25  Ian Lance Taylor  <iant@google.com>
6605
6606         * godump.c (go_define): Improve lexing of macro expansion to only
6607         accept expressions which match Go spec.
6608
6609 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
6610
6611         PR c++/43601
6612         * tree.c (handle_dll_attribute): Handle it.
6613         * doc/extend.texi (@item dllexport): Mention it.
6614         * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
6615
6616 2011-01-25  Ian Lance Taylor  <iant@google.com>
6617
6618         PR tree-optimization/26854
6619         * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
6620         (decl_jump_unsafe): Move higher in file, with no other change.
6621         (bind): Set has_jump_unsafe_decl if appropriate.
6622         (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
6623         (check_earlier_gotos): Likewise.
6624         (c_check_switch_jump_warnings): Likewise.
6625
6626 2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
6627
6628         * doc/invoke.texi (Warning Options): Add missing hyphen.
6629         (-fprofile-dir): Minor grammatical fixes.
6630         (-fbranch-probabilities): Likewise.
6631
6632 2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
6633
6634         PR debug/45136
6635         PR debug/45130
6636         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
6637         debug insns.
6638         (no_real_insns_p, schedule_block, set_priorities): Drop special
6639         treatment of boundary debug insns.
6640         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
6641         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
6642         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
6643         (BOUNDARY_DEBUG_INSN_P): Likewise.
6644         (SCHEDULE_DEBUG_INSN_P): Likewise.
6645         * sched-rgn.c (init_ready_list): Drop special treatment of
6646         boundary debug insns.
6647         * final.c (rest_of_clean-state): Clear notes' BB.
6648
6649 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6650
6651         * Makefile.in (LAMBDA_H): Removed.
6652         (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
6653         (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
6654         lambda-trans.o, and tree-loop-linear.o.
6655         (lto-symtab.o): Remove dependence on LAMBDA_H.
6656         (tree-loop-linear.o): Remove rule.
6657         (lambda-mat.o): Same.
6658         (lambda-trans.o): Same.
6659         (lambda-code.o): Same.
6660         (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
6661         (tree-vect-slp.o): Same.
6662         * hwint.h (gcd): Moved here.
6663         (least_common_multiple): Same.
6664         * lambda-code.c: Removed.
6665         * lambda-mat.c: Removed.
6666         * lambda-trans.c: Removed.
6667         * lambda.h: Removed.
6668         * tree-loop-linear.c: Removed.
6669         * lto-symtab.c: Do not include lambda.h.
6670         * omega.c (gcd): Removed.
6671         * passes.c (init_optimization_passes): Remove pass_linear_transform.
6672         * tree-data-ref.c (print_lambda_vector): Moved here.
6673         (lambda_vector_copy): Same.
6674         (lambda_matrix_copy): Same.
6675         (lambda_matrix_id): Same.
6676         (lambda_vector_first_nz): Same.
6677         (lambda_matrix_row_add): Same.
6678         (lambda_matrix_row_exchange): Same.
6679         (lambda_vector_mult_const): Same.
6680         (lambda_vector_negate): Same.
6681         (lambda_matrix_row_negate): Same.
6682         (lambda_vector_equal): Same.
6683         (lambda_matrix_right_hermite): Same.
6684         * tree-data-ref.h: Do not include lambda.h.
6685         (lambda_vector): Moved here.
6686         (lambda_matrix): Same.
6687         (dependence_level): Same.
6688         (lambda_transform_legal_p): Removed declaration.
6689         (lambda_collect_parameters): Same.
6690         (lambda_compute_access_matrices): Same.
6691         (lambda_vector_gcd): Same.
6692         (lambda_vector_new): Same.
6693         (lambda_vector_clear): Same.
6694         (lambda_vector_lexico_pos): Same.
6695         (lambda_vector_zerop): Same.
6696         (lambda_matrix_new): Same.
6697         * tree-flow.h (least_common_multiple): Removed declaration.
6698         * tree-parloops.c (lambda_trans_matrix): Moved here.
6699         (LTM_MATRIX): Same.
6700         (LTM_ROWSIZE): Same.
6701         (LTM_COLSIZE): Same.
6702         (LTM_DENOMINATOR): Same.
6703         (lambda_trans_matrix_new): Same.
6704         (lambda_matrix_vector_mult): Same.
6705         (lambda_transform_legal_p): Same.
6706         * tree-pass.h (pass_linear_transform): Removed declaration.
6707         * tree-ssa-loop.c (tree_linear_transform): Removed.
6708         (gate_tree_linear_transform): Removed.
6709         (pass_linear_transform): Removed.
6710         (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
6711         flag_loop_interchange.
6712
6713 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
6714
6715         PR tree-optimization/47265
6716         PR tree-optimization/47443
6717         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
6718         if name still has some uses.
6719
6720 2011-01-25  Martin Jambor  <mjambor@suse.cz>
6721
6722         PR tree-optimization/47382
6723         * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
6724         (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
6725
6726 2011-01-25  Joel Sherrill  <joel.sherrill@oarcorp.com>
6727
6728         * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
6729         sjlj_except_unwind_info.
6730
6731 2011-01-25  Richard Guenther  <rguenther@suse.de>
6732
6733         PR tree-optimization/47426
6734         * tree-ssa-structalias.c (ipa_pta_execute): Make externally
6735         visible functions results escape.
6736
6737 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
6738
6739         PR target/45701
6740         * config/arm/arm.c (any_sibcall_uses_r3): New function.
6741         (arm_get_frame_offsets): Use it.
6742
6743 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6744             Jakub Jelinek  <jakub@redhat.com>
6745
6746         PR tree-optimization/47271
6747         * tree-if-conv.c (bb_postdominates_preds): New.
6748         (if_convertible_bb_p): Call bb_postdominates_preds.
6749         (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
6750         (predicate_scalar_phi): Call bb_postdominates_preds.
6751
6752 2011-01-25  Nick Clifton  <nickc@redhat.com>
6753
6754         * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
6755         * config/rx/rx.c (rx_function_value): Likewise.
6756         (rx_promote_function_mode): Likewise.
6757         (gen_safe_add): Place an outsized immediate value inside an UNSPEC
6758         in order to make it legitimate.
6759         * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
6760         make sure that the first operand is the same as the result register.
6761         (addsi3_unspec): Delete.
6762         (subdi3): Do not accept immediate operands.
6763         (subdi3_internal): Likewise.
6764
6765 2011-01-25  Jeff Law  <law@redhat.com>
6766
6767         PR rtl-optimization/37273
6768         * ira-costs.c (scan_one_insn): Detect constants living in memory and
6769         handle them like argument loads from stack slots.  Do not double
6770         count memory for memory constants and argument loads from stack slots.
6771
6772 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
6773
6774         PR tree-optimization/47427
6775         PR tree-optimization/47428
6776         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
6777         coalesce if the new root var would be TREE_READONLY.
6778
6779 2011-01-25  Richard Guenther  <rguenther@suse.de>
6780
6781         PR middle-end/47414
6782         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
6783         correct type for TBAA.
6784
6785 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6786
6787         * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
6788         (close_phi_written_to_memory): Call for_each_index with
6789         dr_indices_valid_in_loop.
6790
6791 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6792
6793         * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
6794         when it is initialized.
6795
6796 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6797
6798         * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
6799         call to graphite_find_data_references_in_stmt.
6800         * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
6801         (try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
6802         call to graphite_find_data_references_in_stmt.
6803         (analyze_drs_in_stmts): Same.
6804         * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
6805         in which the scalar analysis of indices is performed.
6806         (create_data_ref): Same.  Update call to dr_analyze_indices.
6807         (find_data_references_in_stmt): Update call to create_data_ref.
6808         (graphite_find_data_references_in_stmt): Same.
6809         * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
6810         declaration.
6811         (create_data_ref): Same.
6812         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
6813         call to create_data_ref.
6814
6815 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6816
6817         * graphite-sese-to-poly.c (build_poly_scop): Move
6818         rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
6819
6820 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6821
6822         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
6823         VAR_DECL, PARM_DECL, and RESULT_DECL.
6824
6825 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6826
6827         * graphite-dependences.c (reduction_dr_1): Allow several reductions
6828         in a reduction PBB.
6829         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
6830         that have already been marked as PBB_IS_REDUCTION.
6831
6832 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6833
6834         * graphite-scop-detection.c (same_close_phi_node): New.
6835         (remove_duplicate_close_phi): New.
6836         (make_close_phi_nodes_unique): New.
6837         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
6838
6839 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6840
6841         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
6842         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
6843         of both data references to be the same.
6844
6845 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6846
6847         * graphite-dependences.c (build_lexicographical_constraint): Remove
6848         the gdim parameter.
6849         (build_lexicographical_constraint): Adjust call to
6850         ppl_powerset_is_empty.
6851         (dependence_polyhedron): Same.
6852         (graphite_legal_transform_dr): Same.
6853         (graphite_carried_dependence_level_k): Same.
6854         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
6855         parameter.
6856         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
6857
6858 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6859
6860         * graphite-sese-to-poly.c
6861         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
6862         (close_phi_written_to_memory): New.
6863         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
6864         and unshare_expr.
6865
6866 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6867
6868         * doc/install.texi: Update the expected version number of PPL to 0.11.
6869         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
6870         #if PPL_VERSION_MINOR < 11.
6871
6872 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6873
6874         * graphite-dependences.c: Include graphite-cloog-util.h.
6875         (new_poly_ddr): Inlined into dependence_polyhedron.
6876         (free_poly_ddr): Moved close by new_poly_ddr.
6877         (dependence_polyhedron_1): Renamed dependence_polyhedron.
6878         Early return NULL when ppl_powerset_is_empty returns true.
6879         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
6880         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
6881         (graphite_legal_transform_dr): Call new_poly_ddr.
6882         (graphite_carried_dependence_level_k): Same.
6883         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
6884         (dot_transformed_deps_stmt_1): Removed.
6885         (dot_deps_stmt_1): Call dot_deps_stmt_2.
6886         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
6887         (dot_deps_1): Call dot_deps_2.
6888         * Makefile.in (graphite-dependences.o): Add missing dependence on
6889         graphite-cloog-util.h.
6890
6891 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6892
6893         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
6894         (build_lexicographical_constraint): Same.
6895         (dependence_polyhedron_1): Same.
6896         (graphite_legal_transform_dr): Same.
6897         (graphite_carried_dependence_level_k): Same.
6898         * graphite-ppl.c (ppl_powerset_is_empty): New.
6899         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
6900         * tree-data-ref.c (dump_data_reference): Print the basic block index.
6901
6902 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6903
6904         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
6905         the "a followed by b" relation and document it.
6906
6907 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6908
6909         * graphite-dependences.c (build_lexicographical_constraint): Stop the
6910         iteration when the bag of constraints is empty.
6911
6912 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6913
6914         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
6915
6916 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6917
6918         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
6919         nest and two loop depths as parameters.
6920         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
6921         lst_perfect_nestify.
6922
6923 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6924
6925         * graphite-dependences.c (print_pddr): Call
6926         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
6927
6928 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
6929
6930         * graphite-ppl.c (debug_gmp_value): New.
6931         * graphite-ppl.h (debug_gmp_value): Declared.
6932
6933 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
6934
6935         * doc/install.texi: Document availability of cloog-0.16.
6936
6937 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
6938
6939         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
6940         invalid postdominance info.
6941
6942 2011-01-24  Jan Hubicka  <jh@suse.cz>
6943
6944         PR c/21659
6945         * doc/extend.texi (weak pragma): Drop claim that it must
6946         appear before definition.
6947         * varasm.c (merge_weak, declare_weak): Only sanity check
6948         that DECL is not output at a time it is declared weak.
6949
6950 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
6951
6952         * machmode.def: Fixed comments.
6953
6954 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
6955
6956         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
6957
6958 2011-01-24  Paul Koning  <ni1d@arrl.net>
6959
6960         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
6961         WORDS_BIG_ENDIAN.
6962
6963 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
6964
6965         PR target/46519
6966         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
6967         (block_info): Add scanned and prev.
6968         (move_or_delete_vzeroupper_2): Return if the basic block
6969         has been scanned and the upper 128bit state is unchanged
6970         from the last scan.
6971         (move_or_delete_vzeroupper_1): Return true if the exit
6972         state is changed.
6973         (move_or_delete_vzeroupper): Visit basic blocks using the
6974         work-list based algorithm based on vt_find_locations in
6975         var-tracking.c.
6976
6977         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
6978
6979 2011-01-24  Nick Clifton  <nickc@redhat.com>
6980
6981         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
6982         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
6983         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
6984         then define __v850e1__.
6985         * doc/invoke.texi: Document -mv850es.
6986
6987 2011-01-24  Richard Henderson  <rth@redhat.com>
6988
6989         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
6990         compound unordered comparisons.
6991         * config/rx/rx.c (rx_split_fp_compare): Remove.
6992         * config/rx/rx-protos.h: Update.
6993         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
6994         (cbranchsf4): Don't call rx_split_fp_compare.
6995         (*cbranchsf4): Use rx_split_cbranch.
6996         (*cmpsf): Don't accept "i" constraint.
6997         (*conditional_branch): Only valid after reload.
6998         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
6999
7000 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
7001
7002         PR target/47385
7003         * config/rs6000/altivec.md (vector constant splitters): Add
7004         support for creating vector single precision constants if -mvsx is
7005         used and we would create the constant using Altivec primitives.
7006
7007 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
7008             Richard Sandiford  <rdsandiford@googlemail.com>
7009
7010         PR rtl-optimization/47166
7011         * reload1.c (emit_reload_insns): Disable the spill_reg_store
7012         mechanism for PRE_MODIFY and POST_MODIFY.
7013         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
7014         reloadreg.
7015
7016 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
7017
7018         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7019
7020 2011-01-22  Jan Hubicka  <jh@suse.cz>
7021
7022         PR lto/47333
7023         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
7024
7025 2011-01-22  Jan Hubicka  <jh@suse.cz>
7026
7027         PR tree-optimization/43884
7028         PR lto/44334
7029         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
7030         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
7031
7032 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
7033
7034         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
7035         * config/s390/s390.c (s390_register_move_cost,
7036         s390_memory_move_cost): New.
7037         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
7038
7039 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7040
7041         PR middle-end/47401
7042         * except.c (sjlj_assign_call_site_values): Move setting the
7043         crtl->uses_eh_lsda flag to ...
7044         (sjlj_mark_call_sites): ... here.
7045         (sjlj_emit_function_enter): Support NULL dispatch label.
7046         (sjlj_build_landing_pads): In a function with no landing pads
7047         that still has must-not-throw regions, generate code to register
7048         a personality function with empty LSDA.
7049
7050 2011-01-21  Richard Henderson  <rth@redhat.com>
7051
7052         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
7053
7054         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
7055
7056         * compare-elim.c: New file.
7057         * Makefile.in (OBJS-common): Add it.
7058         (compare-elim.o): New.
7059         * common.opt (fcompare-elim): New.
7060         * opts.c (default_options_table): Add OPT_fcompare_elim.
7061         * tree-pass.h (pass_compare_elim_after_reload): New.
7062         * passes.c (init_optimization_passes): Add it.
7063         * recog.h: Protect against re-inclusion.
7064         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
7065         * doc/invoke.texi (-fcompare-elim): Document it.
7066         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
7067         * doc/tm.texi: Rebuild.
7068
7069 2011-01-22  Nick Clifton  <nickc@redhat.com>
7070
7071         * config/rx/rx.md (cstoresf4): Pass comparison operator to
7072         rx_split_fp_compare.
7073
7074 2011-01-22  Nick Clifton  <nickc@redhat.com>
7075
7076         * config/rx/rx.md (UNSPEC_CONST): New.
7077         (deallocate_and_return): Wrap the amount popped off the stack in
7078         an UNSPEC_CONST in order to stop it being rejected by
7079         -mmax-constant-size.
7080         (pop_and_return): Add a "(return)" rtx.
7081         (call): Drop the immediate operand.
7082         (call_internal): Likewise.
7083         (call_value): Likewise.
7084         (call_value_internal): Likewise.
7085         (sibcall_internal): Likewise.
7086         (sibcall_value_internal): Likewise.
7087         (sibcall): Likewise.  Generate an explicit call using
7088         sibcall_internal.
7089         (sibcall_value): Likewise.
7090         (mov<>): FAIL if a constant operand is not legitimate.
7091         (addsi3_unpsec): New pattern.
7092
7093         * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
7094         (ok_for_max_constant): New function.
7095         (gen_safe_add): New function.
7096         (rx_expand_prologue): Use gen_safe_add.
7097         (rx_expand_epilogue): Likewise.
7098         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
7099         UNSPEC CONSTs.
7100
7101 2011-01-21  Jeff Law  <law@redhat.com>
7102
7103         PR tree-optimization/47053
7104         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
7105         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
7106         statements are deleted.
7107         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
7108         is nonempty, then purge dead edges and cleanup the CFG.
7109
7110 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
7111
7112         PR debug/47402
7113         Temporarily revert:
7114         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
7115         PR debug/47106
7116         * tree-dfa.c (create_var_ann): Mark variable as used.
7117
7118 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
7119
7120         PR middle-end/45566
7121         * except.c (convert_to_eh_region_ranges): Emit queued no-region
7122         notes from other section in hot/cold partitioning even if
7123         last_action is -3.  Increment call_site_base.
7124
7125         PR rtl-optimization/47366
7126         * fwprop.c (forward_propagate_into): Return bool.  If
7127         any changes are made, -fnon-call-exceptions is used and
7128         REG_EH_REGION note is present, call purge_dead_edges
7129         and return true if it purged anything.
7130         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
7131         any EH edges were purged.
7132
7133 2011-01-21  Jeff Law  <law@redhat.com>
7134
7135         PR rtl-optimization/41619
7136         * caller-save.c (setup_save_areas): Break out code to determine
7137         which hard regs are live across calls by examining the reload chains
7138         so that it is always used.
7139         Eliminate code which checked REG_N_CALLS_CROSSED.
7140
7141 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
7142
7143         PR tree-optimization/47355
7144         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
7145         NOP has non-debug uses beyond PHIs in new_bb.
7146
7147 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
7148
7149         PR debug/47106
7150         * cfgexpand.c (account_used_vars_for_block): Only account vars
7151         that are annotated as used.
7152         (estimated_stack_frame_size): Don't set TREE_USED.
7153         * tree-dfa.c (create_var_ann): Mark variable as used.
7154
7155 2011-01-21  Richard Guenther  <rguenther@suse.de>
7156
7157         PR middle-end/47395
7158         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
7159
7160 2011-01-21  Richard Guenther  <rguenther@suse.de>
7161
7162         PR tree-optimization/47365
7163         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
7164         (vn_reference_lookup_pieces): Adjust.
7165         (vn_reference_lookup): Likewise.
7166         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
7167         (vn_reference_lookup_3): Only look through kills if in
7168         VN_WALKREWRITE mode.
7169         (vn_reference_lookup_pieces): Adjust.
7170         (vn_reference_lookup): Likewise.
7171         (visit_reference_op_load): Likewise.
7172         (visit_reference_op_store): Likewise.
7173         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
7174         (compute_avail): Likewise.
7175         (eliminate): Likewise.
7176
7177 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
7178
7179         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
7180         DECL_IGNORED_P non-reg vars if they are used.
7181
7182         PR tree-optimization/47391
7183         * varpool.c (const_value_known_p): Return false if
7184         decl is volatile.
7185
7186 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
7187
7188         PR bootstrap/47215
7189         * config/i386/i386.c (ix86_local_alignment): Handle
7190         case for va_list_type_node is nil.
7191         (ix86_canonical_va_list_type): Likewise.
7192
7193 2011-01-21  Alan Modra  <amodra@gmail.com>
7194
7195         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
7196         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
7197
7198 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
7199
7200         * config/arm/arm.md (define_attr type): Rename f_load
7201         and f_store to f_fpa_load and f_fpa_store. Update.
7202         (write_conflict): Deal with rename fallout.
7203         (*push_fp_multi): Likewise.
7204         * config/arm/fpa.md (f_load): Use f_fpa_load.
7205         (f_store): Use f_fpa_store.
7206         (*movsf_fpa): Likewise.
7207         (*movdf_fpa): Likewise.
7208         (*movxf_fpa): Likewise.
7209         (*thumb2_movsf_fpa): Likewise.
7210         (*thumb2_movdf_fpa): Likewise.
7211         (*thumb2_movxf_fpa): Likewise.
7212         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
7213         f_loadd and f_stored.
7214         (*thumb2_movdi_vfp): Likewise.
7215         (*thumb2_movsf_vfp): Fix attribute to f_loads.
7216         (*thumb2_movsi_vfp): Likewise.
7217         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
7218         Use f_loads instead of f_load.
7219         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
7220
7221 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
7222
7223         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
7224         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
7225         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
7226         (xtensa_mode_dependent_address_p): New function.
7227         (constantpool_address_p): Make static. Change return type to bool.
7228         Change argument type to const_rtx. Use CONST_INT_P predicate.
7229
7230 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
7231
7232         PR debug/46583
7233         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
7234
7235 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
7236
7237         PR debug/47283
7238         * cfgexpand.c (expand_debug_expr): Instead of generating
7239         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
7240         etc. handling.
7241
7242 2011-01-20  Richard Guenther  <rguenther@suse.de>
7243
7244         PR middle-end/47370
7245         * tree-inline.c (remap_gimple_op_r): Recurse manually for
7246         the pointer operand of MEM_REFs.
7247
7248 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
7249
7250         PR tree-optimization/46130
7251         * ipa-split.c (consider_split): If return_bb contains non-virtual
7252         PHIs other than for retval or if split_function would not adjust it,
7253         refuse to split.
7254
7255 2011-01-20  Richard Guenther  <rguenther@suse.de>
7256
7257         PR tree-optimization/47167
7258         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
7259         Revert previous change, only avoid enumeral type changes.
7260
7261 2011-01-19  Mike Stump  <mikestump@comcast.net>
7262
7263         * doc/tm.texi.in (BRANCH_COST): Englishify.
7264         * doc/tm.texi (BRANCH_COST): Likewise.
7265
7266 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
7267
7268         PR c++/47291
7269         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
7270         (gen_scheduled_generic_parms_dies): New functions.
7271         (gen_struct_or_union_type_die): Schedule template parameters DIEs
7272         generation for the end of CU compilation.
7273         (dwarf2out_finish): Generate template parameters DIEs here.
7274
7275 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
7276
7277         PR debug/46240
7278         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
7279         debug bind stmt on merge edges.
7280
7281 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
7282
7283         PR debug/47079
7284         PR debug/46724
7285         * function.c (instantiate_expr): Instantiate incoming rtl of
7286         implicit arguments, and recurse on VALUE_EXPRs.
7287         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
7288         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
7289
7290 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
7291
7292         * c-parser.c (c_parser_for_statement): Initialize
7293         collection_expression.
7294
7295 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
7296
7297         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
7298
7299 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
7300
7301         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
7302         (LINK_SHLIB_SPEC): Don't use %(link_path).
7303         (SUBTARGET_EXTRA_SPECS): Remove link_path.
7304
7305 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
7306
7307         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
7308         (NO_SHARED_LIB_SUPPORT): Remove.
7309         (LINK_SHLIB_SPEC): Remove one conditional definition.
7310
7311 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
7312
7313         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
7314         %{call_shared}.
7315         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
7316         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
7317         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
7318         %{call_shared} and conditionals on these options not being passed.
7319         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
7320         %{call_shared}.
7321
7322 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
7323
7324         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
7325         simplify.
7326
7327         * ipa-split.c: Spelling fixes.
7328
7329 2011-01-19  Richard Henderson  <rth@redhat.com>
7330
7331         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
7332         (*mulsi3): Likewise.
7333
7334         * longlong.h [__mn10300__] (count_leading_zeros): New.
7335         [__mn10300__] (umul_ppmm, smul_ppmm): New.
7336         [__mn10300__] (add_ssaaaa, subddmmss): New.
7337         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
7338         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
7339
7340 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7341
7342         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
7343
7344 2011-01-19  Richard Henderson  <rth@redhat.com>
7345
7346         * config/mn10300/mn10300.md (addsi3_flags): New.
7347         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
7348         (subsi3_flags, subc_internal, subdi3): New.
7349         (subdi3_internal, *subdi3_degenerate): New.
7350         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
7351
7352         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
7353         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
7354         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
7355         * config/mn10300/mn10300-protos.h: Update.
7356         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
7357         (return_ret): Likewise.  Rename from return_internal_regs.
7358         (return_internal): Remove.
7359
7360         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
7361         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
7362         (mn10300_legitimate_constant_p): Likewise.
7363         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
7364         (mn10300_frame_size): New.
7365         (mn10300_expand_prologue): Use it.
7366         (mn10300_expand_epilogue): Likewise.
7367         (mn10300_initial_offset): Likewise.
7368         * config/mn10300/mn10300-protos.h: Update.
7369         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
7370         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
7371         (prologue, epilogue, return_internal): Tidy output code.
7372         (mn10300_store_multiple_operation, return): Likewise.
7373         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
7374         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
7375         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
7376         (load_pic, am33_load_pic): New.
7377         (mn10300_load_pic0, mn10300_load_pic1): New.
7378
7379         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
7380         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
7381         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
7382         (cc_flags_for_mode, cc_flags_for_code): New.
7383         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
7384         overflow flag is not valid.  Validate that the flags we need
7385         for the comparison are valid.
7386         (mn10300_output_cmp): Remove.
7387         (mn10300_output_add): New.
7388         (mn10300_select_cc_mode): Use cc_flags_for_code.
7389         (mn10300_split_cbranch): New.
7390         (mn10300_match_ccmode): New.
7391         (mn10300_split_and_operand_count): New.
7392         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
7393         to the function.
7394         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
7395         (addsi3): ... here.  Use mn10300_output_add.
7396         (*addsi3_flags): New.
7397         (*am33_subsi3, *mn10300_subsi3): Merge...
7398         (subsi3): ... here.  Use attribute isa.
7399         (*subsi3_flags): New.
7400         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
7401         when possible.
7402         (*am33_andsi3, *mn10300_andsi3): Merge...
7403         (andsi3): ... here.
7404         (*andsi3_flags): New.
7405         (andsi3 splitters): New.
7406         (*am33_iorsi3, *mn10300_iorsi3): Merge...
7407         (iorsi3): ... here.
7408         (*iorsi3_flags): New.
7409         (*am33_xorsi3, *mn10300_xorsi3): Merge...
7410         (xorsi3): ... here.
7411         (*xorsi3_flags): New.
7412         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
7413         (one_cmplsi2): ... here.
7414         (*one_cmplsi2_flags): New.
7415         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
7416         instead of "dax" in constraints.  Use mn10300_split_cbranch.
7417         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
7418         use matching constraints to eliminate a self-comparison.
7419         (*integer_conditional_branch): Rename from integer_conditional_branch.
7420         Use int_mode_flags to match CC_REG.
7421         (*cbranchsi4_btst, *btstsi): New.
7422         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
7423         mn10300_split_cbranch.
7424         (*am33_cmpsf): Rename from am33_cmpsf.
7425         (*float_conditional_branch): Rename from float_conditional_branch.
7426         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
7427         (zero_extendqisi2): ... here.
7428         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
7429         (zero_extendhisi2): ... here.
7430         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
7431         (extendqisi2): ... here.
7432         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
7433         (extendhisi2): ... here.
7434         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
7435         (ashlsi3): ... here.
7436         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
7437         (lshrsi3): ... here.
7438         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
7439         (ashrsi3): ... here.
7440         (consecutive add peephole): Remove.
7441         * config/mn10300/predicates.md (label_ref_operand): New.
7442         (int_mode_flags): New.
7443         (CCZN_comparison_operator): New.
7444
7445         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
7446         (throughput_42_latency_43): New reservation.
7447         (mulsidi3, umulsidi3): New expanders.
7448         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
7449         the MDR register to allocation; separately allocate the low and
7450         high parts of the DImode result.
7451         (umulsidi3_internal): Similarly.
7452         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
7453         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
7454         (udivsi3, umodsi3): Remove.
7455         (udivmodsi4, divmodsi4): New expanders.
7456         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
7457         (*divmodsi4): Simiarly.
7458         (ext_internal): New.
7459
7460         * config/mn10300/constraints.md ("z"): New constraint.
7461         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
7462         (FIXED_REGISTERS): Don't fix MDR.
7463         (CALL_USED_REGSITERS): Reformat nicely.
7464         (REG_ALLOC_ORDER): Add MDR.
7465         (enum regclass): Add MDR_REGS.
7466         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
7467         (IRA_COVER_CLASSES): Add MDR_REGS.
7468         (REGNO_REG_CLASS): Handle MDR_REG.
7469         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
7470         (mn10300_register_move_cost): Likewise.
7471         * config/mn10300/mn10300.md (MDR_REG): New.
7472         (*movsi_internal): Handle moves to/from MDR_REGS.
7473
7474         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
7475         POST_MODIFY.
7476         (mn10300_secondary_reload): Tidy combination reload classes.
7477         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
7478         addresses for AM33.  Allow symbolic offsets for reg+imm.
7479         (mn10300_regno_in_class_p): New.
7480         (mn10300_legitimize_reload_address): New.
7481         * config/mn10300/mn10300.h (enum reg_class): Remove
7482         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
7483         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
7484         SP_OR_GENERAL_REGS.
7485         (REG_CLASS_NAMES): Update to match.
7486         (REG_CLASS_CONTENTS): Likewise.
7487         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
7488         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
7489         (REGNO_IN_RANGE_P): Remove.
7490         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
7491         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
7492         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
7493         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
7494         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
7495         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
7496         (REGNO_GENERAL_P): New.
7497         (HAVE_POST_MODIFY_DISP): New.
7498         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
7499         (LEGITIMIZE_RELOAD_ADDRESS): New.
7500         * config/mn10300/mn10300-protos.h: Update.
7501
7502         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
7503         DATA_REGS for AM33 stack-pointer destination.
7504         (mn10300_preferred_output_reload_class): Likewise.
7505         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
7506         into a form appropriate for ...
7507         (TARGET_SECONDARY_RELOAD): New.
7508         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
7509         * config/mn10300/mn10300-protos.h: Update.
7510         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
7511         reload_insi; use the "A" constraint for the scratch; handle AM33
7512         moves of sp to non-address registers.
7513
7514         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
7515         (*movqi_internal): ... here.
7516         (*am33_movhi, *mn10300_movhi): Merge into...
7517         (*movhi_internal): ... here.
7518         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
7519         as the source/destination of moves from/to SP.
7520         (movsf): Only allow for AM33-2.
7521         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
7522         any integer constant constraint.  Only allow for AM33-2.  Tidy
7523         all of the alternative outputs.
7524         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
7525         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
7526         for MN103.
7527         (udivsi3, umodsi3): New patterns for MN103 only.
7528
7529 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
7530
7531         * doc/tm.texi.in: Spell out that a lack of register class unions
7532         can lead to ICEs.
7533         * doc/tm.texi: Regenerate.
7534
7535 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
7536
7537         PR rtl-optimization/47337
7538         * dce.c (check_argument_store): New function.
7539         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
7540
7541         PR tree-optimization/47290
7542         * tree-eh.c (infinite_empty_loop_p): New function.
7543         (cleanup_empty_eh): Use it.
7544
7545 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
7546
7547         PR target/46997
7548         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
7549         (a64_expand_widen_sum): Ditto.
7550         * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
7551         (vec_extract_evenodd_help): Ditto.
7552         (vec_extract_evenv4hi): Ditto.
7553         (vec_extract_oddv4hi): Ditto.
7554         (vec_extract_evenv2si): Ditto.
7555         (vec_extract_oddv2si): Ditto.
7556         (vec_extract_evenv2sf): Ditto.
7557         (vec_extract_oddv2sf): Ditto.
7558         (vec_pack_trunc_v4hi: Ditto.
7559         (vec_pack_trunc_v2si): Ditto.
7560         (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
7561         (vec_interleave_highv8qi): Ditto.
7562         (mix1_r): Ditto.
7563         (vec_extract_oddv8qi): Ditto.
7564         (vec_interleave_lowv4hi): Ditto.
7565         (vec_interleave_highv4hi): Ditto.
7566         (vec_interleave_lowv2si): Ditto.
7567         (vec_interleave_highv2si): Ditto.
7568
7569 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7570
7571         * doc/extend.texi: Mention __float128 support on hppa HP-UX.
7572         * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
7573         * config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
7574         (pa_c_mode_for_suffix): New.
7575         (TARGET_EXPAND_BUILTIN): Define.
7576         (TARGET_C_MODE_FOR_SUFFIX): Define.
7577         (pa_builtins): Define.
7578         (pa_init_builtins): Register __float128 type and init new support
7579         builtins.
7580         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
7581         * config/pa/quadlib.c (_U_Qfcopysign): New.
7582
7583 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
7584
7585         PR middle-end/46894
7586         * explow.c (allocate_dynamic_stack_space): Do not assume more than
7587         BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
7588         are defined.
7589
7590 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7591
7592         PR tree-optimization/47179
7593         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
7594         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
7595
7596 2011-01-18  Richard Guenther  <rguenther@suse.de>
7597
7598         PR rtl-optimization/47216
7599         * emit-rtl.c: Include tree-flow.h.
7600         (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
7601         of replicating it with different semantics.
7602         * Makefile.in (emit-rtl.o): Adjust.
7603
7604 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
7605
7606         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
7607         (cortex_a9_dp): Handle neon types correctly.
7608
7609 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
7610
7611         PR rtl-optimization/47299
7612         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
7613         subtarget.  Use normal multiplication if both operands are constants.
7614         * expmed.c (expand_widening_mult): Don't try to optimize constant
7615         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
7616         before using it.
7617
7618 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7619
7620         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
7621         spacing after 'e.g.', typos, comma, hyphenation.
7622
7623 2011-01-17  Richard Henderson  <rth@redhat.com>
7624
7625         * config/rx/predicates.md (rx_constshift_operand): Use match_test.
7626         (rx_restricted_mem_operand): New.
7627         (rx_shift_operand): Use register_operand.
7628         (rx_source_operand, rx_compare_operand): Likewise.
7629         * config/rx/rx.md (addsi3_flags): New expander.
7630         (adddi3): Rewrite as expander.
7631         (adc_internal, *adc_flags, adddi3_internal): New patterns.
7632         (subsi3_flags): New expander.
7633         (subdi3): Rewrite as expander.
7634         (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
7635
7636         * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
7637         (rx_init_builtins): Remove sat builtin.
7638         (rx_expand_builtin): Likewise.
7639         * config/rx/rx.md (ssaddsi3): New.
7640         (*sat): Rename from sat.  Represent the CC_REG input.
7641
7642         * config/rx/predicates.md (rshift_operator): New.
7643         * config/rx/rx.c (rx_expand_insv): Remove.
7644         * config/rx/rx-protos.h: Update.
7645         * config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
7646         operand to the canonical position.
7647         (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
7648         (*bitclr, *bitclr_in_memory): Similarly.
7649         (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
7650         (insv): Retain the zero_extract in the expansion.
7651
7652         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
7653         (bswaphi2, bitinvert, revw): Likewise.
7654
7655         * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
7656         (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
7657         * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
7658         (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
7659         (bitset, bitset_in_memory): Likewise.
7660         (bitinvert, bitinvert_in_memory): Likewise.
7661         (bitclr, bitclr_in_memory): Likewise.
7662         (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
7663         (rx_strend, rx_cmpstrn): Likewise.
7664         (rx_setmem): Likewise.  Make the source BLKmode to match the dest.
7665         (bitop peep2 patterns): Remove.
7666
7667         * config/rx/rx.c (rx_match_ccmode): New.
7668         * config/rx/rx-protos.h: Update.
7669         * config/rx/rx.md (abssi2): Clobber, don't set flags.
7670         (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
7671         (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
7672         (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
7673         (fix_truncsfsi2, floatsisf2): Likewise.
7674         (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
7675         (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
7676         (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
7677         (*subsi3_flags, *xorsi3_flags): New.
7678
7679         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
7680
7681         * config/rx/rx.c (rx_print_operand): Remove workaround for
7682         unsplit comparison operations.
7683
7684         * config/rx/rx.md (movsicc): Split after reload.
7685         (*movsicc): Merge *movsieq and *movsine via match_operator.
7686         (*stcc): New pattern.
7687
7688         * config/rx/rx.c (rx_float_compare_mode): Remove.
7689         * config/rx/rx.h (rx_float_compare_mode): Remove.
7690         * config/rx/rx.md (cstoresi4): Split after reload.
7691         (*sccc): New pattern.
7692
7693         * config/rx/predicates.md (label_ref_operand): New.
7694         (rx_z_comparison_operator): New.
7695         (rx_zs_comparison_operator): New.
7696         (rx_fp_comparison_operator): New.
7697         * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
7698         Validate that the flags are set properly for the comparison.
7699         (rx_gen_cond_branch_template): Remove.
7700         (rx_cc_modes_compatible): Remove.
7701         (mode_from_flags): New.
7702         (flags_from_code): Rename from flags_needed_for_conditional.
7703         (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
7704         (rx_select_cc_mode): Likewise.
7705         (rx_split_fp_compare): New.
7706         (rx_split_cbranch): New.
7707         * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
7708         (*cbranchsi4): Use match_operator and rx_split_cbranch.
7709         (*cbranchsf4): Similarly.
7710         (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
7711         match_operator and rx_split_cbranch.
7712         (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
7713         tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
7714         (*cmpsi): Rename from cmpsi.
7715         (*tstsi): Rename from tstsi.
7716         (*cmpsf): Rename from cmpsf; use CC_Fmode.
7717         (*conditional_branch): Rename from conditional_branch.
7718         (*reveresed_conditional_branch): Remove.
7719         (b<code>): Remove expander.
7720         * config/rx/rx-protos.h: Update.
7721
7722         * config/rx/rx.c (rx_compare_redundant): Remove.
7723         * config/rx/rx.md (cmpsi): Don't use it.
7724         * config/rx/rx-protos.h: Update.
7725
7726         * config/rx/rx-modes.def (CC_F): New mode.
7727         * config/rx/rx.c (rx_select_cc_mode): New.
7728         * config/rx/rx.h (SELECT_CC_MODE): Use it.
7729         * config/rx/rx-protos.h: Update.
7730
7731 2011-01-17  Richard Henderson  <rth@redhat.com>
7732
7733         * except.c (dump_eh_tree): Fix stray ; after for statement.
7734
7735 2011-01-17  Richard Guenther  <rguenther@suse.de>
7736
7737         PR tree-optimization/47313
7738         * tree-inline.c (tree_function_versioning): Move DECL_RESULT
7739         handling before copying the body.  Properly deal with
7740         by-reference result in SSA form.
7741
7742 2011-01-17  Ian Lance Taylor  <iant@google.com>
7743
7744         PR target/47219
7745         * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
7746         (struct_value_alias_set): Don't define.
7747         (sparc_option_override): Don't set sparc_sr_alias_set and
7748         struct_value_alias_set.
7749         (save_or_restore_regs): Use gen_frame_mem rather than calling
7750         set_mem_alias_set.
7751         (sparc_struct_value_rtx): Likewise.
7752
7753 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
7754
7755         PR target/47318
7756         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
7757         __m128i.
7758         (_mm_maskstore_pd): Likewise.
7759         (_mm_maskload_ps): Likewise.
7760         (_mm_maskstore_ps): Likewise.
7761         (_mm256_maskload_pd): Change mask to __m256i.
7762         (_mm256_maskstore_pd): Likewise.
7763         (_mm256_maskload_ps): Likewise.
7764         (_mm256_maskstore_ps): Likewise.
7765
7766         * config/i386/i386-builtin-types.def: Updated.
7767         (ix86_expand_special_args_builtin): Likewise.
7768
7769         * config/i386/i386.c (bdesc_special_args): Update
7770         __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
7771         __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
7772         __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
7773         __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
7774
7775         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
7776         Use <avxpermvecmode> on mask register.
7777         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
7778
7779 2011-01-17  Olivier Hainque  <hainque@adacore.com>
7780             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
7781             Eric Botcazou  <ebotcazou@adacore.com>
7782
7783         PR target/46655
7784         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
7785         if <= USHRT_MAX in 32-bit mode.
7786
7787 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7788
7789         * doc/install.texi (Configuration, Specific): Wrap long
7790         lines in examples.  Allow line wrapping in long options
7791         and URLs where beneficial for PDF output.
7792
7793 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
7794
7795         * config/mips/mips.c (mips_classify_symbol): Don't return
7796         SYMBOL_PC_RELATIVE for nonlocal labels.
7797
7798 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
7799
7800         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
7801
7802 2011-01-15  Jan Hubicka  <jh@suse.cz>
7803
7804         PR tree-optimization/47276
7805         * ipa.c (function_and_variable_visibility): Do not try to mark alias
7806         declarations as needed.
7807
7808 2011-01-15  Martin Jambor  <mjambor@suse.cz>
7809
7810         * common.opt (fdevirtualize): New flag.
7811         * doc/invoke.texi (Option Summary): Document it.
7812         * opts.c (default_options_table): Add devirtualize flag.
7813         * ipa-prop.c (detect_type_change): Return immediately if
7814         devirtualize flag is not set.
7815         (detect_type_change_ssa): Likewise.
7816         (compute_known_type_jump_func): Likewise.
7817         (ipa_analyze_virtual_call_uses): Likewise.
7818
7819 2011-01-14  Martin Jambor  <mjambor@suse.cz>
7820
7821         PR tree-optimization/45934
7822         PR tree-optimization/46302
7823         * ipa-prop.c (type_change_info): New type.
7824         (stmt_may_be_vtbl_ptr_store): New function.
7825         (check_stmt_for_type_change): Likewise.
7826         (detect_type_change): Likewise.
7827         (detect_type_change_ssa): Likewise.
7828         (compute_complex_assign_jump_func): Check for dynamic type change.
7829         (compute_complex_ancestor_jump_func): Likewise.
7830         (compute_known_type_jump_func): Likewise.
7831         (compute_scalar_jump_functions): Likewise.
7832         (ipa_analyze_virtual_call_uses): Likewise.
7833         (ipa_analyze_node): Push and pop cfun, set current_function_decl.
7834
7835 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7836
7837         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
7838         * config/i386/i386.opt (msse5): New Alias.
7839
7840 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7841
7842         * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
7843         * config/sparc/linux64.h (CC1_SPEC): Likewise.
7844         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
7845         * config/sparc/sparc.h (CC1_SPEC): Likewise.
7846
7847 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7848
7849         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
7850         -mcpu options.
7851         * config/sparc/linux64.h (CC1_SPEC): Likewise.
7852         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
7853         * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
7854         * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
7855         Likewise.
7856         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
7857
7858 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7859
7860         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
7861
7862 2011-01-14  Mike Stump  <mikestump@comcast.net>
7863
7864         * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
7865         * config/fr30/fr30.md: Likweise
7866         (movsi_push): Likewise.
7867         (movsi_pop): Likewise.
7868         (enter_func): Likewise.
7869         * config/moxie/moxie.md (movsi_push): Likewise.
7870         (movsi_pop): Likewise.
7871
7872 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7873
7874         * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
7875         %{no_archive} %{exact_version}.
7876         * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
7877         * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
7878         %{no_archive} %{exact_version}.
7879         * config/mips/openbsd.h (LINK_SPEC): Likewise.
7880         * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
7881         * config/mips/vxworks.h: Likewise.
7882
7883 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7884
7885         * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
7886
7887 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7888
7889         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
7890         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
7891
7892 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7893
7894         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
7895         -nodefaultlib.
7896
7897 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7898
7899         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
7900         for mcpu not cpu.
7901         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
7902         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
7903         not cpu.
7904         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
7905         Don't handle -shlib.
7906
7907 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7908
7909         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
7910         (CC1_SPEC): Don't handle -profile.
7911
7912 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7913
7914         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
7915         * config/mips/mips.h (CC1_SPEC): Likewise.
7916
7917 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7918
7919         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
7920         * config/mips/mips.h (CC1_SPEC): Likewise.
7921
7922 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7923
7924         * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
7925         * config/m32r/linux.h (LINK_SPEC): Likewise.
7926         * config/mips/linux.h (LINK_SPEC): Likewise.
7927         * config/mips/linux64.h (LINK_SPEC): Likewise.
7928         * config/sparc/linux.h (LINK_SPEC): Likewise.
7929         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
7930         LINK_SPEC): Likewise.
7931         * config/xtensa/linux.h (LINK_SPEC): Likewise.
7932
7933 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7934
7935         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
7936         %{version:-v}.
7937         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
7938
7939 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7940
7941         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
7942         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
7943
7944 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
7945
7946         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
7947
7948 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7949
7950         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
7951         supports -Bstatic/-Bdynamic.
7952         * configure: Regenerate.
7953
7954 2011-01-14  Jan Hubicka  <jh@suse.cz>
7955             Jack Howarth  <howarth@bromo.med.uc.edu>
7956
7957         PR target/46037
7958         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
7959         when checking debug_info_level. Test write_symbols instead of
7960         debug_hooks->var_location when setting flag_var_tracking_uninit.
7961
7962 2011-01-14  Richard Guenther  <rguenther@suse.de>
7963
7964         PR tree-optimization/47179
7965         * target.def (ref_may_alias_errno): New target hook.
7966         * targhooks.h (default_ref_may_alias_errno): Declare.
7967         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
7968         (default_ref_may_alias_errno): New function.
7969         * target.h (struct ao_ref_s): Declare.
7970         * tree-ssa-alias.c: Include target.h.
7971         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
7972         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
7973         (targhooks.o): Likewise.
7974         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
7975         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
7976
7977 2011-01-14  Richard Guenther  <rguenther@suse.de>
7978
7979         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
7980
7981 2011-01-14  Richard Guenther  <rguenther@suse.de>
7982
7983         PR tree-optimization/47280
7984         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
7985         return CFG changes.
7986         (tree_ssa_forward_propagate_single_use_vars): Deal with
7987         CFG changes from associate_plusminus.
7988
7989 2011-01-14  Richard Guenther  <rguenther@suse.de>
7990
7991         PR middle-end/47281
7992         Revert
7993         2011-01-11  Richard Guenther  <rguenther@suse.de>
7994
7995         PR tree-optimization/46076
7996         * tree-ssa.c (useless_type_conversion_p): Conversions from
7997         unprototyped to empty argument list function types are useless.
7998
7999 2011-01-14  Richard Guenther  <rguenther@suse.de>
8000
8001         PR tree-optimization/47286
8002         * tree-ssa-structalias.c (new_var_info): Register variables are global.
8003
8004 2011-01-14  Martin Jambor  <mjambor@suse.cz>
8005
8006         PR middle-end/46823
8007         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
8008
8009 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
8010
8011         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
8012         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
8013         * config/xtensa/xtensa.c (xtensa_libcall_value,
8014         xtensa_function_value_regno_p): New functions.
8015         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
8016
8017 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
8018
8019         PR c++/47213
8020         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
8021         PE specific hook.
8022         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
8023         New function prototype.
8024         * config/i386/winnt.c (i386_pe_assemble_visibility):
8025         Warn only if attribute was specified by user.
8026
8027 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
8028
8029         PR target/47251
8030         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
8031         floating point.
8032         (floatunsdidf2_fcfidu): Ditto.
8033
8034 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
8035
8036         * config/s390/s390.c (print_operand_address): Replace 'error' with
8037         'output_operand_lossage'.
8038         (print_operand): Likewise.
8039
8040 2011-01-13  Jeff Law  <law@redhat.com>
8041
8042         PR rtl-optimization/39077
8043         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
8044         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
8045         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
8046         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
8047         * gcse.c (prune_insertions_deletions): New function.
8048         (compute_pre_data): Use it.
8049
8050 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
8051
8052         PR debug/PR46973
8053         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
8054         static function.
8055         (prune_unused_types_mark): Use it.
8056
8057 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
8058
8059         PR rtl-optimization/45352
8060         * sel-sched.c: Update copyright years.
8061         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
8062         in the advancing loop when we have issued issue_rate insns.
8063
8064 2011-01-12  Richard Henderson  <rth@redhat.com>
8065
8066         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
8067         (TARGET_MD_ASM_CLOBBERS): New.
8068
8069         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
8070         (TARGET_DELEGITIMIZE_ADDRESS): New.
8071
8072         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
8073         (clzsi2, *bsch): New patterns.
8074
8075         * config/mn10300/mn10300.md (INT): New mode iterator.
8076         (*mov<INT>_clr): New pattern, and peep2 to generate it.
8077
8078         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
8079         flag_split_wide_types.
8080
8081         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
8082         (mn10300_trampoline_init): Rewrite without a template, an immediate
8083         load and a direct branch.
8084         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
8085
8086 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
8087
8088         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
8089         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
8090         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
8091         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
8092
8093 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
8094
8095         PR debug/47209
8096         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
8097         of type.
8098
8099 2011-01-12  Jan Hubicka  <jh@suse.cz>
8100
8101         PR driver/47244
8102         * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
8103         (PLUGIN_COND_CLOSE): New macro.
8104         (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
8105
8106 2011-01-12  Richard Guenther  <rguenther@suse.de>
8107
8108         PR lto/47259
8109         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
8110         register variables in a MEM_REF.
8111
8112 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
8113
8114         * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
8115         crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
8116         hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
8117         i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
8118         i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
8119         x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
8120         ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
8121         m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
8122         mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
8123         s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
8124         sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
8125         am33_2.0-*-linux*): Use gnu-user.h before linux.h.
8126         * config/gnu-user.h: New.  Copied from linux.h.
8127         (LINUX_TARGET_STARTFILE_SPEC): Rename to
8128         GNU_USER_TARGET_STARTFILE_SPEC.
8129         (LINUX_TARGET_ENDFILE_SPEC): Rename to
8130         GNU_USER_TARGET_ENDFILE_SPEC.
8131         (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
8132         (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
8133         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
8134         LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
8135         CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
8136         UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
8137         BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
8138         BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
8139         LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
8140         TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
8141         * config/arm/linux-eabi.h (CC1_SPEC): Use
8142         GNU_USER_TARGET_CC1_SPEC.
8143         (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
8144         (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
8145         (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
8146         * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
8147         LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
8148         LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
8149         CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
8150         LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
8151
8152 2011-01-12  Richard Guenther  <rguenther@suse.de>
8153
8154         PR other/46946
8155         * doc/invoke.texi (ffast-math): Document it is turned on
8156         with -Ofast.
8157
8158 2011-01-12  Jan Hubicka  <jh@suse.cz>
8159
8160         PR tree-optimization/47233
8161         * opts.c (common_handle_option): Disable ipa-reference with profile
8162         feedback.
8163
8164 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
8165
8166         * c-parser.c (c_parser_objc_at_property_declaration): Improved
8167         error message.
8168
8169 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
8170
8171         * c-parser.c (c_lex_one_token): Updated and reindented some
8172         comments.  No changes in code.
8173
8174 2011-01-11  Ian Lance Taylor  <iant@google.com>
8175
8176         * godump.c (go_output_var): Don't output the variable if there is
8177         already a type with the same name.
8178
8179 2011-01-11  Ian Lance Taylor  <iant@google.com>
8180
8181         * godump.c (go_format_type): Don't generate float80.
8182
8183 2011-01-11  Richard Henderson  <rth@redhat.com>
8184
8185         * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
8186         declaration.  Rewrite for both speed and size.
8187         (mn10300_address_cost_1): Remove.
8188         (mn10300_register_move_cost): New.
8189         (mn10300_memory_move_cost): New.
8190         (mn10300_rtx_costs): Rewrite for both speed and size.  Don't handle
8191         ZERO_EXTRACT.  Do handle UNSPEC, arithmetic, logicals, compare,
8192         extensions, shifts, BSWAP, CLZ.
8193         (mn10300_wide_const_load_uses_clr): Remove.
8194         (TARGET_REGISTER_MOVE_COST): New.
8195         (TARGET_MEMORY_MOVE_COST): New.
8196         * config/mn10300/mn10300-protos.h: Update.
8197         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
8198
8199         * config/mn10300/constraints.md ("R", "T"): Remove constraints.
8200         * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
8201         * config/mn10300/mn10300-protos.h: Update.
8202         * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
8203         (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
8204         (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
8205         (*test_int_bitfield, *test_byte_bitfield): Remove.
8206         (*bit_test, *subreg_bit_test): Remove.
8207         * config/mn10300/predicates.md (const_8bit_operand): Remove.
8208
8209         * config/mn10300/constraints.md ("c"): Rename from "A".
8210         ("A", "D"): New constraint letters.
8211         * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
8212         (fmssf4, fnmasf4, fnmssf4): Likewise.
8213
8214         * config/mn10300/mn10300.md (isa): New attribute.
8215         (enabled): New attribute.
8216
8217         * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
8218         (abssf2, negsf2): Define only for hardware fp.
8219         (sqrtsf2): Reformat.
8220         (addsf3, subsf3, mulsf3): Merge expander and insn.
8221
8222         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
8223         (DEBUGGER_AUTO_OFFSET): Remove.
8224         (DEBUGGER_ARG_OFFSET): Remove.
8225
8226         * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
8227         Emit register stores with the same offsets as the hardware.
8228         (mn10300_store_multiple_operation): Don't check that the register
8229         save offsets are monotonic.
8230         * config/mn10300/mn10300-protos.h: Update.
8231
8232         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
8233
8234         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
8235         in terms of the value on the stack, not the MDR register.
8236
8237 2011-01-11  Jan Hubicka  <jh@suse.cz>
8238
8239         PR lto/45721
8240         PR lto/45375
8241         * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
8242         (symbol_alias_set_destroy, symbol_alias_set_contains,
8243         propagate_aliases_backward): Declare.
8244         * lto-streamer-out.c (struct sets): New sturcture.
8245         (trivally_defined_alias): New function.
8246         (output_alias_pair_p): Rewrite.
8247         (output_unreferenced_globals): Fix output of alias pairs.
8248         (produce_symtab): Likewise.
8249         * ipa.c (function_and_variable_visibility): Set weak alias destination
8250         as needed in lto.
8251         * varasm.c (symbol_alias_set_t): Remove.
8252         (symbol_alias_set_destroy): Export.
8253         (propagate_aliases_forward, propagate_aliases_backward): New functions
8254         based on ...
8255         (compute_visible_aliases): ... this one; remove.
8256         (trivially_visible_alias): New
8257         (trivially_defined_alias): New.
8258         (remove_unreachable_alias_pairs): Rewrite.
8259         (finish_aliases_1): Reorganize code checking if alias is defined.
8260         * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
8261         in LTO mode.
8262
8263 2011-01-11  Richard Guenther  <rguenther@suse.de>
8264
8265         PR tree-optimization/46076
8266         * tree-ssa.c (useless_type_conversion_p): Conversions from
8267         unprototyped to empty argument list function types are useless.
8268
8269 2011-01-11  Richard Guenther  <rguenther@suse.de>
8270
8271         PR middle-end/45235
8272         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
8273         volatile MEMs as MEM_READONLY_P.
8274
8275 2011-01-11  Richard Guenther  <rguenther@suse.de>
8276
8277         PR tree-optimization/47239
8278         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
8279
8280 2011-01-11  Jeff Law  <law@redhat.com>
8281
8282         PR tree-optimization/47086
8283         * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
8284         IVs from statements that might throw.
8285
8286 2011-01-10  Jan Hubicka  <jh@suse.cz>
8287
8288         PR lto/45375
8289         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
8290
8291 2011-01-10  Jan Hubicka  <jh@suse.cz>
8292
8293         PR lto/45375
8294         * profile.c (read_profile_edge_counts): Ignore profile inconistency
8295         when correcting profile.
8296
8297 2011-01-10  Jan Hubicka  <jh@suse.cz>
8298
8299         PR lto/46083
8300         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
8301         DECL_FINI_PRIORITY.
8302         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
8303         Restore DECL_FINI_PRIORITY.
8304
8305 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8306
8307         * doc/gimple.texi: Fix quoting of multi-word return values in
8308         @deftypefn statements.  Ensure presence of return value.  Wrap
8309         overlong @deftypefn lines.
8310         (is_gimple_operand, is_gimple_min_invariant_address): Remove
8311         descriptions of removed functions.
8312         * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
8313         of multi-word return value in @deftypefn statement.
8314
8315 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8316
8317         * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
8318         (Conditional Expressions, Logical Operators)
8319         (Statement and operand traversals): Do not indent smallexample
8320         code.  Fix duplicate function argument in example.
8321
8322 2011-01-10  Jeff Law  <law@redhat.com>
8323
8324         PR tree-optimization/47141
8325         * ipa-split.c (split_function): Handle case where we are
8326         returning a value and the return block has a virtual operand phi.
8327
8328 2011-01-10  Jan Hubicka  <jh@suse.cz>
8329
8330         PR tree-optimization/47234
8331         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
8332         (pass_feedback_split_functions): Declare.
8333         * passes.c (init_optimization_passes): Add ipa-split as subpass of
8334         tree-profile.
8335         * ipa-split.c (gate_split_functions): Update comments; disable
8336         split-functions for profile_arc_flag and branch_probabilities.
8337         (gate_feedback_split_functions): New function.
8338         (execute_feedback_split_functions): New function.
8339         (pass_feedback_split_functions): New global var.
8340
8341 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
8342
8343         PR lto/46760
8344         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
8345         calling gimple_call_set_cannot_inline.
8346
8347 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
8348
8349         * config/darwin-sections.def: Remove unused section.
8350
8351 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
8352
8353         PR c++/47218
8354         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
8355
8356 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
8357
8358         PR objc/47232
8359         * c-parser.c (c_parser_declaration_or_fndef): Improved
8360         error message.
8361
8362 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
8363
8364         * config/i386/winnt.c (i386_pe_start_function): Make sure
8365         to switch back to function's section.
8366
8367 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
8368
8369         PR gcc/46902
8370         PR testsuite/46912
8371         * plugin.c: Move include of dlfcn.h from here...
8372         * system.h: ... to here.
8373
8374 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8375
8376         * doc/cpp.texi (C++ Named Operators): Fix markup for header
8377         file name.
8378         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
8379         two extra empty pages in PDF output.
8380
8381 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
8382
8383         PR objc/47078
8384         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
8385         for error recovery purposes behave as if it was not specified so
8386         that the default type is usd.
8387
8388 2011-01-07  Jan Hubicka  <jh@suse.cz>
8389
8390         PR tree-optmization/46469
8391         * ipa.c (function_and_variable_visibility): Clear needed flags on
8392         nodes with external decls; handle weakrefs merging correctly.
8393
8394 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
8395
8396         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
8397         not false.
8398
8399 2011-01-07  Jan Hubicka  <jh@suse.cz>
8400
8401         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
8402         and no longer claim that gold is required for linker plugin.
8403         * configure: Regenerate.
8404         * gcc.c (PLUGIN_COND): New macro.
8405         (LINK_COMMAND_SPEC): Use it.
8406         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
8407         * config.in (HAVE_LTO_PLUGIN): New.
8408         * configure.ac (--with-lto-plugin): New parameter; autodetect
8409         HAVE_LTO_PLUGIN.
8410
8411 2011-01-07  Jan Hubicka  <jh@suse.cz>
8412
8413         PR tree-optimization/46367
8414         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
8415         when we can update original.
8416         (cgraph_mark_inline_edge): Sanity check.
8417         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
8418
8419 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
8420
8421         * config/spu/spu.h (ASM_COMMENT_START): Define.
8422
8423 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
8424
8425         PR driver/42445
8426         * gcc.c (%>S): New.
8427         (SWITCH_KEEP_FOR_GCC): Likewise.
8428         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
8429         (do_spec_1): Handle "%>".
8430
8431         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
8432
8433 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
8434
8435         PR target/47201
8436         * config/i386/i386.c (ix86_delegitimize_address): If
8437         simplify_gen_subreg fails, return orig_x.
8438
8439         PR bootstrap/47187
8440         * value-prof.c (gimple_stringop_fixed_value): Handle
8441         lhs of the call properly.
8442
8443 2011-01-07  Jan Hubicka  <jh@suse.cz>
8444
8445         PR lto/45375
8446         * lto-opt.c (lto_reissue_options): Set flag_shlib.
8447
8448 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
8449
8450         * target.def (function_switched_text_sections): New hook.
8451         * doc/tm.texi: Regenerated.
8452         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
8453         * final.c (default_function_switched_text_sections): New.
8454         (final_scan_insn): Call function_switched_text_sections when a
8455         mid-function section change occurs.
8456         * output.h (default_function_switched_text_sections): Declare.
8457         * config/darwin-protos.h (darwin_function_switched_text_sections):
8458         Likewise.
8459         * config/darwin.c (darwin_function_switched_text_sections): New.
8460         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
8461
8462 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
8463
8464         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
8465         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
8466         the secondary code fragment when outputting for DWARF == 2.
8467
8468 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
8469
8470         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
8471         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
8472         Remove.
8473         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
8474         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
8475
8476 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
8477
8478         PR debug/46704
8479         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
8480         when it is not empty.
8481
8482 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
8483
8484         Bobcat Enablement
8485         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
8486         (case ${target}): Add btver1.
8487         * config/i386/driver-i386.c (host_detect_local_cpu): Let
8488         -march=native recognize btver1 processors.
8489         * config/i386/i386-c.c (ix86_target_macros_internal): Add
8490         btver1 def_and_undef
8491         * config/i386/i386.c (struct processor_costs btver1_cost): New
8492         btver1 cost table.
8493         (m_BTVER1): New definition.
8494         (m_AMD_MULTIPLE): Includes m_BTVER1.
8495         (initial_ix86_tune_features): Add btver1 tune.
8496         (processor_target_table): Add btver1 entry.
8497         (static const char *const cpu_names): Add btver1 entry.
8498         (software_prefetching_beneficial_p): Add btver1.
8499         (ix86_option_override_internal): Add btver1 instruction sets.
8500         (ix86_issue_rate): Add btver1.
8501         (ix86_adjust_cost): Add btver1.
8502         * config/i386/i386.h (TARGET_BTVER1): New definition.
8503         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
8504         (enum processor_type): Add PROCESSOR_BTVER1.
8505         * config/i386/i386.md (define_attr "cpu"): Add btver1.
8506
8507 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8508
8509         PR target/43309
8510         * config/i386/i386.c (legitimize_tls_address)
8511         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
8512         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
8513         (tls_initial_exec_64_sun): New pattern.
8514
8515 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
8516
8517         * doc/invoke.texi (Overall Options): Improve wording and markup
8518         of the description of -wrapper.
8519
8520 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
8521
8522         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
8523         rdynamic, threads): New Driver options.
8524
8525 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8526
8527         PR target/38118
8528         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
8529         if coming from .tdata.
8530         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
8531
8532 2011-01-06  Jan Hubicka  <jh@suse.cz>
8533
8534         PR lto/47188
8535         * collect2.c (main): Do not enable LTOmode when plugin is active.
8536
8537 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8538
8539         PR other/45915
8540         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
8541         --version output if supported.
8542         * configure: Regenerate.
8543
8544 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
8545
8546         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
8547         Driver options.
8548
8549 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
8550
8551         PR c/47150
8552         * c-convert.c (convert): When converting a complex expression
8553         other than COMPLEX_EXPR to a different complex type, ensure
8554         c_save_expr is called instead of save_expr, unless in_late_binary_op.
8555         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
8556         when converting COMPLEX_TYPE.
8557
8558 2011-01-06  Ira Rosen  <irar@il.ibm.com>
8559
8560         PR tree-optimization/47139
8561         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
8562         only the last reduction value is used outside the loop.  Update
8563         documentation.
8564
8565 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
8566
8567         * config/rtems.opt: New.
8568         * config.gcc (*-*-rtems*): Use rtems.opt.
8569
8570 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
8571
8572         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
8573         processors do not support 3DNow instructions.
8574
8575 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
8576
8577         * config/spu/spu.c (spu_option_override): Set parameter
8578         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
8579
8580 2011-01-05  Jan Hubicka  <jh@suse.cz>
8581
8582         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
8583         at the command line.
8584
8585 2011-01-05  Martin Jambor  <mjambor@suse.cz>
8586
8587         PR lto/47162
8588         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
8589         deltas on streamed outgoing edges.
8590         (output_node_opt_summary): Output info for outgoing edges only when
8591         the node is in new parameter set.
8592         (output_cgraph_opt_summary): New parameter set, passed to the two
8593         aforementioned functions.  Update its forward declaration and its
8594         callee too.
8595
8596 2011-01-05  Tom Tromey  <tromey@redhat.com>
8597
8598         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
8599         operator to c_finish_omp_atomic.
8600         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
8601         (build_unary_op): Update.
8602         (build_modify_expr): Update.
8603         (build_asm_expr): Update.
8604
8605 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
8606
8607         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
8608         newly inserted insns.
8609         (pad_bb): Likewise.
8610         (spu_emit_branch_hint): Likewise.
8611         (insert_hbrp_for_ilb_runout): Likewise.
8612         (spu_machine_dependent_reorg): Call df_finish_pass after
8613         schedule_insns returns.
8614
8615 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
8616
8617         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
8618
8619 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
8620
8621         PR tree-optimization/47005
8622         * tree-sra.c (struct access): Add 'non_addressable' bit.
8623         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
8624         (decide_one_param_reduction): Return 0 if the parameter is passed by
8625         reference and one of the accesses in the group is non_addressable.
8626
8627 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
8628
8629         PR tree-optimization/47056
8630         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
8631         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
8632         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
8633
8634 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
8635
8636         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
8637         initializer.  Skip view conversions from aggregate types.
8638
8639 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
8640
8641         PR bootstrap/47055
8642         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
8643
8644 2011-01-04  Philipp Thomas  <pth@suse.de>
8645
8646         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
8647         obvious typo.
8648
8649 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
8650
8651         * function.c (thread_prologue_and_epilogue_insns): Do not crash
8652         on empty epilogue sequences.
8653
8654 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
8655
8656         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
8657         non-static): New Driver options.
8658
8659 2011-01-04  Jie Zhang  <jie@codesourcery.com>
8660
8661         PR driver/47137
8662         * gcc.c (default_compilers[]): Set combinable field to 0
8663         for all assembly languages.
8664
8665 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
8666
8667         * config/mips/loongson3a.md: New file.
8668         * config/mips/mips.md: Include loongson3a.md.
8669         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
8670         TUNE_LOONGSON_3A.
8671
8672 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
8673
8674         PR middle-end/47017
8675         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
8676         instead of convert_memory_address_addr_space on the base expression.
8677
8678 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
8679
8680         * config/spu/spu.c (spu_option_override): Update error text
8681         for bad -march= / -mtune= values.
8682
8683 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
8684
8685         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
8686         if branch-hint optimization will be performed.
8687
8688 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
8689
8690         PR tree-optimization/47148
8691         * ipa-split.c (split_function): Convert arguments to
8692         DECL_ARG_TYPE if possible.
8693
8694         PR tree-optimization/47155
8695         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
8696         when computing uns.
8697
8698         PR rtl-optimization/47157
8699         * combine.c (try_combine): If undobuf.other_insn becomes
8700         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
8701         and set *new_direct_jump_p too.
8702
8703 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
8704
8705         PR tree-optimization/47021
8706         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
8707
8708 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
8709
8710         * gcc.c (process_command): Update copyright notice dates.
8711         * gcov.c (print_version): Likewise.
8712         * gcov-dump.c (print_version): Likewise.
8713         * mips-tfile.c (main): Likewise.
8714         * mips-tdump.c (main): Likewise.
8715
8716 2011-01-03  Martin Jambor  <mjambor@suse.cz>
8717
8718         PR tree-optimization/46801
8719         * tree-sra.c (type_internals_preclude_sra_p): Check whether
8720         aggregate fields start at byte boundary instead of the bit-field flag.
8721
8722 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
8723
8724         PR driver/47137
8725         * gcc.c (main): Revert revision 168407.
8726
8727 2011-01-03  Martin Jambor  <mjambor@suse.cz>
8728
8729         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
8730
8731 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
8732
8733         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
8734         vector optab to expand vector/scalar shift, update gimple to vector.
8735
8736 2011-01-03  Martin Jambor  <mjambor@suse.cz>
8737
8738         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
8739         a thunk.
8740
8741 2011-01-03  Martin Jambor  <mjambor@suse.cz>
8742
8743         PR tree-optimization/46984
8744         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
8745         HOST_WIDE_INT.
8746         (cgraph_create_indirect_edge): Fixed line length.
8747         (cgraph_indirect_call_info): Declare.
8748         (cgraph_make_edge_direct) Update declaration.
8749         * cgraph.c (cgraph_allocate_init_indirect_info): New function.
8750         (cgraph_create_indirect_edge): Use it.
8751         (cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
8752         callees.
8753         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
8754         the new thunk_delta representation.
8755         * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
8756         HOST_WIDE_INT.
8757         (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
8758         (ipa_read_indirect_edge_info): Likewise.
8759         * lto-cgraph.c (output_edge_opt_summary): New function.
8760         (output_node_opt_summary): Call it on all outgoing edges.
8761         (input_edge_opt_summary): New function.
8762         (input_node_opt_summary): Call it on all outgoing edges.
8763
8764 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
8765
8766         PR driver/47137
8767         * gcc.c (main): Don't check have_o when settting combine_inputs.
8768
8769 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
8770
8771         * regrename.c: Add general comment describing the pass.
8772         (struct du_head): Remove 'length' field.
8773         (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
8774         (regrename_optimize): Do not sort chains.  Rework comments, add others.
8775         Force renaming to the preferred class (if any) in the first pass and do
8776         not consider registers that belong to it in the second pass.
8777         (create_new_chain): Do not set 'length' field.
8778         (scan_rtx_reg): Likewise.
8779
8780 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
8781
8782         PR tree-optimization/47140
8783         * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
8784         TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
8785         to bit_value_binop.
8786
8787         PR rtl-optimization/47028
8788         * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
8789         parm_birth_insn instead of at the beginning of first bb.
8790
8791 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
8792
8793         * doc/generic.texi: Remove duplicated "@subsubsection Statements".
8794         Remove the word "see" before "@pxref".
8795         * doc/rtl.texi: Remove the word "see" before "@pxref".
8796
8797 2011-01-01  Jan Hubicka  <jh@suse.cz>
8798
8799         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
8800         memory.
8801
8802 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
8803
8804         PR target/38662
8805         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
8806
8807 \f
8808 Copyright (C) 2011 Free Software Foundation, Inc.
8809
8810 Copying and distribution of this file, with or without modification,
8811 are permitted in any medium without royalty provided the copyright
8812 notice and this notice are preserved.