OSDN Git Service

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