OSDN Git Service

PR rtl-optimization/47763
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-02-23  Jie Zhang  <jie@codesourcery.com>
2
3         PR rtl-optimization/47763
4         * web.c (web_main): Ignore naked clobber when replacing register.
5
6 2011-02-22  Anatoly Sokolov  <aesok@post.ru>
7
8         * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
9         Remove.
10
11 2011-02-22  Sebastian Pop  <sebastian.pop@amd.com>
12
13         PR doc/47848
14         * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
15
16 2011-02-22  Mike Stump  <mikestump@comcast.net>
17
18         * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
19         assembler.
20         * configure: Regenerate.
21
22 2011-02-21  Chung-Lin Tang  <cltang@codesourcery.com>
23
24         PR rtl-optimization/46002
25         * ira-color.c (update_copy_costs): Change class intersection
26         test to reg_class_contents[] test of 'hard_regno'.
27
28 2011-02-21  Joseph Myers  <joseph@codesourcery.com>
29
30         * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
31         than Driver option.
32         * config/hpux11.opt (mt): Likewise.
33         * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
34         * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
35         * config/vax/elf.opt (mno-asm-pic): Likewise.
36         * config/vms/vms.opt (map, mvms-return-codes): Likewise.
37
38 2011-02-21  Mike Stump  <mikestump@comcast.net>
39
40         PR target/47822
41         * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
42         tree so we can get save the type.
43         * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
44         for CFString instead of trying to use past the end of the builtins.
45         * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
46         * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
47         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
48         * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
49         Rename to darwin_builtin_cfstring.
50         (darwin_init_cfstring_builtins): Return the built type.
51
52 2011-02-21  Uros Bizjak  <ubizjak@gmail.com>
53
54         PR target/47840
55         * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
56         (_mm256_insert_epi64): Use _mm_insert_epi64.
57
58 2011-02-21  Anatoly Sokolov  <aesok@post.ru>
59
60         * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
61         * config/stormy16/stormy16-protos.h
62         (xstormy16_mode_dependent_address_p): Remove.
63         * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
64         Make static. Change return type to bool. Change argument type to
65         const_rtx. Remove dead code.
66         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
67
68 2011-02-21  Richard Guenther  <rguenther@suse.de>
69
70         PR lto/47820
71         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
72         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
73         (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
74         TUs context.
75         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
76         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
77
78 2011-02-20  Richard Guenther  <rguenther@suse.de>
79
80         PR lto/47822
81         * tree.c (free_lang_data_in_decl): Clean builtins from
82         the TU decl BLOCK_VARS.
83
84 2011-02-19  Alexandre Oliva  <aoliva@redhat.com>
85
86         PR debug/47620
87         PR debug/47630
88         * haifa-sched.c (fix_tick_ready): Skip tick computation
89         for debug insns.
90
91 2011-02-19  Richard Guenther  <rguenther@suse.de>
92
93         PR lto/47647
94         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
95         Remove lazy BLOCK_VARS streaming.
96         (lto_input_ts_block_tree_pointers): Likewise.
97         * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
98
99 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
100
101         * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
102
103 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
104
105         * config/i386/biarch32.h, config/i386/mach.h,
106         config/rs6000/aix.opt, config/sh/superh64.h: Remove.
107
108 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
109
110         PR target/47800
111         * config/i386/i386.md (peephole2 for shift and plus): Use
112         operands[1] original mode in the first insn.
113
114 2011-02-18  Mike Stump  <mikestump@comcast.net>
115
116         * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
117
118 2011-02-18  Jan Hubicka  <jh@suse.cz>
119
120         PR middle-end/47788
121         * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
122         to zero when the function is not inlinable at all.
123
124 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
125
126         * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
127         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
128         pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
129         * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
130         * config/pa/t-pa64: Likewise.
131         * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
132
133 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
134
135         PR driver/47787
136         * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
137
138 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
139
140         PR target/47792
141         * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
142
143 2011-02-18  Anatoly Sokolov  <aesok@post.ru>
144
145         * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
146         RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
147         LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
148         GO_IF_LEGITIMATE_ADDRESS): Remove macros.
149         * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
150         (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
151         m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
152         m32r_load_postinc_p, m32r_store_preinc_predec_p,
153         m32r_legitimate_address_p): New functions.
154         * config/m32r/constraints.md (constraint "S"): Don't use
155         STORE_PREINC_PREDEC_P.
156         (constraint "U"): Don't use LOAD_POSTINC_P.
157
158 2011-02-18  Chung-Lin Tang  <cltang@codesourcery.com>
159
160         PR rtl-optimization/46178
161         * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
162         compute ira_hard_regno_cover_class[].
163
164 2011-02-18  Richard Guenther  <rguenther@suse.de>
165
166         PR lto/47798
167         * lto-streamer.h (lto_global_var_decls): Declare.
168         * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
169         statics for global var processing.
170
171 2011-02-18  Richard Guenther  <rguenther@suse.de>
172
173         PR tree-optimization/47737
174         * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
175         edge dominance check.
176
177 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
178
179         PR debug/47780
180         * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
181         avoid invalid rtx sharing.
182
183 2011-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
184
185         * doc/cpp.texi (Obsolete Features): Add background on the
186         origin of assertions.
187
188 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
189
190         * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
191         objc_abi == 2.
192         * config/darwin.c (output_objc_section_asm_op): Added support for
193         ABI v1 and v2.
194         (is_objc_metadata): New.
195         (darwin_objc2_section): New.
196         (darwin_objc1_section): New.
197         (machopic_select_section): Added support for ABI v1 and v2.
198         (darwin_emit_objc_zeroed): New.
199         (darwin_output_aligned_bss): Detect objc metadata and treat it
200         appropriately.
201         (darwin_asm_output_aligned_decl_common): Same.
202         (darwin_asm_output_aligned_decl_local): Same.
203         * config/darwin-sections.def: Updated for ABI v1 and v2.
204         * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
205         compiling Objective-C code for the NeXT runtime, default to using
206         ABI version 0 for 32-bit, and version 2 for 64-bit.
207
208 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
209
210         * common.opt (optimize_fast): New Variable.
211         * opts.c (default_options_optimization): Use opts->x_optimize_fast
212         instead of local variable ofast.
213
214 2011-02-17  Nicola Pero  <nicola.pero@meta-innovation.com>
215
216         * doc/invoke.texi (fobjc-abi-version): Documented.
217         (fobjc-nilcheck): Documented.
218         (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
219         version.
220
221 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
222
223         PR driver/47390
224         * common.opt (export-dynamic): New Driver option.
225         * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
226
227 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
228
229         * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
230
231 2011-02-17  Alexandre Oliva  <aoliva@redhat.com>
232             Jan Hubicka  <jh@suse.cz>
233
234         PR debug/47106
235         PR debug/47402
236         * cfgexpand.c (account_used_vars_for_block): Remove.
237         (estimated_stack_frame_size): Use referenced vars.
238         * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
239         that were referenced in the original function.  Test src_fn
240         rather than cfun.  Drop redundant get_var_ann.
241         (setup_one_parameter): Drop redundant get_var_ann.
242         (declare_return_variable): Likewise.
243         (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
244         (copy_arguments_for_versioning): Drop redundant get_var_ann.
245         * ipa-inline.c (compute_inline_parameters): Do not compute
246         disregard_inline_limits here.
247         (compute_inlinable_for_current, pass_inlinable): New.
248         (pass_inline_parameters): Require PROP_referenced_vars.
249         * cgraphunit.c (cgraph_process_new_functions): Don't run
250         compute_inline_parameters explicitly unless function is in SSA form.
251         (cgraph_analyze_function): Set .disregard_inline_limits.
252         * tree-sra.c (convert_callers): Compute inliner parameters
253         only for functions already in SSA form.
254
255 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
256
257         * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
258         -mlittle-endian-data.
259
260 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
261
262         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
263         -mno-fpu, not -fpu and -no-fpu.
264         * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
265         * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
266
267 2011-02-17  Uros Bizjak  <ubizjak@gmail.com>
268
269         PR target/43653
270         * config/i386/i386.c (ix86_secondary_reload): Handle SSE
271         input reload with PLUS RTX.
272
273 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
274
275         * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
276         of InverseVar(MDMX).
277
278 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
279
280         * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
281         --m4-340.
282
283 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
284
285         * config/mn10300/mn10300.opt (mno-crt0): New.
286
287 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
288
289         * config/m68k/uclinux.opt (static-libc): New Driver option.
290
291 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
292
293         * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
294
295 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
296
297         * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
298         %{muser-extend-enabled}.
299
300 2011-02-16  Richard Guenther  <rguenther@suse.de>
301
302         PR tree-optimization/47738
303         * tree-ssa-loop.c (run_tree_predictive_commoning): Return
304         the TODO from tree_predictive_commoning.
305
306 2011-02-15  Jeff Law  <law@redhat.com>
307
308         Revert
309         2011-01-25  Jeff Law  <law@redhat.com>
310
311         PR rtl-optimization/37273
312         * ira-costs.c (scan_one_insn): Detect constants living in memory and
313         handle them like argument loads from stack slots.  Do not double
314         count memory for memory constants and argument loads from stack slots.
315
316 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
317
318         PR middle-end/47725
319         * combine.c (cant_combine_insn_p): Revert the last change.
320
321 2011-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
322
323         PR target/47755
324         * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
325         mode for vector constants.  Remove code that checks for TImode.
326
327 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
328
329         PR debug/47106
330         PR debug/47402
331         * cgraph.h (compute_inline_parameters): Return void.
332         * ipa-inline.c (compute_inline_parameters): Adjust.
333
334 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
335
336         PR debug/47106
337         PR debug/47402
338         * tree-inline.h (estimated_stack_frame_size): Take cgraph node
339         rather than decl.
340         * cfgexpand.c (estimated_stack_frame_size): Likewise.
341         * ipa-inline.c (compute_inline_parameters): Adjust.
342
343 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
344
345         PR debug/47106
346         PR debug/47402
347         * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
348         Adjust all users.  Pass FN to...
349         * tree-flow-inline.h (first_referenced_var): ... this.  Add
350         fn argument.
351         * ipa-struct-reorg.c: Adjust.
352         * tree-dfa.c: Adjust.
353         * tree-into-ssa.c: Adjust.
354         * tree-sra.c: Adjust.
355         * tree-ssa-alias.c: Adjust.
356         * tree-ssa-live.c: Adjust.
357         * tree-ssa.c: Adjust.
358         * tree-ssanames.c: Adjust.
359         * tree-tailcall.c: Adjust.
360
361 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
362
363         PR debug/47106
364         PR debug/47402
365         * tree-flow.h (referenced_var_lookup): Add fn parameter.
366         Adjust all callers.
367         * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
368         * tree-flow-inline.h: Adjust.
369         * gimple-pretty-print.c: Adjust.
370         * tree-into-ssa.c: Adjust.
371         * tree-ssa.c: Adjust.
372         * cfgexpand.c: Adjust.
373
374 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
375
376         * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
377         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
378         (EXTRA_CONSTRAINT): Delete.
379         * config/iq2000/constraints.md: New file.
380         * config/iq2000/iq2000.md: Include it.
381         (define_insn ""): Delete.
382         (movsi_internal2, movhi_internal2, movqi_internal2): Delete
383         unsupported constraint letters from patterns.
384         (call_value, call_value_internal1): Likewise.
385         (call_value_multiple_internal1): Likewise.
386
387 2011-02-15  Nick Clifton  <nickc@redhat.com>
388
389         * config/mn10300/mn10300.c: Include tm-constrs.h.
390         (struct liw_data): New data structure describing an LIW candidate
391         instruction.
392         (extract_bundle): Use struct liw_data.  Allow small integer
393         operands for some instructions.
394         (check_liw_constraints): Use struct liw_data.  Remove swapped
395         parameter.  Add comments describing the checks.  Fix bug when
396         assigning the source of liw1 to the source of liw2.
397         (liw_candidate): Delete.  Code moved into extract_bundle.
398         (mn10300_bundle_liw): Use struct liw_data.  Check constraints
399         before swapping.
400         * config/mn10300/predicates.md (liw_operand): New predicate.
401         Allows registers and small integer constants.
402         * config/mn10300/constraints.md (O): New constraint.  Accetps
403         integers in the range -8 to +7 inclusive.
404         * config/mn10300/mn10300.md (movesi_internal): Add an alternative
405         for moving a small integer into a register.  Give this alternative
406         LIW attributes.
407         (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
408         (ashlsi3): Likewise, plus give LIW attributes to the alternatives
409         using the J,K,L and M constraints,
410         (liw): Remove SI mode on second operands to allow for HI and QI
411         mode values.
412         (cmp_liw, liw_cmp): Likewise.  Plus fix order of operands in the
413         instruction.
414
415 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
416
417         PR middle-end/47725
418         * combine.c (cant_combine_insn_p): Check zero/sign extended
419         hard registers.
420
421 2011-02-15  Richard Guenther  <rguenther@suse.de>
422
423         PR tree-optimization/47743
424         * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
425         for a non-type-compatible VN lookup bail out.
426
427 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
428
429         * config/fr30/constraints.md: New file.
430         * config/fr30/fr30.md: Include it.
431         * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
432         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
433         (EXTRA_CONSTRAINT): Delete.
434
435 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
436
437         * config/frv/constraints.md: New file.
438         * config/frv/predicates.md: Include it.
439         * config/frv/frv.c (reg_class_from_letter): Delete.
440         (frv_option_override): Don't initialize it.
441         * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
442         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
443         (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
444         (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
445         (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
446         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
447         (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
448         (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
449         (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
450         (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
451         (REG_CLASS_FROM_CONSTRAINT): Delete.
452
453 2011-02-15  Jakub Jelinek  <jakub@redhat.com>
454
455         PR middle-end/47581
456         * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
457         if frame size is 0 in a leaf function.
458
459 2011-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
460
461         PR pch/14940
462         * config/alpha/host-osf.c: New file.
463         * config/alpha/x-osf: New file.
464         * config.host (alpha*-dec-osf*): Use it.
465
466 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
467
468         * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
469         * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
470         * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
471         (rx_mode_dependent_address_p): ...this. Make static. Change argument
472         type to const_rtx.
473         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
474
475 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
476
477         * config/stormy16/constraints.md: New file.
478         * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
479         Use satisfies_constraint_Q and satisfies_constraint_R.
480         * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
481         Delete.
482         (xstormy16_legitiamte_address_p): Declare.
483         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
484         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
485         (EXTRA_CONSTRAINT): Delete.
486         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
487         Un-staticize.
488         (xstormy16_extra_constraint_p): Delete.
489
490 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
491
492         PR tree-optimization/46494
493         * loop-unroll.c (split_edge_and_insert): Adjust comment.
494         * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
495         (pass_rtl_loop_done): Add TODO_verify_flow.
496         * fwprop.c (pass_rtl_fwprop): Likewise.
497         * modulo-sched.c (pass_sms): Likewise.
498         * tree-ssa-dom.c (pass_dominator): Likewise.
499         * tree-ssa-loop-ch.c (pass_ch): Likewise.
500         * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
501         (pass_tree_loop_done): Likewise.
502         * tree-ssa-pre.c (execute_pre): Likewise.
503         * tree-ssa-reassoc.c (pass_reassoc): Likewise.
504         * tree-ssa-sink.c (pass_sink_code): Likewise.
505         * tree-vrp.c (pass_vrp): Likewise.
506
507 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
508
509         * config/v850/constraints.md: New file.
510         * config/v850/v850.md: Include it.
511         * config/v850/predicates.md (reg_or_0_operand): Use
512         satisfies_constraint_G.
513         (special_symbolref_operand): Use satisfies_constraint_K.
514         * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
515         (GO_IF_LEGITIMATE_ADDRESS): Likewise.
516         (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
517         (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
518         (EXTRA_CONSTRAINT): Delete.
519         (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
520         (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
521         (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
522
523 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
524
525         PR target/47696
526         * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
527         description.
528
529 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
530
531         * config/mcore/constraints.md: New file.
532         * config/mcore/mcore.md: Include it.
533         * config/mcore/mcore.c (reg_class_from_letter): Delete.
534         * config/mcore/mcore.h (reg_class_from_letter): Delete.
535         (REG_CLASS_FROM_LETTER): Delete.
536         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
537         insn_const_int_ok_for_constraint.
538         (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
539         (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
540         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
541         (EXTRA_CONSTRAINT): Delete.
542
543 2011-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
544
545         PR ada/41929
546         * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
547         (IS_SIGHANDLER): Define.
548         (sparc64_is_sighandler): New function, split off from
549         sparc64_fallback_frame_state.
550         (sparc_is_sighandler): New function, split off from
551         sparc_fallback_frame_state.
552         (sparc64_fallback_frame_state): Merge with ...
553         (sparc_fallback_frame_state): ... this into ...
554         (MD_FALLBACK_FRAME_STATE_FOR): ... this.
555         Change new_cfa to long.  Remove regs_off, fpu_save_off, fpu_save.
556         Define nframes, mctx.  Use IS_SIGHANDLER, handler_args, mctx, walk
557         stack instead of hardcoded offsets.
558
559 2011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
560
561         * go/gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
562
563 2011-02-14  Andriy Gapon  <avg@freebsd.org>
564
565         PR target/45808
566         * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
567
568 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
569
570         * configure: Regenerate.
571
572 2011-02-12  Joseph Myers  <joseph@codesourcery.com>
573
574         PR driver/45731
575         * gcc.c (asm_options): Correct spec matching --target-help.
576
577 2011-02-12  Martin Jambor  <mjambor@suse.cz>
578
579         * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
580         to gimple call error.
581
582 2011-02-12  Mike Stump  <mikestump@comcast.net>
583
584         * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
585         comments in backslash regions.
586
587 2011-02-12  Mike Stump  <mikestump@comcast.net>
588             Jakub Jelinek  <jakub@redhat.com>
589             Iain Sandoe  <iains@gcc.gnu.org>
590
591         PR target/47324
592         * dwarf2out.c (output_cfa_loc): When required, apply the
593         DWARF2_FRAME_REG_OUT macro to adjust register numbers.
594         (output_loc_sequence): Likewise.
595         (output_loc_operands_raw): Likewise.
596         (output_loc_sequence_raw): Likewise.
597         (output_cfa_loc): Likewise.
598         (output_loc_list): Suppress register number adjustment when
599         calling output_loc_sequence()
600         (output_die): Likewise.
601
602 2011-02-12  Anatoly Sokolov  <aesok@post.ru>
603
604         * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
605         Remove macros.
606         * config/xtensa/xtensa.c (xtensa_register_move_cost,
607         xtensa_memory_move_cost): New functions.
608         (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
609
610 2011-02-12  Alexandre Oliva  <aoliva@redhat.com>
611
612         PR lto/47225
613         * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
614         in the current directory.
615         * configure: Rebuilt.
616
617 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
618
619         * config/darwin.c (darwin_override_options): Add a hunk missed
620         from the commit of r168571.  Trim comment line lengths and
621         correct indents of the preceding block.
622
623 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
624
625         * gcc.c (driver_handle_option): Concatenate the argument to -F with
626         the switch.
627
628 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
629
630         * common.opt (nostartfiles): New Driver option.
631
632 2011-02-11  Xinliang David Li  <davidxl@google.com>
633
634         PR tree-optimization/47707
635         * tree-chrec.c (convert_affine_scev): Keep type precision.
636
637 2011-02-11  Eric Botcazou  <ebotcazou@adacore.com>
638
639         PR tree-optimization/47420
640         * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
641
642 2011-02-11  Pat Haugen  <pthaugen@us.ibm.com>
643
644         PR rtl-optimization/47614
645         * rtl.h (check_for_inc_dec): Declare.
646         * dse.c (check_for_inc_dec): Externalize...
647         * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
648         (reload_cse_simplify_operands): Don't simplify opnds with side effects.
649
650 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
651
652         PR driver/47678
653         * gcc.c (main): Do not compile inputs if there were errors in
654         option handling.
655         * opts-common.c (read_cmdline_option): Check for wrong language
656         after other error checks.
657
658 2011-02-11  Nathan Froyd  <froydnj@codesourcery.com>
659
660         * cgraph.c: Fix comment typos.
661         * cgraph.h: Likewise.
662         * cgraphunit.c: Likewise.
663         * ipa-cp.c: Likewise.
664         * ipa-inline.c: Likewise.
665         * ipa-prop.c: Likewise.
666         * ipa-pure-const.c: Likewise.
667         * ipa-ref.c: Likewise.
668         * ipa-reference.c: Likewise.
669
670 2011-02-11  Jakub Jelinek  <jakub@redhat.com>
671
672         PR debug/47684
673         * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
674
675 2011-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
676
677         PR testsuite/47400
678         * doc/sourcebuild.texi (Require Support): Document
679         dg-require-ascii-locale.
680
681 2011-02-11  Mingjie Xing  <mingjie.xing@gmail.com>
682
683         * doc/lto.texi (Write summary): Fix missing parentheses.
684
685 2011-02-10  DJ Delorie  <dj@redhat.com>
686
687         * config/m32c/m32c.c (m32c_option_override): Disable
688         -fcombine-stack-adjustments until flag value tracking and compare
689         optimization can be rewritten.
690
691 2011-02-10  Peter Bergner  <bergner@vnet.ibm.com>
692
693         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
694         PROCESSOR_POWER7.
695         (PROCESSOR_DEFAULT64): Likewise.
696
697 2011-02-10  Richard Henderson  <rth@redhat.com>
698
699         * config/rx/predicates.md (rx_zs_comparison_operator): Revert
700         change from 2011-02-03.
701         * config/rx/rx.c (flags_from_code): Likewise.
702         (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
703         is valid, n/pz otherwise.
704         (rx_select_cc_mode): Return CCmode if Y is not zero.
705
706 2011-02-10  Richard Guenther  <rguenther@suse.de>
707
708         * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
709
710 2011-02-10  Richard Guenther  <rguenther@suse.de>
711
712         PR tree-optimization/47677
713         * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
714
715 2011-02-10  Jakub Jelinek  <jakub@redhat.com>
716
717         PR target/47665
718         * combine.c (make_compound_operation): Only change shifts into
719         multiplication for SCALAR_INT_MODE_P.
720
721 2011-02-10  Jie Zhang  <jie@codesourcery.com>
722
723         PR testsuite/47622
724         Revert
725         2011-02-05  Jie Zhang  <jie@codesourcery.com>
726         PR debug/42631
727         * web.c (entry_register): Don't clobber the number of the
728         first uninitialized reference in used[].
729
730 2011-02-09  Richard Guenther  <rguenther@suse.de>
731
732         PR tree-optimization/47664
733         * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
734         all edges again.
735
736 2011-02-09  David Edelsohn  <dje.gcc@gmail.com>
737
738         PR target/46481
739         PR target/47032
740         * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
741         PROCESSOR_POWER7.
742         (PROCESSOR_DEFAULT64): Same.
743         (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
744
745 2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
746
747         * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
748
749 2011-02-09  Martin Jambor  <mjambor@suse.cz>
750
751         PR middle-end/45505
752         * tree-sra.c (struct access): New flags grp_scalar_read and
753         grp_scalar_write.  Changed description of assignment read and write
754         flags.
755         (dump_access): Dump new flags, reorder all of them.
756         (sort_and_splice_var_accesses): Set the new flag accordingly, use them
757         to detect multiple scalar reads.
758         (analyze_access_subtree): Use the new scalar read write flags instead
759         of the old flags.  Adjusted comments.
760
761 2011-02-08  DJ Delorie  <dj@redhat.com>
762
763         PR target/47548
764         * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
765         patterns.
766
767 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
768
769         * config/m68k/uclinux.opt: New.
770         * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
771
772 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
773
774         * config/cris/elf.opt (sim): New Driver option.
775
776 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
777
778         * config/xtensa/elf.opt: New.
779         * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
780
781 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
782
783         * config/vax/elf.opt: New.
784         * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
785
786 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
787
788         * config/rs6000/aix64.opt (posix, pthread): New Driver options.
789
790 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
791
792         * config/gnu-user.opt: New.
793         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
794         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
795         *-*-uclinux*): Use gnu-user.opt.
796
797 2011-02-08  Thomas Schwinge  <thomas@schwinge.name>
798
799         * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
800         * config/i386/gnu.h (CPP_SPEC): Likewise.
801
802 2011-02-08  Ian Lance Taylor  <iant@google.com>
803
804         * common.opt (fcx-limited-range): Add SetByCombined flag.
805         (ffinite-math-only, fmath-errno, frounding-math): Likewise.
806         (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
807         (fassociative-math, freciprocal-math): Likewise.
808         (funsafe-math-optimizations): Likewise.
809         * opth-gen.awk: Handle SetByCombined.
810         * optc-gen.awk: Likewise.
811         * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
812         (set_unsafe_math_optimizations_flags): Likewise.
813         * doc/options.texi (Option properties): Document SetByCombined.
814
815 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
816
817         * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
818         i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
819         m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
820         m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
821         sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
822
823 2011-02-08  Sebastian Pop  <sebastian.pop@amd.com>
824
825         PR tree-optimization/46834
826         PR tree-optimization/46994
827         PR tree-optimization/46995
828         * graphite-sese-to-poly.c (used_outside_reduction): New.
829         (detect_commutative_reduction): Call used_outside_reduction.
830         (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
831         translate_scalar_reduction_to_array only when at least one
832         loop-phi/close-phi tuple has been detected.
833
834 2011-02-08  Richard Guenther  <rguenther@suse.de>
835
836         PR middle-end/47639
837         * tree-vect-generic.c (expand_vector_operations_1): Update
838         stmts here ...
839         (expand_vector_operations): ... not here.  Cleanup EH info
840         and the CFG if required.
841
842 2011-02-08  Richard Guenther  <rguenther@suse.de>
843
844         PR tree-optimization/47641
845         * tree-ssa.c (execute_update_addresses_taken): For asm outputs
846         require type compatibility.
847
848 2011-02-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
849
850         * gimple-low.c (lower_function_body): Don't remove the location of
851         the return statement here.
852         (lower_gimple_return): Do it here instead but only if the return
853         statement is actually used twice.
854
855 2011-02-08  Richard Guenther  <rguenther@suse.de>
856
857         PR tree-optimization/47632
858         * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
859         unused up_to_stmt parameter, return whether cfg-cleanup is
860         necessary, remove EH info properly.
861         (forward_propagate_into_gimple_cond): Adjust caller.
862         (forward_propagate_into_cond): Likewise.
863         (forward_propagate_comparison): Likewise.
864         (tree_ssa_forward_propagate_single_use_vars): Make
865         forward_propagate_comparison case similar to the two others.
866
867 2011-02-08  Nick Clifton  <nickc@redhat.com>
868
869         * config/mn10300/mn10300.opt (mliw): New command line option.
870         * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
871         (liw_bundling): New automaton.
872         (liw): New attribute.
873         (liw_op): New attribute.
874         (liw_op1, liw_op2, liw_both, liw_either): New reservations.
875         (movsi_internal): Add LIW attributes.
876         (andsi3): Likewise.
877         (iorsi3): Likewise.
878         (xorsi3): Likewise.
879         (addsi3): Separate register and immediate alternatives.
880         Add LIW attributes.
881         (subsi3): Likewise.
882         (cmpsi): Likewise.
883         (aslsi3): Likewise.
884         (lshrsi3): Likewise.
885         (ashrsi3): Likewise.
886         (liw): New pattern.
887         * config/mn10300/mn10300.c (liw_op_names): New
888         (mn10300_print_operand): Handle 'W' operand descriptor.
889         (extract_bundle): New function.
890         (check_liw_constraints): New function.
891         (liw_candidate): New function.
892         (mn10300_bundle_liw): New function.
893         (mn10300_reorg): New function.
894         (TARGET_MACHINE_DEPENDENT_REORG): Define.
895         (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
896         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
897         __LIW__ or __NO_LIW__.
898         * doc/invoke.texi: Describe the -mliw command line option.
899
900 2011-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
901
902         * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
903         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
904         pthread_mutex_unlock): Remove.
905         * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
906         * config/pa/t-pa64: Likewise.
907         * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
908         shared libc if not linking against libpthread.
909         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
910
911 2011-02-07  Iain Sandoe  <iains@gcc.gnu.org>
912
913         PR target/47558
914         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
915         on 10.6 and later to ensure that we always use the unwinder from
916         the system.  Only add -no_compact_unwind when tarteting darwin
917         10.6 or later.
918
919 2011-02-07  Steve Ellcey  <sje@cup.hp.com>
920
921         PR target/46997
922         * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
923         (vec_interleave_lowv2sf): Ditto.
924         (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
925         (vec_extract_oddv2sf): Ditto.
926
927 2011-02-07  Mike Stump  <mikestump@comcast.net>
928
929         PR target/42333
930         Add __ieee_divdc3 entry point.
931         * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
932         entry point.
933         (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
934         * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
935         * config/darwin.c (darwin_rename_builtins): Add.
936         * config/darwin-protos.h (darwin_rename_builtins): Add.
937
938 2011-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
939
940         PR target/47636
941         * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
942         for the condition.
943
944 2011-02-07  Mike Stump  <mikestump@comcast.net>
945
946         * config/darwin.opt (mmacosx-version-min): Update default OS version.
947
948 2011-02-07  Denis Chertykov  <chertykov@gmail.com>
949
950         PR target/47534
951         * config/avr/libgcc.S (exit): Move .endfunc
952
953 2011-02-07  Richard Guenther  <rguenther@suse.de>
954
955         PR tree-optimization/47615
956         * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
957         * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
958         (run_scc_vn): Initialize it.
959         (visit_reference_op_load): Use it.
960         * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
961
962 2011-02-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
963
964         * config/spu/spu.c (spu_init_libfuncs): Install SImode and
965         DImode trapping arithmetic libfuncs.
966
967 2011-02-07  Richard Guenther  <rguenther@suse.de>
968
969         PR tree-optimization/47621
970         * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
971         two duplicates ...
972         (execute_update_addresses_taken): ... here.  Make it more
973         conservative in what we accept.
974
975 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
976
977         * config/sparc/freebsd.h (ASM_SPEC): Define.
978         * config/sparc/vxworks.h (ASM_SPEC): Define.
979
980 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
981
982         * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
983
984 2011-02-06  Steven Bosscher  <steven@gcc.gnu.org>
985
986         * doc/invoke.texi: Remove reference to compiler internals from
987         user documentation.
988
989         * reg-notes.def: Remove REG_VALUE_PROFILE.
990         * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
991
992 2011-02-05  Jakub Jelinek  <jakub@redhat.com>
993
994         PR middle-end/47610
995         * varasm.c (default_section_type_flags): If decl is NULL,
996         and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
997
998 2011-02-05  Jie Zhang  <jie@codesourcery.com>
999
1000         PR debug/42631
1001         * web.c (entry_register): Don't clobber the number of the
1002         first uninitialized reference in used[].
1003
1004 2011-02-04  Sebastian Pop  <sebastian.pop@amd.com>
1005
1006         PR tree-optimization/46194
1007         * tree-data-ref.c (analyze_miv_subscript): Remove comment.
1008         (build_classic_dist_vector_1): Do not represent classic distance
1009         vectors when the access functions are variating in different loops.
1010
1011 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
1012
1013         * config/mips/iris6.opt: New.
1014         * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
1015
1016 2011-02-04  Richard Henderson  <rth@redhat.com>
1017             Steve Ellcey  <sje@cup.hp.com>
1018
1019         PR target/46997
1020         * config/ia64/predicates.md (mux1_brcst_element): New.
1021         * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
1022         * config/ia64/ia64.c (ia64_unpack_assemble): New.
1023         (ia64_unpack_sign): New.
1024         (ia64_expand_unpack): Rewrite using new routines.
1025         (ia64_expand_widen_sum): Ditto.
1026         (ia64_expand_dot_prod_v8qi): Ditto.
1027         * config/ia64/vect.md (mulv8qi3): Rewrite to use new
1028         routines, add endian check.
1029         (pmpy2_even): Rename from pmpy2_r, add endian check.
1030         (pmpy2_odd): Rename from pmpy2_l, add endian check.
1031         (vec_widen_smult_lo_v4hi): Rewrite using new routines.
1032         (vec_widen_smult_hi_v4hi): Ditto.
1033         (vec_widen_umult_lo_v4hi): Ditto.
1034         (vec_widen_umult_hi_v4hi): Ditto.
1035         (mulv2si3): Change endian checks.
1036         (sdot_prodv4hi): Rewrite with new calls.
1037         (udot_prodv4hi): New.
1038         (vec_pack_ssat_v4hi): Add endian check.
1039         (vec_pack_usat_v4hi): Ditto.
1040         (vec_pack_ssat_v2si): Ditto.
1041         (max1_even): Rename from max1_r, add endian check.
1042         (max1_odd): Rename from max1_l, add endian check.
1043         (*mux1_rev): Format change.
1044         (*mux1_mix): Ditto.
1045         (*mux1_shuf): Ditto.
1046         (*mux1_alt): Ditto.
1047         (*mux1_brcst_v8qi): Use new predicate.
1048         (vec_extract_evenv8qi): Remove endian check.
1049         (vec_extract_oddv8qi): Ditto.
1050         (vec_interleave_lowv4hi): Format change.
1051         (vec_interleave_highv4hi): Ditto.
1052         (mix2_even): Rename from mix2_r, add endian check.
1053         (mix2_odd): Rename from mux2_l, add endian check.
1054         (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
1055         (vec_extract_evenodd_helper): Format change.
1056         (vec_extract_evenv4hi): Remove endian check.
1057         (vec_extract_oddv4hi): Remove endian check.
1058         (vec_interleave_lowv2si): Format change.
1059         (vec_interleave_highv2si): Format change.
1060         (vec_initv2si): Remove endian check.
1061         (vecinit_v2si): Add endian check.
1062         (reduc_splus_v2sf): Add endian check.
1063         (reduc_smax_v2sf): Ditto.
1064         (reduc_smin_v2sf): Ditto.
1065         (vec_initv2sf): Remove endian check.
1066         (fpack): Add endian check.
1067         (fswap): Add endian check.
1068         (vec_interleave_highv2sf): Add endian check.
1069         (vec_interleave_lowv2sf): Add endian check.
1070         (fmix_lr): Add endian check.
1071         (vec_setv2sf): Format change.
1072         (*vec_extractv2sf_0_be): Use shift to extract operand.
1073         (*vec_extractv2sf_1_be): New.
1074         (vec_pack_trunc_v4hi): Add endian check.
1075         (vec_pack_trunc_v2si): Format change.
1076
1077 2011-02-04  Jakub Jelinek  <jakub@redhat.com>
1078
1079         PR inline-asm/23200
1080         * tree-ssa-ter.c (is_replaceable_p): Add TER argument.  Don't
1081         do bb, locus and block comparison and disallow loads if it is not set.
1082         (stmt_is_replaceable_p): New function.
1083         (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
1084         callers.
1085         * expr.c (expand_expr_real_1) <case SSA_NAME>: If
1086         get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
1087         SSA_NAME_DEF_STMT.
1088         * tree-flow.h (stmt_is_replaceable_p): New prototype.
1089
1090 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
1091
1092         * config/rs6000/xilinx.opt: New.
1093         * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
1094
1095 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
1096
1097         * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
1098
1099 2011-02-03  Anatoly Sokolov  <aesok@post.ru>
1100
1101         * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
1102         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
1103         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
1104         secondary_reload_info, xtensa_secondary_reload): Remove.
1105         * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
1106         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
1107         (xtensa_preferred_reload_class): Make static. Change return and
1108         'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
1109         Use CONST_DOUBLE_P predicate.
1110         (xtensa_preferred_output_reload_class): New function.
1111         (xtensa_secondary_reload): Make static.
1112
1113 2011-02-03  Joseph Myers  <joseph@codesourcery.com>
1114
1115         * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
1116         Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
1117         Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
1118
1119 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
1120
1121         PR middle-end/31490
1122         * output.h (SECTION_RELRO): Define.
1123         (SECTION_MACH_DEP): Adjust.
1124         (get_variable_section): New prototype.
1125         * varpool.c (varpool_finalize_named_section_flags): New function.
1126         (varpool_assemble_pending_decls): Call it.
1127         * cgraph.h (varpool_finalize_named_section_flags): New prototype.
1128         * cgraphunit.c (cgraph_output_in_order): Call
1129         varpool_finalize_named_section_flags.
1130         * varasm.c (get_section): Allow section flags conflicts between
1131         relro and read-only sections if the section hasn't been declared yet.
1132         Set SECTION_OVERRIDE after diagnosing section type conflict.
1133         (get_variable_section): No longer static.
1134         (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
1135         readonly sections that need relocations.
1136         (decl_readonly_section_1): New function.
1137         (decl_readonly_section): Use it.
1138
1139         Revert:
1140         2010-11-17  Dinar Temirbulatov <dtemirbulatov@gmail.com>
1141                     Steve Ellcey  <sje@cup.hp.com>
1142
1143         PR middle-end/31490
1144         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
1145         if section attribute used.
1146
1147 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
1148
1149         * config/darwin.h (SECTION_NO_ANCHOR): Remove.
1150         * config/darwin.c (SECTION_NO_ANCHOR): Define.
1151         (darwin_init_sections): Remove assertion.
1152
1153 2011-02-03  Nick Clifton  <nickc@redhat.com>
1154
1155         * config/rx/predicates.md (rx_zs_comparison_operator): Remove
1156         lt and ge.
1157         * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
1158         * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
1159         instead of "n" and "pz".
1160         (flags_from_code): LT and GE tests need CC_FLAG_O as well as
1161         CC_FLAG_S.
1162
1163 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
1164
1165         PR target/47312
1166         * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
1167         fma, expand FMA_EXPR as fma{,f,l} call.
1168
1169         PR lto/47274
1170         * lto-streamer-out.c (write_symbol): When writing kind and visibility,
1171         copy them into a unsigned char variable and pass address of it to
1172         lto_output_data_stream.
1173
1174         PR target/47564
1175         * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
1176         around backend_init_target and lang_dependent_init_target calls.
1177         * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
1178         (verify_cgraph_node): Don't call set_cfun here.  Use
1179         cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
1180         Set error_found for incorrectly represented calls to thunks.
1181
1182 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
1183
1184         PR debug/43092
1185         PR rtl-optimization/43494
1186         * rtl.h (for_each_inc_dec_fn): New type.
1187         (for_each_inc_dec): Declare.
1188         * rtlanal.c (struct for_each_inc_dec_ops): New type.
1189         (for_each_inc_dec_find_inc_dec): New fn.
1190         (for_each_inc_dec_find_mem): New fn.
1191         (for_each_inc_dec): New fn.
1192         * dse.c (struct insn_size): Remove.
1193         (replace_inc_dec, replace_inc_dec_mem): Remove.
1194         (emit_inc_dec_insn_before): New fn.
1195         (check_for_inc_dec): Use it, along with for_each_inc_dec.
1196         (canon_address): Pass mem modes to cselib_lookup.
1197         * cselib.h (cselib_lookup): Add memmode argument.  Adjust callers.
1198         (cselib_lookup_from_insn): Likewise.
1199         (cselib_subst_to_values): Likewise.
1200         * cselib.c (find_slot_memmode): New var.
1201         (cselib_find_slot): New fn.  Use it instead of
1202         htab_find_slot_with_hash everywhere.
1203         (entry_and_rtx_equal_p): Use find_slot_memmode.
1204         (autoinc_split): New fn.
1205         (rtx_equal_for_cselib_p): Rename and implement in terms of...
1206         (rtx_equal_for_cselib_1): ... this.  Take memmode, pass it on.
1207         Deal with autoinc.  Special-case recursion into MEMs.
1208         (cselib_hash_rtx): Likewise.
1209         (cselib_lookup_mem): Infer pmode from address mode.  Distinguish
1210         address and MEM modes.
1211         (cselib_subst_to_values): Add memmode, pass it on.
1212         Deal with autoinc.
1213         (cselib_lookup): Add memmode argument, pass it on.
1214         (cselib_lookup_from_insn): Add memmode.
1215         (cselib_invalidate_rtx): Discard obsolete push_operand handling.
1216         (struct cselib_record_autoinc_data): New.
1217         (cselib_record_autoinc_cb): New fn.
1218         (cselib_record_sets): Use it, along with for_each_inc_dec.  Pass MEM
1219         mode to cselib_lookup.  Reset autoinced REGs here instead of...
1220         (cselib_process_insn): ... here.
1221         * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
1222         to cselib_lookup.
1223         (add_uses): Likewise, also to cselib_subst_to_values.
1224         (add_stores): Likewise.
1225         * sched-deps.c  (add_insn_mem_dependence): Pass mode to
1226         cselib_subst_to_values.
1227         (sched_analyze_1, sched_analyze_2): Likewise.  Adjusted.
1228         * gcse.c (do_local_cprop): Adjusted.
1229         * postreload.c (reload_cse_simplify_set): Adjusted.
1230         (reload_cse_simplify_operands): Adjusted.
1231         * sel-sched-dump (debug_mem_addr_value): Pass mode.
1232
1233 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
1234
1235         PR tree-optimization/45122
1236         * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
1237         unsafe assumptions when there's more than one loop exit.
1238
1239 2011-02-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
1240
1241         PR target/47272
1242         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
1243         Document using vector double with the load/store builtins, and
1244         that the load/store builtins always use Altivec instructions.
1245
1246         * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
1247         to use altivec memory instructions, even on VSX.
1248         (vector_altivec_store_<mode>): Ditto.
1249
1250         * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
1251         function.
1252
1253         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1254         V2DF, V2DI support to load/store overloaded builtins.
1255
1256         * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
1257         altivec load/store builtins for V2DF/V2DI types.
1258
1259         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
1260         set avoid indexed addresses on power6 if -maltivec.
1261         (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
1262         vector_altivec_load/vector_altivec_store builtins.
1263         (altivec_expand_st_builtin): Ditto.
1264         (altivec_expand_builtin): Add VSX memory builtins.
1265         (rs6000_init_builtins): Add V2DI types to internal types.
1266         (altivec_init_builtins): Add support for V2DF/V2DI altivec
1267         load/store builtins.
1268         (rs6000_address_for_altivec): Insure memory address is appropriate
1269         for Altivec.
1270
1271         * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
1272         vec_vsx_ld and vec_vsx_st.
1273         (vsx_store_<mode>): Ditto.
1274
1275         * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
1276         variables to hold long long types for VSX vector memory builtins.
1277         (RS6000_BTI_unsigned_long_long): Ditto.
1278         (long_long_integer_type_internal_node): Ditti.
1279         (long_long_unsigned_type_internal_node): Ditti.
1280
1281         * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
1282         (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
1283         (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
1284
1285         * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
1286         short cuts.
1287         (vec_vsx_st): Ditto.
1288
1289 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
1290
1291         * config/pa/pa-hpux10.opt: New.
1292         * config/hpux11.opt (pthread): New Driver option.
1293         * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
1294         * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
1295
1296 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
1297
1298         * config/ia64/vms.opt: New.
1299         * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
1300
1301 2011-02-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
1302
1303         PR target/47580
1304         * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
1305         gpc_reg_operand instead of vsx_register_operand to match rs6000.md
1306         generator functions.
1307         (vsx_floatuns<VSi><mode>2): Ditto.
1308         (vsx_fix_trunc<mode><VSi>2): Ditto.
1309         (vsx_fixuns_trunc<mode><VSi>2): Ditto.
1310
1311 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
1312
1313         * config/i386/djgpp.opt (posix): New Driver option.
1314
1315 2011-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
1316
1317         * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
1318         Move to the unsupported targets list.
1319
1320 2011-02-02  Peter Bergner  <bergner@vnet.ibm.com>
1321
1322         PR rtl-optimization/47525
1323         * df-scan.c: Update copyright years.
1324         (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
1325         and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
1326
1327 2011-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1328
1329         * config/i386/sysv4.h (TARGET_VERSION): Remove.
1330         (SUBTARGET_RETURN_IN_MEMORY): Remove.
1331         (ASM_OUTPUT_ASCII): Remove.
1332         * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
1333
1334 2011-02-02  Jeff Law  <law@redhat.com>
1335
1336         PR middle-end/47543
1337         * reload.c (find_reloads_address): Handle reg+d address where both
1338         components are invalid by reloading the entire address.
1339
1340 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
1341             Richard Guenther  <rguenther@suse.de>
1342
1343         PR tree-optimization/40979
1344         PR bootstrap/47044
1345         * passes.c (init_optimization_passes): After LIM call copy_prop
1346         and DCE to clean up.
1347         * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
1348
1349 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
1350
1351         PR tree-optimization/47576
1352         PR tree-optimization/47555
1353         * doc/invoke.texi (scev-max-expr-complexity): Documented.
1354         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
1355         (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
1356         * tree-scalar-evolution.c (follow_ssa_edge): Use
1357         PARAM_SCEV_MAX_EXPR_COMPLEXITY.
1358
1359 2011-02-02  Richard Guenther  <rguenther@suse.de>
1360
1361         PR tree-optimization/47566
1362         * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
1363
1364 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
1365
1366         PR debug/47106
1367         PR debug/47402
1368         * tree-inline.c (declare_return_variable): Remove unused caller
1369         variable.
1370
1371         PR debug/47106
1372         PR debug/47402
1373         * tree-flow-inline.h (clear_is_used, is_used_p): New.
1374         * cfgexpand.c (account_used_vars_for_block): Use them.
1375         * tree-nrv.c (tree_nrv): Likewise.
1376         * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
1377         (dump_scope_block): Likewise.
1378         (remove_unused_locals): Likewise.
1379
1380         PR debug/47106
1381         PR debug/47402
1382         * tree-inline.c (declare_return_variable): Add result decl to
1383         local decls only once.
1384         * gimple-low.c (record_vars_into): Mark newly-created variables
1385         as referenced.
1386
1387 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
1388
1389         PR debug/47498
1390         PR debug/47501
1391         PR debug/45136
1392         PR debug/45130
1393         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
1394         debug insns.
1395         (no_real_insns_p, schedule_block, set_priorities): Drop special
1396         treatment of boundary debug insns.
1397         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
1398         * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
1399         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
1400         (BOUNDARY_DEBUG_INSN_P): Likewise.
1401         (SCHEDULE_DEBUG_INSN_P): Likewise.
1402         * sched-rgn.c (init_ready_list): Drop special treatment of
1403         boundary debug insns.
1404         * final.c (rest_of_clean_state): Clear notes' BB.
1405
1406 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1407
1408         * config/openbsd.opt (assert=): New Driver option.
1409
1410 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1411
1412         * config/i386/nto.opt: New.
1413         * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
1414
1415 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1416
1417         * config/i386/netware.opt: New.
1418         * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
1419
1420 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1421
1422         * config/interix.opt (posix): New Driver option.
1423
1424 2011-02-01  DJ Delorie  <dj@redhat.com>
1425
1426         * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
1427
1428         * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
1429         class for A0/A1.
1430
1431 2011-02-01  Sebastian Pop  <sebastian.pop@amd.com>
1432
1433         PR tree-optimization/47561
1434         * toplev.c (process_options): Print the Graphite flags.  Add
1435         flag_loop_flatten to the list of options requiring Graphite.
1436
1437 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1438
1439         * config/i386/cygming.opt (posix): New Driver option.
1440
1441 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1442
1443         * config/arm/vxworks.opt: New.
1444         * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
1445
1446 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1447
1448         * config/alpha/elf.opt: New.
1449         * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
1450         alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
1451
1452 2011-02-01  Richard Guenther  <rguenther@suse.de>
1453
1454         PR tree-optimization/47559
1455         * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
1456         store-motion on references that can throw.
1457
1458 2011-02-01  Bernd Schmidt  <bernds@codesourcery.com>
1459
1460         * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
1461         * tree-pass.h (TDF_CSELIB): New macro.
1462         * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
1463         cselib_lookup): Check for it rather than for TDF_DETAILS.
1464
1465 2011-02-01  H.J. Lu  <hongjiu.lu@intel.com>
1466
1467         PR driver/47547
1468         * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
1469         is HOST_BIT_BUCKET.
1470
1471         * opts.c (finish_options): Don't add x_aux_base_name if it is
1472         HOST_BIT_BUCKET.
1473
1474 2011-02-01  Richard Guenther  <rguenther@suse.de>
1475
1476         PR tree-optimization/47555
1477         Revert
1478         2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
1479
1480         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
1481
1482 2011-02-01  Sebastien Bourdeauducq  <sebastien@milkymist.org>
1483
1484         PR gcc/46692
1485         * config/lm32/t-lm32: Add multilib for all CPU options.
1486
1487 2011-02-01  Richard Guenther  <rguenther@suse.de>
1488
1489         PR tree-optimization/47541
1490         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
1491         sure to have a field at offset zero.
1492
1493 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
1494
1495         * config/arc/arc.opt (EB, EL): New Driver options.
1496
1497 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
1498
1499         * config/alpha/osf5.opt: New.
1500         * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
1501
1502 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
1503
1504         * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
1505
1506 2011-01-31  Sebastian Pop  <sebastian.pop@amd.com>
1507
1508         * common.opt (ftree-loop-linear): Use Alias to make it an alias of
1509         -floop-interchange.
1510         * invoke.texi (-ftree-loop-linear): Make it clear that this flag
1511         is an alias of -floop-interchange and that it requires the
1512         Graphite infrastructure.
1513         * tree-ssa-loop.c (gate_graphite_transforms): Do not set
1514         flag_loop_interchange based on the value of flag_tree_loop_linear.
1515
1516 2011-01-31  Jakub Jelinek  <jakub@redhat.com>
1517             Richard Guenther  <rguenther@suse.de>
1518
1519         PR tree-optimization/47538
1520         * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
1521         type instead of r1type, except for comparisons.  For right
1522         shifts and comparisons punt if there are mismatches in
1523         sizetype vs. non-sizetype types.
1524
1525 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1526
1527         * doc/sourcebuild.texi (Effective-Target Keywords): Document
1528         avx_runtime.
1529
1530 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1531
1532         * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
1533         version number.
1534         * configure: Regenerate.
1535
1536 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1537
1538         * configure.ac (gcc_cv_ld_static_option): Define.
1539         (gcc_cv_ld_dynamic_option): Define.
1540         (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
1541         instead.
1542         (HAVE_LD_STATIC_DYNAMIC): Update message.
1543         (LD_STATIC_OPTION): Define.
1544         (LD_DYNAMIC_OPTION): Define.
1545         * configure: Regenerate.
1546         * config.in: Regenerate.
1547         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
1548         HAVE_LD_STATIC_DYNAMIC]: Use them.
1549
1550 2011-01-31  Nick Clifton  <nickc@redhat.com>
1551
1552         * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
1553         registers inside interrupt handlers if the handler is not a leaf
1554         function.
1555
1556 2011-01-31  Nick Clifton  <nickc@redhat.com>
1557
1558         * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
1559         reg_renumber returning an INVALID_REGNUM.
1560
1561 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
1562
1563         PR libgcj/44341
1564         * doc/install.texi: Document host options discarded when cross
1565         configuring target libraries.
1566
1567 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
1568
1569         Reverted:
1570         2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
1571         PR debug/45136
1572         PR debug/45130
1573         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
1574         debug insns.
1575         (no_real_insns_p, schedule_block, set_priorities): Drop special
1576         treatment of boundary debug insns.
1577         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
1578         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
1579         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
1580         (BOUNDARY_DEBUG_INSN_P): Likewise.
1581         (SCHEDULE_DEBUG_INSN_P): Likewise.
1582         * sched-rgn.c (init_ready_list): Drop special treatment of
1583         boundary debug insns.
1584         * final.c (rest_of_clean-state): Clear notes' BB.
1585
1586 2011-01-31  Alan Modra  <amodra@gmail.com>
1587
1588         * config/rs6000/rs6000.c (print_operand): Rearrange addends in
1589         toc relative expressions as we do in print_operand_address.
1590
1591 2011-01-30  Kazu Hirata  <kazu@codesourcery.com>
1592
1593         * doc/extend.texi: Follow spelling conventions.
1594         * doc/invoke.texi: Fix a typo.
1595
1596 2011-01-30  Joseph Myers  <joseph@codesourcery.com>
1597
1598         * config/hpux11.opt: New.
1599         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
1600         ia64*-*-hpux*): Use hpux11.opt.
1601
1602 2011-01-30  Jonathan Yong <jon_y@users.sourceforge.net>
1603
1604         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
1605         to tmake_file.
1606
1607 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
1608
1609         * doc/install.texi (hppa-hp-hpux10): Remove references to HP
1610         support sites.
1611
1612 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
1613
1614         * doc/install.texi (Binaries): Remove outdated reference for
1615         Motorola 68HC11/68HC12 downloads.
1616
1617 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
1618
1619         * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
1620         Drepper's paper.
1621
1622 2011-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1623
1624         PR bootstrap/47147
1625         * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
1626         used by NetBSD.
1627
1628 2011-01-28  Ahmad Sharif  <asharif@google.com>
1629
1630         * value-prof.c (check_counter): Corrected error message.
1631
1632 2011-01-29  Jie Zhang  <jie@codesourcery.com>
1633
1634         * config/arm/arm.c (arm_legitimize_reload_address): New.
1635         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
1636         arm_legitimize_reload_address.
1637         * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
1638
1639 2011-01-28  Ian Lance Taylor  <iant@google.com>
1640
1641         * godump.c (go_define): Ignore macros whose definitions include
1642         two adjacent operands.
1643
1644 2011-01-28  Jakub Jelinek  <jakub@redhat.com>
1645
1646         PR target/42894
1647         * varasm.c (force_const_mem): Store copy of x in desc->constant
1648         instead of x itself.
1649         * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
1650         itself into REG_EQUAL note.
1651
1652 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
1653
1654         * config/freebsd.opt (posix, rdynamic): New Driver options.
1655
1656 2011-01-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1657
1658         * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
1659         -Bstatic/-Bdynamic.
1660         * configure: Regenerate.
1661
1662 2011-01-27  Joseph Myers  <joseph@codesourcery.com>
1663
1664         * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
1665         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
1666
1667 2011-01-27  Anatoly Sokolov  <aesok@post.ru>
1668
1669         * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
1670         * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
1671         * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
1672         (s390_preferred_reload_class): Make static. Change return and
1673         'rclass' argument type to reg_class_t.
1674
1675 2011-01-27  Jan Hubicka  <jh@suse.cz>
1676
1677         PR middle-end/46949
1678         * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
1679         (process_function_and_variable_attributes): Check defined weakrefs.
1680
1681 2011-01-27  Martin Jambor  <mjambor@suse.cz>
1682
1683         PR tree-optimization/47228
1684         * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
1685         build_ref_for_offset.
1686
1687 2011-01-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1688
1689         * config/spu/spu-elf.h (ASM_SPEC): Remove.
1690
1691 2011-01-26  Mikael Pettersson <mikpe@it.uu.se>
1692
1693         PR rtl-optimization/46856
1694         * postreload.c (reload_combine_recognize_const_pattern): Do not
1695         separate cc0 setter and user on cc0 targets.
1696
1697 2011-01-26  Nicola Pero  <nicola.pero@meta-innovation.com>
1698
1699         PR c/43082
1700         * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
1701         passed a VOID_TYPE expression, immediately emit an error and
1702         return error_mark_node.
1703
1704 2011-01-26  Jeff Law  <law@redhat.com>
1705
1706         PR rtl-optimization/47464
1707         * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
1708         rather than may_trap_p as needed.
1709
1710 2011-01-26  DJ Delorie  <dj@redhat.com>
1711
1712         PR rtl-optimization/46878
1713         * combine.c (insn_a_feeds_b): Check for the implicit cc0
1714         setter/user dependency as well.
1715
1716 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
1717
1718         PR rtl-optimization/44469
1719         * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
1720         after removing trivially dead basic blocks.
1721
1722 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
1723
1724         * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
1725         * config/frv/frv.h (LINK_SPEC): Likewise.
1726         * config/i386/netware.h (LINK_SPEC): Likewise.
1727         * config/m68k/linux.h (ASM_SPEC): Likewise.
1728         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
1729         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
1730         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
1731         * config/sparc/linux.h (ASM_SPEC): Likewise.
1732         * config/sparc/linux64.h (ASM_SPEC): Likewise.
1733         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
1734
1735 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
1736
1737         * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
1738         * config/frv/frv.h (ASM_SPEC): Likewise.
1739         * config/m68k/linux.h (ASM_SPEC): Likewise.
1740         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
1741         * config/rs6000/linux64.h (ASM_SPEC): Likewise.
1742         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
1743         * config/sparc/linux.h (ASM_SPEC): Likewise.
1744         * config/sparc/linux64.h (ASM_SPEC): Likewise.
1745         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
1746
1747 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
1748
1749         * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
1750         * config/frv/frv.h (LINK_SPEC): Likewise.
1751         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
1752
1753 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
1754
1755         * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
1756         * config/frv/frv.h (ASM_SPEC): Likewise.
1757         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
1758         * config/m68k/linux.h (ASM_SPEC): Likewise.
1759         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
1760         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
1761         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
1762         * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
1763         * config/sparc/linux.h (ASM_SPEC): Likewise.
1764         * config/sparc/linux64.h (ASM_SPEC): Likewise.
1765         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
1766         * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
1767
1768 2011-01-26  Steve Ellcey  <sje@cup.hp.com>
1769
1770         PR target/46997
1771         * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
1772         (*mux2): Ditto.
1773         (vec_extract_evenodd_help): Ditto.
1774         (vec_extract_evenv4hi): Ditto.
1775         (vec_extract_oddv4hi): Ditto.
1776         (vec_interleave_lowv2si): Ditto.
1777         (vec_interleave_highv2si): Ditto.
1778         (vec_extract_evenv2si): Ditto.
1779         (vec_extract_oddv2si: Ditto.
1780         (vec_pack_trunc_v2si): Ditto.
1781
1782 2011-01-22  Jan Hubicka  <jh@suse.cz>
1783
1784         PR target/47237
1785         * cgraph.h (cgraph_local_info): New field can_change_signature.
1786         * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
1787         signature can change.
1788         (ipcp_estimate_growth): Call sequence simplify only if calle signature
1789         can change.
1790         (ipcp_insert_stage): Only compute args_to_skip if signature can change.
1791         (cgraph_function_versioning): We can not change signature of functions
1792         that don't allow that.
1793         * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
1794         (lto_input_node): Likewise.
1795         * ipa-inline.c (compute_inline_parameters): Compute
1796         local.can_change_signature.
1797         * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
1798         * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
1799         functions that can not change signature.
1800         * i386.c (ix86_function_regparm, ix86_function_sseregparm,
1801         init_cumulative_args): Do not use local calling conventions
1802         for functions that can not change signature.
1803
1804 2011-01-22  Jan Hubicka  <jh@suse.cz>
1805
1806         * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
1807
1808 2011-01-26  Richard Guenther  <rguenther@suse.de>
1809
1810         PR tree-optimization/47190
1811         * cgraphunit.c (process_common_attributes): New function.
1812         (process_function_and_variable_attributes): Use it.
1813
1814 2011-01-26  Richard Guenther  <rguenther@suse.de>
1815
1816         PR lto/47423
1817         * cgraphbuild.c (record_eh_tables): Record reference to personality
1818         function.
1819
1820 2011-01-26  Alexandre Oliva  <aoliva@redhat.com>
1821
1822         PR debug/45454
1823         * sel-sched.c (moveup_expr): Don't let debug insns prevent
1824         non-debug insns from moving up.
1825
1826 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
1827
1828         PR target/40125
1829         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
1830         t-dlldir{,-x} fragment for build and add it to tmake_file.
1831         (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
1832         * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
1833         * config/i386/t-dlldir: New file.
1834         (SHLIB_DLLDIR): Define.
1835         * config/i386/t-dlldir-x: New file.
1836         (SHLIB_DLLDIR): Define.
1837         * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
1838         (SHLIB_INSTALL): Use it.
1839
1840 2011-01-26  Chung-Lin Tang  <cltang@codesourcery.com>
1841
1842         PR target/47246
1843         * config/arm/arm.c (thumb2_legitimate_index_p): Change the
1844         lower bound of the allowed Thumb-2 coprocessor load/store
1845         index range to -256. Add explaining comment.
1846
1847 2011-01-25  Ian Lance Taylor  <iant@google.com>
1848
1849         * godump.c (go_define): Improve lexing of macro expansion to only
1850         accept expressions which match Go spec.
1851
1852 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
1853
1854         PR c++/43601
1855         * tree.c (handle_dll_attribute): Handle it.
1856         * doc/extend.texi (@item dllexport): Mention it.
1857         * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
1858
1859 2011-01-25  Ian Lance Taylor  <iant@google.com>
1860
1861         PR tree-optimization/26854
1862         * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
1863         (decl_jump_unsafe): Move higher in file, with no other change.
1864         (bind): Set has_jump_unsafe_decl if appropriate.
1865         (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
1866         (check_earlier_gotos): Likewise.
1867         (c_check_switch_jump_warnings): Likewise.
1868
1869 2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
1870
1871         * doc/invoke.texi (Warning Options): Add missing hyphen.
1872         (-fprofile-dir): Minor grammatical fixes.
1873         (-fbranch-probabilities): Likewise.
1874
1875 2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
1876
1877         PR debug/45136
1878         PR debug/45130
1879         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
1880         debug insns.
1881         (no_real_insns_p, schedule_block, set_priorities): Drop special
1882         treatment of boundary debug insns.
1883         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
1884         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
1885         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
1886         (BOUNDARY_DEBUG_INSN_P): Likewise.
1887         (SCHEDULE_DEBUG_INSN_P): Likewise.
1888         * sched-rgn.c (init_ready_list): Drop special treatment of
1889         boundary debug insns.
1890         * final.c (rest_of_clean-state): Clear notes' BB.
1891
1892 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1893
1894         * Makefile.in (LAMBDA_H): Removed.
1895         (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
1896         (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
1897         lambda-trans.o, and tree-loop-linear.o.
1898         (lto-symtab.o): Remove dependence on LAMBDA_H.
1899         (tree-loop-linear.o): Remove rule.
1900         (lambda-mat.o): Same.
1901         (lambda-trans.o): Same.
1902         (lambda-code.o): Same.
1903         (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
1904         (tree-vect-slp.o): Same.
1905         * hwint.h (gcd): Moved here.
1906         (least_common_multiple): Same.
1907         * lambda-code.c: Removed.
1908         * lambda-mat.c: Removed.
1909         * lambda-trans.c: Removed.
1910         * lambda.h: Removed.
1911         * tree-loop-linear.c: Removed.
1912         * lto-symtab.c: Do not include lambda.h.
1913         * omega.c (gcd): Removed.
1914         * passes.c (init_optimization_passes): Remove pass_linear_transform.
1915         * tree-data-ref.c (print_lambda_vector): Moved here.
1916         (lambda_vector_copy): Same.
1917         (lambda_matrix_copy): Same.
1918         (lambda_matrix_id): Same.
1919         (lambda_vector_first_nz): Same.
1920         (lambda_matrix_row_add): Same.
1921         (lambda_matrix_row_exchange): Same.
1922         (lambda_vector_mult_const): Same.
1923         (lambda_vector_negate): Same.
1924         (lambda_matrix_row_negate): Same.
1925         (lambda_vector_equal): Same.
1926         (lambda_matrix_right_hermite): Same.
1927         * tree-data-ref.h: Do not include lambda.h.
1928         (lambda_vector): Moved here.
1929         (lambda_matrix): Same.
1930         (dependence_level): Same.
1931         (lambda_transform_legal_p): Removed declaration.
1932         (lambda_collect_parameters): Same.
1933         (lambda_compute_access_matrices): Same.
1934         (lambda_vector_gcd): Same.
1935         (lambda_vector_new): Same.
1936         (lambda_vector_clear): Same.
1937         (lambda_vector_lexico_pos): Same.
1938         (lambda_vector_zerop): Same.
1939         (lambda_matrix_new): Same.
1940         * tree-flow.h (least_common_multiple): Removed declaration.
1941         * tree-parloops.c (lambda_trans_matrix): Moved here.
1942         (LTM_MATRIX): Same.
1943         (LTM_ROWSIZE): Same.
1944         (LTM_COLSIZE): Same.
1945         (LTM_DENOMINATOR): Same.
1946         (lambda_trans_matrix_new): Same.
1947         (lambda_matrix_vector_mult): Same.
1948         (lambda_transform_legal_p): Same.
1949         * tree-pass.h (pass_linear_transform): Removed declaration.
1950         * tree-ssa-loop.c (tree_linear_transform): Removed.
1951         (gate_tree_linear_transform): Removed.
1952         (pass_linear_transform): Removed.
1953         (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
1954         flag_loop_interchange.
1955
1956 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
1957
1958         PR tree-optimization/47265
1959         PR tree-optimization/47443
1960         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
1961         if name still has some uses.
1962
1963 2011-01-25  Martin Jambor  <mjambor@suse.cz>
1964
1965         PR tree-optimization/47382
1966         * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
1967         (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
1968
1969 2011-01-25  Joel Sherrill <joel.sherrill@oarcorp.com>
1970
1971         * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
1972         sjlj_except_unwind_info.
1973
1974 2011-01-25  Richard Guenther  <rguenther@suse.de>
1975
1976         PR tree-optimization/47426
1977         * tree-ssa-structalias.c (ipa_pta_execute): Make externally
1978         visible functions results escape.
1979
1980 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
1981
1982         PR target/45701
1983         * config/arm/arm.c (any_sibcall_uses_r3): New function.
1984         (arm_get_frame_offsets): Use it.
1985
1986 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1987             Jakub Jelinek  <jakub@redhat.com>
1988
1989         PR tree-optimization/47271
1990         * tree-if-conv.c (bb_postdominates_preds): New.
1991         (if_convertible_bb_p): Call bb_postdominates_preds.
1992         (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
1993         (predicate_scalar_phi): Call bb_postdominates_preds.
1994
1995 2011-01-25  Nick Clifton  <nickc@redhat.com>
1996
1997         * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
1998         * config/rx/rx.c (rx_function_value): Likewise.
1999         (rx_promote_function_mode): Likewise.
2000         (gen_safe_add): Place an outsized immediate value inside an UNSPEC
2001         in order to make it legitimate.
2002         * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
2003         make sure that the first operand is the same as the result register.
2004         (addsi3_unspec): Delete.
2005         (subdi3): Do not accept immediate operands.
2006         (subdi3_internal): Likewise.
2007
2008 2011-01-25  Jeff Law  <law@redhat.com>
2009
2010         PR rtl-optimization/37273
2011         * ira-costs.c (scan_one_insn): Detect constants living in memory and
2012         handle them like argument loads from stack slots.  Do not double
2013         count memory for memory constants and argument loads from stack slots.
2014
2015 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
2016
2017         PR tree-optimization/47427
2018         PR tree-optimization/47428
2019         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
2020         coalesce if the new root var would be TREE_READONLY.
2021
2022 2011-01-25  Richard Guenther  <rguenther@suse.de>
2023
2024         PR middle-end/47414
2025         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
2026         correct type for TBAA.
2027
2028 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2029
2030         * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
2031         (close_phi_written_to_memory): Call for_each_index with
2032         dr_indices_valid_in_loop.
2033
2034 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2035
2036         * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
2037         when it is initialized.
2038
2039 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2040
2041         * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
2042         call to graphite_find_data_references_in_stmt.
2043         * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
2044         (try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
2045         call to graphite_find_data_references_in_stmt.
2046         (analyze_drs_in_stmts): Same.
2047         * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
2048         in which the scalar analysis of indices is performed.
2049         (create_data_ref): Same.  Update call to dr_analyze_indices.
2050         (find_data_references_in_stmt): Update call to create_data_ref.
2051         (graphite_find_data_references_in_stmt): Same.
2052         * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
2053         declaration.
2054         (create_data_ref): Same.
2055         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
2056         call to create_data_ref.
2057
2058 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2059
2060         * graphite-sese-to-poly.c (build_poly_scop): Move
2061         rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
2062
2063 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2064
2065         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
2066         VAR_DECL, PARM_DECL, and RESULT_DECL.
2067
2068 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2069
2070         * graphite-dependences.c (reduction_dr_1): Allow several reductions
2071         in a reduction PBB.
2072         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
2073         that have already been marked as PBB_IS_REDUCTION.
2074
2075 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2076
2077         * graphite-scop-detection.c (same_close_phi_node): New.
2078         (remove_duplicate_close_phi): New.
2079         (make_close_phi_nodes_unique): New.
2080         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
2081
2082 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2083
2084         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
2085         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
2086         of both data references to be the same.
2087
2088 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2089
2090         * graphite-dependences.c (build_lexicographical_constraint): Remove
2091         the gdim parameter.
2092         (build_lexicographical_constraint): Adjust call to
2093         ppl_powerset_is_empty.
2094         (dependence_polyhedron): Same.
2095         (graphite_legal_transform_dr): Same.
2096         (graphite_carried_dependence_level_k): Same.
2097         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
2098         parameter.
2099         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
2100
2101 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2102
2103         * graphite-sese-to-poly.c
2104         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
2105         (close_phi_written_to_memory): New.
2106         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
2107         and unshare_expr.
2108
2109 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2110
2111         * doc/install.texi: Update the expected version number of PPL to 0.11.
2112         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
2113         #if PPL_VERSION_MINOR < 11.
2114
2115 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2116
2117         * graphite-dependences.c: Include graphite-cloog-util.h.
2118         (new_poly_ddr): Inlined into dependence_polyhedron.
2119         (free_poly_ddr): Moved close by new_poly_ddr.
2120         (dependence_polyhedron_1): Renamed dependence_polyhedron.
2121         Early return NULL when ppl_powerset_is_empty returns true.
2122         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
2123         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
2124         (graphite_legal_transform_dr): Call new_poly_ddr.
2125         (graphite_carried_dependence_level_k): Same.
2126         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
2127         (dot_transformed_deps_stmt_1): Removed.
2128         (dot_deps_stmt_1): Call dot_deps_stmt_2.
2129         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
2130         (dot_deps_1): Call dot_deps_2.
2131         * Makefile.in (graphite-dependences.o): Add missing dependence on
2132         graphite-cloog-util.h.
2133
2134 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2135
2136         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
2137         (build_lexicographical_constraint): Same.
2138         (dependence_polyhedron_1): Same.
2139         (graphite_legal_transform_dr): Same.
2140         (graphite_carried_dependence_level_k): Same.
2141         * graphite-ppl.c (ppl_powerset_is_empty): New.
2142         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
2143         * tree-data-ref.c (dump_data_reference): Print the basic block index.
2144
2145 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2146
2147         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
2148         the "a followed by b" relation and document it.
2149
2150 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2151
2152         * graphite-dependences.c (build_lexicographical_constraint): Stop the
2153         iteration when the bag of constraints is empty.
2154
2155 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2156
2157         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
2158
2159 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2160
2161         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
2162         nest and two loop depths as parameters.
2163         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
2164         lst_perfect_nestify.
2165
2166 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2167
2168         * graphite-dependences.c (print_pddr): Call
2169         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
2170
2171 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2172
2173         * graphite-ppl.c (debug_gmp_value): New.
2174         * graphite-ppl.h (debug_gmp_value): Declared.
2175
2176 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
2177
2178         * doc/install.texi: Document availability of cloog-0.16.
2179
2180 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
2181
2182         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
2183         invalid postdominance info.
2184
2185 2011-01-24  Jan Hubicka  <jh@suse.cz>
2186
2187         PR c/21659
2188         * doc/extend.texi (weak pragma): Drop claim that it must
2189         appear before definition.
2190         * varasm.c (merge_weak, declare_weak): Only sanity check
2191         that DECL is not output at a time it is declared weak.
2192
2193 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
2194
2195         * machmode.def: Fixed comments.
2196
2197 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
2198
2199         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
2200
2201 2011-01-24  Paul Koning  <ni1d@arrl.net>
2202
2203         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
2204         WORDS_BIG_ENDIAN.
2205
2206 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
2207
2208         PR target/46519
2209         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
2210         (block_info): Add scanned and prev.
2211         (move_or_delete_vzeroupper_2): Return if the basic block
2212         has been scanned and the upper 128bit state is unchanged
2213         from the last scan.
2214         (move_or_delete_vzeroupper_1): Return true if the exit
2215         state is changed.
2216         (move_or_delete_vzeroupper): Visit basic blocks using the
2217         work-list based algorithm based on vt_find_locations in
2218         var-tracking.c.
2219
2220         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
2221
2222 2011-01-24  Nick Clifton  <nickc@redhat.com>
2223
2224         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
2225         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
2226         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
2227         then define __v850e1__.
2228         * doc/invoke.texi: Document -mv850es.
2229
2230 2011-01-24  Richard Henderson  <rth@redhat.com>
2231
2232         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
2233         compound unordered comparisons.
2234         * config/rx/rx.c (rx_split_fp_compare): Remove.
2235         * config/rx/rx-protos.h: Update.
2236         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
2237         (cbranchsf4): Don't call rx_split_fp_compare.
2238         (*cbranchsf4): Use rx_split_cbranch.
2239         (*cmpsf): Don't accept "i" constraint.
2240         (*conditional_branch): Only valid after reload.
2241         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
2242
2243 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
2244
2245         PR target/47385
2246         * config/rs6000/altivec.md (vector constant splitters): Add
2247         support for creating vector single precision constants if -mvsx is
2248         used and we would create the constant using Altivec primitives.
2249
2250 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
2251             Richard Sandiford  <rdsandiford@googlemail.com>
2252
2253         PR rtl-optimization/47166
2254         * reload1.c (emit_reload_insns): Disable the spill_reg_store
2255         mechanism for PRE_MODIFY and POST_MODIFY.
2256         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
2257         reloadreg.
2258
2259 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
2260
2261         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
2262
2263 2011-01-22  Jan Hubicka  <jh@suse.cz>
2264
2265         PR lto/47333
2266         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
2267
2268 2011-01-22  Jan Hubicka  <jh@suse.cz>
2269
2270         PR tree-optimization/43884
2271         PR lto/44334
2272         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
2273         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
2274
2275 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
2276
2277         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
2278         * config/s390/s390.c (s390_register_move_cost,
2279         s390_memory_move_cost): New.
2280         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
2281
2282 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2283
2284         PR middle-end/47401
2285         * except.c (sjlj_assign_call_site_values): Move setting the
2286         crtl->uses_eh_lsda flag to ...
2287         (sjlj_mark_call_sites): ... here.
2288         (sjlj_emit_function_enter): Support NULL dispatch label.
2289         (sjlj_build_landing_pads): In a function with no landing pads
2290         that still has must-not-throw regions, generate code to register
2291         a personality function with empty LSDA.
2292
2293 2011-01-21  Richard Henderson  <rth@redhat.com>
2294
2295         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
2296
2297         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
2298
2299         * compare-elim.c: New file.
2300         * Makefile.in (OBJS-common): Add it.
2301         (compare-elim.o): New.
2302         * common.opt (fcompare-elim): New.
2303         * opts.c (default_options_table): Add OPT_fcompare_elim.
2304         * tree-pass.h (pass_compare_elim_after_reload): New.
2305         * passes.c (init_optimization_passes): Add it.
2306         * recog.h: Protect against re-inclusion.
2307         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
2308         * doc/invoke.texi (-fcompare-elim): Document it.
2309         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
2310         * doc/tm.texi: Rebuild.
2311
2312 2011-01-22  Nick Clifton  <nickc@redhat.com>
2313
2314         * config/rx/rx.md (cstoresf4): Pass comparison operator to
2315         rx_split_fp_compare.
2316
2317 2011-01-22  Nick Clifton  <nickc@redhat.com>
2318
2319         * config/rx/rx.md (UNSPEC_CONST): New.
2320         (deallocate_and_return): Wrap the amount popped off the stack in
2321         an UNSPEC_CONST in order to stop it being rejected by
2322         -mmax-constant-size.
2323         (pop_and_return): Add a "(return)" rtx.
2324         (call): Drop the immediate operand.
2325         (call_internal): Likewise.
2326         (call_value): Likewise.
2327         (call_value_internal): Likewise.
2328         (sibcall_internal): Likewise.
2329         (sibcall_value_internal): Likewise.
2330         (sibcall): Likewise.  Generate an explicit call using
2331         sibcall_internal.
2332         (sibcall_value): Likewise.
2333         (mov<>): FAIL if a constant operand is not legitimate.
2334         (addsi3_unpsec): New pattern.
2335
2336         * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
2337         (ok_for_max_constant): New function.
2338         (gen_safe_add): New function.
2339         (rx_expand_prologue): Use gen_safe_add.
2340         (rx_expand_epilogue): Likewise.
2341         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
2342         UNSPEC CONSTs.
2343
2344 2011-01-21  Jeff Law  <law@redhat.com>
2345
2346         PR tree-optimization/47053
2347         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
2348         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
2349         statements are deleted.
2350         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
2351         is nonempty, then purge dead edges and cleanup the CFG.
2352
2353 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
2354
2355         PR debug/47402
2356         Temporarily revert:
2357         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
2358         PR debug/47106
2359         * tree-dfa.c (create_var_ann): Mark variable as used.
2360
2361 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
2362
2363         PR middle-end/45566
2364         * except.c (convert_to_eh_region_ranges): Emit queued no-region
2365         notes from other section in hot/cold partitioning even if
2366         last_action is -3.  Increment call_site_base.
2367
2368         PR rtl-optimization/47366
2369         * fwprop.c (forward_propagate_into): Return bool.  If
2370         any changes are made, -fnon-call-exceptions is used and
2371         REG_EH_REGION note is present, call purge_dead_edges
2372         and return true if it purged anything.
2373         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
2374         any EH edges were purged.
2375
2376 2011-01-21  Jeff Law  <law@redhat.com>
2377
2378         PR rtl-optimization/41619
2379         * caller-save.c (setup_save_areas): Break out code to determine
2380         which hard regs are live across calls by examining the reload chains
2381         so that it is always used.
2382         Eliminate code which checked REG_N_CALLS_CROSSED.
2383
2384 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
2385
2386         PR tree-optimization/47355
2387         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
2388         NOP has non-debug uses beyond PHIs in new_bb.
2389
2390 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
2391
2392         PR debug/47106
2393         * cfgexpand.c (account_used_vars_for_block): Only account vars
2394         that are annotated as used.
2395         (estimated_stack_frame_size): Don't set TREE_USED.
2396         * tree-dfa.c (create_var_ann): Mark variable as used.
2397
2398 2011-01-21  Richard Guenther  <rguenther@suse.de>
2399
2400         PR middle-end/47395
2401         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
2402
2403 2011-01-21  Richard Guenther  <rguenther@suse.de>
2404
2405         PR tree-optimization/47365
2406         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
2407         (vn_reference_lookup_pieces): Adjust.
2408         (vn_reference_lookup): Likewise.
2409         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
2410         (vn_reference_lookup_3): Only look through kills if in
2411         VN_WALKREWRITE mode.
2412         (vn_reference_lookup_pieces): Adjust.
2413         (vn_reference_lookup): Likewise.
2414         (visit_reference_op_load): Likewise.
2415         (visit_reference_op_store): Likewise.
2416         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
2417         (compute_avail): Likewise.
2418         (eliminate): Likewise.
2419
2420 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
2421
2422         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
2423         DECL_IGNORED_P non-reg vars if they are used.
2424
2425         PR tree-optimization/47391
2426         * varpool.c (const_value_known_p): Return false if
2427         decl is volatile.
2428
2429 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
2430
2431         PR bootstrap/47215
2432         * config/i386/i386.c (ix86_local_alignment): Handle
2433         case for va_list_type_node is nil.
2434         (ix86_canonical_va_list_type): Likewise.
2435
2436 2011-01-21  Alan Modra  <amodra@gmail.com>
2437
2438         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
2439         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
2440
2441 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2442
2443         * config/arm/arm.md (define_attr type): Rename f_load
2444         and f_store to f_fpa_load and f_fpa_store. Update.
2445         (write_conflict): Deal with rename fallout.
2446         (*push_fp_multi): Likewise.
2447         * config/arm/fpa.md (f_load): Use f_fpa_load.
2448         (f_store): Use f_fpa_store.
2449         (*movsf_fpa): Likewise.
2450         (*movdf_fpa): Likewise.
2451         (*movxf_fpa): Likewise.
2452         (*thumb2_movsf_fpa): Likewise.
2453         (*thumb2_movdf_fpa): Likewise.
2454         (*thumb2_movxf_fpa): Likewise.
2455         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
2456         f_loadd and f_stored.
2457         (*thumb2_movdi_vfp): Likewise.
2458         (*thumb2_movsf_vfp): Fix attribute to f_loads.
2459         (*thumb2_movsi_vfp): Likewise.
2460         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
2461         Use f_loads instead of f_load.
2462         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
2463
2464 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
2465
2466         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
2467         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
2468         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
2469         (xtensa_mode_dependent_address_p): New function.
2470         (constantpool_address_p): Make static. Change return type to bool.
2471         Change argument type to const_rtx. Use CONST_INT_P predicate.
2472
2473 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
2474
2475         PR debug/46583
2476         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
2477
2478 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
2479
2480         PR debug/47283
2481         * cfgexpand.c (expand_debug_expr): Instead of generating
2482         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
2483         etc. handling.
2484
2485 2011-01-20  Richard Guenther  <rguenther@suse.de>
2486
2487         PR middle-end/47370
2488         * tree-inline.c (remap_gimple_op_r): Recurse manually for
2489         the pointer operand of MEM_REFs.
2490
2491 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
2492
2493         PR tree-optimization/46130
2494         * ipa-split.c (consider_split): If return_bb contains non-virtual
2495         PHIs other than for retval or if split_function would not adjust it,
2496         refuse to split.
2497
2498 2011-01-20  Richard Guenther  <rguenther@suse.de>
2499
2500         PR tree-optimization/47167
2501         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
2502         Revert previous change, only avoid enumeral type changes.
2503
2504 2011-01-19  Mike Stump  <mikestump@comcast.net>
2505
2506         * doc/tm.texi.in (BRANCH_COST): Englishify.
2507         * doc/tm.texi (BRANCH_COST): Likewise.
2508
2509 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
2510
2511         PR c++/47291
2512         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
2513         (gen_scheduled_generic_parms_dies): New functions.
2514         (gen_struct_or_union_type_die): Schedule template parameters DIEs
2515         generation for the end of CU compilation.
2516         (dwarf2out_finish): Generate template parameters DIEs here.
2517
2518 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
2519
2520         PR debug/46240
2521         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
2522         debug bind stmt on merge edges.
2523
2524 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
2525
2526         PR debug/47079
2527         PR debug/46724
2528         * function.c (instantiate_expr): Instantiate incoming rtl of
2529         implicit arguments, and recurse on VALUE_EXPRs.
2530         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
2531         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
2532
2533 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
2534
2535         * c-parser.c (c_parser_for_statement): Initialize
2536         collection_expression.
2537
2538 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
2539
2540         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
2541
2542 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
2543
2544         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
2545         (LINK_SHLIB_SPEC): Don't use %(link_path).
2546         (SUBTARGET_EXTRA_SPECS): Remove link_path.
2547
2548 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
2549
2550         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
2551         (NO_SHARED_LIB_SUPPORT): Remove.
2552         (LINK_SHLIB_SPEC): Remove one conditional definition.
2553
2554 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
2555
2556         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
2557         %{call_shared}.
2558         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
2559         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
2560         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
2561         %{call_shared} and conditionals on these options not being passed.
2562         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
2563         %{call_shared}.
2564
2565 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
2566
2567         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
2568         simplify.
2569
2570         * ipa-split.c: Spelling fixes.
2571
2572 2011-01-19  Richard Henderson  <rth@redhat.com>
2573
2574         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
2575         (*mulsi3): Likewise.
2576
2577         * longlong.h [__mn10300__] (count_leading_zeros): New.
2578         [__mn10300__] (umul_ppmm, smul_ppmm): New.
2579         [__mn10300__] (add_ssaaaa, subddmmss): New.
2580         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
2581         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
2582
2583 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2584
2585         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
2586
2587 2011-01-19  Richard Henderson  <rth@redhat.com>
2588
2589         * config/mn10300/mn10300.md (addsi3_flags): New.
2590         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
2591         (subsi3_flags, subc_internal, subdi3): New.
2592         (subdi3_internal, *subdi3_degenerate): New.
2593         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
2594
2595         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
2596         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
2597         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
2598         * config/mn10300/mn10300-protos.h: Update.
2599         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
2600         (return_ret): Likewise.  Rename from return_internal_regs.
2601         (return_internal): Remove.
2602
2603         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
2604         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
2605         (mn10300_legitimate_constant_p): Likewise.
2606         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
2607         (mn10300_frame_size): New.
2608         (mn10300_expand_prologue): Use it.
2609         (mn10300_expand_epilogue): Likewise.
2610         (mn10300_initial_offset): Likewise.
2611         * config/mn10300/mn10300-protos.h: Update.
2612         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
2613         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
2614         (prologue, epilogue, return_internal): Tidy output code.
2615         (mn10300_store_multiple_operation, return): Likewise.
2616         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
2617         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
2618         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
2619         (load_pic, am33_load_pic): New.
2620         (mn10300_load_pic0, mn10300_load_pic1): New.
2621
2622         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
2623         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
2624         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
2625         (cc_flags_for_mode, cc_flags_for_code): New.
2626         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
2627         overflow flag is not valid.  Validate that the flags we need
2628         for the comparison are valid.
2629         (mn10300_output_cmp): Remove.
2630         (mn10300_output_add): New.
2631         (mn10300_select_cc_mode): Use cc_flags_for_code.
2632         (mn10300_split_cbranch): New.
2633         (mn10300_match_ccmode): New.
2634         (mn10300_split_and_operand_count): New.
2635         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
2636         to the function.
2637         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
2638         (addsi3): ... here.  Use mn10300_output_add.
2639         (*addsi3_flags): New.
2640         (*am33_subsi3, *mn10300_subsi3): Merge...
2641         (subsi3): ... here.  Use attribute isa.
2642         (*subsi3_flags): New.
2643         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
2644         when possible.
2645         (*am33_andsi3, *mn10300_andsi3): Merge...
2646         (andsi3): ... here.
2647         (*andsi3_flags): New.
2648         (andsi3 splitters): New.
2649         (*am33_iorsi3, *mn10300_iorsi3): Merge...
2650         (iorsi3): ... here.
2651         (*iorsi3_flags): New.
2652         (*am33_xorsi3, *mn10300_xorsi3): Merge...
2653         (xorsi3): ... here.
2654         (*xorsi3_flags): New.
2655         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
2656         (one_cmplsi2): ... here.
2657         (*one_cmplsi2_flags): New.
2658         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
2659         instead of "dax" in constraints.  Use mn10300_split_cbranch.
2660         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
2661         use matching constraints to eliminate a self-comparison.
2662         (*integer_conditional_branch): Rename from integer_conditional_branch.
2663         Use int_mode_flags to match CC_REG.
2664         (*cbranchsi4_btst, *btstsi): New.
2665         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
2666         mn10300_split_cbranch.
2667         (*am33_cmpsf): Rename from am33_cmpsf.
2668         (*float_conditional_branch): Rename from float_conditional_branch.
2669         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
2670         (zero_extendqisi2): ... here.
2671         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
2672         (zero_extendhisi2): ... here.
2673         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
2674         (extendqisi2): ... here.
2675         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
2676         (extendhisi2): ... here.
2677         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
2678         (ashlsi3): ... here.
2679         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
2680         (lshrsi3): ... here.
2681         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
2682         (ashrsi3): ... here.
2683         (consecutive add peephole): Remove.
2684         * config/mn10300/predicates.md (label_ref_operand): New.
2685         (int_mode_flags): New.
2686         (CCZN_comparison_operator): New.
2687
2688         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
2689         (throughput_42_latency_43): New reservation.
2690         (mulsidi3, umulsidi3): New expanders.
2691         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
2692         the MDR register to allocation; separately allocate the low and
2693         high parts of the DImode result.
2694         (umulsidi3_internal): Similarly.
2695         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
2696         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
2697         (udivsi3, umodsi3): Remove.
2698         (udivmodsi4, divmodsi4): New expanders.
2699         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
2700         (*divmodsi4): Simiarly.
2701         (ext_internal): New.
2702
2703         * config/mn10300/constraints.md ("z"): New constraint.
2704         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
2705         (FIXED_REGISTERS): Don't fix MDR.
2706         (CALL_USED_REGSITERS): Reformat nicely.
2707         (REG_ALLOC_ORDER): Add MDR.
2708         (enum regclass): Add MDR_REGS.
2709         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
2710         (IRA_COVER_CLASSES): Add MDR_REGS.
2711         (REGNO_REG_CLASS): Handle MDR_REG.
2712         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
2713         (mn10300_register_move_cost): Likewise.
2714         * config/mn10300/mn10300.md (MDR_REG): New.
2715         (*movsi_internal): Handle moves to/from MDR_REGS.
2716
2717         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
2718         POST_MODIFY.
2719         (mn10300_secondary_reload): Tidy combination reload classes.
2720         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
2721         addresses for AM33.  Allow symbolic offsets for reg+imm.
2722         (mn10300_regno_in_class_p): New.
2723         (mn10300_legitimize_reload_address): New.
2724         * config/mn10300/mn10300.h (enum reg_class): Remove
2725         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
2726         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
2727         SP_OR_GENERAL_REGS.
2728         (REG_CLASS_NAMES): Update to match.
2729         (REG_CLASS_CONTENTS): Likewise.
2730         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
2731         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
2732         (REGNO_IN_RANGE_P): Remove.
2733         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
2734         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
2735         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
2736         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
2737         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
2738         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
2739         (REGNO_GENERAL_P): New.
2740         (HAVE_POST_MODIFY_DISP): New.
2741         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
2742         (LEGITIMIZE_RELOAD_ADDRESS): New.
2743         * config/mn10300/mn10300-protos.h: Update.
2744
2745         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
2746         DATA_REGS for AM33 stack-pointer destination.
2747         (mn10300_preferred_output_reload_class): Likewise.
2748         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
2749         into a form appropriate for ...
2750         (TARGET_SECONDARY_RELOAD): New.
2751         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
2752         * config/mn10300/mn10300-protos.h: Update.
2753         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
2754         reload_insi; use the "A" constraint for the scratch; handle AM33
2755         moves of sp to non-address registers.
2756
2757         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
2758         (*movqi_internal): ... here.
2759         (*am33_movhi, *mn10300_movhi): Merge into...
2760         (*movhi_internal): ... here.
2761         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
2762         as the source/destination of moves from/to SP.
2763         (movsf): Only allow for AM33-2.
2764         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
2765         any integer constant constraint.  Only allow for AM33-2.  Tidy
2766         all of the alternative outputs.
2767         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
2768         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
2769         for MN103.
2770         (udivsi3, umodsi3): New patterns for MN103 only.
2771
2772 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
2773
2774         * doc/tm.texi.in: Spell out that a lack of register class unions
2775         can lead to ICEs.
2776         * doc/tm.texi: Regenerate.
2777
2778 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
2779
2780         PR rtl-optimization/47337
2781         * dce.c (check_argument_store): New function.
2782         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
2783
2784         PR tree-optimization/47290
2785         * tree-eh.c (infinite_empty_loop_p): New function.
2786         (cleanup_empty_eh): Use it.
2787
2788 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
2789
2790         PR target/46997
2791         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
2792         (a64_expand_widen_sum): Ditto.
2793         * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
2794         (vec_extract_evenodd_help): Ditto.
2795         (vec_extract_evenv4hi): Ditto.
2796         (vec_extract_oddv4hi): Ditto.
2797         (vec_extract_evenv2si): Ditto.
2798         (vec_extract_oddv2si): Ditto.
2799         (vec_extract_evenv2sf): Ditto.
2800         (vec_extract_oddv2sf): Ditto.
2801         (vec_pack_trunc_v4hi: Ditto.
2802         (vec_pack_trunc_v2si): Ditto.
2803         (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
2804         (vec_interleave_highv8qi): Ditto.
2805         (mix1_r): Ditto.
2806         (vec_extract_oddv8qi): Ditto.
2807         (vec_interleave_lowv4hi): Ditto.
2808         (vec_interleave_highv4hi): Ditto.
2809         (vec_interleave_lowv2si): Ditto.
2810         (vec_interleave_highv2si): Ditto.
2811
2812 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2813
2814         * doc/extend.texi: Mention __float128 support on hppa HP-UX.
2815         * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
2816         * config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
2817         (pa_c_mode_for_suffix): New.
2818         (TARGET_EXPAND_BUILTIN): Define.
2819         (TARGET_C_MODE_FOR_SUFFIX): Define.
2820         (pa_builtins): Define.
2821         (pa_init_builtins): Register __float128 type and init new support
2822         builtins.
2823         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
2824         * config/pa/quadlib.c (_U_Qfcopysign): New.
2825
2826 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
2827
2828         PR middle-end/46894
2829         * explow.c (allocate_dynamic_stack_space): Do not assume more than
2830         BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
2831         are defined.
2832
2833 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2834
2835         PR tree-optimization/47179
2836         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
2837         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
2838
2839 2011-01-18  Richard Guenther  <rguenther@suse.de>
2840
2841         PR rtl-optimization/47216
2842         * emit-rtl.c: Include tree-flow.h.
2843         (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
2844         of replicating it with different semantics.
2845         * Makefile.in (emit-rtl.o): Adjust.
2846
2847 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2848
2849         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
2850         (cortex_a9_dp): Handle neon types correctly.
2851
2852 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
2853
2854         PR rtl-optimization/47299
2855         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
2856         subtarget.  Use normal multiplication if both operands are constants.
2857         * expmed.c (expand_widening_mult): Don't try to optimize constant
2858         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
2859         before using it.
2860
2861 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2862
2863         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
2864         spacing after 'e.g.', typos, comma, hyphenation.
2865
2866 2011-01-17  Richard Henderson  <rth@redhat.com>
2867
2868         * config/rx/predicates.md (rx_constshift_operand): Use match_test.
2869         (rx_restricted_mem_operand): New.
2870         (rx_shift_operand): Use register_operand.
2871         (rx_source_operand, rx_compare_operand): Likewise.
2872         * config/rx/rx.md (addsi3_flags): New expander.
2873         (adddi3): Rewrite as expander.
2874         (adc_internal, *adc_flags, adddi3_internal): New patterns.
2875         (subsi3_flags): New expander.
2876         (subdi3): Rewrite as expander.
2877         (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
2878
2879         * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
2880         (rx_init_builtins): Remove sat builtin.
2881         (rx_expand_builtin): Likewise.
2882         * config/rx/rx.md (ssaddsi3): New.
2883         (*sat): Rename from sat.  Represent the CC_REG input.
2884
2885         * config/rx/predicates.md (rshift_operator): New.
2886         * config/rx/rx.c (rx_expand_insv): Remove.
2887         * config/rx/rx-protos.h: Update.
2888         * config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
2889         operand to the canonical position.
2890         (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
2891         (*bitclr, *bitclr_in_memory): Similarly.
2892         (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
2893         (insv): Retain the zero_extract in the expansion.
2894
2895         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
2896         (bswaphi2, bitinvert, revw): Likewise.
2897
2898         * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
2899         (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
2900         * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
2901         (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
2902         (bitset, bitset_in_memory): Likewise.
2903         (bitinvert, bitinvert_in_memory): Likewise.
2904         (bitclr, bitclr_in_memory): Likewise.
2905         (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
2906         (rx_strend, rx_cmpstrn): Likewise.
2907         (rx_setmem): Likewise.  Make the source BLKmode to match the dest.
2908         (bitop peep2 patterns): Remove.
2909
2910         * config/rx/rx.c (rx_match_ccmode): New.
2911         * config/rx/rx-protos.h: Update.
2912         * config/rx/rx.md (abssi2): Clobber, don't set flags.
2913         (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
2914         (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
2915         (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
2916         (fix_truncsfsi2, floatsisf2): Likewise.
2917         (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
2918         (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
2919         (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
2920         (*subsi3_flags, *xorsi3_flags): New.
2921
2922         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
2923
2924         * config/rx/rx.c (rx_print_operand): Remove workaround for
2925         unsplit comparison operations.
2926
2927         * config/rx/rx.md (movsicc): Split after reload.
2928         (*movsicc): Merge *movsieq and *movsine via match_operator.
2929         (*stcc): New pattern.
2930
2931         * config/rx/rx.c (rx_float_compare_mode): Remove.
2932         * config/rx/rx.h (rx_float_compare_mode): Remove.
2933         * config/rx/rx.md (cstoresi4): Split after reload.
2934         (*sccc): New pattern.
2935
2936         * config/rx/predicates.md (label_ref_operand): New.
2937         (rx_z_comparison_operator): New.
2938         (rx_zs_comparison_operator): New.
2939         (rx_fp_comparison_operator): New.
2940         * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
2941         Validate that the flags are set properly for the comparison.
2942         (rx_gen_cond_branch_template): Remove.
2943         (rx_cc_modes_compatible): Remove.
2944         (mode_from_flags): New.
2945         (flags_from_code): Rename from flags_needed_for_conditional.
2946         (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
2947         (rx_select_cc_mode): Likewise.
2948         (rx_split_fp_compare): New.
2949         (rx_split_cbranch): New.
2950         * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
2951         (*cbranchsi4): Use match_operator and rx_split_cbranch.
2952         (*cbranchsf4): Similarly.
2953         (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
2954         match_operator and rx_split_cbranch.
2955         (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
2956         tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
2957         (*cmpsi): Rename from cmpsi.
2958         (*tstsi): Rename from tstsi.
2959         (*cmpsf): Rename from cmpsf; use CC_Fmode.
2960         (*conditional_branch): Rename from conditional_branch.
2961         (*reveresed_conditional_branch): Remove.
2962         (b<code>): Remove expander.
2963         * config/rx/rx-protos.h: Update.
2964
2965         * config/rx/rx.c (rx_compare_redundant): Remove.
2966         * config/rx/rx.md (cmpsi): Don't use it.
2967         * config/rx/rx-protos.h: Update.
2968
2969         * config/rx/rx-modes.def (CC_F): New mode.
2970         * config/rx/rx.c (rx_select_cc_mode): New.
2971         * config/rx/rx.h (SELECT_CC_MODE): Use it.
2972         * config/rx/rx-protos.h: Update.
2973
2974 2011-01-17  Richard Henderson  <rth@redhat.com>
2975
2976         * except.c (dump_eh_tree): Fix stray ; after for statement.
2977
2978 2011-01-17  Richard Guenther  <rguenther@suse.de>
2979
2980         PR tree-optimization/47313
2981         * tree-inline.c (tree_function_versioning): Move DECL_RESULT
2982         handling before copying the body.  Properly deal with
2983         by-reference result in SSA form.
2984
2985 2011-01-17  Ian Lance Taylor  <iant@google.com>
2986
2987         PR target/47219
2988         * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
2989         (struct_value_alias_set): Don't define.
2990         (sparc_option_override): Don't set sparc_sr_alias_set and
2991         struct_value_alias_set.
2992         (save_or_restore_regs): Use gen_frame_mem rather than calling
2993         set_mem_alias_set.
2994         (sparc_struct_value_rtx): Likewise.
2995
2996 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
2997
2998         PR target/47318
2999         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
3000         __m128i.
3001         (_mm_maskstore_pd): Likewise.
3002         (_mm_maskload_ps): Likewise.
3003         (_mm_maskstore_ps): Likewise.
3004         (_mm256_maskload_pd): Change mask to __m256i.
3005         (_mm256_maskstore_pd): Likewise.
3006         (_mm256_maskload_ps): Likewise.
3007         (_mm256_maskstore_ps): Likewise.
3008
3009         * config/i386/i386-builtin-types.def: Updated.
3010         (ix86_expand_special_args_builtin): Likewise.
3011
3012         * config/i386/i386.c (bdesc_special_args): Update
3013         __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
3014         __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
3015         __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
3016         __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
3017
3018         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
3019         Use <avxpermvecmode> on mask register.
3020         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
3021
3022 2011-01-17  Olivier Hainque  <hainque@adacore.com>
3023             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
3024             Eric Botcazou  <ebotcazou@adacore.com>
3025
3026         PR target/46655
3027         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
3028         if <= USHRT_MAX in 32-bit mode.
3029
3030 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3031
3032         * doc/install.texi (Configuration, Specific): Wrap long
3033         lines in examples.  Allow line wrapping in long options
3034         and URLs where beneficial for PDF output.
3035
3036 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
3037
3038         * config/mips/mips.c (mips_classify_symbol): Don't return
3039         SYMBOL_PC_RELATIVE for nonlocal labels.
3040
3041 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
3042
3043         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
3044
3045 2011-01-15  Jan Hubicka  <jh@suse.cz>
3046
3047         PR tree-optimization/47276
3048         * ipa.c (function_and_variable_visibility): Do not try to mark alias
3049         declarations as needed.
3050
3051 2011-01-15  Martin Jambor  <mjambor@suse.cz>
3052
3053         * common.opt (fdevirtualize): New flag.
3054         * doc/invoke.texi (Option Summary): Document it.
3055         * opts.c (default_options_table): Add devirtualize flag.
3056         * ipa-prop.c (detect_type_change): Return immediately if
3057         devirtualize flag is not set.
3058         (detect_type_change_ssa): Likewise.
3059         (compute_known_type_jump_func): Likewise.
3060         (ipa_analyze_virtual_call_uses): Likewise.
3061
3062 2011-01-14  Martin Jambor  <mjambor@suse.cz>
3063
3064         PR tree-optimization/45934
3065         PR tree-optimization/46302
3066         * ipa-prop.c (type_change_info): New type.
3067         (stmt_may_be_vtbl_ptr_store): New function.
3068         (check_stmt_for_type_change): Likewise.
3069         (detect_type_change): Likewise.
3070         (detect_type_change_ssa): Likewise.
3071         (compute_complex_assign_jump_func): Check for dynamic type change.
3072         (compute_complex_ancestor_jump_func): Likewise.
3073         (compute_known_type_jump_func): Likewise.
3074         (compute_scalar_jump_functions): Likewise.
3075         (ipa_analyze_virtual_call_uses): Likewise.
3076         (ipa_analyze_node): Push and pop cfun, set current_function_decl.
3077
3078 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3079
3080         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
3081         * config/i386/i386.opt (msse5): New Alias.
3082
3083 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3084
3085         * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
3086         * config/sparc/linux64.h (CC1_SPEC): Likewise.
3087         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
3088         * config/sparc/sparc.h (CC1_SPEC): Likewise.
3089
3090 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3091
3092         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
3093         -mcpu options.
3094         * config/sparc/linux64.h (CC1_SPEC): Likewise.
3095         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
3096         * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
3097         * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
3098         Likewise.
3099         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
3100
3101 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3102
3103         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
3104
3105 2011-01-14  Mike Stump  <mikestump@comcast.net>
3106
3107         * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
3108         * config/fr30/fr30.md: Likweise
3109         (movsi_push): Likewise.
3110         (movsi_pop): Likewise.
3111         (enter_func): Likewise.
3112         * config/moxie/moxie.md (movsi_push): Likewise.
3113         (movsi_pop): Likewise.
3114
3115 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3116
3117         * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
3118         %{no_archive} %{exact_version}.
3119         * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
3120         * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
3121         %{no_archive} %{exact_version}.
3122         * config/mips/openbsd.h (LINK_SPEC): Likewise.
3123         * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
3124         * config/mips/vxworks.h: Likewise.
3125
3126 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3127
3128         * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
3129
3130 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3131
3132         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
3133         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
3134
3135 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3136
3137         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
3138         -nodefaultlib.
3139
3140 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3141
3142         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
3143         for mcpu not cpu.
3144         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
3145         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
3146         not cpu.
3147         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
3148         Don't handle -shlib.
3149
3150 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3151
3152         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
3153         (CC1_SPEC): Don't handle -profile.
3154
3155 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3156
3157         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
3158         * config/mips/mips.h (CC1_SPEC): Likewise.
3159
3160 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3161
3162         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
3163         * config/mips/mips.h (CC1_SPEC): Likewise.
3164
3165 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3166
3167         * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
3168         * config/m32r/linux.h (LINK_SPEC): Likewise.
3169         * config/mips/linux.h (LINK_SPEC): Likewise.
3170         * config/mips/linux64.h (LINK_SPEC): Likewise.
3171         * config/sparc/linux.h (LINK_SPEC): Likewise.
3172         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
3173         LINK_SPEC): Likewise.
3174         * config/xtensa/linux.h (LINK_SPEC): Likewise.
3175
3176 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3177
3178         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
3179         %{version:-v}.
3180         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
3181
3182 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3183
3184         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
3185         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
3186
3187 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3188
3189         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
3190
3191 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3192
3193         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
3194         supports -Bstatic/-Bdynamic.
3195         * configure: Regenerate.
3196
3197 2011-01-14  Jan Hubicka  <jh@suse.cz>
3198         Jack Howarth <howarth@bromo.med.uc.edu>
3199
3200         PR target/46037
3201         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
3202         when checking debug_info_level. Test write_symbols instead of
3203         debug_hooks->var_location when setting flag_var_tracking_uninit.
3204
3205 2011-01-14  Richard Guenther  <rguenther@suse.de>
3206
3207         PR tree-optimization/47179
3208         * target.def (ref_may_alias_errno): New target hook.
3209         * targhooks.h (default_ref_may_alias_errno): Declare.
3210         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
3211         (default_ref_may_alias_errno): New function.
3212         * target.h (struct ao_ref_s): Declare.
3213         * tree-ssa-alias.c: Include target.h.
3214         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
3215         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
3216         (targhooks.o): Likewise.
3217         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
3218         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
3219
3220 2011-01-14  Richard Guenther  <rguenther@suse.de>
3221
3222         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
3223
3224 2011-01-14  Richard Guenther  <rguenther@suse.de>
3225
3226         PR tree-optimization/47280
3227         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
3228         return CFG changes.
3229         (tree_ssa_forward_propagate_single_use_vars): Deal with
3230         CFG changes from associate_plusminus.
3231
3232 2011-01-14  Richard Guenther  <rguenther@suse.de>
3233
3234         PR middle-end/47281
3235         Revert
3236         2011-01-11  Richard Guenther  <rguenther@suse.de>
3237
3238         PR tree-optimization/46076
3239         * tree-ssa.c (useless_type_conversion_p): Conversions from
3240         unprototyped to empty argument list function types are useless.
3241
3242 2011-01-14  Richard Guenther  <rguenther@suse.de>
3243
3244         PR tree-optimization/47286
3245         * tree-ssa-structalias.c (new_var_info): Register variables are global.
3246
3247 2011-01-14  Martin Jambor  <mjambor@suse.cz>
3248
3249         PR middle-end/46823
3250         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
3251
3252 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
3253
3254         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
3255         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
3256         * config/xtensa/xtensa.c (xtensa_libcall_value,
3257         xtensa_function_value_regno_p): New functions.
3258         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
3259
3260 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
3261
3262         PR c++/47213
3263         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
3264         PE specific hook.
3265         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
3266         New function prototype.
3267         * config/i386/winnt.c (i386_pe_assemble_visibility):
3268         Warn only if attribute was specified by user.
3269
3270 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
3271
3272         PR target/47251
3273         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
3274         floating point.
3275         (floatunsdidf2_fcfidu): Ditto.
3276
3277 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3278
3279         * config/s390/s390.c (print_operand_address): Replace 'error' with
3280         'output_operand_lossage'.
3281         (print_operand): Likewise.
3282
3283 2011-01-13  Jeff Law  <law@redhat.com>
3284
3285         PR rtl-optimization/39077
3286         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
3287         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
3288         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
3289         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
3290         * gcse.c (prune_insertions_deletions): New function.
3291         (compute_pre_data): Use it.
3292
3293 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
3294
3295         PR debug/PR46973
3296         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
3297         static function.
3298         (prune_unused_types_mark): Use it.
3299
3300 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
3301
3302         PR rtl-optimization/45352
3303         * sel-sched.c: Update copyright years.
3304         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
3305         in the advancing loop when we have issued issue_rate insns.
3306
3307 2011-01-12  Richard Henderson  <rth@redhat.com>
3308
3309         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
3310         (TARGET_MD_ASM_CLOBBERS): New.
3311
3312         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
3313         (TARGET_DELEGITIMIZE_ADDRESS): New.
3314
3315         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
3316         (clzsi2, *bsch): New patterns.
3317
3318         * config/mn10300/mn10300.md (INT): New mode iterator.
3319         (*mov<INT>_clr): New pattern, and peep2 to generate it.
3320
3321         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
3322         flag_split_wide_types.
3323
3324         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
3325         (mn10300_trampoline_init): Rewrite without a template, an immediate
3326         load and a direct branch.
3327         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
3328
3329 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
3330
3331         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
3332         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
3333         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
3334         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
3335
3336 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
3337
3338         PR debug/47209
3339         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
3340         of type.
3341
3342 2011-01-12  Jan Hubicka  <jh@suse.cz>
3343
3344         PR driver/47244
3345         * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
3346         (PLUGIN_COND_CLOSE): New macro.
3347         (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
3348
3349 2011-01-12  Richard Guenther  <rguenther@suse.de>
3350
3351         PR lto/47259
3352         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
3353         register variables in a MEM_REF.
3354
3355 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
3356
3357         * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
3358         crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
3359         hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
3360         i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
3361         i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
3362         x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
3363         ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
3364         m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
3365         mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
3366         s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
3367         sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
3368         am33_2.0-*-linux*): Use gnu-user.h before linux.h.
3369         * config/gnu-user.h: New.  Copied from linux.h.
3370         (LINUX_TARGET_STARTFILE_SPEC): Rename to
3371         GNU_USER_TARGET_STARTFILE_SPEC.
3372         (LINUX_TARGET_ENDFILE_SPEC): Rename to
3373         GNU_USER_TARGET_ENDFILE_SPEC.
3374         (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
3375         (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
3376         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
3377         LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
3378         CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
3379         UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
3380         BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
3381         BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
3382         LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
3383         TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
3384         * config/arm/linux-eabi.h (CC1_SPEC): Use
3385         GNU_USER_TARGET_CC1_SPEC.
3386         (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
3387         (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
3388         (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
3389         * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
3390         LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
3391         LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
3392         CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
3393         LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
3394
3395 2011-01-12  Richard Guenther  <rguenther@suse.de>
3396
3397         PR other/46946
3398         * doc/invoke.texi (ffast-math): Document it is turned on
3399         with -Ofast.
3400
3401 2011-01-12  Jan Hubicka  <jh@suse.cz>
3402
3403         PR tree-optimization/47233
3404         * opts.c (common_handle_option): Disable ipa-reference with profile
3405         feedback.
3406
3407 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
3408
3409         * c-parser.c (c_parser_objc_at_property_declaration): Improved
3410         error message.
3411
3412 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
3413
3414         * c-parser.c (c_lex_one_token): Updated and reindented some
3415         comments.  No changes in code.
3416
3417 2011-01-11  Ian Lance Taylor  <iant@google.com>
3418
3419         * godump.c (go_output_var): Don't output the variable if there is
3420         already a type with the same name.
3421
3422 2011-01-11  Ian Lance Taylor  <iant@google.com>
3423
3424         * godump.c (go_format_type): Don't generate float80.
3425
3426 2011-01-11  Richard Henderson  <rth@redhat.com>
3427
3428         * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
3429         declaration.  Rewrite for both speed and size.
3430         (mn10300_address_cost_1): Remove.
3431         (mn10300_register_move_cost): New.
3432         (mn10300_memory_move_cost): New.
3433         (mn10300_rtx_costs): Rewrite for both speed and size.  Don't handle
3434         ZERO_EXTRACT.  Do handle UNSPEC, arithmetic, logicals, compare,
3435         extensions, shifts, BSWAP, CLZ.
3436         (mn10300_wide_const_load_uses_clr): Remove.
3437         (TARGET_REGISTER_MOVE_COST): New.
3438         (TARGET_MEMORY_MOVE_COST): New.
3439         * config/mn10300/mn10300-protos.h: Update.
3440         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
3441
3442         * config/mn10300/constraints.md ("R", "T"): Remove constraints.
3443         * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
3444         * config/mn10300/mn10300-protos.h: Update.
3445         * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
3446         (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
3447         (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
3448         (*test_int_bitfield, *test_byte_bitfield): Remove.
3449         (*bit_test, *subreg_bit_test): Remove.
3450         * config/mn10300/predicates.md (const_8bit_operand): Remove.
3451
3452         * config/mn10300/constraints.md ("c"): Rename from "A".
3453         ("A", "D"): New constraint letters.
3454         * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
3455         (fmssf4, fnmasf4, fnmssf4): Likewise.
3456
3457         * config/mn10300/mn10300.md (isa): New attribute.
3458         (enabled): New attribute.
3459
3460         * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
3461         (abssf2, negsf2): Define only for hardware fp.
3462         (sqrtsf2): Reformat.
3463         (addsf3, subsf3, mulsf3): Merge expander and insn.
3464
3465         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
3466         (DEBUGGER_AUTO_OFFSET): Remove.
3467         (DEBUGGER_ARG_OFFSET): Remove.
3468
3469         * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
3470         Emit register stores with the same offsets as the hardware.
3471         (mn10300_store_multiple_operation): Don't check that the register
3472         save offsets are monotonic.
3473         * config/mn10300/mn10300-protos.h: Update.
3474
3475         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
3476
3477         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
3478         in terms of the value on the stack, not the MDR register.
3479
3480 2011-01-11  Jan Hubicka  <jh@suse.cz>
3481
3482         PR lto/45721
3483         PR lto/45375
3484         * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
3485         (symbol_alias_set_destroy, symbol_alias_set_contains,
3486         propagate_aliases_backward): Declare.
3487         * lto-streamer-out.c (struct sets): New sturcture.
3488         (trivally_defined_alias): New function.
3489         (output_alias_pair_p): Rewrite.
3490         (output_unreferenced_globals): Fix output of alias pairs.
3491         (produce_symtab): Likewise.
3492         * ipa.c (function_and_variable_visibility): Set weak alias destination
3493         as needed in lto.
3494         * varasm.c (symbol_alias_set_t): Remove.
3495         (symbol_alias_set_destroy): Export.
3496         (propagate_aliases_forward, propagate_aliases_backward): New functions
3497         based on ...
3498         (compute_visible_aliases): ... this one; remove.
3499         (trivially_visible_alias): New
3500         (trivially_defined_alias): New.
3501         (remove_unreachable_alias_pairs): Rewrite.
3502         (finish_aliases_1): Reorganize code checking if alias is defined.
3503         * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
3504         in LTO mode.
3505
3506 2011-01-11  Richard Guenther  <rguenther@suse.de>
3507
3508         PR tree-optimization/46076
3509         * tree-ssa.c (useless_type_conversion_p): Conversions from
3510         unprototyped to empty argument list function types are useless.
3511
3512 2011-01-11  Richard Guenther  <rguenther@suse.de>
3513
3514         PR middle-end/45235
3515         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
3516         volatile MEMs as MEM_READONLY_P.
3517
3518 2011-01-11  Richard Guenther  <rguenther@suse.de>
3519
3520         PR tree-optimization/47239
3521         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
3522
3523 2011-01-11  Jeff Law  <law@redhat.com>
3524
3525         PR tree-optimization/47086
3526         * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
3527         IVs from statements that might throw.
3528
3529 2011-01-10  Jan Hubicka  <jh@suse.cz>
3530
3531         PR lto/45375
3532         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
3533
3534 2011-01-10  Jan Hubicka  <jh@suse.cz>
3535
3536         PR lto/45375
3537         * profile.c (read_profile_edge_counts): Ignore profile inconistency
3538         when correcting profile.
3539
3540 2011-01-10  Jan Hubicka  <jh@suse.cz>
3541
3542         PR lto/46083
3543         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
3544         DECL_FINI_PRIORITY.
3545         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
3546         Restore DECL_FINI_PRIORITY.
3547
3548 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3549
3550         * doc/gimple.texi: Fix quoting of multi-word return values in
3551         @deftypefn statements.  Ensure presence of return value.  Wrap
3552         overlong @deftypefn lines.
3553         (is_gimple_operand, is_gimple_min_invariant_address): Remove
3554         descriptions of removed functions.
3555         * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
3556         of multi-word return value in @deftypefn statement.
3557
3558 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3559
3560         * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
3561         (Conditional Expressions, Logical Operators)
3562         (Statement and operand traversals): Do not indent smallexample
3563         code.  Fix duplicate function argument in example.
3564
3565 2011-01-10  Jeff Law  <law@redhat.com>
3566
3567         PR tree-optimization/47141
3568         * ipa-split.c (split_function): Handle case where we are
3569         returning a value and the return block has a virtual operand phi.
3570
3571 2011-01-10  Jan Hubicka  <jh@suse.cz>
3572
3573         PR tree-optimization/47234
3574         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
3575         (pass_feedback_split_functions): Declare.
3576         * passes.c (init_optimization_passes): Add ipa-split as subpass of
3577         tree-profile.
3578         * ipa-split.c (gate_split_functions): Update comments; disable
3579         split-functions for profile_arc_flag and branch_probabilities.
3580         (gate_feedback_split_functions): New function.
3581         (execute_feedback_split_functions): New function.
3582         (pass_feedback_split_functions): New global var.
3583
3584 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
3585
3586         PR lto/46760
3587         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
3588         calling gimple_call_set_cannot_inline.
3589
3590 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
3591
3592         * config/darwin-sections.def: Remove unused section.
3593
3594 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
3595
3596         PR c++/47218
3597         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
3598
3599 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
3600
3601         PR objc/47232
3602         * c-parser.c (c_parser_declaration_or_fndef): Improved
3603         error message.
3604
3605 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
3606
3607         * config/i386/winnt.c (i386_pe_start_function): Make sure
3608         to switch back to function's section.
3609
3610 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
3611
3612         PR gcc/46902
3613         PR testsuite/46912
3614         * plugin.c: Move include of dlfcn.h from here...
3615         * system.h: ... to here.
3616
3617 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3618
3619         * doc/cpp.texi (C++ Named Operators): Fix markup for header
3620         file name.
3621         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
3622         two extra empty pages in PDF output.
3623
3624 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
3625
3626         PR objc/47078
3627         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
3628         for error recovery purposes behave as if it was not specified so
3629         that the default type is usd.
3630
3631 2011-01-07  Jan Hubicka  <jh@suse.cz>
3632
3633         PR tree-optmization/46469
3634         * ipa.c (function_and_variable_visibility): Clear needed flags on
3635         nodes with external decls; handle weakrefs merging correctly.
3636
3637 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
3638
3639         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
3640         not false.
3641
3642 2011-01-07  Jan Hubicka  <jh@suse.cz>
3643
3644         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
3645         and no longer claim that gold is required for linker plugin.
3646         * configure: Regenerate.
3647         * gcc.c (PLUGIN_COND): New macro.
3648         (LINK_COMMAND_SPEC): Use it.
3649         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
3650         * config.in (HAVE_LTO_PLUGIN): New.
3651         * configure.ac (--with-lto-plugin): New parameter; autodetect
3652         HAVE_LTO_PLUGIN.
3653
3654 2011-01-07  Jan Hubicka  <jh@suse.cz>
3655
3656         PR tree-optimization/46367
3657         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
3658         when we can update original.
3659         (cgraph_mark_inline_edge): Sanity check.
3660         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
3661
3662 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3663
3664         * config/spu/spu.h (ASM_COMMENT_START): Define.
3665
3666 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
3667
3668         PR driver/42445
3669         * gcc.c (%>S): New.
3670         (SWITCH_KEEP_FOR_GCC): Likewise.
3671         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
3672         (do_spec_1): Handle "%>".
3673
3674         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
3675
3676 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
3677
3678         PR target/47201
3679         * config/i386/i386.c (ix86_delegitimize_address): If
3680         simplify_gen_subreg fails, return orig_x.
3681
3682         PR bootstrap/47187
3683         * value-prof.c (gimple_stringop_fixed_value): Handle
3684         lhs of the call properly.
3685
3686 2011-01-07  Jan Hubicka  <jh@suse.cz>
3687
3688         PR lto/45375
3689         * lto-opt.c (lto_reissue_options): Set flag_shlib.
3690
3691 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
3692
3693         * target.def (function_switched_text_sections): New hook.
3694         * doc/tm.texi: Regenerated.
3695         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
3696         * final.c (default_function_switched_text_sections): New.
3697         (final_scan_insn): Call function_switched_text_sections when a
3698         mid-function section change occurs.
3699         * output.h (default_function_switched_text_sections): Declare.
3700         * config/darwin-protos.h (darwin_function_switched_text_sections):
3701         Likewise.
3702         * config/darwin.c (darwin_function_switched_text_sections): New.
3703         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
3704
3705 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
3706
3707         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
3708         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
3709         the secondary code fragment when outputting for DWARF == 2.
3710
3711 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
3712
3713         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
3714         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
3715         Remove.
3716         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
3717         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
3718
3719 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
3720
3721         PR debug/46704
3722         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
3723         when it is not empty.
3724
3725 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
3726
3727         Bobcat Enablement
3728         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
3729         (case ${target}): Add btver1.
3730         * config/i386/driver-i386.c (host_detect_local_cpu): Let
3731         -march=native recognize btver1 processors.
3732         * config/i386/i386-c.c (ix86_target_macros_internal): Add
3733         btver1 def_and_undef
3734         * config/i386/i386.c (struct processor_costs btver1_cost): New
3735         btver1 cost table.
3736         (m_BTVER1): New definition.
3737         (m_AMD_MULTIPLE): Includes m_BTVER1.
3738         (initial_ix86_tune_features): Add btver1 tune.
3739         (processor_target_table): Add btver1 entry.
3740         (static const char *const cpu_names): Add btver1 entry.
3741         (software_prefetching_beneficial_p): Add btver1.
3742         (ix86_option_override_internal): Add btver1 instruction sets.
3743         (ix86_issue_rate): Add btver1.
3744         (ix86_adjust_cost): Add btver1.
3745         * config/i386/i386.h (TARGET_BTVER1): New definition.
3746         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
3747         (enum processor_type): Add PROCESSOR_BTVER1.
3748         * config/i386/i386.md (define_attr "cpu"): Add btver1.
3749
3750 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3751
3752         PR target/43309
3753         * config/i386/i386.c (legitimize_tls_address)
3754         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
3755         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
3756         (tls_initial_exec_64_sun): New pattern.
3757
3758 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
3759
3760         * doc/invoke.texi (Overall Options): Improve wording and markup
3761         of the description of -wrapper.
3762
3763 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
3764
3765         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
3766         rdynamic, threads): New Driver options.
3767
3768 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3769
3770         PR target/38118
3771         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
3772         if coming from .tdata.
3773         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3774
3775 2011-01-06  Jan Hubicka  <jh@suse.cz>
3776
3777         PR lto/47188
3778         * collect2.c (main): Do not enable LTOmode when plugin is active.
3779
3780 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3781
3782         PR other/45915
3783         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
3784         --version output if supported.
3785         * configure: Regenerate.
3786
3787 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
3788
3789         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
3790         Driver options.
3791
3792 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
3793
3794         PR c/47150
3795         * c-convert.c (convert): When converting a complex expression
3796         other than COMPLEX_EXPR to a different complex type, ensure
3797         c_save_expr is called instead of save_expr, unless in_late_binary_op.
3798         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
3799         when converting COMPLEX_TYPE.
3800
3801 2011-01-06  Ira Rosen  <irar@il.ibm.com>
3802
3803         PR tree-optimization/47139
3804         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
3805         only the last reduction value is used outside the loop.  Update
3806         documentation.
3807
3808 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
3809
3810         * config/rtems.opt: New.
3811         * config.gcc (*-*-rtems*): Use rtems.opt.
3812
3813 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
3814
3815         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
3816         processors do not support 3DNow instructions.
3817
3818 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3819
3820         * config/spu/spu.c (spu_option_override): Set parameter
3821         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
3822
3823 2011-01-05  Jan Hubicka  <jh@suse.cz>
3824
3825         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
3826         at the command line.
3827
3828 2011-01-05  Martin Jambor  <mjambor@suse.cz>
3829
3830         PR lto/47162
3831         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
3832         deltas on streamed outgoing edges.
3833         (output_node_opt_summary): Output info for outgoing edges only when
3834         the node is in new parameter set.
3835         (output_cgraph_opt_summary): New parameter set, passed to the two
3836         aforementioned functions.  Update its forward declaration and its
3837         callee too.
3838
3839 2011-01-05  Tom Tromey  <tromey@redhat.com>
3840
3841         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
3842         operator to c_finish_omp_atomic.
3843         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
3844         (build_unary_op): Update.
3845         (build_modify_expr): Update.
3846         (build_asm_expr): Update.
3847
3848 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3849
3850         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
3851         newly inserted insns.
3852         (pad_bb): Likewise.
3853         (spu_emit_branch_hint): Likewise.
3854         (insert_hbrp_for_ilb_runout): Likewise.
3855         (spu_machine_dependent_reorg): Call df_finish_pass after
3856         schedule_insns returns.
3857
3858 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3859
3860         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
3861
3862 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
3863
3864         PR tree-optimization/47005
3865         * tree-sra.c (struct access): Add 'non_addressable' bit.
3866         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
3867         (decide_one_param_reduction): Return 0 if the parameter is passed by
3868         reference and one of the accesses in the group is non_addressable.
3869
3870 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
3871
3872         PR tree-optimization/47056
3873         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
3874         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
3875         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
3876
3877 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
3878
3879         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
3880         initializer.  Skip view conversions from aggregate types.
3881
3882 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
3883
3884         PR bootstrap/47055
3885         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
3886
3887 2011-01-04  Philipp Thomas <pth@suse.de>
3888
3889         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
3890         obvious typo.
3891
3892 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3893
3894         * function.c (thread_prologue_and_epilogue_insns): Do not crash
3895         on empty epilogue sequences.
3896
3897 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
3898
3899         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
3900         non-static): New Driver options.
3901
3902 2011-01-04  Jie Zhang  <jie@codesourcery.com>
3903
3904         PR driver/47137
3905         * gcc.c (default_compilers[]): Set combinable field to 0
3906         for all assembly languages.
3907
3908 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
3909
3910         * config/mips/loongson3a.md: New file.
3911         * config/mips/mips.md: Include loongson3a.md.
3912         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
3913         TUNE_LOONGSON_3A.
3914
3915 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
3916
3917         PR middle-end/47017
3918         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
3919         instead of convert_memory_address_addr_space on the base expression.
3920
3921 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3922
3923         * config/spu/spu.c (spu_option_override): Update error text
3924         for bad -march= / -mtune= values.
3925
3926 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3927
3928         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
3929         if branch-hint optimization will be performed.
3930
3931 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
3932
3933         PR tree-optimization/47148
3934         * ipa-split.c (split_function): Convert arguments to
3935         DECL_ARG_TYPE if possible.
3936
3937         PR tree-optimization/47155
3938         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
3939         when computing uns.
3940
3941         PR rtl-optimization/47157
3942         * combine.c (try_combine): If undobuf.other_insn becomes
3943         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
3944         and set *new_direct_jump_p too.
3945
3946 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
3947
3948         PR tree-optimization/47021
3949         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
3950
3951 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
3952
3953         * gcc.c (process_command): Update copyright notice dates.
3954         * gcov.c (print_version): Likewise.
3955         * gcov-dump.c (print_version): Likewise.
3956         * mips-tfile.c (main): Likewise.
3957         * mips-tdump.c (main): Likewise.
3958
3959 2011-01-03  Martin Jambor  <mjambor@suse.cz>
3960
3961         PR tree-optimization/46801
3962         * tree-sra.c (type_internals_preclude_sra_p): Check whether
3963         aggregate fields start at byte boundary instead of the bit-field flag.
3964
3965 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
3966
3967         PR driver/47137
3968         * gcc.c (main): Revert revision 168407.
3969
3970 2011-01-03  Martin Jambor  <mjambor@suse.cz>
3971
3972         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
3973
3974 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3975
3976         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
3977         vector optab to expand vector/scalar shift, update gimple to vector.
3978
3979 2011-01-03  Martin Jambor  <mjambor@suse.cz>
3980
3981         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
3982         a thunk.
3983
3984 2011-01-03  Martin Jambor  <mjambor@suse.cz>
3985
3986         PR tree-optimization/46984
3987         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
3988         HOST_WIDE_INT.
3989         (cgraph_create_indirect_edge): Fixed line length.
3990         (cgraph_indirect_call_info): Declare.
3991         (cgraph_make_edge_direct) Update declaration.
3992         * cgraph.c (cgraph_allocate_init_indirect_info): New function.
3993         (cgraph_create_indirect_edge): Use it.
3994         (cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
3995         callees.
3996         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
3997         the new thunk_delta representation.
3998         * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
3999         HOST_WIDE_INT.
4000         (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
4001         (ipa_read_indirect_edge_info): Likewise.
4002         * lto-cgraph.c (output_edge_opt_summary): New function.
4003         (output_node_opt_summary): Call it on all outgoing edges.
4004         (input_edge_opt_summary): New function.
4005         (input_node_opt_summary): Call it on all outgoing edges.
4006
4007 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
4008
4009         PR driver/47137
4010         * gcc.c (main): Don't check have_o when settting combine_inputs.
4011
4012 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
4013
4014         * regrename.c: Add general comment describing the pass.
4015         (struct du_head): Remove 'length' field.
4016         (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
4017         (regrename_optimize): Do not sort chains.  Rework comments, add others.
4018         Force renaming to the preferred class (if any) in the first pass and do
4019         not consider registers that belong to it in the second pass.
4020         (create_new_chain): Do not set 'length' field.
4021         (scan_rtx_reg): Likewise.
4022
4023 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
4024
4025         PR tree-optimization/47140
4026         * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
4027         TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
4028         to bit_value_binop.
4029
4030         PR rtl-optimization/47028
4031         * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
4032         parm_birth_insn instead of at the beginning of first bb.
4033
4034 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
4035
4036         * doc/generic.texi: Remove duplicated "@subsubsection Statements".
4037         Remove the word "see" before "@pxref".
4038         * doc/rtl.texi: Remove the word "see" before "@pxref".
4039
4040 2011-01-01  Jan Hubicka  <jh@suse.cz>
4041
4042         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
4043         memory.
4044
4045 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
4046
4047         PR target/38662
4048         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
4049
4050 \f
4051 Copyright (C) 2011 Free Software Foundation, Inc.
4052
4053 Copying and distribution of this file, with or without modification,
4054 are permitted in any medium without royalty provided the copyright
4055 notice and this notice are preserved.